Agora Center INNOVATIONS IN BUSINESS, COMMUNICATION AND TECHNOLOGY 2004 (InBCT 2004) Jyväskylän yliopisto
InBCT Raportit yms/Papers
 
 
Prof. Dr Jarkko Vuori Jarkko Vuori, Annemari Auvinen & Mikko Vapa
Prof., Dr. Jarkko Vuori Jarkko Vuori, Annemari Auvinen & Mikko Vapa

InBCT 2004: Peer-to-Peer Computing

Tutkimustiimi: vastuuvetäjä, prof. tekn.tri Jarkko Vuori; tutkijat Annemari Auvinen, Oscar Ribeiro Arturo, Matthew Kam, Niko Kotilainen, Sergiy Nazarko, Miika Pekkarinen, Anne Setämaa, Joni Töyrylä, Mikko Vapa ja Jukka Viinikainen

Lähtökohta

Peer-to-peer (P2P-verkot, vertaisverkot) tarkoitetaan verkon solmupisteiden kommunikointia keskenään ilman keskitettyä hallintaa. P2P-tyyppisen kommunikoinnin edut ovat ei tarvetta konfiguroinnille ja vikasietoisuus. Omimmillaan P2P-verkot ovat hitaassa ja spontaanissa tietoliikenteessä. Yhä pienempien yksiköiden saadessa teknologian halventuessa kommunikointimahdollisuuden, tarvetta spontaanille, konfiguroimattomalle tietoliikenteelle lisääntyy. Esimerkiksi tuotantolaitoksessa operoijan kännykkä voi olla yhteydessä ympäristön toimilaitteisiin spontaanisti (tarkistaen niiden tilan) P2P-verkon avulla.

P2P-tekniikka kiinteissä verkoissa ovat kehittyneet voimakkaasti. Tämä on johtunut pääosin digitaalisen audiovisuaalisen materiaalin välitykseen erikoistuneiden ohjelmien kuten Napsterin ja Gnutellan ansiosta. Muitakin järjestelmiä tiedon hajauttamiseen on kehitetty, kuten dokumenttien nimettömään varastointiin tehty Freenet. Tällä hetkellä tutkitaan myös laskennan hajauttamista P2P-verkkojen käyttöön, josta esimerkkinä on P2P-laskentasovellus Legion. P2P-laskentaverkkosovellukset voidaan nähdä ulospäin yhtenä moniprosessorijärjestelmänä, joka koostuu kuitenkin useista eri tietokoneista erityyppisten tiedonsiirtoyhteyksien päässä.

Aivan uusi sovellusmahdollisuus on P2P-verkkojen tuominen liikkuvien päätelaitteiden ympäristöön. Tällaisessa ympäristössä päätelaitteet kohtaavat satunnaisesti toisia päätelaitteita. Samanaikaisesti päätelaitteeseen voi olla yhteydessä useampia muita päätelaitteita (esim. Bluetooth-tekniikalla), mutta kaikki verkon päätelaitteet eivät olet suoranaisesti yhteydessä - ei edes päätelaitteiden yli kulkevan reitin kautta (verkko ei siis ole Ad Hoc -tyyppinen verkko). Päätelaitteet voivat kuitenkin muodostaa tietoa välittävän verkon vaikka kaikki päätelaitteet eivät olisikaan välittömässä yhteydessä toisiinsa. Riittää että päätelaite kohtaa riittävän useita toisia päätelaitteita liikkuessaan. Näin päätelaitteet voivat välittää tietoa. Verkon kapasiteetti on huomattavasti Ad Hoc -tyyppistä verkkoa alhaisempi, mutta kuitenkin riittävä moniin kiinnostaviin sovelluksiin.

Ohjelmistojen hallitsemista ajatellen hajautus on järkevintä toteuttaa siten että varsinainen sovellus on erillisen P2P-hajautusalustan päällä. Näin sovelluksessa ei tarvitse ottaa kovinkaan paljon huomioon hajautuksen yksityiskohtia ja toisaalta P2P-kerroksessa ei tarvitse huomioida sovellukselle kuuluvia asioita. Voisi hyvin ajatella että mobiileissa päätelaitteissa olisi standardi P2P-liityntärajapinta johon sovellukset voisivat sitten nojautua. Päätelaitteiden valmistajalle tämä on kiintoisa mahdollisuus; P2P-verkkojen kautta kännyköille tulee sovelluksia jotka haluavat yhä enemmän päätelaitteelta laskenta- ja tallennuskapasiteettia, jolloin päätelaitteiden uusimisintervalli lyhenee.

