\medskip\noindent
Google ist zur Zeit  die mit Abstand bekannteste und am häufigsten benutzte Suchmaschine. Diese positive Entwicklung resultiert 
aus dem ausgewogenem Mix aus Performance, Benutzerfreundlichkeit und Qualität der Suchergebnisse. Lawrence Page und Sergey Brin, die beiden Gründer von Google beschreiben in ''Anatomy of a Large-Scale Hypertextual Web Search Engine'' \cite{Brin/Page/98a} den Aufbau und Einsatzmöglichkeiten Ihrer Suchmaschine, sowie in ''The PageRank citation ranking: Bringing order to the Web''  \cite{Brin/Page/98a} das PageRank Verfahren zur Analyse der Webtopologie.

\medskip\noindent
Die System-Architektur von Google besteht aus mehreren miteinander kooperierenden Komponenten:  

\begin{figure}[h]
	\centerline{ \includegraphics [height=70mm] {bilder_marius/googlesys} }
\end{figure}

\medskip\noindent
Die Crawler, ausgelegt auf größtmögliche Paralelität, wandeln URLs über Domain Name Service (DNS) Requests in IP-Adressen um. Sie stellen mittels HTTP simultan, mehrere Verbindungen mit den Server her, um die erreichten Pages herunterzuladen.

\medskip\noindent
Im Repository wird der komplette HTML-Code jeder heruntergeladenen Page mit zlib komprimiert gespeichert. 

\medskip\noindent 
Die Aufgabe des Indexers besteht im dekomprimieren und analysieren der gespeicherten Pages. Jede heruntergeladene Page bekommt eine DocID. Zusätzlich werden Hits als Wortvorkommen in so genannten Hit Listen registriert. Die Hit Listen beinhalten Informationen über das Auftreten eines bestimmten Wortes in einem bestimmten Dokument, einschließlich Position, Schriftkegel und Hervorhebungen. Eine weitere wichtige Funktion des Indexers ist das Abspeichern aller Links Page in einer Anchor Datei. Die Sonderbehandlung von Link in Dokumenten ermöglicht Indexierung von Seiten, die aus Bildern, 
Programmen oder Datenbanken bestehen. 

\medskip\noindent
Für jedes Dokument werden zwei Indizes erstellt, der Forward Index ist bereits teilweise sortiert und in einer Reihe von Barrels gespeichert. 
Die Barrels ermöglichen einen hohen Grad an Parallelität, der Index wird auf viele relativ kleine Barrels aufgeteilt. Jedes Barrel beinhaltet also nur eine kleine Anzahl an WordIDs, enthält ein Dokument eine WordID, so wird seine DocID in dem entsprechenden Barrel gespeichert. Der Datensatz enthält zusätzlich eine Liste von WordIDs mit Hitlisten. Der Invertierte Index wird in den gleichen Barrels wie der Forward Index gespeichert, allerdings ist er bereits durch den Sorter verarbeitet worden. Für jede gültige WordID enthält das Lexicon einen 
Zeiger auf das entsprechende Barrel, dort befindet sich ein Zeiger auf eine DocList die alle Vorkommen des Wortes in allen Dokumenten zusammenfasst. 

\medskip\noindent
Im Document-Index werden alle zusätzlichen Informationen über ein Dokument gespeichert. Dabei enthält jeder Eintrag den Dokumentstatus, einen Zeiger ins Repository, eine Dokumentprüfsumme und verschiedene Statistiken.
 
\medskip\noindent
Die Sorter arbeiten kontinuierlich daran, den nach der DocID sortierten Forward Index in einen nach WordID sortierten Inverted Index umzuwandeln. 

\medskip\noindent
Während das gesamte übrige System kontinuierlich daran arbeitet, die Datenbasis zu aktualisieren und zu erweitern, ist der Searcher die einzige Anfrageverarbeitende Komponente. Der Searcher verarbeitet Suchanfragen, erzeugt Ergebnislisten  und sortiert sie nach Relevanz.