Gå til innhold

Peer-2-peer løsning for deling av bibliografiske data


Anbefalte innlegg

Hei!

 

Som en del av et universitetsprosjekt skal vi utvikle en p2p basert løsning for å dele bibliografiske data.

Siden gruppa ikke har tidligere erfaring med netverksprogrammering i java, kunne vi ha trengt noen tips, spesiellt til hvilke teknologier vi burde bruke. Her er noen viktige krav:

 

* Ingen sentralisert server.

* Søking og nedlasting av BibTeX referanser (gjerne mulighet for PDF dokumenter også).

* Platform uavhengig (klar over at java er det, men alikevel).

* Skal brukes primært over LAN.

 

Vi har søkt en del rundt, og funnet noen interessante teknologier (Feks JTella, JXTA), men vi har et ganske heftig tidspress, slik at vi ikke har tid til å sette oss inn i de forskjellige teknologiene og så velge det beste. Det er her dere kommer inn.

 

Vi har lov til å bruke "open source" prosjekter. Hvis noen har erfaring med p2p og java, settes det stor pris på all hjelp.

 

mvh

theck1

Lenke til kommentar
Videoannonse
Annonse
Dette er i forbindelse med et bachelor prosjekt på NTNU.

 

Ja, jeg syns det over her var litt merkelig. Er det første uken du er på dette studiet da?

Har du gått mer enn et år så burde du være i full stand til å løse dette selv. Det er uansett ganske vanskelig uansett programmeringspråk å implementere en hel bittorrentklient!!! Jeg håper dere har forutsetning og erfaring nok til å få gjort prosjekte, alltid kjekt å gjøre det bra. Bare ikke velg et prosjekt dere ikke har forutsetninger for å fullføre, sett at dere ikke har valgt prosjekte selv da.

Lenke til kommentar
Dere kan vel sikkert nyte godt av kildekoden til Azureus dersom dere tenker på en bittorrentteknologi. Ellers virker det som om du har bitt over litt mer enn du klarer å tygge her.

 

Det ser igrunn ut som det er du som biter her. P2P er ikke synonymt med bittorrent.

 

Ja, jeg syns det over her var litt merkelig. Er det første uken du er på dette studiet da?

Har du gått mer enn et år så burde du være i full stand til å løse dette selv. Det er uansett ganske vanskelig uansett programmeringspråk å implementere en hel bittorrentklient!!! Jeg håper dere har forutsetning og erfaring nok til å få gjort prosjekte, alltid kjekt å gjøre det bra. Bare ikke velg et prosjekt dere ikke har forutsetninger for å fullføre, sett at dere ikke har valgt prosjekte selv da.

 

Hvorfor er det over her merkelig? Vi spør dere om hvilke p2p teknologi som vil passe -best- til vår oppgave. Selvfølgelig er vi kapable til å utføre dette prosjektet, hvis ikke hadde vi ikke spurt! Og om vi er kapable eller ikke, har igrunn dere ingen ting med. Hva med heller å komme med konstruktive svar istedenfor å spekulere i om vi klarer dette eller ikke.

 

Vi ber dere ikke om å gjøre prosjektet vårt, vi spør om hvilken p2p teknologi som passer best til våre preferanser, da det er en del open source tilbud der ute, sikkert også flere vi ikke har rukket å se på.

 

Så har dere ikke noe konstruktivt å komme med, vennligst ikke post noe i det hele tatt.

 

Er det noe dere lurer på, ikke nøl med å spør. Vennligst unngå svar som ikke har noe som helst med posten å gjøre.

Endret av theck1
Lenke til kommentar

Det var ikke meningen og trakke deg hardt på tærene, tihi. Uansett, ferdige større prosjekter som de du nevner i den første posten vil kreve litt tid på å sitte seg inn i hva dem har å tilby av funksjonalitet. Da må du veie om hva det vil kreve å lage noe eget vs. det å lese dokumentasjonen på noe eksisterende. Stort sett så vil eksisterende løsninger tilby mye mer enn du kanskje har bruk for?

 

