ES2319196T3 - Flujo de informacion con mediacion autogestionada. - Google Patents

Flujo de informacion con mediacion autogestionada. Download PDF

Info

Publication number
ES2319196T3
ES2319196T3 ES04767961T ES04767961T ES2319196T3 ES 2319196 T3 ES2319196 T3 ES 2319196T3 ES 04767961 T ES04767961 T ES 04767961T ES 04767961 T ES04767961 T ES 04767961T ES 2319196 T3 ES2319196 T3 ES 2319196T3
Authority
ES
Spain
Prior art keywords
module
message
mediator
new
additional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04767961T
Other languages
English (en)
Inventor
Duncan Johnston-Watt
Andrew Martin West
Alan Dearle
Richard Connor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Enigmatec Corp
Original Assignee
Enigmatec 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 Enigmatec Corp filed Critical Enigmatec Corp
Application granted granted Critical
Publication of ES2319196T3 publication Critical patent/ES2319196T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)

Abstract

Un procedimiento para mediar en el flujo de mensajes en una red de ordenadores, en el cual la red de ordenadores tiene una red de mediación que incluye: al menos un módulo de punto de presencia local, LPP, para mantener una interfaz entre la red de mediación y los programas clientes; al menos un módulo mediador, M, para albergar una tarea de mediación; al menos un módulo encaminador de mediadores, MR, para analizar el contenido de los mensajes entrantes, encaminando cada módulo MR los mensajes entrantes hacia un módulo M predeterminado, según dicho contenido; y al menos un módulo agente de transmisión, TP, para remitir mensajes a al menos uno de dichos módulos LPP, en el que, en el procedimiento, los mensajes entrantes a la red de mediación se propagan a lo largo de un ciclo de mediación unidireccional que comprende las etapas de: en un módulo LPP, dirigir los mensajes entrantes al respectivo módulo entre al menos uno de dichos módulos encaminadores de mediadores, MR; en dicho módulo MR direccionado, analizar el contenido de los mensajes entrantes y encaminar dichos mensajes a un módulo mediador predeterminado, según dicho contenido analizado; en dicho módulo mediador predeterminado, aplicar la tarea de mediación a dichos mensajes analizados, y dirigir los mensajes sometidos a mediación al módulo respectivo de dichos módulos TP; y en dicho módulo TP que recibe dichos mensajes sometidos a mediación, remitir dichos mensajes sometidos a mediación a al menos uno de dichos módulos LPP, por medio de lo cual el flujo de mensajes entre los módulos conectados es unidireccional.

Description

