ES2707332T3 - Sistema informático de soporte de basculamiento en un sistema de procesamiento de flujo de eventos - Google Patents
Sistema informático de soporte de basculamiento en un sistema de procesamiento de flujo de eventos Download PDFInfo
- Publication number
- ES2707332T3 ES2707332T3 ES15804022T ES15804022T ES2707332T3 ES 2707332 T3 ES2707332 T3 ES 2707332T3 ES 15804022 T ES15804022 T ES 15804022T ES 15804022 T ES15804022 T ES 15804022T ES 2707332 T3 ES2707332 T3 ES 2707332T3
- Authority
- ES
- Spain
- Prior art keywords
- event block
- messaging network
- event
- computing device
- network device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Un soporte legible por ordenador no transitorio en el que se memorizan instrucciones legibles por ordenador que, cuando se ejecutan por un dispositivo informático, hacen que el dispositivo informático: reciba un objeto de bloque de evento procedente de un motor de procesamiento de flujo de eventos (ESPE), en donde el objeto del bloque de evento recibido incluye un identificador único del objeto del bloque de evento recibido; determine un primer estado del dispositivo informático como en activo o en condición de reserva; cuando se determina que el primer estado del dispositivo informático es activo, se determina un segundo estado del dispositivo informático como recientemente activo o no recientemente activo, en donde la nueva actividad se determina cuando el dispositivo informático se conmuta desde un estado en condición de reserva a un estado activo; cuando se determina que el segundo estado del dispositivo informático está recientemente activo, la determinación de un último identificador de objeto de bloque de evento publicado como un identificador que identifica, de forma única, un último objeto de bloque de evento publicado; la selección de un siguiente objeto de bloque de evento que tenga un identificador de objeto de bloque de evento que sea mayor que el último identificador de objeto de bloque de evento publicado determinado, procedente del soporte legible por ordenador no transitorio; y la publicación del siguiente objeto de bloque de evento seleccionado para un dispositivo de red de mensajería externa; cuando se determina que el segundo estado del dispositivo informático no es de recientemente activo, la publicación del objeto del bloque de evento recibido al dispositivo de red de mensajería externa; y cuando se determina que el primer estado del dispositivo informático está en condición de reserva, la memorización del objeto del bloque de evento recibido en el soporte legible por ordenador no transitorio.
Description
DESCRIPCIÓN
Sistema informático de soporte de basculamiento en un sistema de procesamiento de flujo de eventos REFERENCIA CRUZADA A APLICACIONES RELACIONADAS
La presente solicitud reivindica la prioridad en virtud del Convenio de París a la Solicitud de Patente de Estados Unidos n° 14/662,528, presentada el 19 de marzo de 2015. La presente solicitud reivindica, además, el beneficio de la norma 35 U.S.C. § 119 (e) para la Solicitud de Patente Provisional de Estados Unidos n° 62/008,725, presentada el 6 de junio de 2014 y para la Solicitud de Patente Provisional de Estados Unidos n° 62/134,852, presentada el 18 de marzo de 2015.
ANTECEDENTES DE LA INVENCIÓN
Un número creciente de aplicaciones distribuidas procesan datos que fluyen continuamente desde fuentes distribuidas realizando consultas a los datos antes de distribuir los datos a destinatarios distribuidos geográficamente. Un motor de procesamiento de flujo de eventos (ESPE) aplica, continuamente, las consultas a los datos a medida que se reciben y determina qué entidades reciben los datos procesados.
El documento US 2011/072151 A1 describe un motor de procesamiento de flujo binario indiferente del protocolo, reconfigurable, y sistemas relacionados y metodologías de comunicación de datos, que se adaptan para conseguir el objetivo de proporcionar una interoperabilidad entre estructuras, así como entre redes de alta velocidad que funcionan a velocidades de al menos 10 gigabits por segundo. El motor de procesamiento de flujo binario funciona como un procesador omni-protocolo de múltiples etapas que se puede configurar con conmutadores adecuados y elementos de red relacionados, con el fin de crear una estructura de red sin interrupciones que permita la interoperabilidad no solamente entre protocolos de comunicación existentes, sino también con la capacidad de admitir futuros protocolos de comunicación. El método y los sistemas del documento US 2011/072151 A1 son aplicables a redes que incluyen redes de memorización, redes de comunicación y redes de procesador.
SUMARIO DE LA INVENCIÓN
En una forma de realización a modo de ejemplo, se da a conocer un sistema de soporte de basculamiento cuando se bloquean los eventos del procesamiento de flujo de eventos (ESP). El sistema incluye, pero no está limitado a, un dispositivo de red de mensajería externa y un dispositivo informático. El dispositivo informático incluye, pero no está limitado a, un procesador y un soporte legible por ordenador acoplado, de forma operativa, al procesador. El procesador está configurado para ejecutar un motor ESP (ESPE). El soporte legible por ordenador tiene instrucciones memorizadas en él que, cuando se ejecutan por el procesador, hacen que el dispositivo informático realice el soporte de basculamiento. Se recibe un objeto de bloque de evento procedente del ESPE que incluye un identificador único. Se determina un primer estado del dispositivo informático como en activo o en condición de reserva. Cuando el primer estado es activo, se determina un segundo estado del dispositivo informático como recientemente activo o no recientemente activo. La nueva actividad se determina cuando el dispositivo informático cambia desde un estado en condición de reserva a un estado en activo. Cuando el segundo estado es recientemente activo, se determina un último identificador de objeto de bloque de evento publicado que identifica, de forma unívoca, un último objeto de bloque de evento publicado. Se selecciona un siguiente objeto de bloque de evento se selecciona a partir de un soporte legible por ordenador no transitorio, accesible por el dispositivo informático. El siguiente objeto de bloque de evento tiene un identificador de objeto de bloque de evento que es mayor que el último identificador de objeto de bloque de evento publicado determinado. El siguiente objeto de bloque de evento seleccionado se publica en un dispositivo de red de mensajería externa. Cuando el segundo estado del dispositivo informático es no recientemente activo, el objeto del bloque de evento recibido se publica en el dispositivo de red de mensajería externa. Cuando el primer estado del dispositivo informático está en condición de reserva, el objeto del bloque de evento recibido se memoriza en el soporte legible por ordenador no transitorio.
En otra forma de realización a modo de ejemplo, se da a conocer un soporte legible por ordenador en el que se memorizan instrucciones legibles por ordenador que, cuando se ejecutan por un dispositivo informático, hacen que el dispositivo informático soporte un basculamiento cuando se bloquea el evento de procesamiento de flujo de eventos (ESP).
En otra forma de realización adicional, a modo de ejemplo, se da a conocer un método de soporte de basculamiento en un sistema de procesamiento de flujo de eventos. Un objeto de bloque de evento, que se recibe desde un motor ESP, incluye un identificador único. Se determina un primer estado de un dispositivo informático como en activo o en condición de reserva. Cuando el primer estado es activo, se determina un segundo estado del dispositivo informático como recientemente activo o no recientemente activo. La nueva actividad se determina cuando el dispositivo informático se conmuta desde un estado en condición de reserva a un estado en activo. Cuando el segundo estado es recientemente activo, se determina un último identificador de objeto de bloque de evento publicado que identifica, de manera única, un último objeto de bloque de evento publicado. Un siguiente objeto de bloque de evento se selecciona a partir de un soporte legible por ordenador no transitorio accesible por el dispositivo informático. El
siguiente objeto de bloque de evento tiene un identificador de objeto de bloque de evento que es mayor que el último identificador de objeto de bloque de evento publicado determinado. El siguiente objeto de bloque de evento seleccionado se publica en un dispositivo de red de mensajería externa.
Otras características principales de la materia descrita serán evidentes para los expertos en esta técnica tras la revisión de los siguientes dibujos, la descripción detallada y las reivindicaciones adjuntas.
De conformidad con la presente invención, se propone un soporte legible por ordenador no transitorio de conformidad con la reivindicación 1, un sistema correspondiente de conformidad con la reivindicación 27, y un método correspondiente de conformidad con la reivindicación 29.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Las formas de realización ilustrativas de la materia descrita se describirán a continuación haciendo referencia a los dibujos adjuntos, en donde números similares indican elementos similares.
La Figura 1 representa un diagrama de bloques de un sistema de procesamiento de flujo de eventos (ESP) de conformidad con una forma de realización ilustrativa.
La Figura 2 representa un diagrama de bloques de un dispositivo de publicación, de sistemas de publicación de eventos, del sistema ESP de la Figura 1 de conformidad con una forma de realización ilustrativa.
La Figura 3 representa un diagrama de bloques de un dispositivo de suscripción, de sistemas de suscripción de eventos, del sistema ESP de la Figura 1 de conformidad con una forma de realización ilustrativa.
La Figura 4 representa un diagrama de bloques de un dispositivo ESP, del sistema ESP de la Figura 1, de conformidad con una forma de realización ilustrativa.
La Figura 5 muestra un diagrama de flujo que ilustra ejemplos de operaciones realizadas por el dispositivo ESP de la Figura 4 de conformidad con una forma de realización ilustrativa.
La Figura 6 representa un diagrama de bloques de un motor ESP que es operativo en el dispositivo ESP de la Figura 4, de conformidad con una forma de realización ilustrativa.
La Figura 7 representa un diagrama de bloques que ilustra interacciones entre los componentes del sistema ESP de la Figura 1, de conformidad con una forma de realización ilustrativa.
La Figura 8 representa un segundo diagrama de bloques que ilustra interacciones entre los componentes del sistema ESP de la Figura 1, de conformidad con una forma de realización ilustrativa.
La Figura 9 representa diagramas de flujo que ilustran ejemplos de operaciones realizadas por el dispositivo de publicación de la Figura 2, de conformidad con una forma de realización ilustrativa.
La Figura 10 representa diagramas de flujo que ilustran ejemplos de operaciones realizadas por el dispositivo de suscripción de la Figura 3, de conformidad con una forma de realización ilustrativa.
La Figura 11 representa un diagrama de bloques que ilustra interacciones entre los componentes de un segundo sistema ESP de la Figura 1, de conformidad con una forma de realización ilustrativa.
La Figura 12 representa un diagrama de bloques de un segundo dispositivo ESP, del segundo sistema ESP de la Figura 11, de conformidad con una forma de realización ilustrativa.
La Figura 13 muestra un diagrama de flujo que ilustra ejemplos de operaciones realizadas por el segundo dispositivo ESP de la Figura 12, de conformidad con una forma de realización ilustrativa.
La Figura 14 muestra diagramas de flujo que ilustran ejemplos de operaciones realizadas por el dispositivo de publicación de la Figura 2 como parte del segundo sistema ESP de la Figura 11, de conformidad con una forma de realización ilustrativa.
La Figura 15 representa diagramas de flujo que ilustran ejemplos de operaciones realizadas por el dispositivo de suscripción de la Figura 3 como parte del segundo sistema ESP de la Figura 11, de conformidad con una forma de realización ilustrativa.
La Figura 16 muestra un diagrama de bloques de un tercer sistema ESP de soporte de basculamiento cuando el flujo de eventos procesa bloques de eventos de conformidad con una forma de realización ilustrativa.
La Figura 17 muestra diagramas de flujo que ilustran ejemplos de operaciones realizadas por el dispositivo de publicación de la Figura 2 como parte del tercer sistema ESP de la Figura 16, de conformidad con una forma de realización ilustrativa.
La Figura 18 representa un diagrama de flujo que ilustra ejemplos de operaciones realizadas por el segundo dispositivo ESP de la Figura 12, incluido como parte del tercer sistema ESP de la Figura 16, que realiza el soporte de basculamiento cuando el flujo de eventos procesa bloques de eventos de conformidad con una forma de realización ilustrativa.
DESCRIPCIÓN DETALLADA
Haciendo referencia a la Figura 1, se muestra un diagrama de bloques de un sistema de procesamiento de flujo de eventos (ESP) 100 de conformidad con una forma de realización ilustrativa. En una forma de realización ilustrativa, el sistema ESP 100 puede incluir un dispositivo ESP 102, sistemas de publicación de eventos 104, sistemas de suscripción de eventos 106 y una red 108. Los sistemas de publicación de eventos 104 publican datos en el dispositivo ESP 102, que recibe los datos publicados. El dispositivo ESP 102 procesa los datos publicados. Los sistemas de suscripción de eventos 106 suscriben y reciben los datos publicados después del procesamiento por el dispositivo ESP 102.
Tal como se utiliza en este documento, los datos pueden incluir cualquier tipo de contenido representado en cualquier formato legible por ordenador, tal como binario, alfanumérico, numérico, cadena, lenguaje de marcado, etc. El contenido puede incluir información textual, información gráfica, información de imagen, información de audio, información numérica, etc. que se puede codificar, además, utilizando diversas técnicas de codificación, tal como se entiende por un experto en esta técnica.
Los componentes del sistema ESP 100 pueden incluirse en un único dispositivo informático, pueden estar situados en una única sala, o en salas adyacentes, en una sola instalación, y/o pueden estar distribuidos geográficamente entre sí. Cada uno de los dispositivos ESP 102, los sistemas de publicación de eventos 104 y los sistemas de suscripción de eventos 106 pueden estar constituidos por uno o más dispositivos discretos.
La red 108 puede incluir una o más redes del mismo o diferente tipo. La red 108 puede ser cualquier tipo de red pública o privada, cableada y/o inalámbrica, incluyendo una red celular, una red de área local, una red de área amplia tal como Internet, etc. La red 108 puede comprender, además, subredes y estar constituida de cualquier número de dispositivos.
El dispositivo ESP 102 puede incluir cualquier tipo de dispositivo informático. El dispositivo informático envía y recibe señales a través de la red 108 a/desde sistemas de publicación de eventos 104 y a/desde los sistemas de suscripción de eventos 106. El dispositivo ESP 102 puede comunicarse utilizando varios medios de transmisión que pueden ser cableados y/o inalámbricos, tal como se conoce por los expertos en esta técnica.
Los sistemas de publicación de eventos 104 pueden incluir cualquier número y tipo de dispositivos informáticos que puedan organizarse en subredes. Los dispositivos informáticos de los sistemas de publicación de eventos 104 envían y reciben señales a través de la red 108 hacia/desde otro de los uno o más dispositivos informáticos de los sistemas de publicación de eventos 104, hacia/desde el dispositivo ESP 102, y/o hacia/desde los sistemas de suscripción de eventos 106. Los uno o más dispositivos informáticos de los sistemas de publicación de eventos 104 pueden incluir ordenadores de cualquier factor de forma, tal como un ordenador portátil 110, un ordenador de escritorio 112, un teléfono inteligente 114, un asistente digital personal, un dispositivo de mensajería integrada, un ordenador de tableta electrónica, etc. Los uno o más dispositivos informáticos de los sistemas de publicación de eventos 104 se pueden comunicar utilizando diversos medios de transmisión que pueden ser cableados y/o inalámbricos, tal como es conocido por los expertos en la materia.
Los sistemas de suscripción de eventos 106 pueden incluir cualquier número y tipo de dispositivos informáticos que se pueden organizar en subredes. Los dispositivos informáticos de los sistemas de suscripción de eventos 106 envían y reciben señales a través de la red 108 hacia/desde otro de los uno o más dispositivos informáticos de los sistemas de suscripción de eventos 106, hacia/desde el dispositivo ESP 102, y/o hacia/desde los sistemas de publicación de eventos 104. Los uno o más dispositivos informáticos de los sistemas de suscripción de eventos 106 pueden incluir ordenadores de cualquier factor de forma, tal como un ordenador portátil 116, un ordenador de escritorio 118, un teléfono inteligente 120, un dispositivo de mensajería integrada, un asistente digital personal, un ordenador de tableta electrónica, etc. Los uno o más dispositivos informáticos de los sistemas de suscripción de eventos 106 pueden comunicarse utilizando diversos medios de transmisión que pueden ser cableados y/o inalámbricos, tal como es conocido por los expertos en la materia.
Haciendo referencia a la Figura 2, se muestra un diagrama de bloques de un dispositivo de publicación 200 de los sistemas de publicación de eventos 104, de conformidad con una forma de realización ilustrativa. El dispositivo de publicación 200 es un dispositivo informático, a modo de ejemplo, de los sistemas de publicación de eventos 104. El dispositivo de publicación 200 puede incluir una interfaz de entrada 204, una interfaz de salida 206, una interfaz de
comunicaciones 208, un soporte legible por ordenador 210, un procesador 212, un teclado 214, un ratón 216, una pantalla de visualización 218, un altavoz 220, una impresora 222 y una aplicación de publicación de eventos 224. Se pueden incorporar menos, diferentes, o componentes adicionales en el dispositivo de publicación 200.
La interfaz de entrada 204 da a conocer una interfaz para recibir información procedente del usuario para la entrada en el dispositivo de publicación 200 según es conocido por los expertos en esta técnica. La interfaz de entrada 204 puede interactuar con varias tecnologías de entrada que incluyen, pero no se limitan a, el teclado 214, el mouse 216, la pantalla de visualización 218, una track ball o bola de seguimiento, un teclado numérico, uno o más botones, etc. para permitir al usuario introducir información en el dispositivo de publicación 200, o para realizar selecciones presentadas en una interfaz de usuario que se visualiza en la pantalla 218. La misma interfaz puede admitir tanto la interfaz de entrada 204 como la interfaz de salida 206. A modo de ejemplo, una pantalla de visualización, que comprende una pantalla táctil permite tanto la entrada del usuario como presenta la salida al usuario. El dispositivo de publicación 200 puede tener una o más interfaces de entrada que utilizan la misma o una tecnología de interfaz de entrada diferente. La tecnología de interfaz de entrada puede ser accesible, además, por el dispositivo de publicación 200 a través de la interfaz de comunicaciones 208.
La interfaz de salida 206 da a conocer una interfaz para emitir información para ha de revisarse por un usuario del dispositivo de publicación 200. A modo de ejemplo, la interfaz de salida 206 puede interactuar con varias tecnologías de salida que incluyen, entre otras, la pantalla de visualización 218, el altavoz 220, la impresora 222, etc. El dispositivo de publicación 200 puede tener una o más interfaces de salida que utilizan la misma o una tecnología de interfaz diferente. La tecnología de interfaz de salida puede ser accesible, además, por el dispositivo de publicación 200 a través de la interfaz de comunicaciones 208.
La interfaz de comunicaciones 208 proporciona una interfaz para recibir y transmitir datos entre dispositivos que utilizan diversos protocolos, tecnologías de transmisión y soportes, según es conocido por los expertos en la materia. La interfaz de comunicaciones 208 puede soportar la comunicación utilizando varios medios de transmisión que pueden ser cableados y/o inalámbricos. El dispositivo de publicación 200 puede tener una o más interfaces de comunicación que utilizan la misma o una tecnología de interfaz de comunicación diferente. A modo de ejemplo, el dispositivo de publicación 200 puede soportar la comunicación utilizando un puerto Ethernet, una antena Bluetooth, una conexión telefónica, un puerto USB, dispositivos compatibles inalámbricos, etc. Los datos y mensajes se pueden transmitir entre el dispositivo de publicación 200 y el dispositivo ESP 102 y/o los sistemas de suscripción de eventos 106 utilizando la interfaz de comunicaciones 208.
El soporte legible por ordenador 210 es un lugar de retención electrónica o almacenamiento para información, de modo que el procesador 212 pueda acceder a la información, tal es conocido por los expertos en la materia. El soporte legible por ordenador 210 puede incluir, pero no está limitado a, cualquier tipo de memoria de acceso aleatorio (RAM), cualquier tipo de memoria de solamente lectura (ROM), cualquier tipo de memoria instantánea, etc., tal como dispositivos de almacenamiento magnético (p.ej., disco duro, disquete, tarjeta de banda magnética, ...), discos ópticos (p.ej., disco compacto (CD), disco versátil digital (DVD), ...), tarjetas inteligentes, dispositivos de memoria instantánea, etc. El dispositivo de publicación 200 puede tener uno o más soportes legibles por ordenador que utilizan la misma o una tecnología de soporte de memoria diferente. El dispositivo de publicación 200 puede tener, además, uno o más controladores que admiten la carga de un soporte de memoria tal como un CD o DVD, un disco duro externo, etc. Uno o más discos duros externos se pueden conectar, además, al dispositivo de publicación 200 utilizando la interfaz de comunicaciones 208.
El procesador 212 ejecuta instrucciones, tal como se conoce por los expertos en esta técnica. Las instrucciones se pueden transmitir por un ordenador de finalidad especial, circuitos lógicos o circuitos de hardware. El procesador 212 se puede poner en práctica en hardware y/o firmware. El procesador 212 ejecuta una instrucción, lo que significa que realiza/controla las operaciones requeridas por esa instrucción. El término "ejecución" se puede referir al proceso de ejecutar una aplicación o realizar la operación requerida por una instrucción. Las instrucciones pueden ser objeto de escritura utilizando uno o más de entre un lenguaje de programación, lenguaje de scripting, lenguaje ensamblador, etc. El procesador 212 se acopla, de forma operativa, con la interfaz de entrada 204, con la interfaz de salida 206, con la interfaz de comunicaciones 208, y con el soporte legible por ordenador 210 para recibir, para enviar y para procesar información. El procesador 212 puede recuperar un conjunto de instrucciones desde un dispositivo de memoria permanente y copiar las instrucciones en una forma ejecutable para un dispositivo de memoria temporal que puede ser alguna forma de memoria RAM, a modo de ejemplo. El dispositivo de publicación 200 puede incluir una pluralidad de procesadores que utilizan la misma, o diferente, tecnología de procesamiento.
La aplicación de publicación de eventos 224 realiza operaciones asociadas con la creación y publicación de datos. Para fines ilustrativos, la aplicación de publicación de eventos 224 puede publicar datos generados por un sensor, datos generados o capturados en respuesta a que suceda un evento o una transacción, datos generados por un dispositivo tal como en respuesta a una interacción de un usuario con el dispositivo, etc. Algunas, o la totalidad, de las operaciones aquí descritas se pueden incorporar en la aplicación de publicación de eventos 224. Las operaciones se pueden poner en práctica utilizando hardware, firmware, software o cualquier combinación de estos métodos. Haciendo referencia a la forma de realización, a modo de ejemplo, de la Figura 2, la aplicación de publicación de eventos 224 se pone en práctica en software (constituido por instrucciones legibles por ordenador y/o
ejecutables por ordenador) que se memoriza en un soporte legible por ordenador 210 y es accesible por el procesador 212 para la ejecución de las instrucciones que incorporan las operaciones de la aplicación de publicación de eventos 224. La aplicación de publicación de eventos 224 puede ser objeto de escritura utilizando uno o más de entre un lenguaje de programación, lenguaje de ensamblado, lenguaje de scripting, etc.
La aplicación de publicación de eventos 224 se puede poner en práctica como una aplicación de Web. A modo de ejemplo, la aplicación de publicación de eventos 224 se puede configurar para recibir respuestas del protocolo de transporte de hipertexto (HTTP) y para enviar demandas de HTTP. Las respuestas de HTTP pueden incluir páginas web, tal como documentos de lenguaje de marcado de hipertexto (HTML) y objetos vinculados generados en respuesta a las demandas de HTTP. Cada página web se puede identificar por un localizador uniforme de recursos (URL) que incluye la ubicación o dirección del dispositivo informático que contiene el recurso al que se accede, además de la ubicación del recurso en ese dispositivo informático. El tipo de fichero o recurso depende del protocolo de aplicación de Internet, tal como el protocolo de transferencia de fichero, HTTP, H.323, etc. El fichero al que se accede puede ser un fichero de texto simple, un fichero de imagen, un fichero de audio, un fichero de vídeo, un fichero ejecutable, una aplicación de interfaz de pasarela común, un denominado Java applet, un fichero de lenguaje de marcado extensible (XML) o cualquier otro tipo de fichero admisible con HTTP.
Haciendo referencia a la Figura 3, se muestra un diagrama de bloques de un dispositivo de suscripción 300 de los sistemas de suscripción de eventos 106, de conformidad con una forma de realización a modo de ejemplo. El dispositivo de suscripción 300 es un ejemplo de dispositivo informático de los sistemas de suscripción de eventos 106. El dispositivo de suscripción 300 puede incluir una segunda interfaz de entrada 304, una segunda interfaz de salida 306, una segunda interfaz de comunicación 308, un segundo soporte legible por ordenador 310, un segundo procesador 312 y una aplicación de suscripción de evento 324. Pueden estar incorporados menos, diferentes o adicionales componentes en el dispositivo de suscripción 300.
La segunda interfaz de entrada 304 proporciona la misma o similar funcionalidad que la descrita con referencia a la interfaz de entrada 204 del dispositivo de publicación 200, aunque se refiere al dispositivo de suscripción 300. La segunda interfaz de salida 306 proporciona la misma o similar funcionalidad que la descrita con referencia a la interfaz de salida 206 del dispositivo de publicación 200, aunque se refiere al dispositivo de suscripción 300. La segunda interfaz de comunicación 308 proporciona la misma o similar funcionalidad que la descrita con referencia a la interfaz de comunicaciones 208 del dispositivo de publicación 200, aunque se refiere al dispositivo de suscripción 300. Los datos y mensajes se pueden transmitir entre el dispositivo de suscripción 300 y el dispositivo ESP 102 y/o los sistemas de publicación de eventos 104 que utilizan la segunda interfaz de comunicación 308. El segundo soporte legible por ordenador 310 proporciona la misma o similar funcionalidad que la descrita con referencia al soporte legible por ordenador 210 del dispositivo de publicación 200, aunque se refiere al dispositivo de suscripción 300. El segundo procesador 312 proporciona la misma o similar funcionalidad que la descrita con referencia al procesador 212 del dispositivo de publicación 200, aunque se refiere al dispositivo de suscripción 300.
La aplicación de suscripción de evento 324 realiza operaciones asociadas con la recepción de los datos publicados por uno o más dispositivos informáticos de los sistemas de publicación de eventos 104, y procesados por el dispositivo ESP 102. Algunas, o la totalidad, de las operaciones aquí descritas se pueden incorporar en la aplicación de suscripción de evento 324. Las operaciones se pueden poner en práctica utilizando hardware, firmware, software o cualquier combinación de estos métodos. Haciendo referencia a la forma de realización, a modo de ejemplo, de la Figura 3, la aplicación de suscripción de evento 324 se pone en práctica en software (que está constituido por instrucciones legibles por ordenador y/o ejecutables por ordenador), que se memoriza en el segundo soporte legible por ordenador 310 y es accesible por el segundo procesador 312 para la realización de las instrucciones que incorporan las operaciones de la aplicación de suscripción de evento 324. La aplicación de suscripción de evento 324 puede ser objeto de escritura utilizando uno o más de entre un lenguaje de programación, lenguaje de ensamblado, lenguaje de scripting, etc. La aplicación de suscripción de evento 324 se puede poner en práctica como una aplicación de Web.
Haciendo referencia a la Figura 4, se muestra un diagrama de bloques del dispositivo ESP 102, de conformidad con una forma de realización ilustrativa. El dispositivo ESP 102 puede incluir una o más ordenadores de cualquier factor de forma. El dispositivo ESP 102 puede incluir una tercera interfaz de entrada 404, una tercera interfaz de salida 406, una tercera interfaz de comunicación 408, un tercer soporte legible por ordenador 410, un tercer procesador 412, una base de datos 414 y una aplicación ESP 416. Se pueden incorporar menos, diferentes o componentes adicionales en el dispositivo ESP 102.
La tercera interfaz de entrada 404 proporciona la misma o similar funcionalidad que la descrita con referencia a la interfaz de entrada 204 del dispositivo de publicación 200, aunque se refiere al dispositivo ESP 102. La tercera interfaz de salida 406 proporciona la misma o similar funcionalidad que la descrita con referencia a la interfaz de salida la 206 del dispositivo de publicación 200, aunque se refiere al dispositivo ESP 102. La tercera interfaz de comunicación 408 proporciona la misma o similar funcionalidad que la descrita con referencia a la interfaz de comunicaciones 208 del dispositivo de publicación 200, aunque se refiere al dispositivo ESP 102. Los datos y mensajes se pueden transmitir entre el dispositivo ESP 102 y los sistemas de suscripción de eventos 106 y/o los sistemas de publicación de eventos 104 que utilizan la tercera interfaz de comunicación 408. El tercer soporte legible
por ordenador 410 proporciona la misma o similar funcionalidad que la descrita con referencia al soporte legible por ordenador 210 del dispositivo de publicación 200 aunque refiriéndose al dispositivo ESP 102. El tercer procesador 412 proporciona la misma o similar funcionalidad que la descrita con referencia al procesador 212 del dispositivo de publicación 200, aunque se refiere al dispositivo ESP 102.
El dispositivo ESP 102 incluye, o puede acceder, a la base de datos 414 a través de una conexión directa o a través de la red 108, utilizando la tercera interfaz de comunicación 408. El tercer soporte legible por ordenador 410 puede proporcionar el soporte de memorización electrónico para la base de datos 414. La base de datos 414 es un depósito de datos para el sistema ESP 100. Los datos que se memorizan en la base de datos 414 pueden incluir cualquier tipo de contenido representado en cualquier formato legible por ordenador, tal como binario, alfanumérico, numérico, cadena, lenguaje de marcado, etc. El contenido puede incluir información textual, información gráfica, información de imagen, información de audio, información numérica, etc. que se puede codificar, además, utilizando diversas técnicas de codificación, tal como es conocido por un experto en esta técnica.
La base de datos 414 se puede poner en práctica utilizando varios formatos conocidos por los expertos en esta técnica, incluyendo un sistema de ficheros, una base de datos relacional, un sistema de tablas, una base de datos de lenguaje de consulta estructurada, etc. A modo de ejemplo, la base de datos 414 puede almacenarse en un soporte cúbico distribuido a través de una rejilla de ordenadores, tal como es conocido por un experto en esta técnica. A modo de otro ejemplo, la base de datos 414 se puede memorizar en un agrupamiento Hadoop® de múltiples nodos, como es conocido por un experto en esta técnica. Apache™ Hadoop®, a modo de ejemplo, es una infraestructura de software de fuente abierta para un sistema informático distribuido soportado por la Apache Software Foundation. A modo de otro ejemplo, la base de datos 414 se puede memorizar en una nube informática y ser objeto de acceso usando tecnologías de nube informática, tal como es conocido por un experto en esta técnica. El Servidor Analítico de SAS® LASR™, a modo de ejemplo, desarrollado y proporcionado por SAS Institute Inc. de Cary, Carolina del Norte, Estados Unidos, se puede utilizar como una plataforma analítica para permitir que múltiples usuarios accedan simultáneamente a datos memorizados en la base de datos 414. Se pueden utilizar otros servidores y sistemas.
La aplicación ESP 416 realiza operaciones asociadas con el procesamiento de datos creados por uno o más dispositivos informáticos de los sistemas de publicación de eventos 104, y con el envío de los datos procesados a los uno o más dispositivos informáticos de los sistemas de suscripción de eventos 106, sobre la base de la demanda de suscripción de cada dispositivo informático de los sistemas de suscripción de eventos 106. La aplicación ESP 416 puede incluir un motor ESP (ESPE) con su propio conjunto o conjuntos de hilos de ejecución dedicados en su espacio de aplicación en donde el hilo de ejecución principal de la aplicación puede realizar trabajos específicos de la aplicación y el motor ESPE procesa flujos de eventos al menos mediante la creación de un ejemplo de un modelo en el procesamiento de objetos. Algunas, o la totalidad, de las operaciones descritas en este documento se pueden incorporar en la aplicación ESP 416. Las operaciones se pueden poner en práctica utilizando hardware, firmware, software o cualquier combinación de estos métodos. Haciendo referencia a la forma de realización, a modo de ejemplo, de la Figura 4, la aplicación ESP 416 se pone en práctica en software (constituido por instrucciones legibles por ordenador y/o ejecutables por ordenador), que se memoriza en el tercer soporte legible por ordenador 410 y es accesible por el tercer procesador 412 para la ejecución de las instrucciones que incorporan las operaciones de la aplicación ESP 416. La aplicación ESP 416 puede ser objeto de escritura utilizando uno o más de entre un lenguaje de programación, lenguaje de ensamblado, lenguaje de scripting, etc. La aplicación ESP 416 se puede poner en práctica como una aplicación de Web, por ejemplo.
La aplicación de suscripción de evento 324, la aplicación de publicación de eventos 224 y la aplicación ESP 416 pueden guardar o memorizar datos en la base de datos 414, y acceder o recuperar datos desde la base de datos 414. La aplicación de suscripción de evento 324, la aplicación de publicación de eventos 224 y la aplicación ESP 416 pueden ser la misma o diferentes aplicaciones, o parte de una aplicación distribuida integrada que soporta algunos, o la totalidad del mismo o tipos adicionales de funcionalidad que se describen en este documento. A modo de ejemplo, la funcionalidad que se proporciona por la aplicación ESP 416 se puede proporcionar como parte del Motor ESP de DataFlux desarrollado y proporcionado por SAS Institute Inc. de Cary, Carolina del Norte, Estados Unidos y/o aplicaciones ESP ofrecidas por otros proveedores de software. Se pueden poner en práctica, sin limitación, varios niveles de integración entre los componentes del sistema ESP 100, tal como es conocido por un experto en esta técnica. A modo de ejemplo, toda la funcionalidad descrita para el sistema ESP 100 se puede poner en práctica en un único dispositivo informático.
Haciendo referencia a la Figura 5, se describen operaciones, a modo de ejemplo, asociadas con la aplicación ESP 416. La aplicación ESP 416 define cómo flujos de eventos de entrada procedentes de editores se transforman en flujos de eventos de salida significativos consumidos por los abonados. Dependiendo de la forma de realización, se pueden realizar menos, distintas o adicionales operaciones. El orden de presentación de las operaciones de la Figura 5 no está previsto para ser limitativo. Un usuario puede interactuar con una o más ventanas de interfaz de usuario presentadas al usuario en una pantalla tal como la pantalla de visualización 218, bajo el control de la aplicación ESP 416, de forma independiente, o a través de una aplicación de navegador, en un orden seleccionable por el usuario. Aunque algunos de los flujos operativos se presentan en secuencia, las diversas operaciones se pueden realizar en varias repeticiones, al mismo tiempo y/o en otros órdenes que los que se ilustran. A modo de
ejemplo, un usuario puede ejecutar la aplicación ESP 416, causando la presentación de una primera ventana de interfaz de usuario, que puede incluir una pluralidad de menús y selectores, tal como menús desplegables, botones, cuadros de texto, hipervínculos, etc., asociados con la aplicación ESP 416, según es conocido por un experto en esta técnica. Se pueden realizar varias operaciones en paralelo, tal como es conocido por un experto en esta técnica, por ejemplo, utilizando una pluralidad de hilos de ejecución.
En una operación 500, la aplicación ESP 416 define e inicia el funcionamiento de un motor ESP (ESPE), con lo que se instancia operativamente un motor ESPE en el dispositivo ESP 102. A modo de ejemplo, haciendo referencia a la Figura 6, los componentes de un ESPE 600 que se ejecuta en el dispositivo ESP 102 se muestran de conformidad con una forma de realización ilustrativa. ESPE 600 puede incluir uno o más proyectos 602. Un proyecto se puede describir como un contenedor de segundo nivel en un modelo de motor gestionado por ESPE 600, en donde el usuario puede definir un tamaño de conjunto de hilo de ejecución para el proyecto. Un valor de 1 para el tamaño de conjunto de hilos de ejecución indica que su escritura se realiza mediante un hilo único. Cada proyecto, de entre los uno o más proyectos 602 puede incluir una o más consultas continuas 604 que contienen flujos de datos, que son transformaciones de datos de flujos de eventos entrantes. Las una o más consultas continuas 604 pueden incluir una o más ventanas origen 606, y una o más ventanas derivadas 608.
El contenedor del motor es el contenedor de nivel superior en un modelo que gestiona los recursos de los uno o más proyectos 602. En una forma de realización ilustrativa, a modo de ejemplo, puede existir un único motor ESPE 600 para cada instancia de aplicación de ESP 416, y ESPE 600 tiene un nombre de motor único. Además, los uno o más proyectos 602 pueden tener cada uno nombres de proyecto únicos, y cada consulta puede tener un nombre de consulta continua único e iniciarse con una ventana origen con un nombre único de entre las una o más ventanas origen 606. El motor ESPE 600 puede, o no, ser persistente.
El modelado de consultas continuas implica definir gráficos dirigidos de ventanas para la manipulación y transformación del flujo de eventos. Una ventana, en el contexto de la manipulación y transformación del flujo de eventos, es un nodo de procesamiento en un modelo de procesamiento de flujo de eventos. Una ventana en una consulta continua puede realizar agregaciones, cálculos, patrones de coincidencia y otras operaciones sobre los datos que fluyen a través de la ventana. Una consulta continua se puede describir como un gráfico dirigido de ventanas de origen, de relación, de coincidencia de modelos y de procedimiento. Las una o más ventanas origen 606, y las una o más ventanas derivadas 608 representan consultas en ejecución continua que generan actualizaciones en un conjunto de resultados de consulta como nuevos flujos de bloque de eventos a través de ESPE 600. Un gráfico dirigido, a modo de ejemplo, es un conjunto de nodos conectados por bordes, en donde los bordes tienen una dirección asociada a ellos.
Un objeto de evento se puede describir como un paquete de datos accesible como una colección de campos, con al menos uno de los campos definidos como una clave o identificador único (ID). El objeto de evento se puede crear utilizando una diversidad de formatos, incluyendo binarios, alfanuméricos, XML, etc. Cada objeto de evento puede incluir uno o más campos designados como un identificador primario (ID) para el evento, de modo que ESPE 600 puede admitir códigos de operación (opcodes) para eventos que incluyen insertar, actualizar, modificar y suprimir. La modificación de códigos de operación actualiza el evento si el campo clave ya existe; en caso contrario, se inserta el evento. Para fines ilustrativos, un objeto de evento puede ser una representación binaria empaquetada de un conjunto de valores de campo e incluir tanto metadatos como datos de campo asociados con un evento. Los metadatos pueden incluir un código de operación que indica si el evento representa una inserción, actualización, supresión o modificación, un conjunto de indicadores que indican si el evento es un evento normal, de actualización parcial, o un evento generado de retención a partir de la gestión de la política de retención, y un conjunto de marcas temporales de microsegundos que se pueden utilizar para mediciones de latencia.
Un objeto de bloque de evento se puede describir como una agrupación o paquete de objetos de evento. Un flujo de eventos se puede describir como un flujo de objetos de bloque de eventos. Una consulta continua, de entre las una o más consultas continuas 604, transforma un flujo de eventos de origen que está constituido por el flujo de objetos de bloques de eventos publicados en ESPE 600 en uno o más flujos de eventos de salida, utilizando las una o más ventanas origen 606 y las una o más ventanas derivadas 608. Una consulta continua se puede considerar, además, como un modelo de flujo de datos.
Las una o más ventanas origen 606 están en la parte superior del gráfico dirigido y no tienen ventanas que se alimenten de ellas. Flujos de eventos se publican en las una o más ventanas origen 606, y a partir de ellas, los flujos de eventos se dirigen al siguiente conjunto de ventanas conectadas, según se define por el gráfico dirigido. Las una o más ventanas derivadas 608 son todas ellas ventanas a modo de ejemplo, que no son ventanas origen y que tienen otras ventanas a través de las cuales fluyen eventos. Las una o más ventanas derivadas 608 realizan cálculos o transformaciones en los flujos de eventos entrantes. Las una o más ventanas derivadas 608 transforman flujos de eventos en función del tipo de ventana (es decir, operadores tales como conjuntos, de filtro, cálculo, agregado, copia, coincidencia de modelo, procedimiento, unión, etc.) y ajustes de ventana. Debido a que los flujos de eventos se publican en ESPE 600, se consultan continuamente, y los conjuntos resultantes de ventanas derivadas en estas consultas se actualizan continuamente.
La aplicación ESP 416 se puede desarrollar, a modo de ejemplo, utilizando un modelo de interfaz de programación de aplicación (API) que proporciona un conjunto de clases con funciones miembro. A modo de un ejemplo, el Motor ESP SAS, desarrollado y proporcionado por SAS Institute Inc. de Cary, Carolina del Norte, Estados Unidos, proporciona una API de modelado que da a conocer un conjunto de clases con funciones miembro. Estas funciones permiten a la aplicación ESP 416 incluir el motor ESPE 600, posiblemente con conjuntos de hilos de ejecución dedicados, en su propio espacio de proceso. Como alternativa, el motor ESPE 600 se puede incluir en el espacio de proceso de una aplicación existente o nueva. En ese caso, un conjunto de hilos de ejecución de la aplicación principal está enfocado hacia sus propias tareas e interactúa con el motor ESPE 600 incorporado, según sea necesario.
Haciendo referencia a la Figura 5, en una operación 502, se crea el contenedor del motor. Para fines ilustrativos, se puede crear un ejemplo de ESPE 600 utilizando una llamada funcional que especifica el contenedor del motor como un gestor para el modelo. La llamada funcional puede incluir el nombre del motor para ESPE 600 que proporciona por un usuario o un desarrollador y puede ser exclusivo para el motor ESPE 600.
En una operación 504, las una o más consultas continuas 604 son consideradas, a modo de ejemplo, por el motor ESPE 600 como un modelo. Las una o más consultas continuas 604 se inicializan como ejemplos con un conjunto o conjuntos de hilos de ejecución dedicados que generan actualizaciones como nuevos flujos de eventos a través de ESPE 600. Para fines ilustrativos, las una o más consultas continuas 604 se pueden crear para modelar la lógica de procesamiento de actividades comerciales dentro del motor ESPE 600, para predecir eventos dentro de ESPE 600, para modelar un sistema físico dentro de ESPE 600, para predecir el estado del sistema físico dentro de ESPE 600, etc. A modo de ejemplo, ESPE 600 se puede utilizar para soportar la supervisión y gestión de datos de sensor (p.ej., la detección puede incluir fuerza , par de torsión, carga, tensión, posición, temperatura, presión de aire, flujo de fluido, propiedades químicas, resistencia, campos electromagnéticos, radiación, irradiación, proximidad, acústica, humedad, distancia, velocidad, vibraciones, aceleración, potencia eléctrica o corriente eléctrica, etc.), sistemas de comercialización de mercados de capitales, detección y prevención de fraudes, comercialización personalizada, supervisión y gestión de sistemas operativos, análisis de seguridad cibernética, etc.
Con el fin de crear una consulta continua, se pueden identificar estructuras de eventos de entrada que son esquemas con claves que fluyen en las una o más ventanas origen 606. Además, se pueden identificar estructuras de eventos de salida, que también son esquemas con claves generadas por las una o más ventanas origen 606, y/o las una o más ventanas derivadas 608. A modo de ejemplo, el bloque de código ilustra, a continuación, la creación de una ventana de cálculo informático que normaliza un campo "City" que se crea para eventos en esa ventana: dfESPwindow_source * sw;
sw = contQuery-> newWindow_source ("sourceWindow", depot,
dfESPindextypes::pi_HASH,
dfESPstring("name:string,ID*:int32, city:string"));
dfESPschema *sw_schema = sw->getSchema();
dfESPwindow_compute *cw;
cw = contQuery-> newWindow_compute ("computeWindow", depot,
dfESPindextypes::pi_HASH,
dfESPstring("ID*:int32, name: string, oldCity: string, newCity: string"));
// Registro de expresiones de cálculo de campo no clave.
cw-> addNonKeyFieldCalc("name"); // nombre de paso no cambiado
cw-> addNonKeyFieldCalc("city"); // ciudad de paso no cambiada
// Ejecutar ciudad la ciudad de paso mediante la función de normalizar la fusión azul.
char newCity[1024]="bluefusion bf\r\n";
strcat(newCity, "String result\r\n");
strcat(newCity, "bf = bluefusion_initialize()\r\n");
strcat(newCity, "if (isnull(bf)) then\r\n");
strcat(newCity, "print (bf.getlasterror())\r\n");
strcat(newCity, "if (bf.loadqkb(\"ENUSA\") == 0) then\r\n");
strcat(newCity, "print(bf.getlasterror())\r\n");
strcat(newCity, "if (bf.standardize (\"City\",city, resu lt) == 0) then\r\n");
strcat(newCity, "print(bf.getlasterror())\r\n");
strcat (newCity, "return result");
cw->addNonKeyFieldCalc(newCity);
// Añadir las rellamadas del abonado a las ventanas
cw->addSubscriberCallback(winSubscribe_compute);
// Añadir conectividad de ventana
contQuery->addEdge (sw, 0, cw);
// crear e iniciar el proyecto
project-> setNumThreads(2);
myEngine-> startProjects ();
// declarar variables para establecer los datos de entrada.
dfESPptrVect<dfESPeventPtr> trans;
dfESPevent *p;
// Insertar eventos múltiples
p = new dfESPevent(sw_schema, (char*) "i, n, Jerry, 1111, apex");
trans.push_back (p);
p = new dfESPevent(sw_schema, (char*) "i, n, Scott, 1112, caryy");
trans.push_back (p);
p = new dfESPevent (sw_schema, (char*) "i, n, someone, 1113, rallleigh");
trans.push_back (p);
dfESPeventblockPtr ib = dfESPeventblock::newEventBlock (&trans,
dfESPeventblock::ebt_TRANS);
project->injectData(contQuery, sw, ib);
ESPE 600 puede analizar y procesar eventos en movimiento o "flujos de eventos". En lugar de memorizar datos y ejecutar consultas a los datos almacenados, el motor ESPE 600 puede, memorizar consultas y hacer fluir datos a través de ellas para permitir un análisis continuo de los datos a medida que se reciben. Las una o más ventanas origen 606, y las una o más ventanas derivadas 608, se pueden crear en función de algoritmos relacionales, de coincidencia de patrones y de procedimientos que transforman los flujos de eventos de entrada en los flujos de eventos de salida para modelar, simular, puntuar, probar, predecir, etc., sobre la base del modelo de consulta continua definido y la aplicación a los datos transmitidos.
En una operación 506, se inicializa una capacidad de publicación/suscripción (pub/sub) para el motor ESPE 600. En una forma de realización ilustrativa, se inicializa una capacidad de pub/sub para cada proyecto de entre los uno o
más proyectos 602. Con el fin de inicializar y habilitar la capacidad de pub/sub para ESPE 600, se proporciona un número de puerto. Los clientes de pub/sub pueden utilizar un nombre del concentrador del dispositivo ESP 102 y el número de puerto para establecer conexiones de pub/sub para ESPE 600. A modo de ejemplo, se abre un conector de escucha del servidor para el número de puerto con el fin de permitir a los sistemas de publicación de eventos 104 y los sistemas de suscripción de eventos 106 conectarse a ESPE 600 para servicios de publicación/suscripción. El nombre del concentrador del dispositivo ESP 102, y el número de puerto para establecer conexiones de pub/sub para el motor ESPE 600 se pueden referir como la designación de concentrador: puerto de ESPE 600, que se ejecuta en el dispositivo ESP 102.
Haciendo referencia a la Figura 7, un primer sistema ESP 100a puede incluir un dispositivo ESP 102, un dispositivo de publicación 200, un dispositivo de suscripción de eventos A 300a, un dispositivo de suscripción de eventos B 300b y un dispositivo de suscripción de eventos C 300c. Los flujos de eventos de entrada se envían al dispositivo ESP 102 mediante el dispositivo de publicación 200. En formas de realización alternativas, los flujos de eventos de entrada pueden ser creados por una pluralidad de dispositivos de publicación de los sistemas de publicación de eventos 104. La pluralidad de dispositivos de publicación de los sistemas de publicación de eventos 104 pueden publicar, además, flujos de eventos para otro dispositivo ESP 102. Las una o más consultas continuas 604, creadas por ESPE 600, analizan y procesan los flujos de eventos de entrada para formar, a la salida, flujos de eventos de salida, para el dispositivo de suscripción de eventos A 300a, dispositivo de suscripción de eventos B 300b y dispositivo de suscripción de eventos C 300c. El primer sistema ESP 100a puede incluir un número mayor o menor de dispositivos de suscripción de eventos de sistemas de suscripción de eventos 106.
La expresión de publicación-suscripción es un paradigma de interacción orientado al mensaje basado en direccionamiento indirecto. Los destinatarios de datos procesados especifican su interés en la recepción de información procedente de ESPE 600 mediante la suscripción a clases específicas de eventos, mientras que las fuentes de información publican eventos en ESPE 600 sin dirigirse directamente a las partes receptoras. ESPE 600 coordina las interacciones y procesa los datos. En algunos casos, la fuente de datos recibe confirmación de que la información publicada ha sido recibida por un destinatario de datos.
Una API de publicación/suscripción se puede describir como una biblioteca que permite a un editor de eventos, tal como el dispositivo de publicación 200, publicar flujos de eventos en el motor ESPE 600 o un abonado de eventos, tal como el dispositivo de suscripción de eventos A 300a, el dispositivo de suscripción de eventos B 300b, y el dispositivo de suscripción de eventos C 300c, para la suscripción a flujos de eventos de ESPE 600. Para fines ilustrativos, se pueden definir una o más API de publicación/suscripción. A modo de ejemplo, una versión del Motor ESP SAS, ofrecido por SAS Institute Inc., puede proporcionar una API de publicación/suscripción de C++ y una API de publicación/suscripción de Java. Utilizando la interfaz API de publicación/suscripción, la aplicación de publicación de eventos 224 puede publicar flujos de eventos en una ventana de origen de proyecto del procesador de flujo de eventos en ejecución de ESPE 600, y la aplicación de suscripción de evento 324 puede suscribirse a una ventana de origen de proyecto del procesador de flujo de eventos de ESPE 600.
La interfaz API de publicación/suscripción proporciona una conectividad a través de plataformas y compatibilidad de extremos entre la aplicación ESP 416 y otras aplicaciones conectadas en red, tal como la aplicación de publicación de eventos 224, creada en el dispositivo de publicación 200, y la aplicación de suscripción de evento 324, que se crea en uno o más de entre el dispositivo de suscripción de eventos A 300a, dispositivo de suscripción de eventos B 300b y dispositivo de suscripción de eventos C 300c.
Haciendo referencia a la Figura 5, la operación 506 inicializa la capacidad de publicación/suscripción de ESPE 600. En una operación 508, se inician los uno o más proyectos 602. Los uno o más proyectos iniciados pueden ejecutarse en segundo plano en el dispositivo ESP 102.
En una operación 510, se recibe un objeto de bloque de eventos desde uno o más dispositivos informáticos de los sistemas de publicación de eventos 104, a modo de ejemplo, desde el dispositivo de publicación 200. Para fines ilustrativos, haciendo referencia a la Figura 8, se muestra un subsistema ESP 800 en interconexión entre el dispositivo de publicación 200 y el dispositivo de suscripción de eventos A 300a, el dispositivo de suscripción de eventos B 300b y el dispositivo de suscripción de eventos C 300c, de conformidad con una forma de realización ilustrativa. El subsistema ESP 800 puede, o no, ser persistente. En la forma de realización ilustrativa, el subsistema ESP 800 incluye un cliente de publicación 802, un ESPE 600, un cliente de suscripción A 804, un cliente de suscripción B 806 y un cliente de suscripción C 808. El cliente de publicación 802 se inicia mediante la aplicación de publicación de eventos 224 que se ejecuta en el dispositivo de publicación 200 mediante el uso de la API de publicación/suscripción. El cliente de suscripción A 804 se inicia por una aplicación de suscripción de eventos A 324a que se ejecuta en el dispositivo de suscripción de eventos A 300a utilizando la API de publicación/suscripción. El cliente de suscripción B 806 se inicia mediante una aplicación de suscripción de eventos B 324b, que se ejecuta en el dispositivo de suscripción de eventos B 300b utilizando la API de publicación/suscripción. El cliente de suscripción C 808 se inicia mediante una aplicación de suscripción de eventos C 324c, que se ejecuta en el dispositivo de suscripción de eventos C 300c por la API de publicación/suscripción.
Un objeto de bloque de eventos que contiene uno o más objetos de eventos se introduce en una ventana de origen
de entre las una o más ventanas de origen 606 desde una instancia operativa de la aplicación de publicación de eventos 224. El objeto del bloque de eventos se genera, a modo de ejemplo, por la aplicación de publicación de eventos 224 y se recibe por el cliente de publicación 802. Se mantiene un ID único en tanto que el objeto del bloque de evento pasa entre las una o más ventanas de origen 606 y/o las una o más ventanas derivadas 608 de ESPE 600, y al cliente de suscripción A 804, cliente de suscripción B 806 y cliente de suscripción C 808 y a la aplicación de suscripción de eventos A 324a, la aplicación de suscripción de eventos B 324b y la aplicación de suscripción de eventos C 324c. El cliente de publicación 802 puede generar e incluir, además, un ID de transacción insertado único en el objeto del bloque de evento, puesto que el objeto del bloque de evento se procesa mediante una consulta continua, así como el ID único que el dispositivo de publicación 200 asignó al objeto de bloque de evento.
En una operación 512, el objeto del bloque de evento se procesa a través de las una o más consultas continuas 604. En una operación 514, el objeto del bloque de evento procesado se envía a uno o más dispositivos informáticos de los sistemas de suscripción de eventos 106. A modo de ejemplo, el cliente de suscripción A 804, el cliente de suscripción B 806 y el cliente de suscripción C 808 envían el objeto del bloque de evento recibido a la aplicación de suscripción de evento A 324a, la aplicación de suscripción de evento B 324b y la aplicación de suscripción de evento C 324c, respectivamente.
El motor ESPE 600 mantiene el aspecto operativo de contención de los bloques de eventos recibidos desde el momento en el que se publica el bloque de eventos en una ventana de origen, y funciona de este modo a través del gráfico dirigido, que se define por las una o más consultas continuas 604 con las diversas traducciones de eventos antes de ser objeto de salida a los abonados. Los abonados pueden realizar una correlación entre un grupo de eventos suscritos con un grupo de eventos publicados comparando el ID único del objeto del bloque de evento que un editor, tal como el dispositivo de publicación 200, adjuntó al objeto de bloque de evento con el ID de bloque de evento que se recibe por el abonado.
En una operación 516, se realiza la determinación de si se interrumpe, o no, el procesamiento. Si no se interrumpe el procesamiento, el procesamiento continúa en la operación 510 de modo que siga recibiendo los uno o más flujos de eventos que contienen objetos de bloque de eventos procedentes de los uno o más dispositivos informáticos de los sistemas de publicación de eventos 104. Si el procesamiento se detiene, el procesamiento continúa en una operación 518. En la operación 518, se interrumpen los proyectos iniciados. En la operación 520, el motor ESPE 600 se desactiva.
Haciendo referencia a la Figura 9, se describen operaciones, a modo de ejemplo, asociadas con la aplicación de publicación de eventos 224. Dependiendo de la forma de realización, se pueden realizar adicionales, menos o distintas operaciones. El orden de presentación de las operaciones de la Figura 9 no pretende ser limitativo.
En una operación 900, se consultar el motor ESPE 600, a modo de ejemplo, para descubrir proyectos 602, consultas continuas 604, ventanas 606, 608, esquema de ventana y bordes de ventana que se ejecutan, actualmente, en dicho motor ESPE 600. El nombre del motor y el concentrador/puerto para el motor ESPE 600 se puede proporcionar como una entrada para la consulta y se puede reenviar una lista de cadenas con los nombres de los proyectos 602, de las consultas continuas 604, de las ventanas 606, 608, el esquema de ventana y/o los bordes de la ventana de proyectos que se ejecutan, actualmente, en ESPE 600. El concentrador está asociado con un nombre del concentrador o dirección de Protocolo Internet (IP) del dispositivo ESP 102. El puerto es el número de puerto proporcionado cuando se inicializa la capacidad de pub/sub por ESPE 600. El nombre del motor es el nombre de ESPE 600. El nombre del motor de ESPE 600 y el concentrador/puerto para el dispositivo ESP 102 se pueden leerse a partir de una localización de posicionamiento en un soporte legible por ordenador 210, pueden proporcionarse en una línea de comando o, de otro modo, introducirse o definirse por la publicación de eventos aplicación 224 según es conocido por un experto en esta técnica.
En una operación 902, se inicializan los servicios de publicación. En una operación 904, se inician los servicios de publicación inicializados, que pueden crear un cliente de publicación, tal como el cliente de publicación 802, para la aplicación de publicación de eventos creada 224. El cliente de publicación, tal como el cliente de publicación 802, realiza las diversas actividades de pub/sub para la aplicación de publicación de eventos creada 224. A modo de ejemplo, una representación de cadena de un URL para ESPE 600 se pasa a una función de "Inicio". Por ejemplo, el URL puede incluir la designación de concentrador:puerto de ESPE 600, que se ejecuta en el dispositivo ESP 102, un proyecto de entre los proyectos 602, una consulta continua de entre las consultas continuas 604 y una ventana de las ventanas de origen 606. La función de "Inicio" puede validar y retener los parámetros de conexión para una conexión de cliente de publicación específico, y reenviar un puntero al cliente de publicación. Para fines ilustrativos, el URL puede tener el formato "dfESP: // <concentrador>: <puerto>/<nombre del proyecto>/<nombre de consulta continua>/<nombre de ventana>". Si la aplicación de publicación de eventos 224 se publica en más de una ventana de origen de ESPE 600, los servicios de publicación inicializados se pueden iniciar para cada ventana de origen utilizando los nombres asociados (nombre de proyecto, nombre de consulta continua, nombre de ventana).
En una operación 906, se realiza una conexión entre la aplicación de publicación de eventos 224 y el motor ESPE 600 para cada ventana de origen en la que se publican los datos. Con el fin de establecer la conexión, el puntero orientado al cliente de publicación creado se puede pasar a una función de "Conectar" y se crea un bucle de espera
casi siempre no ocupado para esperar la recepción de objetos de bloque de eventos desde la aplicación de publicación de eventos 224. Si la aplicación de publicación de eventos 224 se publica para más de una ventana de origen de ESPE 600, se puede realizar una conexión a cada ventana iniciada utilizando el puntero reenviado para la respectiva llamada funcional de función de "Inicio".
En una operación 908, un objeto de bloque de evento es creado por la aplicación de publicación de eventos 224. En una operación 910, el bloque de evento creado se publica en ESPE 600 utilizando el puntero reenviado para la respectiva llamada funcional de "Inicio" a la ventana de origen adecuada. La aplicación de publicación de eventos 224 pasa el bloque de eventos creado al cliente de publicación 802, en donde el campo de identificador ID único, en el objeto del bloque de eventos, se ha establecido por la aplicación de publicación de eventos 224 posiblemente después de ser demandado por el cliente de publicación 802. En una forma de realización ilustrativa, la aplicación de publicación de eventos 224 puede esperar el inicio de la publicación hasta que se haya recibido una rellamada de “Ready” procedente del cliente de publicación 802. El objeto del bloque de evento se inserta en la ventana de origen, la consulta continua y el proyecto asociado con el cliente de publicación iniciado.
En una operación 912, se realiza la determinación de si se interrumpe, o no, el procesamiento. Si el procesamiento no se interrumpe, el procesamiento continúa en la operación 908 para seguir creando y publicando objetos de bloque de evento. Si se detiene el procesamiento, el procesamiento continúa en una operación 914. En la operación 914, se desconecta la conexión realizada entre la aplicación de publicación de eventos 224 y el motor ESPE 600 a través del cliente de publicación, y se detiene cada cliente de publicación iniciado.
Haciendo referencia a la Figura 10, se describen, a modo de ejemplo, operaciones asociadas con la aplicación de suscripción de evento 324. Dependiendo de la forma de realización, se pueden realizar adicionales, menos o distintas operaciones. El orden de presentación de las operaciones de la Figura 10 no pretende ser limitativo.
De forma similar a la operación 900, en una operación 1000, se consultar motor ESPE 600, por ejemplo, para descubrir nombres de proyectos 602, de consultas continuas 604, de ventanas 606, 608, de esquema de ventana y de bordes de ventana que se ejecutan, actualmente, en ESPE 600 El nombre del concentrador del dispositivo ESP 102, el nombre de motor de ESPE 600 y el número de puerto abierto por ESPE 600 se proporcionan como una entrada a la consulta, y se puede reenviar una lista de cadenas con los nombres a los proyectos 602, consultas continuas 604, ventanas 606, 608, esquema de ventana y/o bordes de ventana.
En una operación 1002, se inicializan los servicios de suscripción. En una operación 1004, se inician los servicios de suscripción inicializados, que pueden crear un cliente de suscripción, tal como el cliente de suscripción A 804, en nombre de la aplicación de suscripción de evento 324 en el dispositivo de suscripción 300. El cliente de suscripción, tal como el cliente de suscripción A 804, realiza las diversas actividades de pub/sub para la aplicación de suscripción de evento 324. A modo de ejemplo, se puede pasar un URL para ESPE 600 a una función de "Inicio". La función de "Inicio" puede validar y retener los parámetros de conexión para una conexión de cliente de suscripción específico, y reenviar un puntero al cliente de suscripción. Para fines ilustrativos, el URL puede tener el formato "dfESP: //<concentrador>:<puerto>/<nombre de proyecto>/<nombre de consulta continua>/<nombre de ventana>".
En una operación 1006, se realiza una conexión entre la aplicación de suscripción de evento 324 y ESPE 600 a través del cliente de suscripción creado. Con el fin de realizar la conexión, se puede pasar el puntero para el cliente de suscripción creado a una función "Conectar" y se crea un bucle de espera casi siempre no ocupado para esperar la recepción de los objetos del bloque de eventos.
En una operación 1008, la aplicación de suscripción de evento 324 recibe un objeto de bloque de evento.
En una operación 1010, se realiza una determinación con respecto a si se interrumpe, o no, el procesamiento. Si el procesamiento no se interrumpe, el procesamiento continúa en la operación 1008 para seguir recibiendo objetos de bloque de evento. Si el procesamiento se interrumpe, el procesamiento continúa en una operación 1012. En la operación 1012, se desconecta la conexión realizada entre la aplicación de suscripción de evento 324 y el motor ESPE 600 a través del cliente de suscripción, y se detiene el cliente de suscripción.
Haciendo referencia a la Figura 11, se da a conocer un segundo sistema ESP 1100 de conformidad con una forma de realización ilustrativa. El segundo sistema ESP 1100 puede incluir el dispositivo ESP 102, los sistemas de publicación de eventos 104, los sistemas de suscripción de eventos 106, un dispositivo de red de mensajería interna 1102 y un dispositivo de red de mensajería externa 1104. Para fines ilustrativos, los sistemas de publicación de eventos 104 pueden incluir un dispositivo de publicación A 200a, un dispositivo de publicación B 200b, ..., y un dispositivo de publicación N 200n. Los sistemas de publicación de eventos 104 publican datos para el dispositivo ESP 102 a través del dispositivo de red de mensajería interna 1102. El dispositivo de red de mensajería interna 1102 recibe eventos publicados por sistemas de publicación de eventos 104 e inserta los eventos recibidos en la ventana de origen adecuada del motor ESPE 600.
Para fines ilustrativos, los sistemas de suscripción de eventos 106 pueden incluir el dispositivo de suscripción de eventos A 300a, el dispositivo de suscripción de eventos B 300b, ..., y un dispositivo de suscripción de eventos N
300n. Los sistemas de suscripción de eventos 106 suscriben y reciben los datos publicados a través del dispositivo de red de mensajería externa 1104 después del procesamiento por ESPE 600. El dispositivo de red de mensajería externa 1104 recibe eventos procedentes de ESPE 600 y publica los eventos para sistemas de suscripción de eventos 106. El dispositivo de red de mensajería interna 1102, y el dispositivo de red de mensajería externa 1104, se pueden poner en práctica en el mismo dispositivo, o en dispositivos diferentes, como es conocido por un experto en esta técnica. Aunque no se ilustra, la red 108 se puede utilizar para el soporte de comunicación entre uno o más componentes del segundo sistema ESP 1100.
El dispositivo de red de mensajería interna 1102, y el dispositivo de red de mensajería externa 1104, proporcionan una red de mensajes. A modo de ejemplo, la red de mensajes se puede poner en práctica como una estructura de datos configurada para soportar un gran volumen de flujos de mensajes dinámicos y posiblemente sensibles al tiempo. Ejemplos de productos y proveedores del dispositivo de red de mensajería interna 1102 y del dispositivo de red de mensajería externa 1104 pueden incluir el Tervela© Message Switch™ (TMX), el sistema de Gestión y Aprovisionamiento de Tervela (TPM) y el Motor de Persistencia de Tervela (TPE), ofrecidos por Tervela Inc. de Nueva York, Nueva York, Estados Unidos, Enrutadores de Mensajes Solace, ofrecidos por Solace Systems de Ottawa, Ontario, CA, y RabbitMQ™ ofrecido por Pivotal Software, Inc. de Londres, Reino Unido.
El dispositivo de red de mensajería interna 1102 enruta mensajes desde la aplicación de publicación de eventos 224, que se ejecuta en sistemas de publicación de eventos 104, a ESPE 600, que ejecutan en el dispositivo ESP 102. El dispositivo de red de mensajería externa 1104 enruta mensajes desde ESPE 600, que se ejecuta en el dispositivo ESP 102, a la suscripción al evento la aplicación 324 que se ejecuta en los sistemas de suscripción de eventos 106. El dispositivo de red de mensajería interna 1102, y el dispositivo de red de mensajería externa 1104 pueden, además, memorizar información y tráfico de mensajes dentro de la respectiva red de mensajes.
Haciendo referencia a la Figura 12, el dispositivo ESP 102 puede incluir, además, un conector de red de mensajería interna 1200 y un conector de red de mensajería externa 1202, de conformidad con una forma de realización ilustrativa. El conector de red de mensajería interna 1200 realiza operaciones asociadas con la conexión al dispositivo de red de mensajería interna 1102, que recibe un objeto de bloque de evento procedente del dispositivo de red de mensajería interna 1102 y publica el objeto del bloque de evento recibido en una ventana de origen de entre las ventanas de origen 606 de ESPE 600. Las operaciones se pueden poner en práctica utilizando hardware, firmware, software o cualquier combinación de estos métodos. Haciendo referencia a la forma de realización, a modo de ejemplo, de la Figura 12, el conector de red de mensajería interna 1200 se pone en práctica en software (que incluye instrucciones legibles por ordenador y/o ejecutables por ordenador), que se memoriza en el tercer soporte legible por ordenador 410 y es accesible por el tercer procesador 412 para la ejecución de las instrucciones que incorporan las operaciones del conector de red de mensajería interna 1200.
La aplicación ESP 416 y el conector de red de mensajería interna 1200 se pueden integrar de diversas formas, tal como es conocido por un experto en esta técnica. El conector de red de mensajería interna 1200 puede ser objeto de escritura utilizando uno o más de entre un lenguaje de programación, lenguaje de ensamblado, lenguaje de scripting, etc. Para fines ilustrativos, el conector de red de mensajería interna 1200 se puede poner en práctica como un dispositivo enchufable que es una clase de proceso interno de la aplicación ESP 416.
El conector de red de mensajería externa 1202 realiza operaciones asociadas con la conexión al dispositivo de red de mensajería externa 1104, que recibe un objeto de bloque de evento de ESPE 600 después del procesamiento por ESPE 600, y publica el objeto del bloque de evento recibido en el dispositivo de red de mensajería externa 1104 Las operaciones se pueden poner en práctica utilizando hardware, firmware, software o cualquier combinación de estos métodos. Haciendo referencia a la forma de realización, a modo de ejemplo, de la Figura 12, el conector de red de mensajería externa 1202 se pone en práctica en software (que incluye instrucciones legibles por ordenador y/o ejecutables por ordenador), que se memoriza en un tercer soporte legible por ordenador 410 y es accesible por el tercer procesador 412 para la ejecución de las instrucciones que incorporan las operaciones del conector de red de mensajería externa 1202.
La aplicación ESP 416 y el conector de red de mensajería externa 1202 se pueden integrar de diversas formas como es conocido por los expertos en esta técnica. El conector de red de mensajería externa 1202 puede ser objeto de escritura utilizando uno o más de entre un lenguaje de programación, lenguaje de ensamblado, lenguaje de scripting, etc. Para fines ilustrativos, el conector de red de mensajería externa 1202 se puede poner en práctica como un dispositivo enchufable, que es una clase de proceso interno de la aplicación ESP 416.
La aplicación ESP 416 puede modificarse para ejecutarse como parte del segundo sistema ESP 1100. Haciendo referencia a la Figura 13, se describen operaciones adicionales, a modo de ejemplo, asociadas con la aplicación ESP 416. Dependiendo de la forma de realización, se pueden realizar adicionales, menos o distintas operaciones. El orden de presentación de las operaciones de la Figura 13 no pretende ser limitativo.
De forma similar a la operación 500, en una operación 1300, la aplicación ESP 416 define e inicia el motor ESPE 600 en el dispositivo ESP 102. De forma similar a la operación 502, en una operación 1302, se crea el contenedor del motor. De forma similar a la operación 504, en una operación 1304, se inicializan las una o más consultas
continuas 604, por el motor ESPE 600, como un modelo.
De forma similar a la operación 508, en una operación 1308, se inician los uno o más proyectos 602.
En una operación 1310, el conector de red de mensajería interna 1200 se inicia en el dispositivo ESP 102. En una forma de realización ilustrativa, el conector de red de mensajería interna 1200 se puede iniciar como parte de la operación 1308. Si se configura la instrumentación del conector, es posible que no se inicie el conector de red de mensajería interna 1200 hasta que otro conector se haya iniciado o terminado. Se puede iniciar un conector de red de mensajería interna 1200 diferente para cada ventana de origen de entre las ventanas de origen 606, con el fin de gestionar las publicaciones en cada ventana de origen procedentes del dispositivo de red de mensajería interna 1102. En una forma de realización ilustrativa, el dispositivo de red de mensajería interna 1102 puede basar su capacidad de publicación/suscripción en los temas a tratar. Para el soporte de temas, se puede establecer un mapeado de correspondencia del nombre de tema para una ventana de origen de entre las ventanas de origen 606 de ESPE 600 mediante el conector de red de mensajería interna 1200. Para aislar flujos de publicación de los flujos de suscripción para la misma ventana de origen, y cerciorarse de que los objetos del bloque de eventos fluyen en una sola dirección, se puede añadir el nombre del tema con un designador "in", tal como "I", "in", etc.
Cada conector de red de mensajería interna iniciado 1200 puede funcionar como un cliente del dispositivo de red de mensajería interna 1102. La información de conexión para conectarse al dispositivo de red de mensajería interna 1102 se puede introducir al conector de red de mensajería interna 1200 mediante la aplicación ESP 416 como parte del inicio del conector de red de mensajería interna 1200, se puede memorizar en la base de datos 414 y es accesible para el conector de red de mensajería interna 1200, o se puede introducir o definir, de cualquier otro modo, por el dispositivo de red de mensajería interna 1102, tal como se conoce por un experto en esta técnica. La información adicional introducida en el conector de red de mensajería interna 1200 puede incluir el nombre del motor de ESPE 600, el nombre del concentrador del dispositivo ESP 102 y el número de puerto abierto por el motor ESPE 600.
Para fines ilustrativos, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Tervela Inc., la información de conexión puede incluir un nombre de dispositivo, un nombre de usuario del cliente, una contraseña de cliente y un nombre del concentrador o dirección IP del dispositivo de red de mensajería 1102. El nombre del dispositivo puede definir un nombre de cliente asociado con un contexto de entrega garantizada de Tervela, y puede ser único entre los conectores de red de mensajería interna iniciados 1200. El nombre de usuario del cliente puede definir un nombre de usuario definido en Tervela TPM. La contraseña del cliente puede definir una contraseña asociada con el nombre de usuario del cliente. El nombre del concentrador, o la dirección IP, pueden definir el nombre del concentrador o la dirección IP de un TMX primario de Tervela. El nombre del concentrador, o la dirección IP, del dispositivo de red de mensajería interna 1102, el nombre de usuario del cliente y la contraseña del cliente se pueden utilizar para conectar cada conector de red de mensajería interna iniciado 1200 al dispositivo de red de mensajería interna 1102.
Cada conector de red de mensajería interna iniciado 1200 puede conectarse a la red de mensajes ofrecida por Tervela Inc., mediante la publicación de un mensaje de un tema definido utilizando el nombre del dispositivo. A modo de un ejemplo, el tema se puede definir como "SAS.META.nombre del dispositivo”. El mensaje puede incluir el nombre del motor de ESPE 600, la designación del concentrador:puerto de ESPE 600, que se ejecuta en el dispositivo ESP 102, un nombre de proyecto de entre los proyectos 602, un nombre de consulta continua de entre las consultas continuas 604, un nombre de ventana de origen de entre las ventanas de origen 606, y un esquema de ventana de origen que se asocia con el conector de red de mensajería interna 1200. El campo concentrador:puerto se puede sustituir por el nombre del motor en cadenas temáticas que se utilizan en la red de mensajes. Para fines ilustrativos, el nombre del tema puede tener el formato tal como "SAS.ENGINES.nombre del motor.nombre del proyecto.nombre de consulta continua.nombre de ventana.IN" utilizando la red de mensajes ofrecida por Tervela Inc., en donde nombre de motor es el nombre del motor de ESPE 600.
Para una ilustración adicional, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Solace Systems, el concentrador:puerto del dispositivo de red de mensajería interna 1102, un nombre de usuario del cliente, una contraseña de cliente y un nombre de red privada virtual (VPN) se puede incluir en la información de conexión. El nombre del tema se puede formatear como "concentrador:puerto/nombre de proyecto/nombre de consulta continua/nombre de ventana/I", en donde concentrador:puerto es la designación del concentrador:puerto de ESPE 600, que se ejecuta en el dispositivo ESP 102. El concentrador:puerto del dispositivo de red de mensajería interna 1102, el nombre de usuario del cliente y la contraseña del cliente se pueden utilizar para conectar cada conector de red de mensajería interna iniciado 1200 al dispositivo de red de mensajería interna 1102.
Cada conector de red de mensajería interna iniciado 1200 se conecta al dispositivo de red de mensajería interna 1102 con el nombre del tema asociado con la respectiva ventana de origen de entre las ventanas de origen 606. La aplicación de publicación de eventos 224, que se ejecuta en los sistemas de publicación de eventos 104, puede continuar utilizando el formato del URL de ESP que incluye la información de concentrador:puerto, tal como se discutió con referencia a la Figura 9. Ningún servidor de publicación/suscripción puede existir, por lo que el termino
concentrador:puerto no puede interpretarse de forma literal. En su lugar, puede estar sobrecargado para identificar el motor ESPE 600 que se ejecuta en el dispositivo ESP 102. El nombre del motor de ESPE 600 puede ser mapeado para la designación de concentrador:puerto del motor ESPE 600, que se ejecuta en el dispositivo ESP 102 en un mensaje enviado por el conector de red de mensajería interna 1200. El nombre del tema, utilizado en comunicaciones con el dispositivo de red de mensajería interna 1102, puede estar basado en la representación de la cadena del URL para ESPE 600. En sistemas de publicación de eventos 104 y sistemas de suscripción de eventos 106, es conocida la información de concentrador:puerto procedente del URL, y sustituye la información de concentrador:puerto con el nombre del motor en el nombre del tema utilizado en comunicaciones con el dispositivo de red de mensajería interna 1102.
La mensajería realizada por la red de mensajes ofrecida por Tervela Inc. puede utilizar el modo de entrega garantizada de Tervela. Los mensajes pueden persistir en un dispositivo TPE Tervela. Cuando cada conector de red de mensajería interna iniciado 1200 se conecta al dispositivo de red de mensajería interna 1102, el conector 1200 puede recibir mensajes ya publicados en el nombre del tema asociado durante un período de tiempo predefinido, con el fin de permitir que el conector de red de mensajería interna iniciado 1200 pueda captar mensajes enviados durante el período de tiempo predefinido. El conector de red de mensajería interna 1200 puede definir el período de tiempo. Un período de tiempo, a modo de ejemplo, puede ser de 8 horas, aunque se puede definir cualquier período de tiempo.
Para una ilustración adicional, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Solace Systems, cada conector de red de mensajería interna iniciado 1200 puede suscribirse al tema "concentrador:puerto/M", en donde concentrador:puerto es la designación del concentrador:puerto de ESPE 600, que se ejecuta en el dispositivo ESP 102, que permite que el conector de red de mensajería interna iniciado 1200, reciba demandas de consulta para ESPE 600, que se asocia con esa combinación de concentrador:puerto.
Las bibliotecas en tiempo de ejecución, asociadas con el dispositivo de red de mensajería interna 1102 se pueden instalar en el dispositivo ESP 102 con el fin de soportar la conectividad entre el conector de red de mensajería interna 1200 y el dispositivo de red de mensajería interna 1102.
De forma similar a la operación 1310, en una operación 1312, el conector de red de mensajería externa 1202 se inicia en el dispositivo ESP 102. En una forma de realización ilustrativa, el conector de red de mensajería externa 1202 puede iniciarse como parte de la operación 1308. Si se configura la instrumentación del conector, el conector de red de mensajería externa 1202 no puede iniciarse hasta que otro conector se haya iniciado o finalizado. Se puede iniciar un conector de red de mensajería externa 1202 diferente para cada ventana de origen de entre las ventanas de origen 606, con el fin de gestionar la suscripción para cada ventana de origen por el dispositivo de red de mensajería externa 1104. De forma similar al dispositivo de red de mensajería interna 1102, en una forma de realización ilustrativa, el dispositivo de red de mensajería externa 1104 puede basar su capacidad de publicación/suscripción en temas. Con el fin de dar soporte a los temas, se puede realizar el mapeado de un nombre de tema puede para una ventana de origen de entre las ventanas de origen 606 del motor ESPE 600 mediante el conector de red de mensajería externa 1202. Para aislar los flujos de publicación de los flujos de suscripción, para la misma ventana de origen, y cerciorarse de que los objetos de bloque de eventos fluyen en una dirección, el nombre del tema se puede añadir con un designador "out", tal como "O", "out", etc.
Cada conector de red de mensajería externa iniciado 1202 puede funcionar como un cliente del dispositivo de red de mensajería externa 1104. La información de conexión para realizar la conexión al dispositivo de red de mensajería externa 1104 puede introducirse en el conector de red de mensajería externa 1202 por la aplicación ESP 416 como parte del inicio del conector de red de mensajería externa 1202, se puede memorizar en la base de datos 414 y ser accesible para el conector de red de mensajería externa 1202 o, de otro modo, se puede introducir o definir por el dispositivo de red de mensajería externa 1104, tal como es conocido por un experto en esta técnica. La información adicional introducida para el conector de red de mensajería externa 1202 puede incluir el nombre del motor del motor ESPE 600, el nombre del concentrador del dispositivo ESP 102, y el número de puerto abierto por el motor ESPE 600.
Para fines ilustrativos, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Tervela Inc., la información de conexión puede incluir un nombre de dispositivo, un nombre de usuario del cliente, una contraseña del cliente, y un nombre del concentrador o dirección IP del dispositivo de red de mensajería externa 1104. El nombre del dispositivo puede definir un nombre de cliente asociado con un contexto de entrega garantizada de Tervela, y puede ser único entre los conectores del dispositivo de mensajería externa iniciado 1202. El nombre de usuario del cliente puede definir un nombre de usuario definido en el TPM de Tervela. La contraseña de cliente puede definir una contraseña asociada con el nombre de usuario del cliente. El nombre del concentrador, o la dirección IP, pueden definir el nombre del concentrador, o la dirección IP, de un TMX primario de Tervela. El nombre del concentrador, o la dirección IP, del dispositivo de red de mensajería externa 1104, el nombre de usuario del cliente, y la contraseña del cliente se pueden utilizar para conectar cada conector de red de mensajería externa iniciado 1202 al dispositivo de red de mensajería externa 1104.
Cada conector de red de mensajería externa iniciado 1202 se puede conectar a la red de mensajes ofrecida por
Tervela Inc., mediante la publicación de un mensaje para un tema definido utilizando el nombre de dispositivo. Como un ejemplo, el tema se puede definir como "SAS.META.nombre del dispositivo". El mensaje puede incluir el nombre del motor ESPE 600, la designación de concentrador:puerto del motor ESPE 600, que se ejecuta en el dispositivo ESP 102, un nombre de proyecto de entre los proyectos 602, un nombre de consulta continua de entre las consultas continuas 604, un nombre de ventana de origen de entre las ventanas de origen 606, y un esquema de ventana de origen asociado con el conector. El campo concentrador:puerto se puede sustituir por el nombre del motor en las cadenas temáticas utilizadas en la red de mensajes. Para fines ilustrativos, el nombre del tema se puede formatear como "SAS.ENGINES.nombre del motor.nombre del proyecto.nombre de consulta continua.nombre de ventana.OUT" utilizando la red de mensajes ofrecida por Tervela Inc.
Para una ilustración adicional, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Solace Systems, el host: el puerto del dispositivo de red de mensajería externa 1104, un nombre de usuario del cliente, una contraseña de cliente y una red privada virtual (VPN) el nombre puede incluirse en la información de conexión. El nombre del tema se puede formatear como "host: puerto/nombre de proyecto/nombre de consulta continua/nombre de ventana/O" donde host: puerto es el host: la designación de puerto de ESPE 600 se ejecuta en el dispositivo ESP 102. El host: puerto de salida El dispositivo de red de mensajería 1104 se usa para conectar cada conector de red de mensajería externa iniciado 1202 al dispositivo de red de mensajería externa 1104.
Cada conector de red de mensajería externa iniciado 1202 se conecta al dispositivo de red de mensajería externa 1104 con el nombre del tema asociado con la ventana de origen de las ventanas de origen 606. La aplicación de suscripción de evento 324 que se ejecuta en los sistemas de suscripción de eventos 106 puede continuar utilizando el ESP Formato de URL que incluye la información de host: puerto como se discutió con referencia a la Figura 10. No puede existir ningún servidor de publicación/suscripción, por lo que concentrador:puerto no puede interpretarse literalmente. En su lugar, puede estar sobrecargado para identificar el motor ESPE 600. El nombre del motor del motor ESPE 600 se puede asignar al host: la designación del puerto del motor ESPE 600 se ejecuta en el dispositivo ESP 102 por el conector de red de mensajería externa 1202. El nombre del tema se usa en las comunicaciones sin comunicación. -el dispositivo de red de mensajes 1104 puede basarse en la representación de la cadena de la URL a ESPE 600.
Para una ilustración adicional, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Solace Systems, cada conector de red de mensajería externa iniciado 1202 puede suscribirse al tema "concentrador:puerto/M", en donde concentrador:puerto es la designación del concentrador:puerto del motor ESPE 600, que se ejecuta en el dispositivo ESP 102, que permite que el conector de red de mensajería externa iniciado 1202 reciba demandas de consulta para el motor ESPE 600 asociado con esa combinación de concentrador:puerto.
Las bibliotecas de tiempo de ejecución asociadas con el dispositivo de red de mensajería externa 1104 se pueden instalar en el dispositivo ESP 102 con el fin de soportar la conectividad entre el conector de red de mensajería externa 1202 y el dispositivo de red de mensajería externa 1104.
Un objeto de bloque de evento que contiene uno o más objetos de evento se inserta en una ventana de origen de entre las una o más ventanas de origen 606 por una instancia operativa de aplicación de publicación de eventos 224. El dispositivo de red de mensajería interna recibe el objeto del bloque de evento insertado. El dispositivo de red de mensajería interna 1102 encapsula el objeto del bloque de evento recibido en un paquete envolvente para su transmisión a través del dispositivo de red de mensajería interna 1102 al conector de red de mensajería interna iniciado 1200 sin ninguna modificación.
De forma similar a la operación 510, en una operación 1314, el objeto del bloque de evento recibido por el conector de red de mensajería interna iniciado 1200 es recibido por el motor ESPE 600. La transmisión del objeto del bloque de evento se coordina utilizando el nombre del tema creado sobre la base de concentrador:puerto/nombre proyecto/nombre de consulta continua/nombre de ventana.
De forma similar a la operación 512, en una operación 1316, el objeto del bloque de evento se procesa a través de las una o más consultas continuas 604. De forma similar a la operación 514, en una operación 1318, el objeto del bloque de evento se proporciona, a la salida del conector de red de mensajería externa iniciado 1202. El conector de red de mensajería externa 1202 envía el objeto del bloque de evento al dispositivo de red de mensajería externa 1104 que recibe el objeto del bloque de evento, y envuelve el objeto del bloque de evento recibido para su transmisión a través del dispositivo de red de mensajería externa 1104 a los uno o más dispositivos informáticos de los sistemas de suscripción de eventos 106.
De nuevo, ESPE 600 mantiene el aspecto operativo de contención de los bloques de eventos recibidos desde cuando el bloque de eventos se publica en una ventana de origen y funciona de este modo a través del gráfico dirigido con las diversas traducciones de eventos antes de proporcionarse a los abonados. Los abonados pueden realizar la correlación de un grupo de eventos suscritos con un grupo de eventos publicados comparando el ID único del objeto del bloque de evento que un editor, tal como el dispositivo de publicación 200, adjunta al objeto de bloque de evento con el ID de bloque de evento recibido por el abonado.
De forma similar a la operación 516, en una operación 1320, se realiza una determinación con respecto a si se interrumpe, o no, el procesamiento. Si el procesamiento no se detiene, el procesamiento continúa en la operación 1314 de modo que siga recibiendo objetos de bloque de eventos desde los uno o más dispositivos informáticos de los sistemas de publicación de eventos 104, a través del dispositivo de red de mensajería interna 1102, a la ventana de origen asociada de entre las ventanas de origen 606. Si el procesamiento se interrumpe, el procesamiento continúa en una operación 1322. En la operación 1322, los proyectos iniciados, el conector de red de mensajería interna 1200 y el conector de red de mensajería externa 1202 se detienen. De forma similar a la operación 520, en una operación 1324, el motor ESPE 600 se desactiva.
Haciendo referencia a la Figura 14, se describen operaciones, a modo de ejemplo, asociadas con la aplicación de publicación de eventos 224. La aplicación de publicación de eventos 224 puede definirse para ejecutarse en el segundo sistema ESP 1100. Se pueden realizar adicionales, menos o distintas operaciones de conformidad con la forma de realización. El orden de presentación de las operaciones de la Figura 14 no pretende ser limitativo.
En una operación 1400, se realiza una conexión al dispositivo de red de mensajería interna 1102 con información de conexión predefinida. La información de conexión predefinida puede ser compatible con la utilizada por el conector de red de mensajería interna 1200. Para fines ilustrativos, la información de conexión predefinida se puede memorizar en un soporte legible por ordenador 210. A modo de ejemplo, una llamada funcional puede indicar un tipo de red de mensajes del dispositivo de red de mensajería interna 1102 y se puede memorizar un fichero de configuración en un soporte legible por ordenador 210 que incluye la información de conexión predefinida.
Para fines ilustrativos, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Tervela Inc., la información de conexión puede incluir el nombre del dispositivo, el nombre de usuario del cliente, la contraseña del cliente y el nombre del concentrador o la dirección IP del dispositivo de red de mensajería interna 1102. El nombre del concentrador, o la dirección IP, del dispositivo de red de mensajería interna 1102, el nombre de usuario del cliente y la contraseña del cliente se pueden utilizar para conectarse al dispositivo de red de mensajería interna 1102. Para una ilustración adicional, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Solace Systems, el concentrador:puerto del dispositivo de red de mensajería interna 1102, el nombre de usuario del cliente, la contraseña del cliente y el nombre de VPN se pueden incluir en la información de conexión. El concentrador:puerto del dispositivo de red de mensajería interna 1102 se utiliza para conectarse al dispositivo de red de mensajería interna 1102.
De forma similar a la operación 900, en una operación 1402, se consultar motor ESPE 600, a modo de ejemplo, para descubrir proyectos 602, consultas continuas 604, ventanas 606, 608, esquemas de ventana y bordes de ventana que se ejecutan, actualmente, en ESPE 600. El nombre del motor de ESPE 600 y la designación del concentrador:puerto para ESPE 600, que se ejecuta en el dispositivo ESP 102 se proporciona como una entrada para la consulta y se puede reenviar una lista de cadenas con los nombres para los proyectos 602, consultas continuas 604, ventanas 606, 608, esquema de ventana y bordes de ventana.
En una operación 1404, los servicios de publicación se inicializan según sea necesario. A modo de ejemplo, los servicios de publicación no pueden ser utilizados por el dispositivo de red de mensajería interna 1102.
En una operación 1406, se inician los servicios de publicación creados. El cliente de publicación, tal como el cliente de publicación 802, realiza las diversas actividades de pub/sub para la aplicación de publicación de eventos creada 224. Por ejemplo, una representación de cadena del URL para ESPE 600 se pasa a una función de "Inicio". A modo de ejemplo, el URL puede incluir la designación de concentrador:puerto para ESPE 600, que se ejecuta en el dispositivo ESP 102, un proyecto de entre los proyectos 602, una consulta continua de entre las consultas continuas 604 y una ventana de entre las ventanas de origen 606. La función de "Inicio" puede validar y retener los parámetros de conexión para una conexión de cliente de publicación específico, y reenviar una conexión de enchufable dedicada al cliente de publicación. Para fines ilustrativos, el URL puede estar formateado como "dfESP://<concentrador>:<puerto>/<nombre del proyecto>/<nombre de consulta continua>/<nombre de ventana>". Si la aplicación de publicación de eventos 224 publica en más de una ventana de origen de ESPE 600, los servicios de publicación creados se pueden iniciar para cada ventana de origen utilizando los nombres asociados (nombre de proyecto, nombre de consulta continua, nombre de ventana).
De forma similar a la operación 908, en una operación 1408, se crea un objeto de bloque de evento por la aplicación de publicación de eventos 224. Como en la operación 910, en una operación 1410, el bloque de evento creado se publica en ESPE 600 a través del dispositivo de red de mensajería interna 1102 utilizando el puntero reenviado para la respectiva llamada funcional "Inicio" respectiva en la ventana de origen correspondiente.
Como en la operación 912, en una operación 1412, se determina si se interrumpe, o no, el procesamiento. Si el procesamiento no se detiene, el procesamiento continúa en la operación 1408 para seguir creando y publicando objetos de bloque de evento. Si se interrumpe el procesamiento, el procesamiento continúa en una operación 1414. De forma similar a la operación 914, en la operación 1414, la conexión realizada entre la aplicación de publicación de eventos 224 y el dispositivo de red de mensajería interna 1102 se desconecta, y se detiene cada cliente de
publicación iniciado.
Haciendo referencia a la Figura 15, se describen operaciones, a modo de ejemplo, asociadas con la aplicación de suscripción de evento 324. La aplicación de suscripción de evento 324 se puede definir para ejecutarse en el segundo sistema ESP 1100. Dependiendo de la forma de realización, se pueden realizar adicionales, menos o distintas operaciones. El orden de presentación de las operaciones de la Figura 15 no pretende ser limitativo.
En una operación 1500, se realiza una conexión con el dispositivo de red de mensajería externa 1104 con información de conexión predefinida. La información de conexión predefinida puede ser compatible con la que se utiliza por el conector de red de mensajería externa 1202. Para fines ilustrativos, la información de conexión predefinida se puede memorizar en el segundo soporte legible por ordenador 310. A modo de ejemplo, una llamada funcional puede indicar un tipo de red de mensajes del dispositivo de red de mensajería externa 1104, y se puede memorizar un fichero de configuración en el segundo soporte legible por ordenador 310, que incluye la información de conexión predefinida.
A modo de ilustración, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Tervela Inc., la información de conexión puede incluir el nombre del dispositivo, el nombre de usuario del cliente, la contraseña del cliente y el nombre del concentrador, o la dirección IP, del dispositivo de red de mensajería externa 1104. El nombre del concentrador, o la dirección IP del dispositivo de red de mensajería externa 1104, el nombre de usuario del cliente y la contraseña del cliente se pueden utilizar para conectarse al dispositivo de red de mensajería externa 1104. Para una ilustración adicional, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes que ofrece Solace Systems, el concentrador:puerto del dispositivo de red de mensajería externa 1104, el nombre de usuario del cliente, la contraseña del cliente y el nombre de VPN pueden incluirse en la información de conexión. El concentrador:puerto del dispositivo de red de mensajería externa 1104 se utiliza para conectarse al dispositivo de red de mensajería externa 1104.
Como en la operación 1000, en una operación 1502, se consultar motor ESPE 600, por ejemplo, para descubrir proyectos 602, consultas continuas 604, ventanas 606, 608, esquemas de ventana y bordes de ventana que se ejecutan, actualmente, en ESPE 600. El nombre del motor de ESPE 600 y la designación de concentrador:puerto para ESPE 600, que se ejecuta en el dispositivo ESP 102, se proporcionan como una entrada a la consulta y se puede reenviar una lista de cadenas con los nombres a los proyectos 602, consultas continuas 604, ventanas 606, 608, esquema de ventana y bordes de ventana.
En una operación 1504, los servicios de suscripción se inicializan cuando sea necesario. A modo de ejemplo, los servicios de suscripción no pueden ser utilizados por el dispositivo de red de mensajería externa 1104.
En una operación 1506, se inician los servicios de suscripción inicializados, que crea un cliente de suscripción, tal como el cliente de suscripción A 804, en nombre de la aplicación de suscripción de evento 324, en el dispositivo de suscripción 300. El cliente de suscripción, tal como el cliente de suscripción A 804, realiza las diversas actividades de pub/sub para la aplicación de suscripción de evento 324. A modo de ejemplo, un URL para ESPE 600 se puede pasar a una función de "Inicio". La función de "Inicio" puede validar y retener los parámetros de conexión para una conexión de cliente de suscripción específico, y reenviar un puntero al cliente suscrito. A modo de ilustración, el URL puede estar formateado como "dfESP://<concentrador>:<puerto>/<nombre del proyecto>/<nombre de consulta continua>/<nombre de ventana>".
De forma similar a la operación 1008, en una operación 1508, se recibe un objeto de bloque de evento por la aplicación de suscripción de evento 324.
Como en la operación 1010, en una operación 1510, se realiza una determinación con respecto a si se interrumpe, o no, el procesamiento. Si el procesamiento no se interrumpe, el procesamiento continúa en la operación 1508 para seguir recibiendo objetos de bloque de eventos. Si se detiene el procesamiento, el procesamiento continúa en una operación 1512. En la operación 1512, se desconecta la conexión realizada entre la aplicación de suscripción de evento 324 y el dispositivo de red de mensajería externa 1104 se desconecta, y se detiene el cliente de suscripción. Haciendo referencia a la Figura 16, se muestra un tercer sistema ESP 1600 de conformidad con una forma de realización ilustrativa. El tercer sistema ESP 1600 puede incluir una pluralidad de dispositivos ESP 1602, sistemas de publicación de eventos 104, sistemas de suscripción de eventos 106, un dispositivo de red de mensajería interna 1102 y dispositivo de red de mensajería externa 1104. La pluralidad de dispositivos ESP 1602 crea un sistema ESP de soporte de basculamiento que proporciona, al menos, un dispositivo ESP adicional como un soporte de seguridad si falla un ESP actualmente activo, tal como se describe más adelante. El hecho de tener una copia de seguridad garantiza que el tercer sistema ESP 1600 continúa funcionando incluso cuando falla el ESP actualmente activo. A modo de ejemplo, la pluralidad de dispositivos ESP 1602 puede incluir un ESP A 102a, un ESP B 102b, ESP C 102c, ..., y un ESP N 102n.
Aunque no se muestra, la red 108 se puede utilizar para soportar la comunicación entre uno o más componentes del tercer sistema ESP 1600. A modo de ejemplo, la pluralidad de dispositivos ESP 1602 puede estar situado en una
sala individual o salas adyacentes, en una única instalación, y/o pueden estar distribuidos, geográficamente, entre sí. El dispositivo ESP 102 es un dispositivo, a modo de ejemplo, de la pluralidad de dispositivos ESP 1602.
Cada uno de la pluralidad de dispositivos ESP 1602 puede realizar las operaciones descritas con referencia a la Figura 13, excepto por el hecho de que solamente uno de entre la pluralidad de dispositivos ESP 1602 es un dispositivo ESP activo que está publicando objetos de bloque de eventos recibidos para el dispositivo de red de mensajería externa 1104. Cada uno de la pluralidad de dispositivos ESP 1602 puede recibir objetos de bloque de eventos publicados procedentes del dispositivo de red de mensajería interna 1102.
En la forma de realización ilustrativa de la Figura 16, el dispositivo ESP B 102b se indica, utilizando una línea continua, como el dispositivo ESP activo que está publicando para el dispositivo de red de mensajería externa 1104. Aunque los dispositivos ESP restantes de la pluralidad de dispositivos ESP 1602 están conectados al dispositivo de red de mensajería externa 1104 utilizando su propio conector de red de mensajería externa 1202, no están publicando para el dispositivo de red de mensajería externa 1104. Los dispositivos ESP restantes de la pluralidad de dispositivos ESP 1602 se pueden denominar como un grupo de basculamiento. La determinación de cuál de entre la pluralidad de dispositivos ESP 1602 es el dispositivo ESP activo, se determina en la conexión inicial mediante el conector de red de mensajería externa asociado 1202 al dispositivo de red de mensajería externa 1104 y se mantiene hasta que falla el dispositivo ESP activo. El conector de red de mensajería externa 1202 se ejecuta en cada dispositivo ESP de entre la pluralidad de dispositivos ESP 1602 que se coordina con el dispositivo de red de mensajería externa 1104 con el fin de determinar el dispositivo ESP activo.
Haciendo referencia a la Figura 17, se describen operaciones, a modo de ejemplo, asociadas con el conector de red de mensajería interna 1200. Los conectores de red de mensajería interna 1200 pueden estar definidos para ejecutarse en el tercer sistema ESP 1600 para cada ventana de origen del motor ESPE 600, y para cada dispositivo ESP de la pluralidad de dispositivos ESP 1602 que se ejecutan en el motor ESPE 600. Dependiendo de la forma de realización, se pueden realizar adicionales, menos o distintas operaciones. El orden de presentación de las operaciones de la Figura 17 no pretende ser limitativo.
En una operación 1700, se realiza una conexión para el dispositivo de red de mensajería interna 1102 por cada conector de red de mensajería interna 1200 de cada uno de entre la pluralidad de dispositivos ESP 1602, con la información de conexión predefinida, tal como se describe con referencia a la operación 1310 de la Figura 13. A modo de ejemplo, la información de conexión predefinida se puede memorizar en un tercer soporte legible por ordenador 410 o pasarse al conector de red de mensajería interna 1200 cuando el conector de red de mensajería interna 1200 se inicia por el motor ESPE 600. El nombre del motor del motor ESPE 600 que se ejecuta en cada uno de la pluralidad de dispositivos ESP 1602 puede ser idéntico. Cada conector de red de mensajería interna 1200, de cada uno de la pluralidad de dispositivos ESP 1602, se puede activar sobre la base del mismo conjunto de temas, y puede configurarse con la misma información de conexión del dispositivo de red de mensajería interna 1102. Con el fin de sincronizar, cada conector de red de mensajería interna 1200 de cada uno de la pluralidad de dispositivos ESP 1602, se puede iniciar el flujo de mensajes al mismo tiempo, con el dispositivo de red de mensajería interna 1102 con la eliminación de los mensajes sobre temas relacionados y con el mismo identificador ID de objeto de bloqueo de eventos inicial.
En una operación 1702, se recibe una consulta desde el dispositivo de red de mensajería interna 1102. En una operación 1704, se envía una respuesta a la consulta al dispositivo de red de mensajería interna 1102. A modo de ilustración, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Solace Systems, cada conector de red en mensajería interna 1200 realiza la escucha de demandas de metadatos sobre el tema denominado "concentrador:puerto/M", en donde concentrador:puerto es la designación de concentrador:puerto de ESPE 600 que se ejecuta en el dispositivo ESP 102. El dispositivo de red de mensajería interna 1102 puede enviar mensajes formateados sobre este tema en forma de demanda/respuesta. Los mensajes de demanda se pueden enviar utilizando el modo de ‘entrega a uno solo’ con el fin de garantizar que solamente uno de entre la pluralidad de dispositivos ESP 1602 responda al mensaje.
Para una ilustración adicional, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Tervela Inc., cada conector de red de mensajería interna 1200 puede crear una única bandeja de entrada para todo el agrupamiento denominada "engine name_meta", que incluye el nombre del motor de ESPE 600, y puede publicar información de metadatos sobre el tema especial "SAS.META.concentrador:puerto", que incluye la designación de concentrador:puerto de ESPE 600, que se ejecuta en el dispositivo ESP 102. El dispositivo de red de mensajería interna 1102 puede suscribirse a este tema y guardar los metadatos recibidos y la información de mapeado del motor. Con el fin de procesar una consulta posterior desde el dispositivo de publicación 200, el dispositivo de red de mensajería interna 1102 responde a la consulta con la información demandada a partir de los metadatos guardados. El dispositivo de red de mensajería interna 1102 puede derivar el nombre de la bandeja de entrada utilizando la designación de concentrador:puerto recibido de ESPE 600, que se ejecuta en el dispositivo ESP 102, realizando el mapeado del nombre del motor de ESPE 600 y enviando mensajes formateados a la bandeja de entrada en la forma de demanda/respuesta.
En una operación 1706, el objeto del bloque de evento es recibido por el conector de red de mensajería interna
iniciado 1200 procedente del dispositivo de red de mensajería interna 1102. En una operación 1708, el objeto del bloque de evento recibido se publica en el motor ESPE 600, en función del nombre del tema que corresponde a un nombre de ventana de origen de ESPE 600. En una operación 1710, se realiza una determinación con respecto a si se interrumpe, o no, el procesamiento. Si el procesamiento no se detiene, el procesamiento continúa en la operación 1706 con el fin de seguir recibiendo los objetos del bloque de eventos desde el dispositivo de red de mensajería interna 1102. Si el procesamiento se interrumpe, el procesamiento continúa en una operación 1712. En la operación 1712, se desconecta la conexión al dispositivo de red de mensajería interna 1102 y se detiene el conector de red de mensajería interna 1200.
Haciendo referencia a la Figura 18, se describen operaciones, a modo de ejemplo, asociadas con el conector de red de mensajería externa 1202. Los conectores de red de mensajería externa 1202 se pueden definir para ejecutarse en el tercer sistema ESP 1600 para cada ventana de origen y para cada dispositivo ESP de entre la pluralidad de dispositivos ESP 1602. Dependiendo de la forma de realización, se pueden realizar adicionales, menos o distintas operaciones. El orden de presentación de las operaciones de la Figura 18 no pretende ser limitativo. Los conectores de red de mensajería externa 1202, que se ejecutan en cada dispositivo ESP de entre la pluralidad de dispositivos ESP 1602, en el tercer sistema ESP 1600, consiguen un soporte de basculamiento rápido y continuo de cualquier ESPE 600 que se ejecuta en la pluralidad de dispositivos ESP 1602 sin interrupción del servicio o pérdida de datos.
En una operación 1800, se realiza una conexión al dispositivo de red de mensajería externa 1104 por cada conector de red de mensajería externa 1202 de cada uno de la pluralidad de dispositivos ESP 1602, con la información de conexión predefinida descrita con referencia a la operación 1312. A modo de ejemplo, la información de conexión predefinida se puede memorizar en un tercer soporte legible por ordenador 410 o pasarse al conector de red de mensajería externa 1202 cuando el conector de red de mensajería externa 1202 es iniciado por ESPE 600.
De forma similar a las operaciones 1702 y 1704, en una operación 1801, se recibe una consulta desde el dispositivo de red de mensajería externa 1104, y se envía una respuesta a la consulta al dispositivo de red de mensajería externa 1104.
En una operación 1802, el objeto del bloque de evento es recibido por el conector de red de mensajería externa 1202 desde el motor ESPE 600. En una operación 1804, se realiza una determinación con respecto a si el conector de red de mensajería externa 1202 ha recibido, o no, una notificación indicando que el conector de red de mensajería externa 1202 está asociado con el dispositivo ESP activo. A modo de ejemplo, si el conector de red de mensajería externa 1202 está asociado con el dispositivo ESP activo, o si un dispositivo ESP en condición de reserva está en comunicación con el conector de red de mensajería externa 1202. La notificación puede determinarse, inicialmente, cuando cada conector de red de mensajería externa 1202, de entre la pluralidad de dispositivos ESP 1602, se conecta al dispositivo de red de mensajería externa 1104, y cuando un estado de uno o más de los conectores de red de mensajería externa 1202 cambia debido a un dispositivo ESP en condición de fallo operativo, o un nuevo dispositivo ESP se une a la pluralidad de dispositivos ESP 1602. El conector de red de mensajería externa 1202 está asociado con un dispositivo ESP en condición de reserva, la notificación puede indicar que el conector de red de mensajería externa 1202 es un conector en condición de espera o inactivo.
Para fines ilustrativos, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Solace Systems, se puede compartir una cola de espera de mensajería exclusiva entre cada conector de red de mensajería externa 1202 de cada uno de la pluralidad de dispositivos ESP 1602. La cola de espera de mensajería exclusiva se utiliza para indicar si el dispositivo ESP, de entre la pluralidad de dispositivos ESP 1602 es, o no, el dispositivo ESP activo. No se pueden publicar datos en la cola de espera de mensajería exclusiva.
Cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Solace Systems, el estado activo/en condición de reserva del dispositivo ESP se coordina entre la pluralidad de dispositivos ESP 1602 utilizando el siguiente mecanismo. Cuando se inicia cada conector de red de mensajería externa 1202, el conector de red de mensajería externa 1202 intenta, como un consumidor de la cola de espera de mensajería exclusiva, vincularse a la cola de espera de mensajería exclusiva creada para la pluralidad de dispositivos ESP 1602. Cuando el conector de red de mensajería externa 1202 es el primero en vincularse a la cola de espera de mensajería exclusiva; recibe un indicador activo procedente del dispositivo de red de mensajería externa 1104 con la indicación de que está asociado con el dispositivo ESP activo. Como otros conectores de red de mensajería externa 1202 se unen a la cola de espera de mensajería exclusiva, reciben un indicador inactivo procedente del dispositivo de red de mensajería externa 1104 que indica que están asociados con un dispositivo ESP inactivo, de entre la pluralidad de dispositivos ESP 1602. Si el dispositivo ESP activo falla, o se desconecta, del dispositivo de red de mensajería externa 1104, un siguiente conector de red de mensajería externa 1202 recibe el indicador activo procedente del dispositivo de red de mensajería externa 1104, que indica que ahora está asociado con el dispositivo ESP activo. A modo de ejemplo, el segundo conector de red de mensajería externa 1202, para conectarse al dispositivo de red de mensajería externa 1104, puede seleccionarse para recibir el indicador activo cuando falla el dispositivo ESP activo.
Para una ilustración adicional, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Tervela Inc., el estado activo/en condición de reserva del dispositivo ESP se puede coordinar entre la pluralidad de dispositivos ESP 1602 utilizando el siguiente mecanismo. Cuando se inicia cada conector de red de
mensajería externa 1202, cada conector de red de mensajería externa 1202 intenta crear una bandeja de entrada utilizando el nombre del motor de ESPE 600 para el nombre de la bandeja de entrada, lo que hace que la bandeja de entrada sea específica para la pluralidad de dispositivos ESP 1602. Si tiene éxito operativo, el conector de red de mensajería externa 1202 recibe un indicador activo procedente del dispositivo de red de mensajería externa 1104 con la indicación de que está asociado con el dispositivo ESP activo, y el conector de red de mensajería externa 1202 asume la propiedad de un contexto de entrega garantizada en todo el sistema. Si ya existe la bandeja de entrada, el dispositivo ESP activo ya se ha seleccionado, y los restantes conectores del dispositivo de mensajería externa 1202 reciben un indicador inactivo procedente del dispositivo de red de mensajería externa 1104 que indica que están asociados con un dispositivo ESP inactivo de entre la pluralidad de dispositivos ESP 1602. Los restantes conectores del dispositivo de mensajería externa 1202 se conectan a la bandeja de entrada y envían un mensaje vacío a la bandeja de entrada. El conector de red de mensajería externa activo 1202 recibe los mensajes vacíos desde los conectores del dispositivo de mensajería externa en condición de reserva 1202. Se puede seleccionar un primer dispositivo de respuesta, de entre los restantes conectores de dispositivo de mensajería externa 1202, por el conector de red de mensajería externa 1202, como un conector en condición de reserva activo mediante la respuesta al mensaje vacío de ese conector de red de mensajería externa 1202. El conector de red de mensajería externa activo 1202 puede mantener un mapa de los otros conectores de dispositivo de mensajería externa 1202 y sus estados. Si el conector de red de mensajería externa activo 1202 recibe una notificación de la desconexión de la bandeja de entrada por parte del conector en condición de reserva activo, el conector de red de mensajería externa activo 1202 notifica otro conector en condición de reserva para convertirse en el conector de reserva activa respondiendo al mensaje vacío recibido desde ese conector de red de mensajería externa 1202. Cuando falla el dispositivo ESP activo, la bandeja de entrada también falla, y el dispositivo de red de mensajería externa 1104 envía un mensaje a los conectores de dispositivo de mensajería externa inactivos 1202. Cuando el conector en condición de reserva activo recibe el mensaje, el conector en condición de reserva activo se convierte en el conector de red de mensajería externa activo 1202, asociado con el dispositivo ESP activo, y crea una nueva bandeja de entrada, tal como se describió anteriormente, a la que se conectan los restantes conectores de dispositivo de mensajería externa inactivos 1202. Cuando los restantes conectores están en condición de reserva reciben el mensaje, conservan su estado de espera y envían un mensaje vacío a la nueva bandeja de entrada creada.
Si la notificación está activa en la operación 1804, el procesamiento continúa en una operación 1808. Si la notificación no se recibe en la operación 1804, el procesamiento continúa en una operación 1806.
En la operación 1806, el objeto del bloque de evento recibido se memoriza en el tercer soporte legible por ordenador 410, y el procesamiento continúa en una operación 1816. A modo de ejemplo, el objeto del bloque de evento recibido se puede memorizar en una memoria intermedia que contiene un número predefinido de objetos de bloque de eventos recibidos, tal como es conocido por un experto en esta técnica. Cuando la memoria intermedia contiene el número predefinido de objetos de bloque de evento recibidos, el objeto del bloque de evento más antiguo, en la memoria intermedia, se elimina de la memoria intermedia antes de memorizar el objeto del bloque de evento recibido.
En una operación 1808, se realiza una determinación con respecto a si el conector de red de mensajería externa activo 1202 está asociado, o no, con un dispositivo ESP recientemente activo. Un dispositivo ESP recientemente activo se determina cuando el dispositivo ESP se conmuta desde un estado en condición de reserva al estado activo. En una iteración posterior de la operación 1808, el dispositivo ESP no está recientemente activo puesto que su estado continúa siendo el estado activo. Si el conector de red de mensajería externa activo 1202 está asociado con un dispositivo ESP activo recientemente, el procesamiento continúa en una operación 1810. Si el conector de red de mensajería externa activo 1202 no está asociado con un dispositivo ESP recientemente activo, el procesamiento continúa en una operación 1814.
En la operación 1810, se determina un identificador de un último objeto de bloque de evento publicado. Para fines ilustrativos, cuando el dispositivo de red de mensajería externa 1104 incluye la red de mensajes ofrecida por Solace Systems, el conector de red de mensajería externa activo 1202 determina el último objeto de bloque de eventos publicado a partir de una última cola de espera mantenida por el dispositivo de red de mensajería externa 1104. La última cola de espera de valores puede tener la profundidad de un mensaje, y contener el último mensaje publicado por el dispositivo ESP previamente activo sobre el tema al que se suscribió la última cola de espera de valores. El conector de red de mensajería externa 1202, asociado con el dispositivo ESP recientemente activo, se vincula a la última cola de espera de valores como un navegador, recupera el último objeto de bloque de evento publicado con éxito que se publica desde la última cola de espera, memoriza su ID de objeto de bloque de evento y se desconecta de la última cola de espera de valores.
Para una ilustración adicional, cuando el dispositivo de red de mensajería interna 1102 incluye la red de mensajes ofrecida por Tervela Inc., el conector activo consulta el contexto de entrega garantizada del sistema completo que posee para el ID de objeto de bloque de evento, del último objeto de bloque de evento publicado de forma satisfactoria.
En una operación 1812, uno o más objetos de bloque de evento recibidos después del último objeto de bloque de evento publicado, se seleccionan desde la memoria intermedia mediante la identificación de cualquiera de los
objetos de bloque de eventos con un ID de objeto de bloque de evento asociado que sea mayor que el ID de objeto de bloque de evento del último objeto de bloque de evento publicado de forma satisfactoria. En una operación 1813, los uno o más objetos de bloque de evento seleccionados, y el objeto del bloque de evento recibido en la operación 1802 se publican en el dispositivo de red de mensajería externa 1104, y el procesamiento continúa en la operación 1816.
En la operación 1814, el objeto del bloque de evento recibido se publica en el dispositivo de red de mensajería externa 1104. En la operación 1816, se realiza una determinación con respecto a si se interrumpe, o no el procesamiento. Si el procesamiento no se detiene, el procesamiento continúa en la operación 1802 con el fin de seguir recibiendo los objetos del bloque de eventos de ESPE 600. Si el procesamiento se detiene, el procesamiento continúa en una operación 1818. En la operación 1818, se desconecta la conexión al dispositivo de red de mensajería externa 1104, y se detiene el conector de red de mensajería externa 1202.
Con el fin de garantizar que el motor ESPE 600, que se ejecuta en un dispositivo ESP reiniciado pueda sincronizarse completamente con la restante pluralidad de dispositivos ESP 1602, se puede utilizar una característica operativa de persistencia/restauración en un modo "garantizado". Por ejemplo, un estado del motor ESPE 600 puede persistir, de forma periódica, por el motor ESPE 600 de la pluralidad de dispositivos ESP 1602. Se puede activar la persistencia del estado de ESPE 600 mediante el motor ESPE 600, aunque esto puede generar datos de persistencia redundantes. A modo de otro ejemplo, el conector de red de mensajería externa activo 1202 puede iniciar una persistencia por el motor ESPE 600 que se ejecuta en el dispositivo ESP activo.
Una ubicación de los datos persistentes puede ser la misma para cada ESPE 600, que se ejecuta en la pluralidad de dispositivos ESP 1602, de modo que cuando falla un dispositivo ESP se reinicia y se vuelve a conectar, los datos persistentes se pueden utilizar para obtener el funcionamiento del motor ESPE 600, que se ejecuta en el dispositivo ESP fallido, de nuevo a un estado próximo a un estado actual de ESPE 600, que se ejecuta en la restante pluralidad de dispositivos ESP 1602. El motor ESPE 600 que se ejecuta en el dispositivo ESP fallido, puede funcionar con el dispositivo de red de mensajería externa 1104 para recibir objetos de bloque de eventos después de que los datos persistentes para la captación completa para el estado actual. Una vez captado operativamente, el motor ESPE 600, que se ejecuta en el dispositivo ESP fallido, puede registrarse con el dispositivo de red de mensajería externa 1104 como un sistema de reserva dependiente del tipo de dispositivo de red de mensajería externa 1104, según se describió con anterioridad.
Los aspectos de la idea inventiva actual dan a conocer soluciones técnicas a problemas técnicos, tales como problemas informáticos que surgen cuando falla un dispositivo ESP, lo que tiene como resultado una interrupción completa del servicio y una pérdida de datos potencialmente importante. La pérdida de datos puede ser catastrófica cuando los datos transmitidos son compatibles con operaciones de misión crítica, tal como las que soportan una operación de perforación o fabricación en curso. El tercer sistema ESP 1600 consigue un soporte de basculamiento rápido y perfecto del motor ESPE 600 que se ejecuta en la pluralidad de dispositivos ESP 1602, sin interrupción del servicio ni pérdida de datos, lo que mejora, de forma significativa, la fiabilidad de un sistema operativo que está basado en el procesamiento en tiempo real de los flujos de datos. Los sistemas de publicación de eventos 104, los sistemas de suscripción de eventos 106 y cada ESPE 600, que no se ejecutan en un dispositivo ESP fallido, no están informados de, o afectados por, el dispositivo ESP fallido. El tercer sistema ESP 1600 puede incluir miles de sistemas de publicación de eventos 104 y sistemas de suscripción de eventos 106. Algunos sistemas de soporte de basculamiento anteriores requerían que los sistemas de publicación de eventos 104 y los sistemas de suscripción de eventos 106 se reincorporaran a un nuevo ESP, lo que provocaría un tiempo de inactividad del sistema y una pérdida de datos. El tercer sistema ESP 1600 mantiene la lógica de soporte de basculamiento y el conocimiento dentro de los límites del conector de red de mensajería externa 1202 y del dispositivo de red de mensajería externa 1104.
En una forma de realización ilustrativa, el tercer sistema ESP 1600 puede estar configurado para funcionar con RabbitMQ™, proporcionado por Pivotal Software, Inc. de Londres, Reino Unido. RabbitMQ ™ es un software de mensajería de código abierto que pone en práctica el protocolo de cola de espera de mensajes anticipados. A modo de ejemplo, el dispositivo de red de mensajería interna 1102 y/o el dispositivo de red de mensajería externa 1104 se pueden poner en práctica utilizando RabbitMQ™.
El término "ilustrativo" se utiliza en el presente documento para indicar que sirve como ejemplo, instancia operativa o ilustración. Cualquier aspecto o diseño descrito aquí como "ilustrativo" no ha de interpretarse necesariamente como preferido o ventajoso sobre otros aspectos o diseños. Además, para los fines de esta idea inventiva y, a no ser que se especifique de otro modo, el término "uno" o "una" significa "uno o más". Asimismo, el uso de "y" o "o" en la descripción detallada pretende incluir "y/o" a menos que se indique específicamente lo contrario. Las formas de realización ilustrativas se pueden poner en práctica como un método, aparato o artículo de fabricación utilizando técnicas estándar de programación y/o ingeniería para producir software, firmware, hardware o cualquier combinación de los mismos con el fin de controlar un ordenador para poner en práctica las formas de realización descritas.
La descripción anterior de formas de realización ilustrativas de la materia descrita se ha presentado con fines
ilustrativos y de descripción. No están previstas para ser exhaustivas o limitar el tema dado a conocer en la forma precisa descrita, y son posibles modificaciones y variaciones a la luz de las enseñanzas anteriores, o pueden adquirirse a partir de la práctica de la materia dada a conocer. Las formas de realización se eligieron y describieron con el fin de explicar los principios de la materia descrita y como aplicaciones prácticas de la materia dada a conocer, con el fin de permitir que un experto en esta técnica utilice la materia descrita en varias formas de realización y con diversas modificaciones según sea adecuado para el uso particular contemplado.
Claims (30)
1. Un soporte legible por ordenador no transitorio en el que se memorizan instrucciones legibles por ordenador que, cuando se ejecutan por un dispositivo informático, hacen que el dispositivo informático:
reciba un objeto de bloque de evento procedente de un motor de procesamiento de flujo de eventos (ESPE), en donde el objeto del bloque de evento recibido incluye un identificador único del objeto del bloque de evento recibido;
determine un primer estado del dispositivo informático como en activo o en condición de reserva;
cuando se determina que el primer estado del dispositivo informático es activo, se determina un segundo estado del dispositivo informático como recientemente activo o no recientemente activo, en donde la nueva actividad se determina cuando el dispositivo informático se conmuta desde un estado en condición de reserva a un estado activo;
cuando se determina que el segundo estado del dispositivo informático está recientemente activo,
la determinación de un último identificador de objeto de bloque de evento publicado como un identificador que identifica, de forma única, un último objeto de bloque de evento publicado;
la selección de un siguiente objeto de bloque de evento que tenga un identificador de objeto de bloque de evento que sea mayor que el último identificador de objeto de bloque de evento publicado determinado, procedente del soporte legible por ordenador no transitorio; y
la publicación del siguiente objeto de bloque de evento seleccionado para un dispositivo de red de mensajería externa;
cuando se determina que el segundo estado del dispositivo informático no es de recientemente activo, la publicación del objeto del bloque de evento recibido al dispositivo de red de mensajería externa; y
cuando se determina que el primer estado del dispositivo informático está en condición de reserva, la memorización del objeto del bloque de evento recibido en el soporte legible por ordenador no transitorio.
2. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde se selecciona una pluralidad de siguientes objetos de bloque de evento y se publica para el dispositivo de red de mensajería externa.
3. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde las instrucciones legibles por ordenador hacen, además, que el dispositivo informático establezca una conexión con el dispositivo de red de mensajería externa utilizando información de conexión.
4. El soporte legible por ordenador no transitorio según la reivindicación 3, en donde la información de conexión se recibe desde el motor ESPE.
5. El soporte legible por ordenador no transitorio según la reivindicación 3, en donde la información de conexión incluye un nombre del concentrador del dispositivo de red de mensajería externa y un número de puerto para la publicación del objeto del bloque de evento recibido al dispositivo de red de mensajería externa.
6. El soporte legible por ordenador no transitorio según la reivindicación 3, en donde la información de conexión incluye una dirección de protocolo de Internet del dispositivo de red de mensajería externa.
7. El soporte legible por ordenador no transitorio según la reivindicación 3, en donde, después de establecer la conexión, las instrucciones legibles por ordenador hacen, además, que el dispositivo informático reciba, desde el dispositivo de red de mensajería externa, un objeto de bloque de eventos publicado previamente para el dispositivo de red de mensajería externa.
8. El soporte legible por ordenador no transitorio según la reivindicación 7, en donde el objeto del bloque de evento publicado previamente al dispositivo de red de mensajería externa, fue publicado por otro dispositivo informático.
9. El soporte legible por ordenador no transitorio según la reivindicación 3, en donde, después de establecer la conexión, las instrucciones legibles por ordenador hacen, además, que el dispositivo informático reciba, desde el dispositivo de red de mensajería externa, una pluralidad de objetos de bloque de eventos publicados previamente, que se publican en el dispositivo de red de mensajería externa durante un período de tiempo predefinido.
10. El soporte legible por ordenador no transitorio según la reivindicación 3, en donde el establecimiento de la conexión comprende:
la publicación de un mensaje para un tema que incluye un nombre del concentrador y un número de puerto del
dispositivo informático.
11. El soporte legible por ordenador no transitorio según la reivindicación 10, en donde el mensaje publicado
incluye, además, un nombre de motor del ESPE.
12. El soporte legible por ordenador no transitorio según la reivindicación 10, en donde el establecimiento de la
conexión comprende, además:
la creación de una bandeja de entrada con un nombre que incluye un nombre de motor del ESPE.
13. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde el soporte legible por
ordenador no transitorio incluye, al menos, un primer soporte legible por ordenador no transitorio y un segundo
soporte legible por ordenador no transitorio, en donde el primer soporte legible por ordenador no transitorio está
configurado para memorizar las instrucciones legibles por ordenador, y el segundo soporte legible por ordenador no
transitorio está configurado para memorizar el objeto del bloque de evento recibido.
14. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde el objeto del bloque de evento recibido se publica para un tema que incluye un nombre del concentrador y un número de puerto del dispositivo informático.
15. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde el objeto del bloque de
evento recibido se publica para un tema que incluye un nombre de motor del ESPE.
16. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde el objeto del bloque de evento recibido se publica para un tema que incluye un nombre de proyecto, un nombre de consulta continua y un
nombre de ventana de origen del ESPE.
17. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde la determinación del primer
estado del dispositivo informático comprende:
el intento de vincularse a una cola de espera de mensajería exclusiva, establecida en el dispositivo de red de
mensajería externa.
18. El soporte legible por ordenador no transitorio según la reivindicación 17, en donde la determinación del primer
estado del dispositivo informático comprende, además:
la recepción de un indicador activo procedente del dispositivo de red de mensajería externa cuando el intento de
enlace es satisfactorio; y
la recepción de un indicador de reserva desde el dispositivo de red de mensajería externa cuando el intento de
enlace no tiene éxito operativo.
19. El soporte legible por ordenador no transitorio según la reivindicación 18, en donde la determinación del
segundo estado del dispositivo informático comprende:
la recepción del indicador activo procedente del dispositivo de red de mensajería externa después de recibir el
indicador de reserva desde el dispositivo de red de mensajería externa.
20. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde la determinación del primer
estado del dispositivo informático comprende:
el intento de crear una bandeja de entrada utilizando un nombre de motor del ESPE.
21. El soporte legible por ordenador no transitorio según la reivindicación 20, en donde la determinación del primer
estado del dispositivo informático comprende, además:
la recepción de un indicador activo desde el dispositivo de red de mensajería externa cuando el intento de crear la
bandeja de entrada es satisfactorio; y
la recepción de un indicador de reserva desde el dispositivo de red de mensajería externa cuando el intento de crear
la bandeja de entrada no tiene resultado satisfactorio.
22. El soporte legible por ordenador no transitorio según la reivindicación 21, en donde, después de recibir el
indicador de reserva, las instrucciones legibles por ordenador hacen, además, que el dispositivo informático envíe un
mensaje vacío a la bandeja de entrada creada.
23. El soporte legible por ordenador no transitorio según la reivindicación 21, en donde, después de recibir el indicador activo, las instrucciones legibles por ordenador hacen, además, que el dispositivo informático reciba un mensaje vacío en la bandeja de entrada creada desde otro dispositivo informático.
24. El soporte legible por ordenador no transitorio según la reivindicación 21, en donde la determinación del segundo estado del dispositivo informático comprende:
la recepción del indicador activo procedente del dispositivo de red de mensajería externa después de recibir el indicador de reserva del dispositivo de red de mensajería externa.
25. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde la determinación del último identificador de objeto de bloque de evento publicado incluye:
el enlace a una última cola de espera establecida en el dispositivo de red de mensajería externa; y
la recuperación de un último objeto de bloque de evento publicado, de forma satisfactoria, que se publica a partir de la última cola de espera de valores.
26. El soporte legible por ordenador no transitorio según la reivindicación 1, en donde la determinación del último identificador de objeto de bloque de evento publicado incluye:
la consulta del dispositivo de red de mensajería externa para el último identificador de objeto de bloque de evento publicado.
27. Un sistema que comprende:
un dispositivo de red de mensajería externa; y
un dispositivo informático que comprende
un procesador configurado para hacer funcionar un motor de procesamiento de flujo de eventos (ESPE); y un soporte legible por ordenador no transitorio acoplado operativamente al primer procesador, teniendo el soporte legible por ordenador no transitorio instrucciones legibles por ordenador memorizadas en el mismo que, cuando son ejecutadas por el procesador, hacen que el dispositivo informático
reciba un objeto de bloque de evento del ESPE, en donde el objeto del bloque de evento recibido incluye un identificador único del objeto del bloque de evento recibido;
la determinación de un primer estado del dispositivo informático como activo o en condición de reserva; cuando se determina que el primer estado del dispositivo informático es activo, se determina un segundo estado del dispositivo informático como recientemente activo o no recientemente activo, en donde el estado recientemente activo se determina cuando el dispositivo informático se conmuta desde un estado en condición de reserva a un estado activo;
cuando se determina que el segundo estado del dispositivo informático es recientemente activo,
la determinación de un último identificador de objeto de bloque de evento publicado como un identificador que identifica, de forma única, un último objeto de bloque de evento publicado;
la selección de un siguiente objeto de bloque de evento que tenga un identificador de objeto de bloque de evento que sea mayor que el último identificador de objeto de bloque de evento publicado determinado a partir del soporte legible por ordenador no transitorio; y
la publicación del siguiente objeto de bloque de evento seleccionado al dispositivo de red de mensajería externa; cuando se determina que el segundo estado del dispositivo informático es no recientemente activo, la publicación del objeto del bloque de evento recibido al dispositivo de red de mensajería externa; y
cuando se determina que el primer estado del dispositivo informático está en condición de reserva, la memorización del objeto del bloque de evento recibido en el soporte legible por ordenador no transitorio.
28. El sistema según la reivindicación 27, en donde se selecciona y publica una pluralidad de siguientes objetos de bloque de evento para el dispositivo de red de mensajería externa.
29. Un método de soporte de basculamiento en un sistema de procesamiento de flujo de eventos, comprendiendo dicho método:
la recepción de un objeto de bloque de evento desde un motor de procesamiento de flujo de eventos (ESPE) que se ejecuta en un dispositivo informático, en donde el objeto del bloque de evento recibido incluye un identificador único del objeto del bloque de evento recibido;
la determinación, por el dispositivo informático, de un primer estado del dispositivo informático como activo o en condición de reserva;
cuando se determina que el primer estado del dispositivo informático es activo, la determinación, por el dispositivo informático, de un segundo estado del dispositivo informático como recientemente activo o no recientemente activo, en donde la nueva actividad se determina cuando el dispositivo informático se conmuta desde un estado en condición de reserva a un estado activo;
cuando se determina que el segundo estado del dispositivo informático es recientemente activo,
la determinación, por el dispositivo informático, de un último identificador de objeto de bloque de evento publicado como un identificador que identifica, de forma única, un último objeto de bloque de evento publicado;
la selección de un siguiente objeto de bloque de evento procedente de un soporte legible por ordenador no transitorio, al que puede acceder el dispositivo informático, en donde el siguiente objeto de bloque de evento tiene un identificador de objeto de bloque de evento que es mayor que el último identificador de objeto de bloque de evento publicado determinado; y
la publicación, por el dispositivo informático, del siguiente objeto de bloque de evento seleccionado a un dispositivo de red de mensajería externa;
cuando se determina que el segundo estado del dispositivo informático es no recientemente activo, la publicación del objeto del bloque de evento recibido a dispositivo de red de mensajería externa; y
cuando se determina que el primer estado del dispositivo informático está en condición de reserva, la memorización del objeto del bloque de evento recibido en el soporte legible por ordenador no transitorio.
30. El método según la reivindicación 29, en donde se selecciona y publica una pluralidad de siguientes objetos de bloque de evento al dispositivo de red de mensajería externa.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462008725P | 2014-06-06 | 2014-06-06 | |
US201562134852P | 2015-03-18 | 2015-03-18 | |
US14/662,528 US9122651B1 (en) | 2014-06-06 | 2015-03-19 | Computer system to support failover in an event stream processing system |
PCT/US2015/032370 WO2015187400A1 (en) | 2014-06-06 | 2015-05-26 | Computer system to support failover in an event stream processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2707332T3 true ES2707332T3 (es) | 2019-04-03 |
Family
ID=53938883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15804022T Active ES2707332T3 (es) | 2014-06-06 | 2015-05-26 | Sistema informático de soporte de basculamiento en un sistema de procesamiento de flujo de eventos |
Country Status (7)
Country | Link |
---|---|
US (2) | US9122651B1 (es) |
EP (1) | EP3117590B1 (es) |
CN (1) | CN106464746B (es) |
CA (1) | CA2943128C (es) |
ES (1) | ES2707332T3 (es) |
SG (1) | SG11201608051WA (es) |
WO (1) | WO2015187400A1 (es) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122651B1 (en) * | 2014-06-06 | 2015-09-01 | Sas Institute Inc. | Computer system to support failover in an event stream processing system |
US9356986B2 (en) | 2014-08-08 | 2016-05-31 | Sas Institute Inc. | Distributed stream processing |
AU2017222617B2 (en) * | 2016-02-25 | 2019-06-27 | Sas Institute Inc. | Cybersecurity system |
DE102016122384A1 (de) * | 2016-11-21 | 2018-05-24 | Beckhoff Automation Gmbh | Konzept zum steuern einer nachrichtenübermittlung zwischen kommunikationsteilnehmern eines automatisierungssystems |
US10193839B2 (en) * | 2016-11-28 | 2019-01-29 | Amazon Technologies, Inc | Managing security in messaging protocol communications |
US10637817B2 (en) | 2016-11-28 | 2020-04-28 | Amazon Technologies, Inc. | Managing messaging protocol communications |
US10417049B2 (en) | 2016-11-28 | 2019-09-17 | Amazon Technologies, Inc. | Intra-code communication in a localized device coordinator |
US10783016B2 (en) | 2016-11-28 | 2020-09-22 | Amazon Technologies, Inc. | Remote invocation of code execution in a localized device coordinator |
US10372486B2 (en) | 2016-11-28 | 2019-08-06 | Amazon Technologies, Inc. | Localized device coordinator |
US10452439B2 (en) | 2016-11-28 | 2019-10-22 | Amazon Technologies, Inc. | On-demand code execution in a localized device coordinator |
US10608973B2 (en) | 2016-11-28 | 2020-03-31 | Amazon Technologies, Inc. | Embedded codes in messaging protocol communications |
US10747592B2 (en) * | 2016-12-09 | 2020-08-18 | Sas Institute Inc. | Router management by an event stream processing cluster manager |
CA3009354C (en) * | 2016-12-09 | 2019-01-08 | Sas Institute Inc. | Event stream processing cluster manager |
US20180262597A1 (en) * | 2017-03-08 | 2018-09-13 | Citrix Systems, Inc. | Universal quality of service for internet of things devices |
US11200331B1 (en) | 2018-11-21 | 2021-12-14 | Amazon Technologies, Inc. | Management of protected data in a localized device coordinator |
US11372654B1 (en) | 2019-03-25 | 2022-06-28 | Amazon Technologies, Inc. | Remote filesystem permissions management for on-demand code execution |
US11620194B1 (en) * | 2021-06-29 | 2023-04-04 | Amazon Technologies, Inc. | Managing failover between data streams |
US11775401B1 (en) * | 2022-04-22 | 2023-10-03 | Bank Of America Corporation | Intelligent coordination of log analysis and repair processes in a multi-cloud system |
US12088347B2 (en) | 2022-04-22 | 2024-09-10 | Bank Of America Corporation | Intelligent monitoring and repair of network services using log feeds provided over Li-Fi networks |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5351276A (en) * | 1991-02-11 | 1994-09-27 | Simpact Associates, Inc. | Digital/audio interactive communication network |
EP0687089B1 (en) | 1994-06-10 | 2003-05-28 | Hewlett-Packard Company, A Delaware Corporation | Event-processing system and method of constructing such a system |
US5845280A (en) | 1995-09-25 | 1998-12-01 | Microsoft Corporation | Method and apparatus for transmitting a file in a network using a single transmit request from a user-mode process to a kernel-mode process |
US6363497B1 (en) * | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
US6292905B1 (en) * | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
US6496831B1 (en) | 1999-03-25 | 2002-12-17 | Lucent Technologies Inc. | Real-time event processing system for telecommunications and other applications |
US6502133B1 (en) | 1999-03-25 | 2002-12-31 | Lucent Technologies Inc. | Real-time event processing system with analysis engine using recovery information |
US6449618B1 (en) | 1999-03-25 | 2002-09-10 | Lucent Technologies Inc. | Real-time event processing system with subscription model |
US6681230B1 (en) | 1999-03-25 | 2004-01-20 | Lucent Technologies Inc. | Real-time event processing system with service authoring environment |
GB2357227B (en) | 1999-12-08 | 2003-12-17 | Hewlett Packard Co | Security protocol |
US7039391B2 (en) | 2000-11-28 | 2006-05-02 | Xanboo, Inc. | Method and system for communicating with a wireless device |
US7051029B1 (en) | 2001-01-05 | 2006-05-23 | Revenue Science, Inc. | Identifying and reporting on frequent sequences of events in usage data |
US6775728B2 (en) * | 2001-11-15 | 2004-08-10 | Intel Corporation | Method and system for concurrent handler execution in an SMI and PMI-based dispatch-execution framework |
US7219169B2 (en) | 2002-09-30 | 2007-05-15 | Sun Microsystems, Inc. | Composite DMA disk controller for efficient hardware-assisted data transfer operations |
US8055753B2 (en) | 2003-06-11 | 2011-11-08 | International Business Machines Corporation | Peer to peer job monitoring and control in grid computing systems |
WO2005078606A2 (en) * | 2004-02-11 | 2005-08-25 | Storage Technology Corporation | Clustered hierarchical file services |
US20060153185A1 (en) | 2004-12-28 | 2006-07-13 | Intel Corporation | Method and apparatus for dynamically changing ring size in network processing |
CN101116057B (zh) * | 2004-12-30 | 2011-10-05 | 英特尔公司 | 在多个指令定序器上基于指令集的线程执行机制 |
CN101578590A (zh) * | 2005-08-23 | 2009-11-11 | Slt逻辑有限公司 | 高速网络中用于可重新配置的位流处理的全协议引擎 |
US8189599B2 (en) * | 2005-08-23 | 2012-05-29 | Rpx Corporation | Omni-protocol engine for reconfigurable bit-stream processing in high-speed networks |
US8046626B2 (en) * | 2006-08-25 | 2011-10-25 | Cisco Technology, Inc. | System and method for maintaining resiliency of subscriptions to an event server |
US8099452B2 (en) | 2006-09-05 | 2012-01-17 | Microsoft Corporation | Event stream conditioning |
US8213295B2 (en) | 2006-09-12 | 2012-07-03 | Qualcomm Incorporated | Transaction timeout handling in communication session management |
US8085708B2 (en) | 2006-10-25 | 2011-12-27 | Sony Ericsson Mobile Communications Ab | Methods, systems, and devices for establishing a registrationless data communication connection between electronic devices |
US8065319B2 (en) | 2007-04-01 | 2011-11-22 | Nec Laboratories America, Inc. | Runtime semantic query optimization for event stream processing |
US8300647B2 (en) * | 2007-05-18 | 2012-10-30 | Nvidia Corporation | Intelligent load balancing and failover of network traffic |
US8122006B2 (en) | 2007-05-29 | 2012-02-21 | Oracle International Corporation | Event processing query language including retain clause |
US7984040B2 (en) | 2007-06-05 | 2011-07-19 | Oracle International Corporation | Methods and systems for querying event streams using multiple event processors |
US9449047B2 (en) | 2007-06-19 | 2016-09-20 | Sybase, Inc. | Dynamic modification of schemas in streaming databases |
US8745012B2 (en) | 2007-08-10 | 2014-06-03 | Sybase, Inc. | Log-structured store for streaming data |
US8103714B2 (en) | 2008-08-15 | 2012-01-24 | International Business Machines Corporation | Transactional quality of service in event stream processing middleware |
US9058572B2 (en) * | 2008-12-04 | 2015-06-16 | Sap Se | Transaction aware, flexible interface for a state correlation and transition execution engine |
US8443166B2 (en) * | 2009-03-06 | 2013-05-14 | Vmware, Inc. | Method for tracking changes in virtual disks |
JP4870183B2 (ja) * | 2009-03-13 | 2012-02-08 | 株式会社日立製作所 | ストリームデータ処理システムにおける障害回復方法、計算機システム及び障害回復プログラム |
US8949801B2 (en) | 2009-05-13 | 2015-02-03 | International Business Machines Corporation | Failure recovery for stream processing applications |
US8234518B2 (en) * | 2009-07-21 | 2012-07-31 | Vmware, Inc. | Method for voting with secret shares in a distributed system |
CA2712954C (en) | 2009-08-14 | 2015-10-20 | Research In Motion Limited | Methods and apparatus for synchronizing notifications for service events |
US8595234B2 (en) | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
US8886990B2 (en) | 2011-01-27 | 2014-11-11 | Apple Inc. | Block management schemes in hybrid SLC/MLC memory |
JP5867206B2 (ja) | 2012-03-16 | 2016-02-24 | 富士通株式会社 | 移動制御装置,プログラム及びストレージ装置 |
US20140047377A1 (en) | 2012-08-09 | 2014-02-13 | Sap Ag | Retrieving data from an external data source |
US9292569B2 (en) | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US10102028B2 (en) | 2013-03-12 | 2018-10-16 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
US9122651B1 (en) * | 2014-06-06 | 2015-09-01 | Sas Institute Inc. | Computer system to support failover in an event stream processing system |
US9529649B2 (en) * | 2014-10-23 | 2016-12-27 | Sas Institute Inc. | Techniques to compute attribute relationships utilizing a leveling operation in a computing environment |
-
2015
- 2015-03-19 US US14/662,528 patent/US9122651B1/en active Active
- 2015-05-26 CA CA2943128A patent/CA2943128C/en active Active
- 2015-05-26 ES ES15804022T patent/ES2707332T3/es active Active
- 2015-05-26 CN CN201580023361.0A patent/CN106464746B/zh active Active
- 2015-05-26 WO PCT/US2015/032370 patent/WO2015187400A1/en active Application Filing
- 2015-05-26 SG SG11201608051WA patent/SG11201608051WA/en unknown
- 2015-05-26 EP EP15804022.0A patent/EP3117590B1/en active Active
- 2015-07-23 US US14/806,750 patent/US9722862B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
SG11201608051WA (en) | 2016-10-28 |
EP3117590B1 (en) | 2018-11-28 |
CA2943128C (en) | 2017-06-13 |
CA2943128A1 (en) | 2015-12-10 |
US20150358196A1 (en) | 2015-12-10 |
WO2015187400A1 (en) | 2015-12-10 |
US9722862B2 (en) | 2017-08-01 |
EP3117590A1 (en) | 2017-01-18 |
CN106464746A (zh) | 2017-02-22 |
EP3117590A4 (en) | 2018-01-10 |
US9122651B1 (en) | 2015-09-01 |
CN106464746B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2707332T3 (es) | Sistema informático de soporte de basculamiento en un sistema de procesamiento de flujo de eventos | |
CN109413043B (zh) | 实现数据库动态配置的方法及装置、电子设备、存储介质 | |
US8489894B2 (en) | Reference token service | |
US8478812B2 (en) | Method and apparatus for providing device compatibility information | |
US20210075596A1 (en) | Edge encryption | |
CA2667733C (en) | Methods and systems to resolve message group | |
US9544288B2 (en) | Messaging gateway | |
US11038858B2 (en) | Edge encryption with metadata | |
US11038855B2 (en) | Encryption filter | |
KR20190082926A (ko) | 메시징 프로토콜 통신 관리 | |
CN108289034A (zh) | 一种故障发现方法和装置 | |
US8930469B2 (en) | Functionality for sharing items using recipient-specific access codes | |
EP3465457B1 (en) | Systems and methods for messaging in medical system environments | |
CN111325552A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
CN114338682B (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
US20090150502A1 (en) | System and method for hypertext transfer protocol publish and subscribe server | |
JP2024511961A (ja) | 通信プラットフォームのオブジェクトに対するクイックアクセスのためのオブジェクトインタフェース | |
CN110768818A (zh) | 一种网络管理方法和装置 | |
US20190109808A1 (en) | Electronic-messaging system interceptor forwarding client notifications | |
US20150248352A1 (en) | Methods and systems for optimization of storage performance across multiple compute devices | |
Heikkinen et al. | UbiBroker: event-based communication architecture for pervasive display networks | |
US10412586B2 (en) | Limited-functionality accounts | |
WO2022071946A1 (en) | Data transformations based on policies | |
US8190558B2 (en) | Non-programmatic access to enterprise messaging administration | |
EP3534588A1 (en) | Network policy exchanging method and system |