ES2264627B2 - Metodo y aparato para reconfigurar un sistema de servidores. - Google Patents

Metodo y aparato para reconfigurar un sistema de servidores. Download PDF

Info

Publication number
ES2264627B2
ES2264627B2 ES200450045A ES200450045A ES2264627B2 ES 2264627 B2 ES2264627 B2 ES 2264627B2 ES 200450045 A ES200450045 A ES 200450045A ES 200450045 A ES200450045 A ES 200450045A ES 2264627 B2 ES2264627 B2 ES 2264627B2
Authority
ES
Spain
Prior art keywords
server
servers
data
fragmentation
configuration
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 - Fee Related
Application number
ES200450045A
Other languages
English (en)
Other versions
ES2264627A1 (es
Inventor
Stefan Willehadson
Anders Danne
Max Blomme
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of ES2264627A1 publication Critical patent/ES2264627A1/es
Application granted granted Critical
Publication of ES2264627B2 publication Critical patent/ES2264627B2/es
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5016Session

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Small-Scale Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un método y un aparato para reconfigurar un sistema de servidores (200). Cuando se aplica una nueva configuración de servidor, se salva o guarda una configuración de servidor previa. Cuando se reciben peticiones de servicios, se selecciona un primer servidor (20) mediante el uso de un primer algoritmo de organización temporal de acuerdo con la nueva configuración. Si el servidor seleccionado era incorrecto, se selecciona un segundo servidor (204) mediante el uso de un segundo algoritmo de organización temporal de acuerdo con la configuración previa salvada. Los datos de usuario asociados a la petición de servicios recibida se trasladan desde el segundo servidor, si es correcto, al primer servidor. De esta forma, los datos almacenados serán reorganizados gradual y dinámicamente de la configuración antigua a la nueva configuración de un modo relativamente sencillo.

Description

Método y aparato para reconfigurar un sistema de servidores.
Campo técnico
La presente invención se refiere en general a un método y a un aparato para reconfigurar un sistema de servidores que comprende una pluralidad de servidores destinados a proporcionar servicios de comunicación. En particular, el sistema de servidores se reconfigura dinámicamente, de tal manera que es posible evitar, o al menos minimizar, los periodos de parada o interrupción de uno o más servidores.
Antecedentes de la invención y técnica anterior
Se han venido desarrollando un gran número de diferentes servicios de telecomunicación/comunicación de datos, fijos y móviles, que se añaden a las llamadas de voz y a los mensajes cortos de texto tradicionales. Por ejemplo, la búsqueda en Internet se ha hecho rápidamente muy popular y, en los últimos años, el dominio inalámbrico o sin cables ha venido a converger con Internet. Puede disponerse en la actualidad de terminales móviles que tienen la capacidad de conectarse a Internet a través de una red de acceso sin cables, con el fin de obtener información y servicios de lugares y servidores ubicados en cualquier parte del mundo.
Además, se han introducido nuevas tecnologías en la comunicación móvil, las cuales proporcionan una mayor capacidad a la red y unas velocidades de transmisión de bits más altas. En particular, las redes de GPRS (Servicio General de Radio en Paquetes -"General Packet Radio Service") y de WCDMA (Acceso Múltiple por División en Código de Banda Ancha- "Wideband Code Division Multiple Access") emergen en la actualidad para hacer posibles los servicios de datos inalámbricos que requieren un intervalo amplio de velocidades de datos diferentes. Los datos que se comunican a través de muchos servicios nuevos pueden incluir voz, texto, imágenes, archivos de audio y archivos de vídeo, en diversos formatos y combinaciones diferentes.
A modo de ejemplo, el intercambio instantáneo de mensajes por móvil, conocido comúnmente como "chateo" ("chatting"), y los servicios presenciales se están haciendo populares rápidamente. El intercambio instantáneo de mensajes se conoce del mundo de los PC's (Computadora Personal -"Personal Computer") fijos, incluyendo la información relativa al estado del mensaje y características relativas a diversos grupos y listas de contacto. Los servicios presenciales implican información acerca de la posición de los terminales y permiten a los usuarios recibir mensajes de acuerdo con su perfil y disponibilidad. Un perfil de usuario puede ser personal o puede estar definido por preferencias, intereses y aficiones, así como por factores más temporales, tales como la disponibilidad del usuario y su estado de ánimo en el momento de que se trate. Pueden suministrarse también mensajes y servicios de contenido dependiendo de la ubicación, la disponibilidad y las capacidades del terminal presentes. Puede comprenderse fácilmente que dichos servicios requieren el almacenamiento de cantidades considerables de datos recuperables específicos del usuario, los cuales, en muchos casos, requieren ser actualizados con frecuencia, debido a su naturaleza
dinámica.
Las demandas de servicios de telecomunicación están, por tanto, en rápido incremento, y los proveedores de servicios se han establecido por todo el mundo y equipado con recursos de hardware o dispositivos físicos y software o programación, con el fin de satisfacer estas demandas. En particular, se requieren medios para procesar las peticiones de servicios y los datos, así como medios para almacenar enormes cantidades de datos. En consecuencia, un proveedor de servicios ha de ser capaz de controlar eficazmente los medios de tratamiento o procesamiento y de almacenamiento que típicamente constituyen un sistema de diferentes componentes de servicio, tal como los servidores. La expresión "servidor" se utilizará en lo sucesivo para designar cualesquiera dispositivos físicos, o hardware, y/o programas, o software, destinados a almacenar y/o tratar datos. Un servidor puede estar configurado de modo que proporcione uno o más servicios específicos.
Para un proveedor de servicios de Internet o similar, que controla una pluralidad de servidores, el tratamiento y el almacenamiento de la carga deben ser distribuidos entre los servidores. Esto es necesario con el fin de utilizar de una forma eficaz los recursos de computación y de almacenamiento de que se dispone, y manejar los puntos calientes o de alta actividad y evitar los cuellos de botella. Como se ha mencionado anteriormente, se necesita almacenar grandes cantidades de datos, que es necesario también encontrar y recuperar de forma sencilla.
Como se observa en los ejemplos de servicios que se han proporcionado en lo anterior, los diferentes tipos de datos almacenados pueden ser de una naturaleza muy dinámica, lo que necesita una actualización frecuente. Es más, los sistemas de servidores deben ser reconfigurados de vez en cuando a medida que cambia la carga de procesamiento y de almacenamiento, por ejemplo, debido a las demandas cambiantes de peticiones de servicios, a los abonados que se añaden o se retiran, y a la introducción, modificación o supresión de servicios. La carga de trabajo en los servidores puede verse incrementada rápidamente, de tal forma que los servidores individuales llegan a sobrecargarse con facilidad, al menos durante un tiempo corto, en particular, los populares servidores de Web. Con el fin de superar los problemas de sobrecarga en los servidores, se dispone básicamente de dos soluciones.
En primer lugar, un servidor ya existente puede modernizarse de manera que se incrementen sus capacidades de computación y/o almacenamiento. Sin embargo, el servidor se verá pronto sobrecargado de nuevo si la cantidad de peticiones de servicios y/o las necesidades de almacenamiento de datos continúan incrementándose. Se requiere entonces una modernización adicional, lo que puede resultar complejo y costoso en su ejecución.
En segundo lugar, es posible añadir servicios adicionales para satisfacer una carga más alta. Se ha propuesto el concepto de servidores virtuales con el propósito de proporcionar el reparto de la carga entre una pluralidad de servidores. Un servidor virtual es un servidor que se puede dimensionar según cierta escala y que está construido en un grupo o racimo de servidores reales, el cual es transparente a los usuarios finales, de tal manera que los usuarios ven tan solo un único servidor virtual. El extremo o terminal anterior de los servidores reales es un nodo, al que se hace referencia en ocasiones como "equilibrador de carga", el cual está configurado de manera que programe u organice en el tiempo las peticiones de servicio referentes a los distintos servidores reales. Las peticiones de servicios que llegan pueden comprender tareas de tratamiento y tareas de almacenamiento que han de ser llevadas a cabo por los servidores. La capacidad de dimensionamiento según una escala puede lograrse de esta forma añadiendo o suprimiendo servidores de forma transparente en el racimo.
Sin embargo, es un problema distribuir de forma eficiente los cometidos o tareas de tratamiento y de almacenamiento entre una pluralidad de servidores al tiempo que se permite, con todo, una fácil recuperación de los datos almacenados. Las "tareas de tratamiento" pueden comprender el análisis de las peticiones de servicios, el tratamiento de los datos y la ejecución de ciertas aplicaciones para suministrar los servicios requeridos. Las "tareas de almacenamiento" pueden comprender el almacenamiento de nuevos datos específicos de un cliente, específicos de una sesión, o de configuración, la actualización de datos ya almacenados, así como la recuperación de datos almacenados. Por ejemplo, una petición de servicios puede requerir la recuperación de ciertos datos que se utilizan como entrada para llevar a cabo una tarea de tratamiento o aplicación de servicio concreta. Los datos relativos a los clientes y los datos de sesión se denominarán en lo que sigue, en su conjunto, "datos de usuario".
En las soluciones actuales que comprenden la distribución de tareas de tratamiento y de almacenamiento, a menudo se asigna un servidor a un cliente al efectuarse una petición de identificación para la entrada. El esquema de asignación que se utiliza para seleccionar un servidor se basa normalmente en la carga existente en ese momento en un conjunto predeterminado de servidores, de tal forma que el servidor que tiene la carga más pequeña en ese instante, con respecto a la capacidad de los recursos de memoria y/o de la CPU (Unidad Central de Procesamiento -"Central Processing Unit"), etc., es seleccionado para un cliente o una sesión. La asignación de los servidores se realiza típicamente mediante el uso de un nodo gestor de carga central o dispositivo similar. Los datos de usuario almacenados deben ser entonces susceptibles de recuperarse, es decir, ha de ser posible encontrar el servidor en el que se almacenaron los datos que se buscan.
La solución actual más sencilla para seleccionar un servidor consiste en utilizar un esquema de asignación del tipo "Robin circular" ("Round Robin"). Se conocen otras soluciones adicionales para el reparto de la carga que son más complejas, tales como las de los tipos "Robin circular ponderada" ("Weighted Round Robin"), "Conexión mínima" ("Least Connection"), "Conexión mínima ponderada" ("Weighted Least Connection"), "Conexión mínima basada en la ubicación" ("Locality Based Least Connection"), "Partición o fragmentación en destino" ("Destination Hashing") y "Fragmentación en origen" ("Source Hashing").
Sin embargo, las soluciones mencionadas anteriormente son de un uso relativamente complejo, lo que da lugar a problemas relacionados con la supervisión, el funcionamiento y el mantenimiento, ya que es difícil predecir en qué lugar serán distribuidos y almacenados los datos. Además, puede resultar difícil encontrar y recuperar datos que están siendo almacenados en uno o más servidores si no se ha almacenado también ninguna referencia o puntero relativo a los datos. Un cliente que lleva a cabo una solicitud de identificación para entrada puede disponer de una referencia adecuada de los datos, pero ningún otro cliente o dispositivo será capaz de encontrar y recuperar los datos sin la referencia, a menos que se utilicen las denominadas "búsquedas de fuerza bruta" entre un conjunto de
servidores.
La organización en el tiempo del tipo "Robin circular" tan solo resulta adecuada para distribuir datos procesados, ya que las tareas de procesamiento o tratamiento no se ven afectadas por el servidor particular en el que se llevan a cabo. Por otra parte, la recuperación de los datos almacenados en uno o más servidores no puede realizarse con el uso de la "Robin circular", sino que requiere el uso de punteros o referencias específicas, tal y como se ha descrito anteriormente. Además, un problema básico habitual que se presenta con algunos de los otros métodos de programación u organización en el tiempo que se han mencionado anteriormente es que éstos utilizan el direccionamiento de IP (Protocolo de Internet -"Internet Protocol") para establecer la programación temporal. Como es posible que resida una pluralidad de clientes tras una única dirección de IP (proxy, NAT, etc.), éstas no pueden utilizarse ni para la distribución de los datos ni para el reparto de la carga.
Las tareas de almacenamiento se programan en el tiempo, en consecuencia, preferiblemente por medio de un algoritmo de partición o fragmentación que se sirva de la identidad de algún cliente o sesión como entrada. El algoritmo de fragmentación proporciona entonces un cierto número que identifica un servidor seleccionado. Si se utiliza de nuevo el mismo algoritmo de fragmentación a la hora de recuperar los datos en una ocasión posterior para el mismo cliente o sesión, se seleccionará el mismo servidor, siempre y cuando los servicios no hayan sido reconfigurados desde que se almacenaron los datos que se buscan. Se elimina, en consecuencia, la necesidad de utilizar punteros o referencias específicos.
Sin embargo, si se cambia el número de servidores y/o las identidades de los servidores individuales en una operación de reconfiguración, el algoritmo de fragmentación ya no proporcionará, muy probablemente, la correcta identidad del servidor en el caso de que los datos de usuario de un cliente o sesión concreta hubieran sido almacenados antes de que se llevase a cabo la reconfiguración. Una solución actual para eludir este problema consiste en detener o interrumpir el sistema de servidores con respecto a las peticiones de servicios con el fin de modificar el algoritmo de fragmentación y trasladar los datos de usuario almacenados entre los servidores, de tal forma que la selección del servidor llegue a ser la correcta. Es ésta una operación bastante embarazosa y que lleva mucho tiempo, lo cual no es deseable debido a que, entretanto, las peticiones de servicios no pueden ser atendidas, lo que da lugar a la pérdida de ingresos por parte del proveedor de servicios. Es más, la operación de reconfiguración es relativamente compleja e implica un riesgo considerable de cometer errores.
Sumario de la invención
El objeto de la presente invención consiste en reducir o eliminar los problemas mencionados anteriormente, y en proporcionar una reconfiguración dinámica y eficiente de un sistema de servidores en el curso del manejo o gestión simultánea de las peticiones de servicios. Pueden evitarse, o al menos minimizarse, en consecuencia, los periodos de interrupción de uno o más servidores.
Estos y otros objetos se consiguen al proporcionar un método y un aparato para reconfigurar dinámicamente un sistema de servidores. El sistema de servidores comprende una pluralidad de servidores que son capaces de llevar a cabo al menos una tarea o cometido de almacenamiento común, así como una unidad de organización en el tiempo, que está configurada para seleccionar los servidores destinados a gestionar las peticiones de servicios que llegan.
En el método y el aparato de la invención, se aplica una nueva configuración de servidor y se salva o guarda una configuración de servidor previa. Cuando se recibe una petición de servicios, se selecciona un servidor para gestionar la petición recibida, mediante el uso de un primer algoritmo de organización temporal de conformidad con la nueva configuración. Si el servidor seleccionado era incorrecto, se selecciona un servidor en una segunda tentativa, mediante el uso de un segundo algoritmo de organización temporal, de acuerdo con la configuración salvada previamente. Si se ha seleccionado el servidor correcto por parte del segundo algoritmo de organización temporal, los datos de usuario asociados a la petición de servicios recibida se trasladan desde el servidor seleccionado hasta el servidor que se seleccionó por parte del primer algoritmo de organización temporal. Si el servidor seleccionado era incorrecto también en el segundo intento, es posible seleccionar adicionalmente un servidor con el uso de un algoritmo de organización temporal de acuerdo con una configuración salvada todavía anterior.
De forma preferida, los algoritmos de organización temporal son algoritmos de fragmentación. El uso de algoritmos de fragmentación puede incluir la obtención de un número de fragmentación a partir de la ID de usuario, y el cálculo de un número de ID de servidor a partir del número de fragmentación obtenido. Puede utilizarse entonces el siguiente algoritmo:
(1)\text{ID de servidor = número de fragmentación\ (ID de usuario) módulo n}
donde n es el número de servidores posibles, y el operador módulo proporciona un número entero entre 0 y n - 1. La nueva configuración puede comprender un número modificado de servidores, y, en el segundo algoritmo de organización temporal, n se cambia entonces en consecuencia, con respecto al primer algoritmo de organización en el tiempo.
Las peticiones de servicios pueden comprender tareas de almacenamiento tales como el almacenamiento de nuevos datos, la actualización de datos ya almacenados, así como la recuperación de los datos almacenados.
La aplicación de una nueva configuración de servidor puede incluir adicionalmente el almacenamiento de nuevos datos de configuración en un administrador central o dispositivo similar, al cual puede accederse a través de los servidores. Cada servidor puede comprender un administrador local o dispositivo similar, el cual está destinado a recibir nuevos datos de configuración procedentes del administrador central. Los nuevos datos de configuración pueden ser introducidos o inyectados desde el administrador central hacia los servidores, o bien pueden ser recuperados por medio del envío de una petición desde un servidor. El administrador central puede comprender medios para introducir nuevos datos de configuración en uno o más servidores. Además, el administrador local puede comprender medios para enviar una petición referente a nuevos datos de configuración al administrador central.
El procedimiento de la invención puede llevarse a cabo, de manera adicional, por medio de un programa informático que comprende un código de programación que está destinado a poner en práctica el método en un sistema de servidores.
La presente invención es capaz de gestionar simultáneamente una configuración doble de un sistema de servidores. Cuando el sistema se ha de reconfigurar mediante la adición y/o supresión de uno o más servidores, se salva la antigua configuración anterior. Con ello, los datos requeridos pueden ser recuperados mediante el uso de la configuración antigua, si los datos que se requieren no pudieran encontrarse con el uso de la nueva configuración.
Los datos almacenados se reorganizan de un modo gradual y dinámico de la configuración antigua a la nueva con un impacto mínimo sobre el funcionamiento del sistema. Puede lograrse también una mejor distribución de los datos cuando se reconfigura un sistema de servidores, ya que los datos asociados a los nuevos usuarios o sesiones pueden ser distribuidos eficazmente en los servidores existentes así como en cualesquiera nuevos servidores añadidos.
Breve descripción de los dibujos
La presente invención se describirá a continuación con más detalle y con referencia a los dibujos que se acompañan, en los cuales:
La Figura 1 es una vista global esquemática de un contexto o entorno de comunicación en el que puede utilizarse la presente invención.
La Figura 2 es un diagrama de bloques de un sistema de servidores proporcionado a modo de ejemplo, de acuerdo con una realización.
La Figura 3 es un esquema o diagrama de flujo de ilustra un procedimiento para gestionar una petición de servicios.
La Figura 4 es un diagrama de bloques que ilustra la administración centralizada de los datos de configuración.
Descripción de realizaciones preferidas
En la Figura 1 se ilustra un entorno de comunicación esquemático en el cual puede ser utilizada la presente invención. Una pluralidad de terminales de cliente 100 está conectada a una red troncal 102, tal como Internet. Los terminales de cliente 100 pueden ser fijos o móviles, tales como terminales con cables o terminales inalámbricos que se conectan a una red de acceso móvil 104 a través de una interfaz aérea, según se indica en la Figura. Una pluralidad de proveedores de servicios 106 está de la misma manera conectada a la red troncal 102, y cada uno de ellos comprende uno o más servidores para llevar a cabo los servicios de telecomunicación requeridos para los terminales de cliente 100. En realidad, existen diversas otras redes y/o nodos típicamente implicados en las rutas de comunicación entre los clientes y los proveedores de servicios, si bien no se muestran aquí en aras de la claridad.
Un terminal de cliente 100 puede iniciar un servicio de telecomunicación concreto mediante el envío de una petición de servicio, a través de una red troncal 102, a un proveedor de servicios 106. El proveedor de servicios con el que se establece el contacto activa entonces una o más aplicaciones de servicio adecuadas en respuesta a la misma. El hecho de activar una aplicación de servicio puede implicar diversas tareas de tratamiento y de almacenamiento, al llevarse a cabo en uno o más servidores. Una aplicación de servicio puede también ser activada o desencadenada sin una petición de terminal que la preceda, tal como mediante un mecanismo de "empuje", tal como el que se utiliza, por ejemplo, en el contexto del WAP (Protocolo de Aplicación Inalámbrico -"Wireless Application Protocol"). Una petición de servicio puede originarse, de esta forma, en otro proveedor de servicios u operador de red, por ejemplo, al necesitar datos de usuario de un cierto cliente o de una sesión en curso. Por ejemplo, un proveedor de servicios puede desear transmitir cierta información a estaciones móviles conforme éstas entran en una zona específica. En ese caso, el proveedor de servicios solicitará los datos de usuario que se necesitan, tales como las capacidades del terminal y el perfil del cliente, por ejemplo, incluyendo preferencias e intereses previamente
definidos.
Como se ha mencionado anteriormente, los proveedores de servicios están típicamente equipados con una pluralidad de servidores con el fin de gestionar las peticiones de servicios procedentes de los clientes y de otros proveedores de servicios. De esta forma, la misma funcionalidad se duplica en varios servidores, por lo que es capaz de realizar las mismas o similares tareas de servicio de forma simultánea para varios clientes, ya se trate de tareas de procesamiento o de almacenamiento. La presente invención hace referencia a un método y a un aparato para permitir una reconfiguración eficaz de una pluralidad de servidores de tal manera que pueda evitarse, o al menos minimizarse, cualquier periodo de interrupción.
En la Figura 2 se ilustra un sistema de servidores simplificado 200, el cual está destinado a proporcionar uno o más servicios de telecomunicación a los terminales de cliente. El sistema de servidores 200 comprende una unidad de programación u organización temporal 202, destinada a organizar en el tiempo las peticiones de servicios entrantes que implican una o más tareas de almacenamiento. La unidad de organización temporal 202 está conectada a un conjunto de servidores 204 que son capaces de llevar a cabo al menos una tarea de almacenamiento común. Los servidores 204 pueden ser capaces, además, de llevar a cabo asimismo otros cometidos u operaciones, lo cual, sin embargo, no se encuentra dentro del ámbito de la presente invención. Los servidores 204 pueden ser designados, de forma adicional, para diferentes aplicaciones de servicio, y pueden comprender servidores de Sesión, servidores de Mensajería Instantánea, servidores Presenciales, etc.
El sistema de servidores 200 puede incluir también componentes adicionales tales como nodos de acceso y servidores diferentes diseñados para operaciones de gestión de peticiones diferentes. Sin embargo, las funciones de estos componentes adicionales se encuentran generalmente fuera del ámbito de la presente invención y, en consecuencia, no se describen aquí.
La unidad de organización temporal 202 puede radicar en un nodo de acceso o en un proveedor de servicios, que reciben las peticiones de servicios de los clientes, de los proveedores de servicios o de los operadores de red. La unidad de organización temporal 202 puede también ubicarse en un servidor de tratamiento que está siendo configurado para remitir ciertas peticiones de servicios a otros servidores para su tratamiento adicional.
La unidad de organización temporal 202 está configurada de manera que utilice algoritmos de organización temporal para seleccionar servidores específicos 204 para las peticiones de servicios que entran, utilizando como entrada alguna identidad de cliente o de sesión previamente definida. Un algoritmo de organización temporal proporciona entonces un número que identifica un servidor seleccionado. El algoritmo de organización temporal hace posible el hecho de que, cuando se recuperan los datos almacenados correspondientes a un cliente o sesión, se seleccionará el servidor correcto si el número de servidores 204 y sus identidades son los mismos que cuando se almacenaron los datos que se buscan. Además, en el caso de que una tarea de almacenamiento implique el almacenamiento de nuevos datos de usuario, el algoritmo de organización temporal hará posible que se almacenen los nuevos datos en el mismo servidor en el que fueron almacenados los antiguos datos de usuario, recogiendo de esta forma todos los datos de usuario para un cliente o sesión concreta en el mismo servidor.
Los algoritmos de organización temporal que se utilizan son, preferiblemente, algoritmos de partición o fragmentación. Un algoritmo de fragmentación implica que se obtiene un número de fragmentación a partir de un código de identidad predeterminado de un cliente o una sesión, al cual se hará referencia en lo que sigue, en su conjunto, como una "ID de usuario". Puede determinarse una identidad de servidor calculando un número de ID de servidor correspondiente por medio de un algoritmo o fórmula predeterminada basada en el número de fragmentación obtenido. Por ejemplo, el número de fragmentación puede ser una simple suma de comprobación o similar para un código binario de la ID de usuario. De acuerdo con un ejemplo, se determina que un servidor 204 lleve a cabo una tarea de almacenamiento a partir del siguiente algoritmo:
(1)\text{ID de servidor = fragmentación\ (ID de usuario) módulo n}
donde n es el número de servidores posibles en el conjunto. El operador módulo proporcionará un número entero comprendido entre 0 y n - 1. Por ejemplo, si están disponibles cuatro servidores secundarios 204:0 - 204:3, es decir, n = 4, y un cliente particular proporciona fragmentación (ID de usuario) = 14, entonces la ID de servidor = 2. De esta forma, el servidor 204:2 se selecciona en consecuencia. Para otro cliente, fragmentación (ID de usuario) = 16, con lo que se tiene que ID de servidor = 0, y así sucesivamente. Es posible utilizar cualquier función de fragmentación adecuada en una ID de usuario, siempre y cuando se obtenga siempre la misma ID de servidor de la misma ID de usuario. De esta forma, la carga de almacenamiento puede ser distribuida entre el conjunto de servidores 204.
Sin embargo, si el sistema de servidores necesita ser reconfigurado mediante el cambio del número de servidores, el algoritmo de fragmentación utilizado debe ser también modificado para distribuir la carga de almacenamiento entre el nuevo número de servidores. Así pues, puede ser necesario añadir o suprimir uno o más servidores debido, por ejemplo, a las tendencias existentes en las demandas de servicios o a los cambios en los abonados o en los servicios ofrecidos.
Por ejemplo, si se utiliza el algoritmo de fragmentación (1) anteriormente descrito, n debe modificarse de acuerdo con el nuevo número de servidores. En consecuencia, la introducción de una ID de usuario en el algoritmo de fragmentación modificado proporcionará muy probablemente una ID de servidor diferente de la anterior.
En las soluciones anteriores, un sistema de servidores reconfigurado se interrumpe durante un cierto periodo de tiempo con el fin de trasladar el almacenamiento de los datos de usuario, o para introducir un puntero o referencia específica referente al lugar de almacenamiento relevante para cada entrada de datos afectada en los servidores de que se trate. Puede comprenderse fácilmente que éste es un procedimiento tedioso y que consume mucho tiempo.
En su lugar, la presente invención proporciona una solución dinámica que permite el funcionamiento simultáneo a la hora de gestionar las peticiones de servicios, con lo que se evitan los periodos de interrupción no deseados. Cuando se introduce una nueva configuración de servidores, el algoritmo de fragmentación se modifica de acuerdo con la nueva configuración, y la configuración antigua se salva o guarda en una memoria 206 situada en la unidad de organización temporal 202. El hecho de salvar la antigua configuración incluye salvar al menos el algoritmo de fragmentación antiguo y sus parámetros, y posiblemente también información relativa a la estructura del sistema de servidores de la configuración antigua.
Cuando se recibe una petición de servicios que implica una tarea de almacenamiento referente a un cliente o a una sesión tal y como se ha identificado mediante una ID de usuario, la unidad de organización temporal 202 realiza un primer intento de encontrar el servidor correcto mediante el uso del nuevo algoritmo de fragmentación modificado. Si no se encuentra el servidor esperado, es decir, el servidor en el que se almacenaron los datos buscados o los datos de usuario antiguos, se utiliza, en una segunda tentativa, el algoritmo de fragmentación antiguo de acuerdo con la configuración antigua salvada.
Una vez que se ha encontrado y seleccionado el servidor correcto para la tarea de almacenamiento, los datos asociados al cliente o sesión de que se trate se trasladan desde ese servidor a un nuevo servidor correspondiente al nuevo algoritmo de fragmentación. Si ocurre que el nuevo algoritmo de fragmentación selecciona el mismo servidor que el algoritmo de fragmentación antiguo, los datos, por supuesto, permanecerán allí.
De esta forma, los datos ya almacenados pueden ser trasladados gradualmente a los servidores correctos de acuerdo con el nuevo algoritmo de fragmentación siempre que se reciban peticiones de servicios referentes a los diferentes clientes o sesiones. Con el transcurso del tiempo, un reparto creciente de la cantidad total de datos terminará en los servidores correctos de acuerdo con la nueva configuración. Finalmente, puede resultar apropiado detener o interrumpir el sistema de servidores durante un periodo de tiempo limitado con el fin de trasladar el almacenamiento de cualesquiera datos de usuario restantes que no hayan sido trasladados todavía. La configuración antigua puede ser borrada entonces de la memoria 206.
Debe destacarse el hecho de que es posible utilizar más de dos versiones de configuración de forma simultánea en un sistema de servidores, dentro del ámbito de la presente invención. De esta forma, pueden salvarse configuraciones previas adicionales o incluso versiones anteriores en la memoria 206. En ese caso, pueden llevarse a cabo más de dos tentativas para encontrar el servidor correcto, con el uso de versiones de configuración todavía anteriores que se han guardado.
Se describirá a continuación un procedimiento proporcionado a modo de ejemplo para reconfigurar dinámicamente un sistema de servidores, con referencia a un diagrama de flujo que se muestra en la Figura 3, y también con referencia, ocasionalmente, a la Figura 2. Se supone en este ejemplo que el número de servidores ha sido modificado y que un nuevo algoritmo de fragmentación ha reemplazado a uno anterior, el cual ha sido salvado en una memoria 206. En una primera etapa 300, se recibe una petición de servicios en una unidad de organización temporal 202. Se detecta que debe ejecutarse una tarea de almacenamiento para la petición de servicios en uno de los servidores 204, tal como la recuperación de los datos de usuario ya almacenados. En una etapa 302, se lleva a cabo una primera tentativa para encontrar el servidor correcto en el lugar donde se han almacenado los datos que se buscan. Se aplica entonces el nuevo algoritmo de fragmentación al objeto de seleccionar un servidor para la petición de servicios recibida, mediante el uso de una ID de usuario correspondiente como entrada. La ID de usuario puede extraerse normalmente de la petición de servicios recibida.
A continuación, en una etapa 304, se determina si se ha encontrado y seleccionado el servidor correcto en la etapa 302 por parte del nuevo algoritmo de fragmentación. En caso afirmativo, la tarea de almacenamiento puede llevarse a cabo en consecuencia en una etapa 306, después de lo cual el procedimiento puede regresar a la primera etapa 300 para recibir una petición de servicios siguiente. Si se determina en la etapa 304 que el servidor seleccionado era incorrecto, se realiza un segundo intento de encontrar el servidor correcto en una etapa 308, mediante la aplicación de un algoritmo de fragmentación previamente salvado a la petición de servicios recibida.
Se determina, a continuación, en una etapa 310, si se ha encontrado y seleccionado el servidor correcto en la etapa 308 por parte del algoritmo de fragmentación previo. Si éste es el caso, los datos de usuario asociados a la petición de servicios se trasladan, en una etapa 312, desde el servidor antiguo al nuevo servidor seleccionado en la etapa 302 por el nuevo algoritmo de fraccionamiento. Los datos trasladados pueden abarcar todos los datos de usuario de un cliente o sesión para la que se ha dirigido la petición de servicios, incluso si la tarea de almacenamiento que se ha de llevar a cabo está relacionada únicamente con algunos de esos datos.
La tarea de almacenamiento también se lleva a cabo, en consecuencia, en una etapa 314, después de la cual el procedimiento puede retornar a la primera etapa 300 para la recepción de una nueva petición de servicios. Debe destacarse el hecho de que las etapas 312 y 314 pueden realizarse en orden inverso, en caso de que sea adecuado. Por ejemplo, puede resultar de utilidad recuperar en primer lugar los datos que se buscan en una tarea de almacenamiento, antes de trasladar los datos a otro servidor.
Si se ha determinado en la etapa 310 que aún no se seleccionó el servidor correcto en la etapa 308, puede determinarse, en una etapa 316, si se ha de realizar una nueva tentativa para encontrar el servidor correcto. En caso afirmativo, el procedimiento regresa a la etapa 308 para aplicar un algoritmo de fragmentación previo adicional, el cual puede ser un algoritmo de fragmentación salvado todavía más antiguo, como se ha explicado en lo anterior. Si se determina en la etapa 316 que no ha de realizarse una nueva tentativa, por ejemplo, debido a la expiración de la cuenta atrás o tiempo disponible, la tarea de almacenamiento no puede llevarse a cabo para la petición de servicios recibida. Puede recibirse entonces una nueva petición al regresar a la primera etapa 300.
Como se ha mencionado anteriormente, la reconfiguración de un sistema de servidores puede implicar cambios en los servicios que se ofrecen. Por ejemplo, es posible añadir nuevos servicios, y pueden modificarse o suprimirse los servicios existentes. En un sistema con múltiples servidores, dicha reconfiguración requiere que todos los servidores estén actualizados con la nueva configuración. En las soluciones previas, los nuevos datos de configuración relevantes son almacenados en todos los servidores. En la presente invención, todos los datos de configuración pueden ser, en lugar de ello, almacenados en un administrador central o dispositivo similar, al cual puede accederse desde los servidores.
En la Figura 4, un diagrama de bloques esquemático ilustra una administración centralizada de datos de configuración. Se muestra un grupo de servidores 400, cada uno de los cuales es capaz de gestionar al menos una petición de servicios común, tal como los servidores 204 de la Figura 2. Cada servidor 400 comprende un administrador local 402 que está conectado a un administrador central 404 y que tiene la facultad de acceder a los datos de configuración desde el mismo. El administrador central 404 puede ser un nodo independiente perteneciente al sistema de servidores o puede estar ubicado en un nodo de acceso o en un servidor, por ejemplo, conjuntamente con una unidad de organización temporal 202, tal y como se ha descrito anteriormente.
Los servidores 400 pueden necesitar acceder a ciertos datos de configuración con el fin de recurrir a los servicios solicitados. Sin embargo, ninguno de dichos datos de configuración se almacena localmente en los servidores de acuerdo con una realización. En su lugar, todos los datos de configuración que son válidos para los servidores 400 se almacenan en el administrador central 404. De esta forma, es posible recuperar del administrador central 404 cualesquiera datos de configuración que se requieran para recurrir a un servicio solicitado en un servidor 400, al enviar una petición referente a los datos de configuración desde su administrador local 402. Tan solo se necesita una referencia al administrador central 404 en los administradores locales 402. Los datos de configuración pueden ser también "inyectados" a uno o más administradores locales 402 desde el administrador central 404, es decir, sin una petición previa desde los administradores locales 402.
Gracias a esta disposición, los datos de configuración son almacenados de forma eficaz tan solo en una ubicación, en lugar de estar duplicados en los servidores 400. Cualquier actualización de los datos de configuración puede llevarse a cabo de una forma sencilla en el administrador central 404, el cual tendrá una visión global precisa de todos los servicios y servidores existentes en ese momento. Pueden evitarse así los errores y conflictos entre los servidores que tienen versiones de configuración diferentes. Es más, se elimina la necesidad de actualizaciones sincrónicas en varios servidores.
La presente invención puede utilizarse con gran ventaja en los servicios de telecomunicación definidos en el contexto del "Servidor Urbano Inalámbrico", tales como los relativos a la Mensajería instantánea, a la Información presencial y a los Contenidos compartidos. Gracias a la utilización de la invención en los servidores para el manejo o gestión de dichas peticiones de servicios, se consigue una reconfiguración dinámica y eficaz de esos servidores. No obstante, la presente invención puede aplicarse también a cualesquiera sistemas dimensionables según una escala y destinados a la distribución de datos. Merced al uso de la invención, pueden añadirse y/o suprimirse dinámicamente de esta forma servidores sin detener el sistema de servidores, al menos por periodos de tiempo prolongados. De este modo, es posible mantener un alto nivel de servicio.
En particular, la presente invención puede emplearse ventajosamente en un sistema de servidores destinado a distribuir el almacenamiento de los datos y el tratamiento de la carga entre una pluralidad de servidores, lo cual se describe en la Solicitud PCT codependiente de este mismo Solicitante. En esta solución, se asigna un servidor principal para llevar a cabo una tarea o cometido de tratamiento, mediante el uso de un primer algoritmo de organización temporal, el cual es capaz de seleccionar cualquier servidor principal. Se asigna un servidor secundario para llevar a cabo una tarea de almacenamiento, con el uso de un segundo algoritmo de organización en el tiempo, el cual es capaz de seleccionar un servidor secundario específico correspondiente a un cliente implicado en esa tarea de almacenamiento.
Si bien la invención se ha descrito con referencia a realizaciones específicas proporcionadas a modo de ejemplo, el propósito de la descripción es únicamente ilustrar el concepto inventivo, y ésta no debe tomarse como limitativa del ámbito de la invención. Es posible utilizar diversas alternativas, modificaciones y equivalentes sin apartarse del espíritu de la invención, el cual se define en las reivindicaciones que se acompañan.

Claims (21)

1. Un método para reconfigurar dinámicamente un sistema de servidores que comprende una pluralidad de servidores destinados a manejar o gestionar peticiones de servicios que entran, caracterizado por las etapas de:
A) - aplicar una nueva configuración de servidor,
B) - salvar una configuración de servidor previa,
en el cual se llevan a cabo las siguientes etapas cuando se reciben peticiones de servicios:
C) - seleccionar un servidor para gestionar una petición de servicios recibida, mediante el uso de un primer algoritmo de programación u organización en el tiempo, de acuerdo con la nueva configuración,
D) - seleccionar un servidor mediante el uso de un segundo algoritmo de organización temporal, de conformidad con la configuración previa salvada en la etapa B), en el caso de que el servidor seleccionado en la etapa C) fuese incorrecto, y
E) - trasladar los datos de usuario asociados a la petición de servicios recibida, desde el servidor seleccionado en la etapa D), si es correcto, hasta el servidor seleccionado en la etapa C).
2. Un método de acuerdo con la reivindicación 1, caracterizado por la etapa adicional de seleccionar un servidor mediante el uso de un algoritmo de organización temporal de conformidad con una configuración salvada todavía anterior, en el caso de que el servidor seleccionado en la etapa D) fuese también incorrecto.
3. Un método de acuerdo con la reivindicación 1 ó la reivindicación 2, caracterizado porque los algoritmos de organización temporal son algoritmos de partición o fragmentación.
4. Un método de acuerdo con la reivindicación 3, caracterizado porque el uso de los algoritmos de fragmentación incluye obtener un número de fragmentación a partir de una ID de usuario y calcular un número de ID de servidor a partir de ese número de fragmentación obtenido.
5. Un método de acuerdo con la reivindicación 4, caracterizado por utilizar el siguiente algoritmo:
(1)\text{ID de servidor = fragmentación (ID de usuario) módulo n}
donde n es el número de posibles servidores, y el operador módulo proporciona un número entero comprendido entre 0 y n - 1.
6. Un método de acuerdo con la reivindicación 5, caracterizado porque la nueva configuración implica un número modificado de servidores, y porque, en el segundo algoritmo de organización temporal, n se modifica en consecuencia a partir del primer algoritmo de organización temporal.
7. Un método de acuerdo con cualquiera de las reivindicaciones 1 a 6, caracterizado porque las peticiones de servicios implican tareas o cometidos de almacenamiento.
8. Un método de acuerdo con la reivindicación 7, caracterizado porque las tareas de almacenamiento incluyen cualquiera de entre: el almacenamiento de nuevos datos, la actualización de datos ya almacenados, y la recuperación de datos almacenados.
9. Un método de acuerdo con cualquiera de las reivindicaciones 1 a 8, caracterizado porque la etapa A) de aplicar una nueva configuración de servidor incluye almacenar nuevos datos de configuración en un administrador central o similar, al cual pueden acceder los servidores.
10. Un método de acuerdo con la reivindicación 9, caracterizado porque los nuevos datos de configuración son impulsados o inyectados desde el administrador central a uno o más servidores.
11. Un método de acuerdo con la reivindicación 9, caracterizado porque los nuevos datos de configuración se recuperan del administrador central mediante el envío de una petición desde un servidor.
12. Un aparato para reconfigurar un sistema de servidores, comprendiendo el sistema de servidores una pluralidad de servidores que son capaces de llevar a cabo al menos una tarea de almacenamiento común, así como una unidad de programación u organización en el tiempo, configurada de modo que seleccione servidores para manejar o gestionar peticiones de servicios que entran, caracterizado por:
- medios para aplicar una nueva configuración de servidor,
- medios para salvar una configuración de servidor previa,
- medios para seleccionar un primer servidor para gestionar una petición de servicios recibida, mediante el uso de un primer algoritmo de programación u organización en el tiempo, de acuerdo con la nueva configuración, y
- medios para seleccionar un segundo servidor mediante el uso de un segundo algoritmo de organización temporal, de conformidad con la configuración previa, en el caso de que el primer servidor fuese incorrecto, y
- medios para trasladar los datos de usuario asociados a la petición de servicios recibida, desde el segundo servidor, si es correcto, hasta el primer servidor.
13. Un aparato de acuerdo con la reivindicación 12, caracterizado por medios para seleccionar un servidor mediante el uso de un algoritmo de organización temporal de acuerdo con una configuración todavía anterior, en el caso de que el segundo servidor fuese también incorrecto.
14. Un aparato de acuerdo con la reivindicación 12 ó la reivindicación 13, caracterizado por medios para utilizar algoritmos de partición o fragmentación como algoritmos de organización temporal.
15. Un aparato de acuerdo con la reivindicación 14, caracterizado por medios para obtener un número de fragmentación a partir de una ID de usuario y para calcular un número de ID de servidor a partir de ese número de fragmentación obtenido.
16. Un aparato de acuerdo con la reivindicación 15, caracterizado por medios para utilizar el siguiente algoritmo:
(1)\text{ID de servidor = fragmentación (ID de usuario) módulo n}
donde n es el número de posibles servidores, y el operador módulo proporciona un número entero comprendido entre 0 y n - 1.
17. Un aparato de acuerdo con cualquiera de las reivindicaciones 12 a 16, caracterizado por un administrador central o similar, destinado a almacenar los nuevos datos de configuración y al cual pueden acceder los servidores.
18. Un aparato de acuerdo con la reivindicación 17, caracterizado por la presencia de un administrador local o similar en cada servidor, con el fin de recibir los nuevos datos de configuración desde el administrador central.
19. Un aparato de acuerdo con la reivindicación 17 ó la reivindicación 18, caracterizado porque el administrador central comprende medios para impulsar o inyectar nuevos datos de configuración a uno o más servidores.
20. Un aparato de acuerdo con la reivindicación 18, caracterizado porque el administrador local comprende medios para enviar una petición referente a nuevos datos de configuración al administrador central.
21. Un programa informático que comprende un código de programación o software que está destinado a llevar a cabo el método de acuerdo con cualquiera de las reivindicaciones 1 a 11 en un sistema de servidores.
ES200450045A 2002-02-13 2002-06-27 Metodo y aparato para reconfigurar un sistema de servidores. Expired - Fee Related ES2264627B2 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0200417A SE0200417D0 (sv) 2002-02-13 2002-02-13 A method and apparatus for reconfiguring a server system
SE2002100417 2002-02-13
SE0200417-4 2002-02-13