Flujo de información con mediación autogestionada.
Introducción
La presente invención se refiere a un sistema de flujo de información con mediación. En particular, la presente invención se refiere a sistemas de mediación distribuida autogestionada con un requisito tanto de comunicación diseminada interpares como de un cierto grado de control de la información recogida en el total de tales mensajes diseminados.
Antecedentes de la invención
Los sistemas de comunicación interpares (P2P) permiten que entidades informáticas (pares) establezcan conexiones de software (canales virtuales) entre sí. Los sistemas P2P, por lo tanto, permiten a los pares comunicarse o compartir tareas y recursos informáticos sin la necesidad explícita de un control centralizado. P2P puede operar en una red generalizada con uno o más servidores: un par puede proporcionar información (editar) para al menos un servicio en la red y/o registrarse (abonarse) en servicios en esa red para recibir información editada por otro par.
También son conocidos los sistemas de mensajería que se benefician de la provisión de un control centralizado. Aquí, todos los mensajes se dirigen desde los editores a los abonados, mediante un locus central donde se realiza algún procesamiento (mediación) sobre los mensajes. Los nuevos mensajes (las recopilaciones, por ejemplo) se generan a partir de los mensajes de entrada y se envían a los abonados correspondientes.
En sistemas de mediación centralizados de la técnica anterior, todo el tráfico de mensajes se transmite a través de un punto central de red (locus), donde reside el servicio de mediación. Vistos en términos de elementos lógicos, tales sistemas están construidos como un modelo arquitectónico en forma de estrella con un punto central de control, donde se ejecutan las tareas de mediación. Este modelo se muestra en la Figura 1A: cada fuente (editor) y cada sumidero (abonado) de información tiene una línea de comunicación que se conecta con el concentrador central de mediación. En muchos casos, las fuentes y los sumideros representan las mismas entidades, operando en distintas modalidades, y pueden no ser arquitectónicamente distinguibles.
Los problemas asociados con tal arquitectura son bien conocidos. Son propensos a resentirse de falta de ancho de banda en el punto de mediación. Incluso aunque la forma de estrella lógica puede solaparse sobre una red física que esté fuertemente conectada, el flujo esencial de toda la información a través de un punto central causa un cuello de botella inherente del caudal, basado en el ancho de banda disponible entre este punto y la red (véase la Figura 1B). Aunque los avances en las tecnologías de redes significan que la disponibilidad del ancho de banda continúa mejorando, aumentar el ancho de banda tiene un coste financiero inherente y, en ciertos supuestos, puede causar una verdadera limitación al caudal del sistema general. Esta limitación se manifiesta como una restricción, bien sobre el máximo número de usuarios, o bien sobre la velocidad a la cual cada usuario puede enviar y recibir información.
En verdad, hay muchos ejemplos de sistemas donde ni las arquitecturas P2P ni las arquitecturas de mediación centralizada son totalmente satisfactorias. A menudo se requiere que algún proceso lógico actúe sobre el total de mensajes emitidos dentro del sistema de mensajería. Los ejemplos de clases de sistemas donde ninguna arquitectura es completamente adecuada incluyen: un sistema de comercio donde los compradores y vendedores potenciales se anuncian entre sí, y se requiere mediación para asegurar una coincidencia transaccional de los requisitos; un sistema de noticias o publicidad con mediación, donde una autoridad central actúa como un control editorial, antes de que la información se disemine; un sistema que no esté activamente controlado, pero que requiera que se mantenga una bitácora ordenada del flujo de información en un repositorio central; un servicio de conversación que permita que se presente un contexto reciente a un usuario que se incorpora a una conversación en curso; la distribución de claves criptográficas (el así llamado problema de distribución de claves); sistemas para hallar la ubicación de datos (estado) y servicios en una red distribuida; y sistemas para localizar y comunicarse con usuarios móviles.
El documento WO 99/23784, publicado el 14/05/1999, revela un sistema y un procedimiento para realizar operaciones asociadas con peticiones de un explorador de red, implicando la realización de las operaciones una pluralidad de despachadores acoplados con una pluralidad de oyentes de red.
Todos los ejemplos anteriores tienen en común, como requisito, tanto la comunicación interpares como un cierto grado de mediación centralizada del flujo de información cuando la comunicación se contempla como un todo.
Por lo tanto, es un objeto de la invención obviar, o al menos mitigar, los problemas precitados.
Sumario de la invención
De acuerdo a un aspecto de la presente invención, se proporciona un procedimiento para mediar en el flujo de mensajes en una red de ordenadores, en el cual la red de ordenadores tiene una red de mediación que incluye:
\newpage
al menos un módulo de punto de presencia local, LPP, para ejercer de interfaz entre la red de mediación y los programas clientes;
al menos un módulo mediador, M, para albergar una tarea de mediación;
al menos un módulo encaminador de mediadores, MR, para analizar el contenido de los mensajes entrantes, encaminando cada módulo MR los mensajes entrantes a un módulo M predeterminado, según dicho contenido; y
al menos un módulo agente de transmisión, TP, para remitir mensajes a al menos uno de dichos módulos LPP,
en donde, en el procedimiento, los mensajes entrantes a la red de mediación se propagan a lo largo de un ciclo de mediación unidireccional que comprende las etapas de:
en un módulo LPP, dirigir los mensajes entrantes al respectivo módulo entre dicho(s) módulo(s) encaminadores de mediadores, MR;
en dicho módulo MR direccionado, analizar el contenido de los mensajes entrantes y encaminar dichos mensajes a un módulo mediador predeterminado, según dicho contenido analizado;
en dicho módulo mediador predeterminado, aplicar la tarea de mediación a dichos mensajes analizados y dirigir los mensajes objeto de la mediación al respectivo módulo entre dicho(s) módulo(s) TP; y
en dicho módulo TP que recibe dichos mensajes objeto de mediación, remitir dichos mensajes objeto de mediación a al menos uno de dichos módulos LPP, por lo que el flujo de mensajes entre módulos conectados es unidireccional.
\vskip1.000000\baselineskip
En todo este documento, el término nodo físico se refiere sólo a máquinas físicas. Los términos "nodo" y "nodo lógico" se utilizan indistintamente para referirse al locus con propiedades de estado. En términos de la topología lógica de la red de mediación, un módulo proporciona la funcionalidad de un nodo lógico asociado.
La mediación distribuida, por lo tanto, forma un híbrido entre la arquitectura P2P y la mediación centralizada. El concentrador lógico central de la arquitectura en forma de estrella es reemplazado por una red de mediación central, pero distribuida, de nodos mediadores, que tiene múltiples conexiones con la red externa de fuentes y sumideros. Este enfoque aborda las restricciones de ancho de banda de la arquitectura en forma de estrella (con mediación central). El requisito de mediación del sistema se distribuye entre los nodos de la red de mediación distribuida, según alguna clasificación impuesta sobre el conjunto de mensajes que transporta. El conjunto de todos los mensajes entrantes se separa en un cierto número de subconjuntos no solapados, según el contenido del mensaje. Este concepto de clasificación no afecta al comportamiento observable externamente de la operación del sistema, sino sólo a su caudal general.
La disposición física de la red de mediación distribuida es muy distinta a la red con mediación central: en el primer caso, hay muchas conexiones de red para absorber la misma magnitud del flujo de información, lo que da como resultado requisitos proporcionalmente inferiores sobre el ancho de banda en cada nodo físico. Mientras que la imagen lógica puede representarse como un cierto número de nodos mediadores colocados dentro de una única red, se entiende que, en realidad, las sedes de nodos físicos pueden estar físicamente, incluso geográficamente, dispersas entre una pluralidad de máquinas. Es especialmente probable que esto ocurra cuando la arquitectura se despliega en sedes alrededor del mundo, cuando es improbable que haya ninguna relación estrecha entre las arquitecturas lógicas y físicas.
Es claro que las ventajas de este enfoque surgen de la organización física de las máquinas en red. Cada módulo mediador es capaz de tener funcionalidad autónoma, siendo capaz de llevar a cabo su acción sin referencia a ningún otro módulo. En otras palabras, ningún módulo tiene dependencia global de cualquier otro módulo, ni requiere ningún conocimiento detallado de la red más allá de sus vecinos inmediatos. Dada una infraestructura de red fuertemente conectada, el máximo ancho de banda requerido para lograr un caudal dado se reduce a un valor arbitrariamente bajo. Dado que la carga de mediación puede dividirse equitativamente entre las máquinas empleadas por el servicio de mediación, esto puede lograrse ajustando al alza el número de nodos mediadores en la red. El máximo ancho de banda requerido en cualquier punto dentro de la red aún es proporcional a la carga de la red, pero también es inversamente proporcional al número de nodos mediadores desplegados. Naturalmente, cualquier carga extra de red causada por organizar el reparto del requisito de mediación entero en un cierto número de plataformas debe ser lo bastante baja como para evitar anular los beneficios de la arquitectura.
Los mensajes entrantes tratados por la red de mediación pueden pertenecer a uno de los grupos de tipos de mensajes, incluyendo: nueva información, que emana de un proceso que actúa como una fuente de información; consultas acerca del estado de nodos en la red de mediación, que requieren una respuesta; y expresiones de interés, que requieren respuestas continuadas toda vez que nueva información pertinente es recibida por la red de mediación.
Dirigiendo un mensaje de control como un mensaje entrante a lo largo del ciclo de mediación, el procedimiento puede inducir un cambio en la operación interna de la red de mediación.
Además de llevar mensajes de clientes, la red de mediación distribuida facilita la diseminación de mensajes de control o gestión. Los mensajes de gestión difieren en que se ocupan sólo de la propagación de instrucciones a nodos sucesivos en cada ciclo dentro de la red, en particular, para efectuar cambios en la operación interna. Pueden intercalarse con mensajes de clientes.
Al abordar los cambios en la operación interna, la presente invención busca permitir que tenga lugar tanto el equilibrio dinámico de la carga dentro de una red de topología fija, como la migración del proceso de mediación asociado con cambios arbitrarios en la topología lógica, sin introducir inestabilidad en ningún caso.
El cambio en la operación interna puede ser un traspaso de una tarea de mediación entre un módulo mediador donante y un módulo mediador destinatario, en el que el mensaje de control es un mensaje de traspaso de mediador, describiendo el contenido del mensaje de traspaso de mediador la reasignación del contenido con una etiqueta de contenido predeterminada, desde el módulo mediador donante al módulo mediador destinatario, donde el módulo mediador donante está actualmente registrado como disponible para tratar dicho contenido, y
en donde la dirección del mensaje de traspaso de mediador comprende:
\quad
desde un módulo LPP predeterminado, enviar el mensaje de traspaso de mediador a un respectivo módulo MR asociado;
\quad
en el módulo MR asociado, leer dicha etiqueta de contenido y remitir el mensaje al módulo mediador donante; y,
\quad
al recibir el mensaje de traspaso de mediador, en el módulo mediador donante: cambiar el estado del nodo mediador, enviar un mensaje TRASPASO_MEDIADOR al módulo mediador destinatario, conteniendo el mensaje TRASPASO_MEDIADOR el contenido del mensaje de traspaso de mediador; enviar un mensaje MEDIADOR_CAMBIADO a un módulo TP asociado; y luego cambiar el estado a fin de remitir los mensajes que contengan la etiqueta de contenido al módulo mediador destinatario.
\vskip1.000000\baselineskip
Según varían en el tiempo las demandas de los usuarios sobre la clasificación, la operación de traspaso proporciona una funcionalidad que permite que los nodos en los cuales se ejecutan las tareas de mediación sean físicamente movidos a fin de equilibrar las cargas, tanto de red como de procesamiento, para el sistema entero.
El traspaso, preferiblemente, comprende adicionalmente:
\quad
que el módulo TP remita el mensaje MEDIADOR_CAMBIADO a al menos un módulo LPP;
\quad
que el módulo mediador destinatario genere un mensaje NUEVO_MEDIADOR_ACTIVO, teniendo el mensaje NUEVO_MEDIADOR_ACTIVO una carga útil correspondiente al contenido reasignado, y que emita dicho mensaje NUEVO_MEDIADOR_ACTIVO a todos los módulos TP asociados con el mismo; y
\quad
que el módulo LPP almacene temporalmente todos los mensajes entrantes entre la recepción del mensaje MEDIADOR_CAMBIADO y la recepción del mensaje NUEVO_MEDIADOR_ACTIVO.
\vskip1.000000\baselineskip
Ventajosamente, el procedimiento comprende adicionalmente:
\quad
que el módulo LPP remita luego el mensaje NUEVO_MEDIADOR_ACTIVO al módulo MR asociado; y
\quad
cada vez que un módulo MR reciba un mensaje NUEVO_MEDIADOR_ACTIVO, actualizar una tabla de encaminamiento para dicho módulo MR, a fin de causar que el contenido futuro que coincida con la carga útil del mensaje NUEVO_MEDIADOR_ACTIVO sea enviado al módulo mediador destinatario, en lugar de al módulo mediador donante; informar al módulo mediador donante de que la tabla de encaminamiento ha sido actualizada, dejando el módulo mediador donante de remitir mensajes de allí en adelante, una vez que todos los módulos MR han sido informados de que el módulo mediador destinatario es ahora el módulo mediador para el contenido reasignado.
\vskip1.000000\baselineskip
La operación de traspaso no contempla la migración dinámica del proceso de mediación frente a cambios arbitrarios en la topología lógica.
El cambio en la operación interna también puede ser una reconfiguración de la topología lógica de la red de mediación, y en la cual el mensaje de control es uno o más mensajes de reconfiguración.
La reconfiguración de la topología lógica, preferiblemente, incluye la generación de una barrera causal, para garantizar que los mensajes que atraviesan la red de mediación antes de la reconfiguración se entregan antes de los mensajes que atraviesan la red de mediación después de la reconfiguración. En cuyo caso, la etapa de generar la barrera causal puede incluir: hacer circular dicho(s) mensaje(s) de reconfiguración por el ciclo de mediación; y garantizar que cada módulo en el ciclo haya sido suficientemente notificado de la reconfiguración.
Ventajosamente, la reconfiguración de la topología lógica de la arquitectura de mediación es la inserción de un nodo adicional de punto de presencia local (LPP), y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_LPP que identifica unívocamente al nodo LPP adicional, incluyendo la inserción:
\quad
en un módulo LPP adicional predeterminado en el nodo LPP adicional, generar el mensaje nuevo_LPP y enviar el mensaje nuevo_LPP al correspondiente módulo MR en un nodo MR;
\quad
en el correspondiente módulo MR, recibir el mensaje nuevo_LPP, actualizar un contador de referencia para el nodo MR, y propagar el mensaje nuevo_LPP a todos los módulos mediadores en la arquitectura;
\quad
en cada módulo mediador, recibir el mensaje nuevo_LPP y transmitir el mensaje nuevo_LPP a un respectivo módulo TP correspondiente en un nodo TP, teniendo cada nodo TP un saldo acreedor asociado;
\quad
en cada uno de los correspondientes módulos TP, recibir el mensaje nuevo_LPP y enviar un respectivo mensaje nuevo_LPP extendido al módulo LPP adicional, incluyendo el mensaje nuevo_LPP extendido el respectivo saldo acreedor asociado;
\quad
en el módulo LPP adicional, recibir los mensajes nuevo_LPP extendidos, completando por ello la circulación del mensaje nuevo_LPP; y
\quad
en el módulo LPP adicional, sumar los saldos acreedores, garantizándose la suficiente notificación de la reconfiguración cuando la suma de créditos alcanza un valor predeterminado de completitud.
\vskip1.000000\baselineskip
La reconfiguración de la topología lógica de la arquitectura de mediación puede incluir la inserción adicional de un nodo encaminador de mediador (MR) adicional, y donde dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_MR que identifica unívocamente el nodo MR adicional, incluyendo la inserción adicional:
\quad
que el LPP adicional envíe un mensaje nuevo_MR a un módulo MR correspondiente en un nodo MR con un correspondiente saldo acreedor;
\quad
que el módulo MR correspondiente responda al mensaje nuevo_MR enviando un mensaje nueva_tabla_encamina- dora_MR, que incluye: información de dirección para el nodo MR adicional, la dirección del nodo LPP adicional, información de encaminamiento y una fracción del correspondiente saldo acreedor;
\quad
que el correspondiente módulo MR remita luego el mensaje nueva_tabla_encaminadora_MR a un módulo mediador arbitrario;
\quad
que el módulo mediador arbitrario pase luego el mensaje nueva_tabla_encaminadora_MR al módulo LPP adicional;
\quad
que el módulo LPP adicional pase luego el mapa de encaminamiento al módulo MR adicional; y
\quad
en el módulo MR adicional, utilizar el contenido del mensaje nueva_tabla_encaminadora_MR para inicializar un nuevo saldo acreedor y mapas de encaminamiento.
\vskip1.000000\baselineskip
Se prefiere que la reconfiguración incluya adicionalmente cambiar el módulo MR al que se dirige el módulo LPP adicional por el módulo MR adicional, en donde el módulo MR adicional envía un mensaje MR_inicializado() al módulo LPP adicional al recibir el mensaje nueva_tabla_encaminadora_MR, y donde el módulo LPP adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos MR adicional e inicial, respectivamente.
Como alternativa, la reconfiguración de la topología lógica de la arquitectura de mediación puede ser la inserción de un nodo mediador (M) adicional, y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_M que identifica unívocamente el nodo mediador adicional, incluyendo la inserción:
\quad
en un módulo mediador adicional predeterminado, generar el mensaje nuevo_M y enviar el mensaje nuevo_M a un correspondiente módulo TP en un nodo TP;
\quad
en el correspondiente módulo TP, recibir el mensaje nuevo_M, actualizar un contador de referencia para el nodo TP, y propagar el mensaje nuevo_M a todos los módulos LPP en la arquitectura;
\quad
en cada módulo LPP, recibir el mensaje nuevo_M, transmitir el mensaje nuevo_M a un respectivo módulo MR correspondiente en un nodo MR, teniendo cada nodo MR un saldo acreedor asociado;
\quad
en cada uno de los correspondientes módulos MR, recibir el mensaje nuevo-M y enviar un respectivo mensaje nuevo_M extendido al módulo mediador adicional, incluyendo el mensaje nuevo_M extendido el respectivo saldo acreedor asociado; y
\quad
en el módulo mediador adicional, recibir el mensaje nuevo_M extendido, completando por ello la circulación del mensaje nuevo_M; y
\quad
en el módulo mediador adicional, sumar los saldos acreedores, garantizándose la notificación suficiente de la reconfiguración cuando la suma del crédito alcanza un valor predeterminado de completitud.
\vskip1.000000\baselineskip
En el segundo caso, la reconfiguración de la topología lógica de la arquitectura de mediación puede incluir la inserción adicional de un nodo agente de transmisión (TP) adicional, y donde dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_TP que identifica unívocamente el nodo TP adicional, incluyendo la inserción adicional:
\quad
en el módulo mediador adicional, recibir el mensaje nuevo_TP;
\quad
en el módulo mediador adicional, añadir la dirección del nodo mediador adicional al mensaje nuevo_TP y remitir el mensaje nuevo_TP a un módulo TP correspondiente en un nodo TP con un correspondiente saldo acreedor;
\quad
en el correspondiente módulo TP, responder al mensaje nuevo_TP generando un mensaje nuevo_TP extendido, que incluye: información de dirección para el nodo TP adicional, la dirección del nodo mediador adicional, una lista de los LPP y una fracción del correspondiente saldo acreedor;
\quad
en el correspondiente módulo TP, remitir luego el mensaje nuevo_TP a un módulo LPP arbitrario;
\quad
en el módulo LPP arbitrario, pasar luego un mensaje de nuevo mapa de encaminamiento al módulo TP adicional;
\quad
en el módulo TP adicional, pasar luego el mapa de encaminamiento al módulo MR adicional; y
\quad
en el módulo TP adicional, utilizar el contenido del mensaje de nuevo mapa de encaminamiento para inicializar un nuevo saldo acreedor correspondiente y una lista de módulos LPP.
\vskip1.000000\baselineskip
Preferentemente, la reconfiguración incluye adicionalmente: cambiar el módulo TP al que se dirige el módulo mediador adicional por el módulo TP adicional, en donde el módulo TP adicional envía un mensaje TP_inicializado() al módulo mediador adicional al recibir el mensaje de nuevo mapa de encaminamiento, y donde el módulo mediador adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos TP adicional e inicial, respectivamente.
La red de ordenadores puede, de manera conveniente, incluir adicionalmente un nodo de detección de fallos que está en comunicación con cada nodo en la red de mediación, comprendiendo adicionalmente el procedimiento:
\quad
en el nodo de detección de fallos, proporcionar un módulo de detección de fallos;
\quad
en cada nodo de la red de mediación, proporcionar un módulo de informe de fallos;
\quad
toda vez que falla un enlace de comunicación entrante o saliente entre nodos, en cada uno de dichos módulos de informe de fallos, proveer información con respecto al enlace de comunicación averiado a dicho módulo de detección de fallos; y
\quad
en dicho módulo de detección de fallos, determinar si dicho enlace averiado es síntoma de un nodo averiado.
\vskip1.000000\baselineskip
Allí donde el módulo de detección de fallos determine que dicho enlace averiado es síntoma de un nodo averiado, el procedimiento puede comprender adicionalmente: crear un nuevo nodo del mismo tipo que el nodo averiado, infundir el nuevo nodo con información relacionada con el estado interno del nodo averiado y la topología del entorno inmediato; y reconfigurar la red para utilizar el nuevo nodo con preferencia sobre el nodo averiado.
El procedimiento, ventajosamente, comprende adicionalmente la generación de un registro de todos los mensajes entrantes recibidos por dicho módulo mediador predeterminado.
La tarea de mediación aplicada a dichos mensajes analizados en dicho módulo mediador predeterminado puede incluir generar el registro de mensajes. Como alternativa, la red de ordenadores incluye adicionalmente una aplicación externa, y el procedimiento puede comprender adicionalmente: generar el registro de mensajes en dicha aplicación externa.
De manera conveniente, el cambio en la operación interna puede adoptar la forma de una refinación estructural de la topología lógica de la arquitectura de mediación en respuesta a una solicitud de cambio. Se inserta, de manera ventajosa, una subred en lugar de un nodo individual durante la etapa de la refinación estructural.
En un aspecto adicional de la presente invención, se proporciona una red de mediación para mediar en el flujo de mensajes en una red de ordenadores, en donde la red de mediación incluye:
\quad
al menos un módulo de punto de presencia local, LPP, para ejercer de interfaz entre la red de mediación y los programas de clientes;
\quad
al menos un módulo mediador M para albergar una tarea de mediación;
\quad
al menos un módulo encaminador de mediadores, MR, para analizar el contenido de mensajes entrantes, encaminando cada módulo MR los mensajes entrantes a un módulo M asociado predeterminado, según dicho contenido; y
\quad
al menos un módulo agente de transmisión, TP, para remitir mensajes a al menos uno de dichos módulos LPP,
en donde la red de mediación propaga los mensajes a lo largo de un ciclo de mediación unidireccional en el cual: los módulos LPP se dirigen a módulos MR; los módulos MR, a su vez, se dirigen a módulos M; los módulos M, a su vez, se dirigen a módulos TP; y los módulos TP, a su vez, se dirigen a módulos LPP, siendo unidireccional el flujo de mensajes entre los módulos conectados.
\vskip1.000000\baselineskip
Según otro aspecto de la presente invención, se proporciona un producto de programa de ordenador para mediar en el flujo de mensajes en una red de ordenadores, incluyendo el producto de programa de ordenador instrucciones ejecutables para proporcionar una red de mediación que tiene:
\quad
al menos un módulo de punto de presencia local, LPP, para ejercer de interfaz entre la red de mediación y los programas de clientes;
\quad
al menos un módulo mediador M para albergar una tarea de mediación;
\quad
al menos un módulo encaminador de mediadores, MR, para analizar el contenido de los mensajes entrantes, encaminando cada módulo MR los mensajes entrantes a un módulo M predeterminado, según dicho contenido; y
\quad
cuando las instrucciones se están ejecutando en dichos módulos,
donde, cuando las instrucciones se ejecutan en los respectivos módulos, los mensajes entrantes a la red de mediación se propagan a lo largo de un ciclo de mediación unidireccional que comprende las etapas de: en un módulo LPP, dirigir los mensajes entrantes al correspondiente miembro entre dicho(s) módulo(s) encaminador(es) de mediador(es) MR;
en dicho módulo MR direccionado, analizar el contenido de los mensajes entrantes y encaminar dichos mensajes a un módulo mediador predeterminado según dicho contenido analizado;
en dicho módulo mediador predeterminado, aplicar la tarea de mediación a dichos mensajes analizados, y dirigir los mensajes objeto de mediación al respectivo miembro entre dichos módulos TP; y
en dicho módulo TP que recibe dichos mensajes objeto de mediación, remitir dichos mensajes objeto de mediación a al menos uno de dichos módulos LPP, por lo cual el flujo de mensajes entre módulos conectados es unidireccional.
Realizaciones adicionales, según la presente invención, se definen en las reivindicaciones secundarias.
Breve descripción de los dibujos
Se describirán ahora ejemplos de la presente invención en detalle, con referencia a los dibujos adjuntos, en los cuales:
La Figura 1A es un diagrama de nodos que muestra un sistema de flujo de información con mediación de tecnología anterior, con una arquitectura lógica en forma de estrella;
La Figura 1B es un diagrama esquemático de nodos que muestra la arquitectura física del sistema en la Figura 1A;
La Figura 2A es un diagrama de nodos que muestra un sistema de flujo de información con mediación de tecnología anterior, con una arquitectura lógica de red central;
La Figura 2B es un diagrama esquemático de nodos que muestra la arquitectura física del sistema en la Figura 2A;
La Figura 3 muestra un diagrama mínimo de nodos que muestra el ciclo fundamental (LPP -> MR -> M -> TP -> LPP), del cual es parte todo nodo efectivo de red de mediación distribuida;
La Figura 4 es un diagrama de nodos que muestra un modelo de mediación distribuida "cúbico", según la presente invención;
Las Figuras 5A a 5F muestran las etapas de traspasar una tarea de mediación desde un módulo S mediador transmisor a un módulo R mediador destinatario en la arquitectura de mediación distribuida "cúbica";
La Figura 6 muestra una tabla (Tabla 1) de dependencias en la red de mediación distribuida de la presente invención;
La Figura 7 muestra una tabla (Tabla 2) de las dependencias en un mecanismo de tratamiento de fallos en una realización de la presente invención;
Las Figuras 8A a 8E ilustran las etapas de añadir un nuevo nodo de Punto de Presencia Local (LPP) a una arquitectura de mediación existente;
Las Figuras 9A a 9D ilustran las etapas de añadir un nuevo nodo Mediador (M) a una arquitectura de mediación existente;
La Figura 10 ilustra la primera etapa al añadir un nuevo nodo Encaminador de Mediadores (MR) a una arquitectura de mediación existente, la adición de un nuevo nodo de Punto de Presencia Local (LPP);
Las Figuras 11A a 11E ilustran las siguientes etapas al añadir un nuevo nodo Encaminador de Mediadores (MR) a una arquitectura de mediación existente;
La Figura 12 ilustra la primera etapa al añadir un nuevo nodo Agente de Transmisión (TP) a una arquitectura de mediación existente, la adición de un nuevo nodo Mediador (M);
Las Figuras 13A a 13E ilustran las siguientes etapas al añadir un nuevo nodo Agente de Transmisión (TP) a una arquitectura de mediación existente;
La Figura 14 muestra el anuncio de fallo desde la arquitectura de mediación de la presente invención al módulo de Tratamiento de Fallos (FH);
Las Figuras 15A a 15E muestran cómo inicia el módulo de Tratamiento de Fallos el reencaminamiento de mensajes objeto de mediación desde un nodo LPP averiado a un nuevo nodo LPP;
La Figura 16 ilustra un enfoque del tratamiento de fallos que involucra el registro de mensajes en más de un nodo, para generar nuevas "invariantes de sistema";
La Figura 17 ilustra una refinación estructural de la red cúbica para incorporar una subred cúbica adicional en lugar de un nodo LPP;
La Figura 18 ilustra una jerarquía de redes con los MR conectados; y
La Figura 19 muestra una topología ilustrativa de bus TP/MR.
Descripción detallada
Se explican primero los modelos de mensajería P2P y con mediación centralizada que proporcionan los antecedentes de la presente invención. A lo largo de esta exposición, el término origen designa a un cliente que genera nuevos mensajes para enviar a un servicio de red, y el término sumidero designa un cliente que recibe mensajes desde un servicio de red. Cada cliente de un servicio de red puede ser un origen, un sumidero, o ambos. En una terminología alternativa, los orígenes de información se denominan editores, y los sumideros de la información se denominan abonados.
En el encaminamiento internares basado en contenidos, una red se configura para permitir la transmisión eficiente de mensajes de origen a sumidero, basándose en el establecimiento de canales virtuales entre los orígenes y sumideros adecuados. La eficiencia, típicamente, se logra por la detección y eliminación de arcos (líneas de comunicación que conectan nodos) innecesarios de un grafo totalmente conectado, con el gráfico optimizado resultante adaptado luego a la infraestructura de red disponible. Establecer un canal virtual P2P requiere una expresión de interés desde uno de los pares y una aceptación de ese interés por parte del otro.
Por otra parte, en modelos con mediación centralizada, todos los mensajes se transmiten mediante un nodo de mediación central (véanse las Figuras 1A y 1B). En la jerga de las redes de mediación, un servicio de mediación es el término general aplicado a algún procesamiento que se aplica a todos los mensajes entrantes; el requisito de mediación para cualquier instancia particular de una arquitectura con mediación se refiere al cotejo de todos los servicios de mediación proporcionados en la misma; una autoridad de mediación es una persona o personas que brinda(n) tal servicio de mediación; una red de mediación es la red de entidades informáticas físicas (máquinas) bajo el control de la autoridad de mediación; y un servidor de mediación, la máquina física que alberga uno o más servicios de mediación.
En un modelo simplificado de un sistema generalizado de flujo de información con mediación, los mensajes enviados a la autoridad de mediación pueden pertenecer a uno de los siguientes tipos: nueva información, que emana de un proceso que actúa como una fuente de información; consultas acerca del estado adoptado por la autoridad de mediación, que requieren una respuesta inmediata; y expresiones de interés, consultas esencialmente persistentes que requieren respuestas toda vez que nueva información pertinente es recibida por la autoridad de mediación.
Merece la pena subrayar que incluso en un modelo totalmente sometido a mediación, las expresiones de interés aún pueden ser significativas, especialmente en la entrega de este servicio de red a los sumideros, donde pueden reducir el requisito del ancho de banda en cada canal virtual.
A la luz de las anteriores definiciones, un sistema de flujo de información sujeto a mediación es uno que consiste en mensajes, que contienen información, que son enviados a y desde una autoridad central. Las acciones adoptadas por esta autoridad pueden incluir el registro cronológicamente ordenado de los mensajes recibidos, el procesamiento sobre el total de mensajes recibidos hasta cierto punto, y la diseminación de mensajes entrantes entre otros clientes, posiblemente después de llevar a cabo algún procesamiento basado en el contenido del mensaje.
La presente invención representa un híbrido del modelo P2P descentralizado, basado en contenidos, y el modelo sencillo de red con mediación centralizada. En lugar de proporcionar un mediador central único, los diversos servicios de mediación se dispersan por una red de mediación que comprende un cierto número de componentes funcionales distintos. En el modelo híbrido, las expresiones de intención se emplean para abrir canales virtuales entre nodos origen y nodos mediadores, y las expresiones de interés se utilizan para abrir canales virtuales entre los nodos mediadores y los nodos sumidero. Los mensajes recibidos por nodos sumidero, por lo tanto, están gobernados por las expresiones de interés registradas en el servicio objeto de mediación. La latencia entre nodos origen y sumidero es necesariamente mayor que en el encaminamiento sencillo, basado en el contenido, ya que hay dos o más saltos lógicos involucrados. Siempre que el contexto lo permita, la latencia en cada salto lógico puede reducirse sucesivamente, según se dispone de más información estática. Con respecto al modelo sencillo con mediación, la tarea de mediación es más compleja, porque se extiende sobre múltiples nodos (véase la Figura 2A). Sin embargo, el cuello de botella central inherente del modelo con mediación centralizada ha sido eliminado, y la arquitectura resultante es escalable.
El conjunto de todos los mensajes entrantes se separa (clasifica) en un cierto número de subconjuntos (categorías) no solapados, según el contenido del mensaje. El requisito de mediación total se implementa como un cierto número de tareas de mediación, cada tarea servida por separado en un proceso distinto que opera sobre una categoría respectiva de mensaje entrante. Cada mensaje incluye un contenido que indica si ese mensaje es un miembro de una categoría particular o no, el así llamado predicado determinístico. Este predicado determinístico puede considerarse como la parte "verbal" de una "oración" del mensaje. Los mensajes entrantes, por lo tanto, son clasificables según predicados determinísticos en su contenido. Una categoría puede verse entonces como un subconjunto de todos los mensajes posibles basados en un predicado determinístico asociado. De hecho, la presencia de un predicado determinístico dado caracteriza la correspondiente categoría.
En un servicio de noticias o de edición sometido a mediación, donde una autoridad central actúa como un control editorial, antes que la información sea diseminada adicionalmente, los ejemplos de un predicado determinístico incluyen:
*
IGUALDAD en un identificador único del documento
\quad
p. ej., id_doc = 1246512331400
\quad
p. ej., idelem MLnoticias = 238563''
*
alguna expresión de fecha/hora
\quad
p. ej., elemnoticias MLnoticias.fecha < 28 de julio de 2003 y
\quad
elemnoticias.fecha > 10 de enero de 2001
*
IGUALDAD en código de País del documento
\quad
p. ej., código_país = UK o
\quad
código_país = "UK" o código_país = "US"
{utilizando código país MLnoticias}
*
algún código de tema asociado con el objeto del artículo
\quad
p. ej., Tema ="derechos humanos" {utilizando un código de tema MLnoticias}
*
algún predicado basado en los valores de atributos de un artículo MLnoticias:
\quad
p. ej., <cabecera> == "LONDRES".
\vskip1.000000\baselineskip
En un servicio de comercio transaccional, donde una autoridad central actúa para hacer coincidir los requisitos de compradores y vendedores, los ejemplos de predicados determinísticos incluyen:
*
Artículo="piano" y ubicación = "NE de Escocia" y precio < \pounds3
*
Acción = "IBM"
*
Categoría = "Hogar > Todas las categorías > Deportes" y elemento= "surfista".
\vskip1.000000\baselineskip
En un servicio de conversación que permite que un contexto reciente sea presentado a un usuario que se incorpora a una conversación continuada, el predicado determinístico podría ser:
*
Tema="navegación" y categoría = "<Chistera>"
*
Tema="Servidores de correo" y categoría "enviarCorreo" y sistema operativo="Unix" y en un ejemplo tomado de los grupos de noticias
*
Tema = alt.dinero.divisa.dólares-estadounidenses.
\vskip1.000000\baselineskip
En el caso de la Distribución de claves criptográficas (el así llamado problema de distribución de claves), el predicado determinístico podría basarse en el valor de la clave, por ejemplo:
Valor de clave > 23352345 y valor de clave < 66676767979079
En el caso de hallar la ubicación de datos (estado) y servicios en una red distribuida, el predicado determinístico puede basarse en un identificador globalmente único (GUID):
p. ej., GUID = 125645654645
o podría basarse en un descriptor del servicio que estamos buscando:
p. ej., Servicio ="impresora (tipo=``chorroláser''; precio=``4p/página''; tamaño=A0)".
Finalmente, en el caso de localización y comunicación con usuarios móviles, los ejemplos de predicados determinísticos incluyen:
*
Nombre="Bon Monkeyhouse"
*
número de teléfono="01776 32463274327"
\quad
dirección de correo electrónico=asau@ghsghdsg.net.
\vskip1.000000\baselineskip
El conjunto de todas las categorías (y, por lo tanto, el conjunto de todos los mensajes, una vez clasificados) se denomina una clasificación. La clasificación, por lo tanto, representa una partición del conjunto de todos los mensajes, y un mensaje individual no puede pertenecer a más de una categoría. Este concepto de clasificación no afecta al comportamiento externamente observable de la operación del sistema, sino sólo a su caudal general.
La clasificación del sistema es independiente del tipo de mensaje que está siendo enviado (nueva información, expresión de interés, o consulta), ya que se basa en alguna caracterización de la información que circula dentro del sistema. En el caso crucial, la clasificación puede ocurrir por medio de un proceso automatizado. Tales mensajes entrantes pueden consistir en información acerca de, o consultas con respecto a, esa categoría dentro de la clasificación.
La clasificación del sistema de información es efectuada por la autoridad de mediación, y esto puede ocurrir durante la operación del sistema. Debe generarse un predicado determinístico para permitir comprobar la inclusión de mensajes arbitrarios en la categoría. Para cada categoría así identificada, se crea un proceso distinto dentro de la red de mediación, a fin de tratar su servicio de mediación. Finalmente, merece la pena observar que la clasificación se emplea sólo para realzar las prestaciones del sistema lógico, en lugar de cambiar su semántica en modo alguno, y los clientes del sistema no serán conscientes de que existe.
La tarea de mediación para cada categoría se alberga en una máquina (ordenador) específico dentro de la red de mediación. Cuando el sistema está operativo, los mensajes son enviados por los clientes a la red de mediación. Los mensajes recibidos en la red son remitidos al servicio de mediación adecuado, según un análisis de su contenido mediante el conjunto de todos los predicados de categoría. Este proceso de remisión requiere que el conocimiento de la clasificación, y de la ubicación física donde se alberga cada tarea de mediación, circule por la red de mediación.
La Figura 3 muestra una topología mínima que ilustra los componentes funcionales de un modelo (híbrido) de mediación distribuida que está en un "estado estable" o "en reposo", es decir, un estado en el cual no hay previstos cambios en la topología lógica. La Figura muestra cómo fluyen los datos por el sistema entre los diversos nodos componentes.
Todos los nodos componentes necesarios para un modelo de mediación distribuida de escala ilimitada están presentes en esta topología mínima, incluyendo: orígenes, sumideros, puntos de presencia local, encaminadores de mediadores, mediadores y agentes de transmisión. A lo largo de la siguiente exposición, estos términos, y otros enumerados a continuación, adoptan una definición según lo estipulado a continuación:
Punto de Presencia Local (LPP): un punto de presencia local actúa como un intermediario entre los clientes (orígenes y sumideros) y el resto del modelo de mediación distribuida. Los puntos de presencia local son nodos de red que proporcionan agentes para un servicio sujeto a mediación para una región geográfica específica. Cada origen o sumidero se comunicará así con sólo un único punto de presencia local, y con ningún otro nodo dentro de la arquitectura de mediación. Puede haber un número arbitrario de nodos LPP en un sistema, sirviendo cada uno al respectivo número de clientes.
Mediador (M): un mediador es un nodo de red que incorpora un módulo mediador, que atiende la solicitud de mediación. Cada mediador tiene una distribución asociada corriente abajo, que se utiliza para pasar mensajes relevantes a los LPP y, por lo tanto, en última instancia, a los sumideros. Cada módulo mediador implementa una o más tareas de mediación, con cada tarea actuando sobre una única categoría de mensaje entrante. Los módulos mediadores pueden configurarse para registrar todos los mensajes entrantes que reciben y para remitir estos mensajes a la red asociada de transmisión flujo abajo. Las tareas de mediación pueden entonces incluir consultas de servicios en los registros de mensajes generados de esta manera.
Encaminador de Mediadores (MR): un encaminador de mediador es un nodo de red, que incorpora un módulo encaminador de mediadores, que analiza el contenido de los mensajes entrantes, determina a qué categoría pertenecen los mensajes y los encamina a un mediador adecuado. Cada encaminador de mediadores se coloca a la cabeza de una red flujo arriba y recibe mensajes desde un cierto número de nodos LPP. Un encaminador de mediadores también puede
registrar los mensajes entrantes para permitir, por ejemplo, un servicio local dentro del área geográfica a la que sirve.
Apoderado de Transmisión (TP): un agente de transmisión es un nodo de red, que incorpora un módulo agente de transmisión, que analiza los mensajes emitidos por uno o más nodos mediadores; determina, a partir de las expresiones de interés registradas, a qué sumidero(s) se dirige el mensaje saliente; y remite mensajes por la red flujo abajo asociada con cada mediador.
La red corriente arriba (desde el origen al encaminador de mediadores) se ve como sometida a mediación, pero no basada en contenidos. El encaminamiento entre encaminadores de mediadores y mediadores, en la así llamada corriente cruzada, se basa en contenidos. La red corriente abajo requiere, también, encaminamiento basado en contenidos: en efecto, el encaminamiento de mensajes entre encaminadores de mediadores y nodos LPP puede considerarse como un mecanismo híbrido de entrega basado en contenidos por sí mismo. La partición del espacio de mensajes como parte de este híbrido permite la introducción de un servicio de mediación a medio flujo en el modelo de edición y abono, sin introducir un cuello de botella central no escalable.
Para un sistema en "estado estable" o "en reposo", las siguientes afirmaciones, vinculadas con la red de mediación distribuida, son siempre verdaderas. Estas afirmaciones pueden considerarse "invariantes globales" de la arquitectura de mediación distribuida.
*
Todo nodo es parte de un ciclo LPP->MR->M->TP->LPP
*
Todo LPP se dirige a un único MR
*
Todo MR puede dirigirse a cualquier M arbitrario
*
Todo M se dirige a un único TP
*
Todo TP puede dirigirse a cualquier LPP arbitrario
\vskip1.000000\baselineskip
El símbolo "\rightarrow" anteriormente utilizado representa una conexión unidireccional (un arco dirigido).
La Tabla 1 (Figura 6) enumera las dependencias para la "corrección" del algoritmo de cambio de mediación: es decir, el conocimiento extramuros total que se requiere mantener a cada nodo.
A partir de la inspección de las anteriores "invariantes globales", queda claro por qué la red ilustrada en la Figura 3 se considera la mínima topología de mediación distribuida: consiste en cuatro nodos exactamente: uno de cada tipo (LPP, MR, M y TP), configurados en un ciclo sencillo, con conexiones unidireccionales dispuestas entre los mismos: LPP->MR->M->TP->LPP.
Una red de mediación distribuida más realista, y más compleja, se ilustra en la Figura 4. Aquí, están presentes dos nodos de cada tipo en una configuración conocida en lo sucesivo como una red "cúbica". La red cúbica ilustra propiedades adicionales de las redes generales de mediación distribuida.
Como en la red cíclica, el flujo de mensajes entre nodos conectados es unidireccional. Cada nodo en la red cúbica es un componente de al menos un ciclo, LPP->MR->M->TP->LPP. La red cúbica exhibe una topología de "convergencia/divergencia": mientras que cada LPP envía cada mensaje a exactamente un MR, cada MR puede ser direccionado por una pluralidad de nodos LPP (dos en la Figura 4) - convergencia: todo MR es capaz de enviar un mensaje a cualquier mediador - divergencia; cada mediador envía cualquier mensaje dado a exactamente un TP, mientras que cada TP puede ser direccionado por una pluralidad de mediadores - convergencia; y, finalmente, cada TP es capaz de enviar un mensaje a cualquier LPP - divergencia.
Las redes de mediación distribuida, tales como las redes cíclicas mínimas y cúbicas, también exhiben otra propiedad importante: existe un camino dirigido desde cada nodo a cualquier otro nodo en la red. En términos de la teoría de grafos, todo nodo está en la clausura transitiva de cualquier otro nodo. Esta propiedad vale trivialmente para redes cíclicas: sin embargo, vale en redes más complejas de mediación distribuida, como consecuencia de las propiedades invariantes globales. El camino dirigido siempre puede considerarse como un grafo cíclico dirigido. De esta manera, para dos nodos A y B cualesquiera dentro de una red generalizada de mediación distribuida, existe un ciclo desde, A a A, que contiene a B. Merece la pena observar que en una red cúbica (de nivel único), la máxima longitud de camino de tal ciclo es 8, en lugar de 4.
Nuevamente, ningún nodo tiene dependencia global ni ningún conocimiento detallado de la red más allá de sus vecinos inmediatos. Cada nodo almacena identidades sólo de aquellos nodos a los que se dirige directamente. Los nodos también almacenan información acerca de la totalidad de los nodos que se dirigen a cada nodo dentro de la red; esto puede almacenarse bien como un contador de referencia en el mismo nodo, o bien como un valor de saldo acreedor en todos los nodos que se dirigen directamente a él. En cualquier caso, no es necesario almacenar las identidades de los nodos que se dirigen a otro. De hecho, ningún nodo necesita almacenar ninguna información adicional acerca del resto del sistema global.
Una importante propiedad adicional de la red de mediación distribuida de la presente invención es que el comportamiento es determinístico y ordenado dentro de cada nodo; es decir, es posible garantizar que un mensaje B que llega después de un mensaje A también es despachado después del mensaje A. Igualmente, los mensajes no pueden tomar atajos por enlaces directos entre los nodos; así, para dos nodos N1 y N2 cualesquiera, tales que N1 se dirige directamente a N2, si un mensaje A es enviado a N2 por N1, y posteriormente un mensaje B es enviado a N2 desde N1, entonces N2 recibirá el mensaje A antes de recibir el mensaje B.
Barrera Causal
Cada nodo en la red generalizada de mediación distribuida sólo tiene conocimiento detallado de la existencia de otros nodos a los cuales envía mensajes directamente. La información acerca de nodos desde los cuales recibe mensajes se almacena en una forma que representa sólo la totalidad de tales nodos. Como se ha mencionado anteriormente, esta información puede almacenarse, bien como un contador de referencia en el mismo nodo, o bien como un valor de saldo acreedor en todos los nodos que se dirigen directamente a él.
En ciertos casos, se requiere cierto grado de control global para efectuar un cambio dentro de la red, manteniendo a la vez el comportamiento ordenado y determinístico. Es aquí donde la información acerca de la totalidad de nodos que se dirigen a cada nodo dentro de la red resulta útil. La red de mediación distribuida requiere una propiedad adicional, por la cual un conjunto de cambios coherentes puede hacerse de manera aparentemente atómica con respecto a cualquier mensaje que pasa dentro del sistema en el momento en que se hace el cambio: una propiedad denominada el algoritmo de barrera causal.
Allí donde la información de nodos que se dirigen a otro se almacena como un contador de referencia, el algoritmo de barrera causal es un algoritmo del total recibido. En los casos donde se espera una copia de un mensaje dado en un nodo destinatario desde cada nodo que se dirige directamente al nodo destinatario, es posible establecer que esto ha ocurrido efectivamente, según lo siguiente: el nodo destinatario mantiene un contador de referencia, que corresponde al número de nodos que se dirigen directamente a él; toda vez que se envía un mensaje, se añade información que incluye la identidad única del nodo transmisor; si el receptor requiere detectar si copias del mismo mensaje son enviadas por todos los nodos transmisores, entonces la información del identificador del nodo transmisor se retiene localmente, asociada con un correspondiente identificador de mensaje; y cuando el número de tales mensajes únicos recibidos es igual al contador de referencia, entonces se sabe que el mensaje ha sido recibido desde todos los nodos que se dirigen directamente a él.
Para nodos que no contienen un contador de referencia, puede utilizarse un algoritmo distinto de barrera causal. Este algoritmo se basa en la presencia de un campo de saldo acreedor en cada nodo que se dirige directamente al nodo receptor. Toda vez que se envía un mensaje, se añade información para incluir la identidad unívoca del nodo transmisor y el valor del campo de saldo acreedor. Si el receptor requiere detectar si copias del mismo mensaje son enviadas por todos los nodos, entonces la información del identificador del nodo transmisor se retiene localmente, asociada con el identificador del mensaje. Además, se mantiene un acumulador del saldo acreedor, que se configura para contener el total de todos los valores de saldo acreedor contenidos en tales mensajes. Se sabe que el mensaje ha sido recibido desde todos los nodos transmisores cuando el acumulador del saldo acreedor se hace igual a un valor total predeterminado, digamos, 1,0.
Ambas técnicas, la del cálculo de referencia y la del saldo acreedor, por lo tanto, garantizan que el algoritmo de barrera causal puede confirmar que todos los mensajes han sido recibidos por los módulos adecuados, estableciendo por ello la terminación del algoritmo de barrera causal para cualquier cambio específico en la topología interna de la red de mediación. La aplicación de tales "técnicas contables" permite a los módulos mediadores detectar cuándo está completo un cambio de mediación, sin requerir el conocimiento estático del número de módulos MR que les envían información.
La división equitativa de la carga de mediación sobre las máquinas físicas no es generalmente sensible a los cambios en las condiciones de la carga. Para ser sensible, la partición del espacio de información (distribución de la carga de mediación según la clasificación) debe estar equilibrada en la carga. En otras palabras, los requisitos de ancho de banda en cualquier punto específico en una red física deben mantenerse proporcionales a la carga de red como un todo. Según el foco lógico de los mensajes cambia a lo largo del tiempo, esto requerirá el ajuste dinámico basado en un modelo predictivo, a su vez basado en la historia reciente del flujo de información. La carga de red adicional, en la que se incurre sencillamente por tener que organizar la partición del servicio de mediación sobre más de una plataforma, también debe ser tenida en cuenta para cualquier modelo de equilibrio de la carga.
El requisito de mediación del sistema se dispersa entre los nodos de la red de mediación distribuida, según la clasificación impuesta sobre ese sistema. Sin embargo, se ha observado que no se requiere el conocimiento total de todas las ubicaciones y todos los predicados por parte de todos los nodos (máquinas) de la red. El único requisito para la operación correcta es que todo mensaje llegue eventualmente a un mediador que albergue una tarea de mediación adecuada para la categoría a la cual pertenece el mensaje.
Los servicios de mediación, por lo tanto, pueden ser trasladados dinámicamente, dentro de la red de mediación, mientras el sistema está operativo. Esto, a su vez, permite el ajuste de la carga del sistema dentro de la red de mediación, según los patrones, dinámicamente cambiantes, del interés entre los clientes del sistema. Tales patrones de interés pueden evaluarse según el conocimiento predefinido acerca de los clientes, mediante las expresiones de interés realizadas por ellos, o según el análisis de los patrones cambiantes del empleo dentro del sistema.
Equilibrio de cargas - Traspaso
La arquitectura de mediación distribuida de la presente invención se basa en una topología arbitraria de nodos: LPP, MR, M y TP. Esta topología de nodos tiene las propiedades descritas anteriormente, con relación al "estado estable". Esta misma topología es eminentemente adecuada para el equilibrio dinámico de las cargas entre los componentes funcionales existentes.
Toda vez que se estima que una categoría específica está sometida a una fuerte carga, el alojamiento de la tarea de mediación asociada puede ser trasladado a una máquina dentro de la red que tenga capacidad sobrante. El traspaso de la tarea de mediación también requiere ajuste dinámico de la red de mediación, para asegurar que todo mensaje, ya sea actualmente dentro de la red, o bien a recibir en el futuro, sea desviado al nuevo nodo mediador. Esto puede lograrse por medio de la propagación de mensajes especiales por la nueva topología lógica de la red, es decir, una "ondulación causal" a través de las máquinas adecuadas. El cambio de medición puede ocurrir, por ello, dentro de un sistema vivo sin afectar el comportamiento observable de ese sistema en términos de entrada y salida de mensajes.
El cambio de mediación, en última instancia, es posible en virtud de la propiedad invariante global, por la cual un mensaje entrante será encaminado al mismo mediador, independientemente del LPP del cual emana. El cambio de mediación plantea el problema de cambiar desde un estado coherente a otro, dentro de un sistema vivo, y sin afectar adversamente la corrección o las prestaciones del sistema. Deben considerarse dos funciones principales de la red de mediación distribuida: la propagación de mensajes y la consulta y, en particular, las consultas de arranque.
Para contestar las consultas, es necesario saber qué clasificación se está aplicando en cualquier momento específico. Esto permite el descubrimiento de qué mediador alberga a cualquier categoría dada de mensaje en cualquier momento dado. Sin embargo, hacer esto determinísticamente para cualquier clase de consulta requeriría algún grado de sincronización global. Como alternativa a la sincronización global, se dispone el modelo de mediación distribuida a fin de permitir que ciertas clases de consulta sean contestadas sin información global perfecta ni sincronización.
Considérese la progresión de estados desde un momento en el cual el sistema está en un primer estado coherente PS1 a un nuevo estado coherente PS2. En el instante t_{0}, comienza el proceso de mudar al nuevo estado PS2. En algún momento desconocido después de esto, t_{1}, se sabe que el sistema ha mudado al nuevo estado consistente PS2. El momento t_{b}, cuando tiene lugar el cambio efectivo, es desconocido, pero está acotado por t_{0} y t_{1}.
Entre los momentos t_{0} y t_{1}, definimos que el sistema está inestable, queriendo decir que el prorrateo actualmente operativo de tareas de mediación no se conoce globalmente. Sin embargo, ninguna de las funciones de sistema se ve afectada, ya que en cada punto se dispone de suficiente conocimiento local como para poder tratar correctamente el flujo de información.
Se describe ahora un algoritmo adecuado para permitir que la partición (clasificación) subyacente, según lo manifestado por el prorrateo de tareas de mediación, sea cambiada en un sistema en funcionamiento. Debería observarse que el algoritmo es capaz de tratar la adición o la retirada de nodos mediadores, una funcionalidad expuesta en más detalle más adelante.
Utilizando, por razones de claridad, un modelo simplificado, en el cual cada mensaje lleva un contenido extraído de un conjunto finito de símbolos. La partición (clasificación) se caracteriza por un mapeo entre etiquetas de contenido y un conjunto finito de clases (categorías). Las clases se nombran según su mediador asignado. Los cambios en la partición se caracterizan por especificar la reasignación de una etiqueta de contenido a un mediador distinto.
También por razones de simplicidad descriptiva, se supone que: los cambios sólo involucran a dos mediadores; y que un cambio se completa antes de que otro empiece. Ninguna de estas suposiciones es un requisito absoluto, pero se han hecho para simplificar el modelo; no obstante, el modelo simplificado es general y permite que se haga un cambio arbitrario al sistema.
El proceso comienza con un mensaje CAMBIO_PRED que es enviado por algún LPP (iniciador) a su encaminador de mediadores (véase la Figura 5A). El contenido de un mensaje CAMBIO_PRED describe la reasignación de una etiqueta de contenido a un mediador destinatario, R. distinto. El MR lee esta etiqueta de contenido y remite el mensaje al mediador, S, que trata actualmente ese contenido.
Al recibir un mensaje CAMBIO_PRED (según se muestra en la Figura 5B), el mediador:
Cambia su estado de ESTABLE a REMITENTE_TRASPASO.
Envía al mediador, R, destinatario del traspaso un mensaje TRASPASO_MEDIADOR que contiene el contenido del mensaje CAMBIO_PRED.
Cambia su estado interno para remitir mensajes que contienen la etiqueta de contenido al mediador R destinatario del traspaso para este cambio.
Desde este punto en adelante, todo mensaje enviado por cualquier encaminador de mediadores al mediador S referido al tema sujeto al cambio de mediación será remitido al mediador R. El fin del mensaje MEDIADOR_CAMBIADO, enviado a todos los LPP del mediador mediante los TP, es garantizar la entrega causal de mensajes enviados por la red flujo abajo.
Cuando un LPP recibe un mensaje MEDIADOR_CAMBIADO, se pone a sí mismo en el estado ALMACENANDO. Cuando está en este estado, el LPP almacena temporalmente todos los mensajes DATOS_CORRIENTEABAJO hasta que recibe un mensaje NUEVO_MEDIADOR para el correspondiente contenido. Esto es suficiente para garantizar el ordenamiento causal de los mensajes remitidos al mediador R y para impedir que los mensajes más antiguos, sujetos a mediación por parte del mediador S, sean procesados por el LPP fuera de orden.
Como se muestra en la Figura 5, al recibir un mensaje TRASPASO_MEDIADOR, un mediador cambia su estado desde ESTABLE a RECEPTOR_TRASPASO, denotado por la etiqueta R en el nodo mediador. En este estado, un mediador espera mensajes remitidos cuyo contenido coincide con el del mensaje TRASPASO_MEDIADOR. Desde el momento en que se recibe el mensaje TRASPASO_MEDIADOR, el mediador está sometiendo a mediación ese contenido, aunque el resto del sistema puede no ser consciente de esto. A fin de notificar a la arquitectura de un cambio de mediación, el nuevo mediador envía un mensaje NUEVO_MEDIADOR a todos sus TP. Esto es una transmisión del cambio de mediación, y es remitido por los TP a todos los LPP, y por todos los LPP a todos los MR, según se muestra en la Figura 5C.
Según se muestra en la Figura 5D, cuando un MR recibe un mensaje NUEVO_MEDIADOR, actualiza su tabla de encaminamiento a fin de causar que el futuro contenido que coincida con la carga útil del mensaje NUEVO_MEDIADOR sea enviado al mediador R, en lugar de al mediador S. En este punto se ha logrado un cambio en el encaminamiento basado en contenido. Sin embargo, el mediador S debe ser informado de este suceso, para que pueda cesar de remitir mensajes una vez que todos los MR estén al tanto de que el mediador R es ahora el mediador del contenido. De manera similar, el mediador R necesita ser informado de estos sucesos, para que pueda volver a la operación estable y dejar de esperar mensajes remitidos. En consecuencia, después de cambiar su tabla de encaminamiento, un MR envía un mensaje PE_PS_CAMBIADO al viejo mediador del contenido (S), que extrae de la tabla de encaminamiento antes de actualizarlo. Como se muestra en la Figura 5E, los mediadores en el estado REMITENTE_TRASPASO remiten todos los mensajes PE_PS_CAMBIADO al nuevo mediador destinatario.
El algoritmo de traspaso puede emplear el procedimiento de barrera causal para mantener el ordenamiento causal con una técnica de contador de referencia, a fin de establecer que los mensajes se han propagado correctamente por la red de mediación. Los mediadores en los estados REMITENTE_TRASPASO y RECEPTOR_TRASPASO cuentan los mensajes PE_PS_CAMBIADO recibidos desde los MR, lo que les permite determinar cuándo todos los MR en el sistema han recibido la información del cambio de mediador. Cuando reciben el último mensaje PE_PS_CAMBIADO, cambian su estado de REMITENTE_TRASPASO y RECEPTOR_TRASPASO, respectivamente, al estado ESTABLE, según se muestra en la Figura 5F.
Como puede verse en la descripción anterior, el comportamiento de un mediador se caracteriza por una máquina de estados finitos que puede estar en uno de los siguientes tres estados:
ESTABLE - El estado normal, en funcionamiento, del mediador; no está transcurriendo actualmente ningún cambio dentro del conjunto de predicados que resulte en el tratamiento por su parte de una clase de equivalencia mayor o menor, dentro del espacio de datos.
RECEPTOR_TRASPASO - El mediador está en un estado inestable, y el tamaño de su clase de equivalencia acaba de aumentar, debido a la reasignación de parte del espacio de mensajes (el delta) desde otro mediador (el REMITENTE_TRASPASO). Mientras está en este estado, puede recibir mensajes remitidos desde el mediador previamente responsable del delta, los cuales pasa a su agente de transmisión como si hubiesen sido enviados directamente a él. También puede recibir mensajes de datos dentro del delta, directamente desde cualquier evaluador de predicados que esté al tanto de su nuevo papel; cualquier tal mensaje debe ser almacenado temporalmente hasta que se sepa que no pueden estar llegando más mensajes remitidos desde el mismo origen (mediante un mensaje PE_PS_CAMBIADO).
REMITENTE_TRASPASO - El mediador está en un estado inestable, habiendo pasado un delta desde su anterior clase de equivalencia a otro mediador. Todo mensaje recibido dentro del delta debe remitirse al correspondiente RECEPTOR_TRASPASO.
\vskip1.000000\baselineskip
El algoritmo de traspaso funciona muy bien, siempre que la red de mediación tenga la capacidad necesaria para mediar en el tráfico que fluye a través de ella. Un sistema de mediación de larga vida, sin embargo, puede estar sujeto a un cambio significativo durante su vida útil. El cambio puede ocurrir, por ejemplo: en el volumen del tráfico, tanto de abonos como de ediciones; en el número y en la distribución geográfica de los clientes; y/o en la localidad desde la cual se originan las solicitudes. Además, según el contenido de los mensajes cambia a lo largo del tiempo según el cambio en la demanda de los clientes, las proporciones relativas de las tareas de mediación requeridas pueden alterarse significativamente, dejando a la partición existente desequilibrada o inadecuada de alguna otra manera.
A fin de asimilar el cambio, es necesario que el sistema de mediación distribuida sea adaptable. Puede ser necesario redesplegar recursos físicos, mediante la adición o eliminación de nodos de cualquier clase, en puntos adecuados dentro del sistema, para abordar los volúmenes cambiantes de tráfico dentro de un dominio geográfico dado. Según el contenido de los mensajes de clientes cambia a lo largo del tiempo, la partición aplicada al conjunto de mensajes para dividir la tarea de mediación entre los mediadores disponibles puede requerir ajustes, para equilibrar la carga de mediación y para asegurar su empleo eficiente.
En ciertas aplicaciones críticas, tal adaptación debe lograrse sin interrumpir el servicio que se está suministrando.
Siempre que los invariantes globales anteriores y las dependencias esbozadas se preserven, la funcionalidad adicional no interferirá con el mecanismo previamente definido. De allí en más, el servicio de mediación puede ser dinámicamente reasignado entre los mediadores existentes según el algoritmo de traspaso.
Los cambios en la topología lógica de la red de mediación distribuida pueden desestabilizar el servicio, o servicios, sujeto(s) a mediación, y pueden finalizar el servicio albergado.
Una red práctica de mediación distribuida, por lo tanto, debe abordar simultáneamente cuestiones tanto de equilibrio de carga como de estabilidad. Con ciertos agregados clave, el modelo híbrido de mediación distribuida anteriormente descrito puede ser implementado más efectivamente en sistemas físicos prácticos. Estos agregados clave combinan la migración dinámica de procesos y el encaminamiento adecuado en la infraestructura de la red, permitiendo por ello que se logre la implementación efectiva sin incurrir en sobregastos inaceptablemente altos y en la finalización involuntaria de los servicios. El modelo híbrido de mediación distribuida también debe permitir el ajuste a escala de la arquitectura sin afectar la latencia del mensaje.
De manera similar, es probable que un sistema de mediación distribuida sea implementado sobre una infraestructura de red que está sujeta a fallo parcial. En consecuencia, un sistema de mediación distribuida, toda vez que sea posible, debería tener mecanismos para detectar fallos y tomar acciones correctivas.
Toda vez que sea posible, ambos requisitos anteriores deberían proporcionarse autónomamente, es decir, sin la necesidad de la intervención humana.
El modelo híbrido de mediación distribuida, en efecto, puede extenderse más allá de la funcionalidad de equilibrio de cargas previamente descrita. Las siguientes clases de funcionalidad añadida pueden implementarse sobre una red existente, en reposo, de mediación distribuida:
En una primera clase de funcionalidad, denominada reconfiguración lógica, se proporcionan mecanismos para la (i) adición, (ii) conmutación y (iii) retirada de nodos individuales y combinaciones de nodos. Estos mecanismos permiten una reconfiguración arbitraria de una red existente de mediación distribuida, teniendo lugar tal reconfiguración dentro de un sistema vivo, sin afectar el comportamiento exteriormente observable de ese sistema. Un mecanismo de reconfiguración es un procedimiento implementado por ordenador que permite cambios arbitrarios en la topología lógica de la red, más allá del sencillo traspaso de tareas de mediación entre los mediadores. El resultado se logra con el despliegue y/o redespliegue dinámico de los nodos lógicos sobre una infraestructura física flexible y cambiante. El despliegue arbitrario de la arquitectura lógica sobre una red arbitraria de dispositivos informáticos físicos, por lo tanto, es posible sin ningún requisito en cuanto a que el servicio que se alberga deba finalizar.
Una segunda clase de funcionalidad que puede implementarse sobre una red existente de mediación distribuida es la del tratamiento de fallos. Allí donde el comportamiento de una red de mediación distribuida deje temporalmente de satisfacer sus requisitos, debido al fallo de un nodo individual, pueden definirse mecanismos que permiten la reconfiguración de los nodos restantes, para que comiencen una vez más a comportarse como lo hacía la red original antes del fallo. Un mecanismo de tratamiento de fallos tiene en cuenta el descubrimiento dinámico de fallos de nodos físicos dentro de la arquitectura de la red. Los mecanismos de tratamiento de fallos pueden responder entonces redesplegando la funcionalidad lógica del nodo averiado sobre un conjunto distinto de nodos físicos, que no incluye al que se sabe averiado. Esto puede lograrse proporcionando mecanismos adicionales para detectar el origen del fallo, y reutilizando los mecanismos de reconfiguración anteriormente identificados para reconfigurar la red restante. La funcionalidad en esta clase también puede implementarse dentro de un sistema vivo sin afectar al comportamiento observable; en particular, evitando todo requisito para finalizar el servicio albergado.
En una tercera clase de funcionalidad, denominada refinamiento estructural, hay mecanismos para permitir el reemplazo de un nodo, o nodos, individual(es) dentro de una red de mediación distribuida, por cualquier otra red, incluyendo una red adicional de mediación distribuida. Esta refinación estructural preserva en sí misma las invariantes globales y las propiedades requeridas para ese nodo dentro de la red de mediación distribuida, y opera nuevamente dentro de un sistema vivo. La refinación estructural mejora el despliegue de estructuras arquitectónicas genéricas, de manera tal que los nodos lógicos individuales puedan ser reemplazados por subredes completas de nodos u otros tipos de nodos de tamaño arbitrario. El despliegue no debe ser necesariamente un proceso nodo por nodo.
En todos los casos, el ajuste en la red viva está afectado por la adición e interpretación de nuevos tipos de mensajes, similares en su naturaleza a la totalidad de tipos y comportamientos, según lo ejemplificado en la exposición del traspaso de mediador.
La funcionalidad en cada una de las tres clases principales se describe en más detalle a continuación.
Reconfiguración: adición de nodos
Esta sección aborda la importante utilidad para la adición de nuevos nodos. En cada caso, consideramos la adición, bien de un nuevo nodo individual, o bien de un par de nuevos nodos, a una red. La adición de nuevos nodos lógicos puede coincidir con la adición de nuevos nodos físicos (máquinas). Esto no implica ninguna pérdida de generalidad, dado que los mismos principios son igualmente aplicables a la adición de una pluralidad de nodos, o incluso de redes completas de mediación distribuida. En cada caso, deben considerarse dos aspectos: primero, que el nuevo nodo esté correctamente configurado para operar en su entorno venidero (Parte A) y, segundo, que la red en la cual se introduce el nuevo nodo esté debidamente configurada (Parte B).
Puede añadirse cualquiera de los siguientes nodos:
*
un solo LPP
*
un solo M
*
un par LPP -> MR
*
un par M -> TP
y se mantendrán los invariantes y dependencias del sistema. Para añadir un nuevo MR, debemos añadir un nuevo LPP, dado que los LPP se dirigen únicamente a un MR individual. De manera similar con los TP, dado que los mediadores se dirigen únicamente a un TP individual. En combinación con la conmutación, esto es suficiente para permitir que se construyan topologías legales arbitrarias. Cuando añadimos un LPP extra, estamos proporcionando capacidad extra en la interfaz del cliente. Cuando añadimos nuevos mediadores, estamos añadiendo capacidad de mediación extra. Añadir los MR aumenta la capacidad de entrada al sistema de mensajería, y añadir los TP aumenta la capacidad de salida del sistema.
Se observará que muchos de los algoritmos requieren la transmisión de (nuevas) direcciones de nodo a través de la red. Por ejemplo, cuando se añade un LPP al sistema, se envía un mensaje NUEVO_LPP que tiene un campo llamado nueva_dir_lpp. Las nuevas direcciones de nodo pueden codificarse en diversas formas - por ejemplo, podría utilizarse un par (dirección IP, dirección de puerto). Esto depende de la implementación, y no se abordará adicionalmente en este documento.
La instigación de cualquier nuevo mensaje de nodo dado puede ser, entre otras cosas: un operador humano, por medio de una interfaz de administración; una red de control semi-automática que monitoriza los niveles de carga; o bien un sistema autónomo de control de red de mediación.
Adición de LPP
Parte A
Configuración de nuevo nodo
Un LPP sólo necesita saber la dirección de sus interlocutores (sus MR en el modelo estándar). Esto es un parámetro de configuración para la inicialización del LPP. Para actualizar el contador de referencia mantenido por el MR, el nuevo LPP debe enviar un mensaje NUEVO_LPP al MR. Al recibir este mensaje, se actualiza el contador de referencia del MR. Este mensaje también se utiliza para iniciar el ciclo requerido para configurar la red.
Parte B
Configuración de Red
Para añadir un nuevo LPP, debe actualizarse cada red flujo abajo. Esto requiere que cada red flujo abajo sea actualizada individualmente. Esto puede lograrse propagando un mensaje a cada mediador, para su transmisión a la red flujo abajo.
El formato del mensaje para la adición de los LPP es el siguiente:
100
Utilizamos un LPP arbitrario para introducir los cambios y llamamos al LPP escogido el LPP originador.
El proceso es el siguiente: se envía un mensaje Nuevo_LPP (nº_transacción, nueva_dir_lpp) al LPP originador. El nuevo LPP puede empezar a recibir mensajes en cualquier momento arbitrario después de que se haya enviado este mensaje. El LPP originador envía este mensaje a su MR, que remite el mensaje a cada mediador. Los mediadores remiten el mensaje a sus interlocutores (los TP en el modelo estándar). En este punto en el proceso, el conocimiento del nuevo LPP se conoce globalmente. Para garantizar la terminación del algoritmo, los TP envían el mensaje NUEVO_LPP al LPP originador con sus saldos acreedores. El nuevo LPP suma el saldo acreedor y, cuando éste alcanza un valor predeterminado, digamos, 1,0, el nuevo LPP sabe que el proceso está completo. Este proceso se muestra en las Figuras 8A a 8E.
Adición de mediador
El algoritmo de cambio de mediador es un componente del modelo de mediación distribuida, y sirve para permitir que los mediadores existentes cambien su carga de mediación. Sin embargo, este mecanismo no puede ser simplemente extendido para brindar soporte a la configuración de un nuevo nodo o red. En consecuencia, se requiere un algoritmo distinto de adición de mediador para brindar soporte a la adición de nuevos mediadores.
Parte A
Configuración del nuevo nodo
Un mediador sólo necesita saber la dirección de sus interlocutores (sus TP en el modelo estándar). Esto es un parámetro de configuración para la inicialización del mediador. Para actualizar el contador de referencia mantenido por el TP, el nuevo mediador envía un mensaje Nuevo_Mediador (descrito más adelante) al TP. Al recibir este mensaje, se actualiza el contador de referencia del mediador en el TP. Este mensaje también se emplea para iniciar el ciclo de diseminación de la existencia del nuevo mediador a los MR.
Parte B
Configuración de Red
Para añadir un mediador, cada MR direccionador debe ser actualizado con el conocimiento del nuevo mediador. El proceso es similar a la adición de LPP, excepto en que el ciclo se origina en el nuevo mediador.
\newpage
El formato del mensaje para la adición del mediador es el siguiente:
101
El proceso es el siguiente: se envía un mensaje Nuevo_Mediador (nº_transacción, nueva_dir_M) al TP para su propagación. El nuevo mediador no empezará a recibir mensajes de mediación hasta que haya tenido lugar el cambio de mediación. Sin embargo, puede recibir mensajes de mantenimiento en cualquier momento arbitrario después de que este mensaje haya sido enviado. El TP remite el mensaje a todos los LPP. Los LPP remiten el mensaje a sus interlocutores (los MR). Al recibir este mensaje, los MR tienen conocimiento del nuevo mediador. Para garantizar la terminación del algoritmo, los MR envían el mensaje Nuevo_Mediador al nuevo mediador con sus saldos acreedores. El nuevo mediador suma el saldo acreedor y, cuando éste alcanza un valor predeterminado, digamos, 1,0, el nuevo mediador sabe que el proceso está completo. Este proceso se muestra en las Figuras 9A a 9D.
Adición de encaminador de mediadores
Como se ha mencionado anteriormente, cada encaminador de mediadores debe ser direccionado por un LPP a fin de mantener los invariantes globales. Un MR no puede existir sin un LPP que se dirija a él. Por lo tanto, un nuevo MR no puede crearse sin un LPP asociado. Esta restricción, sin embargo, no impide que ambas funciones sean albergadas en un nodo de ordenador físico individual, o incluso en un programa individual.
La primera etapa en la adición del nuevo MR, por lo tanto, es crear e inicializar un nuevo LPP sin ningún cliente. Esto da como resultado la situación ilustrada en la Figura 10. Una vez que se ha alcanzado esta situación, se utiliza el nuevo LPP para crear un nuevo MR.
Parte A
Configuración del nuevo nodo
Operar un MR requiere un mapa de encaminamiento actualizado. Durante los periodos estables, los mapas de encaminamiento son los mismos para todos los MR en el sistema. Por lo tanto, un nuevo MR puede obtener un mapa de encaminamiento de cualquier MR establecido en el sistema. Los MR también requieren un saldo acreedor, que sólo puede obtenerse de otro MR.
Para iniciar el proceso se envía un mensaje NUEVO_MR (nueva_dir_mr) al LPP recién creado. El formato de los mensajes es el siguiente:
102
\newpage
El LPP añade su propia dirección y envía un NUEVO_MR(nueva_dir_mr, dir_lpp). Cuando este mensaje es recibido por un MR, envía un mensaje NUEVA_TABLA_ENCAMINAMIENTO_MR y adosa la dirección del nuevo MR, la dirección del nuevo LPP, la información de encaminamiento y una fracción de su saldo acreedor. Este mensaje se remite a un mediador arbitrario y se pasa por la red flujo abajo al LPP cuya dirección está en el mensaje NUEVA_TABLA_ENCAMINAMIENTO_MR. El LPP pasa entonces el mapa de encaminamiento al MR recién creado. El MR utiliza esta información para inicializar su saldo acreedor y sus mapas de encaminamiento.
Parte B
Configuración de Red
A fin de hacer uso del nuevo MR, el nuevo LPP necesita cambiar su MR por el recién creado. Este proceso se inicia inmediatamente después de que el mensaje NUEVA_TABLA_ENCAMINAMIENTO_MR haya sido recibido por el nuevo MR. Al recibir este mensaje, el nuevo MR envía un mensaje MR_INICIALIZADO() al nuevo LPP. Éste, a su vez, envía mensajes INC_CONT_REF() y DEC_CONT_REF() a los MR nuevo y viejo, respectivamente. Este proceso se ilustra en las Figuras 11A a 11E.
Adición de agente de transmisión
A fin de mantener los invariantes globales, un TP debe ser direccionado por un mediador. Un TP no puede existir sin un mediador que se dirija a él. Por lo tanto, no puede crearse un TP sin un mediador asociado. Observe que esto no impide que ambas funciones sean albergadas por un nodo informático físico individual, o incluso un programa individual. Este es el caso simétrico a la creación de los TP.
La primera etapa en la adición del nuevo agente de transmisión, por lo tanto, es crear e inicializar un nuevo mediador, que no está mediando en ningún dato. La Figura 12 ilustra esta primera etapa.
Parte A
Configuración del nuevo nodo
Para funcionar, un nuevo TP requiere conocimiento de todos los LPP en el sistema. Esto puede obtenerse de cualquier otro TP configurado en el sistema. Los TP también requieren un saldo acreedor, que sólo puede obtenerse de otro TP.
Para iniciar un proceso, se envía un mensaje NUEVO_TP(nueva_dir_tp) al mediador recién creado. El formato de este mensaje es el siguiente:
103
El mediador añade su propia dirección y envía un NUEVO_TP(dir_nuevo_tp, dir_mediador). Cuando este mensaje es recibido por un TP, remite el mensaje que contiene la dirección del nuevo TP, la dirección del nuevo mediador, la lista de los LPP conocidos y una fracción de su saldo acreedor. Este mensaje se remite a un LPP arbitrario. El LPP entonces pasa el mapa de encaminamiento al TP recién creado. El TP utiliza esta información para inicializar su saldo acreedor y su lista de los LPP conocidos.
Parte B
Configuración de Red
A fin de hacer uso del nuevo TP, el nuevo mediador necesita cambiar su TP por el recién creado. Este proceso es iniciado por el envío, desde el nuevo TP, de un mensaje TP_INICIALIZADO() al nuevo mediador. Al recibir este mensaje, el nuevo mediador envía un mensaje INC_CONT_REF() al nuevo TP y un mensaje DEC_CONT_REF() al viejo TP. Las etapas involucradas en ambas partes del proceso de adición del agente de transmisión se ilustran en las Figuras 13A a 13E.
Reconfiguración: Conmutación de Nodos
Por conmutación nos referimos a los cambios en la topología, en donde un arco saliente desde un nodo es redirigido a otro nodo. La conmutación, por lo tanto, es sólo aplicable a los arcos salientes desde los LPP y los mediadores, dado que tanto los TP como los MR tienen un conjunto invariable de interlocutores.
Los destinatarios de la conmutación son bien los MR o bien los TP. El comportamiento de estos nodos es independiente con respecto a la identidad de sus direccionadores. Por lo tanto, el único requisito para conmutar, a fin de mantener un sistema coherente, es que los contadores de referencia estén correctamente ajustados entre las máquinas de referencia.
La conmutación tendrá lugar atómicamente con respecto a las máquinas direccionadoras (los LPP y los mediadores); por lo tanto, los datos pueden continuar fluyendo durante la operación de conmutación. Durante la operación de conmutación, los contadores de referencia pueden ser temporalmente incorrectos, pero esto es inofensivo con respecto a los algoritmos.
El LPP objeto de conmutación envía un mensaje CONMUTAR_MR a su MR actual, con su propia dirección y la dirección del nuevo MR como parámetros. Al recibir este mensaje, el MR comprueba su contador de referencia. Si el contador de referencia ha alcanzado un nivel de umbral predeterminado, digamos 1, el MR responde con un mensaje CONMUTAR_MR_FALLO. En caso contrario, responde con un mensaje CONMUTAR_MR_BIEN, habiendo decrementado su contador de referencia. Al recibir este mensaje, el LPP conmuta su MR al nuevo MR y le envía un mensaje CONMUTAR_NUEVO_MR. Al recibir este mensaje, el nuevo MR incrementa su contador de referencia.
El algoritmo CONMUTAR_MEDIADOR es el mismo: el mediador que está siendo conmutado envía un mensaje CONMUTAR_TP a su TP actual, con su propia dirección y la dirección del nuevo TP como parámetros. Al recibir este mensaje, el TP comprueba su contador de referencia; si el contador de referencia ha alcanzado un valor de umbral predeterminado, digamos 1, el TP responde con un mensaje CONMUTAR_TP_FALLO. En caso contrario, responde con un mensaje CONMUTAR_TP_BIEN, habiendo decrementado su contador de referencia. Al recibir este mensaje, el mediador conmuta su TP al nuevo TP y le envía un mensaje CONMUTAR_NUEVO_TP. Al recibir este mensaje, el nuevo TP incrementa su contador de referencia.
Reconfiguración: Retirada de Nodos
Con dos precondiciones, pueden conservarse los invariantes globales según se retiran los nodos. En primer lugar, los LPP y los mediadores pueden retirarse como nodos individuales, mientras no tengan ninguna implicación funcional dentro de la red: en el caso de los LPP, no debería haber ningún cliente funcional y, en el caso de los mediadores, no debería haber ninguna tarea de mediación en ese mediador. En segundo lugar, los nodos a retirar no deben ser los únicos direccionadores de sus interlocutores.
Los requisitos para la retirada, entonces, se refieren únicamente a los invariantes topológicos, y la tarea de la retirada requiere la actualización de cada precursor, para eliminar el registro de la presencia del nodo.
Los MR y los TP no pueden retirarse aisladamente, por las mismas razones por las cuales no pueden crearse aisladamente y, por lo tanto, deben retirarse en pareja junto con un único precursor. Por razones funcionales, no pueden retirarse si las máquinas precursoras están contando con su presencia. En consecuencia, un MR puede retirarse sólo si (a) tiene un único LPP que se dirige a él y (b) ese LPP no tiene ningún cliente. En ese punto, el LPP y el MR pueden retirarse como una pareja. La retirada de esta pareja tiene precisamente el mismo requisito que la retirada del LPP único.
De manera similar, un TP puede retirarse sólo si (a) tiene un único mediador que se dirige a él y (b) ese mediador no tiene ninguna tarea de mediación asociada a él. En ese punto, el mediador y el TP pueden retirarse como una pareja. La retirada de esta pareja tiene precisamente el mismo requisito que la retirada del mediador único.
En todos los casos, la retirada de un nodo requiere el ajuste de saldos acreedores o de contadores de referencia.
Recuperación de Fallos
Esta sección aborda algoritmos para tratar los fallos dentro de una infraestructura de encaminamiento sujeta a mediación. Se proporcionan mecanismos para detectar el fallo, para reubicar y recuperar cualquiera de los tipos de nodos, y para restablecer las conexiones.
Para facilitar la descripción, se hacen las siguientes suposiciones:
*
el modelo de fallos es "no solapado" - es decir, no ocurren dos fallos concurrentes y cada fallo es corregido antes de que ocurra otro.
*
cada nodo está albergado en una máquina física distinta.
*
dos máquinas cualesquiera pueden establecer una conexión, siendo una fuente de fallos las conexiones caídas entre máquinas que pueden restablecerse.
\vskip1.000000\baselineskip
Además, se supone que se proporciona un nodo de detección de fallos individual que no es parte de la red de mediación distribuida. En la práctica, este nodo de detección de fallos podría implementarse como otra red de mediación distribuida. Cada nodo es capaz de conectarse con el nodo de detección de fallos e informar de fallos en el sistema, según se muestra en la Figura 14.
Cada nodo es capaz de detectar el fallo de los enlaces de comunicaciones entrantes o salientes, e informar del fallo al nodo de detección de fallos.
Los mensajes de detección de errores tienen la siguiente forma:
ERROR (tipo de nodo transmisor, dirección_desde, dirección_a)
En el caso de un fallo de un enlace entrante o una máquina direccionadora, se desconoce la dirección desde. En el caso de un fallo de un enlace saliente o una máquina direccionada, pueden proporcionarse ambas direcciones. Si ocurre un fallo de enlace, sólo el transmisor y el receptor informarán de un fallo. Además, la dirección_a del transmisor coincidirá con la dirección_desde del receptor, lo cual indicará de forma concluyente un fallo de enlace, en lugar de un fallo de nodo. En este caso, el nodo de detección de fallos puede instruir al transmisor para restablecer el enlace. Si un nodo falla, todos los enlaces a y desde ese nodo fallarán y, en consecuencia, se informará de ellos al nodo de tratamiento de fallos. La información enviada al nodo de tratamiento de fallos puede emplearse para determinar el tipo e identidad del nodo averiado, según se muestra en la matriz de fallos (Figura 7). En consecuencia, el nodo de tratamiento de fallos es capaz de detectar e identificar la clase de error y dónde ha ocurrido.
Nuestra hipótesis simplificadora es que los nodos no están albergados conjuntamente y, por lo tanto, un fallo individual de máquina física sólo puede causar un fallo lógico individual. Observamos que esta hipótesis puede debilitarse significativamente y aún permitir la detección de patrones de fallo característicos, tales como aquellos enumerados para los nodos lógicos individuales. En particular, si suponemos que sólo pares de nodos conectados están albergados conjuntamente, el fallo puede ser detectado. El proceso de tratamiento de fallos se ilustra en las Figuras 15A a 15E.
Estrategia de Recuperación
Para cualquier fallo de nodo individual, la estrategia básica es crear una nueva instancia (o utilizar un recambio disponible) de ese tipo de nodo, y reconfigurar la red para utilizarlo. Esto requiere: bien conocer o bien recrear el estado interno del nodo e, igualmente, bien conocer o bien crear su topología de entorno inmediato. La segunda de estas tareas (la topología del entorno inmediato) está capturada por la totalidad de los mensajes de error enviados al nodo de tratamiento de fallos en caso de fallo.
La recreación de la topología es llevada a cabo tanto en nodos que transmiten a nodos averiados como en nodos que reciben desde nodos averiados. En el primer caso, toda vez que un nodo envía un mensaje de error, en el cual se especifican ambos campos desde y a, el nodo de detección de fallos responde con la identidad del nodo de reemplazo. Este identificador de nodo devuelto se utiliza para sobregrabar la entrada en el estado interno del nodo que se refiere al nodo averiado y, en ese punto, este nodo puede continuar con su operación normal.
En el caso de receptores desde nodos averiados, parte del estado interno del nodo averiado incluirá siempre la identidad del nodo flujo arriba que informa del fallo, o fallos. En el caso de los LPP y los M, este es un único nodo, cuya identidad puede detectarse a partir del mensaje de error enviado por el nodo inmediatamente flujo abajo del nodo averiado. Este estado puede utilizarse en la creación del nodo de reemplazo.
En principio, la topología alrededor de los MR averiados y, respectivamente, de los TP averiados, puede recrearse igualmente bien a partir de la totalidad de los mensajes de error recibidos; sin embargo, existe un argumento similar para el empleo del algoritmo de recuperación del crédito, con preferencia sobre el simple recuento de referencias, según lo descrito en otra parte y, con este fin, observamos que la totalidad de los arcos salientes es idéntica para todos los MR y, respectivamente, los TP en la red; por lo tanto, puede adquirirse una copia de este estado desde un nodo vivo del tipo apropiado, como en los mecanismos de reconfiguración descritos en otra parte, para evitar el tráfico de red excesivo.
El contenido semántico también debe recrearse, además de la topología. En otras palabras, todos los tipos de nodos llevan información adicional de estado interno, que debe recrearse de alguna manera. Esta información adicional de estado interno abarca los siguientes campos: contadores de referencia, listas de interés, saldos acreedores y estado de mediación.
Los contadores de referencia son averiguables a partir de la suma de los mensajes de error recibidos, observando que esta es información local y, por lo tanto, no deberían presentar un coste inaceptable. Además, esta información no se requiere para el funcionamiento en vivo del sistema, incluyendo el cambio de mediación y, por lo tanto, no se requiere que esté disponible para la continuación, sino sólo antes de otro fallo, o una reconfiguración controlada.
Los LPP llevan listas de los temas de mediación en los cuales están interesados sus clientes; los TP llevan listas de cuáles LPP tienen interés en los temas de mediación que atienden. Por lo tanto, la suma del conocimiento de las listas de interés es la misma para el conjunto de todos los LPP y el conjunto de todos los TP. En caso de que un TP esté averiado, la lista de interés del nodo puede ser recreada, en principio, por el conocimiento contenido en los LPP direccionados por él. En el caso de que un LPP haya fallado, la lista de interés del nodo puede ser recreada, en principio, por el conocimiento contenido en los TP que se dirigen a él. Es digno de observación que la operación en vivo, en ambos casos, puede recomenzar inmediatamente después de que haya sido recreada la topología de la red, garantizando que todos los mensajes sean transmitidos desde un nuevo TP a todos los LPP; la presencia de listas de interés en los TP es meramente para fines de optimización, y la presencia de listas de interés en los LPP es meramente para permitir que éstas sean recreadas en caso de fallo.
Los saldos acreedores son mantenidos por los MR y los TP con el fin de detectar la terminación para los algoritmos de cambio de mediación y de topología; puede observarse inmediatamente que la operación del sistema en vivo puede recomenzar, en ausencia de estas actividades, inmediatamente después de la recuperación de la topología. Para recuperar los saldos acreedores, es posible mantener el estado del saldo acreedor de cada nodo dentro de la misma arquitectura de mediación. Toda vez que se asigna un saldo acreedor, la información que captura los nuevos saldos acreedores de los dos nodos afectados se envía a la red de mediación y es almacenada por algún mediador. Esta información puede recuperarse utilizando un mensaje de consulta normal a la red, y el saldo acreedor del nuevo
nodo.
En la exposición precedente, el modelo de mediación distribuida requiere que los mediadores mantengan un registro de mensajes; se pretende que esto sea sólo a título ilustrativo, en vez de una interpretación literal del sistema, siendo el registro un modelo totalmente general que dará soporte, en principio, a cualquier tarea de medición. En la práctica, es improbable que esto fuese la representación óptima para cualquier tarea de mediación. Por lo tanto, es probable que los mediadores actuaran como pasarelas a las API (Interfaces de Programación de Aplicaciones) de una aplicación (externa). En este caso, los mismos nodos mediadores no llevarían ningún estado adicional y, por lo tanto, la recreación de la topología de red es suficiente.
Es digno de observación, sin embargo, que, en el caso más general, donde un mediador registra cada mensaje, es igualmente posible para los MR registrar también cada mensaje, de donde proviene el potente invariante de sistema de que la suma de los mensajes registrados por los MR es igual a la suma de los mensajes registrados por los mediadores. Por lo tanto, el caso es que es posible perseguir una estrategia de recuperación similar a aquella utilizada para las listas de interés en el caso de un fallo en cualquiera de ambas categorías. Este enfoque se ilustra en la Figura 16.
Refinación Estructural
La arquitectura cúbica del "modelo de referencia" representa sólo una manera en la cual los nodos componentes pueden componerse. La fuerza en la arquitectura descansa sobre dos conceptos puros dentro de los nodos componentes. En primer lugar, todo flujo de información de nodo a nodo es unidireccional; y cada nodo recibe mensajes de los transmisores y retransmite esa información dentro de un conjunto de nodos adicionales. En el segundo caso, el conjunto es fijo, descartando los cambios a la configuración del sistema.
En segundo lugar, ningún nodo tiene dependencia sobre la configuración global del sistema, excepto el conocimiento de la totalidad de nodos que se refieren a él, según lo descrito en otra parte. La única información de configuración adicional requerida por cada nodo es el conjunto de otros nodos a los cuales puede retransmitir información. Cada uno de los encaminadores de mediadores y los agentes de transmisión contiene una función que determina cuáles de sus nodos receptores conectados recibirán un mensaje específico. Así, ningún nodo requiere el conocimiento de ningún otro nodo que esté a más de un "salto" de distancia de él.
Dadas estas restricciones, son posibles muchas configuraciones, porque cada nodo es independiente del tipo de nodo que le envía información. El paradigma de LPP -> MR -> M -> TP -> LPP es sólo una posible configuración de los tipos de nodos, si bien uno útil y práctico. Son posibles otras configuraciones, que producen distintas arquitecturas para distintas necesidades.
El requisito claro es que cada subred debe cumplir todos los invariantes globales y, análogamente, simular el comportamiento, de un nodo individual dentro de las definiciones de la arquitectura. Toda vez que es éste el caso, los nodos, o las combinaciones de nodos, pueden ser arbitrariamente reemplazados toda vez que esto sea ventajoso en términos de ingeniería.
La Figura 17 ilustra una instancia de una refinación estructural, donde una red cúbica es refinada para incorporar una subred cúbica adicional en lugar de un nodo LPP.
Existen muchos ejemplos donde la localidad física marca una diferencia lógica para los requisitos de un sistema de flujo de información.
Considérese una situación donde se emplea información electrónica para dar sostén a una adquisición física de bienes; entonces, la localidad es importante, sin ser un factor rígidamente definitorio. Según la naturaleza de los bienes, un usuario puede estar preparado para llegar a distintos límites a fin de obtener un contrato, basándose, por ejemplo en: la rareza, el coste o el tamaño físico. En todos los casos, cuanto más próximo el objeto, mejor; sin embargo, la cota superior sobre la geografía no puede decidirse a priori.
También hay ejemplos donde no están involucrados bienes físicos, pero el valor de la información se degrada con la distancia desde su origen: por ejemplo, las crónicas locales y el comercio de mercados domésticos son casos donde la mayoría del flujo de información estará dentro de una ubicación geográfica, aunque, nuevamente, se deseará el flujo global en algunos casos.
Basándose en los supuestos anteriores, pueden identificarse un cierto número de ejemplos útiles de arquitectura inductiva, donde un nodo, o nodos, que representa(n) una localidad o "mercado local", son reemplazados por una instancia local completa de la red de distribución entera. El desacoplamiento cuidadoso del comportamiento del nodo de la configuración general del sistema brinda un cierto número de maneras para lograrlo, según los requisitos, tanto de ingeniería como de lógica, del sistema.
Ejemplos
Los ejemplos y extensiones de la red de mediación distribuida según la presente invención se ilustran adicionalmente en los siguientes supuestos:
Supuesto 1: Un cliente puede abonarse a más de una red: es decir, dos redes pueden coexistir, una local y una global, cada una con un LPP en el dominio geográfico del Cliente. Aquí, se supone que los sistemas de información están lógicamente desconectados, es decir, el mismo mensaje no puede ser procesado dentro de sistemas tanto locales como globales, excepto mediante la copia.
Supuesto 2: Un LPP puede ser parte de dos redes, enviando mensajes entrantes a redes flujo arriba de ambas, y registrando el interés en mensajes flujo abajo desde dos redes flujo abajo. Esto también es de bastante poco interés, pero es digno de observación que no hay ningún criterio de diseño dentro del LPP que le impida hacerlo. Nuevamente, este supuesto presupone sistemas de información lógicamente desconectados.
Supuesto 3: MR conectados. Sólo existe una única red lógica, alguna información puede fluir globalmente. El conjunto de predicados de la red local flujo arriba está alterado para causar que ciertos mensajes, basándose en el contenido, sean remitidos a un MR adicional en la red global. Las diferencias en las reglas de encaminamiento permiten a los MR en las redes locales despachar información, para la cual se indica que el contenido es de interés más global, a una red global (o al menos una red que está un nivel de jerarquía por encima de la red local). Esto puede ser de manera exclusiva, o bien conjuntamente con un mediador local remitente. Asimismo, los TP en la red local están alterados para expresar interés en los TP dentro de la red global. Dado que las expresiones de interés se basan en el contenido, podríamos modelar la identidad de la red derivadora como parte del contenido, y expresar interés en todos los datos que no derivaron de la red local; eso impediría que mensajes duplicados aparezcan en los LPP desde la red flujo abajo. Este modelo no involucra ningún cambio en las definiciones básicas de nodo y, además, sólo se da una única visión lógica tanto a los Clientes como a los LPP. Las expresiones de interés pueden personalizarse independientemente como globales o locales, sin cambiar la arquitectura, ya que esto se modela dentro del contenido de los mensajes.
La Figura 18 ilustra una jerarquía de redes, con una red 'global' (UK) y dos redes (de mercados) locales (Fife y Glasgow). Los MR en las redes de Fife y Glasgow se muestran remitiendo ciertos mensajes a un MR adicional en la red de UK.
En lugar de mantener una estricta jerarquía de redes locales y globales, los MR conectados pueden ser tratados como pares. Esto lleva a una topología de bus, donde las reglas de encaminamiento permiten a los MR despachar mensajes a cualesquiera otros MR con los que estén enlazados y, viceversa, recibir mensajes desde cualquiera de estos otros MR. Los TP similarmente enlazados como un "bus TP" garantizan que las porciones individuales de la red pueden promulgar expresiones de interés a las otras porciones de la red. Las porciones individuales de la red aún retienen sus características unidireccionalidad e independencia de la configuración global. La Figura 19 muestra una topología ilustrativa de bus TP/MR.
Supuesto 4: los MR de la red global pueden actuar como los LPP o Clientes de la red local, expresando interés en datos de ciertos temas de la manera usual. Esto permite que la red global reciba datos de redes locales sin impactar en esa arquitectura en modo alguno, pero sólo puede utilizarse allí donde no se requiera ningún retroflujo a la red local. Esto, por ejemplo, valdría para un sistema donde los clientes estuvieran preparados a pagar más para recibir información global.
En los mercados financieros, el empleo de encaminamiento sujeto a mediación, en lugar de una clásica arquitectura interpares, permite que los datos almacenados sean recuperados a partir de carteras de pedidos distribuidos por una red de área amplia. La arquitectura de red de mediación distribuida puede aplicarse recursivamente para abordar problemas tales como el mantenimiento de los mercados domésticos y la negociación transfronteriza de acciones, afrontados, por ejemplo, por una centralita electrónica paneuropea tal como virt-x.
Asimismo, el impacto de la actividad de negociación volátil, geográficamente dispersa, tal como la que se observa en el mercado de futuros, puede ser absorbido por la aplicación de una arquitectura de encaminamiento sujeto a mediación, independientemente de si estos patrones fluctuantes de comportamiento son activados por patrones diurnos, o mediante la rápida migración de la negociación desde un centro financiero a otro, y viceversa.
Elusión de Restricciones Globales
Cada nodo en una red de mediación distribuida requiere, en algún punto, algún conocimiento sobre la totalidad de nodos que se refieren a él. Las identidades de estos nodos nunca se requieren; la información sólo se requiere para detectar ciertas propiedades de terminación y configuración, que afectan al comportamiento del nodo durante las operaciones de mediación o de cambio de configuración. En particular, hay una clase de operación distribuida, que actúa para detectar cuándo todos los nodos referentes han enviado un mensaje de un tipo específico.
En algunos casos, en particular los MR y los TP, la expectativa es que relativamente pocos nodos se referirán a cada uno y, además, es probable que estos nodos sean relativamente locales. En este caso, puede mantenerse un sencillo contador de referencia sin incurrir en un sobregasto excesivo.
En otros casos, en particular los M y los LPP, puede haber un gran número de nodos referentes, que, además, pueden ser geográficamente diversos y, por ello, el coste de mantener un contador de referencia puede ser alto.
En un caso crucial, el nuevo nodo tendría que ponerse en contacto con todos los nodos receptores en el sistema.
En tales casos, puede emplearse una variación de un esquema de recuperación de crédito, según lo siguiente. Para un conjunto específico de nodos, que representarán todos los nodos que se refieren a un nodo adicional específico (el nodo receptor), cada uno lleva un estado que refleja la cantidad de crédito que tiene, inicialmente con un crédito total de 1,0 distribuido entre ellos. Cuando el nodo receptor requiere detectar si todos los nodos dentro de ese conjunto le han transmitido, se dispone que el valor del crédito de cada uno de tales nodos se transmita como parte del mensaje.
El nodo receptor requiere registrar el total de tales valores recibidos en un acumulador y, cuando el valor del acumulador alcanza 1,0, entonces se sabe que todos los nodos referentes han enviado un mensaje. Cuando la topología de la red cambia, por ejemplo, mediante la adición o retirada de un nuevo nodo referente, entonces el saldo del crédito debe ajustarse en consecuencia, para garantizar que se mantiene el total global de 1,0.
Esto puede lograrse repartiendo el crédito con un nodo existente en el caso de la adición, o bien amalgamando el crédito con otro nodo en el caso de la retirada. Ambos ajustes pueden ocurrir a un nivel local y, además, muchos de tales cambios localizados pueden ocurrir en paralelo, evitando así el potencial para un revuelo de actividad en toda la red, como sería el caso con el contador de referencia global.
Implementación
La red de mediación distribuida de la presente invención puede implementarse bien como software implementado en ordenador, o bien como hardware. Como software, la implementación puede almacenarse en medios de memoria volátil y/o no volátil. Los productos de programas de ordenador, por ejemplo, los CD-ROM, los DVD-ROM o las estructuras de datos extraídas de servidores de Internet, pueden incorporar representaciones en software de la red según la presente invención.
En funcionamiento, los programas de ordenador pueden almacenarse en nodos donde puedan operar los componentes para una función específica de la red de mediación distribuida. Como alternativa, pueden almacenarse en un repositorio central al que se pueda hacer referencia desde los nodos en los cuales puede(n) operar el componente, o componentes, para una función específica de la red de mediación distribuida. La primera etapa para configurar una red de mediación distribuida es instalar el software y configurar una red básica. Para la verificación de la instalación, puede proporcionarse una configuración cúbica predefinida. Esta configuración se ejecutaría en un nodo físico, y se proporcionarían directivas para verificar la correcta operación de la red de mediación distribuida. Una vez que la verificación inicial se ha realizado satisfactoriamente, el administrador del sistema desplegaría los programas de mediación para aplicaciones específicas escritas por un programador, por ejemplo: alimentadores de Chat o Price, en los nodos Mediadores (M) y Encaminadores de Mediadores (MR). Una vez que la lógica específica de la aplicación está ejecutándose en la red de mediación distribuida, los usuarios pueden conectarse con la red de mediación distribuida mediante un LPP. Los nodos lógicos adicionales pueden añadirse al sistema sin ninguna perturbación a los usuarios de la red de mediación distribuida.
Como se ha observado anteriormente, un nodo físico es un procesador efectivo de hardware, y contendrá un sistema operativo. En consecuencia, un nodo físico puede contener uno o más nodos lógicos, por ejemplo, un Punto de Presencia Local (LPP), un Mediador (M), un Encaminador de Mediadores (MR) o un Agente de Transmisión (TP).
La interfaz de gestión con la cual interactúa el operador humano proporciona funciones para efectuar estos cambios en la topología lógica, según los predicados y restricciones descritos anteriormente. La interfaz de gestión también puede proporcionar funciones de visualización y de notificación para monitorizar la operación de la red de mediación distribuida.

