Rambo megmenti a hálózatokat is
További Szoftver cikkek
A problémával már legalább a 2000-es évek eleje óta foglalkoznak, az MIT-n például 2001-ben indítottak egy, a bizonytalan hálózatok stabilizálását, megosztott, „kollektív” memóriával való működtetetésük kivitelezését célzó hosszútávú projektet.
Kollektív memória
A főként az Egyesült Államok Nemzeti Tudományos Alapítványa által finanszírozott kezdeményezés résztvevői eredetileg katonai hálózatokban, hadászati szituációkban gondolkodtak; talán innen a fura rövidítéses elnevezés is: RAMBO (Reconfigurable Atomic Memory for Basic Objects).
A rendszer összetevőinek bármikor, bárhol, bármely körülmények között hozzá kell férniük a kritikus információhoz. Az elv és a kidolgozott módszerek természetesen többféle, nemcsak katonai hálózatban alkalmazhatók: szenzorok, mobil eszközök, internetes p2p szolgáltatások, szerverfarmok...
Olyan esetekből indultak ki, amikor az ellenséges területen tartózkodó katonáknak körülbelül egy hétig meg kell védeniük egy kis falut. Annak ellenére, hogy a járőrözők személye, a csoport összeállítása állandóan változik, mindig a legfrissebb információval kell rendelkezniük: a falu melyik része veszélyes, melyik biztonságos stb. Ezekben a szituációkban nem férnek hozzá a friss információt tároló központi szerverekhez, úgyhogy olyan rendszerre lenne szükség, amely a járőrcsapat személyi összetételétől függetlenül a legtávolabbi pontokra is eljuttatja a szükséges – percre kész – adatokat. A rendszert természetesen úgy célszerű tervezni, hogy más területeken is lehessen alkalmazni.
Ha a hálózat egyik tagja, ahelyett, hogy szerveren tárolná, frissíti az információt, RAMBO a hálózat több eleméhez küld másolatot róla. Többhöz, a többséghez, de nem az összeshez. Ugyanez fordítva is működik: ha valamelyik eszköznek kell egy adat, a hálózat többi, de nem az összes tagjától szerzi be. Azért nincs szüksége mindegyikre, mert a másolattal többen rendelkeznek, azaz, ha például ötből hárommal próbálkozik, egynél biztos sikerrel jár.
Mikor kell az összetevőknek koordinálni, mikor nem?
Problémák akkor jelentkeznek, ha a hálózat struktúrája megváltozik: például, ha az említett három eszközből kettőt kivesznek, máris oda a garancia. Ugyanez történik, ha a rendszerhez az információval nem rendelkező két új elemet kapcsolnak.
RAMBO megoldása a többség-alapú elosztott memóriákra (majority-based distributed memory systems): speciális algoritmusai felismerik a változásokat, és az adatokat bemásolják az új eszközökre. Korábban offline, kikapcsolt állapotban történő kivitelezésben gondolkoztak, a rendszer online rekonfigurálására nem ötöltek ki épkézláb javaslatokat. RAMBO ezen a téren is áttörést eredményezhet.
Memória- és rekonfigurációs rendszere ellentétes problémákat is képes megoldani. Előbbit úgy tervezik, hogy a hálózat összes eleme képes legyen autonóm módon információt tárolni és kezelni, a „többséggel” kommunikálni, viszont nem kell törődnie pillanatnyi aktivitásukkal, állapotukkal. Adatokat küld nekik, adatokat fogad tőlük. Ezzel szemben, a rekonfigurációs rendszer csak akkor működik jól, ha a hálózat egészként cselekszik, hoz döntéseket. Például, ha a szélen lévő egyik eszköz újakat észlel a közelében, a többiek értesítése nélkül hasznosíthatja azokat. Rekonfigurálásnál viszont koordinációra van szükség közöttük. Mindez azt is jelenti, hogy RAMBO különböző változatokban kivitelezhető, eltérő típusú hálózatokra optimalizálható.
Az MIT-n, a Connecticut Egyetemen és az izraeli Technionban három újabb megoldáson dolgoznak: vezeték nélküli hálózatokra történő implementáción, internetes fájlmegosztásra való alkalmazáson, illetve egy olyan továbbfejlesztett változaton, amely a rendszer elemeinek koordinációja nélkül rekonfigurálja önmagát.