Publications (2)

Publication Number Publication Date
ES2264627A1 ES2264627A1 (es) 2007-01-01
ES2264627B2 true ES2264627B2 (es) 2007-08-01

Family

ID=20286945

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200450045A Expired - Fee Related ES2264627B2 (es) 2002-02-13 2002-06-27 Metodo y aparato para reconfigurar un sistema de servidores.

Country Status (7)

Country Link
US (1) US7739364B2 (es)
JP (1) JP4098723B2 (es)
AU (1) AU2002345485A1 (es)
ES (1) ES2264627B2 (es)
GB (1) GB2400951B (es)
SE (1) SE0200417D0 (es)
WO (1) WO2003069473A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103748B2 (en) * 2002-05-20 2012-01-24 International Business Machines Corporation Rule-based method and system for managing heterogenous computer clusters
JP4708383B2 (ja) * 2003-11-10 2011-06-22 株式会社イース 集計システム
US7636941B2 (en) 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
CA2601850A1 (en) 2005-04-04 2006-10-12 Telefonaktiebolaget Lm Ericsson (Publ) A method and apparatus for distributing load on application servers
US7934216B2 (en) * 2005-10-03 2011-04-26 International Business Machines Corporation Method and system for load balancing of computing resources
US7734296B2 (en) * 2006-05-31 2010-06-08 Cisco Technology, Inc. Management of distributed location servers
US20100125619A1 (en) * 2008-11-20 2010-05-20 Microsoft Corporation Deterministic selection of domain controllers in a multi-master database distributed directory service
JP4957765B2 (ja) * 2009-08-24 2012-06-20 日本電気株式会社 ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム
WO2011117955A1 (ja) * 2010-03-20 2011-09-29 株式会社Pfu 仮想マシン管理装置、仮想マシン管理システム、仮想マシン管理方法、及びプログラム
JP6030572B2 (ja) * 2011-01-04 2016-11-24 トムソン ライセンシングThomson Licensing ライブメディアコンテンツを送信する装置及び方法
FR2978848B1 (fr) * 2011-08-02 2013-08-30 Viaccess Sa Procede de lissage de la charge de travail d'un serveur
CN106575267B (zh) * 2014-08-29 2018-04-06 三菱电机株式会社 处理分配装置和数据处理系统
US10778660B1 (en) * 2016-09-21 2020-09-15 Amazon Technologies, Inc. Managing multiple producer consumer—systems with non-identical idempotency keys
JP7132531B2 (ja) * 2018-05-28 2022-09-07 日本電信電話株式会社 転送制御装置、転送制御方法、サービス提供システムおよび転送制御プログラム
DE102018133465A1 (de) * 2018-12-21 2020-06-25 Endress+Hauser Process Solutions Ag Felderfassungsgerät für ein Feldbusnetzwerk
CN111614726B (zh) * 2020-04-24 2023-03-24 深圳震有科技股份有限公司 一种数据转发方法、集群系统及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5794207A (en) * 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US5819030A (en) * 1996-07-03 1998-10-06 Microsoft Corporation System and method for configuring a server computer for optimal performance for a particular server type
US6240454B1 (en) * 1996-09-09 2001-05-29 Avaya Technology Corp. Dynamic reconfiguration of network servers
US6601084B1 (en) 1997-12-19 2003-07-29 Avaya Technology Corp. Dynamic load balancer for multiple network servers
US7171662B1 (en) * 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US6330710B1 (en) * 1998-06-19 2001-12-11 At&T Corp. Servlet-based architecture for dynamic service composition
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6976063B1 (en) * 2000-11-02 2005-12-13 Microsoft Corporation Method and system for dynamically configuring a server computer
US20020107977A1 (en) * 2000-12-07 2002-08-08 Andrew Dunshea Multi-server system dynamic re-configuration
US6976065B2 (en) * 2001-02-23 2005-12-13 Sun Microsystems, Inc. Mechanism for reconfiguring a server without incurring server down time
US7921290B2 (en) * 2001-04-18 2011-04-05 Ipass Inc. Method and system for securely authenticating network access credentials for users
US6898705B2 (en) * 2001-05-31 2005-05-24 International Business Machines Corporation Automatic appliance server re-provision/re-purposing method
US7188163B2 (en) * 2001-11-26 2007-03-06 Sun Microsystems, Inc. Dynamic reconfiguration of applications on a server
US20030233446A1 (en) * 2002-06-12 2003-12-18 Earl William J. System and method for managing a distributed computing system
US8145759B2 (en) * 2002-11-04 2012-03-27 Oracle America, Inc. Dynamically configurable resource pool