Claims (67)

1. Un procedimiento para mediar en el flujo de mensajes en una red de ordenadores, en el cual la red de ordenadores tiene una red de mediación que incluye:
al menos un módulo de punto de presencia local, LPP, para mantener una interfaz entre la red de mediación y los programas clientes;
al menos un módulo mediador, M, para albergar una tarea de mediación;
al menos un módulo encaminador de mediadores, MR, para analizar el contenido de los mensajes entrantes, encaminando cada módulo MR los mensajes entrantes hacia un módulo M predeterminado, según dicho contenido; y
al menos un módulo agente de transmisión, TP, para remitir mensajes a al menos uno de dichos módulos LPP,
en el que, en el procedimiento, los mensajes entrantes a la red de mediación se propagan a lo largo de un ciclo de mediación unidireccional que comprende las etapas de:
en un módulo LPP, dirigir los mensajes entrantes al respectivo módulo entre al menos uno de dichos módulos encaminadores de mediadores, MR;
en dicho módulo MR direccionado, analizar el contenido de los mensajes entrantes y encaminar dichos mensajes a un módulo mediador predeterminado, según dicho contenido analizado;
en dicho módulo mediador predeterminado, aplicar la tarea de mediación a dichos mensajes analizados, y dirigir los mensajes sometidos a mediación al módulo respectivo de dichos módulos TP; y
en dicho módulo TP que recibe dichos mensajes sometidos a mediación, remitir dichos mensajes sometidos a mediación a al menos uno de dichos módulos LPP,
por medio de lo cual el flujo de mensajes entre los módulos conectados es unidireccional.
2. Un procedimiento según la reivindicación 1, en el cual los mensajes entrantes a la red de mediación pertenecen a uno de los grupos de tipos de mensajes, que incluyen:
nueva información, que emana de un proceso que actúa como una fuente de información;
consultas acerca del estado de nodos en la red de mediación, que requieren una respuesta; y
expresiones de interés, que requieren respuestas continuadas cada vez que una nueva información es recibida por la red de mediación.
3. Un procedimiento según la reivindicación 1, que comprende adicionalmente inducir un cambio en la operación interna de la red de mediación, dirigiendo un mensaje de control como un mensaje entrante a lo largo del ciclo de mediación.
4. Un procedimiento según la reivindicación 3, en el cual el cambio en la operación interna es un traspaso de una tarea de mediación entre un módulo mediador donante y un módulo mediador destinatario,
en el cual el mensaje de control es un mensaje de traspaso de mediador, describiendo el contenido del mensaje de traspaso de mediador la reasignación de contenido con una etiqueta de contenido predeterminada, desde el módulo mediador donante al módulo mediador destinatario, donde el módulo mediador donante está actualmente registrado como dispuesto a tratar dicho contenido, y en el cual la dirección del mensaje de traspaso de mediador comprende:
desde un módulo LPP predeterminado, enviar el mensaje de traspaso de mediador a un respectivo módulo MR asociado;
en el módulo MR asociado, leer dicha etiqueta de contenido y remitir el mensaje al módulo mediador donante; y
al recibir el mensaje de traspaso de mediador, en el módulo mediador donante: cambiar el estado del nodo mediador; enviar un mensaje TRASPASO_MEDIADOR al módulo mediador destinatario, conteniendo el mensaje TRASPASO_MEDIADOR el contenido del mensaje de traspaso de mediador; enviar un mensaje MEDIADOR_CAMBIADO a un módulo TP asociado; y luego cambiar el estado a fin de remitir los mensajes que contengan la etiqueta de contenido al módulo mediador destinatario.
5. Un procedimiento según la reivindicación 4, que comprende adicionalmente:
en el módulo TP, remitir el mensaje MEDIADOR_CAMBIADO a al menos un módulo LPP;
en el módulo mediador destinatario, generar un mensaje NUEVO_MEDIADOR_ACTIVO, teniendo el mensaje NUEVO_MEDIADOR_ACTIVO una carga útil correspondiente al contenido reasignado, y emitir dicho mensaje NUEVO_MEDIADOR_ACTIVO a todos los módulos TP asociados con el mismo; y
en el módulo LPP, almacenar en buffer temporalmente todos los mensajes entrantes entre la recepción del mensaje MEDIADOR_CAMBIADO y la recepción del mensaje NUEVO_MEDIADOR_ACTIVO.
6. Un procedimiento según la reivindicación 5, que comprende adicionalmente:
en el módulo LPP, remitir luego el mensaje NUEVO_MEDIADOR_ACTIVO al módulo MR asociado; y cada vez que un módulo MR recibe un mensaje NUEVO_MEDIADOR_ACTIVO, actualizar una tabla de encaminamiento para dicho módulo MR, a fin de hacer que el contenido futuro que coincida con la carga útil del mensaje NUEVO_MEDIADOR_ACTIVO que va ser enviado al módulo mediador destinatario en lugar de al módulo mediador donante; informar al módulo mediador donante de que la tabla de encaminamiento ha sido actualizada, cesando después de ello el módulo mediador donante de remitir mensajes, una vez que todos los módulos MR han sido informados de que el módulo mediador destinatario es ahora el módulo mediador para el contenido reasignado.
7. Un procedimiento según la reivindicación 3, en el cual el cambio en la operación interna es una reconfiguración de la topología lógica de la red de mediación, y en el cual el mensaje de control es uno o más mensajes de reconfiguración.
8. Un procedimiento según la reivindicación 7, en el cual la reconfiguración de la topología lógica incluye la generación de una barrera causal para garantizar que los mensajes que atraviesan la red de mediación antes de la reconfiguración se entregan antes que los mensajes que atraviesan la red de mediación después de la reconfiguración.
9. Un procedimiento según la reivindicación 8, en el cual la etapa de generar la barrera causal incluye: hacer circular dicho mensaje, o mensajes, de reconfiguración por el ciclo de mediación; y garantizar que cada módulo en el ciclo ha sido suficientemente notificado acerca de la reconfiguración.
10. Un procedimiento según la reivindicación 9, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación es la inserción de un nodo adicional de punto de presencia local (LPP), y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_LPP que identifica unívocamente el nodo LPP adicional, incluyendo la inserción:
en un módulo LPP adicional predeterminado en el nodo LPP adicional, generar el mensaje nuevo_LPP y enviar el mensaje nuevo_LPP al módulo MR correspondiente en un nodo MR;
en el correspondiente módulo MR, recibir el mensaje nuevo_LPP, actualizar un contador de referencia para el nodo MR, y propagar el mensaje nuevo_LPP a todos los módulos mediadores en la arquitectura;
en cada módulo mediador, recibir el mensaje nuevo_LPP y transmitir el mensaje nuevo_LPP a un respectivo módulo TP correspondiente en un nodo TP; teniendo cada nodo TP un saldo acreedor asociado;
en cada uno de los correspondientes módulos TP, recibir el mensaje nuevo_LPP y enviar un respectivo mensaje nuevo_LPP extendido al módulo LPP adicional, incluyendo el mensaje nuevo_LPP extendido el respectivo saldo acreedor asociado;
en el módulo LPP adicional, recibir los mensajes nuevo_LPP extendidos, completando con ello la circulación del mensaje nuevo_LPP; y
en el módulo LPP adicional, sumar los saldos acreedores, garantizándose la notificación suficiente de la reconfiguración cuando la suma del crédito alcanza un valor de completitud predeterminado.
11. Un procedimiento según la reivindicación 10, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación incluye la inserción adicional de un nodo encaminador de mediadores (MR) adicional, y en el cual dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_MR que identifica unívocamente el nodo MR adicional, incluyendo la inserción adicional:
en el LPP adicional, enviar un mensaje nuevo_MR a un correspondiente módulo MR en un nodo MR con un saldo acreedor correspondiente;
en el correspondiente módulo MR, responder al mensaje nuevo_MR enviando un mensaje nueva_tabla_encami-
namiento_MR, que incluye: información de dirección para el nuevo MR adicional, la dirección del nodo LPP adicional, información de encaminamiento y una fracción del correspondiente saldo acreedor;
\newpage
en el correspondiente módulo MR, remitir luego el mensaje nueva_tabla_encaminamiento_MR a un módulo mediador arbitrario;
en el módulo mediador arbitrario, pasar el mensaje nueva_tabla_encaminamiento_MR al módulo LPP adicional;
en el módulo LPP adicional, pasar luego el mapa de encaminamiento al módulo MR adicional; y
en el módulo MR adicional, utilizar el contenido del mensaje nueva_tabla_encaminamiento_MR para inicializar un nuevo saldo acreedor y mapas de encaminamiento.
12. Un procedimiento según la reivindicación 11, en el cual la reconfiguración incluye adicionalmente cambiar el módulo MR al que se dirige el módulo LPP adicional, por el módulo MR adicional, en donde el módulo MR adicional envía un mensaje MR_inicializado() al módulo LPP adicional al recibir el mensaje nueva_tabla_encaminamiento_MR, y en donde el módulo LPP adicional envía los mensajes inc_cont_ref() y dec_cont_ref() a los módulos MR adicional e inicial, respectivamente.
13. Un procedimiento según la reivindicación 9, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación es la inserción de un nodo mediador (M) adicional, y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_M que identifica unívocamente el nodo mediador adicional, incluyendo la inserción:
en un módulo mediador adicional predeterminado, generar el mensaje nuevo_M y enviar el mensaje nuevo_M a un módulo TP correspondiente en un nodo TP;
en el módulo TP correspondiente, recibir el mensaje nuevo_M, actualizar un contador de referencia para el nodo TP y propagar el mensaje nuevo_M a todos los módulos LPP en la arquitectura;
en cada módulo LPP, recibir el mensaje nuevo_M, transmitir el mensaje nuevo_M a un respectivo módulo MR correspondiente en un nodo MR, teniendo cada nodo MR un saldo acreedor asociado;
en cada uno de los módulos MR correspondientes, recibir el mensaje nuevo_M y enviar un respectivo mensaje nuevo_M extendido al módulo mediador adicional, incluyendo el mensaje nuevo_M extendido el respectivo saldo acreedor asociado; y
en el módulo mediador adicional, recibir los mensajes nuevo_M extendidos, completando por ello la circulación del mensaje nuevo_M; y
en el módulo mediador adicional, sumar los saldos acreedores, garantizándose la notificación suficiente de la reconfiguración cuando la suma del crédito alcanza un valor de completitud predeterminado.
14. Un procedimiento según la reivindicación 13, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación incluye la inserción adicional de un nodo agente de transmisión (TP) adicional, y en el cual dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_TP que identifica unívocamente el nodo TP adicional, incluyendo la inserción adicional:
en el módulo mediador adicional, recibir el mensaje nuevo_TP;
en el módulo mediador adicional, añadir la dirección del nodo mediador adicional al mensaje nuevo_TP y remitir el mensaje nuevo_TP a un módulo TP correspondiente en un nodo TP con un saldo acreedor correspondiente;
en el módulo TP correspondiente, responder al mensaje nuevo_TP generando un mensaje nuevo_TP extendido, que incluye: información de dirección para el nodo TP adicional, la dirección del nodo mediador adicional, una lista de los LPP y una fracción del correspondiente saldo acreedor;
en el módulo TP correspondiente, remitir luego el mensaje nuevo_TP a un módulo LPP arbitrario;
en el módulo LPP arbitrario, pasar luego un mensaje de nuevo mapa de encaminamiento al módulo TP adicional;
en el módulo TP adicional, pasar luego el mapa de encaminamiento al módulo MR adicional; y
en el módulo TP adicional, utilizar el contenido del mensaje del nuevo mapa de encaminamiento para inicializar un nuevo saldo acreedor correspondiente y una lista de módulos LPP.
15. Un procedimiento según la reivindicación 14, en el cual la reconfiguración incluye adicionalmente: cambiar el módulo TP al que se dirige el módulo mediador adicional por el módulo TP adicional, en donde el módulo TP adicional envía un mensaje TP_inicializado() al módulo mediador adicional al recibir el mensaje del nuevo mapa de encaminamiento, y en donde el módulo mediador adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos TP adicional e inicial, respectivamente.
16. Un procedimiento según la reivindicación 3, en el cual la red de ordenadores incluye adicionalmente un nodo de detección de fallos que está en comunicación con cada nodo en la red de mediación, comprendiendo el procedimiento adicionalmente:
en el nodo de detección de fallos, proporcionar un módulo de detección de fallos;
en cada nodo de la red de mediación, proporcionar un módulo de informe de fallos;
toda vez que falla un enlace de comunicación entrante o saliente entre nodos, en cada uno de dichos módulos de informe de fallos, despachar información relacionada con el enlace de comunicación averiado a dicho módulo de detección de fallos; y
en dicho módulo de detección de fallos, determinar si dicho enlace averiado es indicación de un nodo averiado.
17. Un procedimiento según la reivindicación 16, que comprende adicionalmente, allí donde el módulo de detección de fallos determine que dicho enlace averiado es indicación de un nodo averiado:
crear un nuevo nodo del mismo tipo que el nodo averiado;
alimentar el nuevo nodo con información relacionada con el estado interno y la topología del entorno inmediato del nodo averiado; y
reconfigurar la red para utilizar el nuevo nodo, con preferencia sobre el nodo averiado.
18. Un procedimiento según la reivindicación 1, que comprende adicionalmente generar un registro de todos los mensajes entrantes recibidos por dicho módulo mediador predeterminado.
19. Un procedimiento según la reivindicación 18, en el cual la tarea de mediación aplicada a dichos mensajes analizados en dicho módulo mediador predeterminado incluye generar el registro de mensajes.
20. Un procedimiento según la reivindicación 18, en el cual la red de ordenadores incluye adicionalmente una aplicación externa, comprendiendo el procedimiento adicionalmente:
generar el registro de mensajes en dicha aplicación externa.
21. Un procedimiento según la reivindicación 3, en el cual el cambio en la operación interna es una refinación estructural de la topología lógica de la arquitectura de mediación, y en el cual el mensaje de control es uno o más mensajes de refinación.
22. Un procedimiento según la reivindicación 21, en el cual se inserta una subred en lugar de un nodo individual durante la etapa de la refinación estructural.
23. Una red de mediación para mediar en el flujo de mensajes en una red de ordenadores, en donde la red de mediación incluye:
al menos un módulo de punto de presencia local, LPP, para mantener una interfaz entre la red de mediación y los programas clientes;
al menos un módulo mediador, M, para albergar una tarea de mediación;
al menos un módulo encaminador de mediadores, MR, para analizar el contenido de los mensajes entrantes, encaminando cada módulo MR los mensajes entrantes hacia un módulo M predeterminado asociado, según dicho contenido; y
al menos un módulo agente de transmisión, TP, para remitir mensajes a al menos uno de dichos módulos LPP,
en donde la red de mediación propaga los mensajes a lo largo de un ciclo de mediación unidireccional, en el cual; los módulos LPP se dirigen a módulos MR; los módulos MR, a su vez, se dirigen a módulos M; los módulos M, a su vez, se dirigen a módulos TP; y los módulos TP, a su vez, se dirigen a módulos LPP, siendo unidireccional el flujo de mensajes entre los módulos conectados.
24. Una red de mediación según la reivindicación 23, en la cual los mensajes entrantes a la red de mediación pertenecen a uno de los grupos de tipos de mensajes, que incluyen:
nueva información; que emana de un proceso que actúa como una fuente de información;
consultas acerca del estado de nodos en la red de mediación, que requieren una respuesta; y
expresiones de interés, que requieren respuestas continuadas toda vez que nueva información pertinente es recibida por la red de mediación.
\global\parskip0.900000\baselineskip
25. Una red de mediación según la reivindicación 23, que comprende adicionalmente un mecanismo de control que induce un cambio en la operación interna de la red de mediación, dirigiendo un mensaje de control como un mensaje entrante a lo largo del ciclo de mediación.
26. Una red de mediación según la reivindicación 25, en la cual el mecanismo de control para inducir el cambio en la operación interna es un mecanismo de traspaso, que redistribuye un requisito de mediación entre un nodo mediador donante y un nodo mediador destinatario,
en la cual el mensaje de control es un mensaje de traspaso de mediador, describiendo el contenido del mensaje de traspaso de mediador la reasignación de contenido con una etiqueta de contenido predeterminada, desde el nodo mediador donante al nodo mediador destinatario, donde el nodo mediador donante está actualmente registrado como disponible para tratar dicho contenido, y en la cual el mensaje de traspaso de mediador está dirigido:
enviando el mensaje de traspaso de mediador desde un módulo LPP predeterminado a un respectivo módulo MR asociado;
leyendo dicha etiqueta de contenido en el módulo MR asociado y remitiendo el mensaje al módulo mediador donante; y
al recibir el mensaje de traspaso de mediador, en el nodo mediador donante: cambiando el estado del nodo mediador; enviando un mensaje TRASPASO_MEDIADOR al módulo mediador destinatario, conteniendo el mensaje TRASPASO_MEDIADOR el contenido del mensaje de traspaso de mediador; enviando un mensaje MEDIADOR_CAMBIADO a un módulo TP asociado; y luego cambiando el estado a fin de remitir mensajes que contengan la etiqueta de contenido al módulo mediador destinatario.
27. Una red de mediación según la reivindicación 26, que comprende adicionalmente:
en el nodo TP, remitir el mensaje MEDIADOR_CAMBIADO a al menos un módulo LPP;
en el módulo mediador destinatario, generar un mensaje NUEVO_MEDIADOR_ACTIVO, teniendo el mensaje NUEVO_MEDIADOR_ACTIVO una carga útil correspondiente al contenido reasignado, y emitir dicho mensaje NUEVO_MEDIADOR_ACTIVO a todos los módulos TP asociados con el mismo; y
en el módulo LPP, almacenar temporalmente todos los mensajes entrantes entre la recepción del mensaje MEDIADOR_CAMBIADO y la recepción del mensaje NUEVO_MEDIADOR_ACTIVO.
28. Una red de mediación según la reivindicación 27, en la cual
el módulo LPP remite luego el mensaje NUEVO_MEDIADOR_ACTIVO al módulo MR asociado; y en la cual, toda vez que un módulo MR recibe un mensaje NUEVO_MEDIADOR_ACTIVO, dicho módulo MR actualiza una tabla de encaminamiento para dicho módulo MR, a fin de causar que el contenido futuro que coincida con la carga útil del mensaje NUEVO_MEDIADOR_ACTIVO sea enviado al módulo mediador destinatario, en vez de al módulo mediador donante; informar al módulo mediador donante que la tabla de encaminamiento ha sido actualizada, cesando el módulo mediador de remitir mensajes en adelante, una vez que todos los módulos MR han sido informados de que el módulo mediador destinatario es ahora el módulo mediador para el contenido reasignado.
29. Una red de mediación según la reivindicación 25, en la cual el mecanismo de control para inducir el cambio en la operación interna es un mecanismo de reconfiguración, y en la cual el mensaje de control es uno o más mensajes de reconfiguración.
30. Una red de mediación según la reivindicación 29, en la cual el mecanismo de reconfiguración genera una barrera causal para garantizar que los mensajes que atraviesan la red de mediación antes de la reconfiguración se entregan antes de los mensajes que atraviesan la red de mediación después de la reconfiguración.
31. Una red de mediación según la reivindicación 30, en la cual la generación de la barrera causal incluye hacer circular dicho(s) mensaje(s) de reconfiguración por el ciclo de mediación, y garantizar que cada módulo en el ciclo ha sido suficientemente notificado de la reconfiguración.
32. Una red de mediación según la reivindicación 31, en la cual el mecanismo de reconfiguración inserta un nodo de punto de presencia local (LPP) adicional en la topología lógica de la red de mediación, y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_LPP que identifica unívocamente el nodo LPP adicional, incluyendo el mecanismo de reconfiguración:
medios para generar un mensaje nuevo_LPP que identifica unívocamente el nodo LPP adicional, y para enviar el mensaje nuevo_LPP a un módulo MR correspondiente en un nodo MR, estando dichos medios de generación y envío proporcionados en un módulo LPP adicional predeterminado;
\global\parskip1.000000\baselineskip
medios para recibir el mensaje nuevo_LPP, para actualizar un contador de referencia en el nodo MR, y propagar el mensaje nuevo_LPP a todos los módulos mediadores en la red de mediación, estando dichos medios de recepción, actualización y propagación proporcionados en el módulo MR correspondiente;
medios para recibir el mensaje nuevo_LPP y para transmitir el mensaje nuevo_LPP a un respectivo módulo TP correspondiente en un nodo TP, teniendo cada nodo TP un saldo acreedor asociado, estando dichos medios de recepción y transmisión proporcionados en cada módulo mediador;
medios para recibir el mensaje nuevo_LPP y enviar un respectivo mensaje nuevo_LPP extendido al módulo LPP adicional, incluyendo el mensaje nuevo_LPP extendido el respectivo saldo acreedor asociado, estando dichos medios de recepción y envío proporcionados en cada uno de los módulos TP correspondientes;
medios para recibir los mensajes nuevo_LPP extendidos y completar por ello la circulación del mensaje nuevo_LPP, estando dichos medios de recepción proporcionados en el módulo LPP adicional; y
medios para sumar los saldos acreedores, estando dichos medios de suma proporcionados en el módulo LPP adicional, garantizándose la suficiente notificación de la reconfiguración cuando la suma de crédito alcanza un valor de completitud predeterminado.
33. Una red de mediación según la reivindicación 32, en la cual el mecanismo de reconfiguración incluye adicionalmente un mecanismo de inserción de MR, para insertar un nodo encaminador de mediadores (MR) adicional, y en la cual dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_MR que identifica unívocamente el nodo MR adicional, incluyendo el mecanismo de inserción de MR:
un medio para enviar un mensaje nuevo_MR a un correspondiente módulo MR en un nodo MR con un correspondiente saldo acreedor, estando dichos medios de envío proporcionados en el módulo LPP adicional;
un medio para recibir el mensaje nuevo_MR y para enviar un mensaje nueva_tabla_encaminamiento_MR, estando dichos medios de recepción y envío proporcionados en el correspondiente módulo MR, en donde el mensaje nueva_tabla_encaminamiento_MR incluye: información de dirección para el nodo MR adicional, la dirección del nodo LPP adicional, información de encaminamiento y una fracción del correspondiente saldo acreedor
un medio para remitir el mensaje nueva_tabla_encaminamiento_MR a un módulo mediador arbitrario, estando dichos medios de remisión proporcionados en el correspondiente módulo MR;
un medio para pasar el mensaje nueva_tabla_encaminamiento_MR al módulo LPP adicional, estando dichos medios de pasaje proporcionados en el módulo mediador arbitrario;
medios adicionales para pasar el mapa de encaminamiento al módulo MR adicional, estando dichos medios de pasaje adicionales proporcionados en el módulo LPP adicional; y
un medio de inicialización para utilizar el contenido del mensaje nueva_tabla_encaminamiento_MR a fin de inicializar un nuevo saldo acreedor y mapas de encaminamiento, estando dichos medios de inicialización proporcionados en el módulo MR adicional.
34. Una red de mediación según la reivindicación 33, en la cual el mecanismo de reconfiguración incluye adicionalmente medios para cambiar el módulo MR al que se dirige el LPP adicional por el módulo MR adicional; en la cual el módulo MR adicional envía un mensaje MR_inicializado() al módulo LPP adicional al recibir el mensaje nueva_tabla_encaminamiento_MR, y en la cual el módulo LPP adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos MR adicional e inicial, respectivamente.
35. Una red de mediación según la reivindicación 31, en la cual el mecanismo de reconfiguración inserta un nodo mediador (M) adicional en la topología lógica de la red de mediación, y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_M que identifica unívocamente el nodo M adicional, incluyendo el mecanismo de reconfiguración:
un medio para generar el mensaje nuevo_M y para enviar el mensaje nuevo_M a un correspondiente módulo TP en un nodo TP, estando dichos un medio de generación y envío proporcionados en un módulo mediador adicional predeterminado;
un medio para recibir el mensaje nuevo_M, actualizar un contador de referencia para el nodo TP, y propagar el mensaje nuevo_M a todos los LPP en la arquitectura, estando dichos medios de recepción, actualización y propagación proporcionados en el correspondiente módulo TP;
un medio para recibir el mensaje nuevo_M, y para transmitir el mensaje nuevo_M a un respectivo módulo MR correspondiente en un nodo MR, teniendo cada nodo MR un saldo acreedor asociado, y estando dichos medios de recepción y transmisión proporcionados en cada módulo LPP;
un medio para recibir el mensaje nuevo_M y enviar un respectivo mensaje nuevo_M extendido al módulo mediador adicional, incluyendo el mensaje nuevo_M extendido el respectivo saldo acreedor asociado, y estando dichos medios de recepción y envío proporcionados en cada uno de los correspondientes módulos MR;
un medio para recibir los mensajes nuevo_M extendidos y completar, por ello, la circulación del mensaje nuevo_M, estando dichos medios de recepción proporcionados en el módulo M adicional; y
un medio para sumar los saldos acreedores, estando dichos medios de suma proporcionados en el módulo M adicional, garantizándose la suficiente notificación de la reconfiguración cuando la suma de crédito alcanza un valor de completitud predeterminado.
36. Una red de mediación según la reivindicación 35, en la cual el mecanismo de reconfiguración incluye adicionalmente un mecanismo de inserción de TP, para insertar un nodo agente de transmisión (TP) adicional, y en la cual dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_TP que identifica unívocamente el nodo TP adicional, incluyendo el mecanismo de inserción de TP:
medios para recibir un mensaje nuevo_TP que incluye la dirección del TP adicional, estando dichos medios de recepción proporcionados en el módulo mediador adicional;
un medio para añadir la dirección del nodo mediador adicional al mensaje nuevo_TP y remitir el mensaje nuevo_TP a un módulo TP correspondiente, en un nodo TP con un correspondiente saldo acreedor, estando dichos medios de adición y remisión proporcionados en el módulo mediador adicional;
un medio para recibir el mensaje nuevo_TP y generar el mensaje nuevo_TP extendido, que incluye:
información de dirección para el nodo TP adicional, la dirección del nodo mediador adicional, una lista de nodos LPP y una fracción del correspondiente saldo acreedor, estando dichos medios de recepción y generación proporcionados en el correspondiente módulo TP;
un medio para remitir el mensaje nuevo_TP a un módulo LPP arbitrario, estando dichos medios de remisión proporcionados en el correspondiente módulo TP;
un medio para pasar un mensaje de nuevo mapa de encaminamiento al módulo TP adicional, cuya dirección está en el mensaje de nuevo mapa de encaminamiento, estando dichos medios de pasaje proporcionados en el correspondiente módulo TP;
medios adicionales para pasar el mapa de encaminamiento al módulo MR adicional, estando dicho medio adicional de paso proporcionados en el módulo TP adicional; y
un medio de inicialización para utilizar el contenido del mensaje de nuevo mapa de encaminamiento, a fin de inicializar un saldo acreedor y una lista de nodos LPP, estando dicho medio de inicialización proporcionados en el módulo TP adicional.
37. Una red de mediación según la reivindicación 36, en la cual el mecanismo de reconfiguración incluye adicionalmente un medio para cambiar el módulo TP al que se dirige el mediador adicional por el módulo TP adicional; en la cual el módulo TP adicional envía un mensaje TP_inicializado() al módulo mediador adicional al recibir el mensaje de nuevo mapa de encaminamiento, y en la cual el módulo mediador adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos TP adicional e inicial, respectivamente.
38. Una red de mediación según la reivindicación 23, en la cual la red de ordenadores incluye adicionalmente un nodo de detección de fallos que está en comunicación con cada nodo en la red de mediación, estando el nodo de detección de fallos dotado de un módulo de detección de fallos, y estando cada nodo de la red de mediación dotado de un módulo de informe de fallos; en la cual, toda vez que falla un enlace de comunicación entrante o saliente entre nodos, cada uno de dichos módulos de informe de fallos despacha información relacionada con el enlace de comunicación averiado a dicho módulo de detección de fallos; y en la cual dicho módulo de detección de fallos determina si dicho enlace averiado es indicación de un nodo averiado.
39. Una red de mediación según la reivindicación 38, que comprende adicionalmente un mecanismo de tratamiento de fallos, cada vez que el módulo de detección de fallos determina que dicho enlace averiado es indicación de un nodo averiado; el mecanismo de tratamiento de fallos: crea un nuevo nodo del mismo tipo que el nodo averiado; infunde al nuevo nodo con información relacionado con el estado interno y la topología del entorno inmediato del nodo averiado; y reconfigura la red para utilizar el nuevo nodo, con preferencia sobre el nodo averiado.
40. Una red de mediación según la reivindicación 23, que comprende adicionalmente un medio para generar un registro de todos los mensajes entrantes recibidos por dicho módulo mediador predeterminado.
41. Una red de mediación según la reivindicación 40, en la cual la tarea de mediación aplicada a dichos mensajes analizados en dicho módulo mediador predeterminado incluye generar el registro de mensajes.
42. Una red de mediación según la reivindicación 40, en la cual la red de ordenadores comprende adicionalmente una aplicación externa que genera el registro de mensajes, comprendiendo la red de mediación adicionalmente:
un medio para recibir el registro de mensajes generado en dicha aplicación externa.
43. Una red de mediación según la reivindicación 23, en la cual el cambio en la operación interna es una refinación estructural de la topología lógica de la red de mediación, y en la cual el mensaje de control es uno o más mensajes de refinación.
44. Una red de mediación según la reivindicación 43, en la cual una subred se inserta en lugar de un nodo individual durante la etapa de refinación estructural.
45. Un producto de programa de ordenador para mediar en el flujo de mensajes en una red de ordenadores, incluyendo el producto de programa de ordenador instrucciones ejecutables para proporcionar una red de mediación con:
al menos un módulo de punto de presencia local, LPP, para mantener una interfaz entre la red de mediación y los programas clientes;
al menos un módulo mediador, M, para albergar una tarea de mediación;
al menos un módulo encaminador de mediadores, MR, para analizar el contenido de los mensajes entrantes, encaminando cada módulo MR los mensajes entrantes hacia un módulo M predeterminado, según dicho contenido; y
al menos un módulo agente de transmisión, TP, para remitir mensajes a al menos uno de dichos módulos LPP, cuando las instrucciones se ejecutan sobre dichos módulos,
en el cual, cuando las instrucciones se ejecutan sobre los respectivos módulos, los mensajes entrantes a la red de mediación se propagan a lo largo de un ciclo de mediación unidireccional que comprende las etapas de:
en un módulo LPP, dirigir los mensajes entrantes al respectivo módulo entre el módulo, o módulos, encaminador(es) de mediadores, MR;
en dicho módulo MR direccionado, analizar el contenido de los mensajes entrantes y encaminar dichos mensajes a un módulo mediador predeterminado, según dicho contenido analizado;
en dicho módulo mediador predeterminado, aplicar la tarea de mediación a dichos mensajes analizados y dirigir los mensajes sometidos a mediación al respectivo módulo entre dichos módulos TP; y
en dicho módulo TP que recibe dichos mensajes sometidos a mediación, remitir dichos mensajes sometidos a mediación a al menos uno de dichos módulos LPP,
por lo cual el flujo de mensajes entre los módulos conectados es unidireccional.
46. Un producto de programa de ordenador según la reivindicación 45, en el cual los mensajes entrantes a la red de mediación pertenecen a uno de los grupos de tipos de mensajes, que incluyen:
nueva información, que emana de un proceso que actúa como una fuente de información;
consultas acerca del estado de nodos en la red de mediación, que requieren una respuesta; y
expresiones de interés, que requieren respuestas continuadas toda vez que nueva información pertinente es recibida por la red de mediación.
47. Un producto de programa de ordenador según la reivindicación 45, que comprende adicionalmente inducir un cambio en la operación interna de la red de mediación, dirigiendo un mensaje de control como un mensaje entrante a lo largo del ciclo de mediación.
48. Un producto de programa de ordenador según la reivindicación 47, en el cual el cambio en la operación interna es un traspaso de una tarea de mediación entre un módulo mediador donante y un módulo mediador destinatario,
en el cual el mensaje de control es un mensaje de traspaso de mediador, describiendo el contenido del mensaje de traspaso de mediador la reasignación de contenido con una etiqueta de contenido predeterminada, desde el módulo mediador donante al módulo mediador destinatario, donde el módulo mediador donante está actualmente registrado como disponible para tratar dicho contenido, y en el cual la dirección del mensaje de traspaso de mediador comprende:
desde un módulo LPP predeterminado, enviar el mensaje de traspaso de mediador a un respectivo módulo MR asociado;
en el módulo MR asociado, leer dicha etiqueta de contenido y remitir el mensaje al módulo mediador donante; y
al recibir el mensaje de traspaso de mediador, en el módulo mediador donante: cambiar el estado del nodo mediador; enviar un mensaje TRASPASO_MEDIADOR al módulo mediador destinatario, conteniendo el mensaje TRASPASO_MEDIADOR el contenido del mensaje de traspaso de mediador; enviar un mensaje MEDIADOR_CAMBIADO a un módulo TP asociado; y cambiar luego el estado a fin de remitir los mensajes que contengan la etiqueta de contenido al módulo mediador destinatario.
49. Un producto de programa de ordenador según la reivindicación 48, que comprende adicionalmente:
en el módulo TP, remitir el mensaje MEDIADOR_CAMBIADO a al menos un módulo LPP;
en el módulo mediador destinatario, generar un mensaje NUEVO_MEDIADOR_ACTIVO, teniendo el mensaje NUEVO_MEDIADOR_ACTIVO una carga útil correspondiente al contenido reasignado, y emitir dicho mensaje NUEVO_MEDIADOR_ACTIVO a todos los módulos TP asociados con el mismo; y
en el módulo LPP, almacenar temporalmente todos los mensajes entrantes entre la recepción del mensaje MEDIADOR_CAMBIADO y la recepción del mensaje NUEVO_MEDIADOR_ACTIVO.
50. Un producto de programa de ordenador según la reivindicación 49, que comprende adicionalmente:
en el módulo LPP, remitir entonces el mensaje NUEVO_MEDIADOR_ACTIVO al módulo MR asociado; y, toda vez que un módulo MR recibe un mensaje NUEVO_MEDIADOR_ACTIVO, actualizar una tabla de encaminamiento para dicho módulo MR, a fin de causar que el contenido futuro que coincida con la carga útil del mensaje NUEVO_MEDIADOR_ACTIVO sea enviado al módulo mediador destinatario, en lugar de al módulo mediador donante; informar al módulo mediador donante de que la tabla de encaminamiento ha sido actualizada, cesando a continuación el módulo mediador donante de remitir mensajes una vez que todos los módulos MR han sido informados de que el módulo mediador destinatario es ahora el módulo mediador para el contenido reasignado.
51. Un producto de programa de ordenador según la reivindicación 47, en el cual el cambio en la operación interna es una reconfiguración de la topología lógica de la red de mediación, y en el cual el mensaje de control es uno o más mensajes de reconfiguración.
52. Un producto de programa de ordenador según la reivindicación 51, en el cual la reconfiguración de la topología lógica incluye la generación de una barrera causal para garantizar que los mensajes que atraviesan la red de mediación antes de la reconfiguración se entregan antes de los mensajes que atraviesan la red de mediación después de la reconfiguración.
53. Un producto de programa de ordenador según la reivindicación 52, en el cual la etapa de generar la barrera causal incluye: hacer circular dicho(s) mensaje(s) de reconfiguración por el ciclo de mediación; y garantizar que cada módulo en el ciclo ha sido suficientemente notificado de la reconfiguración.
54. Un producto de programa de ordenador según la reivindicación 53, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación es la inserción de un nodo de punto de presencia local (LPP) adicional, y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_LPP que identifica unívocamente el nodo LPP adicional, incluyendo la inserción:
en un módulo LPP adicional predeterminado, generar el mensaje nuevo_LPP y enviar el mensaje nuevo_LPP al correspondiente módulo MR en un nodo MR;
en el correspondiente módulo MR, recibir el mensaje nuevo_LPP, actualizar un contador de referencia para el nodo MR y propagar el mensaje nuevo_LPP a todos los módulos mediadores en la arquitectura;
en cada módulo mediador, recibir el mensaje nuevo_LPP, y transmitir el mensaje nuevo_LPP a un respectivo módulo TP correspondiente en un nodo TP, teniendo cada nodo TP un saldo acreedor asociado;
en cada uno de los correspondientes módulos TP, recibir el mensaje nuevo_LPP y enviar un respectivo mensaje nuevo_LPP extendido al módulo LPP adicional, incluyendo el mensaje nuevo_LPP extendido el respectivo saldo acreedor asociado;
en el módulo LPP adicional, recibir los mensajes nuevo_LPP extendidos, completando por ello la circulación del mensaje nuevo_LPP; y
en el módulo LPP adicional, sumar los saldos acreedores, garantizándose la notificación suficiente de la reconfiguración cuando la suma del crédito alcanza un valor de completitud predeterminado.
55. Un producto de programa de ordenador según la reivindicación 54, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación incluye la inserción adicional de un nodo encaminador de mediadores (MR) adicional, y en el cual dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_MR que identifica unívocamente el nodo MR adicional, incluyendo la inserción adicional:
en el LPP adicional, enviar un mensaje nuevo_MR a un correspondiente módulo MR en un nodo MR con un correspondiente saldo acreedor;
en el correspondiente módulo MR, responder al mensaje nuevo_MR enviando un mensaje nueva_tabla_encamina-
miento_MR, que incluye: información de dirección para el nodo MR adicional, la dirección del nodo LPP adicional, información de encaminamiento y una fracción del correspondiente saldo acreedor;
en el correspondiente módulo MR, remitir luego el mensaje nueva_tabla_encaminamiento_MR a un módulo mediador arbitrario;
en el módulo mediador arbitrario, pasar el mensaje nueva_tabla_encaminamiento_MR al módulo LPP adicional;
en el módulo LPP adicional, pasar entonces el mapa de encaminamiento al módulo MR adicional; y
en el módulo MR adicional, utilizar el contenido del mensaje nueva_tabla_encaminamiento_MR para inicializar un nuevo saldo de balance y los mapas de encaminamiento.
56. Un producto de programa de ordenador según la reivindicación 55, en el cual la reconfiguración incluye adicionalmente cambiar el módulo MR al que se dirige el módulo LPP adicional por el módulo MR adicional, en el cual el módulo MR adicional envía un mensaje MR_inicializado() al módulo LPP adicional al recibir el mensaje nueva_tabla_encaminamiento_MR, y en el cual el módulo LPP adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos MR adicional e inicial, respectivamente.
57. Un producto de programa de ordenador según la reivindicación 53, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación es la inserción de un nodo mediador (M) adicional, y dicho(s) mensaje(s) de reconfiguración incluye(n) un mensaje nuevo_M que identifica unívocamente al nodo mediador adicional, incluyendo la inserción:
en un módulo mediador adicional predeterminado, generar el mensaje nuevo_M y enviar el mensaje nuevo_M al correspondiente módulo TP en un nodo TP;
en el correspondiente módulo TP, recibir el mensaje nuevo_M, actualizar un contador de referencia para el nodo TP, y propagar el mensaje nuevo_M a todos los módulos LPP en la arquitectura;
en cada módulo LPP, recibir el mensaje nuevo_M, transmitir el mensaje nuevo_M a un respectivo módulo MR correspondiente en un nodo MR, teniendo cada nodo MR un saldo acreedor asociado;
en cada uno de los correspondientes módulos MR, recibir el mensaje nuevo_M y enviar un respectivo mensaje nuevo_M extendido al módulo mediador adicional, incluyendo el mensaje nuevo_M extendido el respectivo saldo acreedor asociado; y
en el módulo mediador adicional, recibir los mensajes nuevo_M extendidos, completando por ello la circulación del mensaje nuevo_M; y
en el módulo mediador adicional, sumar los saldos acreedores, garantizándose la suficiente notificación de la reconfiguración cuando la suma de créditos alcanza un valor de completitud predeterminado.
58. Un producto de programa de ordenador según la reivindicación 57, en el cual la reconfiguración de la topología lógica de la arquitectura de mediación incluye la inserción adicional de un nodo agente de transmisión (TP) adicional, y en el cual dicho(s) mensaje(s) de reconfiguración incluye(n) adicionalmente un mensaje nuevo_TP que identifica unívocamente el nodo TP adicional, incluyendo la inserción adicional:
en el módulo mediador adicional, recibir el mensaje nuevo_TP;
en el módulo mediador adicional, añadir la dirección del nodo mediador adicional al mensaje nuevo_TP y remitir el mensaje nuevo_TP a un correspondiente módulo TP en un nodo TP con un correspondiente saldo acreedor;
en el correspondiente módulo TP, responder al mensaje nuevo_TP generando un mensaje nuevo_TP extendido, que incluye: información de dirección para el nodo TP adicional, la dirección del nodo mediador adicional, una lista de los LPP y una fracción del correspondiente saldo acreedor;
en el correspondiente módulo TP, remitir entonces el mensaje nuevo_TP a un módulo LPP arbitrario;
en el módulo LPP arbitrario, pasar luego un mensaje de nuevo mapa de encaminamiento al módulo TP adicional;
en el módulo TP adicional, pasar luego el mapa de encaminamiento al módulo MR adicional; y
en el módulo TP adicional, utilizar el contenido del mensaje de nuevo mapa de encaminamiento para inicializar un nuevo saldo acreedor correspondiente y una lista de módulos LPP.
59. Un producto de programa de ordenador según la reivindicación 58, en el cual la reconfiguración incluye adicionalmente; cambiar el módulo TP al que se dirige el módulo mediador adicional por el módulo TP adicional, en el cual el módulo TP adicional envía un mensaje TP_inicializado() al módulo mediador adicional al recibir el mensaje de nuevo mapa de encaminamiento, y en el cual el módulo mediador adicional envía mensajes inc_cont_ref() y dec_cont_ref() a los módulos TP adicional e inicial, respectivamente.
60. Un producto de programa de ordenador según la reivindicación 47, en el cual la red de ordenadores incluye adicionalmente un nodo de detección de fallos que está en comunicación con cada nodo en la red de mediación, comprendiendo el producto de programa de ordenador adicionalmente:
en el nodo de detección de fallos, proporcionar un módulo de detección de fallos;
en cada nodo de la red de mediación, proporcionar un módulo de informe de fallos;
toda vez que falla un enlace de comunicación entrante o saliente entre nodos, despachar cada uno de dichos módulos de informe de fallos información relacionada con el enlace de comunicación averiado a dicho módulo de detección de fallos; y
en dicho módulo de detección de fallos, determinar si dicho enlace averiado es indicación de un nodo averiado.
61. Un producto de programa de ordenador según la reivindicación 60, que comprende adicionalmente, allí donde el módulo de detección de fallos determina que dicho enlace averiado es indicación de un nodo averiado;
crear un nuevo nodo del mismo tipo que el nodo averiado;
infundir al nuevo nodo con información relacionada con el estado interno y la topología del entorno inmediato del nodo averiado; y
reconfigurar la red para utilizar el nuevo nodo con preferencia sobre el nodo averiado.
62. Un producto de programa de ordenador según la reivindicación 45, que comprende adicionalmente generar un registro de todos los mensajes entrantes recibidos por dicho módulo mediador predeterminado.
63. Un producto de programa de ordenador según la reivindicación 62, en el cual la tarea de mediación aplicada a dichos mensajes analizados en dicho módulo mediador predeterminado incluye generar el registro de mensajes.
64. Un producto de programa de ordenador según la reivindicación 62, en el cual la red de ordenadores incluye adicionalmente una aplicación externa, comprendiendo adicionalmente el producto de programa de ordenador:
generar el registro de mensajes en dicha aplicación externa.
65. Un producto de programa de ordenador según la reivindicación 47, en el cual el cambio en la operación interna es una refinación estructural de la topología lógica de la arquitectura de mediación, y en el cual el mensaje de control es uno o más mensajes de refinación.
66. Un producto de programa de ordenador según la reivindicación 65, en el cual se inserta una subred en lugar de un nodo individual durante la etapa de refinación estructural.
67. Un producto de programa de ordenador según la reivindicación 45, incluyendo el producto de programa de ordenador instrucciones para proporcionar un almacén de datos, a fin de almacenar información acerca de la estructura lógica y física de la red sometida a mediación.
ES04767961T 2003-07-31 2004-08-02 Flujo de informacion con mediacion autogestionada. Expired - Lifetime ES2319196T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US49177703P 2003-07-31 2003-07-31
US491777P 2003-07-31