Mikäli päätelaitteessa tarvitaan suurempaa välityskapasiteettia kuin P2P-verkko kykenee tarjoamaan, tai mikäli päätelaitteiden tiheys ei ole tarpeeksi suuri, tarvitaan perinteisiä yhteyksiä. P2P-sovellus toimii ikään kuin halpana sisäänheittäjänä lukuisille mielenkiintoisille mobiileille palveluille.

P2P-tyyppistä laskennan ja tiedon hajauttamista kiinteissä verkoissa on tutkittu jo jonkin aikaa, mutta esitetyt ratkaisut ovat vielä varsin spesifejä. P2P-verkkojen sovellukset mobiilissa ympäristössä ovat vielä täysin auki.

Jo tehty tutkimus

InBCT 3.2 -hankkeessa on toteutettu P2P-hajautusalusta Chedar jonka päälle on tehty hajautettu datafuusiosovellus. Lisäksi on tehty tutkimusta resurssien löytämisestä P2P-verkosta, tästä on yksi käsikirjoitus lehtiartikkelia varten valmistunut. Tutkimusryhmä on saanut erittäin käyttökelpoista tietoa P2P-verkkojen käyttäytymisestä lähinnä hitaasti muuttuvilla yhteyksillä.

Tavoite

Tässä jatkohankkeessa tutkitaan laskennan ja tietokannan hajauttamista mobiiliin päätelaiteympäristöön, useille, tasa-arvoisille päätelaitteille. Tämäntyyppistä laskentaa kutsutaan Peer-to-Peer (P2P) laskennaksi. P2P-laskennassa ei ole lainkaan Master-yksikköä joka huolehtisi järjestelmän toiminnasta, vaan myös kaikki ylläpitoon tarvittavat toiminnallisuudetkin (esim. tehtävien jako) on hajautettu. Lisäksi yhteydet voivat olla ajoittaisia, ts. riippuvaisia päätelaitteen sijainnista. Ratkaisun etuna on vikasietoisuus ja ylläpidon helppous. Haittana on taas hallinta-algoritmien monimutkaisuus ja suurempi resurssien tarve.

Tässä tutkimuksessa kehitettävää P2P-alustaa, CheDAr (A Cheap Distributed Architecture) on tarkoitus kokeilla todellisessa mobiilissa verkkoympäristössä. Näin voidaan testata alustan toimintaa todellisessa ympäristössä ja optimoida hajautusalgoritmien toimintaa verkon kuormitusta silmälläpitäen.

Tavoitteena on toteuttaa Java-ympäristöön komponenttikirjasto, jonka avulla hajautus hallitaan ja alusta toimii eri ympäristöissä. Näiden komponenttien funktioiden avulla verkkoon voidaan lisätä tehtäviä ja eri laskentayksiköt voivat viestiä toistensa kanssa. Tehtävänä on aluksi tutkia algoritmeja verkon topologian älykkääseen muodostamiseen, ad hoc -reititykseen sekä kuormituksen tasaamiseen. Kun algoritmit on määritelty, suunnitellaan asiaan kuuluva ohjausalgoritmi, tietokannat ja protokollat, joiden avulla laskentayksiköt kommunikoivat toistensa kanssa ja jakavat laskentatehtäviä.

Tutkimuksellisesti esitettävässä projektissa on uutta:

Tasa-arvoinen laskentaympäristö, P2P computing (Peer-to-Peer). Laskentasolmut jakavat yhteisönä laskentatehtävän. Hajautettua laskentaa on ollut jo pitkään, mutta täysin tasa-arvoinen laskenta on varsin tuore konsepti (ensimmäinen alan konferenssi pidettiin vuoden 2001 keväällä). Kuinka tehtävä käytännössä ositetaan ja jaetaan? Kuinka laskentasolmujen väliset tietoliikenneyhteydet vaikuttavat? Kuinka osallistuvat resurssit löydetään?

P2P-laskenta mobiilissa päätelaiteverkossa. Uusi sovellusalue josta tutkimusta erittäin vähän tehty. Mikä on päätelaitteiden tiheyden ja tiedonvälityskapasiteetin yhteys? Mitä vaikuttaa päätelaitteiden välisen yhteyden muodostusnopeus? Kuinka tehokkaasti menetelmä välittää informaatiota? Entä tietoturva jos joku tahallaan välittää väärää tietoa?

