-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich allgemein auf dezentralisierte
Netzwerke und insbesondere auf ein Instrumentierungssystem und Verfahren
zum Schätzen
charakteristischer Eigenschaften eines dezentralisierten Netzwerks.
-
HINTERGRUND DER ERFINDUNG
-
In
einem dezentralisierten Netzwerk gibt es keine zentrale Autorität oder Verwaltungseinheit.
Die Knoten können
nicht direkt adressiert oder zentral überwacht werden. Stattdessen
liegen Intelligenz und Steuerung in den Knoten selbst. Jeder Knoten
trifft autonom Entscheidungen zum Verbinden, Trennen und Austauschen
von Informationen mit anderen Knoten in dem dezentralisierten Netzwerk
nach einem von den Schaffern des Netzwerks festgelegten vorbestimmten
Protokoll.
-
In
manchen Netzwerken entscheiden die Knoten selbstständig über die
Verbindung mit oder Trennung von dem Netzwerk, wodurch das Netzwerk
größer oder
kleiner wird. Die Knoten sind nur für ihre unmittelbaren Nachbarn
sichtbar, an die sie angeschlossen sind. Als Folge entwickeln sich
insbesondere bei großen
Netzwerken mit reichen Kommunikationsprotokollen die Größe und Topologie
des gesamten dezentralisierten Netzwerks kontinuierlich und organisch
in einer Weise, die aus der Perspektive eines einzelnen Knotens
oder externen Beobachters des Netzwerks weitgehend unkontrollierbar
und unvorhersehbar ist.
-
Bei
einem solchen Netzwerk gibt es keine autoritative Quelle für Informationen über das
Netzwerk. Weiter gibt es keine offensichtlichen Mittel zum Bestimmen
der Größe, Struktur
oder Informationsinhalte des Netzwerks zu einem beliebigen Zeitpunkt.
In manchen Fällen
hat der Besitzer oder Schöpfer
des Netzwerks keine Möglichkeit,
diese Informationen zu verfolgen oder sie außen stehenden Parteien verfügbar zu
machen. In anderen Fällen
kann das Netzwerk einfach zu groß oder zu dynamisch sein, um
es irgendjemandem zu ermöglichen,
diese Informationen an einem einzigen Ort zu erfassen, zusammenzutragen
und aufzulisten.
-
Das
Dokument XPO10662084 beschreibt ein System zum Schätzen der
Verfügbarkeit
einer Datei in einem Netzwerk anhand der Wahrscheinlichkeit, dass
Knoten online oder offline sind, in einer komplexen Gleichung, die
in Abschnitt 3.2 des Dokuments angegeben ist.
-
Dementsprechend
ist ein Ziel der vorliegenden Erfindung die Bereitstellung eines
Instrumentierungssystems und eines Verfahrens zum Schätzen charakteristischer
Eigenschaften eines dezentralisierten Netzwerks.
-
Beispiele
für solche
Eigenschaften sind die Größe, Wachstumsrate
und Beschleunigung des Wachstums des dezentralisierten Netzwerks,
die Anzahl von Vorkommen, die Ausbreitungsrate und die Beschleunigung
der Ausbreitung einer Datei in dem dezentralisierten Netzwerk, die
Gesamtsuchaktivität
in dem dezentralisierten Netzwerk, die Suchaktivität nach einer
Datei in dem dezentralisierten Netzwerk und die Downloadaktivität für eine Datei
in dem dezentralisierten Netzwerk. Beim Schätzen dieser Eigenschaften ist
es nützlich, einen
repräsentativen
Satz von Knoten in dem dezentralisierten Netzwerk zu erhalten, die
Größe des dezentralisierten
Netzwerks zu schätzen,
das dezentralisierte Netzwerk gleichmäßig mit Softwareagenten zu
infiltrieren, die sich als Knoten verkleiden, und die Dateien gleichmäßig in dem
dezentralisierten Netzwerk zu verteilen.
-
Aspekte
der vorliegenden Erfindung sind in den anliegenden selbstständigen Ansprüchen festgelegt.
-
Zusätzliche
Ziele, Merkmale und Vorteile der verschiedenen Aspekte der vorliegenden
Erfindung werden aus der folgenden Beschreibung ihrer bevorzugten
Ausführungs form
ersichtlich, die in Verbindung mit den anliegenden Zeichnungen zu
lesen ist.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt
ein Blockdiagramm eines Instrumentierungssystems mit Aspekten der
vorliegenden Erfindung.
-
2 zeigt
ein Ablaufdiagramm eines Verfahrens zum Identifizieren eines repräsentativen
Satzes von Knoten in einem dezentralisierten Netzwerk mit Aspekten
der vorliegenden Erfindung.
-
3 zeigt
ein Ablaufdiagramm eines alternativen Verfahrens zum Identifizieren
eines repräsentativen
Satzes von Knoten in einem dezentralisierten Netzwerk mit Aspekten
der vorliegenden Erfindung.
-
4 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Anzahl von Knoten
in einem dezentralisierten Netzwerk mit Aspekten der vorliegenden
Erfindung.
-
5 zeigt
ein Ablaufdiagramm eines alternativen Verfahrens zum Schätzen der
Anzahl von Knoten in einem dezentralisierten Netzwerk mit Aspekten
der vorliegenden Erfindung.
-
6 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Wachstumsrate eines
dezentralisierten Netzwerks mit Aspekten der vorliegenden Erfindung.
-
7 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Beschleunigung des
Wachstums eines dezentralisierten Netzwerks mit Aspekten der vorliegenden
Erfindung.
-
8 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Anzahl von Vorkommen
einer Datei in einem dezentralisierten Netzwerk mit Aspekten der
vorliegenden Erfindung.
-
9 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Ausbreitungsrate einer
Datei in einem dezentralisierten Netzwerk mit Aspekten der vorliegenden
Erfindung.
-
10 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Beschleunigung der
Ausbreitung einer Datei in einem dezentralisierten Netzwerk mit
Aspekten der vorliegenden Erfindung.
-
11 zeigt
ein Ablaufdiagramm eines Verfahrens zum gleichmäßigen Infiltrieren eines dezentralisierten
Netzwerks mit Softwareagenten, die sich als Knoten im dezentralisierten
Netzwerk verkleiden, mit Aspekten der vorliegenden Erfindung.
-
12 zeigt
ein Ablaufdiagramm eines Verfahrens zum gleichmäßigen Verteilen von Dateien
in einem dezentralisierten Netzwerk mit Aspekten der vorliegenden
Erfindung.
-
13 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Gesamtanzahl von Suchabfragen
in einem dezentralisierten Netzwerk über eine vorgegebene Zeitdauer
mit Aspekten der vorliegenden Erfindung.
-
14 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Gesamtanzahl von Suchabfragen
für eine
Datei in einem dezentralisierten Netzwerk über eine vorgegebene Zeitdauer
mit Aspekten der vorliegenden Erfindung.
-
15 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Gesamtanzahl von Downloads einer
Datei in einem dezentralisierten Netzwerk über eine vorgegebene Zeitdauer
mit Aspekten der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
1 zeigt
ein Blockdiagramm eines Instrumentierungssystems 100 zum
Schätzen
charakteristischer Eigenschaften eines dezentralisierten Netzwerks 101 wie
zum Beispiel der Größe, Wachstumsrate
und Beschleunigung des Wachstums des dezentralisierten Netzwerks 101,
der Anzahl von Vorkommen, der Ausbreitungsrate und der Beschleunigung
der Ausbreitung einer Datei in dem dezentralisierten Netzwerk 101 und
der Such- und Downloadaktivitäten
insgesamt und für
bestimmte Dateien in dem dezentralisierten Netzwerk 101.
-
Der
Begriff „Datei", wie er hier verwendet
wird, bedeutet eine Datei oder ein Objekt, wie diese Begriffe allgemein
verstanden werden, zum Beispiel oder unter anderem Dokumente, Nachrichten,
Computerprogramme, Daten, alle Formen von Medien (zum Beispiel Audio,
Video, Animationen und Bilder), sowie alle anderen durch Urheberrechtsgesetze
oder sonstige gewerbliche Schutzrechte geschützten Inhalte oder Informationen, die
zwischen zwei Knoten eines Netzwerks übertragen werden können.
-
Ein
Rechenzentrum 102 führt
eine Reihe von zusammenhängenden
Verfahren durch, die anhand von 2 bis 15 beschrieben
werden, um diese und andere charakteristische Eigenschaften des
gesamten dezentralisierten Netzwerks 101 zu bestimmen.
Zum Schätzen
bestimmter charakteristischer Eigenschaften identifiziert und verwendet
es eine Teilmenge (zum Beispiel N1, N2, N3 und N4) des Netzwerks 101 und
verwendet Informationen von der Teilmenge, um Informationen über das
gesamte dezentralisierte Netzwerk 101 zu bestimmen oder
zu erhalten. Zum Bestimmen anderer charakteristischer Eigenschaften
setzt es Softwareagenten wie zum Beispiel SA1, SA2 und SA3 ein,
die sich als Knoten im dezentralisierten Netzwerk 101 verkleiden.
-
Das
Rechenzentrum 102 besteht aus einem oder mehreren Computern,
die mittels Software dazu ausgelegt sind, die zusammenhängenden
Verfahren auszuführen.
Die Softwareagenten sind als Software implementiert, die sich entweder
im Rechenzentrum 102 oder auf einem oder mehreren anderen
Computern befindet. In jedem Fall kommunizieren die Softwareagenten
mit Knoten in dem dezentralisierten Netzwerk 604 durch
einzeln zugewiesene Ports der Computer, auf denen sie sich befinden.
Die IP-Adressen für
die Ports können
mit der Zeit oder in anderer Weise variieren, so dass das Entdecken
der Softwareagenten als nicht autorisierte Verkleidungen von Knoten
im dezentralisierten Netzwerk 101 erschwert wird. Wenn
die Softwareagenten sich auf einem oder mehreren anderen Computern
als dem Rechenzentrum 102 befin den, kommunizieren diese
Computer zum Beispiel über
ein lokales Netzwerk, ein Weitverkehrsnetzwerk oder ein virtuelles Netzwerk
mit dem Rechenzentrum 102 und ihre Aktivitäten werden
durch dieses koordiniert.
-
Nachstehend
folgt eine kurze Übersicht
der Verfahren, die vom Rechenzentrum 102 zum Schätzen verschiedener
charakteristischer Eigenschaften des dezentralisierten Netzwerks 101 verwendet
werden. Um diese Verfahren besser würdigen zu können, ist zu beachten, dass
die Schätzungen
in sich schwierig vorzunehmen sind, weil die Knoten des dezentralisierten
Netzwerks nicht zentral, direkt oder zufällig adressierbar sind bzw.
nicht von einem zentralen Ort aus überwacht werden können. Das
dezentralisierte Netzwerk kann auch zu groß oder zu dynamisch sein, um
es umfassend zu durchkriechen bzw. abzusuchen. Zu dem Zeitpunkt,
wo zum Beispiel 1% des Netzwerks durchkrochen bzw. abgesucht ist,
kann sich die Größe des Netzwerks
bereits verdreifacht haben oder es kann sich organisch eine grundlegend
andere Topologie entwickelt haben. Darüber hinaus gehören viele
der zuvor besuchten Knoten möglicherweise
nicht mehr zu dem Netzwerk. Die nachstehenden Verfahren überwinden
daher diese und andere Schwierigkeiten, die für dezentralisierte Netzwerke
typisch sind.
-
Die
anhand von 2 und 3 beschriebenen
Verfahren sind alternative Verfahren zum Ermitteln eines repräsentativen
Satzes von Knoten in dem dezentralisierten Netzwerk 101.
Der repräsentative
Satz wird dann in anderen Verfahren zum Schätzen verschiedener charakteristischer
Eigenschaften des dezentralisierten Netzwerks 101 verwendet.
Die anhand von 4 bis 7 beschriebenen
Verfahren, die auf den Verfahren in 2 und 3 aufbauen,
sind Verfahren zum Schätzen
der Gesamtanzahl von Knoten in dem dezentralisierten Netzwerk 101 (das
heißt
der Größe des Netzwerks)
und des Tempos, mit dem sich die Anzahl ändert (das heißt der Wachstumsrate
und Beschleunigung des Wachstums). Die Anhand von 8 bis 10 beschriebenen
Ver fahren, die auf den vorstehend genannten Verfahren aufbauen,
sind Verfahren zum Schätzen
der Gesamtanzahl von Vorkommen einer bestimmten Datei oder eines
bestimmten Dokuments, die bzw. das auf Knoten in dem Netzwerk gespeichert
ist, und der Rate, mit der sich diese Anzahl ändert. Die anhand von 11 und 12 beschriebenen
Verfahren sind jeweils Verfahren zum gleichmäßigen Infiltrieren von Softwareagenten,
die sich als Knoten verkleiden, in dem gesamten dezentralisierten
Netzwerk 101 bzw. zum gleichmäßigen Einpflanzen von Dateien
oder Dokumenten in dem gesamten dezentralisierten Netzwerk 101. Die
anhand von 13 bis 15 beschriebenen
Verfahren, die auf den anhand von 11 und 12 beschriebenen
Verfahren aufbauen, sind jeweils Verfahren zum Schätzen der
gesamten Dateisuchaktivität,
der spezifischen Dateisuchaktivität sowie der Downloadaktivität für Dateien
oder Dokumente.
-
Beginnend
mit einer ausführlichen
Beschreibung der Verfahren zeigt 2 ein Ablaufdiagramm
eines Verfahrens zum Identifizieren eines repräsentativen Satzes von Knoten
in dem dezentralisierten Netzwerk 101. Um wirklich „repräsentativ" zu sein, sollte
der repräsentative
Satz von Knoten durch die Netzwerktopologie oder die geografische
Lage unbeeinflusst sein, und die Knoten sollten gleichmäßig über das
dezentralisierte Netzwerk 101 verteilt sein.
-
In
Schritt 201 indiziert das Verfahren einen Satz von Knoten
in dem dezentralisierten Netzwerk 101. Der Satz von Knoten
wird zum Beispiel erzeugt, indem ein Knoten (zum Beispiel N1) im
Netzwerk 101 identifiziert und dann verwendet wird, um
iterativ weitere Knoten zu identifizieren, die direkt (zum Beispiel
N2, N3 und N4) oder indirekt (zum Bei-spiel N8, N9, N10, N11 und N12) mit
dem identifizierten Knoten verbunden sind. Der Einfachheit halber
kann der identifizierte Knoten ein Knoten sein (zum Beispiel N1),
der direkt mit einem Knoten verbunden ist, der das Rechenzentrum 102 mit
dem Netzwerk 101 verbindet (zum Beispiel der Softwareagent
SA3). Wegen der eng verbundenen Beziehung der Knoten wird der Satz
von Knoten in diesem Fall vermutlich eine gewisse Verzerrung mit
wahrscheinlich topologischer oder geografischer Beeinflussung aufweisen.
-
In
Schritt 202 baut das Verfahren einen Satz oder Korpus von
beobachteten Werten für
ein suchbares Attribut auf, das in allen Knoten in dem in Schritt 201 erhaltenen
Satz von Knoten gefunden wird. Das suchbare Attribut wird vorzugsweise
so ausgewählt,
dass es nicht in hohem Maße
in Korrelation zur Netzwerktopologie steht (das heißt von dieser
unabhängig
bleibt). Weil die geografische Lage oft in Zusammenhang mit der
Netzwerktopologie steht (das heißt direkt verbundene oder verknüpfte Knoten
sind im Allgemeinen geografisch nahe beieinander angeordnet), verlangt
die Auswahl eines suchbaren Attributs, das von der Netzwerktopologie unabhängig ist,
im Allgemeinen auch, dass es von der geografischen Lage unabhängig ist.
Beispiele sind unter anderem der beobachtete Dateiname oder Dokumenttitel,
beobachtete Wörter,
Buchstaben oder Silben im Dateinamen oder Dokumenttitel, beobachtete
Wörter,
Buchstaben oder Silben in der Beschreibung der Datei oder des Dokuments
und mathematische Hash-Werte für
jedes der vorstehenden Elemente. Weitere Beispiele sind unter anderem
numerische Attribute wie Dateigröße in Bytes,
Medienlänge
als Zeit und Nachrichtenlänge
als Anzahl von Zeichen.
-
In
Schritt 203 zieht das Verfahren einen Satz von beobachteten
Werten für
das eine suchbare Attribut aus dem in Schritt 202 aufgebauten
Satz von beobachteten Werten.
-
In
Schritt 204 führt
das Verfahren eine Suche in dem dezentralisierten Netzwerk 101 nach
Knoten mit mindestens einem der beobachteten Werte in der in Schritt 203 gezogenen
Probe durch. Besonders interessant ist, dass diese Knoten zufällig und
gleichmäßig über das
dezentralisierte Netzwerk 101 verteilt sind, im Gegensatz
zu dem in Schritt 201 indizierten Originalsatz. Daher stellen
sie eine unvoreingenommene Schätzung
für den
Wert und/oder die Verteilung ihrer Knotenattribute dar.
-
In
Schritt 205 erzeugt das Verfahren dann einen repräsentativen
Satz von Knoten in dem dezentralisierten Netzwerk 101,
indem mindestens eine Teilmenge der Knoten in die Suchergebnisse
in Schritt 204 eingeschlossen wird. Die Teilmenge kann
aus allen Knoten in dem Suchergebnis bestehen oder eine zufällig ausgewählte Teilmenge
sein, wenn die Anzahl von Knoten in dem Suchergebnis für eine bequeme
Handhabung und effiziente Verarbeitung zu groß ist, um eine unvoreingenommene
Schätzung
der Verteilung anderer Knotenattribute (das heißt anderer als dem in Schritt 202 verwendeten
einen suchbaren Attribut) zu erhalten.
-
3 zeigt
ein Ablaufdiagramm eines alternativen Verfahrens zum Identifizieren
eines repräsentativen
Satzes von Knoten in einem dezentralisierten Netzwerk. Das Verfahren
verwendet eine Attributmatrix, die primäre Knotenattribute enthält, für die der
repräsentative
Satz repräsentativ
sein muss. Beispiele für
solche primären
Knotenattribute sind im Allgemeinen der topologische Netzwerkort,
der tatsächliche
geografische Ort, die Client-Softwareanwendung und/oder Versionsnummer,
die Dauer der Netzwerkmitgliedschaft, die Geschwindigkeit der Netzwerkverbindung
und die eindeutige numerische Adresse (zum Beispiel die IP-Adresse). In
einem dezentralisierten Netzwerk können die primären Knotenattribute
auch die Anzahl der Dateien auf dem Knoten, die Art der Dateien
auf dem Knoten (zum Beispiel Musik, Video, Software, Bild, Textdokument)
und die Anzahl von Dateien oder Dokumenten mit einem bestimmten
Titel auf dem Knoten einschließen.
-
Nach
Auswählen
der primären
Knotenattribute wird dann die Attributmatrix so erzeugt, dass sie
alle möglichen
Kombinationen von Werten für
die ausgewählten
Attribute angibt. Wenn zum Beispiel bei einer bestimmten Anwendung
angenommen wird, dass der physikalische Ort (mit vier Möglichkeiten)
und die Verbindungsgeschwindigkeit (mit zwei Möglichkeiten) die kritischen
Attribute sind, ergibt sich die folgende 2 × 4-Attributmatrix:
| Otküste | Westküste | Mittlerer
wesen | Süden |
< 300 kbit/s | | | | |
> 300 kbit/s | | | | |
-
Bei
komplizierteren Anwendungen können
sich mehrdimensionale Attributmatrizen ergeben.
-
Als
Teil des Definierens der Attributmatrix ist es auch nötig, die
in dem Verfahren zu verwendende Gesamtgröße des Satzes sowie die mit
jeder Zelle der Attributmatrix zu verknüpfende Maximalanzahl zu bestimmen.
Nach einem Ansatz kann die Maximalanzahl für jede Zelle gleich sein, mit
einem Wert für
jeden mit der Zelle verknüpften
Knoten entsprechend dem mit einem bekannten prozentualen Anteil
gewichteten Verfahren, bei dem die Kombination von Attributwerten
entsprechend der Zelle in der fraglichen Population erscheint. Wenn
die Summe der Werte für
alle mit einer Zelle verknüpften
Knoten die Maximalanzahl erreicht, wird die Zelle an diesem Punkt
als „voll" angesehen. Bei einer
angenommenen Gesamtgröße des Satzes
von 8.000 beträgt
zum Beispiel die Maximalanzahl für
jede Zelle 1.000 (das heißt
8.000/[2 × 4]).
Der Wert für
jeden mit der Zelle links oben in der Matrix verknüpften Knoten
wird zum Beispiel mit dem Anteil aller Schmalband-Internet-Nutzer
in den USA gedichtet, die an der Ostküste leben und bekanntlich das
dezentralisierte Netzwerk 101 benutzen.
-
Nach
einem anderen Ansatz wird die Maximalanzahl durch den bekannten
prozentualen Anteil bestimmt, mit dem die Kombination von Attributwerten
entsprechend der Zelle in der fraglichen Population erscheint. Wenn
zum Beispiel die prozentualen Anteile der Schmalband-Internet-Nutzer
an der Ostküste,
der Westküste,
im Mittleren Westen und im Süden
der USA, die das dezentralisierte Netzwerk
101 nutzen,
bezogen auf alle Schmalband-Internet-Nutzer in den USA 30%, 30%,
20% bzw. 20% betragen, die prozentualen An teile der Breitband-Internet-Nutzer
an der Ostküste,
der Westküste,
im Mittleren Westen und im Süden
der USA, die das dezentralisierte Netzwerk
101 nutzen,
bezogen auf alle Breitband-Internet-Nutzer in den USA 35%, 30%,
20% bzw. 15% betragen und der prozentuale Anteil der Schmalband- und Breitband-Internet-Nutzer
in den USA bezogen auf alle Internet-Nutzer in den USA jeweils 50%
beträgt,
ergibt sich die Maximalanzahl von Knoten, die mit jeder Zelle verknüpft sind,
wie folgt:
| Ostküste | Westküste | Mittlerer
Westen | Süden |
< 300 kbit/s | 1.200 | 1.200 | 800 | 800 |
> 300 kbit/s | 1.400 | 1.200 | 800 | 600 |
-
Die
resultierende Attributmatrix wird dann nach dem anhand von 3 beschriebenen
Verfahren verarbeitet.
-
In
Schritt 301 identifiziert das Verfahren einen Anfangsknoten
in dem dezentralisierten Netzwerk 101. Der Einfachheit
halber kann der identifizierte Knoten ein Knoten sein (zum Beispiel
N1), der direkt mit einem Knoten verbunden ist, der das Rechenzentrum 102 mit
dem Netzwerk 101 verbindet (zum Beispiel der Softwareagent
SA3).
-
In
Schritt 302 bestimmt das Verfahren, ob der in Schritt 301 identifizierte
Knoten einen Attributwert aufweist, der mit dem einer Zelle in der
Attributmatrix übereinstimmt.
Falls die Antwort in Schritt 302 NEIN lautet (das heißt, es liegt
keine Übereinstimmung
vor), springt das Verfahren zu Schritt 301 zurück, um einen
weiteren Knoten zu identifizieren, zum Beispiel durch Absuchen der
Netzwerktopologie in herkömmlicher
Weise beginnend ab dem Anfangsknoten. Falls hingegen die Antwort
in Schritt 302 JA lautet (das heißt, es liegt eine Übereinstimmung
vor), fährt
das Verfahren mit Schritt 303 fort.
-
In
Schritt 303 bestimmt das Verfahren, ob die Maximalanzahl
für die
betreffende Zelle erreicht ist (das heißt die Zelle als „voll" angesehen wird,
weil keine weiteren Knoten mehr mit dieser Zelle verknüpft werden können), wobei
die Maximalanzahl zuvor unter. Bezugnahme auf das Aufbauen der Attributmatrix
beschrieben worden ist. Falls die Antwort in Schritt 303 NEIN
lautet, wird in Schritt 304 der übereinstimmende Knoten mit der
Zelle verknüpft,
und das Verfahren springt zu Schritt 302 zurück, um zu
sehen, ob der Knoten einen weiteren Attributwert aufweist, der mit
dem einer anderen Zelle in der Attributmatrix übereinstimmt. Falls die Antwort
in Schritt 303 jedoch JA lautet, fährt das Verfahren mit Schritt 305 fort.
-
In
Schritt 305 bestimmt das Verfahren, ob die Maximalanzahlen
für alle
Zellen in der Attributmatrix erreicht sind. Falls die Antwort in
Schritt 305 NEIN lautet, springt das Verfahren zu Schritt 302 zurück, um zu
sehen, ob der Knoten einen weiteren Attributwert aufweist, der mit
dem einer anderen Zelle in der Attributmatrix übereinstimmt. Falls hingegen
die Antwort in Schritt 305 JA lautet, erzeugt das Verfahren
in Schritt 306 den repräsentativen
Satz von Knoten im dezentralisierten Netzwerk 101 aus den
Knoten, die mit den Zellen in der Attributmatrix verknüpft sind.
In diesem Fall sind vorzugsweise alle derartigen Knoten in dem repräsentativen Satz
enthalten, weil die beim Definieren der Attributmatrix ausgewählte Gesamtgröße des Satzes
sicherstellen sollte, dass die Anzahl von Knoten in dem repräsentativen
Satz für
eine bequeme Handhabung und effiziente Verarbeitung nicht zu groß ist.
-
4 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Anzahl von Knoten
in einem dezentralisierten Netzwerk 101. Dieses Verfahren
benutzt ein Referenznetzwerk mit einer bekannten Anzahl von Knoten
und demselben zugrundeliegenden Adressraum wie das dezentralisierte
Netzwerk 101 zum Definieren von IP-Adressen. Das Referenznetzwerk
kann ein weiteres dezentralisiertes Netzwerk sein, das die jeweils
mit ihm verbundene Anzahl von Knoten registriert und veröffentlicht.
-
In
Schritt 401 zieht das Verfahren einen Zufallssatz von Adressen
aller möglichen
Adressen in einem dem dezentralisierten Netzwerk 101 und
dem Referenznetzwerk zugrundeliegenden gemeinsamen Adressraum.
-
In
Schritt 402 zählt
das Verfahren die Anzahl von mit dem dezentralisierten Netzwerk 101 verknüpften Knoten,
die sich an Adressen in dem Zufallssatz von Adressen befinden. Ein
Verfahren zur Durchführung
dieser Funktion ist ein sog. „Low-Level
Port Scan"-Ansatz.
Bei diesem Absatz wird für
jede IP-Adresse in dem Bereich eine Liste von Ports oder Anschlüssen aufgebaut,
die bekanntlich von der Client-Softwareanwendung für das dezentralisierte
Netzwerk 101 benutzt werden. Dies ist möglich, weil in der Regel alle
Client-Softwareanwendungen einen Standard-Port oder einen Bereich
von Ports benutzen. Für
jeden Port oder Anschluss in der Liste wird dann versucht, eine
IP-Netzwerkverbindung auf unterer Ebene über den betreffenden Port herzustellen
(zum Beispiel Eröffnen
einer TCP-Session, Ausgeben eines HTTP-Befehls GET oder Ausgeben
eines ICMP-Pings usw.). Antwortet der Port mit einer zulässigen IP-Netzwerknachricht,
wird angenommen, dass der Port aktiv ist, und aus der Portnummer
wird die Identität
der Client-Softwareanwendung hergeleitet, die vermutlich benutzt
wird (das heißt
ob sie für
das dezentralisierte Netzwerk 101 oder für eine andere
Art von dezentralisiertem Netzwerk ist). Außerdem wird, wenn der Port
mit einem zulässigen
HTTP-Nachrichtenheader oder Benutzeragenten antwortet, der selbst
das Produkt und die Versionsnummer der Client-Softwareanwendung
beschreibt, die Identität
der Client-Softwareanwendung hergeleitet, die vermutlich benutzt
wird. Wenn andererseits der Port nicht antwortet, mit Datenmüll antwortet
oder mit einer unzulässigen
IP-Netzwerknachricht antwortet, wird angenommen, dass der Port inaktiv
ist; anschließend
wird mit dem nächsten
Port oder Anschluss in der Liste fortgefahren. Dieser Ansatz ermittelt
nicht nur die IP-Adressen, die als Host für die Client-Softwareanwendung
für das
dezentralisierte Netz werk 101 dienen, sondern auch die
IP-Adressen für
andere Client-Softwareanwendungen entsprechend anderer Arten oder
Versionen von dezentralisierten Netzwerken. Anhand dieser Informationen
kann die Dichte für
jede Art von Client-Softwareanwendung (zum Beispiel AOL Instant
Messenger, ICQ, GNUtella usw.) bestimmt werden. Insbesondere ist
es mit einem ausreichend großen
repräsentativen
Satz von IP-Adressen möglich,
Schlussfolgerungen über
die absolute Dichte der jeweiligen Client-Softwareanwendung über alle
IP-Adressen hinweg und die relative Größe der dezentralisierten Netzwerke
zu ziehen, die mit jeder Client-Softwareanwendung verknüpft sind.
-
Ein
weiteres Verfahren zur Durchführung
der Funktion von Schritt 402 ist ein sog. „High-Level
Application Scan"-Ansatz.
Auch bei diesem Absatz wird für
jede IP-Adresse
in dem Bereich eine Liste von Ports oder Anschlüssen aufgebaut, die bekanntlich
von der Client-Softwareanwendung für das dezentralisierte Netzwerk 101 benutzt
werden. Danach wird für
jeden Port oder Anschluss in der Liste versucht, eine Peer-to-Peer-Netzwerkverbindung
auf höherer
Ebene über
den Port für
die betreffende Client-Softwareanwendung herzustellen (zum Beispiel
Anfordern einer Dateiübertragung
für eine
IRC-Client-Softwareanwendung, Senden einer Instant-Message im AOL
Instant Messenger usw.). Antwortet der Port mit einer zulässigen Nachricht
auf höherer
Ebene von der Peer-Anwendung selbst (anstatt von dem Transportmechanismus
auf unterer Ebene), auch wenn die Nachricht eine Verbindung verneint,
wird angenommen, dass die Client-Softwareanwendung
der angenommenen Art auf dem Port läuft. Dieses Verfahren kann
für andere
Client-Softwareanwendungen wiederholt werden, um Schlussfolgerungen über die
Dichten der jeweiligen angenommenen Client-Softwareanwendungen über den
repräsentativen
Satz von IP-Adressen hinweg zu ziehen. Als eine Variante dieses
Ansatzes können
anstelle des Aufbauens einer Liste von Ports, die bekanntlich von
den fraglichen Client-Softwareanwendungen verwendet werden, alle 65.535
definierten Ports abgesucht werden. Auch wenn diese Variante länger dauert,
bietet sie den Vorteil, dass Vorkommen von Client-Softwareanwendungen
gefunden werden, die über
ungewöhnliche
oder nicht erwartete Anschlüsse
laufen. [0066] Noch ein weiteres Verfahren zur Durchführung der
Funktion von Schritt 402 ist der sog. „Honey Pot"- oder Honigtopf-Ansatz. Bei diesem
Ansatz werden Informationen für
mehrere verschiedene Arten von dezentralisierten Netzwerken erhalten. Für jede Art
von Netzwerk werden einer oder mehrere Client-Knoten von dem Rechenzentrum 102 gesteuert und
mit dem Netzwerk verbunden, zum Beispiel Softwareagent SA1. Auf
jedem dieser Client-Knoten sind eine oder mehrere besonders nachgefragte
Dateien oder Dokumente bzw. Köder
davon eingestellt. Falls für
die Art des dezentralisierten Netzwerks erforderlich oder von ihr
unterstützt,
wird die Verfügbarkeit
dieser Elemente dem Netzwerk angezeigt. Die IP-Adressen aller Knoten,
die während
einer bestimmten Zeitdauer versuchen, mit den Client-Knoten zu kommunizieren
oder verbunden zu werden, werden aufgezeichnet. Basierend auf der der
für jede
Art von dezentralisiertem Netzwerk aufgezeichneten Anzahl von eindeutigen. IP-Adressen
können die
relativen Größen der
Netzwerke hergeleitet werden. Für
Netzwerke, die mehrere Client-Softwareanwendungen (zum Beispiel
AOL Instant Messenger 1.0 und AOL Instant Messenger 2.0) unterstützen, wird
die jeweils installierte Basis oder Nutzung der jeweiligen Client-Softwareanwendung
hergeleitet.
-
In
Schritt 403 berechnet das Verfahren eine Knotendichte im
dezentralisierten Netzwerk 101, indem der in Schritt 402 erzeugte
Zählwert
durch die Anzahl der Adressen in dem in Schritt 401 gezogenen
Zufallssatz von Adressen geteilt wird.
-
In
Schritt 404 zählt
das Verfahren die Anzahl von mit dem Referenznetzwerk verknüpften Knoten,
die sich an Adressen in dem Zufallssatz von Adressen befinden, im
Wesentlichen in derselben Weise wie für Schritt 402 beschrie ben,
und in Schritt 405 berechnet das Verfahren eine Knotendichte
im Referenznetzwerk, indem der in Schritt 404 erzeugte
Zählwert
durch die Anzahl der Adressen in dem in Schritt 401 gezogenen Zufallssatz
von Adressen geteilt wird.
-
In
Schritt 406 schätzt
das Verfahren die Anzahl von Knoten im dezentralisierten Netzwerk 101,
indem die in Schritt 403 berechnete Knotendichte im dezentralisierten
Netzwerk 101 mit der bekannten Anzahl von Knoten im Referenznetzwerk
multipliziert wird und das Produkt durch die in Schritt 405 berechnete
Knotendichte im Referenznetzwerk geteilt wird.
-
5 zeigt
ein Ablaufdiagramm eines alternativen Verfahrens zum Schätzen der
Anzahl von Knoten in einem dezentralisierten Netzwerk. In Schritt 501 zieht
das Verfahren einen Zufallssatz von Adressen aller möglichen
Adressen in einem zugrundeliegenden Adressraum des dezentralisierten
Netzwerks 101. In Schritt 502 zählt das
Verfahren die Anzahl von mit dem dezentralisierten Netzwerk 101 verknüpften Knoten,
die sich an Adressen in dem Zufallssatz von Adressen befinden, im
Wesentlichen in derselben Weise wie für Schritt 402 in 4 beschrieben,
und in Schritt 503 berechnet das Verfahren eine Knotendichte
im dezentralisierten Netzwerk 101, indem der in Schritt 502 erzeugte
Zählwert
durch die Anzahl der Adressen in dem in Schritt 501 gezogenen
Zufallssatz von Adressen geteilt wird. In Schritt 504 schätzt das
Verfahren die Anzahl von Knoten im dezentralisierten Netzwerk 101,
indem die in Schritt 503 berechnete Dichte mit der bekannten
Größe des zugrundeliegenden
Adressraums multipliziert wird.
-
Als
ein Beispiel für
dieses Verfahren wird ein Netzwerk von Peer-to-Peer-Clients für das Instant
Messaging unter IPv4 angenommen, das einen gesamten Adressraum von
etwa 4 Milliarden (das heißt
232) eindeutigen IP-Adressen aufweist. Wenn
eine Größe des Satzes
von 1.000 IP-Adressen gewünscht
wird, werden in diesem Fall 1.000 Zahlen zwischen 1 und 232 zufällig
gezogen, wobei jede dieser Zahlen einer eindeutigen IP-Adresse entspricht.
Durch Abtasten der Ports oder durch den Versuch, eine Verbindung
zu jeder der IP-Adressen
herzustellen, können
die mit dem dezentralisierten Netzwerk 101 verbundenen
IP-Adressen und die Knoten an diesen Adressen bestimmt werden. Wenn
zum Beispiel drei der Adressen einzelne Knoten aufweisen, die mit
dem dezentralisierten Netzwerk 101 verbunden sind, und
eine Adresse auf einen privaten Adressraum mit vier zusätzlichen
Knoten verweist, die mit dem dezentralisierten Netzwerk 101 verbunden sind,
wird die Gesamtanzahl von Knoten im dezentralisierten Netzwerk 101 auf
etwa 30 Millionen Clients (das heißt 232·[(3 +
4)/1.000]) geschätzt.
-
6 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Wachstumsrate eines
dezentralisierten Netzwerks. In Schritt 601 schätzt das
Verfahren die Anzahl von Knoten im dezentralisierten Netzwerk 101 zu
einem Zeitpunkt t0. In Schritt 602 wartet das Verfahren
eine feste Zeitdauer Delta T (oder Δt) und schätzt dann erneut die Anzahl
von Knoten im dezentralisierten Netzwerk 101 zu einem Zeitpunkt
(t0 + Δt).
-
In
Schritt 603 schätzt
das Verfahren die Wachstumsrate des dezentralisierten Netzwerks 101,
indem die geschätzte
Anzahl von Knoten im dezentralisierten Netzwerk 101 zum
Zeitpunkt t0 von der geschätzten Anzahl
von Knoten im dezentralisierten Netzwerk 101 zum Zeitpunkt
(t0 + Δt)
abgezogen wird und die Differenz durch die feste Zeitdauer Δt geteilt
wird. Das Schätzen
der Anzahl von Knoten im dezentralisierten Netzwerk 101,
wie in Schritt 601 und 602 durchgeführt, kann
entweder mit dem anhand von 4 oder dem
anhand von 5 beschriebenen Verfahren erfolgen.
-
7 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Beschleunigung des
Wachstums eines dezentralisierten Netzwerks. In Schritt 701 erzeugt
das Verfahren einen ersten Schätzwert
(E1) für
die Anzahl von Knoten im dezentralisierten Netzwerk 101 zu
einem Zeitpunkt t0. In Schritt 702 wartet das Verfahren
eine Zeitdauer (Δt)
und erzeugt dann einen zweiten Schätzwert (E2) für die Anzahl
von Knoten im dezentralisierten Netzwerk 101 zu einem Zeitpunkt
(t0 + Δt).
In Schritt 703 wartet das Verfahren erneut die Zeitdauer (Δt) und erzeugt
dann einen dritten Schätzwert
(E3) für
die Anzahl von Knoten im dezentralisierten Netzwerk 101 zu
einem Zeitpunkt (t0 + 2·Δt).
-
In
Schritt 704 schätzt
das Verfahren die Beschleunigung des Wachstums der Anzahl von Knoten
im dezentralisierten Netzwerk 101, indem durch Verdoppeln
des zweiten Schätzwerts
(das heißt
[2·E2])
ein Produkt erzeugt wird, durch Abziehen des ersten und des dritten
Schätzwerts
von dem Produkt (das heißt
[2·E2] – E1 – E3) eine
Differenz erzeugt wird und indem die Differenz durch die Zeitdauer Δt dividiert
wird (das heißt [[2·E2] – E1 – E3]/Δt). Das Erzeugen
des ersten, des zweiten und des dritten Schätzwerts kann entweder mit dem
anhand von 4 oder dem anhand von 5 beschriebenen
Verfahren erfolgen.
-
8 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Anzahl von Vorkommen
einer Datei in einem dezentralisierten Netzwerk. In Schritt 801 identifiziert
das Verfahren einen repräsentativen
Satz von Knoten im dezentralisierten Netzwerk 101, indem
entweder das anhand von 2 oder das anhand von 3 beschriebene
Verfahren durchgeführt
wird.
-
In
Schritt 802 bestimmt das Verfahren die Vorkommensdichte
einer Datei in dem in Schritt 810 identifizierten repräsentativen
Satz von Knoten. Eine Möglichkeit
hierfür
besteht darin, die Anzahl von Vorkommen der Datei in dem repräsentativen
Satz von Knoten zu zählen
und den Zählwert
durch die Anzahl von Knoten in dem repräsentativen Satz von Knoten
zu teilen. Eine andere Möglichkeit
besteht darin, eine global eindeutige Identifikation für die Datei
zu bestimmen, zum Beispiel durch Abfragen des dezentralisierten
Netzwerks 101 nach der Datei und Erhalten der global eindeutigen
Identifikation aus den Suchergebnissen, Zählen der Anzahl von Auftritten
der global eindeutigen Identifikation in allen Knoten des repräsentativen
Satzes von Knoten und Teilen des Zählwerts durch die Anzahl von
Knoten in dem repräsentativen
Satz von Knoten. Noch eine weitere Möglichkeit ist das Berechnen
von Einweg-Hash-Werten
für alle
Dateien, die sich in dem repräsentativen
Satz von Knoten befinden, Zählen
der Anzahl von Malen, die ein Einweg-Hash-Wert für die Datei unter den berechneten
Einweg-Hash-Werten für
alle Dateien auftritt, die sich in dem repräsentativen Satz von Knoten
befinden, und Teilen des Zählwerts
durch die Anzahl von Knoten in dem repräsentativen Satz von Knoten.
-
In
Schritt 803 schätzt
das Verfahren die Anzahl von Vorkommen. der Datei im dezentralisierten
Netzwerk 101 durch Multiplizieren der Dichte seiner Knoten,
wie in Schritt 802 bestimmt, mit der Gesamtanzahl von Knoten
im dezentralisierten Netzwerk 101. Wenn keine Informationen über die
Gesamtanzahl von Knoten im dezentralisierten Netzwerk 101 verfügbar sind,
wird diese Anzahl zum Beispiel mit einem der anhand von 4 und 5 beschriebenen
Verfahren geschätzt.
-
9 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Ausbreitungsrate einer
Datei in einem dezentralisierten Netzwerk. In Schritt 901 schätzt das
Verfahren die Anzahl von Vorkommen der Datei im dezentralisierten
Netzwerk 101 zum Zeitpunkt t0, indem zum Beispiel das anhand
von 8 beschriebene Verfahren verwendet wird. In Schritt 902 wartet
das Verfahren eine feste Zeitdauer Delta T (oder Δt) und schätzt dann
erneut die Anzahl von Vorkommen der Datei im dezentralisierten Netzwerk 101 zu
einem Zeitpunkt (t0 + Δt).
-
In
Schritt 903 schätzt
das Verfahren die Ausbreitungsrate der Datei im dezentralisierten
Netzwerk 101, indem die geschätzte Anzahl von Vorkommen im
dezentralisierten Netzwerk 101 zum Zeitpunkt t0 von der
geschätzten
Anzahl von Vorkommen im dezentralisierten Netzwerk 101 zum Zeitpunkt
(t0 + Δt)
abgezogen wird und die Differenz durch die feste Zeitdauer Δt geteilt
wird.
-
10 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Beschleunigung der
Ausbreitung einer Datei in einem dezentralisierten Netzwerk. In
Schritt 1001 erzeugt das Verfahren einen ersten Schätzwert (E1)
für die
Ausbreitungsrate der Datei im dezentralisierten Netzwerk 101 zu
einem Zeitpunkt t0. In Schritt 1002 wartet das Verfahren
eine Zeitdauer (Δt)
und erzeugt dann einen zweiten Schätzwert (E2) für die Ausbreitungsrate
der Datei im dezentralisierten Netzwerk 101 zu einem Zeitpunkt
(t0 + Δt).
In Schritt 1003 wartet das Verfahren erneut die Zeitdauer
(Δt) und
erzeugt dann einen dritten Schätzwert
(E3) für
die Ausbreitungsrate der Datei im dezentralisierten Netzwerk 101 zu
einem Zeitpunkt (t0 + 2·Δt).
-
In
Schritt 1004 schätzt
das Verfahren dann die Beschleunigung der Ausbreitung der Datei
im dezentralisierten Netzwerk 101, indem durch Verdoppeln
des zweiten Schätzwerts
(das heißt
[2·E2])
ein Produkt erzeugt wird, durch Abziehen des ersten und des dritten
Schätzwerts
von dem Produkt (das heißt
[2·E2] – E1 – E3) eine
Differenz erzeugt wird und indem die Differenz durch die Zeitdauer Δt dividiert
wird (das heißt
[[2·E2] – E1 – E3]/Δt). Das Erzeugen
des ersten, des zweiten und des dritten Schätzwerts kann zum Beispiel mit
dem anhand von 9 beschriebenen Verfahren erfolgen.
-
11 zeigt
ein Ablaufdiagramm eines Verfahrens zum gleichmäßigen Infiltrieren eines dezentralisierten
Netzwerks mit Softwareagenten, die sich als Knoten im dezentralisierten
Netzwerk verkleiden. In Schritt 1101 identifiziert das
Verfahren einen repräsentativen
Satz von Knoten in dem dezentralisierten Netzwerk 101, indem
entweder das anhand von 2 oder das anhand von 3 beschriebene
Verfahren durchgeführt
wird. In Schritt 1102 hängt
das Verfahren dann einen entsprechenden Softwareagenten, der sich
als ein Knoten verkleidet, an jeden der Knoten in dem repräsentativen
Satz von Knoten an. Wie vorstehend beschrieben, sind die Softwareagenten
solche, die sich entweder auf einem oder mehreren Computern befinden,
die das Rechenzentrum 102 bilden, oder auf einem oder mehreren
Computern, die direkt oder über
ein virtuelles Netzwerk mit dem Rechenzentrum 102 verbunden
sind. In jedem Fall werden ihre Aktivitäten im Allgemeinen von dem
Rechenzentrum 102 verwaltet und/oder festgelegt.
-
12 zeigt
ein Ablaufdiagramm eines Verfahrens zum gleichmäßigen Verteilen von Dateien
in einem dezentralisierten Netzwerk. In Schritt 1201 infiltriert
das Verfahren das dezentralisierte Netzwerk 101 gleichmäßig mit
Softwareagenten, die sich als Knoten im dezentralisierten Netzwerk 101 verkleiden,
in der gleichen Weise wie zum Beispiel unter Bezugnahme auf 11 beschrieben.
In Schritt 1202 lädt
das Verfahren dann eine Datei auf jeden der Softwareagenten.
-
13 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Gesamtanzahl von Suchabfragen
in einem dezentralisierten Netzwerk über eine vorgegebene Zeitdauer.
In Schritt 1301 infiltriert das Verfahren das dezentralisierte
Netzwerk 101 gleichmäßig mit
Softwareagenten, in der gleichen Weise wie zum Beispiel unter Bezugnahme
auf 11 beschrieben. In Schritt 1302 veranlasst
das Verfahren die Softwareagenten dazu, alle Suchabfragen aufzuzeichnen,
die sie während
einer vorgegebenen Zeitdauer empfangen.
-
In
Schritt 1303 schätzt
das Verfahren die Gesamtanzahl von Suchabfragen im dezentralisierten
Netzwerk 101 während
der vorgegebenen Zeitdauer, indem eine Summe durch Addieren der
durch die Softwareagenten während
der vorgegebenen Zeitdauer aufgezeichneten empfangenen Suchabfragen
erzeugt wird, ein Produkt durch Multiplizieren der Summe mit der
Anzahl von Knoten im dezentralisierten Netzwerk 101 erzeugt wird
und das Produkt durch die Anzahl der Softwareagenten geteilt wird.
Wenn keine Informationen über
die Gesamtanzahl von Knoten im dezentralisierten Netzwerk 101 verfügbar sind,
wird diese Anzahl zum Beispiel mit einem der anhand von 4 und 5 beschriebenen
Verfahren geschätzt.
-
14 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Gesamtanzahl von Suchabfragen
für eine
Datei in einem dezentralisierten Netzwerk über eine vorgegebene Zeitdauer.
In Schritt 1401 infiltriert das Verfahren das dezentralisierte
Netzwerk 101 gleichmäßig mit
Softwareagenten, in der gleichen Weise wie zum Beispiel unter Bezugnahme
auf 11 beschrieben. In Schritt 1402 veranlasst
das Verfahren die Softwareagenten dazu, alle Suchabfragen für eine Datei
aufzuzeichnen, die sie während
einer vorgegebenen Zeitdauer empfangen.
-
In
Schritt 1403 schätzt
das Verfahren die Gesamtanzahl von Suchabfragen für die Datei
im dezentralisierten Netzwerk 101 während der vorgegebenen Zeitdauer,
indem eine Summe durch Addieren der durch die Softwareagenten während der
vorgegebenen Zeitdauer aufgezeichneten empfangenen Suchabfragen
für die
Datei erzeugt wird, ein Produkt durch Multiplizieren der Summe mit
der Anzahl von Knoten im dezentralisierten Netzwerk 101 erzeugt
wird und das Produkt durch die Anzahl der Softwareagenten geteilt
wird. Wenn keine Informationen über
die Gesamtanzahl von Knoten im dezentralisierten Netzwerk 101 verfügbar sind,
wird diese Anzahl zum Beispiel mit einem der anhand von 4 und 5 beschriebenen
Verfahren geschätzt.
-
15 zeigt
ein Ablaufdiagramm eines Verfahrens zum Schätzen der Gesamtanzahl von Downloads einer
Datei in einem dezentralisierten Netzwerk über eine vorgegebene Zeitdauer.
In Schritt 1501 infiltriert das Verfahren das dezentralisierte
Netzwerk 101 gleichmäßig mit
Softwareagenten, in der gleichen Weise wie zum Beispiel unter Bezugnahme
auf 11 beschrieben. In Schritt 1502 lädt das Verfahren
eine Datei auf jeden der Softwareagenten. In diesem Fall können die
Dateien zulässige
Kopien oder Köderdateien
sein, die eine zulässige
Kopie vortäuschen.
-
In
Schritt 1503 veranlasst das Verfahren die Softwareagenten,
auf jede Downloadanfrage für
eine Kopie der Datei entsprechend den Richtlinien und Traditionen
des dezentralisierten Netzwerks 101 während einer vorgegebenen Zeitdauer
(zum Beispiel eine Minute, eine Stunde, ein Tag usw.) zu reagieren
und eine Aufzeichnung jedes Downloads durch Führen eines Protokolls aller
Ergebnisse zu behalten. In Schritt 1504 bestimmt das Verfahren
die Gesamtanzahl erfolgreicher Downloads für alle Softwareagenten während der
vorgegebenen Zeitdauer aus ihren jeweiligen Aufzeichnungen der Downloads.
-
In
Schritt 1505 schätzt
das Verfahren dann die Gesamtanzahl von Downloads der Datei im dezentralisierten
Netzwerk 101 während
der vorgegebenen Zeitdauer, indem ein Produkt durch Multiplizieren
der in Schritt 1504 bestimmten Gesamtanzahl von Downloads
während
der vorgegebenen Zeitdauer erzeugt wird und das Produkt durch die
Anzahl von Softwareagenten geteilt wird.
-
Obwohl
die verschiedenen Aspekte der vorliegenden Erfindung anhand einer
bevorzugten Ausführungsform
beschrieben worden ist, gilt als vereinbart, dass die vorliegende
Erfindung dem vollen Schutz im Rahmen des vollständigen Umfangs der anliegenden
Ansprüche
unterliegt.