MX2008012378A - Estructura de agregacion de mensaje basado en politica. - Google Patents

Estructura de agregacion de mensaje basado en politica.

Info

Publication number
MX2008012378A
MX2008012378A MX2008012378A MX2008012378A MX2008012378A MX 2008012378 A MX2008012378 A MX 2008012378A MX 2008012378 A MX2008012378 A MX 2008012378A MX 2008012378 A MX2008012378 A MX 2008012378A MX 2008012378 A MX2008012378 A MX 2008012378A
Authority
MX
Mexico
Prior art keywords
messages
group
message
computer
case
Prior art date
Application number
MX2008012378A
Other languages
English (en)
Inventor
Kartik Paramisivam
Wei-Lun Lo
Ruslan Yakushev
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2008012378A publication Critical patent/MX2008012378A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

Los mensajes generados por una aplicación de origen se agregan a grupos basándose en una política de configuración. La política de configuración contiene lógica de negocio utilizada para agregar mensajes a un grupo. Una vez que un grupo se completa, se formatea en una salida de corriente individual y se envía a una aplicación de destino diseñada para recibir los mensajes. Los mensajes también pueden ser agregados en grupos que se controlan por la aplicación de origen. Los mensajes incluyen un indicador establecido por la aplicación de origen para señalar cuando un grupo está completo. Una vez que el grupo está completo, se formatea en una salida de corriente individual y se envía a una aplicación de destino diseñada para recibir los mensajes.

Description