Publications (1)

Publication Number Publication Date
ES2319196T3 true ES2319196T3 (es) 2009-05-05

Family

ID=34115550

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04767961T Expired - Lifetime ES2319196T3 (es) 2003-07-31 2004-08-02 Flujo de informacion con mediacion autogestionada.

Country Status (13)

Country Link
US (1) US9525566B2 (es)
EP (1) EP1649667B1 (es)
JP (1) JP4588704B2 (es)
CN (1) CN1846419A (es)
AT (1) ATE400133T1 (es)
AU (1) AU2004301718B9 (es)
DE (1) DE602004014776D1 (es)
ES (1) ES2319196T3 (es)
GB (1) GB2418331B8 (es)
NO (1) NO20060397L (es)
NZ (1) NZ544986A (es)
PT (1) PT1649667E (es)
WO (1) WO2005013554A2 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307112B2 (en) * 2003-07-31 2012-11-06 Cloudsoft Corporation Limited Mediated information flow
US9525566B2 (en) 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US8082340B2 (en) * 2006-01-30 2011-12-20 Cisco Technology, Inc. Technique for distinguishing between link and node failure using bidirectional forwarding detection (BFD)
US8266321B2 (en) * 2006-06-12 2012-09-11 Cloudsoft Corporation Limited Self-managed distributed mediation networks
US7930600B2 (en) * 2008-02-26 2011-04-19 International Business Machines Corporation Logical to physical connectivity verification in a predefined networking environment
CN101719836A (zh) * 2008-10-09 2010-06-02 联想(北京)有限公司 一种故障检测方法及装置
KR101010911B1 (ko) * 2008-12-31 2011-01-26 엔에이치엔(주) 메시징 네트워크 시스템의 메시지 송수신 방법
US8392555B2 (en) * 2009-06-01 2013-03-05 International Business Machines Corporation Push-back mechanism for pub/sub brokers
US8700756B2 (en) * 2011-05-03 2014-04-15 Xerox Corporation Systems, methods and devices for extracting and visualizing user-centric communities from emails
US8854951B2 (en) * 2011-05-10 2014-10-07 Cray Inc. Dynamically updating routing information while avoiding deadlocks and preserving packet order after a link error
US9154400B2 (en) 2011-05-10 2015-10-06 Cray Inc. Dynamically updating routing information while avoiding deadlocks and preserving packet order after a configuration change
US9258195B1 (en) 2012-08-08 2016-02-09 Shoretel, Inc. Logical topology visualization
US9712402B2 (en) 2012-10-10 2017-07-18 Alcatel Lucent Method and apparatus for automated deployment of geographically distributed applications within a cloud
US9544217B2 (en) 2013-04-19 2017-01-10 Entuity Limited Identification of paths in a network of mixed routing/switching devices
EP2984797B1 (en) 2013-04-19 2017-03-01 Entuity Limited Querying a traffic forwarding table
GB2513188B (en) * 2013-04-19 2015-11-25 Entuity Ltd Identification of the paths taken through a network of interconnected devices
EP2984800B1 (en) 2013-04-19 2017-05-03 Entuity Limited Identifying an egress port of a device
GB2527273B (en) 2014-04-11 2016-08-03 Entuity Ltd Executing a loop computer program to identify a path in a network
CA2920501C (en) 2013-08-07 2021-05-04 Interdigital Patent Holdings, Inc. Distributed scheduling for device-to-device communication
CN104778188B (zh) * 2014-02-24 2018-10-19 贵州电网公司信息通信分公司 一种分布式设备日志采集方法
US10057337B2 (en) * 2016-08-19 2018-08-21 AvaSure, LLC Video load balancing system for a peer-to-peer server network
US11075881B2 (en) * 2017-07-07 2021-07-27 Arris Enterprises Llc Proxy between wireless local area network infrastructures
CN110390020A (zh) * 2018-04-19 2019-10-29 株式会社日立制作所 语义网关的建模方法和语义网关
US10993110B2 (en) * 2018-07-13 2021-04-27 Nvidia Corp. Connectionless fast method for configuring Wi-Fi on displayless Wi-Fi IoT device
KR20220123670A (ko) * 2020-01-02 2022-09-08 가브리엘 라비 무선 근거리 통신망에서 복수의 클라이언트 통신 디바이스의 통신을 지원하기 위한 방법 및 시스템
US11894973B2 (en) 2022-03-10 2024-02-06 Ricoh Company, Ltd. Assigning and prioritizing mediation servers for monitoring legacy devices
US11606242B1 (en) * 2022-03-10 2023-03-14 Ricoh Company, Ltd. Coordinated monitoring of legacy output devices
CN115061718B (zh) * 2022-03-24 2023-12-22 上海任意门科技有限公司 配置和运行状态机的方法、计算设备和计算机存储介质

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5769527A (en) * 1986-07-17 1998-06-23 Vari-Lite, Inc. Computer controlled lighting system with distributed control resources
US6185619B1 (en) * 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
WO1995034153A1 (en) * 1994-06-08 1995-12-14 Hughes Aircraft Company Apparatus and method for hybrid network access
WO1997043893A1 (en) * 1996-05-23 1997-11-27 Citibank, N.A. Global financial services integration system and process
US7903029B2 (en) * 1996-09-09 2011-03-08 Tracbeam Llc Wireless location routing applications and architecture therefor
JPH10124411A (ja) * 1996-10-24 1998-05-15 Fuji Xerox Co Ltd エージェントコミュニティシステム
US6247056B1 (en) 1997-02-03 2001-06-12 Oracle Corporation Method and apparatus for handling client request with a distributed web application server
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
JP3274393B2 (ja) * 1997-09-22 2002-04-15 株式会社ディジタル・ビジョン・ラボラトリーズ ネットワークシステム、データ配信方法、および、配信用データが記録されたコンピュータ読み取り可能な記録媒体
US6968394B1 (en) * 1997-09-22 2005-11-22 Zaksat General Trading Co., Wll Asymmetric satellite-based internet service
US6128279A (en) * 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6038594A (en) * 1998-02-02 2000-03-14 Loral Cyberstar, Inc. Internet communication system and method with asymmetric terrestrial and satellite links
US6519243B1 (en) * 1998-02-26 2003-02-11 Hitachi, Ltd. Communication system for communications devices utilizing asymmetrical paths and communications method utilizing asymmetrical paths
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6330592B1 (en) * 1998-12-05 2001-12-11 Vignette Corporation Method, memory, product, and code for displaying pre-customized content associated with visitor data
US6349307B1 (en) * 1998-12-28 2002-02-19 U.S. Philips Corporation Cooperative topical servers with automatic prefiltering and routing
US6760775B1 (en) * 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US6594268B1 (en) 1999-03-11 2003-07-15 Lucent Technologies Inc. Adaptive routing system and method for QOS packet networks
US6646984B1 (en) * 1999-03-15 2003-11-11 Hewlett-Packard Development Company, L.P. Network topology with asymmetric fabrics
US8060926B1 (en) * 1999-03-16 2011-11-15 Novell, Inc. Techniques for securely managing and accelerating data delivery
IL135156A0 (en) 1999-03-19 2001-05-20 Ibm Message broker providing a publish/subscribe service and method of processing messages in a publish/subscribe environment
US6785704B1 (en) * 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US20020032642A1 (en) * 1999-10-13 2002-03-14 Graciela Chichilnisky Internet based secure virtual exchange and distributed relational database for cross border trading of securities
US7117273B1 (en) * 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US7013322B2 (en) * 2000-01-28 2006-03-14 Wiltel Communications Group, Llc System and method for rewriting a media resource request and/or response between origin server and client
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
WO2001067690A1 (fr) * 2000-03-07 2001-09-13 Nippon Telegraph And Telephone Corporation Reseau d'information semantique
US6601101B1 (en) * 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US7260635B2 (en) * 2000-03-21 2007-08-21 Centrisoft Corporation Software, systems and methods for managing a distributed network
US20010027491A1 (en) * 2000-03-27 2001-10-04 Terretta Michael S. Network communication system including metaswitch functionality
US7120453B2 (en) * 2000-04-18 2006-10-10 Lucent Technologies Inc. Paging of mobile hosts on an internet protocol network
US8239445B1 (en) * 2000-04-25 2012-08-07 International Business Machines Corporation URL-based sticky routing tokens using a server-side cookie jar
US7401131B2 (en) * 2000-05-22 2008-07-15 Verizon Business Global Llc Method and system for implementing improved containers in a global ecosystem of interrelated services
US7356500B1 (en) * 2000-06-01 2008-04-08 Pipeline Financial Group, Inc. Method for directing and executing certified trading interests
US7200673B1 (en) * 2000-06-09 2007-04-03 Steven Augart Determining the geographic location of a network device
US6591285B1 (en) * 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US7114008B2 (en) * 2000-06-23 2006-09-26 Cloudshield Technologies, Inc. Edge adapter architecture apparatus and method
US7032031B2 (en) * 2000-06-23 2006-04-18 Cloudshield Technologies, Inc. Edge adapter apparatus and method
US6983259B1 (en) * 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
JP2002015215A (ja) * 2000-06-30 2002-01-18 Hitachi Ltd マルチメデア情報配信システムおよび携帯情報端末装置
US7461150B1 (en) * 2000-07-19 2008-12-02 International Business Machines Corporation Technique for sending TCP messages through HTTP systems
US7370364B2 (en) * 2000-07-31 2008-05-06 Ellacoya Networks, Inc. Managing content resources
US7082102B1 (en) * 2000-10-19 2006-07-25 Bellsouth Intellectual Property Corp. Systems and methods for policy-enabled communications networks
US7403980B2 (en) * 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US6954463B1 (en) * 2000-12-11 2005-10-11 Cisco Technology, Inc. Distributed packet processing architecture for network access servers
US6697206B2 (en) * 2000-12-19 2004-02-24 Imation Corp. Tape edge monitoring
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US20020120837A1 (en) * 2001-02-28 2002-08-29 Maxemchuk Nicholas Frank Distributed internet multicast system for the stock market
US6816493B2 (en) * 2001-03-09 2004-11-09 Motorola, Inc. Method and apparatus employing a mediation device to facilitate communication among devices in an asynchronous communications network
US7571211B1 (en) * 2002-04-15 2009-08-04 Lightwaves Systems, Inc. Method for routing messages over a network based on location
US7200679B2 (en) * 2001-04-13 2007-04-03 Telefonaktiebolaget Lm Ericsson (Publ) Creating distributed proxy configurations
US20020156918A1 (en) * 2001-04-23 2002-10-24 Brocade Communications Systems, Inc. Dynamic path selection with in-order delivery within sequence in a communication network
TWI220821B (en) * 2001-04-26 2004-09-01 Accton Technology Corp Zero-loss web service system and method
US7380017B2 (en) * 2001-05-03 2008-05-27 Nortel Networks Limited Route protection in a communication network
US7251222B2 (en) * 2001-05-15 2007-07-31 Motorola, Inc. Procedures for merging the mediation device protocol with a network layer protocol
KR20070055582A (ko) * 2001-06-04 2007-05-30 엔시티 그룹, 인코포레이티드 통신네트워크의 유효 대역폭 증가 방법
US7117242B2 (en) * 2001-06-20 2006-10-03 Hewlett-Packard Development Company, L.P. System and method for workload-aware request distribution in cluster-based network servers
US6970947B2 (en) * 2001-07-18 2005-11-29 International Business Machines Corporation Method and apparatus for providing a flexible and scalable context service
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US7111074B2 (en) * 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
US10469591B2 (en) * 2001-08-21 2019-11-05 Bookit Oy Method and system for mediating and provisioning services
US7613640B2 (en) * 2001-08-29 2009-11-03 Ebs Group Limited Electronic trading system
US20050071443A1 (en) * 2001-09-10 2005-03-31 Jai Menon Software platform for the delivery of services and personalized content
US7512676B2 (en) * 2001-09-13 2009-03-31 Network Foundation Technologies, Llc Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network
US8042132B2 (en) * 2002-03-15 2011-10-18 Tvworks, Llc System and method for construction, delivery and display of iTV content
JP4160506B2 (ja) * 2001-09-28 2008-10-01 レヴェル 3 シーディーエヌ インターナショナル インコーポレーテッド. 構成可能な適応型広域トラフィック制御および管理
US7860964B2 (en) * 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US20030174648A1 (en) * 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
US7362709B1 (en) * 2001-11-02 2008-04-22 Arizona Board Of Regents Agile digital communication network with rapid rerouting
US7406537B2 (en) * 2002-11-26 2008-07-29 Progress Software Corporation Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes
WO2003048905A2 (en) * 2001-12-05 2003-06-12 E-Xchange Advantage, Inc. Method and system for managing distributed trading data
US8122118B2 (en) * 2001-12-14 2012-02-21 International Business Machines Corporation Selection of communication protocol for message transfer based on quality of service requirements
US20030126059A1 (en) * 2001-12-18 2003-07-03 Hensley Roy Austin Intelectual property (IP) brokering system and method
US8126722B2 (en) * 2001-12-20 2012-02-28 Verizon Business Global Llc Application infrastructure platform (AIP)
WO2003055153A2 (en) * 2001-12-21 2003-07-03 Muirhead Charles S System for supply chain management of virtual private network services
US7203743B2 (en) * 2001-12-28 2007-04-10 Nortel Networks Limited Hierarchical tree-based protection scheme for mesh networks
US20030135509A1 (en) * 2002-01-11 2003-07-17 Davis Andrew Thomas Edge server java application framework having application server instance resource monitoring and management
US7586909B1 (en) * 2002-03-06 2009-09-08 Agere Systems Inc. Striping algorithm for switching fabric
US20030179775A1 (en) * 2002-03-20 2003-09-25 Carolan Jason T. Service delivery network system and method
US7213246B1 (en) * 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
US8516114B2 (en) * 2002-03-29 2013-08-20 International Business Machines Corporation Method and apparatus for content pre-fetching and preparation
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7685287B2 (en) * 2002-05-30 2010-03-23 Microsoft Corporation Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
US20030225873A1 (en) * 2002-05-30 2003-12-04 Wade Michael A. Optimization of network performance through uni-directional encapsulation
US7376125B1 (en) * 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
GB2389431A (en) * 2002-06-07 2003-12-10 Hewlett Packard Co An arrangement for delivering resources over a network in which a demand director server is aware of the content of resource servers
US7676812B2 (en) * 2002-06-10 2010-03-09 Microsoft Corporation Large scale event notification system
US8086750B2 (en) * 2002-06-17 2011-12-27 Darby & Mohaine, L.L.C. Method and system for delivering content over a network
US7360160B2 (en) * 2002-06-20 2008-04-15 At&T Intellectual Property, Inc. System and method for providing substitute content in place of blocked content
US7177859B2 (en) * 2002-06-26 2007-02-13 Microsoft Corporation Programming model for subscription services
JP3923863B2 (ja) * 2002-07-09 2007-06-06 株式会社日立製作所 リクエストルータ装置
US7254109B2 (en) * 2002-07-12 2007-08-07 Baypackets, Inc. Fault tolerant correlation engine method and system for telecommunications networks
US7461147B1 (en) * 2002-08-26 2008-12-02 Netapp. Inc. Node selection within a network based on policy
US7185067B1 (en) * 2002-08-27 2007-02-27 Cisco Technology, Inc. Load balancing network access requests
US7822810B2 (en) * 2002-09-17 2010-10-26 Hewlett-Packard Development Company, L.P. Method and system for peer to peer common channel collaboration
US7676516B2 (en) * 2002-10-15 2010-03-09 Active-Base Ltd. System and method for the optimization of database access in data base networks
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US20040103193A1 (en) * 2002-11-08 2004-05-27 Pandya Suketu J. Response time and resource consumption management in a distributed network environment
US7395536B2 (en) * 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
US7640267B2 (en) * 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US7089319B2 (en) * 2002-12-09 2006-08-08 Anton Lysenko Method and system for instantaneous on-demand delivery of multimedia content over a communication network with aid of content capturing component, delivery-on-demand client and dynamically mapped resource locator server
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
GB0228941D0 (en) * 2002-12-12 2003-01-15 Ibm Methods, apparatus and computer programs for processing alerts and auditing in a publish/subscribe system
US7584298B2 (en) * 2002-12-13 2009-09-01 Internap Network Services Corporation Topology aware route control
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
US20030108030A1 (en) * 2003-01-21 2003-06-12 Henry Gao System, method, and data structure for multimedia communications
US7349980B1 (en) * 2003-01-24 2008-03-25 Blue Titan Software, Inc. Network publish/subscribe system incorporating Web services network routing architecture
US7137040B2 (en) * 2003-02-12 2006-11-14 International Business Machines Corporation Scalable method of continuous monitoring the remotely accessible resources against the node failures for very large clusters
US7353276B2 (en) * 2003-02-13 2008-04-01 Microsoft Corporation Bi-directional affinity
WO2004100010A1 (en) * 2003-04-30 2004-11-18 Iptv Systems, Llc Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use
US9258765B1 (en) * 2003-05-08 2016-02-09 Dynamic Mesh Networks, Inc. Chirp networks
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7167865B1 (en) * 2003-06-30 2007-01-23 Mvalent, Inc. Collaborative environment for producing software products
US7533054B2 (en) * 2003-06-30 2009-05-12 Bloomberg L.P. Central credit filtering in computerized trading
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US9525566B2 (en) 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
US8266321B2 (en) 2006-06-12 2012-09-11 Cloudsoft Corporation Limited Self-managed distributed mediation networks