Tietojen hajautus laskentasolmujen verkkoon, jotta laskentasolmujen tarvitsemat tiedot ovat tehokkaasti saatavilla ja yksittäisten solmujen vikaantuminen ei aiheuta tiedon häviämistä. Kuinka käynnissä oleva tehtävä voidaan siirtää vikatilanteissa toiselle? Voidaanko prosessointia optimoida muuttamalla verkkotopologiaa laskennan aikana? Miten käsitellä tehtäviä, joiden prosessoinnin tarve ei ole koko ajan vakio?

Verkon topologian muodostaminen vikasietoisesti (scale-free verkot) käyttäen periaatetta, jossa suurempi kapasiteettiset ja luotettavammat laskentasolmut saavuttavat verkossa enemmän linkkejä kuin pienempi kapasiteettiset. Topologian muodostaminen voidaan toteuttaa solmujen kuntoon (fitness) perustuvalla menetelmällä. Kuinka kuntoluokitus muodostetaan? Kuinka solmu löytää oman optimaalisen paikkansa liittyessään verkkoon?

Toimenpiteet

Tutkimustyö pohjautuu InBCT 3.2 projektin tuloksiin. Työn alussa määritellään mobiilin ympäristön eroavaisuudet verrattuna kiinteisiin verkkoihin perustuvaan ympäristöön. Näistä eroavaisuuksista evaluoidaan merkittävimmät ja näitä kriteereitä vastaan tutkitaan Chedar-ympäristön käyttökelpoisuus. Etsitään kohteet joissa tarvitaan muutoksia. Tämän jälkeen suunnitellaan hajautuspalvelut. Hajautusverkkorajapinta tarjoaa seuraavat palvelut: osoitteistus, verkkotopologia, reititys, point-to-point, broadcast ja multicast -yhteydet toisiin CheDAr solmuihin sekä ennusteet verkon tilanteesta.

Näiden päälle toteutetaan ohjelmointirajapinta joka tarjoaa seuraavat palvelut: agenttien välinen kommunikointi, laskenta-agentti (laskentaongelman arviointi, pilkkominen, myynti ja laskenta), laskenta-agenttien aikataulutus, tiedonsiirtoagentti, agenttien replikointi ja agenttien turvaaminen.

Lopuksi toteutetaan testisovellus jonka avulla evaluoidaan P2P-alustan toimivuus.

Jatkokehitysideoita

  • Hajautusalustan toimivuuden testaaminen suuressa päätelaitekokonaisuudessa.
  • Hajautusalustan soveltaminen tietomurtoyritysten tunnistamiseen ja tilastointiin.
  • Semantisen Webin ja P2P:n integrointi

Kevät 2004

  • Mobiiliympäristön erityispiirteiden (verrattuna kiinteisiin verkkoihin P2P:n kannalta) selvittäminen
  • CheDAr-järjestelmän rakenteen analyysi mobiiliuden kannalta
  • Mobiili P2P-alustan suunnittelu

Syksy 2004

  • Alustan toteutus ja testaus
  • Järjestelmätason kuvaus Mobiili-Chedar-hajautusalustasta

Lisätietoja yms.:
More Information etc.:

Jarkko Vuori: InBCT 3.2 - Selvitys vuodelta 2003 (DOC, 35 KB).

Jarkko Vuori: InBCT 3.2 Peer-to-Peer communication/computation Cheese Factory -project (PPT, 798.5 KB) (Introduction in Finnish)

Jarkko Vuori: InBCT 3.2 Peer-to-Peer communication/computation Cheese Factory -project (PPT, 839 KB) (Introduction in English)

Sergiy Nazarko: Evaluation of Data Fusion Methods using Kalman Filtering and Transferable Belief Model (PDF, 1.6 MB), Master's Thesis, 28.11.2002

Sergiy Nazarko: Distributed Data Fusion in Peer-to-Peer Environment (PPT, 458 KB)

Vira Smirnova: Multi-Agent System for Distributed Data Fusion in Peer-to-Peer Environment (PDF, 898.1 KB), Master's Thesis, 28.11.2002.

Mikko Vapa & Matthieu Weber: Chedar - User Stories (PDF, 113.1 KB)

Mikko Vapa: Power-Law Networks (PPT, 743 KB)

Matthieu Weber: Chedar - Peer-to-Peer Platform (PDF, 53.4 KB) (Seminar 13.3.2003)

Kotilainen N., Introduction to Peer-to-Peer Studio (PPT, 103 KB).

Jarkko Vuori: P2P (PPT, 663.5 KB)

Dr. Jarkko Vuori

Cheese Factory

datafuusio.ppt (PPT, 34 KB)

InBCT 2004 Peer-to-Peer Computing/Cheese Factory tilanneraportti 23.06.2004 (DOC, 43 KB)

 

 
Agora Center