ES2845904T3 - Procedimiento y aparato para procesamiento de datos en clúster - Google Patents
Procedimiento y aparato para procesamiento de datos en clúster Download PDFInfo
- Publication number
- ES2845904T3 ES2845904T3 ES08746924T ES08746924T ES2845904T3 ES 2845904 T3 ES2845904 T3 ES 2845904T3 ES 08746924 T ES08746924 T ES 08746924T ES 08746924 T ES08746924 T ES 08746924T ES 2845904 T3 ES2845904 T3 ES 2845904T3
- Authority
- ES
- Spain
- Prior art keywords
- server
- data
- cluster
- load balancing
- external server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Un procedimiento de procesamiento de datos en clúster que utiliza un clúster (100) que incluye al menos dos servidores (a0,... an, 420) y un dispositivo de equilibrio de carga (110, 410, 510) comprendiendo el procedimiento: enviar, por parte de un servidor solicitante en el clúster, una solicitud de conexión a un servidor externo; recibir, procedente del servidor externo, una respuesta a la solicitud de conexión y, en respuesta, establecer la conexión entre el servidor solicitante en el clúster y el servidor externo; enviar (220), por parte del servidor solicitante en el clúster, unos primeros datos que comprenden un primer registro de identidad de control al servidor externo (190), en el que el primer registro de identidad de control incluye una identidad única y una información de control, en el que la información de control contiene información de ubicación de servidor que identifica un servidor deseado en el clúster; desconectar, por parte del servidor solicitante en el clúster, la conexión entre el servidor solicitante en el clúster y el servidor externo; recibir, por parte del dispositivo de equilibrio de carga en el clúster, una solicitud de una nueva conexión de red procedente del servidor externo; al establecerse la conexión de red, recibir (230) unos segundos datos en el dispositivo de equilibrio de carga en el clúster procedentes del servidor externo, en el que los segundos datos se obtienen procesando los primeros datos por parte del servidor externo y contienen un segundo registro de identidad de control que incluye la identidad única y la información de control recibida por el servidor externo en los primeros datos, en el que la conexión de red entre el servidor externo y el dispositivo de equilibrio de carga es desconectada después de que se haya completado una transmisión de datos; seleccionar, por parte del dispositivo de equilibrio de carga, un servidor en el clúster y enviar los segundos datos al servidor; y enrutar (250), por parte de una unidad de enrutamiento en el clúster, los segundos datos según la información de control de los segundos datos, que incluye enviar los segundos datos a un servidor de recepción en el clúster, en el que los segundos datos se obtienen del servidor seleccionado y el servidor de recepción es seleccionado según la información de ubicación de servidor en la información de control de los segundos datos.
Description
DESCRIPCIÓN
Procedimiento y aparato para procesamiento de datos en clúster
Solicitudes relacionadas
En esta solicitud se reivindica la prioridad de la solicitud de patente china, Solicitud N° 200710102649.4, presentada el 25 de abril de 2007, titulada " METHOD AND APPARATUS FOR CLUSTER DATA PROCESSING".
Antecedentes
Esta divulgación está relacionada con el campo de las tecnologías de procesamiento de datos y, en particular, con sistemas y procedimientos de procesamiento de datos basados en un clúster.
A medida que las tecnologías informáticas y de redes se desarrollan continuamente, la creciente demanda de procesamiento y requerimiento de fiabilidad de los servidores ya no se pueden satisfacer simplemente mejorando el rendimiento del hardware de los servidores. En esta circunstancia, la tecnología de procesamiento en clúster ha recibido gradualmente una amplia atención y uso. Un "clúster" se refiere a una especie de sistema paralelo o distribuido compuesto por diversos dispositivos informáticos integrados (tales como dispositivos informáticos personales y servidores) y que se utiliza como un recurso informático unificado. Si uno de los servidores del clúster ha dejado de funcionar, otros servidores del mismo clúster podrían asumir sus servicios y trabajos para proporcionar un servicio de red de gran fiabilidad. Además, utilizando la tecnología de procesamiento en clúster, la carga que originalmente asumía un solo servidor puede ser compartida por otros servidores del mismo clúster. Esto aumenta en gran medida la capacidad de procesamiento del sistema.
La Figura 1 muestra un diagrama estructural de un sistema común que utiliza un clúster para realizar procesamiento de datos. El sistema de la Figura 1 tiene un clúster 100 y un servidor externo 190. El clúster 100 está formado por unos servidores a0 , a1,... ai,... y an y un dispositivo de equilibrio de carga 110. Después de recibir una solicitud de procesamiento externa, el dispositivo de equilibrio de carga 110 selecciona un servidor del clúster 100 utilizando una determinada estrategia basada en aspectos físicos del sistema para prestar servicio al exterior. La selección, por ejemplo, se puede basar en una conexión de red actual de un servidor en el clúster 100. En condiciones normales, cada servidor en el clúster presta un servicio similar. Sin embargo, a veces distintos servidores pueden realizar funciones diferentes para prestar servicios distintos. Por ejemplo, el servidor a0 puede tratar datos de clientes importantes, mientras que los servidores a1 y a2 pueden tratar datos de clientes generales. En este caso, como el servidor a0 envía uno o diversos conjuntos de datos que contienen una identidad única al servidor externo 190, el servidor externo 190 devuelve unos datos de resultado del procesamiento que contienen la misma identidad única, solicitando que los datos devueltos sigan siendo procesados por el mismo servidor a0.
Con el fin de devolver correctamente los datos procesados al servidor pertinente a0 en el proceso anterior, la práctica habitual en la tecnología existente es mantener la conexión de red entre el servidor externo 190 y el servidor del clúster a0 después de que el servidor externo 190 haya recibido los datos procedentes del servidor del clúster a0. Una vez se ha completado el procesamiento, el servidor 190 puede devolver el resultado del procesamiento al servidor a0 directamente a través del enlace de red que se ha mantenido. Sin embargo, esto provoca una carga de conexión de red en el servidor externo 190. Este problema se hace más evidente cuando hay muchos objetivos que deben ser atendidos por el servidor externo 190. Un número excesivo de conexiones de red consume en gran medida los recursos del servidor externo 190 y reduce su capacidad de procesamiento.
Por lo tanto, es deseable disponer de nuevos diseños que puedan ayudar a transmitir correctamente los datos procesados por parte de un servidor externo 190 a un servidor pertinente del clúster, lo que es un problema constante que se afronta comúnmente en el campo de la tecnología de procesamiento en clúster.
El documento US 2001/052024 A1 se refiere a un enrutador basado en una afinidad y a un procedimiento para enrutamiento y equilibrio de carga en un clúster encapsulado de nodos de servidor. El sistema consta de un servidor de múltiples nodos, en el que cualquiera de los nodos del servidor puede tratar una solicitud de cliente, pero en el que los clientes tienen una afinidad con uno o más de los nodos del servidor que se prefiere que traten la solicitud de cliente. En el servidor de múltiples nodos, el nodo puede ser designado como un enrutador de TCP. La dirección del enrutador de TCP es suministrada a los clientes y también se le envían las solicitudes de cliente. El enrutador de TCP selecciona uno de los nodos en el servidor de múltiples nodos para procesar la solicitud de cliente y enruta la solicitud hacia este servidor. Además, el enrutador de TCP mantiene unas tablas de afinidad, que contienen unos registros de afinidad, que indican a qué nodo se ha enrutado un cliente. Solicitudes posteriores de este cliente son enrutadas hacia nodos de servidor en función de cualesquiera registros de afinidad mantenidos, posiblemente combinados con otra información, tal como la carga.
El documento US 6 970 933 B1 se refiere a insertar y examinar cookies HTTP en flujos de datos de conexiones HTTP con el propósito de direccionar conexiones HTTP al mismo destino de forma persistente, permitiendo con ello que un dispositivo de transmisión de red direccione de manera confiable y conveniente conexiones HTTP posteriores desde el mismo cliente al mismo servidor para acceder a recursos solicitados. Se realiza un protocolo de intercambio TCP/IP entre el cliente y el controlador de matriz del servidor. El cliente transmite la solicitud HTTP al controlador de matriz del servidor. El controlador de matriz del servidor proporciona la solicitud HTTP a un servidor de nodo seleccionado que, a su vez, genera una respuesta HTTP que incluye información de cookie que identifica el servidor de nodo seleccionado. El servidor de nodo seleccionado proporciona la respuesta HTTP junto con la información de cookie insertada al controlador de matriz del servidor. El controlador de matriz de servidor proporciona la respuesta HTTP con la información de cookie al cliente. El cliente transmite una solicitud HTTP posterior junto con la cookie al controlador de matriz de servidor que utilizará la información incluida en la cookie para proporcionar la solicitud HTTP al servidor de nodo seleccionado previamente.
El documento DE 102 44 459 A1 y el libro "Enterprise lntegration Patterns: Designing, Building, and Deploying Messaging Solutions" de GREGOR HOHPE divulgan una transacción asincrónica entre un servidor solicitante y un servidor de respuesta, en el que la transacción consiste en un mensaje de solicitud y un mensaje de respuesta que comprenden el mismo identificador único de transacción y en el que el mensaje de solicitud comprende adicionalmente como dirección de retorno la dirección del servidor solicitante.
RESUMEN
El objeto de la presente invención es mejorar la comunicación entre un servidor solicitante en un clúster y un servidor externo de respuesta.
Este objeto es solucionado por la materia de las reivindicaciones independientes.
Se proporcionan formas de realización en las reivindicaciones dependientes.
La presente divulgación describe un procedimiento de procesamiento de datos basado en un clúster para resolver los problemas de grandes cargas en recursos de servidor y para evitar un bajo rendimiento de procesamiento del servidor a causa del mantenimiento continuo de una conexión de red entre un servidor externo y un clúster para transmisión de datos en la tecnología existente. El procedimiento y el sistema de procesamiento de datos en clúster divulgados se basan en una identidad de control única sin que sea necesaria una conexión de red continua entre los servidores del clúster y un dispositivo informático externo.
Un aspecto de la divulgación es un procedimiento de procesamiento de datos en clúster que utiliza un clúster que incluye al menos dos servidores. Según el procedimiento, el clúster envía unos primeros datos que contienen un primer registro de identidad de control a un dispositivo informático externo (tal como un servidor externo) y, posteriormente, recibe unos segundos datos en el clúster procedentes del dispositivo informático externo. Los segundos datos son el resultado de un procesamiento de los primeros datos y contienen un segundo registro de identidad de control que se corresponde con el primer registro de identidad de control de los primeros datos. El primer registro de identidad de control y el segundo registro de identidad de control tienen cada uno de ellos una identidad única que se corresponden entre sí y una información de control que se corresponden entre sí. El clúster enruta entonces los segundos datos según el segundo registro de identidad de control de los segundos datos.
La correspondencia entre el segundo registro de identidad de control y el primer registro de identidad de control permite al clúster identificar la relación entre los segundos datos y los primeros datos, y utilizar la información de control contenida en los segundos datos para un enrutamiento adecuado de los segundos datos. En una forma de realización, la identidad única del segundo registro de identidad de control es idéntica a la identidad única del primer registro de identidad de control. Además, la información de control del segundo registro de identidad de control puede ser también idéntica a la información de control del primer registro de identidad de control.
En una forma de realización del procedimiento, el clúster tiene un dispositivo de equilibrio de carga, y los segundos datos son recibidos por el dispositivo de equilibrio de carga antes de su enrutamiento. El dispositivo de equilibrio de carga puede ser un dispositivo separado o ubicado en uno de los servidores del clúster.
En condiciones óptimas, al recibir los segundos datos procedentes del servidor externo, el dispositivo de equilibrio de carga también puede enviar los segundos datos a un servidor de recepción en el clúster de acuerdo con una regla de equilibrio de carga predeterminada. El servidor de recepción entonces enruta los segundos datos de acuerdo con la información de control contenida en los segundos datos. En otra forma de realización, el servidor de recepción puede enviar los segundos datos recibidos a un middleware de enrutamiento, que posteriormente enruta los segundos datos de acuerdo con la información de control contenida en los segundos datos.
Para controlar el enrutamiento, la información de control puede contener la información de ubicación del servidor para identificar el servidor deseado en el clúster según lo especificado por los primeros datos. En este caso, el enrutamiento de los segundos datos dentro del clúster de acuerdo con la información de control puede incluir enviar los segundos datos a un servidor de recepción seleccionado de acuerdo con la información de ubicación del servidor. En una forma de realización, si el servidor de recepción seleccionado según la información de ubicación del servidor ha dejado de funcionar, se selecciona un servidor de recepción alternativo del clúster según una regla de enrutamiento predeterminada, y entonces se transmiten los segundos datos al servidor de recepción alternativo.
Otro aspecto de la divulgación es un sistema de procesamiento de datos en clúster que incluye al menos dos servidores, un dispositivo de equilibrio de carga y la unidad de enrutamiento. Cada servidor tiene una unidad de envío adaptada para enviar unos primeros datos que contienen un primer registro de identidad de control a un dispositivo informático externo. El dispositivo de equilibrio de carga está adaptado para recibir unos segundos datos procedentes del servidor externo, en el que los segundos datos contienen un segundo registro de identidad de control correspondiente al primer registro de identidad de control de los primeros datos. La unidad de enrutamiento está adaptada para enrutar los segundos datos de acuerdo con el segundo registro de identidad de control contenido en los segundos datos.
La unidad de enrutamiento puede estar ubicada en uno o más de los servidores del clúster. Al recibir los segundos datos, el dispositivo de equilibrio de carga transmite los segundos datos a uno de los servidores que alojan la unidad de enrutamiento según una regla de equilibrio de carga predeterminada. El servidor de alojamiento tiene una unidad de recepción que se utiliza para recibir los segundos datos procedentes del dispositivo de equilibrio de carga. La unidad de enrutamiento del servidor de alojamiento enruta la segunda unidad de acuerdo con la información de control contenida en los segundos datos.
Alternativamente, la unidad de enrutamiento puede ser un dispositivo autónomo. El dispositivo de equilibrio de carga transmite los segundos datos a un servidor del clúster según una regla de equilibrio de carga predeterminada, y el servidor envía entonces los segundos datos a la unidad de enrutamiento, que posteriormente enruta los segundos datos según la información de control contenida en los segundos datos.
De forma óptima, la unidad de enrutamiento puede incluir además una unidad de detección de fallos. La unidad de detección de fallos se utiliza para detectar si el servidor seleccionado según la información de ubicación del servidor está funcionando correctamente. Si no es así, se selecciona un servidor alternativo en base a la regla de enrutamiento predeterminada, y se transmiten los segundos datos al servidor alternativo.
En comparación con la tecnología existente, algunas formas de realización de ejemplo que se divulgan en el presente documento pueden tener potencialmente los siguientes beneficios. Aprovechando el hecho de que no se cambia ni se modifica la identidad única en la transmisión de datos, el procedimiento y el sistema divulgados amplían la identidad única en un registro de identidad de control añadiendo información de control. Al recibir los segundos datos externamente, el presente procedimiento y sistema realizan el enrutamiento de los segundos datos dentro del clúster de acuerdo con la información de control en el registro de identidad de control en los segundos datos. Esto asegura que los segundos datos son procesados por el servidor adecuado, aunque no se haya mantenido la conexión de red entre el servidor del clúster y el servidor externo. Esto ayuda a resolver los problemas de grandes cargas sobre los recursos del servidor y a evitar una reducción del rendimiento de procesamiento del servidor a causa del mantenimiento continuo de la conexión de red entre el servidor externo y el servidor del clúster para la transmisión de datos en la tecnología existente. El concepto que se divulga en este documento rompe con el entendimiento imperante sobre el uso de una identidad única en la transmisión de datos en la tecnología existente. El procedimiento y el sistema divulgados logran una mejora en el procesamiento entre un clúster y servidores externos sin requerir ningún cambio en la estructura de datos existente y ninguna modificación de los programas y sistemas de los servidores externos.
Este resumen se proporciona para introducir una selección de conceptos de forma simplificada que se describen más adelante en la descripción detallada. Este Resumen no tiene por objeto identificar las características principales o esenciales de la materia reivindicada, ni se pretende que su utilización sea una ayuda para determinar el alcance de la materia reivindicada.
DESCRIPCIÓN DE LOS DIBUJOS
La descripción detallada se describe con referencia a las figuras adjuntas. En las figuras, el dígito o dígitos de más a la izquierda de un número de referencia identifican la figura en la que el número de referencia aparece primero. El uso de los mismos números de referencia en figuras diferentes indica que se tratan de elementos similares o idénticos.
La Figura 1 muestra un diagrama estructural de un sistema común que utiliza un clúster para realizar procesamiento de datos.
La Figura 2 es un diagrama de flujo que muestra una forma de realización de ejemplo del procedimiento de acuerdo con la presente divulgación.
La Figura 3 es un diagrama de flujo que muestra una forma de realización de ejemplo del procedimiento con un entorno de aplicación de acuerdo con la presente divulgación.
La Figura 4 muestra un sistema de ejemplo de procesamiento de datos en clúster de acuerdo con la presente divulgación.
La Figura 5 muestra otro sistema de ejemplo de procesamiento de datos en clúster de acuerdo con la presente divulgación.
DESCRIPCIÓN DETALLADA
En la tecnología de procesamiento en clúster existente, con el fin de permitir que los datos originalmente procesados por un determinado servidor a i en el clúster 100 sean tratados por el mismo servidor ai después de que los datos hayan sido procesados por el servidor externo 190, es necesario mantener una conexión de red continua entre ai y el servidor externo 190 para la transmisión de datos. Esta práctica ocupa los recursos de los servidores y reduce sustancialmente las capacidades de procesamiento tanto de los servidores del clúster a0 , a1,... ai,... y an como del servidor externo 190.
A continuación, primero se ilustran el procedimiento y el sistema de procesamiento de datos en clúster con referencia a la Figura 1, que es un diagrama estructural de un sistema en clúster común. La diferencia entre el procedimiento y el sistema de procesamiento de datos en clúster divulgados y la tecnología de procesamiento en clúster existente radica en la implementación que se describe a continuación.
La presente divulgación describe una nueva forma de configurar la identidad única enviada desde el clúster 100 al servidor externo 190. El procedimiento añade información de control a la identidad única para ampliar la identidad única en un registro de identidad de control. La información de control se especifica en cada dato o en un conjunto de datos múltiples generados por un servidor del clúster (a0 , a1,... ai,... o an) según los requisitos específicos de esos datos o del conjunto de múltiples datos. El registro de identidad de control pasa de los datos originales enviados por un servidor del clúster al servidor externo 190 y mantiene su identidad y propiedades de control. En principio, las propiedades de identidad y control se pueden mantener siempre que exista una correspondencia reconocible entre el registro de identidad de control que se encuentra en los datos procesados por el servidor externo 190 y el registro de identidad de control en los datos originales enviados por el servidor del clúster a0 , a1, ... ai ... o an. Sin embargo, una forma sencilla de implementar esto es mantener el registro de identidad de control sin cambios. Es decir, el registro de identidad de control en los datos procesados es el mismo que el registro de identidad de control que se encuentra en los datos originales enviados por el servidor del clúster. Dado que el registro de identidad de control según la presente divulgación tiene tanto una identidad única como una información de control, un registro de identidad de control sin cambios significa que tanto la identidad única como la información de control se mantienen sin cambios. En la presente divulgación, se ilustran formas de realización de ejemplo suponiendo que se utiliza un registro de identidad de control sin cambios.
Dado que el registro de identidad de control permanece inalterado cuando los datos están siendo procesados por el servidor externo 190, el clúster 100 puede enrutar los datos recibidos procedentes del servidor externo 190 de acuerdo con la información de control en el registro de identidad de control. Esto permite que los datos sean procesados por un servidor pertinente (o especificado) en el clúster y, por lo tanto, mejora el procesamiento de datos entre el clúster 100 y el servidor externo 190.
El procedimiento y el sistema de procesamiento de datos en clúster se explican con más detalle utilizando las figuras y formas de realización de ejemplo que se incluyen a continuación.
La Figura 2 es un diagrama de flujo que muestra una forma de realización de ejemplo del procedimiento de acuerdo con la presente divulgación. La forma de realización de ejemplo se describirá en detalle en referencia a la Figura 2 de la siguiente manera. En esta descripción, el orden en que se describe un proceso no se debe interpretar como una limitación, y cualquier número de los bloques de proceso que se describen se puede combinar en cualquier orden para implementar el procedimiento, o un procedimiento alternativo.
En el bloque 210, un servidor del clúster 100 crea un registro de identidad de control según una regla predeterminada. Al igual que en la tecnología existente, cada conjunto de datos enviados desde el clúster al servidor externo 190 incluye una identidad única para distinguirse de otros datos. En una forma de realización, esta identidad única permanece inalterada durante todo el tiempo en que los datos son procesados por el servidor externo 190 y devueltos al clúster 100. Utilizando esta característica de la identidad única, la presente divulgación añade información de control para ampliar la identidad única en un registro de identidad de control. Concretamente, en una forma de realización de ejemplo, el registro de identidad de control contiene una identidad única y una información de control. La regla de crear la identidad
única cuando se pone en práctica el procedimiento divulgado puede ser definida por el usuario de cualquier manera adecuada en base a las necesidades, siempre que se utilice una identidad de datos. La información de control se utiliza para controlar la forma en que los datos se procesan posteriormente en el clúster 190 y/o en el clúster 100. Por ejemplo, la información de control puede incluir la información de ubicación de un servidor o servidores en el clúster que se desean utilizar para procesar los datos.
Se observa, sin embargo, que la inclusión de información de ubicación del servidor en la información de control es sólo una forma de ejemplo de implementar la información de control en un registro de identidad de control. Los expertos en la materia pueden establecer otros contenidos en la información de control según sus propias necesidades de servicio. Por ejemplo, la información de control puede tener información relativa a las versiones de los programas que se utilizarán para el procesamiento de datos. Las versiones de los programas ejecutados por diferentes servidores en algunos clústeres pueden ser diferentes. En este caso, es posible que el procesamiento de datos requiera ser realizado por servidores con programas de ciertas versiones compatibles o relevantes. De este modo, se puede configurar la información de control para que incluya la versión del programa necesaria para los datos. En otro ejemplo, si los datos deben ser procesados por el servidor dentro de un tiempo determinado, la información de control se puede configurar para que incluya un tiempo de procesamiento que se requiere que satisfaga el servidor que se va a seleccionar para procesar los datos.
En el bloque 220, el servidor que ha procesado unos primeros datos envía los primeros datos al servidor externo 190. Además de los propios datos informáticos, los primeros datos incluyen el registro de identidad de control que se ha creado en el bloque 210. Los datos informáticos a procesar por parte del servidor externo 190 y el registro de identidad de control son agrupados para formar los primeros datos y son enviados al servidor externo 190.
En una forma de realización preferida, cuando se amplía la identidad única en un registro de identidad de control, el procedimiento divulgado no cambia la estructura original de datos de la identidad única. En cuanto a los primeros datos enviados al servidor externo 190, su estructura de datos y sus reglas de interfaz no se modifican con respecto a lo que se encuentra en la tecnología existente, de modo que se mantiene la conformidad, consistencia e integridad de su semántica. Además, no es necesario modificar las reglas de procesamiento originales del servidor externo 190. Cuando hayan cambiado los requisitos de control de los datos del clúster 100, sólo será necesario modificar la información de control en el registro de identidad de control para adaptarla al cambio. De este modo se reduce en gran medida el coste causado por la realización de los cambios en un sistema de procesamiento de datos en clúster de acuerdo con la presente divulgación.
En el bloque 230, el clúster 100 recibe unos segundos datos procedentes del servidor externo 190. Los segundos datos se obtienen procesando los primeros datos por parte del servidor externo 190 y son devueltos por el servidor externo 190 al clúster 100. Estos segundos datos contienen un registro de identidad de control que se basa en y se corresponde con el registro de identidad de control de los primeros datos. En una forma de realización, el registro de identidad de control en los segundos datos es idéntico al registro de identidad de control de los primeros datos. A título ilustrativo, el servidor externo 190 es el dispositivo o sistema seleccionado para realizar la interacción de datos con el clúster 100. Sin embargo, es concebible que se pueda utilizar un dispositivo informático separado para comunicar los segundos datos producidos por el servidor externo 190 al clúster 100. También se aprecia que el servidor externo 190 puede ser un clúster en sí mismo. El procedimiento divulgado no tiene ninguna restricción en cuanto a las formas del servidor externo 190, ni en cuanto a las formas de procesar los primeros datos por parte del servidor externo 190 o cualquier otro dispositivo o sistema externo.
El clúster 100 tiene además un dispositivo de equilibrio de carga 110 que se utiliza para seleccionar un servidor en el clúster 100 para que preste el siguiente servicio de acuerdo con una determinada estrategia de selección basada en aspectos físicos del clúster 100 y sus servidores. La estrategia de selección, por ejemplo, puede ser una selección aleatoria, o una selección basada en la conexión de red actual del servidor, etc. El dispositivo de equilibrio de carga 110 puede ser un hardware especializado separado de los servidores, o un dispositivo ubicado en uno de los servidores del clúster 100. La utilización de hardware especializado para realizar el equilibrio de carga cuando se implementa el procedimiento divulgado en este documento quedará a discreción del implementador.
En el bloque 240, el clúster 100 analiza a partir de los segundos datos un registro de identidad de control que incluye la información de control contenida en el mismo. En una forma de realización, por ejemplo, después de recibir los segundos datos, el dispositivo de equilibrio de carga 110 selecciona un servidor en el clúster 100 y envía los segundos datos al servidor seleccionado. El servidor que ha recibido los segundos datos analiza una identidad única e información de control del registro de identidad de control de acuerdo con una regla predeterminada.
En el bloque 250, el clúster 100 enruta los segundos datos de acuerdo con las reglas establecidas en la información de control en el registro de identidad de control de los segundos datos. Se puede realizar un
re-enrutamiento por parte del mismo servidor en el clúster que ha analizado el registro de identidad de control de los segundos datos. En condiciones óptimas, la información de control puede contener información de ubicación de servidor que describe la ubicación del servidor o servidores en el clúster 100. De acuerdo con la información de ubicación de servidor en la información de control, se selecciona un servidor adecuado y entonces se envían los segundos datos al servidor seleccionado. Se aprecia que cuando se implementa el procedimiento que se describe en este documento, se puede establecer el contenido y las reglas de la información de control de acuerdo con sus propias necesidades prácticas con el fin de enrutar adecuadamente los segundos datos de acuerdo con las reglas. Por ejemplo, se puede establecer la regla para seleccionar un servidor de acuerdo con la versión del servicio prestado por el servidor y/o el tiempo de procesamiento requerido. Esta divulgación no impone ninguna restricción en cuanto a la forma de configurar el contenido y las reglas de la información de control.
El clúster 100 puede utilizar una unidad de enrutamiento para enrutar los segundos datos hacia un servidor apropiado en el clúster una vez seleccionado. La unidad de enrutamiento puede ser un equipo informático independiente, separado de los servidores, o un dispositivo ubicado en uno o más de los servidores del clúster. En esta forma de realización de ejemplo, se puede utilizar cualquier servidor del clúster para enrutar los segundos datos. Al recibir los segundos datos procedentes del servidor externo 190, el dispositivo de equilibrio de carga 110 puede seleccionar aleatoriamente un servidor en el clúster y enviar los segundos datos a ese servidor para su enrutamiento.
En el bloque 260, se realiza una etapa opcional para la protección contra fallos. De acuerdo con la información de ubicación del servidor en la información de control, el clúster 100 determina (utilizando, por ejemplo, el dispositivo de equilibrio de carga 110) si el servidor seleccionado ha dejado de funcionar. Si el servidor seleccionado ha dejado de funcionar, se selecciona un servidor alternativo en base a una regla y a una estrategia predeterminada, y entonces se envían los segundos datos al servidor alternativo para su procesamiento.
Adicionalmente, además de la identidad única y la información de control, podría haber otros contenidos establecidos en el registro de identidad de control según necesidades específicas del servicio. Esta divulgación no tiene ninguna restricción para establecer dichos contenidos en el registro de identidad de control. Por ejemplo, se pueden encriptar y firmar los datos del registro de identidad de control para mejorar la seguridad de los datos.
A continuación se ilustra un uso de ejemplo de un clúster de registros de identidad de control. El ejemplo se encuentra en una transacción comercial, en la que el registro de identidad de control contiene información de un pedido de compra.
El clúster 100 envía un datagrama al servidor 190 solicitando al servidor 190 que deduzca 100 dólares de una cuenta de usuario que tiene un ID de cuenta "customerAccountld". El datagrama puede ser de la siguiente forma:
<orderld>12345876298708765635553223</orderld>
<customerAccountId>87634293882173710987</customerAccountId>
<requesterId>0987658932</requesterId>
<product>compras de supermercado</product>
<price>100,00</price>
<createDate>2007-04-1912:01</createDate>
En el ejemplo anterior, la primera línea asociada con "orderld" es el registro de identidad de control, que se puede utilizar de la manera descrita en la presente divulgación. Con el fin de evitar que el servidor 190 modifique o desautorice los contenidos del datagrama, se pueden codificar los contenidos del datagrama en base a un algoritmo predeterminado para obtener un resumen (por ejemplo, una suma o un valor hash) del contenido codificado, cuyo resumen se coloca entonces en el registro de identidad de control. En este ejemplo, los últimos dieciséis dígitos de orderld (8708765635553223) son el resumen de los contenidos del datagrama actual. Para examinar si se ha producido un error en la transacción, se pueden encriptar los contenidos del datagrama recibido por el servidor 190 utilizando el mismo algoritmo para obtener un resumen de prueba. Este resumen de prueba es comparado con el resumen original en el registro de identidad de control. Si no son iguales, se determina que el datagrama ha sido modificado después de que el datagrama haya sido enviado al servidor 190. Usando encriptación, se mejora la seguridad de los datos.
En una segunda forma de realización de ejemplo de esta divulgación, al recibir los segundos datos, el servidor seleccionado por el dispositivo de equilibrio de carga transmite los segundos datos a un middleware
de enrutamiento. El middleware de enrutamiento enruta entonces estos datos de acuerdo con la información de control contenida en los segundos datos. El middleware de enrutamiento puede ser un servidor independiente, un servidor dedicado en el clúster o uno de los servidores en el clúster. En comparación con la primera forma de realización de ejemplo, los servidores en el clúster en la segunda forma de realización de ejemplo ya no son responsables del enrutamiento de los datos. En lugar de ello, el enrutamiento de datos lo realiza el middleware de enrutamiento. Dado que, por lo tanto, se evita el mantenimiento del servicio de enrutamiento de cada servidor, esta forma de realización puede reducir la complejidad del mantenimiento. Los otros aspectos de la segunda forma de realización de ejemplo son similares a los de la primera forma de realización de ejemplo y no se repiten en este caso.
En otra forma de realización de ejemplo más, las funcionalidades del dispositivo de equilibrio de carga y del middleware de enrutamiento se pueden realizar en un único dispositivo integrado. En este caso, al recibir los datos devueltos por el servidor externo 190, el dispositivo integrado puede considerar unas reglas de equilibrio de carga y de control de la información de control pertinente de los datos en su conjunto para seleccionar un servidor en el clúster para completar el procesamiento de los datos. Más adelante se ilustran más detalles de las formas de realización de ejemplo anteriores con referencia a las Figuras 4 - 5.
Anteriormente se ha descrito el procedimiento de procesamiento de datos en clúster. A continuación se utiliza un ejemplo práctico con un entorno de aplicación para explicar con más detalle la aplicación del procedimiento.
La Figura 3 es un diagrama de flujo que muestra una forma de realización de ejemplo del procedimiento con un entorno de aplicación de acuerdo con la presente divulgación. En el ejemplo práctico que se ilustra en este caso, el clúster 100 envía una solicitud de pago al servidor 190. Al recibir esta solicitud, el servidor 190 completa el pago según el número de orden especificado en la solicitud de pago y devuelve el resultado del pago. Los detalles se describen a continuación.
En el bloque 301a, un servidor (por ejemplo, el servidor a1) del clúster 100 envía una solicitud de conexión al servidor externo 190. Si el servidor externo 190 responde, se establecerá entonces una conexión de red entre el servidor a1 y el servidor 190. El servidor a1 envía posteriormente un datagrama de solicitud al servidor 190.
A continuación se muestran los contenidos del datagrama de solicitud enviado por el servidor a1 al servidor 190:
<orderId>A111123</orderld>
<customerAccountId>87634293882173710987</customerAccountId> <requesterId>0987658932</requesterId>
<product>compras de supermercado</product>
<price>100,00</price>
<createDate>2007-04-1912:01</createDate>
En el anterior datagrama de solicitud, <orderId>A111123</orderId> es el registro de identidad de control del datagrama actual. A1 es información de control que identifica el nombre del servidor (a1) que ha procesado el pedido, mientras que 11123 es una identidad única del pedido que especifica el número del pedido. En el bloque 301b, el servidor a1 desconecta la conexión de red con el servidor 190 después de que se haya completado la transmisión de datos.
En el bloque 302, el servidor externo 190 procesa el datagrama recibido y crea un resultado de procesamiento. En este ejemplo, se solicita al servidor externo 190 que realice un pago de 100,00 dólares a partir de la cuenta de cliente 87634293882173710987 y luego crea el resultado del procesamiento. El formato del resultado del procesamiento es:
<orderId>A111123</orderId>
<result>pago exitoso</result>
Como se muestra más arriba, el resultado del procesamiento incluye un registro de identidad de control <orderId>A111123</orderId> que es idéntico al registro de identidad de control contenido en el datagrama de solicitud original recibido procedente del servidor del clúster a1. El servidor externo 190 prepara el
resultado del procesamiento para devolverlo al clúster 100. El registro de identidad de control <orderId>A111123</orderId> es incluido en el mensaje devuelto del servidor 190.
En el bloque 303, el servidor externo 190 solicita al dispositivo de equilibrio de carga 110 una nueva conexión de red, y al establecerse la conexión de red devuelve el resultado del procesamiento al dispositivo de equilibrio de carga 110. Una vez finalizada la transmisión de datos, el servidor 190 desconecta la conexión de red con el dispositivo de equilibrio de carga 110.
En el bloque 304, al recibir los datos del resultado del procesamiento procedentes del servidor 190, el dispositivo de equilibrio de carga 110 selecciona aleatoriamente un servidor de enrutamiento ai en el clúster 100 y transmite los datos recibidos procedentes del servidor externo 190 al servidor de enrutamiento seleccionado ai.
En el bloque 305, después de recibir los datos procedentes del servidor externo 190, el servidor de enrutamiento seleccionado ai ejecuta un programa de enrutamiento para analizar el registro de identidad de control (que tiene un valor de <orderId>A111123</orderId> en este ejemplo) y obtiene la información de ubicación del servidor de destino. En el presente ejemplo, el valor de la información de ubicación del servidor es A1, que representa el servidor a1, lo que significa que el servidor a1 es el servidor de destino deseado para un procesamiento adicional de los datos. El servidor de enrutamiento ai envía entonces los datos recibidos procedentes del servidor externo 190 al servidor a1 para su procesamiento adicional.
Se ha descrito un procedimiento de procesamiento de datos en clúster utilizando las formas de realización de ejemplo anteriores. Otro aspecto de la presente divulgación es un sistema de procesamiento de datos en clúster, del cual se describen más detalles a continuación.
La Figura 4 muestra un sistema de ejemplo de procesamiento de datos en clúster de acuerdo con la presente divulgación. El sistema de procesamiento de datos en clúster 400 incluye el dispositivo de equilibrio de carga 410 y los servidores 420, de los cuales sólo uno se ilustra específicamente como representación de todos los servidores 420 del clúster.
Cada servidor 420 tiene una unidad de envío 421 que se utiliza para enviar los primeros datos que contienen un registro de identidad de control a un dispositivo de procesamiento externo (por ejemplo, el servidor externo 190). El registro de identidad de control incluye una identidad única y una información de control correspondiente a los primeros datos.
El dispositivo de equilibrio de carga 410 recibe unos segundos datos procedentes del dispositivo de procesamiento externo. Los segundos datos contienen el mismo registro de identidad de control de los primeros datos y correspondiente información de control.
Cada servidor 420 también tiene una unidad de recepción 422 que se utiliza para recibir los segundos datos enviados por el dispositivo de equilibrio de carga 410. Cada servidor 420 tiene además una unidad de enrutamiento 423 que se utiliza para enrutar los segundos datos hacia un servidor de destino adecuado entre los servidores 420 según la información de control contenida en los segundos datos.
Con respecto a los primeros datos enviados por la unidad emisora 421, la información de control en el registro de identidad de control puede contener información de ubicación del servidor concreto 420 que ha generado los primeros datos. Los segundos datos recibidos externamente por el dispositivo de equilibrio de carga 410 también contienen el mismo registro de identidad de control. En consecuencia, la información de control de este registro de identidad de control también contiene la información de ubicación del servidor concreto 420 que ha generado los primeros datos.
Dependiendo de la forma en que el dispositivo de equilibrio de carga 410 envía los segundos datos, el servidor que recibe los segundos datos procedentes del dispositivo de equilibrio de carga 410 puede no ser el mismo que el servidor que ha generado originalmente los primeros datos. En la forma de realización de ejemplo que se muestra en la Figura 4, el servidor de recepción está adaptado para seguir enrutando los segundos datos hacia un servidor de destino deseado, que en un ejemplo es el servidor que ha generado originalmente los primeros datos. Concretamente, después de que el servidor 420 reciba los segundos datos procedentes del dispositivo de equilibrio de carga 410, la unidad de enrutamiento 423 transmite al servidor los segundos datos correspondientes a la información de ubicación del servidor especificada en la información de control contenida en el registro de identidad de control.
Además, la unidad de enrutamiento 423 puede incluir también una unidad de detección de fallos 4231. La unidad de detección de fallos 4231 se utiliza para comprobar si el respectivo servidor 420 ha dejado de funcionar. Si ha dejado de funcionar, se selecciona un servidor alternativo de entre los servidores 420 según una regla de enrutamiento predeterminada, y se transmiten los segundos datos al servidor alternativo para su procesamiento.
La Figura 5 muestra otro sistema de ejemplo de procesamiento de datos en clúster de acuerdo con la presente divulgación. El sistema de procesamiento de datos en clúster 500 incluye un dispositivo de equilibrio de carga 510, unos servidores 520 y un middleware de enrutamiento 530. Sólo se ilustra específicamente un servidor 520 como representación de todos los servidores 520 en el clúster.
El sistema de procesamiento de datos en clúster 500 es un diseño alternativo al sistema de procesamiento de datos en clúster 400 que se muestra en la Figura 4. El sistema de procesamiento de datos en clúster 500 se diferencia del sistema de procesamiento de datos en clúster 400 en un aspecto, que es la configuración de la unidad de enrutamiento. En lugar de tener diversas unidades de enrutamiento, cada una de ellas ubicada en un servidor del sistema de procesamiento de datos en clúster 500, se configura un dispositivo de enrutamiento 530 separado en el clúster 500 y es conectado con cada servidor 520 en el mismo clúster 500. El dispositivo de equilibrio de carga 510 envía los segundos datos a la unidad de enrutamiento 530, que a su vez transmite los segundos datos a un servidor de destino deseado 520 según la información de control. El dispositivo de enrutamiento 530 puede ser un middleware de enrutamiento autónomo.
Alternativamente, el dispositivo de enrutamiento 530 puede ser una unidad de enrutamiento conectada sólo a uno o a unos pocos servidores de alojamiento entre los servidores 520 o contenida en el servidor o servidores de alojamiento. Esto se diferencia aún más del sistema de procesamiento de datos en clúster 400 en el que, en este caso, sólo uno o algunos de los servidores 520 están conectados a o alojan una unidad de enrutamiento. Después de que un servidor de alojamiento reciba los segundos datos procedentes del dispositivo de equilibrio de carga 510, envía los segundos datos a la unidad de enrutamiento. La unidad de enrutamiento transmite entonces estos segundos datos a un servidor de destino deseado según la información de control contenida en los segundos datos para su procesamiento. Otros aspectos del sistema de procesamiento de datos en clúster 500 son similares a los del sistema de procesamiento de datos en clúster 400 y no se repiten en este caso.
En los detalles anteriores se ha descrito un procedimiento de procesamiento de datos en clúster y su correspondiente sistema. Se aprecia que los posibles beneficios y ventajas que se comentan en el presente documento no se deben interpretar como una limitación o restricción al alcance de las reivindicaciones adjuntas. Los ejemplos son sólo ilustrativos para demostrar los principios y procedimientos de implementación de ejemplo de esta divulgación.
Aunque la materia se ha descrito usando un lenguaje específico de características estructurales y/o actos metodológicos, se debe entender que la materia definida en las reivindicaciones anexas no se limita necesariamente a las características o actos específicos que se han descrito. Más bien, las características y actos específicos se divulgan como formas de ejemplo de implementación de las reivindicaciones.
Claims (9)
1. Un procedimiento de procesamiento de datos en clúster que utiliza un clúster (100) que incluye al menos dos servidores (a0 ,... an, 420) y un dispositivo de equilibrio de carga (110, 410, 510) comprendiendo el procedimiento:
enviar, por parte de un servidor solicitante en el clúster, una solicitud de conexión a un servidor externo; recibir, procedente del servidor externo, una respuesta a la solicitud de conexión y, en respuesta, establecer la conexión entre el servidor solicitante en el clúster y el servidor externo;
enviar (220), por parte del servidor solicitante en el clúster, unos primeros datos que comprenden un primer registro de identidad de control al servidor externo (190), en el que el primer registro de identidad de control incluye una identidad única y una información de control, en el que la información de control contiene información de ubicación de servidor que identifica un servidor deseado en el clúster;
desconectar, por parte del servidor solicitante en el clúster, la conexión entre el servidor solicitante en el clúster y el servidor externo;
recibir, por parte del dispositivo de equilibrio de carga en el clúster, una solicitud de una nueva conexión de red procedente del servidor externo;
al establecerse la conexión de red, recibir (230) unos segundos datos en el dispositivo de equilibrio de carga en el clúster procedentes del servidor externo, en el que los segundos datos se obtienen procesando los primeros datos por parte del servidor externo y contienen un segundo registro de identidad de control que incluye la identidad única y la información de control recibida por el servidor externo en los primeros datos, en el que la conexión de red entre el servidor externo y el dispositivo de equilibrio de carga es desconectada después de que se haya completado una transmisión de datos;
seleccionar, por parte del dispositivo de equilibrio de carga, un servidor en el clúster y enviar los segundos datos al servidor; y
enrutar (250), por parte de una unidad de enrutamiento en el clúster, los segundos datos según la información de control de los segundos datos, que incluye enviar los segundos datos a un servidor de recepción en el clúster, en el que los segundos datos se obtienen del servidor seleccionado y el servidor de recepción es seleccionado según la información de ubicación de servidor en la información de control de los segundos datos.
2. El procedimiento según se recita en la reivindicación 1, en el que el segundo registro de identidad de control es idéntico al primer registro de identidad de control.
3. El procedimiento según se recita en la reivindicación 1, en el que enviar los segundos datos al servidor de recepción en el clúster comprende:
enviar los segundos datos al servidor de recepción en el clúster en base además a una regla de equilibrio de carga predeterminada.
4. El procedimiento según se recita en la reivindicación 1, que comprende:
enviar los segundos datos a un middleware de enrutamiento que está adaptado para enrutar los segundos datos según la información de control de los segundos datos.
5. El procedimiento según se recita en la reivindicación 1, en el que el procedimiento se utiliza en una transacción de negocio comercial, y el primer registro de identidad de control contiene información de una orden de compra.
6. Un sistema de procesamiento de datos en clúster, comprendiendo el sistema:
al menos dos servidores (a0 ,... an, 420), incluyendo cada servidor una unidad de envío (421) adaptada para enviar una solicitud de conexión a un servidor externo, para recibir una respuesta procedente del servidor externo y en respuesta establecer la conexión con el servidor externo, para enviar unos primeros datos que comprenden un primer registro de identidad de control al servidor externo (190), incluyendo el primer registro de identidad de control una identidad única y una información de control, en el que la información de control incluye información de ubicación de servidor que identifica un servidor deseado en el clúster, y para desconectar la conexión con el servidor externo después de que se haya completado una transmisión de los primeros datos;
un dispositivo de equilibrio de carga (110, 410, 510) adaptado para recibir una solicitud de nueva conexión de red procedente del servidor externo, al establecerse la conexión de red, recibir unos segundos datos procedentes del servidor externo, seleccionar un servidor en el clúster y enviar los segundos datos al servidor, en el que la conexión de red entre el servidor externo y el dispositivo de equilibrio de carga es desconectada después de que se haya completado una transmisión de datos; y
una unidad de enrutamiento (423) adaptada para obtener los segundos datos del servidor seleccionado por el dispositivo de equilibrio de carga y enrutar los segundos datos, siendo obtenidos los segundos datos procesando los primeros datos por parte del servidor externo y conteniendo un segundo registro de identidad de control que incluye la identidad única y la información de control recibida por el servidor externo en los primeros datos, siendo los segundos datos enrutados, por parte de la unidad de enrutamiento, según la información de control contenida en los segundos datos, que incluye enviar los segundos datos a un
servidor de recepción en el clúster, siendo el servidor de recepción seleccionado según la información de ubicación de servidor en la información de control de los segundos datos.
7. El sistema según se recita en la reivindicación 6, en el que la unidad de enrutamiento está ubicada en uno de los al menos dos servidores, y el dispositivo de equilibrio de carga transmite los segundos datos a un servidor de recepción en base además a una regla de equilibrio de carga predeterminada después de recibir los segundos datos, en el que el servidor de recepción incluye una unidad de recepción adaptada para recibir los segundos datos procedentes del dispositivo de equilibrio de carga.
8. El sistema según se recita en la reivindicación 6, en el que el dispositivo de equilibrio de carga está adaptado para enviar los segundos datos a un servidor seleccionado de entre los al menos dos servidores según una regla de equilibrio de carga, y el servidor seleccionado está adaptado para transmitir los segundos datos a la unidad de enrutamiento para su enrutamiento.
9. El sistema según se recita en la reivindicación 6, que comprende además:
unidades de enrutamiento (423) que comprenden la unidad de enrutamiento, estando cada una de las unidades de enrutamiento ubicada en un respectivo servidor de entre los al menos dos servidores, en el que
el dispositivo de equilibrio de carga está adaptado además para transmitir los segundos datos al servidor de recepción en base además a una regla de equilibrio de carga predeterminada después de recibir los segundos datos.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101026494A CN101296176B (zh) | 2007-04-25 | 2007-04-25 | 一种基于群集的数据处理方法和装置 |
PCT/US2008/061600 WO2008134527A1 (en) | 2007-04-25 | 2008-04-25 | Method and apparatus for cluster data processing |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2845904T3 true ES2845904T3 (es) | 2021-07-28 |
Family
ID=39926089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES08746924T Active ES2845904T3 (es) | 2007-04-25 | 2008-04-25 | Procedimiento y aparato para procesamiento de datos en clúster |
Country Status (9)
Country | Link |
---|---|
US (1) | US8769100B2 (es) |
EP (2) | EP3702918A1 (es) |
JP (2) | JP5645216B2 (es) |
CN (1) | CN101296176B (es) |
ES (1) | ES2845904T3 (es) |
HK (1) | HK1120962A1 (es) |
PL (1) | PL2140351T3 (es) |
TW (1) | TWI603206B (es) |
WO (1) | WO2008134527A1 (es) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418023B2 (en) | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
CN102404160B (zh) * | 2010-09-13 | 2014-04-09 | ***通信集团福建有限公司 | 智能监控实现方法和*** |
CN105450713B (zh) * | 2014-09-02 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 集群部署前置机的方法、装置和*** |
US9940213B2 (en) | 2015-06-10 | 2018-04-10 | International Business Machines Corporation | Integrating external services with a clustered file system |
US10742731B2 (en) | 2015-06-10 | 2020-08-11 | International Business Machines Corporation | Maintaining service configuration consistency across nodes of a clustered file system |
CN105872118A (zh) * | 2015-11-25 | 2016-08-17 | 乐视云计算有限公司 | Dns网络中节点服务器的检测方法及设备 |
CN107105049B (zh) * | 2017-05-10 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 数据迁移方法和装置 |
JP2019097037A (ja) * | 2017-11-22 | 2019-06-20 | 富士通株式会社 | 情報処理システム及びデータ処理方法 |
CN109919771B (zh) * | 2019-03-18 | 2020-04-10 | 徐雪松 | 一种应用分层区块链技术的工业互联网交易装置 |
CN113326100B (zh) * | 2021-06-29 | 2024-04-09 | 深信服科技股份有限公司 | 一种集群管理方法、装置、设备及计算机存储介质 |
CN114153380B (zh) * | 2021-11-02 | 2024-04-09 | 阿里巴巴达摩院(杭州)科技有限公司 | 用于数据访问和获取的集成电路、***和方法 |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424992B2 (en) | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US6351775B1 (en) * | 1997-05-30 | 2002-02-26 | International Business Machines Corporation | Loading balancing across servers in a computer network |
US6070184A (en) * | 1997-08-28 | 2000-05-30 | International Business Machines Corporation | Server-side asynchronous form management |
US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
US6192451B1 (en) | 1998-02-17 | 2001-02-20 | International Business Machines Corporation | Cache coherency protocol for a data processing system including a multi-level memory hierarchy |
US6665702B1 (en) * | 1998-07-15 | 2003-12-16 | Radware Ltd. | Load balancing |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6446218B1 (en) * | 1999-06-30 | 2002-09-03 | B-Hub, Inc. | Techniques for maintaining fault tolerance for software programs in a clustered computer system |
US6970933B1 (en) * | 1999-07-15 | 2005-11-29 | F5 Networks, Inc. | Enabling application level persistence between a server and another resource over a network |
US6792463B1 (en) * | 1999-10-21 | 2004-09-14 | International Business Machines Corporation | System, method and program product for providing invisibility to a proxy-server |
US6622163B1 (en) | 2000-03-09 | 2003-09-16 | Dell Products L.P. | System and method for managing storage resources in a clustered computing environment |
US7281032B2 (en) * | 2000-06-30 | 2007-10-09 | Hitachi, Ltd. | File sharing system with data mirroring by storage systems |
US6523036B1 (en) * | 2000-08-01 | 2003-02-18 | Dantz Development Corporation | Internet database system |
DE60121176T2 (de) * | 2000-08-04 | 2007-06-06 | Avaya Technology Corp. | Verfahren und System zur anforderungsorientierten Wiedererkennung von verbindungsorientierten Transaktionen |
US7197480B1 (en) * | 2000-09-07 | 2007-03-27 | International Business Machines Corporation | System and method for front end business logic and validation |
US7299255B2 (en) * | 2000-09-26 | 2007-11-20 | I2 Technologies Us, Inc. | System and method for migrating data in an electronic commerce system |
US7272626B2 (en) * | 2001-06-19 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | E-service management through distributed correlation |
US8195187B2 (en) * | 2001-06-25 | 2012-06-05 | Airvana Network Solutions, Inc. | Radio network control |
US7480705B2 (en) * | 2001-07-24 | 2009-01-20 | International Business Machines Corporation | Dynamic HTTP load balancing method and apparatus |
US7003575B2 (en) * | 2001-10-15 | 2006-02-21 | First Hop Oy | Method for assisting load balancing in a server cluster by rerouting IP traffic, and a server cluster and a client, operating according to same |
CN1495634A (zh) * | 2002-06-27 | 2004-05-12 | 上海汉唐科技有限公司 | 服务器集群负载均衡方法及*** |
US6945458B1 (en) * | 2002-07-29 | 2005-09-20 | Bowe Bell + Howell Postage Systems Company | Data collection and maintenance database method and apparatus |
CN1294509C (zh) * | 2002-09-06 | 2007-01-10 | 劲智数位科技股份有限公司 | 具有分布式负载平衡***的集群计算机 |
DE10244459A1 (de) * | 2002-09-24 | 2004-04-01 | Siemens Ag | Rechner- und/oder Software-Architektur unter Verwendung von Micro-Kernel- und Multi-Tier-Konzept mit Komponententechnik |
US7480737B2 (en) * | 2002-10-25 | 2009-01-20 | International Business Machines Corporation | Technique for addressing a cluster of network servers |
JP4208556B2 (ja) * | 2002-11-27 | 2009-01-14 | 富士通株式会社 | 中継装置 |
JP2004206172A (ja) * | 2002-12-20 | 2004-07-22 | Sanyo Electric Co Ltd | 通信制御方法および装置 |
US7636917B2 (en) | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7349968B2 (en) * | 2003-07-31 | 2008-03-25 | International Business Machines Corporation | Method, system and program product for asynchronously processing requests |
US20050038890A1 (en) * | 2003-08-11 | 2005-02-17 | Hitachi., Ltd. | Load distribution method and client-server system |
AU2003263873B2 (en) * | 2003-08-13 | 2010-04-08 | Microsoft Corporation | Routing hints |
US8266294B2 (en) * | 2003-08-13 | 2012-09-11 | Microsoft Corporation | Routing hints |
US20050188055A1 (en) * | 2003-12-31 | 2005-08-25 | Saletore Vikram A. | Distributed and dynamic content replication for server cluster acceleration |
US7246256B2 (en) * | 2004-01-20 | 2007-07-17 | International Business Machines Corporation | Managing failover of J2EE compliant middleware in a high availability system |
US7840674B1 (en) * | 2004-05-10 | 2010-11-23 | Intuit Inc. | Routing messages across a network in a manner that ensures that non-idempotent requests are processed |
JP4477437B2 (ja) * | 2004-07-02 | 2010-06-09 | 株式会社日立製作所 | ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム |
US20060047776A1 (en) * | 2004-08-31 | 2006-03-02 | Chieng Stephen S | Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link |
US20060069761A1 (en) * | 2004-09-14 | 2006-03-30 | Dell Products L.P. | System and method for load balancing virtual machines in a computer network |
US7603459B2 (en) * | 2004-09-14 | 2009-10-13 | International Business Machines Corporation | System, method and program to troubleshoot a distributed computer system or determine application data flows |
US7552215B2 (en) * | 2004-09-29 | 2009-06-23 | International Business Machines Corporation | Method, system, and computer program product for supporting a large number of intermittently used application clusters |
US20060089965A1 (en) * | 2004-10-26 | 2006-04-27 | International Business Machines Corporation | Dynamic linkage of an application server and a Web server |
JP4410661B2 (ja) * | 2004-11-09 | 2010-02-03 | 株式会社日立製作所 | 分散制御システム |
US7729350B2 (en) * | 2004-12-30 | 2010-06-01 | Nokia, Inc. | Virtual multicast routing for a cluster having state synchronization |
WO2007014296A2 (en) * | 2005-07-25 | 2007-02-01 | Parascale, Inc. | Scalable distributed file storage access and management |
US7356643B2 (en) * | 2005-10-26 | 2008-04-08 | International Business Machines Corporation | System, method and program for managing storage |
US7839523B2 (en) * | 2005-12-13 | 2010-11-23 | Xerox Corporation | System and method for resolving a hardware identifier to a network address of networked device |
US8209700B2 (en) * | 2005-12-22 | 2012-06-26 | International Business Machines Corporation | System, method, and program product for providing local load balancing for high-availability servers |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US20070179981A1 (en) * | 2006-01-31 | 2007-08-02 | International Business Machines Corporation | Efficient data management in a cluster file system |
US7779116B2 (en) * | 2006-02-09 | 2010-08-17 | International Business Machines Corporation | Selecting servers based on load-balancing metric instances |
JP4806572B2 (ja) * | 2006-02-15 | 2011-11-02 | 株式会社日立製作所 | データミラーリングによって参照負荷を分散するストレージシステムにおけるアクセスの制御 |
US7526668B2 (en) * | 2006-06-08 | 2009-04-28 | Hitachi, Ltd. | Failover method of remotely-mirrored clustered file servers |
US8799918B2 (en) * | 2006-09-11 | 2014-08-05 | Microsoft Corporation | Dynamic network load balancing using roundtrip heuristic |
US20080098113A1 (en) * | 2006-10-19 | 2008-04-24 | Gert Hansen | Stateful firewall clustering for processing-intensive network applications |
US9026655B2 (en) * | 2007-01-31 | 2015-05-05 | Oracle America, Inc. | Method and system for load balancing |
US20100250646A1 (en) * | 2009-03-25 | 2010-09-30 | Microsoft Corporation | Mechanism for geo distributing application data |
-
2007
- 2007-04-25 CN CN2007101026494A patent/CN101296176B/zh active Active
- 2007-12-21 TW TW096149445A patent/TWI603206B/zh active
-
2008
- 2008-04-25 WO PCT/US2008/061600 patent/WO2008134527A1/en active Application Filing
- 2008-04-25 PL PL08746924T patent/PL2140351T3/pl unknown
- 2008-04-25 JP JP2010506526A patent/JP5645216B2/ja active Active
- 2008-04-25 EP EP20164129.7A patent/EP3702918A1/en not_active Withdrawn
- 2008-04-25 ES ES08746924T patent/ES2845904T3/es active Active
- 2008-04-25 EP EP08746924.3A patent/EP2140351B1/en active Active
- 2008-04-25 US US12/091,736 patent/US8769100B2/en active Active
- 2008-12-30 HK HK08114056.4A patent/HK1120962A1/xx unknown
-
2013
- 2013-09-17 JP JP2013192238A patent/JP6013300B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
WO2008134527A1 (en) | 2008-11-06 |
TWI603206B (zh) | 2017-10-21 |
TW200928777A (en) | 2009-07-01 |
EP2140351A4 (en) | 2011-08-10 |
JP6013300B2 (ja) | 2016-10-25 |
EP2140351A1 (en) | 2010-01-06 |
EP3702918A1 (en) | 2020-09-02 |
CN101296176A (zh) | 2008-10-29 |
EP2140351B1 (en) | 2020-12-16 |
JP5645216B2 (ja) | 2014-12-24 |
US20100229026A1 (en) | 2010-09-09 |
JP2014038637A (ja) | 2014-02-27 |
HK1120962A1 (en) | 2009-04-09 |
CN101296176B (zh) | 2010-12-22 |
JP2010526377A (ja) | 2010-07-29 |
PL2140351T3 (pl) | 2021-06-28 |
US8769100B2 (en) | 2014-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2845904T3 (es) | Procedimiento y aparato para procesamiento de datos en clúster | |
US11949647B2 (en) | Establishing and using a tunnel from an origin server in a distributed edge compute and routing service | |
EP3932041B1 (en) | Remote smart nic-based service acceleration | |
CN108476208B (zh) | 多路径传输设计 | |
US10412157B2 (en) | Adaptive load balancing | |
JP5765836B2 (ja) | パブリッシュ−サブスクライブ・モデルを用いたアイデンティティ・プロバイダ・ディスカバリ・サービス | |
CN107771320B (zh) | 用于改善安全套接字层(ssl)通信安全性的***和方法 | |
US10171362B1 (en) | System and method for minimizing disruption from failed service nodes | |
US10749805B2 (en) | Statistical collection in a network switch natively configured as a load balancer | |
KR102146476B1 (ko) | 애니캐스트 데이터 트래픽을 로드 밸런싱하기 위한 방법 및 시스템 | |
US20160028855A1 (en) | Systems and methods for application specific load balancing | |
US10523745B2 (en) | Load balancing mobility with automated fabric architecture | |
US9578126B1 (en) | System and method for automatically discovering wide area network optimized routes and devices | |
US10091112B1 (en) | Highly-scalable virtual IP addresses in a load balancing switch | |
US11601365B2 (en) | Wide area networking service using provider network backbone network | |
JP2017117448A (ja) | アプリケーションレベルネットワークキューイング | |
JP2013511207A (ja) | スマートクライアントルーティング | |
US10511514B1 (en) | Node-specific probes in a native load balancer | |
US11824773B2 (en) | Dynamic routing for peered virtual routers | |
US20230041806A1 (en) | Location-independent programming data plane for packet processing | |
US11343190B2 (en) | TCAM-based load balancing on a switch | |
US20170331765A1 (en) | Plug and play in a controller based network | |
Chen et al. | PacketCloud: A cloudlet-based open platform for in-network services | |
CN116633934A (zh) | 负载均衡方法、装置、节点及存储介质 | |
CN109474713A (zh) | 报文转发方法和装置 |