ESTRUCTURA DE AGREGACION DE MENSAJE BASADO EN POLITICA ANTECEDENTES En la economía global de hoy en día, las compañías frecuentemente necesitan integrar aplicaciones, sistemas, y tecnologías de una variedad de fuentes. Típicamente, estas compañías crean sistemas para el intercambio de computadora a computadora de información estructurada, al acordar en estándares de mensaje, de una aplicación de una computadora a otra mediante medios electrónicos y con un mínimo de intervención humana. Ejemplo de estándares de mensaje incluyen Salud Nivel Siete (HL7) para datos clínicos y administrativos relacionados con cuidado de salud; Sistema GS1 para identificación y comunicación de información con respecto a productos, valoraciones, servicios y ubicaciones; SWIFT para datos financieros; y EDI para el intercambio de información estructurada por estándares de mensaje acordados para la transferencia de una variedad de datos de transacción de negocio. Como se muestra en la Figura 1, una empresa de negocio puede comunicarse con una variedad de compañeros en una variedad de formatos de mensaje. Por ejemplo, el negocio puede comunicarse con un cliente en formato XML; el negocio puede comunicarse con una aplicación de proveedor en EDI o formato de mensaje de Archivo Plano; el negocio puede comunicarse con una aplicación financiera en formato de mensaje SWIFT; y el negocio puede comunicarse con una aplicación de logística en algún otro formato de mensaje de estándar de industria. Desafortunadamente, la variedad y número de mensajes complica la comunicación y crea ineficiencias en la empresa de negocio típica. Aunque las soluciones para agregar mensajes puede describirse en código de software de costumbre, tales soluciones crean complejidad y costo en una empresa y son solo adecuadas para circunstancias particulares.
BREVE DESCRIPCION DE LA INVENCION Los aspectos de la invención superan una o más deficiencias en intercambio de computadora a computadora conocido de mensajes estructurados. Una estructura de agregación de mensaje basada en política, extensible agrega mensajes en grupos, que permite múltiples mensajes transmitirse como una corriente de salida indi idual a una aplicación de destino. En un aspecto, la invención involucra agregación de mensaje basada en política en donde la relación se basa en una política que contiene lógica de negocio utilizada para agregar mensajes en un grupo. En otro aspecto, la invención involucra aplicación basada en agregación de mensaje en donde la aplicación de fuente establece indicadores en los mensajes que identifican los mensajes para agruparse y señalar cuando el grupo está completo. Debido a que la empresa de negocio típica genera muchos mensajes que se relacionan con comunicaciones de negocio críticas, los sistemas de agregación de mensaje representan aspectos de la invención que son confiables y extensibles. También, la agregación de mensaje puede implementarse para disminuir costos al acumular mensaje y enviarles los mensajes cuando el costo para el medio de comunicación utilizado para transmitir los mensajes es inferior y aumentar el desempeño al defender los gastos generales involucrados con enviar mensajes individuales al transmitir un grupo de mensajes de una vez. Los medios legibles por computadora que tienen instrucciones ejecutables por computadora para agregación de mensaje representan aspectos adicionales de la invención. Alternativamente, las modalidades de la invención pueden comprender varios otros métodos y aparatos. Esta breve descripción se proporciona para introducir una selección de conceptos en una forma simplificada que además se describe posteriormente en la Descripción detallada. Esta breve descripción no pretende identificar características clave o características esenciales del tema reclamado, ni pretende utilizarse como un auxiliar al determinar el alcance del tema reclamado. Otros aspectos en parte serán evidentes y en parte se señalarán aquí posteriormente.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 es un diagrama de flujo que ilustra intercambio de computadora a computadora de mensajes estructurados de acuerdo con la técnica previa. La Figura 2 es un diagrama de bloques que ilustra un ambiente de sistema de cómputo para agregación de mensaje de acuerdo con una modalidad de la invención. La Figura 3 es un diagrama de flujo ilustrativo que ilustra la agregación de mensaje de acuerdo con una modalidad de la invención. La Figura 4 es un diagrama de bloques que ilustra un ejemplo de un ambiente de sistema de cómputo adecuado en donde la invención puede implementarse. Caracteres de referencia correspondientes indican partes correspondientes a través de los dibujos.
DESCRIPCION DETALLADA Haciendo referencia además a los dibujos, la Figura 2 ilustra una modalidad del ambiente de sistema de cómputo para agregación de mensaje. La agregación de mensaje puede implementarse para satisfacer un número de necesidades de negocio. Por ejemplo, una empresa de negocio se comunica con una variedad de compañeros en una variedad de formatos de mensaje. La agregación de mensaje permite desempeño aumentado en costos disminuidos mientras acomoda comunicación en tiempos especificados. En este ejemplo, la empresa de negocio puede tener una política de ordenar provisiones de un proveedor en una base semanal. Una aplicación puede permitir que la empresa ordene provisiones a través de la semana al generar mensajes dirigidos a un proveedor. Las modalidades de la invención permiten agregar estos mensajes en un grupo en la empresa de negocio para transmitir semanalmente a la aplicación de proveedor para procesamiento de cumplimiento. Como otro ejemplo, imaginar que un negocio recibe un gran número de órdenes de compra de clientes. Para cumplir cada orden de compra del cliente, el cliente ordena artículos de una compañía de compañero y el negocio comunica órdenes al compañero utilizando EDI. Pero, la conexión a la compañía del compañero sólo está disponible en cierto tiempo del día. Por lo tanto, las necesidades de negocio para acumular todas las órdenes para el compañero y enviarlas durante el tiempo de día apropiado. Adicionalmente, los negocios frecuentemente tienen que pagar el tiempo de conexión al compañero. En este caso, es ventajoso agrupar todos los mensajes y abrir la conexión una vez cada par de horas o así y transmitir el grupo individual de mensajes en una vez. Además, aspectos de la invención permiten agregación de mensajes en una variedad de formatos de mensaje, tal como X L, EDI, Archivo Plano, SWIFT, o algún otro formato de mensaje estándar de industria.
Como se muestra en la Figura 2, una aplicación de fuente 202 genera y envía mensajes. Aquellos expertos en la técnica están familiarizados con enviar mensajes dirigidos a un puerto de envío. Un motor de mensaje 204 recibe cada mensaje y uno o más grupos 206 asociados con el puerto de envío en la dirección de mensaje reciben y agregan los mensajes de acuerdo con aspectos de la invención. En una modalidad, la aplicación de fuente 202 y una aplicación de destino 212 se comunican con la máquina de transmisión de mensaje 204 a través de puntos finales. Un punto final es la representación lógica de una ubicación (por ejemplo, expresada en forma de URL), que proporciona una dirección física para datos recibidos o enviados. Los puntos finales en esta modalidad son bi-direccionales y se utilizan para bombear mensajes en la máquina de transmisión de mensaje 204 así como para sacar mensajes de la máquina de transmisión de mensajes 204. En otra modalidad, la máquina de transmisión de mensaje 204 también escribe los mensajes a un almacenamiento de datos 208. Si lo mensajes en el grupo son independientes uno de otro, aspectos de la invención pueden ensamblar los mensajes basándose en parámetros seleccionados definidos por una política de configuración de negocio. Por ejemplo, la política de configuración de grupo contiene lógica de negocio utilizada para determinar el número de mensajes en el grupo, el número de bytes acumulativos en el grupo, el tipo de mensajes en el grupo, y/o el periodo de tiempo para acumular mensajes.
En una modalidad, el agrupador 206 se configura en el puerto de envió (por ejemplo, Tipo de agrupador y Ubicación de Agrupador). Por ejemplo, una base de código de estructura de adaptador puede elevarse para esto e ¡mplementa una interfase para almacenar la configuración y otra información de configuración de puerto de envío. El APÉNDICE A ilustra una implementación ilustrativa de una estructura de envío de mensaje para grupo de salida que representa aspectos de la invención, que incluyen una interfase de agrupador. En otra modalidad, la máquina de transmisión de mensaje 204 mantiene un estado de caso 402 (ver Figura 4) para uno o más de los agrupadores 206. El estado de caso 402 incluye un puerto de envío asociado con el agrupador 206 y una lista de mensajes que se dirigieron al puerto de envío. Los estados de caso 402 pueden almacenarse en el almacenamiento de datos 208. Los estados de caso se utilizan para recuperar mensajes que corresponden a cada caso de agrupador en el caso de falla de sistema. Si el agrupador 206 asociado con un puerto de envío particular no existe, la máquina de transmisión de mensaje 204 lo creará. Al crear cada agrupador 206 dinámicamente, se crean los agrupadores como sea necesario, lo que promueve la extensibilidad del sistema de agregación de mensaje. Adicionalmente, la creación dinámica de agrupadores 206 ayuda el desempeño de sistema al eliminar los gastos generales de los agrupadores inactivos y permitir que la máquina de transmisión de mensajes 204 maneje un estado de caso 402 solo por agrupadores activos 206.
Al almacenar el estado de caso 402 y los mensajes en el almacenamiento de datos 208. el grupo puede recuperarse en caso de falla de sistema. En una modalidad, después de reiniciar, la máquina de envío de mensaje 204 puede acceder a los estados de caso 402 de los grupos que estaban en progreso al momento de falla. Para cada estado de caso 402, la máquina de transmisión de mensaje 204 crea un caso de agrupador 206. Para cada mensaje la lista de mensaje del estado de caso 402, la máquina de transmisión de mensaje 204 reenvía los mensajes al agrupador 206. Una vez que los mensajes en la lista se reenviaron al agrupador 206, el grupo estará en el mismo estado como estaba al momento de falla. Por ejemplo, el estado de caso 402 es un lugar para almacenar el estado del caso de aplicación (en este caso, Caso de Ensamblador/Agrupador). Aunque los mensajes que corresponden al caso de aplicación se almacenan en el al almacenamiento de datos, también existe una necesidad de almacenar información con respecto al estado del caso de aplicación para que la aplicación pueda recuperar la información de caso para continuar procesamiento después de una falla. Las suscripciones son independientes del estado de caso. La tabla de suscripción define una lista de servicios (identificados por una ID de Servicios) que reciben mensajes que satisfacen una condición particular. Cuando el mensaje se publica al cuadro de mensaje (por ejemplo almacenamiento de datos 108), el cuadro de mensaje evalúa la condición e identifica que servicio recibirá ese mensaje. El cuadro de mensaje entonces crea un caso lógico de ese servicio en una tabla de "Casos" y distribuye el mensaje a la máquina de transmisión de mensaje 204 después de estampar la "ID de Caso" en el mensaje. En otra modalidad, el mensaje incluye un identif icador de agrupador asociado con al agrupador 206. En esta modalidad, un cuadro de mensaje mantiene una tabla de suscripción 408 que define la lista de servicios (identificada por una ID de servicios) que reciben mensajes que satisfacen una condición particular. El cuadro de mensaje recibe mensajes de la aplicación de fuente 202. Cuando el mensaje se publica al cuadro de mensaje, el cuadro de mensaje evalúa la condición y determina que servicio recibirá el mensaje. El cuadro de mensaje entonces crea el caso del agrupador 206 para el servicio si no existe. El cuadro de mensaje entonces se envía el mensaje a la máquina de envío de mensaje 204. La máquina de transmisión de mensaje 204 verifica el identificador de grupo para determinar el caso correcto del agrupador 206. La máquina de transmisión de mensaje 204 entonces envía el mensaje al agrupador determinado 206. Una vez que el agrupador 206 recibe un mensaje, determina si un grupo de mensajes está completo. En una modalidad, el agrupador 206 determina si el grupo está completo como una función de una política de configuración de grupo. La política de configuración de grupo contiene la lógica de negocio utilizada para determinar cuando el grupo está completo. La lógica de negocio puede incluir uno o más de los siguientes: un número de mensajes en 1 o el grupo, un número de bytes acumulativos en el grupo, el tipo de mensajes en el grupo, y un periodo de tiempo para acumular mensajes. En otra modalidad, la lógica de negocio puede incluir un orden de clasificación deseado para los mensajes en el grupo, que permite al agrupador 206 clasificar los mensajes dentro del grupo. El agrupador 206 asociado con el puerto de envío en la dirección de mensaje recibe y agrega los mensajes de acuerdo con aspectos de la invención. Como se describió anteriormente, los mensajes en el grupo pueden ser independientes uno de otro. En otra modalidad, los mensajes en el grupo son dependientes uno de otro y el código que produce los mensajes tiene conocimiento de cuando se va iniciar un nuevo grupo y cuando ese grupo debe completarse. En esta modalidad, el mensaje incluye un indicador de fin el grupo. El agrupador 206 completará el grupo si el indicador de fin de grupo señala que el grupo está completo. Después que el agrupador 206 determinó que el grupo está completo, regresa el grupo a la máquina de transmisión de mensaje 204. La máquina de transmisión de mensaje 204 envía el grupo a una ensamblador 210. A su vez, el ensamblador 210 pone en serie todos los mensajes en el grupo en una corriente de salida individual. En una modalidad alternativa, el agrupador 206 por si mismo pone en serie todo los mensajes agrupados en una corriente de salida individual. El ensamblador 210 envía la corriente de mensaje a una aplicación de destino 212 asociada con una aplicación que se diseña para recibir los mensajes.
La Figura 3 es un diagrama de flujo ilustrativo que ilustra aspectos de la modalidad de agregación de mensaje. En 302, la máquina de transmisión de mensaje 204 recibe un mensaje, dirigido a un puerto de envío, de la aplicación de fuente 202. En 304, la máquina de transmisión de mensaje 204 verifica que un caso del agrupador 206 asociado con el puerto de envío existe. Si es así, el agrupador asociado 206 agrega mensajes dirigidos a un puerto de envío común. Por otro lado, sí el agrupador 206 asociado con el puerto de envío no existe, un caso del agrupado se crea en 306. En otra modalidad, el mensaje incluye un identificador de agrupador asociado con el agrupador particular 206. En esta modalidad, aspectos de la invención realizan una revisión para verificar que un caso del agrupador 206 asociado con el identificador de grupo existe. Si el agrupador 206 asociado con el identificador de grupo no existe, un caso del agrupador se crea en 306. Al hacer referencia adicional a la Figura 3, la máquina de transmisión de mensajes 204 envía el mensaje al agrupador 206 asociado con el puerto de envío en la dirección de mensaje en 308. En 310, el agrupador 206 determina sí el grupo de mensajes está completo. En una modalidad, el agrupador 206 determina si el grupo está completo como una función de una política de configuración de grupo, que contiene la lógica de negocio utilizada para hacer esta determinación. Como se describió anteriormente, la lógica de negocio puede incluir uno o más de los siguientes: un número de mensajes en el grupo, número acumulativo de bytes en el grupo, el tipo de mensajes en el grupo, y un periodo de tiempo para acumular mensajes. Ventajosamente, un cliente puede establecer su propio criterio para agrupar mensajes a manera de la política de configuración de grupo. Además, el agrupador 206 puede clasificar los mensajes dentro del grupo de acuerdo con un orden de clasificación deseado definido por la política de configuración de grupo. Si, en 310, el agrupador 206 determina que el grupo no está completo, el estado de caso 402 del grupo de actualizará en 312. El estado de caso 402 incluye un puerto de envío asociado con el agrupador 206 y una lista de mensajes que se dirigió al puerto de envío. Los estados de caso 402 pueden almacenarse en el almacenamiento de datos 208. Por otro lado, si el agrupador 206 determina en 310 que el grupo está completo, un grupo de mensaje se crea del grupo en 314. En 316, el agrupador 206 envía el mensaje establecido al ensamblador en donde los mensajes se envían en una corriente de salida individual a una aplicación de destino 212. La aplicación de destino 212, por ejemplo, puede ser una aplicación de cliente, una aplicación de proveedor, o una aplicación financiera. La corriente de salida puede estar en formato EDI, formato FWIFP, Sistema GS1, HL7, o algún otro formato de estándar de industria como se diseñó por aplicación de destino 212. Después que se envió la corriente de salida, en 312 el estado de caso 402 del agrupador se actualiza. En una modalidad, si un nuevo mensaje del agrupador 206 es recibido en 302 mientras la máquina de transmisión de mensaje 204 crea un mensaje establecido para el agrupador en 314 o envía el mensaje establecido al ensamblador en 316, la máquina de transmisión de mensaje 204 creará un nuevo caso del agrupador 206 en 308. El procedimiento continuará en 306 para el nuevo caso del agrupado 206. Esto permite que la máquina de transmisión de mensaje 204 controle grupos concurrentes en donde un grupo está en el procedimiento de enviarse al ensamblador 210 mientras un nuevo grupo inicia en un nuevo caso del agrupador 206. Por ejemplo, cuando el agrupador 206 determina que un grupo está completo, la máquina de transmisión de mensaje 204 toma nota de esto y pasa entre de salida individual al ensamblador 210. Sin embargo, si en el tiempo medio la máquina de transmisión de mensajes 204 recibe un nuevo mensaje de ese mismo puerto de envío, la máquina de transmisión de mensajes 204 se dará cuenta que el grupo previo está completo y creará un nuevo agrupador 206 y, a partir de aquí, un nuevo grupo. Los múltiples agrupadores en vuelo 206 se identifican por una 'ID de agrupador'. La Figura 4 muestra un ejemplo de un dispositivo de cómputo de propósito general en la forma de un servidor 430. En una modalidad de la invención, un servidor tal como el servidor 430 es adecuado para uso las otras figuras ilustradas y descritas aquí. El servidor 430 tiene uno o más procesadores o unidades de procesamiento y una memoria de sistema. En la modalidad ilustrada, el conductor común de sistema acopla varios componentes de sistema que incluyen la memoria de sistema a los procesadores. El servidor 430 típicamente tiene al menos alguna forma de medios legibles por computadora. Los legibles por computadora, que incluyen tanto medios volátiles y no volátiles, medios removibles y no removibles, pueden ser cualquier medio disponible que puede accederse por el servidor 430. A manera de ejemplo y no de limitación, medios legibles por computadora comprenden medios de almacenamiento por computadora y medios de comunicación. Los medios de almacenamiento por computadora incluyen medios volátiles y no volátiles, removibles y no removibles implementados en cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Por ejemplo, medios de almacenamiento por computadora incluyen RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, cassettes magnéticos, cinta magnética, almacenamiento de disco magnético tal como el almacenamiento de datos 108 u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para almacenar la información deseada y que puede accederse por el servidor 430. Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa, u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluyen cualquier medio de entrega de información. Aquellos expertos en la técnica están familiarizados con la señal de datos modulada, que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. Medios por cable, tal como una conexión de red por cable directo, y medios inalámbricos, tal como acústicos, RF, infrarrojos, y otros medios inalámbricos son ejemplos de medios de comunicación. Combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de medios legibles por computadora. El servidor 430 también puede incluir otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a, cassettes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido, ROM de estado sólido, y similares. Las unidades u otros dispositivos de almacenamiento masivo y sus medios almacenamiento de computadora asociados discutidos anteriormente e ilustrados en la Figura 4, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa 102, 104, 106, 110 y otros datos 402, 404 para el servidor 430. El servidor 430 puede operar en un ambiente en red que utiliza conexiones lógicas a una o más servidores remotos, tal como servidores remotos 406A, 406B, 406C. El servidor remoto puede ser una computadora personal, un servidor como un enrutador como una PC de red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente relativos al servidor 430. Las conexiones lógicas ilustradas en la Figura 4 incluyen una red de área local (LAN) y una red de área ancha (WAN), pero también puede incluir otras redes. LAN y/o WAN puede ser una red por cable, una red inalámbrica, una combinación de los mismos, y asi sucesivamente. Tales ambientes en red comúnmente están ubicados en oficinas, redes de computadora extendidas en empresa, intranets, y redes de computadora globales (por ejemplo, Internet). Cuando se utiliza en un ambiente en red de área local, el servidor 430 se conecta a la LAN a través de una interfase de red o adaptador. Cuando se utiliza en un ambiente de red de área ancha, el servidor 430 típicamente incluye un módem u otros medios para establecer comunicaciones en la WAN. tal como Internet. El módem, que puede ser interno o externo, se conecta al conductor común de sistema a través de la interfase de entrada de usuario, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 130, o porciones de la misma, pueden almacenarse en un dispositivo de almacenamiento de memoria remota (no mostrado). Las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras.
Generalmente, los procesadores de datos del servidor 430 se programan por medio de instrucciones almacenadas en diferentes tiempos en los varios medios de almacenamiento legibles por computadora de la computadora. Los programas y sistemas operativos típicamente se distribuyen, por ejemplo, en discos flexibles o CD-ROMs. Desde ahí, se instalan o carga en la memoria secundaria de una computadora. En ejecución, se cargan al menos parcialmente en la memoria electrónica primaria de la computadora. Aspectos de la invención aquí descrita incluyen éstos y otros varios tipos de medios de almacenamiento legibles por computadora cuando tales medios contienen instrucciones o programas para implementar los pasos descritos posteriormente en conjunto con un microprocesador u otro procesador de datos Además, aspectos de la invención incluyen la misma computadora cuando se programan de acuerdo con los métodos y técnicas aquí descritos. Para propósitos de ilustración, programas y otros componentes de programa ejecutables, tal como el sistema operativo, se ¡lustran aquí como bloques separados. Sin embargo, se debe reconocer, que tales programas y componentes residen en varios momentos en diferentes componentes de almacenamiento de la computadora, y se ejecutan por el procesador(s) de datos de la computadora. Aunque se describe en conexión con un ambiente de sistema de cómputo ilustrativo, que incluye servidor 430, las modalidades de la invención son operacionales con numerosos otros ambientes o configuraciones de sistema de cómputo de propósito general o propósito especial. El ambiente de sistema de cómputo no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de ningún aspecto de la invención. Además, el ambiente de sistema de cómputo no debe interpretarse como teniendo ninguna dependencia o requerimiento que se relaciona con cualquiera o combinación de componentes ilustrados en el ambiente operativo ilustrativo. Ejemplos de sistemas de cómputo bien conocidos, ambientes, y/o configuraciones que pueden ser adecuados para uso con aspectos de la invención incluyen, pero no se limitan a, computadoras personales, computadoras de servidor, dispositivos móviles o portátiles, sistemas de multiprocesador, sistemas a base de microprocesador, cajas de TV por cable, electrónica de consumidor programable, teléfonos móviles, PCs de red, minicomputadoras, macrocomputadoras, ambientes de cómputo distribuido que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares. Las modalidades de la invención pueden describirse en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, ejecutados por una o más computadoras u otros dispositivos. Generalmente, los módulos de programa incluyen, pero no se limitan a, rutinas, programas, objetos, componentes, y estructuras de datos que realizan tareas particulares o implementan tipos de datos abstractos particulares. Los aspectos de la invención también pueden practicarse en ambientes de cómputo distribuidos en donde las tareas se realizan por dispositivos de procesamiento remotos que se enlazan a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden localizarse tanto en medios de almacenamiento de computadora locales como remotos que incluyen dispositivos de almacenamiento de memoria. Una interfase en el contexto de una arquitectura de software incluye un módulo de software, componente, porción de código, u otra secuencia de instrucciones ejecutables por computadora. La interfase incluye, por ejemplo, un primer módulo que accede a un segundo módulo para realizar tareas de cómputo a beneficio del primer módulo. Los primeros y segundos módulos incluyen, en un ejemplo, interfases de programación de aplicación (APIs) tal como se proporcionó por sistemas operativos, interfases de modelo de objeto de componente (COM) (por ejemplo, para comunicación de aplicación de par a par), y las interfases de formato de intercambio de metadatos de lenguaje de marcación extensible (XMI) (por ejemplo, para comunicación entre servicios web). La interfase puede ser una implementación sincrónica justamente acoplada, tal como en la Edición de Empresa de Plataforma de Java 2 (J2EE), COM, o ejemplos de COM distribuido (DCOM). Alternativamente o además, la interfase puede ser una implementación asincrónica flojamente acoplada tal como en un servicio web (por ejemplo, que utiliza el protocolo de acceso de objeto simple). En general, la interfase incluye cualquier combinación de las siguientes características: justamente acoplada, flojamente acoplado, sincrónico, y asincrónico. Además, la interfase puede conformarse a un protocolo estándar, un protocolo de propiedad, o cualquier combinación de protocolos estándares y de propiedad. Las interfases aquí descritas todas pueden ser parte de una interfase individual o pueden implementarse como interfases separadas o cualquier combinación aquí. Las interfases pueden ejecutarse local o remotamente para proporcionar funcionalidad. Además, las interfases pueden incluir funcionalidad adicional o menor que la ilustrada o descrita aquí. En operación, el servidor 430 ejecuta instrucciones ejecutables por computadora tal como aquellas ilustradas en las figuras para implementar aspectos de la invención. El orden de ejecución o desempeño de las operaciones en las modalidades de la invención ilustrada y descrita aquí no es esencial, a menos que se especifique de otra forma. Es decir, las operaciones pueden realizarse en cualquier orden, a menos que se especifique de otra forma, y las modalidades de la invención pueden incluir operaciones adicionales o menores a aquellas aquí descritas. Por ejemplo, se contempla que ejecutar o realizar una operación particular antes, contemporáneamente con, o después de otra operación esta dentro del alcance de aspectos de la invención. Las modalidades de la invención pueden implementarse con instrucciones ejecutables por computadora. Las instrucciones ejecutables por computadora pueden organizarse en uno o más componentes o módulos ejecutables por computadora. Los aspectos de la invención pueden implementarse con cualquier número y organización de tales componentes o módulos. Por ejemplo, aspectos de la invención no se limitan a instrucciones ejecutables por computadora específicas o los componentes específicos o módulos ilustrados en las figuras y descritos aquí. Otras modalidades de la invención pueden incluir diferentes instrucciones o componentes ejecutables por computadora que tienen más o menos funcionalidad a la ilustrada y descrita aquí. Cuando se introducen elementos de aspectos de la invención o las modalidades de la misma, los artículos "un", "uno", "el", y "dicho" pretenden significar que existen uno o más de los elementos. Los términos "que comprenden", "que incluye", y "que tiene" pretenden ser inclusivos y significa que pueden existir elementos adicionales diferentes a los elementos enlistados. Ya que pueden hacerse varios cambios en las construcciones anteriores, productos y métodos sin apartarse del alcance de aspectos de la invención, se pretende que todo el tema contenido en la descripción anterior y mostrado en los dibujos anexos debe interpretarse como ilustrativo y no en un sentido limitante.
APENDICE A Agrupamiento de salida: un componente al agrupador incluye la lógica que se utiliza para cortar el grupo, es decir, decidir cuando se hace el grupo. También el componente agrupador encapsula cualquier otra lógica que se utiliza para decidir el orden de mensajes en el grupo etc. Un componente de máquina de transmisión de mensajes incluye el código que es responsable de ¡nteractuar con el componente agrupador, la tubería y la base de datos. El componente agrupador puede implementar las siguientes interfases: Interfase lAgregador { //llamado para iniciar el agrupador/agregador. //la Bolsa de Propiedad regresada puede utilizarse para comunicar //propiedades de configuración de varios agrupador/agregador) regresados a la máquina de transmisión de mensaje. Iniciar Bolsa de Propiedad ([dentro] Bolsa de Propiedad PV, //utilizada para pasar envió //información de puerto. [Dentro] ILIamada de regreso P Llamada de regreso); Vacío Agregar Mensaje (I Mensaje de base MSG); } Interfase ILIamada de regreso { //siguientes métodos se utilizan por el agrupador para indicar cuando un grupo esta //lleno: Vacío Grupo Completa (VOOL de Grupo exitoso, I Mensaje Establecido MSG Establecido); //llamado por cierto agrupador que primero intentó hacer agrupamiento de memoria //sin embargo cuando golpeó sus umbrales de datos/memoria configurados //utilizan esta API para persistir datos al disco. También es útil para perfeccionar Vacío Persistir Mensajes (I Mensaje de Base Establecido MSG Establecido) ; } Interfase I MensajEstablecido { Propiedad-lennumerador Lista de ID de mensaje; Propiedad-lennumerador Lista de mensaje; } //utilizado en tiempo de diseño para traer una página de propiedad de un esquema Inferíase I Configuración { Secuencia Obtener Configuración (); //regresa a configuración para el Agregador (agrupador) } Como se muestra en estas interfases, pueden existir dos tipos de agrupadores: desempeño estándar y alto. Los agrupadores estándares permiten a la máquina de transmisión de mensajes controlar toda la persistencia de mensajes sin la interacción del agrupador. El tipo del agrupador se regresa a la máquina de envío de mensajes en una Bolsa de propiedad en la llamada para Iniciar (). Para agrupadores estándares, la máquina de transmisión de mensajes automáticamente persistirá el mensaje para el estado de caso después de cada llamada para agregar Mensaje () hasta que el grupo está completo. Los agrupadores de alto desempeño son capaces de agrupamiento en memoria puro y decir a la máquina de transmisión de mensajes cuando persistir mensajes. Para estos agrupadores, la máquina de transmisión de mensajes no persistirá el mensaje para el estado de caso después de cada llamada para Agregar Mensaje (). A su vez, el agrupador es capaz de acumular mensajes en memoria de esta forma, cuando el grupo está lleno, el agrupador puede llamar Grupo Completo () en la máquina de envío de mensaje y dar el I Base Mensaje establecido. La máquina de transmisión de mensajes entonces es capaz de ejecutar directamente la tubería sin tener que leer el mensaje del estado de caso. Estos agrupadores también pueden tener un umbral configurado de mensajes de soporte en la memoria. En cualquier momento que el agrupador fluya/persista los mensajes al disco, puede llamar a la API de Persistir Mensajes () para hacer lo mismo. Si el agrupador llamó a persistir Mensajes () una vez, entonces se asegura que persiste todos los mensajes en memoria antes de llamar al Grupo Completo () con las IDs de mensaje.
La interacción de máquina de transmisión de mensaje: Cuando la máquina de transmisión de mensajes obtiene un mensaje que va de un puerto de envió agrupado, revisa para ver si un componente de agrupador ya se creó para este puerto de envío al observar una tabla de verificación interna. Si no hay un componente de agrupador ya creado, crea uno nuevo y llama Iniciar () en el componente de agrupador. La máquina entonces llama Agregar Mensaje () en el componente de agrupador para ese mensaje. El componente de agrupador observa el mensaje y decide si el grupo está completo. Si el grupo está completo, entonces llama de nuevo a la máquina (I Llamar de Regreso) que indica un estado de grupo exitoso. Si el grupo no está completo, entonces el componente de agrupador regresa de nuevo de Agregar Mensaje () después de actualizar su estado interno. Para agrupadores estándares, cuando un Agregar Mensaje regresa y el grupo no está lleno, la máquina escribe el mensaje al estado de caso. Por otro lado, cuando el grupo está completo, el agrupador regresa un I Mensaje Establecido o de nuevo a la máquina de transmisión de mensaje. La máquina intenta acceder a la Lista de ID de mensaje, que tiene las IDs de mensaje de los mensajes en el orden correcto (cualquier clase de clasificación se hace por el agrupador en esta lista). Dada la Lista de ID de mensaje, la máquina puede iniciar a extraer mensajes del estado de caso en el orden correcto. La máquina crea un mensaje establecido de estos documentos y da este mensaje establecido al administrador de tubería para ejecutar la tubería. Los agrupadores de alto desempeño, en contraste a agrupadores estándares, periódicamente llaman Persistir Mensajes () en la I llamada de regreso para fluir mensajes al estado de caso. Si llegan más casos para este grupo, la máquina llama Agregar Mensajes () en el componente de agrupador que se creo previamente. La llamada de regreso (I llamada regreso) puede llamarse sincrónicamente de Agregar Mensajes () o puede llamarse asincrónicamente por el componente del agrupador. Si el grupo tiene que cortarse basándose en tiempo, entonces el componente de agrupador espera un cronómetro de ventanas para el grupo, es decir, si ocurre tiempo fuera entonces las llamadas regresan a la máquina y dicen que el grupo está completo. Cuando el grupo está completo, el agrupador regresa un I mensaje establecido de regreso a la máquina. La primera máquina intenta acceder a la lista de ID de mensaje (misma para agrupadores estándares). Si la lista de ID de mensaje está vacía, la máquina intenta leer la Lista de Mensaje. Este tiene un valor válido si el agrupador lo hace en el agrupamiento en memoria. Si la Lista de Mensaje esta presente, la máquina creará un I Mensaje de Base establecido y ejecuta á la tubería. Ejecución de tubería: una interfase en el administrador de tubería permite que la máquina de un mensaje establecido a la tubería para ejecución. El administrador de tubería entonces llama Agregar Documento en el ensamblador para todos los mensajes en el mensaje establecido y entonces ensambla los mensajes. Agrupación de Mensaje Independiente: La máquina de transmisión de mensajes crea un Caso Inicial cuando el primer mensaje para un puerto de envío (configurado para agrupamiento independiente) se recibe del agente. La máquina mantiene una tabla de verificación que delinea Enviar ID de puerto al señalador de tubería de agrupador. En cualquier punto del tiempo existe un componente de agrupador activo en donde cualquiera de los nuevos mensajes van del puerto de envío para alimentarse sólo al componente de agrupador activo. Otros componentes de agrupador pueden estar activos en, por ejemplo, un escenario de falla. Agrupación de mensaje dependiente: para agrupación de mensaje dependiente, los siguientes se configuran en un puerto de envío. El puerto de envío tiene la opción por la cual los usuarios pueden seleccionar la propiedad que se utilizará para formar grupos dependientes. Por ejemplo, si la propiedad de contexto de mensaje seleccionada es BTS.ID de grupo, entonces se crea una suscripción de transporte para el puerto de envío. Cada mensaje tiene al menos dos propiedades de contexto de mensaje especial: (a) propiedad utilizada para el transporte (BTS. ID de grupo); (b) BTS. Grupo final = verdadero/falso-utilizado por el agrupado; (c) BTS. Inicio de grupo = verdadero/falso-también utilizado por el agrupador. Las propiedades (b) y (c) se configuran en las páginas de propiedad de agrupador y no aparecen en las propiedades de puerto de envío.
El productor de los mensajes (un programa de flujo de trabajo o un servicio de tubería) promueve BTS.ID de grupo para cada mensaje que publica para este puerto de envío. Los mensajes que tienen el mismo BTS.ID de Grupo se envían al mismo caso para el puerto de envío para ag ru pa m iento . El productor de los mensajes sabe cuando el grupo está completo y escribirá el BTS.Fin de Grupo. Para iniciar un nuevo grupo, el publicante de los mensajes promueve BTS.ID de grupo (que es único) y pública el mensaje. Un nuevo caso se crea por el cuadro de mensaje después de revisión de la tabla de transportación. Mensajes subsecuentes tienen el mismo BTS.ID de grupo que se entrega en el mismo caso por el cuadro de MSG. Cuando estos mensajes se entregan a la máquina de transmisión de mensajes, ya sabe que son grupos de mensaje dependientes (configuración de puerto de envío). La máquina verifica BTS.ID de grupo al señalador de agrupador correcto. El agrupado puede realizar lo siguiente para grupos independientes: (a) agrupador de la propiedad de BTS.Fin de grupo y determina cuando cortar el grupo; (b) agrupador controla casos de falla, por ejemplo, si el usuario desea tener un tiempo fuera; (c) agrupador clasifica mensajes. La máquina puede escribir mensajes al estado de caso del caso actual dependiendo si el agrupador estándar o un agrupador de alto desempeño como se describió anteriormente. Si el grupo está completo, la máquina ejecuta el ensamblador y envía el mensaje fuera. Cuando el mensaje ensamblado se envía fuera exitosamente (eliminar mensaje ()), el caso de estructuras se completa y el caso se creó debido a la transportación. Todos los otros intentos de emisiones/mover al siguiente transporte/falla catastrófica, etc. son similares a agrupación de mensajes independiente. Leer y escribir hacia/desde estado de caso: cuando se escribe un mensaje al estado de caso, la estructura primero escribe la ID de mensaje a la corriente de caso. Entonces llama a la API del agente Agregar Objeto de Mensaje (). También, cuando se escribe el mensaje al estado de caso, la estructura recibe Completo () el mensaje original en la misma transacción para eliminar el mensaje original de la Aplicación Q. Los mensajes leídos fuera del estado de caso, la estructura utiliza las IDs de mensaje. En otras palabras, la estructura lee la corriente de caso primero para obtener las IDs de mensaje y entonces las utiliza para obtener los mensajes. Al extraer los mensajes por ID mensaje, mantiene el orden también. Fallo de caso sobre: Si el procedimiento muere debido a alguna falla catastrófica, entonces el cuadro de mensaje crea un mensaje falso la siguiente vez alrededor del procedimiento cuando se respalda. La máquina de transmisión de mensaje recibe este mensaje falso y puede identificar que este mensaje corresponde al puerto de envío que se agrupa. Es decir, antes de escribir al estado de casos para el primer mensaje para el caso, la máquina de transmisión de mensajes escribe el destino Enviar ID de puerto y otra información relevante para la corriente de estado de caso. Si el puerto de envío se configura para un grupo de mensaje independiente, entonces cuando un caso falla, puede darse de regreso a un caso de máquina de transmisión de mensaje que ya tiene un agrupador activo en uso. Aquí, cuando se recibe el mensaje vivo/falso por la máquina de transmisión de mensajes, la máquina de transmisión de mensajes drena el grupo completo almacenado en el caso el estado de caso en la misma secuencia. La máquina de transmisión de mensaje crea un nuevo objeto de agrupador y lo inicia. La bolsa de propiedad basada por la máquina de transmisión de mensajes al agrupador indica que este es un caso fallido. También, si es posible, la máquina de transmisión de mensajes también proporciona el número de mensajes en el grupo. La máquina de transmisión de mensajes entonces lee todos los mensajes del estado de caso y llama Agregar Mensaje () en el agrupador. Cuando el agrupador recibe el último mensaje, llama grupo Completo () en la máquina de transmisión del mensaje. Dependiendo de cómo se configura el agrupador, puede pasar o fallar el grupo. Si el grupo falla, entonces las máquina de transmisión de mensaje suspenden todos los mensajes en el grupo. Enviar funciones de transporte: Transmisión exitosa: el adaptador llama Eliminar Mensaje () en el mensaje que sale de la tubería. Los mensajes de la Q ya se recibieron completos () así los mensajes en el Estado de caso se elimina. Para eliminar un mensaje de un estado de caso, la estructura llama a la gente API Liberar mensaje (). Reenvío: los mensajes de Q ya se recibieron completos () para que la estructura reintente los mensajes que están en el Estado de caso. Un mensaje de cronometro que regresa después del intervalo de reintento se coloca. Cuando la máquina de transmisión de mensajes de el mensaje de cronometro, lee los mensajes del estado de caso y resume los reinicios y procedimientos. De nuevo, las IDs de mensajes se leen de la corriente de caso en orden y entonces los mensajes se extraen del estado de caso. Mover al siguiente transporte: la máquina de transmisión de mensajes coloca un mensaje al caso. Cuando este mensaje se respalda, la máquina de transmisión de mensajes sabe que el mensaje se obtiene movido del transporte de respaldo e intenta ordenar los mensajes del estado de caso y procesa el grupo. Suspender Mensaje: los mensajes dentro del estado de caso se extraen del estado de caso y se suspenden al utilizar la API de Suspender mensajes (ID de mensaje []), que mueve este mensaje del estado de caso al suspender Q. Alternativamente un mensaje puede colocarse al caso falso y el caso falso se suspende. Cuando el mensaje se resume, el estado de caso se drena. El puerto de envío agrupado también se marca para entrega ordenada: cuando esto sucede, la máquina transmisión de mensajes no crea un caso falso para el puerto de envío incluso para el caso de grupos independientes. La máquina de transmisión de mensajes automáticamente utiliza el estado de caso que corresponde al caso predeterminado para el puerto de envío ordenado. El comportamiento puede cambiar marginalmente en el hecho que antes de rendir la secuencia de entregada de agente, la máquina de transmisión de mensajes bloquea el adaptador para conocimiento que el mensaje se envió o falló (las llamadas de regreso en el grupo). Rastreo: un enlace puede mantenerse entre los mensajes de entrada a la tubería de envío y el mensaje de salida. Cuando se mueve un mensaje de la aplicación Q al estado de caso, llamar Recibir completo () en el mensaje elimina el mensaje de la aplicación Q. El estado en HAT cuando esto sucede es distinguible del estado mostrado cuando el mensaje se procesa completamente (es decir, Eliminar Mensaje (), se traduce a Recibir Completo ()).

Claims (6)

REIVINDICACIONES
1.- Un método computarizado para agregar mensajes que comprende: recibir una pluralidad de mensajes (302) de al menos una aplicación (202); ejecutar una política de configuración de grupo (306) en los mensajes recibidos; agregar los mensajes recibidos en un grupo (310) como una función de la política de configuración de grupo; ensamblar el grupo en una salida de mensaje de corriente individual (316). 2 - El método de acuerdo con la reivindicación 1, en donde la salida de mensaje de corriente individual se dirige a un punto final (408). 3 - El método de acuerdo con la reivindicación 1, en donde la ejecución además comprende mantener un estado de caso (402) asociado con el grupo. 4 - El método de acuerdo con la reivindicación 3, que además comprende almacenar el estado de caso (402) en un almacenamiento de datos (108). 5.- El método de acuerdo con la reivindicación 4, en donde la recepción, ejecución, y mantenimiento están asociados con una primera computadora y el almacenamiento de datos (108) se asocia con una segunda computadora. 6 - El método de acuerdo con la reivindicación 1, en donde la recepción además comprende almacenar los mensajes recibidos (404) en un almacenamiento de datos (108). 7. - El método de acuerdo con la reivindicación 1 , en donde la política de configuración de grupo contiene lógica de negocio para agrupar los mensajes para la aplicación (102). 8. - El método de acuerdo con la reivindicación 7, en donde la lógica de negocio incluye al menos uno de los siguientes parámetros de política: un orden de clasificación de los mensajes en el grupo, un número de mensajes en el grupo, un número acumulativo de bytes en el grupo, uno o más tipos de mensajes en el grupo, y un periodo de tiempo para acumular mensajes. 9. - El método de acuerdo con la reivindicación 1, en donde el agregar además comprende clasificar los mensajes como función de la política de configuración. 10. - El método de acuerdo con la reivindicación 1 , en donde los mensajes cumplen con un estándar de EDI (Intercambio de Datos Electrónicos). 11. - El método de acuerdo con la reivindicación 1, en donde uno o más medios legibles por computadora tienen instrucciones ejecutables por computadora para realizar el método de acuerdo con la reivindicación 1. 1
2. - Un método com puta rizado para agregar mensajes que comprende: recibir una pluralidad de mensajes de al menos una aplicación (302), dichos mensajes incluyendo un identificador de grupo y un indicador de fin de grupo; agregar los mensajes recibidos (308) en un grupo como una función del identificador de grupo; completar el agregado (310) como una función del indicador de fin de grupo; ensamblar el grupo (316) en una salida de mensaje de corriente individual. 1
3. - El método de acuerdo con la reivindicación 12, que además comprende verificar el identificador de grupo para determinar el caso de un agrupador para agregar los mensajes. 1
4. - El método de acuerdo con la reivindicación 12, en donde el indicador de fin de grupo señala cuando se completa el grupo. 1
5. - El método de acuerdo con la reivindicación 12, en donde la salida de mensaje de corriente individual se dirige a un punto final. 1
6. - El método de acuerdo con la reivindicación 12, además comprende mantener un estado de caso (402) asociado el grupo. 17 - El método de acuerdo con la reivindicación 16, además comprende almacenar el estado de caso (402) en almacenamiento de datos (108). 18.- El método de acuerdo con la reivindicación 12, en donde uno o más medios legibles por computadora tienen instrucciones ejecutables por computadora para realizar el método de acuerdo con la reivindicación 12. 19.- Un sistema para agregar mensajes para una aplicación (102), dichos mensajes siendo dirigidos a un puerto de envío, dicho sistema comprende uno o más componentes ejecutables por computadora que comprenden: un componente de máquina de mensaje (104) para recibir mensajes de la aplicación; una política de configuración de grupo (106), dicha política de configuración de grupo contiene lógica de negocio para agrupar los mensajes para la aplicación; un componente de agrupador (106) para leer mensajes en un grupo como una función de la política de configuración de grupo (106), dicho componente de agrupador (106) estando asociado con el puerto de envío, dicho componente agrupador (106) recibe mensajes dirigidos al puerto de envío de la máquina de mensaje (104); y en donde el componente de máquina de mensaje (104) crea un nuevo caso del agrupador (106) asociado con el puerto de envíos si el componente de agrupador (106) asociado con el puerto de envío no existe. 20.- El sistema acuerdo con la reivindicación 19, en donde el componente de máquina de mensaje (104) está asociado con una primera computadora y mantiene un estado de caso (402) del grupo almacenado en un almacenamiento de datos asociado con una segunda computadora, dicho estado de caso (402) incluye un identificador de mensaje y un identificador de puerto de envío; y en donde el componente de máquina de mensaje (102) está asociado con una primera computadora y almacena el mensaje en dicho almacenamiento de datos (108) asociado con dicha segunda computadora.
MX2008012378A 2006-04-03 2007-03-08 Estructura de agregacion de mensaje basado en politica. MX2008012378A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/396,665 US7890955B2 (en) 2006-04-03 2006-04-03 Policy based message aggregation framework
PCT/US2007/005765 WO2007120410A1 (en) 2006-04-03 2007-03-08 Policy based message aggregation framework

Publications (1)

Publication Number Publication Date
MX2008012378A true MX2008012378A (es) 2008-10-09

Family

ID=38561084

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2008012378A MX2008012378A (es) 2006-04-03 2007-03-08 Estructura de agregacion de mensaje basado en politica.

Country Status (10)

Country Link
US (1) US7890955B2 (es)
EP (1) EP2013827A4 (es)
JP (1) JP5026506B2 (es)
KR (1) KR20080106568A (es)
CN (1) CN101416209A (es)
BR (1) BRPI0710091A2 (es)
CA (1) CA2647138A1 (es)
MX (1) MX2008012378A (es)
RU (1) RU2008139292A (es)
WO (1) WO2007120410A1 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126385A1 (en) * 2006-09-19 2008-05-29 Microsoft Corporation Intelligent batching of electronic data interchange messages
US7844658B2 (en) * 2007-01-22 2010-11-30 Comcast Cable Holdings, Llc System and method for providing an application to a device
US20100125740A1 (en) * 2008-11-19 2010-05-20 Accenture Global Services Gmbh System for securing multithreaded server applications
US8918521B2 (en) * 2009-06-03 2014-12-23 Microsoft Corporation Batching of messages for mobile endpoint
US9367371B2 (en) * 2010-02-05 2016-06-14 Paypal, Inc. Widget framework, real-time service orchestration, and real-time resource aggregation
CN102236678A (zh) * 2010-04-26 2011-11-09 腾讯科技(深圳)有限公司 一种好友动态信息管理方法、系统及好友信息管理服务器
KR101351867B1 (ko) 2010-10-20 2014-01-15 에이치티씨 코퍼레이션 소프트웨어 및 어플리케이션 제어 관리 객체에서의 단계 실행 결과를 처리하는 방법
JP2012194918A (ja) * 2011-03-17 2012-10-11 Toshiba Corp 通信媒体、icカード、及び通信方法
US8984078B2 (en) * 2013-01-11 2015-03-17 Google Inc. Systems and methods for device-to-cloud message delivery
US10140318B1 (en) * 2013-07-01 2018-11-27 Allscripts Software, Llc Microbatch loading
KR101485819B1 (ko) * 2014-09-05 2015-01-23 (주) 메가투스 메시지 변환 장치
KR101678195B1 (ko) * 2014-12-29 2016-11-22 (주) 메가투스 메시지 변환 방법 및 변환 장치, 이를 위한 컴퓨터 프로그램, 그 기록매체
MX2017013500A (es) * 2015-04-21 2018-02-09 Wal Mart Stores Inc Sistemas, dispositivos y metodos para distribucion de informacion de inventario.
US10594828B2 (en) * 2016-04-19 2020-03-17 International Business Machines Corporation Delivery of incremental sensor data over optimized channel
US10628211B2 (en) * 2017-06-15 2020-04-21 Mastercard International Incorporated Systems and methods for asynchronously consolidating and transmitting data
CN107590696A (zh) * 2017-09-15 2018-01-16 北京凤凰理理它信息技术有限公司 消息推送方法、装置、存储介质及电子设备
CN111488222B (zh) * 2019-01-25 2023-04-07 杭州海康威视数字技术股份有限公司 一种流聚合方法、装置及电子设备
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US10891176B1 (en) * 2019-08-09 2021-01-12 Ciena Corporation Optimizing messaging flows in a microservice architecture
US11842060B2 (en) * 2020-09-04 2023-12-12 Cohesity, Inc. Efficiently storing data in a cloud storage
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11818152B2 (en) * 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667818B2 (ja) * 1986-10-09 1997-10-27 株式会社日立製作所 トランザクション処理方法
US5361353A (en) * 1991-10-02 1994-11-01 International Business Machines Corporation System for parsing message units from an unstructured message stream of interleaved message units to form structured messages
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5875329A (en) * 1995-12-22 1999-02-23 International Business Machines Corp. Intelligent batching of distributed messages
US20010031454A1 (en) * 1997-05-30 2001-10-18 Alex Mintz Multi-functional communication and aggregation platform
US6820266B1 (en) * 1998-02-27 2004-11-16 Oracle International Corporation Application code conversion architecture
US6148298A (en) * 1998-12-23 2000-11-14 Channelpoint, Inc. System and method for aggregating distributed data
US20010013069A1 (en) * 1999-01-11 2001-08-09 Infospace, Inc. Data messaging aggregation
US6697960B1 (en) * 1999-04-29 2004-02-24 Citibank, N.A. Method and system for recovering data to maintain business continuity
US20020049790A1 (en) * 2000-08-08 2002-04-25 Ricker Jeffrey M Data interchange format transformation method and data dictionary used therefor
US6886046B2 (en) * 2001-06-26 2005-04-26 Citrix Systems, Inc. Methods and apparatus for extendible information aggregation and presentation
US7155483B1 (en) * 2001-08-07 2006-12-26 Good Technology, Inc. Apparatus and method for conserving bandwidth by batch processing data transactions
JP2004005204A (ja) * 2002-05-31 2004-01-08 Ufit Co Ltd 情報処理システム
JP2004072485A (ja) * 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> プレゼンス情報通知装置、プレゼンス情報通知プログラム、プログラム記録媒体、及びプレゼンス情報通知方法
US7346669B2 (en) * 2002-12-19 2008-03-18 Intel Corporation Method, apparatus and system for processing message bundles on a network
US7336607B2 (en) * 2002-12-27 2008-02-26 Lucent Technologies Inc. Methods and apparatus for flow control based packet aggregation in a communication network
US7111047B2 (en) * 2003-08-08 2006-09-19 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US7765300B2 (en) * 2003-10-06 2010-07-27 Ericsson Ab Protocol for messaging between a centralized broadband remote aggregation server and other devices
US20050255833A1 (en) * 2004-05-13 2005-11-17 Mobile (R&D) Ltd. Message aggregation system and method for a mobile communication device
US7870200B2 (en) 2004-05-29 2011-01-11 Ironport Systems, Inc. Monitoring the flow of messages received at a server
US20050278731A1 (en) * 2004-06-09 2005-12-15 Navic Systems, Inc. System and method of anonymous settop event collection and processing in a multimedia network
JP2006065753A (ja) * 2004-08-30 2006-03-09 Toshiba Corp 会話管理装置、方法及びプログラム
US8238350B2 (en) * 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US7706895B2 (en) * 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction

Also Published As

Publication number Publication date
US20070234369A1 (en) 2007-10-04
CA2647138A1 (en) 2007-10-25
KR20080106568A (ko) 2008-12-08
RU2008139292A (ru) 2010-04-10
JP5026506B2 (ja) 2012-09-12
US7890955B2 (en) 2011-02-15
CN101416209A (zh) 2009-04-22
EP2013827A1 (en) 2009-01-14
WO2007120410A1 (en) 2007-10-25
EP2013827A4 (en) 2011-06-29
BRPI0710091A2 (pt) 2011-08-02
JP2009532803A (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
MX2008012378A (es) Estructura de agregacion de mensaje basado en politica.
US11356282B2 (en) Sending cross-chain authenticatable messages
US8151003B2 (en) System and method for routing data by a server
US7703099B2 (en) Scalable transformation and configuration of EDI interchanges
CN108196961A (zh) 一种异步消息处理方法、终端、系统及存储介质
US20070074215A1 (en) Stateless server-side automation of web service requests using dynamically generated web service interfaces
JP2001520486A (ja) オブジェクト指向地点間通信方法およびその方法を行う通信装置
WO2022095699A1 (zh) 底层数据管理方法、系统及计算机可读存储介质
CN111736775A (zh) 多源存储方法、装置、计算机系统及存储介质
US8090873B1 (en) Methods and systems for high throughput information refinement
US20060271384A1 (en) Reference data aggregate service population
US7954112B2 (en) Automatic recovery from failures of messages within a data interchange
US20070180059A1 (en) Light weight software and hardware inventory
CN111460038A (zh) 一种数据准实时同步方法及装置
US20090271466A1 (en) Data logging with network interfacing feature
US20130226670A1 (en) Method and system for automatically partitioning and processing a business process
CN111782262B (zh) 数据动态发布方法、装置、系统、设备及存储介质
US8776098B2 (en) Exchanging data using data transformation
CN111324645B (zh) 区块链的数据处理方法及装置
CN113645260A (zh) 业务重试方法、装置、存储介质及电子设备
CN113535727B (zh) 信息系统的数据输出方法及数据输出装置、电子设备
US20070283034A1 (en) Method to support data streaming in service data objects graphs
CN111400058A (zh) 调用消息的方法、装置、计算机设备及存储介质
US7962378B2 (en) Process and methodology to maintain consistency across disparate interfaced systems
US7660789B2 (en) Entity agent

Legal Events

Date Code Title Description
FA Abandonment or withdrawal