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 PDF

Info

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
Application number
ES99440075T
Other languages
English (en)
Inventor
Wolfgang Staiger
Rolf Dr. Bauer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Application granted granted Critical
Publication of ES2302372T3 publication Critical patent/ES2302372T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

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)

  1. \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. 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. 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. 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. 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. 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. 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. 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.
ES99440075T 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. Expired - Lifetime ES2302372T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 計算機システムにおける負荷分散方法