Så lenge det kun er "data" som skal deles, er jo ganske enkelt å lage. Spørsmålet blir jo skal du ha større funksjonalitet enn at det er de samme "dataene" å finne i en gitt mappe på flere klienter?

Et nifty GUI med oversikt over andre klienter er jo kanskje skøy å ha med, kanskje chat også. Også en liten del til, hvordan blir dette med NAT siden så få faktisk har en ekstern IP på sin maskin? Det må jo nesten sendes via en server for at det skal være mulig å koble til hverandre?

Hva som gjøres med dataene er jo en annen sak og opp til annen programvare?

Lenke til kommentar
Det var ikke meningen og trakke deg hardt på tærene, tihi. Uansett, ferdige større prosjekter som de du nevner i den første posten vil kreve litt tid på å sitte seg inn i hva dem har å tilby av funksjonalitet. Da må du veie om hva det vil kreve å lage noe eget vs. det å lese dokumentasjonen på noe eksisterende. Stort sett så vil eksisterende løsninger tilby mye mer enn du kanskje har bruk for?

 

Så lenge det kun er "data" som skal deles, er jo ganske enkelt å lage. Spørsmålet blir jo skal du ha større funksjonalitet enn at det er de samme "dataene" å finne i en gitt mappe på flere klienter?

Et nifty GUI med oversikt over andre klienter er jo kanskje skøy å ha med, kanskje chat også. Også en liten del til, hvordan blir dette med NAT siden så få faktisk har en ekstern IP på sin maskin? Det må jo nesten sendes via en server for at det skal være mulig å koble til hverandre?

Hva som gjøres med dataene er jo en annen sak og opp til annen programvare?

 

Ikke for å tråkke deg på tærne, men tviler litt på at du har noe erfaring med nettverksprogrammering i java i det hele tatt. Vi (ja, jeg er med på prosjektet) trenger ikke hjelp til hvilken funksjonalitet vi skal implementere, men vi lurte på om noen hadde ERFARING med nettverksprogrammering, slik at vi kunne få noen tips om hvilken teknologi som passer best for vårt prosjekt. Det at du begynner å snakke om GUI, chat, og til og med en sentralisert server sier det meste. Vi setter stor pris på all hjelp vi kan få(men svar på spørsmålet)!

Lenke til kommentar

Haha jeg nei, jeg starter ikke på informatikk før til høsten. :wee: Og nei, jeg har aldri laget noe som helst i java. :wee: On-topic: Nei, lykke til med det. Du leiter etter en bruker som kan java i den grad at vedkommende enten må ha en master eller jobbe med det til daglig. Og det er ikke mange brukere, om det eksisterer noen i det hele tatt. Tror dere har nok peiling til å lage dette, ikke vent på input. Det er bare å komme igang.

Lenke til kommentar
java i den grad at vedkommende enten må ha en master eller jobbe med det til daglig

... det finnes nok endel brukere på forumet som har det ja.

 

På den andre siden så er det vel ikke så mange som har de spesifike kunnskapene det spørres om her.

 

Utfra hva jeg fant av info om JXTA og JTella, så JXTA ut til å være teknologien dere burde gå for. Det var ihvertfall lett å finne eksempler og annen info om JXTA. Utover det så har jeg ikke noe særlig spesifik kunnskap om P2P nettverk.

Endret av blackbrrd
Lenke til kommentar

Jeg så posten deres den dagen den ble postet og spørsmålet deres fikk meg til å undre litt på det samme, "Kjenner jeg til noen form for p2p teknologi bortsett fra den teknologien vi alle er kjent med, og hvilken av denne teknologien har open-source klienter å bruke som eksempler"

 

Svaret mitt er vel egentlig nei, jeg kjenner ingen enkel løsning der. Jeg ser at source-forge gir meg endel resultater, men ingen som jeg er kjent med. Etter hva jeg forstår så er ikke poenget med oppgaven nettverksbiten for ellers ville dere vel lagd deres egen protokoll?

 

Men hvis protokollen ikke skal være så meget avansert er det kanskje mere lønnsomt å satse på å lage en egen istedet for å bruke tid på å sette seg inn i en protokoll dere ikke kjenner. Eller kanskje, bruk ftp protokollen som eksempel men endre den til p2p. Fordelen med ftp er at den er såre simpel, mens de fleste andre kjente protokoller som msn og lignende bruker desentraliserte servere og er litt tricky å sette seg inn i.

 

