Peer-to-Peer-Netzwerke: Ein Reizwort mit Potential
Artikel erschienen in Swiss IT Magazine 2001/28
Es gab eine Zeit, da sprach alle Welt über Peer-to-Peer. Schuld daran war Napster. Seit dieser File-Sharing-Service dem Untergang geweiht oder vielmehr kostenpflichtig geworden ist, sind die lautesten Stimmen verstummt. Was aber keineswegs heissen soll, dass an dieser Art, die Computer miteinander zu vernetzen, nicht etwas dran ist. Ganz im Gegenteil: Peer-to-Peer ist aktueller denn je. Schuld daran ist letztlich das Internet.
Mit dem weltweiten Netz ergeben sich völlig neue Anwendungsmöglichkeiten, die nicht nur für den privaten User, sondern auch für Unternehmen jeder Grösse interessant sind. Bei den aufstrebenden Webservices, wie sie nicht zuletzt auch von Microsoft mit der .Net-Initiative propagiert werden, ergeben sich für die Peer-to-Peer-Architektur viele Einsatzmöglichkeiten, da diese Microsoft-Vision eine Vielzahl von Geräten vom PDA bis hin zum Hochleistungsserver mit einbezieht. Allerdings gilt es noch einige Hürden zu nehmen, um der Architektur auf die Sprünge zu helfen. Wo man dereinst innerhalb des weltweiten Datennetzes dann überhaupt noch von der Peer-to-Peer-Architektur als solche spricht, ist gegenwärtig noch nicht absehbar. Denn bei Peer-to-Peer handelt es sich nicht um eine spezifische Technologie, sondern vielmehr um einen Ansatz, der die nachfolgenden Szenarien abdeckt:
Software-Clients für die Zusammenarbeit (Groove)
Distributed File Sharing (bspw. Napster, Gnutella)
Content-Verteilung und Suchmaschinen (Pandango, Kontiki)
Distributed Computing (bspw. SETI@home oder United Devices)
Instant Messaging
Vor allem das Potential, Kosten zu sparen, indem man ganze Flotten von PCs zu Super-Clustern zusammenschliesst, sorgte in letzter Zeit für Aufsehen. Mit diesen Distributed-Computing-Anwendungen erhält man eine Rechenkapazität, die sonst sehr teuer zu stehen käme. Insbesondere zwei seit längerer Zeit verfolgte Projekte illustrieren die gewaltigen Rechenleistungen, welche die Vernetzung von zigtausend Rechnern ergibt.
SETI@home: SETI steht für Search for Extraterrestrial Intelligence, die Suche nach ausserirdischer Intelligenz. Die University of Berkley in Kalifornien nutzt die Gemeinde der Internet-User, um Radioteleskop-Daten auf signifikante Signale aus dem Universum zu untersuchen. Signale eben, die auf eine intelligente Spezies irgendwo im Weltall hinweisen. Um am Projekt teilzunehmen, laden die Anwender unter http://setiathome.ssl.berkeley.edu einen Bildschirmschoner herunter. Nach der Installation und Anmeldung - und sofern am Rechner nicht gerade gearbeitet wird - beginnt der PC einzelne Datenpakete auszuwerten. Die Ergebnisse werden danach zur weiteren Verarbeitung zurück an die Universität geschickt. Über 3 Millionen Internet-User, darunter auch mehr als 22'000 Schweizer, liessen sich bislang für das SETI@home-Projekt begeistern und spendierten bis anhin rund 700'000 Jahre Prozessorzeit. Das System erzielt gegenwärtig eine Leistung von ungefähr 25 Teraflops pro Sekunde. Die Rechenzeit auf einem Mainframe zu mieten, wäre für die Universität bedeutend teurer als die Entwicklung der Screensaver-Software.
Intel-United Devices Cancer Research Project: Aus der Sicht von Intel ist das Krebsforschungsprojekt, das man zusammen mit United Devices betreibt, vor allem auch Marketing auf der emotionalen Schiene, was aber nicht heissen soll, dass damit letztlich kein guter Zweck verfolgt wird. Die von den beiden Firmen entwickelte Lösung ist ähnlich aufgebaut wie jene des SETI@home-Projekts und vernetzt ebenfalls am Internet angeschlossene Clients, um Rechenzeit abzusaugen. Und zwar für die Berechnung von Eiweissmolekülen und deren Interaktion mit verschiedenen Wirkstoffen, die für die Krebsheilung eingesetzt werden könnten. Rund 500'000 Anwender, darunter im Minimum auch 1000 aus der Schweiz, helfen mit und stellten bislang über 40'000 Jahre Rechenzeit zur Verfügung.
Neben Napster waren es sicher auch die obigen beiden Projekte, die mit dafür sorgten, dass in jüngster Zeit so viel über Peer-to-Peer gesprochen wurde. An sich ist aber die P2P-Architektur kein neuer Ansatz - man denke an AppleTalk für die Verbindung von Macintosh-Rechnern oder die simple Vernetzung von Windows-PCs über die parallele oder serielle Schnittstelle mit einem Nullmodemkabel. Vielmehr wurde diese Topologie Ende 80er und Anfang 90er Jahre zusehends durch das Client/Server-Konzept verdrängt und geriet zusehends in Vergessenheit. Napster sei Dank, wurde die Nutzung von Client-Verbänden als Rechen- oder Speichernetzwerke wieder aus der Mottenkiste geholt, und in der Folge entwickelte sich ein regelrechter Hype. Viele Firmen nutzen Peer-to-Peer nun auch als Marketing-Instrument, um angestaubten oder bereits zu Alltagsgebrauchsmitteln verkommenen Produkten zu einer Renaissance zu verhelfen.
Allerdings muss einschränkend erwähnt werden, dass die Zahl der reinen Peer-to-Peer-Lösungen relativ klein ist. In der Regel kommen aufgrund der Komplexität und der Grösse solcher Netzwerkstrukturen heutzutage trotzdem zentrale Server zum Einsatz. Sei es auch nur für die User-Verwaltung von File-Sharing-Diensten wie eben Napster. Und auch die Industrie nimmt es mit der Peer-to-Peer-Definition nicht so genau. Der Begriff steht heute für eine Vielzahl von Anwendungen, die sich ohne zentrale Server nicht oder nur umständlich und kaum leistungsfähig betreiben liessen. Gewisse Tasks können eben effizienter erledigt werden, wenn sie zentral und nicht dezentral organisiert sind, und der Verwaltungsaufwand von verteilten Ressourcen ist nicht etwa geringer als von jenen, die an einem Punkt zusammengefasst sind. Es gilt deshalb abzuwägen, welche Anwendungen überhaupt geeignet sind, um auf einer verteilten Architektur betrieben zu werden.
Und so hat sich das, was heutzutage als P2P-Architektur bezeichnet wird, von der ursprünglichen Definition wegbewegt. Dieser gemäss müssten nämlich innerhalb einer P2P-Umgebung sämtliche Computer gleiche Rechte und Pflichten haben und nicht hierarchisch organisiert sein wie beim Client/Server-Prinzip. Die Napster-Alternative Gnutella kommt relativ nahe an das Peer-to-Peer-Ideal ohne Hierarchien heran.
Ein lohnenswertes Szenario für P2P-Anwendungen ist das Distributed Computing - das auch mit den eingangs erwähnten Projekten illustriert wird. Die Rechenleistung heutiger Computersysteme in Firmennetzwerken wird kaum ausgereizt. Bei den üblichen Business-Anwendungen mit Textverarbeitung, Tabellenkalkulation usw. langweilt sich die CPU, und die Festplattenkapazitäten von 20 Gigabyte und mehr werden nicht einmal zur Hälfte belegt. Damit ergibt sich in den meisten Firmennetzwerken Potential, das anderweitig genutzt werden könnte, sofern der Bedarf vorhanden ist.
Chip-Hersteller Intel, eines der Zugpferde in der P2P-Szene, hat errechnet, dass theoretisch in einem Netzwerk mit 2000 Arbeitsplätzen rund 10 Terabytes Speicherplatz brachliegen (5 GB pro PC) und die Systeme zusammen eine Rechenpower von Billionen Operationen pro Sekunde bereithalten, die ungenutzt bleibt.
Das Beratungsunternehmen Omni Consulting geht hingegen davon aus, dass durchschnittlich 47 Prozent der Rechenleistung in Netzwerken nicht genutzt werden, wobei darin nicht nur Clients, sondern auch Server und Workstations eingerechnet sind. Ohne diese Leistungsträger in einem LAN ist der Prozentsatz sogar noch weit höher.
Distributed-Computing-Applikationen kommen mittlerweile in Firmen rund um den Globus zur Anwendung und vor allem dort, wo hochkomplexe Berechnungen angestellt werden. Also unter anderem in Autokonzernen, Pharma-Unternehmen und weiteren Firmen, die komplexe Forschung und Entwicklung betreiben. Es handelt sich um sehr spezifische Anwendungen, die von entsprechend geschulten Fachkräften unterhalten und genutzt werden.
Auch für weniger komplexe Applikationen und damit für die grosse Schar der Business-User in den Unternehmen hält die Peer-to-Peer-Architektur attraktive Anwendungsmöglichkeiten bereit. Zu erwähnen sind hier Applikationen für die projektbezogene Zusammenarbeit - auch über die Firmengrenzen hinaus -, die sich als Peer-to-Peer-Anwendungen vergleichsweise einfach installieren und nutzen lassen. Die Daten werden dann nicht auf einem eigens bereitgestellten Fileserver abgelegt, sondern jeder am Projekt beteiligte Mitarbeiter steuert einen Teil der Ressourcen bei. Mit der Anzahl Teilnehmer wachsen demnach auch die Ressourcen.
Die Anwendungen umfassen jedoch meist mehr als nur File Sharing. Sie erlauben es beispielsweise auch, per Instant Messaging mit anderen Teilnehmern in Kontakt zu treten, und bieten darüber hinaus auch Tools, wie man sie von Office-Productivity-Anwendungen her kennt.
Am meisten Aufsehen erregte in dieser Kategorie unlängst Groove Networks (www.groove.net oder www.groovenetworks.com). Nicht zuletzt auch deshalb, weil die Firma vom ehemaligen Lotus-Erfinder Ray Ozzie gegründet wurde. Allerdings kann man diese Peer-to-Peer-Produktkategorie, die Groove Networks mit der gleichnamigen Client-Software definiert, auch als Basisarchitektur einstufen. Dritthersteller können nämlich Applikationen beisteuern, die dann in den Client integriert und dadurch sämtlichen Groove-Teilnehmern zur Verfügung gestellt werden können. Dies wird zusätzlich unterstützt, da Groove auf allgemeingültigen Standards wie HTTP, UDP, TCP/IP und XML aufsetzt.
Zur Standardausstattung, die im kostenlos erhältlichen Groove-Client enthalten ist, gehören unter anderem ein Notiz- und Skizzenblock, ein Webbrowser, ein Instant-Messaging-Tool, Kontakt- und Terminverwaltung sowie Dateiablage.
Neben Groove Network gibt es weitere Softwarefirmen, die Lösungen mit vergleichbarem Leistungsumfang anbieten. Erwähnt seien zum Beispiel Flypaper TeamSpace und Ikimbo Omniprise. Derartige Anwendungen eignen sich vor allem, um stante pede Mitarbeiter miteinander zu vernetzen, ohne gleich eine aufwendige Serverinfrastruktur aus dem Boden stampfen zu müssen.
Die Applikationen für die vernetzte Zusammenarbeit sind aber nicht die einzigen Peer-to-Peer-Anwendungen, mit denen das Gros der Anwender im Business-Umfeld in Berührung kommt.
Vielversprechend tönen auch weitere Projekte wie zum Beispiel Suchmaschinen, welche die Peer-to-Peer-Architektur und den damit einhergehenden Anwenderverbund dazu nutzen, um Resultate mit mehr Relevanz hervorzubringen. Hier sorgte vor allem das Projekt InfraSearch für Aufsehen, an dem auch Netscape-Mitbegründer Marc Andreessen beteiligt ist. Sun hat das Unternehmen im März dieses Jahres aufgekauft. Pandango, ebenfalls eine P2P-Suchmaschine, wurde zwar vor einiger Zeit angekündigt, ist bis jetzt aber noch nicht zugänglich.
Allerdings lassen sich die P2P-Suchmaschinen kaum von jenen Anwendungen abgrenzen, die letztlich für das File-Sharing (wie bei Napster und Gnutella) oder das sogenannte Content Delivery beigezogen werden. Schliesslich will man ja die Inhalte, die man aufgespürt hat, auch beziehen. Besonders das Content Delivery, also die Verteilung von Inhalten in Peer-to-Peer-Manier, gilt als hoffnungsvoller Ansatz, um umfangreiche Daten schnell zum Anwender zu bringen. Erst kürzlich hat die Firma Kontiki bekanntgegeben, dass demnächst eine P2P-Lösung bereitgestellt werde, mit der die Verteilung von Multimedia-Inhalten und anderen umfangreichen Daten beschleunigt werden kann. Das System nennt sich Bandwidth Harvesting. Dabei wird die Bandbreite pro User ständig überwacht. Grosse Datenpakete werden in der Folge dann verschoben, wenn die Netzauslastung am tiefsten ist. Zudem werden die Daten auf mehrere Server oder sogar auf Kunden-Clients verteilt, die sich in der Nähe des jeweiligen Kunden befinden.
Es lässt sich nicht abstreiten, dass mit dem ganzen Napster- und Peer-to-Peer-Hype Erwartungen geweckt wurden, die zu erfüllen keine leichte Aufgabe sein wird. Da gibt es Projekte und Produkte, die wie im Fall von Groove schon vergleichsweise weit gediehen sind. Trotzdem bleiben verschiedene Herausforderungen nach wie vor bestehen, allen voran die Sicherheit bei Peer-to-Peer-Anwendungen. Immerhin sieht ja die P2P-Architektur vor, dass eine Vielzahl von Clients partizipiert. Das Thema Sicherheit in Angriff zu nehmen, hat sich unter anderem Intel auf die Fahnen geschrieben. Nicht zuletzt deshalb hat der Chip-Hersteller die Peer-to-Peer Working Group ins Leben gerufen. Und das frischgebackene Gremium hat Code-Beispiele für das Zertifikatsmanagement und sicheres File-Sharing bereitgestellt.
Aufgrund der wirtschaftlichen Situation und dem daraus resultierenden Kostendruck ist aber die P2P-Euphorie zweifelsohne ein wenig verpufft. Darüber hinaus sind aber auch nicht alle Anwendungsszenarien für den Betrieb auf einer Peer-to-Peer-Architektur geeignet. Als Faustregel gilt: Wenn eine Aufgabe, ohne Unsummen zu verschlingen, zentralisiert ausgeführt werden kann, lohnt sich die Portierung auf ein P2P-Konzept kaum. Für den Peer-to-Peer-Ansatz geeignet sind hingegen Aufgaben, die nicht zeitkritisch erfolgen müssen, aber trotzdem ungemein viele Ressourcen voraussetzen, um effizient erledigt werden zu können. Dazu gehören auch jene Anwendungen wie etwa Instant Messaging, die quasi davon leben, dass sie durch eine möglichst grosse Anzahl User mitgetragen werden.