-
Notifications
You must be signed in to change notification settings - Fork 0
/
relatedwork.tex
22 lines (21 loc) · 6.93 KB
/
relatedwork.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Es gibt zahlreiche wissenschaftliche Paper, die semantisches oder inhaltsbasiertes Routing zum Thema haben. Viele dieser Paper sind jedoch entweder schon über zehn Jahre alt oder beinhalten nicht exklusiv den Datenaustausch über Peer-To-Peer (P2P). Im Folgenden wird jeweils die Grundidee von vier Arbeiten vorgestellt, welche ausschließlich den semantischen Datenaustausch über P2P zum Inhalt haben.\\\\
Strassner et. al. präsentieren ein hybrides Routing, bei dem sowohl semantisch, als auch traditionell geroutet wird (vgl. \citet[S. 164ff]{Strassner2010}). Die Peers bauen hierbei ein \textit{small world} Netzwerk auf, bei dem jeder Peer viele kurze und nur wenige lange Verbindungen zu anderen Peers hat. Es werden zwei semantische Strukturen definiert - \textit{node profiles} und \textit{object profiles} - welche beide anhand von Metadaten beschrieben werden. Ein Interesse wird mithilfe des \textit{node profile} formuliert, das dann an die anderen Peers direkt geschickt wird. Interessiert sind die Peers an \textit{objects}, welche die eigentlichen Datenträger darstellen. Durch eine semantische Ähnlichkeitsanalyse wird überprüft, ob ein Peer entweder direkt ein Objekt an den anfragenden Peer liefert oder ob er das \textit{node profile} an andere Peers weiterleitet. Das \textit{node profile} wird an den Peer weitergeleitet, bei dem das Ergebnis der Ähnlichkeitsanalyse zwischen \textit{node profile} und \textit{object profile} am höchsten ist und sich außerdem physisch in Reichweite befindet. \\\\
David Faye et. al. stellen in Ihrer Ausarbeitung ein semantisches und abfrageorientiertes (Query) Routing vor (vgl. \citet[S. 365f]{Faye2007}). Die neuartige semantische Struktur ist hierbei die \textit{expertise table}, in der mit Metadaten festgehalten wird, welcher Peer über welches Wissen verfügt. Anders als in SharkNet sind die Peers nicht gleichberechtigt, sondern in zwei Kategorien eingeteilt: normale Peers und Super-Peers. Ein Super-Peer verwaltet mehrere normale Peers und besitzt dafür eine \textit{expertise table}. Sie reichen die Anfragen entweder an andere Super-Peers weiter oder lassen diese von normalen Peers auswerten. Ein Interesse wird mithilfe einer Anfrage gestellt, welche durch den Routingalgorithmus an das relevante Ziel gesendet wird. Dies läuft folgendermaßen ab (vgl. \citet[S. 370f]{Faye2007}):
\begin{itemize}
\item Ein Peer formuliert sein Interesse mit einer Query und sendet diese an seinen zuständigen Super-Peer, der im Paper als \textit{Godfather} bezeichnet wird.
\item Der \textit{Godfather} wertet nun mit der Query und den \textit{expertise tables} aller verfügbaren anderen Super-Peers aus, an welche Super-Peers er die Query weiterreicht.
\item Nachdem ein Super-Peer auf dieser Art eine Query erhalten hat, kann er diese nun entweder abermals an andere Super-Peers weiterleiten oder sie von einem seiner zugeordneten Peers ausführen lassen.
\item Das Ergebnis der Ausführung wird nun an den eigentlichen Absender der Query zurückgeleitet.\\
\end{itemize}
Einen anderen Ansatz mit komplett gleichberechtigten Peers stellen Antonio Carzaniga et. al. vor, bei dem zwei Protokolle parallel ausgeführt werden (vgl. \citet[S. 918ff]{Carzaniga2004}). Dies umfasst zum einen das \textit{Broadcast Routing Protocol} und zum anderen das \textit{Content-based Routing Protocol}. Das \textit{Broadcast Routing Protocol} ist für das physische Versenden der Nachrichten zwischen den Peers verantwortlich und baut eine Spanning-Tree-Topologie auf. Die Nachricht wird zunächst ohne Einschränkung an alle Peers geschickt, die erreichbar sind. Das eigentliche Routing geschieht durch das \textit{Content-based Routing Protocol}. Folgende semantische Strukturen werden benutzt:
\begin{itemize}
\item Eine \textit{Message} besteht aus typisierten Attributen
\item Ein \textit{predicate} ist eine Disjunktion von Konjunktionen von Bedingungen (constraints), die sich auf einzelne Attribute beziehen
\item Die \textit{content-based forwarding table} enthält die von den Peers gesetzten \textit{predicates}
\end{itemize}
Eine Funktion wertet anhand der \textit{forwarding table} aus, an welche Peers die Nachricht weitergeleitet werden soll. Zusätzlich wird durch das \textit{Broadcast Routing Protocol} ermittelt, welche Peers sich physisch in Reichweite befinden. Die Nachricht wird nun alle Peers geschickt, die in beiden Mengen vorkommen. Diese Funktionsweise ähnelt SharkNet, da in der Anwendung die Nachrichten ebenfalls per Broadcast verschickt werden. Die semantische Auswertung erfolgt in SharkNet jedoch durch Profile, die vom Nutzer dynamisch festgelegt werden können und nicht durch eine sich automatisch aufbauende Tabelle.\\\\
Luca Mottola et. al. haben eine sich selbst reparierende Baumtopologie entworfen, mit der inhaltsbasiertes Routing in mobilen Ad-Hoc-Netzwerken realisiert werden kann (vgl. \citet[S. 946ff]{Mottola2008}). Laut Mottola et. al. benötigt eine Topologie in Form eines Baums bei Ad-Hoc-Netzwerken eine stetige Selbstreparatur, die durch das dynamische Entfernen und Hinzufügen von mobilen Geräten notwendig ist. Diese Topologie wird während der Programmausführung auf den Peers stetig angepasst, um auch bei einem häufigen Peerwechsel weiterhin benutzbar zu sein. Die Baumstruktur ist dabei für das inhaltsbasierte Routing essentiell.\newpage Das Routing erfolgt über das publish-subscribe Prinzip, wobei die Peers Nachrichten zu den Themen bekommen, für die sie sich angemeldet (subscribed) haben.
\\Der wesentliche Unterschied zwischen den vorgestellten Veröffentlichungen und dieser Arbeit sind einerseits die Eingangs- und Ausgangsprofile, mit denen Benutzer eingehende und ausgehende Nachrichten semantisch filtern können und andererseits die Präsentation einer konkreten mobilen Applikation, die diese Art des Routings verwirklicht. Außerdem unterscheiden sich die dafür verwendeten semantischen Strukturen deutlich von anderen Veröffentlichungen.\\\\
Da diese Arbeit jedoch nicht nur das semantische Routing, sondern mit SharkNet auch ein dezentrales Netzwerk realisiert, soll an dieser Stelle kurz das bereits seit Jahren veröffentlichte dezentrale soziale Netzwerk Diaspora vorgestellt werden.\\
Jeder Benutzer kann in Diaspora einen eigenen Server benutzen, welcher als Pod bezeichnet wird. Diese Pods beinhalten die Benutzerdaten und werden vom Besitzer des Pods verwaltet. Der umfassende Datenschutz ist bei Diaspora jedoch nur dann gegeben, wenn jeder Benutzer auch einen eigenen Webserver benutzt, um damit seinen Pod zu hosten. In der Realität wird häufig aber kein eigener Webserver benutzt, außerdem ist die direkte Kommunikation zwischen den Pods nur eingeschränkt möglich. So lassen sich zum Beispiel keine Kontaktlisten von anderen Pods crawlen, auch wenn diese sie zur Verfügung stellen würden. Dies hat zur Folge, dass ein großer Teil der Benutzer sich ausschließlich mit anderen Pods verbindet, die dann zu Sammelpods werden. Diese Sammelpods entsprechen dann eher der Client-Server-Architektur und nicht dezentralem P2P.
\newpage