IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Diffusion de message dans un graphe d'objet RMI


Sujet :

Développement Web en Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 17
    Points : 18
    Points
    18
    Par défaut Diffusion de message dans un graphe d'objet RMI
    Bonjours,

    Pour un programme que je fait, je doit implementer une diffusion de message dans un "graphe d'objet RMI", pour expliquer un peu, j'ai une topologie en graphe, et chaque noeud represente un objet RMI (qui peut etre distant bien-sur ). lorsqu'un noeud diffuse (envoie) une message il l'envoie alors à tous ses voisins puis chaqu'un des voisins de ce noeud diffusera a son tour le message reçu à tous ses voisins... et ainsi de suite jusqu'a tous les noeud du graphe est reçu le message. et biensur chaque noeud du graphe ne connait uniquement que ses voisins!

    mais je me retrouve face à un probléme, par exemple si le noeud "1" envoie un message à tous ses voisins, alors ces voisins enverront à leur tours le message à leurs message et donc ces voinsins renverront le message au noeud "1" qui lui meme va rediffuser le message... et donc le tous finit en boucle infini !

    donc pour résoudre ça il me faut un moyen pour que qu'un message envoyé par un noeud ne puisse par lui etre retourner, OU alors si un noeud reçoie un message il verifie si le message est un message qu'il vient d'envoyer et donc ne le rediffuse pas !

    malheureusement pour l'instant je n'arrive pas à trouver comment discriminer les message j'ai vu du cotés des hashCode mais c'est pas trés concluant, donc si quelqu'un pouvait me donner un moyer ou une idée pour empecher mon probleme de boucle d'arriver.

    Merci

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tu dois prendre le problème à l'envers. Le nœud va chercher les nouveaux messages chez ses voisins. La diffusion est plus lente mais beaucoup plus efficace pour les gestions d'erreurs, d'engorgement réseau...
    De plus, cela te permet de rendre tes nœuds plus autonomes, ce qui est toujours bon à prendre dans un environnement distribué.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 17
    Points : 18
    Points
    18
    Par défaut
    je suis désolé mais je comprend pas trop ce que vous voulez dire par "c'est le noeud qui va chercher le message chez ses voisins" ?

    et si j'ai un peu compris dans votre marche à suivre, chaque noeud devra en permanance surveillée ces voisin pour voir s'il y a un message ?
    je pense que le fait de dire à un noeud envoie le message à tes voisins reste comme meme le plus intuitif, nn ?

    merci

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par ultimaroms Voir le message
    je suis désolé mais je comprend pas trop ce que vous voulez dire par "c'est le noeud qui va chercher le message chez ses voisins" ?
    Un nœud va régulièrement interroger chacun de ses voisins pour savoir s'il y a des nouveaux messages. A toi de déterminer le laps de temps entre deux interrogations.
    Il suffirait de construire un identifiant unique pour chaque message. Par exemple le nom unique d'un nœud suivi d'un numéro unique de message local au nœud. Ce numéro unique pourrait être un simple incrément sur un entier gérer par le nœud lui-même.
    Le protocole d'échange de messages entre deux nœuds A et B pourrait être :
    1. A -> B : le dernier numéro envoyé était x
    2. B -> A : depuis x, j'ai y nouveaux messages
    3. A -> B : envoyer le message x + 1


    et si j'ai un peu compris dans votre marche à suivre, chaque noeud devra en permanance surveillée ces voisin pour voir s'il y a un message ?
    je pense que le fait de dire à un noeud envoie le message à tes voisins reste comme meme le plus intuitif, nn ?

    merci
    Plus intuitif dans la vie réelle, entre humains. Mais entre machine, ce n'est pas toujours la meilleure technique.
    Je ne connais rien de ton projet, je te propose juste une approche différente. Mais ce n'est peut-être pas du tout adapter à ton problème.
    Mais ma technique résoudrait de facto le problème de bouclage infini sur l'envoi d'un message.

Discussions similaires

  1. Message dans macro envoyer objet avec Access 2002
    Par bibi28 dans le forum VBA Access
    Réponses: 5
    Dernier message: 26/10/2011, 10h47
  2. Talend V3 : Objets de la palette non déplacables dans le graphe
    Par SPincemail dans le forum Installation, migration et administration
    Réponses: 1
    Dernier message: 25/11/2008, 17h27
  3. Retour chariot dans l'inspecteur d'objet
    Par All Jinx dans le forum Composants VCL
    Réponses: 3
    Dernier message: 20/10/2004, 01h28
  4. [Info] Message dans console
    Par coilolo dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 08/07/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo