ES2302372T3 - Metodo para la distribucion de tareas de un sistema de procesamiento de datos, nodo cliente de procesamiento de datos y medio de almacenamiento en memoria legible por ordenador. - Google Patents
Metodo para la distribucion de tareas de un sistema de procesamiento de datos, nodo cliente de procesamiento de datos y medio de almacenamiento en memoria legible por ordenador. Download PDFInfo
- Publication number
- ES2302372T3 ES2302372T3 ES99440075T ES99440075T ES2302372T3 ES 2302372 T3 ES2302372 T3 ES 2302372T3 ES 99440075 T ES99440075 T ES 99440075T ES 99440075 T ES99440075 T ES 99440075T ES 2302372 T3 ES2302372 T3 ES 2302372T3
- Authority
- ES
- Spain
- Prior art keywords
- data processing
- processing server
- server node
- nodes
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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
-
- 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
Abstract
LA INVENCION SE REFIERE A UN PROCEDIMIENTO PARA ENCARGOS, QUE PROCEDEN DE UNO O MULTIPLES NUDOS DE PROCESADO DE DATOS DE CLIENTES (C1 HASTA C5), DENTRO DE UN GRUPO DE DOS O MULTIPLES PROCESADOS DE DATOS DE SERVIDOR (S1 HASTA S4), QUE SON GUIADOS RESPECTIVAMENTE A NUDOS DE PROCESADO DE DATOS DE SERVIDOR (S2) PARA SU PROCESADO, ASI COMO UN SISTEMA DE PROCESADO DE DATOS, UN NUDO DE PROCESADO DE DATOS Y UN MEDIO DE MEMORIA, QUE PUEDE SER OPERADO SIN ORDENADOR PARA LA REALIZACION DE ESTE PROCEDIMIENTO. UN NUDO DE PROCESADO DE DATOS DE CLIENTE (C2), QUE PUEDE TENER A DISPOSICION UN ENCARGO, ELIGE PRIMERO EL NUDO DE PROCESADO DE DATOS DE SERVIDOR RESPECTIVO A PARTIR DEL GRUPO, QUE DE ACUERDO CON UNA SUCESION EN SERIE CICLICA PREVIAMENTE DEFINIDA DE LOS NUDOS DE PROCESADO DE DATOS DE SERVIDOR, ES EL NUDO DE PROCESADO DE DATOS A SER ELEGIDO MAS PROXIMO. CUANDO EL NUDO DE PROCESADO DE DATOS DE SERVIDOR ELEGIDO EN PRIMER LUGAR RECHAZA EL PROCESADO DEL ENCARGO, SE ELIGE A PARTIR DE LOS NUDOS DE PROCESADO DE DATOS DE CLIENTE POR MEDIO DE ELECCION ALEATORIA OTRO NUDO DE PROCESADO DE DATOS PARA EL PROCESADO DEL ENCARGO, Y CON ELLO SE TRANSITE AL NUDO DE PROCESADO DE DATOS DE SERVIDOR ELEGIDO EL ENCARGO A PARTIR DEL NUDO DE PROCESADO DE DATOS DEL CLIENTE PARA SU PROCESADO.
Description
Método para la distribución de tareas de un
sistema de procesamiento de datos, nodo cliente de procesamiento de
datos y medio de almacenamiento en memoria legible por
ordenador.
La invención se refiere a un procedimiento para
la distribución de tareas dentro de un grupo de dos o más nodos
servidores de procesamientos de datos, según el preámbulo de la
reivindicación 1, a un sistema de procesamiento de datos según el
preámbulo de la reivindicación 7, a un nodo cliente de procesamiento
de datos, según el preámbulo de la reivindicación 8, y a un medio
de almacenamiento en memoria, legible por ordenador, según el
preámbulo de la reivindicación 9.
La invención parte de un procedimiento para
distribución de cargas, conocido en aplicaciones cliente -
servidor.
Tales procedimientos para distribución de cargas
son conocidos, por ejemplo, por la solicitud europea de patente EP
0 692 763 A1. Allí se describe entre otras cosas, un procedimiento
para distribución de cargas en el que un nodo servidor de
procesamiento de datos, se selecciona aleatoriamente entre una
cantidad de ellos.
En un procedimiento alternativo se determina un
nodo servidor de procesamiento de datos, de la mano de una
secuencia cíclica. Igualmente, se propone un procedimiento en el que
se determinan los pronósticos sobre las cargas del servidor y se
distribuyen en los nodos clientes de procesamiento de datos, para
mejorar la selección.
En la publicación de D. H. J. Eperna y otros
"A worldwide flock of Condors: Load sharing among workstation
clusters" se describe un sistema distribuido de nodos servidores
de procesamiento de datos y "Gateway Machines", que facilita
un sistema distribuido que compensa las cargas, para tareas de
cálculo intensivo.
La patente US 5,341,477 describe otro
procedimiento para distribución de cargas, en el que un llamado
broker entra en acción en la selección de un nodo servidor de
procesamiento de datos.
Un ordenador cliente está unido mediante una red
de comunicación con varios ordenadores servidores. Los ordenadores
servidores envían periódicamente al ordenador cliente, mensajes que
proporcionan información sobre su grado de utilización. Estas
informaciones así transmitidas se almacenan en el ordenador cliente.
Si el ordenador cliente tiene que adjudicar una tarea de
procesamiento de datos, mediante las informaciones almacenadas del
grado de utilización de los ordenadores servidores, selecciona aquel
ordenador servidor que esté menos utilizado. Después comunica al
ordenador servidor así seleccionado la tarea, enviándole un mensaje
de petición para el procesamiento de la tarea de procesamiento de
datos, y con ello le transfiere para su procesamiento, la tarea de
procesamiento de datos. De este modo se consigue que los ordenadores
servidores se utilicen por igual.
El inconveniente de este procedimiento consiste
en que necesita una alta carga de tráfico de la red de comunicación.
Todos los ordenadores servidores tienen que enviar mensajes
periódicamente. Para obtener una imagen actualizada del grado de
carga, aquí no puede elegirse para ello el periodo demasiado
grande.
La misión de la invención se basa ahora en
asignar tareas de nodos clientes de procesamiento de datos a nodos
servidores de procesamiento de datos, para una carga lo más uniforme
posible de los nodos servidores de procesamiento de datos, y con el
menor tráfico posible de comunicación entre nodos clientes y
servidores de procesamiento de datos.
Esta misión se resuelve mediante un
procedimiento para la distribución de tareas dentro de un grupo de
dos o más nodos servidores de procesamientos de datos, según la
teoría de la reivindicación 1, un sistema de procesamiento de datos
según la teoría de la reivindicación 7, un nodo cliente de
procesamiento de datos, según la teoría de la reivindicación 8, y
un medio de almacenamiento en memoria, legible por ordenador, según
la teoría de la reivindicación 9.
Nodos clientes y servidores de procesamiento de
datos, pueden formarse aquí por diversos ordenadores de un sistema
de ordenadores múltiples, por diversos procesadores de un sistema de
ordenador multiprocesador, o por diversos procesos u objetos, que
se aplican en una plataforma del sistema.
La invención se basa en la idea de intentar
primeramente asignar una tarea a un nodo servidor de procesamiento
de datos, seleccionado cíclicamente, y cuando este no acepte la
tarea (porque esté ya recargado), intentar a continuación una o
varias veces asignar la tarea a un nodo servidor de procesamiento de
datos seleccionado aleatoriamente. Así pues, a un primer ensayo
cíclico de asignación, siguen uno o varios ensayos aleatorios de
asignación.
Los ensayos han revelado que mediante este
esquema especial de asignación, en todas las gamas de ocupación se
consigue un grado de carga muy uniforme de los nodos servidores de
procesamiento de datos, y se minimiza el número de los intentos de
asignación necesarios. Además, el esquema de asignación se realiza
con poco gasto computacional que es ampliamente independiente del
número de los nodos clientes y servidores de procesamiento de
datos, del sistema de procesamiento de datos. El procedimiento según
la invención, reúne pues un buen rendimiento con poco gasto
técnico.
\newpage
Otra ventaja de la invención consiste en que,
para la asignación de una tarea, solamente se necesita el
intercambio de uno o varios mensajes, por lo demás no es necesario
ningún otro intercambio de información entre nodos clientes y
servidores de procesamiento de datos. En especial para una mayor
cantidad de nodos clientes y servidores de procesamiento de datos,
se reduce notablemente de este modo la carga de comunicación.
Acondicionamientos ventajosos de la invención se
deducen de las reivindicaciones secundarias.
Aquí es ventajoso sobre todo cuando los nodos
clientes de procesamiento de datos, efectúan la selección cíclica
con independencia unos de otros. De este modo no es necesaria
ninguna sincronización entre los nodos clientes de procesamiento de
datos.
A continuación se explica ejemplarmente la
invención, de la mano de un ejemplo de realización con ayuda de los
dibujos adjuntos.
Figura 1 Muestra un esquema de bloques de un
sistema de procesamiento de datos según la invención, con nodos
clientes de procesamiento de datos según la invención.
Figura 2 Muestra una representación funcional de
un fragmento del sistema de procesamiento de datos según la
invención, de la figura 1, con un nodo cliente de procesamiento de
datos según la invención.
Figura 3 Muestra un diagrama de flujo que
describe el procedimiento realizado por el nodo cliente de
procesamiento de datos según la figura 2.
La figura 1 muestra un sistema DPS de
procesamiento de datos con varios nodos C1 a C5 clientes de
procesamiento de datos, y con varios nodos S1 a S4 servidores de
procesamiento de datos, que se comunican unos con otros.
El sistema DPS de procesamiento de datos es un
sistema de ordenadores múltiples, y realiza una parte de un control
distribuido de una central telefónica. Naturalmente también es
posible que el sistema DPS de procesamiento de datos aproveche otra
función distribuida de control.
El número de los nodos clientes y servidores de
procesamiento de datos, se ha elegido como ejemplo, no obstante son
necesarios al menos dos nodos servidores de procesamiento de datos.
Cada uno de los nodos C1 a C5 clientes de procesamiento de datos, y
de los nodos S1 a S4 servidores de procesamiento de datos, se forma
por un ordenador que al menos presenta un procesador, una memoria y
conjuntos constructivos periféricos de comunicación, y por
programas que se ejecutan en este ordenador. Los nodos C1 a C5 y S1
a S4 clientes y servidores de procesamiento de datos están unidos
unos con otros mediante una red de comunicación. La red de
comunicación se forma aquí por la red de conexión de la central
telefónica, y con líneas de enlace unidas con esta, para los nodos
S1 a S4 servidores de procesamiento de datos. Pero aquí se puede
tratar también de una LAN (Local Area Network = red de área local),
o de otra red cualquiera de comunicación para la comunicación de
ordenadores.
Los nodos C1 a C5 clientes de procesamiento de
datos, para el cumplimiento de su función, a intervalos regulares o
irregulares, exigen el procesamiento de una tarea por uno de los
nodos S1 a S4 servidores de procesamiento de datos. En el ejemplo
según la figura 1, precisamente cada uno de los nodos S1 a S3
servidores de procesamiento de datos, procesa, por ejemplo, una
tarea de los nodos C3, C2 y C5, ó C4 clientes de procesamiento de
datos.
Cada uno de los nodos S1 a S4 servidores de
procesamiento de datos, está en condiciones de realizar un tipo
determinado de tareas. Forman pues un grupo de nodos servidores de
procesamiento de datos, que está en condiciones de realizar un tipo
determinado de tareas. Una tarea semejante consiste en este caso,
por ejemplo, en la realización de un cálculo determinado para
valores iniciales predeterminados, a partir de la realización de
manipulaciones de datos o del control de elementos físicos. Todos
los nodos servidores de procesamiento de datos, están en
condiciones de realizar tales tareas por igual. En cada caso según
los recursos que están a su disposición, cada uno de los nodos S1 a
S4 servidores de procesamiento de datos, tan sólo puede procesar
una, aunque también un número determinado de tareas al mismo
tiempo. Además, es posible que cada uno disponga de una cola de
espera para tareas, en la que se puedan almacenar en memoria
intermedia, tareas por procesar.
En los nodos C1 a C5 clientes de procesamiento
de datos, puede tratarse aquí también de diversos procesos u
objetos de un sistema de ordenadores, que solicitan de otros
procesos u objetos de otro o del mismo sistema de ordenadores, la
realización de cometidos. Estos otros procesos u objetos forman aquí
los nodos servidores de procesamiento de datos. Aquí es ventajoso
que los nodos servidores de procesamiento de datos se formen por
procesos u objetos que se desarrollan en ordenadores diferentes y
que, por tanto, no están en competencia unos con otros con respecto
a los recursos del sistema. La comunicación entre tales nodos de
procesamiento de datos, puede llevarse a cabo, por ejemplo,
mediante una infraestructura CORBA (CORBA = Common Object Request
Broker Architecture).
Además, es posible que el sistema DPS de
procesamiento de datos se forme por un sistema de ordenador
multiprocesador, en el que los nodos servidores de procesamiento de
datos representan diversos procesadores a los que los nodos C1 a C5
clientes de procesamiento de datos, dirigen peticiones para la
realización de tareas. Asimismo los nodos C1 a C5 clientes de
procesamiento de datos representan aquí también diversos procesos de
uno o varios procesadores.
De la mano de la figura 2 se explica ahora a
título de ejemplo, la estructura funcional de un nodo cliente de
procesamiento de datos, de la mano del funcionamiento del nodo C2
cliente de procesamiento de datos.
La figura 2 muestra el nodo C2 cliente de
procesamiento de datos y los nodos S1 a S4 servidores de
procesamiento de datos. El nodo C2 cliente de procesamiento de
datos, presenta dos módulos TF y ALL de programa.
En su realización el módulo TF de programa
solicita la realización de una determinada tarea mediante un nodo
servidor de procesamiento de datos, y para ello activa mediante una
petición SR, el módulo ALL de programa. El módulo ALL de programa
forma desde un punto de vista funcional, una unidad de asignación, y
determina aquel nodo servidor de procesamiento de datos del grupo
de nodos S1 a S4 servidores de procesamiento de datos, al que hay
que transferir la tarea para su procesamiento. Naturalmente las
funciones del módulo ALL de programa, pueden realizarse también en
hardware, lo cual es especialmente ventajoso en el sistema DPS de
procesamiento de datos, cuando se trata de un sistema de ordenador
multiprocesador. La dirección S de este nodo servidor de
procesamiento de datos la transfiere luego al módulo TF de programa
que mediante un mensaje TASK transfiere la tarea para el
procesamiento, a este nodo servidor de procesamiento de datos, aquí
el nodo S2 servidor de procesamiento de datos.
También es posible que la tarea se transfiera
igualmente con el mensaje REQ al nodo servidor de procesamiento de
datos. Los mensajes REQ y TASK se envían juntamente, por ejemplo,
por el módulo ALL de programa al nodo S2 servidor de procesamiento
de datos. En un ejemplo semejante de realización, la tarea se
transfiere por el módulo TF de programa, para la asignación, al
módulo ALL de programa, y el módulo de programa efectúa
independientemente la transferencia del procesamiento de la tarea a
un nodo servidor de procesamiento de datos, o comunica al módulo TF
de programa que por el momento no es posible tal transferencia.
Mediante la transferencia inmediata de la tarea,, es posible
también, que el nodo servidor de procesamiento de datos determine
exactamente el gasto necesario para la realización de la tarea. Si
el nodo servidor de procesamiento de datos rehúsa la realización de
la tarea, envía el mensaje DEN al módulo ALL de programa. Puede
renunciarse al envío del mensaje ACK.
El módulo ALL de programa presenta desde el
punto de vista funcional, dos grupos CONTR y COM funcionales. El
grupo COM funcional presenta aquellas funciones que permiten al
módulo ALL de programa en la plataforma del sistema, la
comunicación con los nodos S1 a S4 servidores de procesamiento de
datos. El grupo CONTR funcional determina mediante las funciones
del grupo COM funcional, la dirección S a la petición SR. Aquí envía
mediante el grupo COM funcional, mensajes REQ a los nodos S1 a S4
servidores de procesamiento de datos, y recibe de estos, mensajes
ACK y DEN.
Las funciones del grupo CONTR funcional, se
explican ahora de la mano del diagrama de operaciones mostrado en
la figura 3.
La figura 3 muestra dos estados Z1 y Z2, siete
pasos ST1 a ST7 y tres pasos D1 a D3 de decisión.
A la petición SR se pasa de un estado Z2 de
espera al estado Z1 inicial. En el paso ST1 se selecciona a
continuación un nodo servidor de procesamiento de datos del grupo
de los nodos S1 a S4 servidores de procesamiento de datos, el cual
es el siguiente nodo servidor de procesamiento de datos a
seleccionar, según una secuencia cíclica predefinida de los nodos
servidores de procesamiento de datos. A cada uno de los nodos S1 a
S4 servidores de procesamiento de datos, está asignado para ello un
número en secuencia creciente, a los nodos S1 a S4 servidores de
procesamiento de datos está asignado pues el número 1, 2, 3 ó 4. A
cada asignación cíclica por el nodo C2 cliente de procesamiento de
datos, o sea, cada vez que se realiza el paso ST1 se incrementa un
contador en 1, poniéndose el contador de nuevo en uno cuando se
llega al cinco (adición modular). Así pues el siguiente nodo
servidor de procesamiento de datos a seleccionar cíclicamente, es el
nodo servidor de procesamiento de datos, asignado al nuevo valor
del contador.
Alternativamente también es posible ordenar las
direcciones de los nodos servidores de procesamiento de datos, en
una lista en cualquier orden. A cada asignación cíclica por el nodo
C2 cliente de procesamiento de datos, se pone el indicador en la
siguiente entrada en la lista, poniéndose el indicador en el primer
puesto de la lista, cuando se haya llegado al final de la lista. El
siguiente nodo servidor de procesamiento de datos a seleccionar
cíclicamente es pues aquel nodo servidor de procesamiento de datos a
cuya dirección señala el indicador.
También es posible que solamente se disponga de
un contador o de un indicador para todos los nodos C1 a C5 clientes
de procesamiento de datos, que vuelve a avanzar cada vez que uno de
los nodos C1 a C5 clientes de procesamiento de datos efectúa una
selección cíclica. De este modo se sincroniza el comportamiento de
los nodos C1 a C5 clientes de procesamiento de datos.
Es posible, además, que se seleccione aquel nodo
servidor de procesamiento de datos que en comparación con el último
nodo servidor de procesamiento de datos al que se asignó una tarea
(lo cual se realiza en los pasos ST3 y ST6), según la secuencia
predefinida (mediante asignación numérica, mediante lugar en una
lista), es el nodo servidor de procesamiento de datos a seleccionar
cíclicamente como el siguiente. Aquí también existen las
alternativas de partir del nodo servidor de procesamiento de datos
al que se asignó una tarea por este nodo cliente de procesamiento
de datos, o del último nodo servidor de procesamiento de datos al
que se asignó una tarea por cualquiera de los nodos C1 a C5
clientes de procesamiento de datos.
\newpage
En el paso ST2 se envía una petición REQ al nodo
servidor de procesamiento de datos seleccionado cíclicamente en el
paso ST1, cuya petición solicita a este que aclare si puede procesar
la tarea, o no. Si este nodo servidor de procesamiento de datos no
puede procesar la tarea por ejemplo, porque ya está cargado con el
procesamiento de otras tareas, o su cola de espera está llena
completamente, reenvía a la petición REQ un mensaje DEN al nodo C2
cliente de procesamiento de datos. En caso contrario, reenvía un
mensaje ACK con el que aprueba el procesamiento de la tarea. Aquí
también es posible que el nodo servidor seleccionado de
procesamiento de datos, envíe ya el mensaje DEN cuando su carga
supere un determinado valor umbral.
Si el mensaje ACK es recibido por el nodo C2
cliente de procesamiento de datos, en el paso D1 de decisión se
pasa al paso ST3. Al recibir el mensaje DEN, se pasa al paso
ST4.
En el paso ST3 se transfiere la dirección del
nodo servidor de procesamiento de datos, seleccionado cíclicamente,
como dirección S, al módulo TF de programa que así asigna la tarea a
este nodo servidor de procesamiento de datos. A continuación se
pasa al estado Z2 de espera.
En el paso ST4 se selecciona aleatoriamente uno
de los otros nodos S1 a S4 servidores de procesamiento de datos,
que todavía no se habían seleccionado para esta tarea. Para la
selección aleatoria se utiliza un algoritmo que suministra números
seudoaleatorios. Naturalmente también puede seleccionarse mediante
un generador aleatorio, cualquiera de los nodos S1 a S4 servidores
de procesamiento de datos. Aquí es ventajoso no seleccionar el
último nodo servidor seleccionado de procesamiento de datos. En el
paso ST5 se envía luego una petición REQ al nodo servidor de
procesamiento de datos, seleccionado aleatoriamente. Si a la
petición se recibe el mensaje ACK de este nodo servidor de
procesamiento de datos, en el paso D2 de decisión se bifurca al paso
ST6, si se recibe el mensaje DEN, se bifurca al paso D3 de
decisión.
En el paso ST6 se transfiere la dirección del
nodo servidor de procesamiento de datos, seleccionado
aleatoriamente, como dirección S, al módulo TF de programa, con
ello se asigna la tarea a este nodo servidor de procesamiento de
datos. A continuación se pasa al estado Z2 de espera.
En el paso D3 de decisión se comprueba si el
número de los intentos de selección aleatoria de un nodo servidor
de procesamiento de datos ha alcanzado un límite superior fijado de
antemano. Por ejemplo, para un número de 1000 nodos clientes de
procesamiento de datos y de 255 nodos servidores de procesamiento de
datos, es ventajoso limitar el número de intentos de asignación a
4. Si no es este el caso, se pasa al paso ST4, y en caso contrario
al paso ST7. También es posible que sólo se realice una única
asignación aleatoria y, por tanto, se pueda suprimir el paso D3 de
decisión.
En el paso ST7 el módulo ALL de programa
transfiere al módulo TF de programa, un mensaje que indica que en
este momento no es posible ninguna asignación de un nodo servidor de
procesamiento de datos. A continuación se pasa al estado Z2 de
espera. El módulo TF de programa iniciará a continuación un nuevo
intento de asignación, después de un tiempo predeterminado de
espera.
Claims (8)
-
\global\parskip0.930000\baselineskip
1. Procedimiento para distribuir tareas que proceden de uno o varios nodos (C1 a C5) clientes de procesamiento de datos, a cada uno de los nodos servidores de procesamiento de datos, dentro de un grupo de dos o más nodos (S1 a S4) servidores de procesamiento de datos, para el procesamiento, seleccionando un nodo cliente de procesamiento de datos, que tiene que adjudicar una tarea, del grupo, primeramente aquel nodo servidor de procesamiento de datos que, es el siguiente nodo servidor de procesamiento de datos a seleccionar según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, caracterizado porque cuando el nodo servidor de procesamiento de datos a seleccionar primeramente, rehúsa el procesamiento de la tarea, el nodo cliente de procesamiento de datos selecciona del grupo mediante selección aleatoria, otro nodo servidor de procesamiento de datos, para el procesamiento de la tarea, y en caso contrario por el nodo cliente de procesamiento de datos, se transfiere la tarea para el procesamiento, al nodo servidor seleccionado de procesamiento de datos. - 2. Procedimiento según la reivindicación 1, caracterizado porque cuando el nodo servidor de procesamiento de datos, seleccionado mediante selección aleatoria, rehúsa el procesamiento de la tarea, se intenta repetidamente mediante selección aleatoria, seleccionar otro nodo servidor de procesamiento de datos para el procesamiento de la tarea, y distribuye a este la tarea para su procesamiento.
- 3. Procedimiento según alguna de las reivindicaciones 1 ó 2, caracterizado porque por el nodo cliente de procesamiento de datos se selecciona primeramente del grupo, aquel nodo servidor de procesamiento de datos que según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, en comparación con el último nodo servidor de procesamiento de datos al que se transfirió para su procesamiento una tarea por este nodo cliente de procesamiento de datos, es el siguiente nodo servidor de procesamiento de datos a seleccionar.
- 4. Procedimiento según alguna de las reivindicaciones 1 ó 2, caracterizado porque por el nodo cliente de procesamiento de datos se selecciona primeramente del grupo, aquel nodo servidor de procesamiento de datos que según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, en comparación con el último nodo servidor de procesamiento de datos al que se transfirió para su procesamiento una tarea por uno de los nodos clientes de procesamiento de datos, es el siguiente nodo servidor de procesamiento de datos a seleccionar.
- 5. Procedimiento según alguna de las reivindicaciones 1 ó 2, caracterizado porque por el nodo cliente de procesamiento de datos se selecciona primeramente del grupo, aquel nodo servidor de procesamiento de datos que según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, en comparación con el último nodo servidor de procesamiento de datos que se seleccionó cíclicamente por este nodo cliente de procesamiento de datos, es el siguiente nodo servidor de procesamiento de datos a seleccionar.
- 6. Procedimiento según alguna de las reivindicaciones 1 ó 2, caracterizado porque por el nodo cliente de procesamiento de datos se selecciona primeramente del grupo, aquel nodo servidor de procesamiento de datos que según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, en comparación con el último nodo servidor de procesamiento de datos que se seleccionó cíclicamente por uno de los nodos clientes de procesamiento de datos, es el siguiente nodo servidor de procesamiento de datos a seleccionar.
- 7. Sistema (DPS) de procesamiento de datos con uno o con varios nodos (C1 a C5) clientes de procesamiento de datos, que están acondicionados de manera que solicitan el procesamiento de tareas mediante nodos (S1 a S4) servidores de procesamiento de datos, y con un grupo de dos o varios nodos (S1 a S4) servidores de procesamiento de datos que están acondicionados de manera que procesan tareas que se les distribuyen para su procesamiento por los nodos (S1 a S4) servidores de procesamiento de datos,estando provisto cada uno de los nodos (C1 a C5) clientes de procesamiento de datos, con una unidad (ALL) de asignación que está acondicionada de manera que para una tarea a adjudicar por el respectivo nodo cliente de procesamiento de datos, selecciona del grupo, primeramente aquel nodo servidor de procesamiento de datos, que según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, es el siguiente nodo servidor de procesamiento de datos a seleccionar, caracterizado porque cuando el nodo servidor de procesamiento de datos, seleccionado primeramente, rehúsa el procesamiento de la tarea, selecciona mediante selección aleatoria, otro nodo servidor de procesamiento de datos, del grupo, para el procesamiento de la tarea, y en caso contrario asigna la tarea para su procesamiento al nodo servidor seleccionado de procesamiento de datos.
- 8. Medio de almacenamiento en memoria, legible por ordenador, en el que está almacenado un programa que está acondicionado de manera que controla la distribución de tareas a nodos servidores de procesamiento de datos de un grupo de dos o varios nodos servidores de procesamiento de datos, para su procesamiento,estando acondicionado el programa de manera que cuando hay que adjudicar una tarea, selecciona del grupo primeramente aquel nodo servidor de procesamiento de datos, que según una secuencia cíclica predefinida de los nodos servidores de procesamiento de datos, es el siguiente nodo servidor de procesamiento de datos a seleccionar, caracterizado porque cuando el nodo servidor de procesamiento de datos seleccionado primeramente, rehúsa el procesamiento de la tarea, selecciona del grupo mediante selección aleatoria, otro nodo servidor de procesamiento de datos, para el procesamiento de la tarea, y en caso contrario asigna la tarea para su procesamiento, al nodo servidor seleccionado de procesamiento de datos.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19822543A DE19822543A1 (de) | 1998-05-20 | 1998-05-20 | Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium |
DE19822543 | 1998-05-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2302372T3 true ES2302372T3 (es) | 2008-07-01 |
Family
ID=7868342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES99440075T Expired - Lifetime ES2302372T3 (es) | 1998-05-20 | 1999-04-16 | Metodo para la distribucion de tareas de un sistema de procesamiento de datos, nodo cliente de procesamiento de datos y medio de almacenamiento en memoria legible por ordenador. |
Country Status (8)
Country | Link |
---|---|
US (1) | US6725455B2 (es) |
EP (1) | EP0959407B1 (es) |
JP (2) | JP2000029856A (es) |
AT (1) | ATE386977T1 (es) |
AU (1) | AU748321B2 (es) |
CA (1) | CA2270863C (es) |
DE (2) | DE19822543A1 (es) |
ES (1) | ES2302372T3 (es) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6854034B1 (en) | 1999-08-27 | 2005-02-08 | Hitachi, Ltd. | Computer system and a method of assigning a storage device to a computer |
US7886023B1 (en) * | 2000-01-21 | 2011-02-08 | Cisco Technology, Inc. | Method and apparatus for a minimalist approach to implementing server selection |
US7062557B1 (en) * | 2000-07-10 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | Web server request classification system that classifies requests based on user's behaviors and expectations |
US8527639B1 (en) | 2000-08-18 | 2013-09-03 | Cisco Technology, Inc. | Content server selection for accessing content in a content distribution network |
US20020124268A1 (en) * | 2001-01-03 | 2002-09-05 | Aditya Krishnan | Television programming with variable ancillary information |
US20020112043A1 (en) * | 2001-02-13 | 2002-08-15 | Akira Kagami | Method and apparatus for storage on demand service |
US6839815B2 (en) | 2001-05-07 | 2005-01-04 | Hitachi, Ltd. | System and method for storage on demand service in a global SAN environment |
US7281044B2 (en) * | 2002-01-10 | 2007-10-09 | Hitachi, Ltd. | SAN infrastructure on demand service system |
US7996507B2 (en) * | 2002-01-16 | 2011-08-09 | International Business Machines Corporation | Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client |
US7085831B2 (en) * | 2002-01-16 | 2006-08-01 | International Business Machines Corporation | Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client |
US7668899B2 (en) * | 2002-05-07 | 2010-02-23 | Alcatel-Lucent Usa Inc. | Decoupled routing network method and system |
US7085853B2 (en) * | 2002-09-10 | 2006-08-01 | Sun Microsystems, Inc. | System and method for a distributed shell in a java environment |
US7549145B2 (en) * | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
US7496917B2 (en) * | 2003-09-25 | 2009-02-24 | International Business Machines Corporation | Virtual devices using a pluarlity of processors |
US7478390B2 (en) * | 2003-09-25 | 2009-01-13 | International Business Machines Corporation | Task queue management of virtual devices using a plurality of processors |
US7620687B2 (en) * | 2004-06-25 | 2009-11-17 | Telcordia Technologies, Inc. | Distributed request routing |
US20060271935A1 (en) * | 2005-05-31 | 2006-11-30 | Microsoft Corporation | Assignment of clients to tasks in a distributed system |
GB0519981D0 (en) * | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
CN1870636A (zh) * | 2005-11-10 | 2006-11-29 | 华为技术有限公司 | 一种客户端重定向的方法和系统 |
US8813091B2 (en) * | 2008-08-04 | 2014-08-19 | Oracle America, Inc. | Distribution data structures for locality-guided work stealing |
US20120151479A1 (en) | 2010-12-10 | 2012-06-14 | Salesforce.Com, Inc. | Horizontal splitting of tasks within a homogenous pool of virtual machines |
GB2521151B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
GB2521155B (en) | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
US10540207B1 (en) * | 2018-07-18 | 2020-01-21 | International Business Machines Corporation | Fast, low memory, consistent hash using an initial distribution |
CN111435938B (zh) * | 2019-01-14 | 2022-11-29 | 阿里巴巴集团控股有限公司 | 一种数据请求的处理方法、装置及其设备 |
CN113922953B (zh) * | 2021-09-30 | 2023-07-21 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5335308A (en) * | 1976-09-13 | 1978-04-01 | Fujitsu Ltd | Call distribution system |
JP2585535B2 (ja) * | 1986-06-02 | 1997-02-26 | 株式会社日立製作所 | 複合計算機システムにおけるプロセス結合方法 |
US5341477A (en) * | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
JPH0329050A (ja) * | 1989-06-27 | 1991-02-07 | Nec Corp | 負荷配分方式 |
JPH0660043A (ja) * | 1992-08-11 | 1994-03-04 | Nec Corp | 負荷分散制御方式 |
GB2281793A (en) * | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
ES2149794T3 (es) * | 1993-09-24 | 2000-11-16 | Siemens Ag | Procedimiento para compensar la carga en un sistema multiprocesador. |
JPH07152685A (ja) * | 1993-11-26 | 1995-06-16 | Hitachi Ltd | 分散編集制御方式 |
DE4343588A1 (de) * | 1993-12-21 | 1995-06-22 | Sel Alcatel Ag | Verfahren und Einrichtung zur zufälligen Auswahl einer von N gleichen Einheiten, sowie Koppelelement, Koppelnetz und Vermittlungsstelle damit |
JPH07302242A (ja) * | 1994-04-30 | 1995-11-14 | Mitsubishi Electric Corp | 負荷分散方式 |
FR2722591B1 (fr) * | 1994-07-13 | 1996-08-30 | Bull Sa | Systeme informatique ouvert a serveurs multiples |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
JPH09325945A (ja) * | 1996-06-04 | 1997-12-16 | Toshiba Corp | クライアントサーバシステム |
US5956714A (en) * | 1997-08-13 | 1999-09-21 | Southwestern Bell Telephone Company | Queuing system using a relational database |
-
1998
- 1998-05-20 DE DE19822543A patent/DE19822543A1/de not_active Withdrawn
-
1999
- 1999-04-16 ES ES99440075T patent/ES2302372T3/es not_active Expired - Lifetime
- 1999-04-16 AT AT99440075T patent/ATE386977T1/de not_active IP Right Cessation
- 1999-04-16 DE DE59914655T patent/DE59914655D1/de not_active Expired - Lifetime
- 1999-04-16 EP EP99440075A patent/EP0959407B1/de not_active Expired - Lifetime
- 1999-05-04 CA CA002270863A patent/CA2270863C/en not_active Expired - Fee Related
- 1999-05-06 JP JP11125516A patent/JP2000029856A/ja active Pending
- 1999-05-19 US US09/313,981 patent/US6725455B2/en not_active Expired - Lifetime
- 1999-05-19 AU AU30149/99A patent/AU748321B2/en not_active Ceased
-
2009
- 2009-09-25 JP JP2009220032A patent/JP4857374B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0959407A3 (de) | 2004-11-24 |
AU3014999A (en) | 1999-12-02 |
DE19822543A1 (de) | 1999-11-25 |
CA2270863A1 (en) | 1999-11-20 |
EP0959407B1 (de) | 2008-02-20 |
CA2270863C (en) | 2006-10-17 |
JP2009301581A (ja) | 2009-12-24 |
ATE386977T1 (de) | 2008-03-15 |
JP4857374B2 (ja) | 2012-01-18 |
AU748321B2 (en) | 2002-05-30 |
DE59914655D1 (de) | 2008-04-03 |
US6725455B2 (en) | 2004-04-20 |
JP2000029856A (ja) | 2000-01-28 |
EP0959407A2 (de) | 1999-11-24 |
US20030177162A1 (en) | 2003-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2302372T3 (es) | Metodo para la distribucion de tareas de un sistema de procesamiento de datos, nodo cliente de procesamiento de datos y medio de almacenamiento en memoria legible por ordenador. | |
CN101171821B (zh) | 用于使用群集的节点作为授权域名服务器的活跃负载平衡的系统、网络设备、方法 | |
US4922408A (en) | Apparatus for multi-processor communications | |
US5592542A (en) | Call distribution control method and call distribution control system | |
CN1154322C (zh) | 从多个替代服务器中选择一个最近服务器的因特网系统和方法 | |
US5341477A (en) | Broker for computer network server selection | |
CN1954576B (zh) | 处理启动请求的方法、装置和系统 | |
CN102090020A (zh) | 通过在服务插入体系的节点中安装软件使服务动态实例化 | |
AU2004201145A1 (en) | Instant messaging to service bureau | |
CA2406120A1 (en) | Methods and systems for managing virtual addresses for virtual networks | |
CN102132540A (zh) | 网络存储 | |
EP3864824B1 (en) | Methods and apparatuses for balancing utilization of computer resources | |
CN104067578A (zh) | 无分组重排序的动态负载均衡 | |
CN1284094C (zh) | 一种构建分布式并行调度网络服务器系统的方法 | |
CA1263760A (en) | Apparatus for multiprocessor communication | |
US8032658B2 (en) | Computer architecture and process for implementing a virtual vertical perimeter framework for an overloaded CPU having multiple network interfaces | |
US6385175B1 (en) | Method and apparatus for routing service request/agent programs to service provided sites wherein said programs comprise of a list of the sites visited | |
CN1860762A (zh) | 在需要时提供功能特征的方法 | |
CN113301144B (zh) | Nginx服务器的并发访问处理方法、装置、服务器及存储介质 | |
EP1365605A2 (en) | Network access control technique in a cdma system | |
CN113014611B (zh) | 一种负载均衡方法及相关设备 | |
JP3950113B2 (ja) | グリッドシステムにおけるジョブ割付方法、グリッド仲介装置及びそのプログラム | |
JP2004005360A5 (es) | ||
JP2003244249A5 (ja) | 複数のネットワークを用いたファイル転送方法及びそのシステム、該システムを構成する端末装置及びその制御方法 | |
JPH06175984A (ja) | 計算機システムにおける負荷分散方法 |