Un buon meccanismo di ricerca permette agli utenti di localizzare i dati in maniera efficiente. esso comprende diversi aspetti:

  • topologia:definisce come i nodi sono connessi tra di loro.
    Adottando una rigida topologia (es. centralizzata) si incrementa l'efficienza della rete, ma si restringe l'autonomia dei nodi.
  • distribuzione risorse: definisce come i dati sono distribuiti nella rete di utenti. In Gnutella per esempio ogni nodo mantiene i propri dati. Nelle reti decentralizzate a cluster i dati sono centralizzati in un piccolo numero di nodi, detti supernodi.
  • routing di messaggi: definisce come i messaggi sono propagati attraverso la rete. Quando un nodo effettua una richiesta, il messaggio di richiesta viene spedito ad un certo numero di nodi "vicini" (corrispondente al numero di nodi con il quale e' connesso). Quando e come i messaggi sono spediti dipende dal protocollo di routing. Spesso il protocollo di routing trae vantaggio a seconda della topologia di rete e dalla distribuzione delle risorse per ridurre il numero di messaggi spediti.
  • Connessioni

    Un'aspetto fondamentale in una rete peer to peer per comprendere come avviene la ricerca di una risorsa e' quello di distinguere le diverse connessioni che si stabiliscono tra i nodi della rete. Esistono due diverse connessioni tra i nodi:
  • connessioni strutturali
  • connessioni dirette

  • A seconda della connessione che si stabilisce tra i nodi vengono spediti e ricevuti diversi messaggi.
    Le connessioni strutturali definiscono gli archi che collegano i nodi di una rete. Queste connessioni servono al routing dei messaggi, cioe' a stabilire quale percorso devono seguire i messaggi. Aperta la connessione un nodo spedisce messaggi contenenti la richiesta di una risorsa(file musicali in Napster, di qualsiasi genere negli altri sistemi) ad uno o a piu' nodi vicini della rete.

    Le connessioni dirette servono invece a connettere due nodi per il tempo necessario al trasferimento della risorsa. In genere vengono gestite al di fuori della rete, ma alcune architetture (es. Freenet) scelgono di gestirle al suo interno appesantendo inutilmente la rete. I messaggi spediti contengono l'indirizzo IP del nodo mittente e la risorsa richiesta dal nodo destinatario.





    Articoli:


    Routing Indices For Peer-to-Peer Systems

    Ad hoc, self-supervising peer-to-peer search network

    SIL: Modeling and Measuring Scalable Peer-to-Peer Search Networks