Matteo 'Ndwr' Russo

...because there are no days without revolutions.
* Notizie* Lavori* Progetti   * Construct   * Tess   * Opengroups      * CCP      * SCP   * VES      * SS      * ES   * AS   * DMS      * TS   * TPL   * RVD   * CL      * libCGL      * libCSL      * libMixer      * libCTL      * libCIL      * libCVL   * RCGV   * RU1* Pensieri e Articoli* Macchine* Contatti

 

Radioattività ambientale
Zona: Venezia, Italia
Tipo: Radiazioni ionizzanti β/γ

 0.00%

Corrente: 0 μSv/h
Media annuale: 0.00 μSv/h
Accumulo annuale: 0.000 mSv

* Spazio   * Sistemi di lancio      * I razzi sonda      * Delta II      * Soyuz-U      * Soyuz      * Soyuz-FG      * Soyuz-2   * ACE      * Strumentazione         * MAG         * SWEPAM         * SIS         * EPAM      * Locazione   * SOHO      * Antenne HGA/LGA      * Strumentazione         * EIT            * CCD         * LASCO         * MDI   * STEREO      * Strumentazione   * AMS-01   * AMS-02      * Strumentazione      * Materia oscura   * EOS AM-1      * Strumentazione         * MODIS
 
http://ndwr.net --> Progetti --> DMS
 

DMS, Decentralized Messaging System (dmsd)

2006 ~ Oggi
Dipendenze: CL


Introduzione

DMS è un sistema di messaggistica che consente la creazione di reti capaci di tenere in comunicazione infiniti client tramite una infrastruttura di server interconnessi tra loro.
I messaggi smistati possono contenere dati testuali o binari. La funzione principale di ogni DMS consiste nell'adattarsi alla rete di cui fa parte e preoccuparsi della gestione e instradamento dei messaggi ricevuti. Il servizio viene offerto attraverso un protocollo estremamente leggero che consente il suo utilizzo anche in estreme situazioni di traffico.
Il server, oltre a preoccuparsi del servizio di smistamento e recapito messaggi gestisce le liste utenti, le informazioni estese relative ad ogni utente e la sincronizzazione tra i server del gruppo in cui risiede.
Come gruppo si intende un raggruppamento di DMS, i quali riescono a recapitare messaggi provenienti da determinati server, a client connessi a server differenti che sono parte della stessa rete.

Un unico client di autenticazione AS può essere condiviso tra più DMS. La gestione centralizzata dei dati di accesso consente la conservazione e manutenzione di dati unici, condivisi tra tutti i server connessi.

DMS nasce come progetto di rete totalmente dinamico e adattabile.
Il progetto si propone di creare un sistema autonomo e stabile di interconnessione globale dove ogni client in versione multipiattaforma possa connettersi liberamente utilizzando qualsiasi tipo di mezzo a disposizione, senza limitazione di servizio e senza controllo, grazie a una gestione euristica del traffico dati, basata su algoritmi appositamente studiati e ancora in via di sviluppo.
Le vaste opzioni di configurazione presenti su DMS consentono di creare una rete decentralizzata di scambio messaggi. L'avanzata gestione del traffico consente ai vari componenti della rete di sincronizzarsi e scambiare le informazioni conoscendo in tempo reale il percorso migliore per ogni messaggio, anche in caso di problemi dovuti all'esclusione di uno o più sistemi a causa di manutenzioni o eventi improvvisi.


Percorso dinamico

Ogni DMS conosce soltanto il percorso successivo per il recapito di un messaggio ad un determinato utente, pertanto ogni DMS fa parte di una rete ma non conosce la sua reale estensione, si limita soltanto ad effettuare il recapito al nodo successivo e il nodo successivo effettua la stessa procedura, cosi come i nodi adiacenti ad esso, finché il messaggio non arriva a destinazione.
Ogni passaggio viene segnato in una struttura dati, allegata al messaggio, che raccoglie le informazioni di un nodo quando un messaggio passa attraverso quest'ultimo; l'ultimo nodo di recapito, dopo aver consegnato il messaggio all'utente di destinazione, o dopo essere arrivato ad un nodo di fine percorso, effettua il percorso contrario restituendo la struttura dei passaggi al mittente del messaggio (acknowledge). Questo consente di conoscere il percorso effettuato dal messaggio e verificare non solo il percorso effettuato, ma anche i tempi di latenza e gli eventuali errori accumulati.


Sincronizzazione

I nodi sincronizzano tra di loro le informazioni ricevute dagli utenti; questo avviene durante la procedura di connessione di un nuovo utente, quando una determinata serie di dati cambia per conto di un utente, quando un nodo contenente nuove informazioni su connette, oppure quando un nodo a causa di problemi di rete diventa inconsistente. La corretta sincronizzazione è garantita da un tempo di sincronia interno della rete, che viene salvato e mantenuto nel tempo, e con il quale sono segnati tutti i dati di interscambio.


Interconnessione

Ogni DMS può fornire entrambi i servizi di connessione nodo sia in entrata (cluster server) che in uscita (cluster client).
Non ha importanza la direzione della connessione, ogni nodo può essere connesso ad un altro nodo sia per connessione ricevuta (server locale <- client remoto) sia per connessione inoltrata (client locale -> server remoto). A connessione avvenuta i server che l'hanno stabilita inizieranno a dialogare allo stesso modo in entrambe le direzioni.
Questo sistema consente di avere la massima libertà di interconnessione tra diversi DMS, anche in caso la configurazione della rete non consenta il collegamento da reti esterne ma solo da reti interne verso reti esterne.

Ogni nodo può agire da servizio di connessione per i client, e in relazione alle associazioni stabilite da ogni client con altri client si occupa di regolare l'interscambio di messaggi all'interno della rete.

Un nodo non è soltanto responsabile dei client ad esso connessi, ma anche dei nodi adiacenti ad esso, essendo appunto responsabile dei dati che recapita per conto di essi. Questo metodo permette collaborazione, decentralizzazione ma non esclude una velocità di esecuzione in caso di esclusione di un determinato nodo da una determinata rete; l'esclusione può essere effettuata agendo sul sistema di autenticazione distribuito oppure escludendo il nodo dal percorso di una determinata serie di dati, essendo ogni serie di dati configurabile con percorsi preferenziali.


Servizi utilizzanti DMS

I progetti che utilizzano il sistema DMS sono: DMS (client e server), VES (AS, SS e ES), TPL, RVD, le estensioni di Construct (VES, RCGV, DMS), il modulo Bridge di SCP per lo scambio di dati tra interfaccia e sistemi remoti.