Also Published As

Publication number Publication date
GB2418331B (en) 2006-12-06
NZ544986A (en) 2007-09-28
EP1649667B1 (en) 2008-07-02
GB2418331A8 (en) 2011-01-19
PT1649667E (pt) 2008-10-14
EP1649667A2 (en) 2006-04-26
AU2004301718A1 (en) 2005-02-10
WO2005013554A2 (en) 2005-02-10
CN1846419A (zh) 2006-10-11
GB2418331A (en) 2006-03-22
GB0526606D0 (en) 2006-02-08
NO20060397L (no) 2006-04-28
GB2418331B8 (en) 2011-01-19
DE602004014776D1 (de) 2008-08-14
WO2005013554A3 (en) 2005-03-31
US9525566B2 (en) 2016-12-20
AU2004301718B2 (en) 2007-07-12
JP4588704B2 (ja) 2010-12-01
JP2007502553A (ja) 2007-02-08
ATE400133T1 (de) 2008-07-15
AU2004301718B9 (en) 2007-07-12
US20050044268A1 (en) 2005-02-24

Similar Documents

Publication Publication Date Title
ES2319196T3 (es) Flujo de informacion con mediacion autogestionada.
CN108234307B (zh) 网络方法、网络装置和非暂时性计算机可读存储介质
CN108234306B (zh) 网络装置、网络方法和计算机可读存储介质
Pietzuch Hermes: A scalable event-based middleware
US8812729B2 (en) Self-managed distributed mediation networks
US8856800B2 (en) Service-level enterprise service bus load balancing
US8166097B2 (en) Using distributed queues in an overlay network
US9565092B2 (en) Enterprise service bus deployment at the level of individual services
Lynch et al. Atomic data access in distributed hash tables
US7774639B2 (en) Subscription-based management and distribution of member-specific state data in a distributed computing system
CN111711526B (zh) 一种区块链节点的共识方法及系统
WO2010034608A1 (en) System and method for configuration of processing clusters
US8307112B2 (en) Mediated information flow
Lin et al. Robust network function virtualization
WO2024078025A1 (zh) 流量隔离方法、装置、系统及计算机可读存储介质
Birman et al. Exploiting gossip for self-management in scalable event notification systems
Cugola et al. An algorithm for dynamic reconfiguration of publish-subscribe systems
Mühl et al. Distributed Notification Routing