BitTorrent technológia
Az operációs rendszerekben általában egy nagyon egyszeru letöltésvezérlo található, aminek rengeteg hiányossága van. Ha megszakad egy éppen folyamatban lévo letöltés, akkor azt nem tudjuk folytani és kezdhetjük elolrol. De félbehagyni sem tudjuk, hogy esetleg másnap folytassuk. Ez foként nagy méretu fájloknál idegesíto. A legrosszabb eset pedig az, ha egy letöltés sikeresen befejezodött, de a letöltött fájl valahol hibás, és így ismét az egészet tölthetjük le újra. Rengeteg ismert cégnek számolnia kell szervereik túlterheltségével, ha egy új programot vagy javító csomagot adnak ki a felhasználók számára. Ilyenkor akár százezernél is több letölto kapcsolódik, amitol rendszerösszeomlás következik be.
Bram Cohan azonban rájött, hogy ezeket a problémákat hogyan lehetne kiküszöbölni vagy legalább enyhíteni. Rájött arra, hogy az éppen letölto felhasználók is segíthetnének feltölteni abból, amit már letöltöttek, hogy elkerülheto legyen egy szerver összeomlása. Bram Cohan még gondolt a nagy fájlok letöltésére vonatkozó nehézségek elkerülésére is. Létrehozta a BitTorrent klienst, avagy egy letöltésvezérlot. Ez a program egy aprócska fájlon keresztül kommunikál azzal a számítógéppel, ahol a letöltendo fájl 100%-ig megvan. Errol készít a tartalom alapján egy számokból és betukbol álló karakterláncot az SHA-1 algoritmus segítségével. A letöltendo fájlt kisebb csomagokra bontva tölti le, és ezeknél folyamatosan ellenorzi, hogy egyezik-e az eredeti karakterlánc a letöltött rész alapján generált karakterlánccal. Ha nem egyezik, akkor letölti újra azt a kis részt. Ezek a darabok maximum 4 MiB méretuek. Gyakorlatilag addig nem fejezi be a letöltést, amíg nem egyezik az eredeti generált kód, a letöltött fájl tartalma alapján generált kóddal. Mindehhez még hozzáadta azt is, hogy minden egyes felhasználó más-más felhasználónak más-más részleteket küld, így lehet az, hogy van két 50%-on álló felhasználó, de mégis mindketten le tudják tölteni egymástól teljesen az adott fájlt, mert az egyiknek az egyik fele van meg, a másiknak meg a másik fele. Ügyelt arra is, hogy az esetleges megszakadások után ismét folytatható legyen a letöltés attól a ponttól, ahol megállt. Tehát bármikor megállíthatjuk a folyamatokat a kliensben, és akár másnap folytathatjuk tovább.
|