ES2264627B2 - Metodo y aparato para reconfigurar un sistema de servidores. - Google Patents
Metodo y aparato para reconfigurar un sistema de servidores. Download PDFInfo
- 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
Links
Classifications
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- 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/461—Saving or restoring of program or task context
-
- 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/465—Distributed object oriented systems
-
- 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/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5016—Session
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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 |
-
2002
- 2002-02-13 SE SE0200417A patent/SE0200417D0/xx unknown
- 2002-06-27 US US10/504,086 patent/US7739364B2/en active Active
- 2002-06-27 GB GB0416215A patent/GB2400951B/en not_active Expired - Fee Related
- 2002-06-27 JP JP2003568530A patent/JP4098723B2/ja not_active Expired - Fee Related
- 2002-06-27 WO PCT/SE2002/001279 patent/WO2003069473A1/en active IP Right Grant
- 2002-06-27 ES ES200450045A patent/ES2264627B2/es not_active Expired - Fee Related
- 2002-06-27 AU AU2002345485A patent/AU2002345485A1/en not_active Abandoned
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 |