When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node ("instigator") when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node ("observer") receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity. After each instigator node receives all the proposals in the arbitration cycle, it determines whether it is the winner of the arbitration cycle and broadcasts a closure message if it is. Each node determines an order in which to apply the changes proposed in the arbitration cycle when it knows it has received all the proposals in the arbitration cycle as determined by the sending or receiving of the closure message. Because each arbitration cycle is associated with a particular entity, multiple arbitration cycles associated with different items can be running concurrently in the network but multiple arbitration cycles for the same item must be executed serially. The arbitration process is executed even if there is only one proposal made in an arbitration cycle since the arbitration process enables the orderly propagation of changes across all the nodes that share the entity.

Quand les noeuds multiples dans un réseau informatique exécutent le travail sur une entité partagée, telle qu'un disque de base de données, un processus d'arbitrage est employé pour assurer des changements faits par plus d'un noeud aux mêmes données est propagé à chacun des noeuds tenant l'entité partagée et que les changements sont appliqués du même ordre sur chacun des noeuds. Un cycle d'arbitrage pour une entité particulière est commencé sur un noeud ("instigateur") quand le noeud annonce un message de proposition pour un changement à l'entité aux autres noeuds ou quand le noeud ("observateur") reçoit un tel message de proposition. Les noeuds multiples peuvent être des instigateurs pendant un cycle simple d'arbitrage. Chaque noeud qui reçoit un message de proposition envoie un message de réponse à l'instigateur correspondant. Le cycle d'arbitrage est fermé aux messages additionnels de proposition après qu'un instigateur ait reçu des réponses de tous les noeuds qui partagent l'entité. Après que chaque noeud d'instigateur reçoive le tout les propositions dans l'arbitrage font un cycle, il détermine si c'est le gagnant du cycle d'arbitrage et annonce un message de fermeture s'il est. Chaque noeud détermine un ordre dans lequel pour appliquer les changements a proposé dans le cycle d'arbitrage quand il sait qu'il a reçu toutes les propositions dans le cycle d'arbitrage comme déterminé par l'envoi ou la réception du message de fermeture. Puisque chaque cycle d'arbitrage est associé à une entité particulière, les cycles multiples d'arbitrage liés à différents articles peuvent fonctionner concurremment dans le réseau mais des cycles multiples d'arbitrage pour le même article doivent être exécutés en série. Le processus d'arbitrage est exécuté même s'il y a seulement une proposition faite dans un cycle d'arbitrage puisque le processus d'arbitrage permet la propagation ordonnée des changements à travers tous les noeuds qui partagent l'entité.

 
Web www.patentalert.com

< (none)

< Method of controlling software applications specific to a group of users

> Targeted advertising over global computer networks

> (none)

~ 00059