http://en.wikipedia.org/wiki/Peer-to-peer

på midten av siden vil dere finne en liste over kjente protokoller og er

det en liste over kjente klienter som bruker disse protokollene.

Endret av aC
Lenke til kommentar
Det var ikke meningen og trakke deg hardt på tærene, tihi. Uansett, ferdige større prosjekter som de du nevner i den første posten vil kreve litt tid på å sitte seg inn i hva dem har å tilby av funksjonalitet. Da må du veie om hva det vil kreve å lage noe eget vs. det å lese dokumentasjonen på noe eksisterende. Stort sett så vil eksisterende løsninger tilby mye mer enn du kanskje har bruk for?

 

Så lenge det kun er "data" som skal deles, er jo ganske enkelt å lage. Spørsmålet blir jo skal du ha større funksjonalitet enn at det er de samme "dataene" å finne i en gitt mappe på flere klienter?

Et nifty GUI med oversikt over andre klienter er jo kanskje skøy å ha med, kanskje chat også. Også en liten del til, hvordan blir dette med NAT siden så få faktisk har en ekstern IP på sin maskin? Det må jo nesten sendes via en server for at det skal være mulig å koble til hverandre?

Hva som gjøres med dataene er jo en annen sak og opp til annen programvare?

 

Du behøver ikke sende dataene via en server, du kan ha flere. Det er endel av poenget i et P2P nettverk, dvs at alle/mange av de som er koblet til nettverket fungerer som både server og klient.

Lenke til kommentar

Det er kun klienter som har en public ip/port som kan opprette koblinger mellom to klienter som er bak NAT ja, men etter at koblingen er satt opp så trenger de ikke serveren lenger. Hvis du har f.eks 50 servere som kan opprette koblingene og 5000 klienter så ser jeg ikke helt problemet.

 

Du kan jo teste hamachi selv og se hvordan du synes det fungerer? http://www.hamachi.cc

 

Hamachi is a UDP-based virtual private networking system. Its peers are helped by a third node called a mediation server to locate each other and to bootstrap the connection between them. The connection itself is direct and, once established, no traffic flows through our servers.

 

Hamachi is not just truly peer-to-peer; it is verifiably secure peer-to-peer.

 

Hamachi is able to successfully mediate p2p connections in roughly 95% of all cases. This includes peers residing behind various firewalls or broadband routers (aka NAT devices).

Endret av blackbrrd
Lenke til kommentar
Jeg så posten deres den dagen den ble postet og spørsmålet deres fikk meg til å undre litt på det samme, "Kjenner jeg til noen form for p2p teknologi bortsett fra den teknologien vi alle er kjent med, og hvilken av denne teknologien har open-source klienter å bruke som eksempler"

 

Svaret mitt er vel egentlig nei, jeg kjenner ingen enkel løsning der. Jeg ser at source-forge gir meg endel resultater, men ingen som jeg er kjent med. Etter hva jeg forstår så er ikke poenget med oppgaven nettverksbiten for ellers ville dere vel lagd deres egen protokoll?

 

Men hvis protokollen ikke skal være så meget avansert er det kanskje mere lønnsomt å satse på å lage en egen istedet for å bruke tid på å sette seg inn i en protokoll dere ikke kjenner. Eller kanskje, bruk ftp protokollen som eksempel men endre den til p2p. Fordelen med ftp er at den er såre simpel, mens de fleste andre kjente protokoller som msn og lignende bruker desentraliserte servere og er litt tricky å sette seg inn i.

 

http://en.wikipedia.org/wiki/Peer-to-peer

på midten av siden vil dere finne en liste over kjente protokoller og er

det en liste over kjente klienter som bruker disse protokollene.

Der har vi en som har forstått vår problemstilling :D Som du har forstått, er ikke selve poenget med oppgaven nettverksbiten(selv om den er viktig for hele prosjektet). Takker for input(også til deg blackbrrd)!

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...