Also Published As

Publication number Publication date
GB2400951B (en) 2005-06-22
US20050066014A1 (en) 2005-03-24
US7739364B2 (en) 2010-06-15
JP2005518016A (ja) 2005-06-16
GB0416215D0 (en) 2004-08-25
ES2264627A1 (es) 2007-01-01
WO2003069473A1 (en) 2003-08-21
JP4098723B2 (ja) 2008-06-11
AU2002345485A1 (en) 2003-09-04
SE0200417D0 (sv) 2002-02-13
GB2400951A (en) 2004-10-27

Similar Documents

Publication Publication Date Title
ES2264627B2 (es) Metodo y aparato para reconfigurar un sistema de servidores.
US11836135B1 (en) Method and system for transparent database query caching
US10491523B2 (en) Load distribution in data networks
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
JP3846736B2 (ja) 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法
US8484242B1 (en) Method and system for transparent database connection pooling and query queuing
US9032017B1 (en) Method and system for transparent read-write query routing when load balancing databases
US7962635B2 (en) Systems and methods for single session management in load balanced application server clusters
US8019725B1 (en) Software update management
US7684421B2 (en) Information routing in a distributed environment
US20060235972A1 (en) System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
US8850067B2 (en) Internet protocol (IP) address pool management and allocation
US20070150492A1 (en) Method and system for allocating file in clustered file system
JP5023596B2 (ja) プログラム配布装置
US7844708B2 (en) Method and apparatus for load sharing and data distribution in servers
US11177974B2 (en) Consistent provision of member node group information on virtual overlay network
CN101849384A (zh) 用于控制网络系统负载均衡的方法、客户机、服务器以及网络系统
US7260602B2 (en) System and method of network content location for roaming clients
US20060150196A1 (en) Processing messages in a message queueing system
US20040143648A1 (en) Short-cut response for distributed services
JP2000003322A (ja) 通信ネットワ―クにおける送信装置及び送信方法
JP2019041241A (ja) 振り分けシステム
KR100942125B1 (ko) 데이터 네트워크에서 제어 채널을 제공하는 방법 및 장치
CN115280288A (zh) 服务器系统和管理服务器系统的方法
CN114189560A (zh) 资源的传输方法和装置、存储介质、电子装置

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20070101

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2264627B2

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20211122