-
Technisches
Gebiet
-
Die
vorliegende Erfindung betrifft ein Verfahren beim Senden/Übertragen
von Dateien von Sendeeinheiten zum Empfangseinheiten, bei dem Beispiele
der Dateien, die gesendet/übertragen
werden sollen, in einer Mehrzahl von Sendeeinheiten gespeichert
werden. Die vorliegende Erfindung betrifft weiter ein Computerprogramm,
das Programmschritte zum Ausführen
der Schritte in einem Verfahren gemäß der Erfindung einschließt, ein
computerlesbares Medium, das Anweisungen zum Ausführen der
Schritte in einem Verfahren gemäß der Erfindung
einschließt,
und ein Datenpaket beim Senden/Übertragen
von Dateien.
-
Technischer
Hintergrund
-
Beim
Senden/Übertragen
von Dateien von einer Sendeeinheit, oder einem Server, zu einer
Empfangseinheit, zum Beispiel über
das Internet, geschieht es häufig,
dass die Sendeeinheit oder das Netz, das für die Übertragung verwendet wird, überlastet
ist. Dies kann dazu führen,
dass die Übertragungsgeschwindigkeit
von einem Server zu der Empfangseinheit sehr niedrig sein wird,
was wiederum zu einer sehr langen Dauer der Übertragung führt und
auch dazu führen
kann, dass die Übertragung
nicht gelingt.
-
Es
ist jedoch zum Beispiel im Internet üblich, dass Dateien kopiert
und an eine Mehrzahl von Servern verteilt werden, um die Belastung
auf diesen Servern zu verteilen, was zu Dateien führen kann,
deren Übertragung
oft angefordert wird. Dies wird die Gefahr von Überlastung reduzieren und eröffnet natürlich auch
die Möglichkeit,
eine zu langsame Übertragung
einer Datei abzubrechen und Übertragung
dieser Datei von einem anderen Server anzufordern.
-
Ein
Problem in diesem Zusammenhang besteht darin, dass der Benutzer
oder die Empfangseinheit nicht weiß, welcher Server oder welcher
Teil des Netzes zu dem bestimmten Zeitpunkt eine niedrige Belastung aufweist.
Hierdurch besteht natürlich
die Gefahr, dass auch dieser Server überlastet ist oder sein wird
und dass die Übertragungsgeschwindigkeit
gesenkt wird, oder unterbrochen/abgebrochen werden muss. Bei unterbrochener/abgebrochener Übertragung
muss die gesamte Datei in den meisten Fällen von dem gleichen oder
einem anderen Server erneut gesendet/übertragen werden.
-
Das
Dokument
JP11242640 offenbart
Dateiübertragung,
bei der Stücke
der Datei über
mehrere Datenverbindungen übertragen
werden, und bei der die Stücke
an willkürlichen
Positionen beginnen.
-
Zusammenfassung
der Erfindung
-
Ein
Ziel der vorliegenden Erfindung besteht in der Schaffung eines Verfahrens
beim Senden/Übertragen
einer oder mehrerer Dateien von Sendeeinheiten, bei dem Beispiele
der Datei oder Dateien gespeichert werden, zu Empfangseinheiten,
welches Verfahren eine sehr schnelle Übertragung und eine gleichmäßige Nutzung
der Sendeeinheiten und des Netzes bewirkt, das genutzt wird. Dieses
Ziel wird der vor liegenden Erfindung zufolge durch ein Verfahren
gemäß den anliegenden
Patentansprüchen
erreicht.
-
Einem
Aspekt der vorliegenden Erfindung zufolge wird ein Verfahren beim
Senden/Übertragen
von Dateien von Sendeeinheiten zu Empfangseinheiten erreicht, bei
dem Beispiele der Dateien, die übertragen werden
sollen, in einer Mehrzahl von Sendeeinheiten gespeichert werden.
Durch das Verfahren werden in wenigstens zwei Sendeeinheiten Steueranweisungen
zur Anforderung des Sendens eines Anteils jeder der wenigstens einen
Datei von einer Empfangseinheit empfangen. Jeder diese Anteile wird
dann zusammen mit Information übertragen,
die die Position jedes dieser Anteile in der wenigstens einen Datei
von jeder der wenigstens zwei Sendeeinheiten an die Empfangseinheit
anzeigt.
-
Die
Erfindung beruht folglich auf der Kenntnis des Vorteils des Sendens
von Anteilen von wenigstens einer Datei von einer Mehrzahl von Sendeeinheiten
durch verschiedene Anteile der wenigstens einen Datei, die von verschiedenen
Sendeeinheiten gesendet/übertragen
wird. Dies führt
zu dem Vorteil, dass nur ein Anteil der wenigstens einen Datei beeinflusst
wird, wenn eine Sendeeinheit überlastet
ist und die Übertragungsgeschwindigkeit
dieser Einheit stark reduziert ist. Hierdurch kann die gesamte Übertragungszeit
der wenigstens einen Datei beträchtlich
verglichen mit dem Fall reduziert werden, dass die wenigstens eine
Datei vollständig von
einer Sendeeinheit mit niedriger Übertragungsgeschwindigkeit
gesendet/übertragen
werden sollte. Ferner liefert die Übertragung von Information,
die die Position in der wenigstens Datei eines Anteils anzeigt,
der gesendet/übertragen
wird, Grunddaten an die Sendeeinheit bei Wiederherstellung der mindestens
einen Datei aufgrund der gesendeten Anteile. Das erfindungsgemäße Verfahren
erfordert, dass wenigstens ein Beispiel jeder der Dateien, die gesendet/übertragen
werden sollen, an wenigstens zwei Sendeeinheiten vorliegt.
-
Durch
Anteile ist eine bestimmte Menge von Information einer Anzahl von
Dateien gemeint, wie zum Beispiel ein Anteil einer Datei, eine Datei,
eine Anzahl von Dateien oder eine Anzahl vollständiger Dateien und ein Anteil
einer Datei. Der Erfindung zufolge bestehen die Dateien, die gesendet/übertragen
werden sollen, aus wenigstens zwei Anteilen der gleichen Größe oder
unterschiedlicher Größe. Die
Größe und Anzahl
der Anteile, und welchen Anteil der Dateien die Anteile bilden,
wird durch die Einheit entschieden, die die Übertragung anfordert.
-
Einer
bevorzugten Ausführungsform
zufolge werden in einer ersten Sendeeinheit Steueranweisungen von
einer Empfangseinheit für
eine Abfrage einer Größe wenigstens
einer Datei empfangen, woraufhin Information bezüglich der Größe der wenigstens
einen Datei von der ersten Sendeeinheit zu der Empfangseinheit gesendet
wird. Dies liefert den Vorteil, dass die Sendeeinheit vor Beginn
des Sendens/Übertragens
Grunddaten haben wird, welche die Bestimmung der Anzahl von Anteilen,
der Größe eines
jeweiligen Anteils, und davon erleichtern wird, welche Sendeeinheit
einen jeweiligen Anteil senden/übertragen
soll. Ferner schließen
die Steueranweisungen von der Empfangseinheit zur Anforderung von
Senden vorzugsweise eine Startbyteposition und eine Endbyteposition
für jeden
Anteil in der wenigstens einen Datei ein.
-
Die
Sendeeinheiten werden dann vorzugsweise abhängig von den Übertragungsgeschwindigkeiten eingesetzt,
die sie anbieten können.
Dies erfolgt in einer bevorzugten Ausführungsform, indem die Übertragungsgeschwindigkeit
von der jeweiligen Einheit geschätzt
wird und die Größe des jeweiligen
Anteils aufgrund der geschätzten Übertragungsgeschwindigkeit
bestimmt wird. Dies liefert den Vorteil, dass das Senden/Übertragen
effizienter ausgeführt
werden kann.
-
Einer
anderen Ausführungsform
der Erfindung zufolge, wird die Übertragungskapazität der Sendeeinheiten,
die zuerst das Senden/Übertragen
ihres Anteils der Dateien zu der Empfangseinheit beenden, auch zum
Senden der Anteile genutzt, für
die das Senden begonnen, jedoch nicht beendet wurde. Vorzugsweise erfolgt
dies durch eine Steueranweisung zur Anforderung des Sendens eines
Anteils, der nicht vollständig
gesendet/übertragen
wurde, der zu der Sendeeinheit gesendet/übertragen wird, die ihr Senden
beendet hat. Der Vorteil, der durch diese Ausführungsform der Erfindung erzielt
wird, besteht darin, dass mehrere Anteile von den Sendeeinheiten
gesendet/übertragen
werden können,
die die höchste
Kapazität
haben, ohne dass Überprüfung oder
Schätzung
der jeweiligen Übertragungsgeschwindigkeit
benötigt
wird, bevor Senden der Dateien angefordert wird. Dieser Schritt
wird wiederholt, bis alle Anteile der Dateien gesendet/übertragen
worden sind. Vorzugsweise, jedoch nicht unbedingt, werden alle Übertragungen
eines Anteils der Dateien, die nicht beendet worden sind, unterbrochen/abgebrochen,
wenn die Übertragung
dieses Anteils von einer Sendeeinheit abgeschlossen worden ist.
-
Zum
Erreichen des Vorteils einer höheren
Gesamtübertragungsgeschwindigkeit
wird gemäß einer Ausführungsform der
Erfindung zuerst eine Prüfung
davon ausgeführt,
für welchen
Anteil, oder von welcher Sendeeinheit die Übertragungsgeschwindigkeit
am niedrigsten war, das heißt,
wo der größte Teil
des Anteils noch zu senden/übertragen
verbleibt. Danach wird Senden genau dieses Anteils der Dateien angefordert.
Der Vorteil hiervon ist es, dass die Gefahr einer Blockierung, die
durch Anhalten der Übertragung
von einer Sendeeinheit oder sehr langsames Ausführen derselben verursacht wird,
zum Beispiel aufgrund von Überlastung von
Netz oder Server, beseitigt wird. Weiter wird vorzugsweise Senden/Übertragen
nur eines Anteils angefordert, von dem der größte Anteil des Anteils weiterhin
von der Einheit zu senden/übertragen
bleibt, die Senden/Übertragen
eines Segments beendet hat. Dieser Anteil bildet den Anteil oder
einen Teil des Anteils des Anteils, bei dem die Übertragung noch nicht beendet
ist. Hierdurch wird keine Anforderung zum Senden irgendeines Anteils
eines Anteils der Dateien gestellt, der bereits zur Empfangseinheit
gesendet/übertragen wurde,
was zu dem Vorteil führt,
dass die Gesamtübertragungsgeschwindigkeit
weiter verbessert werden kann.
-
Zum
Erreichen einer noch höheren
Gesamtübertragungsgeschwindigkeit
wird der Anteil gemäß einer bevorzugten
Ausführungsform
in jeder der Sendeeinheiten als Reaktion auf eine Steueranweisung
zum Senden eines Anteils der Dateien in einem Puffer untergebracht.
Anteile in dem Puffer werden dann zu der Empfangseinheit über nur
einen asynchronen Sendekanal gesendet/übertragen. Dass alle Anteile
von einer Sendeeinheit über
nur einen asynchronen Sendekanal gesendet/übertragen werden, birgt den
Vorteil, dass eine beträchtlich
kürzere
Zeit zum Einrichten von Sendekanälen
beim Senden einer Anzahl von Anteilen als bei bekannten Verfahren
benötigt
wird, bei denen ein neuer Sendekanal für jedes Senden/Übertragen
eingerichtet wird, was wiederum zu einer kürzeren Zeit zum Senden/Übertragen
der Dateien führt.
-
Einer
anderen Ausführungsform
zufolge wird jeder der Anteile von der jeweiligen Sendeeinheit in
Datenpaketen gesendet/übertragen.
Hierbei wird ein jeweiliger Anteil in Segmente unterteilt, und die
Segmente werden jeweils in einen Datenteil eines Datenpakets gepackt.
Die Datenpakete werden mit einem Kopfsatz versehen, von denen jeder
eine Anzahl von Identitätsbytes,
die die Datei identifizieren, mit der das Datenpaket zusammenhängt, und
eine Anzahl von Positionsbytes einschließt, die eine Position in der
wenigstens einen Datei für
das Segment anzeigen, das der Datenteil des Datenpakets einschließt. Weiter
werden die Datenpakete in einem Puffer untergebracht und zu der
Empfangseinheit über
nur einen asynchronen Sendekanal gesendet/übertragen. Eine Auswirkung
dieser Ausführungsform
besteht darin, dass die Empfangseinheit identifizieren kann, zu
welcher Datei ein gesendetes/übertragenes
Datenpaket gehört
und welche Position dieses Segment, das das Datenpaket einschließt, in der
wenigstens einen Datei aufweist. Dies liefert den Vorteil, dass Wiederherstellung
der wenigstens einen Datei in der Empfangseinheit und auch die Prüfung, für welchen
Anteil die Übertragungsgeschwindigkeit
am langsamsten war, einfacher sein wird.
-
Bei
einer anderen Ausführungsform
werden auch Datenpakete, deren Datenteil andere Daten als Segmente
der wenigstens einen Datei einschließt, gesendet/übertragen
werden. In dieser Hinsicht schließt der Kopfsatz eines Datenpakets,
das ein Segment einschließt,
weiter eine Anzahl von Typenbytes zur Anzeige, dass der Datenteil
des Datenpakets ein Segment einer Datei einschließt, und
eine Anzahl von Größenbytes zur
Anzeige der Größe des Datenteils
des Datenpakets ein. Dieser Ausführungsform
zufolge wird ein Datenpaket, dessen Datenteil den Namen der Datei
einschließt,
mit der das Datenpaket zusammenhängt,
vorzugsweise von jeder der wenigstens zwei Sendeeinheiten für jede Datei
jedes dieses Anteils der wenigstens einen Datei gesendet. Für diesen
Typ von Datenpaketen schließt
der Kopfsatz des Datenpakets eine Anzahl von Typenbytes ein, die
anzeigen, dass der Datenteil eines Datenpakets einen Namen einer
Datei einschließt.
Weiter wird ein Datenpaket, dessen Datenteil die Größe der Datei
einschließt,
mit der das Datenpaket zusammenhängt,
gemäß dieser
Ausführungsform
vorzugsweise von jeder der wenigstens zwei Sendeeinheiten für jede Datei
jedes Anteils der wenigstens einen Datei gesendet/übertragen.
Für diesen
Typ von Datenpaketen schließt
der Kopfsatz des Datenpakets eine Anzahl von Typenbytes ein, die
anzeigen, dass der Datenteil des Datenpakets eine Größe einer
Datei einschließt.
-
Die
vorliegende Erfindung führt
folglich zu dem allgemeinen Vorteil, dass eine Verteilung der Belastung,
die durch Dateisenden/Übertragen
verursacht wird, auf solche Weise erreicht wird, dass die Route,
welche zu jedem Anlass am wenigstens belastet ist, am meisten für das Senden/Übertragen
der Datei von aktuellem Interesse genutzt werden wird. Hierdurch
wird die Situation auch für
die Benutzer, die nicht das Verfahren oder die Vorrichtung gemäß der vorliegenden
Erfindung verwenden, verbessert.
-
Es
wird verstanden, dass die oben erörterten Ausführungsformen
und kennzeichnenden Merkmale in vorteilhafter Weise abhängig von
der aktuellen Anwendung kombiniert werden können.
-
Weitere
Qualitäten
der Erfindung werden durch die folgende Beschreibung von beispielhaften
Ausführungsformen
derselben und durch die anliegenden Patentansprüche deutlich werden.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung soll nun im Folgenden detaillierter unter Bezugnahme auf
die beigefügten
Zeichnungen beschrieben werden, in denen:
-
1 schematisch
ein System zum Ausführen
eines Verfahrens gemäß der vorliegenden
Erfindung zeigt;
-
2a–2d schematisch
einen Prozess gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung zeigen;
-
3a–3d schematisch
einen Prozess gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung zeigen;
-
4 schematisch
einen Schritt, der dem in 2a bzw. 3a gezeigten
Schritt entspricht, eines Prozesses einer alternativen Ausführungsform
der vorliegenden Erfindung zeigt;
-
5 ein
schematisches Ablaufdiagramm für
eine Ausführungsform
der vorliegenden Erfindung zeigt;
- A
- = Start
- B
- = Senden/Übertragen
von Anforderung bezüglich
Größe
- C
- = Empfangen von Anforderung
bezüglich
Größe
- D
- = Senden/Übertragen
von Größe
- E
- = Senden/Übertragen
von Anforderung zum Senden/Übertragen
von Anteilen
- F
- = Empfangen von Anforderung
zum Senden/Übertragen
- G
- = Unterteilen von
Anteilen in Segmente und Unterbringen in Datenpaketen
- H
- = Unterbringen von
Datenpaketen in Puffer
- I
- = Senden/Übertragen
von Datenpaketen
- J
- = Stop
-
6 zeigt
ein Datenpaket gemäß einer
Ausführungsform
der vorliegenden Erfindung, und
-
7 zeigt
eine Anzahl schematisch dargestellter Dateien, die in eine Anzahl
von Anteilen unterteilt worden sind.
-
Beschreibung
bevorzugter Ausführungsformen
-
1 zeigt
schematisch ein System zum Ausführen
eines Verfahrens gemäß Ausführungsformen
der Erfindung. Das System schließt eine Empfangseinheit oder
einen Computer 100, und eine Anzahl von Sendeeinheiten
oder Servern 110, 111, 112, 113 ein,
die alle durch Anschluss an ein Netz 120 vernetzt sind,
welches in bevorzugten Ausführungsformen
das Internet ist. Beim jeweiligen Server 111, 112, 113, 114 wird
wenigstens ein Beispiel einer Datei gespeichert, die man zum Computer 100 übertragen
haben möchte.
Zum Vereinfa chen der Beschreibung, ist die Anzahl von dargestellten
Servern auf vier begrenzt worden, was nicht als eine Begrenzung
oder Empfehlung für
eine geeignete Anzahl von Servern betrachtet werden soll.
-
Kommunikation
zwischen Computer und Server erfolgt am besten gemäß genormten
und gut bekannten IP-Protokollen.
-
Unter
Bezugnahme auf die 2a–2d ist
schematisch ein Beispiel eines Verfahrens gemäß einer bevorzugten Ausführungsform
und einer Vorrichtung gemäß der vorliegenden
Erfindung gezeigt. Diesem Beispiel zufolge wird angenommen, dass
die Dateien, die man gesendet haben möchte, von vier verschiedenen Servern
gesendet/übertragen
werden können.
Die Bezugsbezeichnung F bezieht sich auf eine Anzahl schematisch
dargestellter Dateien, die man zu dem Computer 100 gesendet/übertragen
haben möchte,
und die Bezugsbezeichnung A1–A4
zeigt Anteile der Dateien F an, bei welchem jeweiligen Anteil in
diesem Beispiel sich eine Anzahl von Dateien der Dateien F befindet.
Diesem Beispiel zufolge werden Steueranweisungen zur Anforderung
von Herunterladen der Dateien F von den Servern 100–104 gesendet/übertragen.
Genauer ausgedrückt,
wird eine Steueranweisung zu einem ersten Server 110 zur
Anforderung des Sendens eines ersten Anteils A1 der Dateien F, eine
Steueranweisung zu einem zweiten Server 111 zur Anforderung
des Sendens eines zweiten Anteils A2, eine Steueranweisung zu einem
dritten Server 112 zur Anforderung des Sendens eines dritten
Anteils A3, und eine Steueranweisung an einen vierten Server 113 zur
Anforderung des Sendens eines vierten Anteils A4 gesendet/übertragen.
Dies ist in 2a dargestellt, wo die Figur
unter einem jeweiligem Anteil zu dem Server 110–113 verweist,
von dem ein Senden/Übertragen
eines jeweiligen Anteils A1–A4
angefordert wurde, und wo der Pfeil unter einem jeweiligen Anteil
darstellt, wie groß der
Teil des Anteils ist, der gesendet/übertragen wurde. Wie von den
kurzen Pfeilen in 2a verstanden werden wird, stellt
diese Figur dar, dass das Herunterladen der Anteile A1–A4 von
den verschiedenen Servern 110–113 gerade begonnen
hat. Zusammen mit jedem der Anteile A1–A4 wird auch Information gesendet/übertragen,
die die Position eines jeweiligen Anteils in den Dateien anzeigt.
Diesem Beispiel zufolge stellt jeder Anteil eine ganze Anzahl von
Dateien dar, was dazu führt,
dass eine Anzeige darüber,
wann das Senden/Übertragen
einer neuen Datei in dem Anteil beginnt, ausreichend ist, um die
Datei in der Empfangseinheit wiederherstellen zu lassen.
-
2b stellt
das Senden/Übertragen
der Anteile A1–A4
dar, wenn das Senden für
eine bestimmte Zeitspanne erfolgt ist. Wie in der Figur zu sehen
ist, ist das Senden/Übertragen
des Anteils A1 vom Server 110 langsam, ist das Senden des
Anteils A2 von dem Server 111 sehr schnell abgelaufen und
bereits beendet, während
das Senden der Anteile A3 und A4 vom Server 112 bzw. 113 relativ
schnell ist. Wenn das Herunterladen des Anteils A2 vom Server 111 abgeschlossen
ist, ist das Senden/Übertragen
abgeschlossen, und eine Steueranweisung zur Anforderung des Sendens
eines weiteren Anteils der Datei F von dem Server 111 wird von
dem Computer 100 zum Server 111 gesendet. Da der
Anteil A1 das Segment ist, bei dem der größte Anteil des Anteils noch
herunterzuladen ist, wird Senden/Übertragen nur dieses Anteils
angefordert, was in 2c dargestellt ist, direkt nachdem
Senden des Anteils A1 vom Server 111 begonnen wurde. Wie
in 2c zu sehen ist, wird der Anteil A1 paral lel von
beiden Servern 110 und 111 heruntergeladen und
der gesamt Anteil A1 wird vom Server 111 gesendet/übertragen.
-
Das
Senden/Übertragen
der Dateien F wird beendet, wenn das Senden/Übertragen aller Anteile A1–A4 der
Datei beendet worden ist. Wie in 2d zu
sehen ist, hat der Server 111 das Senden/Übertragen des
Anteils A1 abgeschlossen, und die Server 112 und 113 haben
das Senden der Anteile A3 bzw. A4 beendet. Da das Senden/Übertragen
des Anteils A2 früher
beendet wurde, sind alle Anteile A1–A4 der Dateien F gesendet/übertragen
worden und der Sendeprozess kann angehalten werden, das heißt, das
gerade ablaufende Senden/Übertragen
des Anteils A1 vom Server 110 wird angehalten/abgebrochen.
In dem beschriebenen Prozess wird das Senden/Übertragen von den Servern 111, 112 und 113 genau
zum gleichen Zeitpunkt beendet, was nicht unbedingt der Fall ist.
Wenn das Senden/Übertragen
irgendeines Anteils beendet wurde, während das Senden irgendeines
anderen Anteils nicht beendet wurde, wird eine Steueranweisung zur
Anforderung von Senden/Übertragen
dieses Anteils von dem Server, der gerade seine Übertragung beendet hat, gesendet. Dies
wird dann wiederholt, bis alle Segmente vollständig gesendet/übertragen
sind.
-
Unter
Bezugnahme auf die 3a–3d ist
schematisch eine bevorzugte Ausführungsform
der Erfindung gezeigt. Die 3a und 3b zeigen
den Vorgang, der oben unter Bezugnahme auf die 2a und 2b beschrieben
wurde und aus diesem Grund nicht detailliert beschrieben werden
soll. In der gleichen Weise wie in dem oben beschriebenen Beispiel
hat der Server 111 das Senden/Übertragen des Anteils A2 beendet,
und eine Steueranweisung zum Anfordern des Sendens des Anteils A1,
für den
der größte Anteil
des Anteils noch zu senden/übertragen
ist, wird zum Server 111 gesendet/übertragen. Bei dieser Anforderung
wird berücksichtigt,
wie groß der
Teil des Anteils A1 ist, der bereits gesendet/übertragen wurde, das heißt es wird Senden/Übertragen
nur für
den Anteil des Anteils A1 angefordert, der noch zu senden ist. Das
Senden/Übertragen
des verbleibenden Anteils des Anteils A1 wird dann parallel ausgeführt, oder,
wie in 3c gezeigt ist, das Senden des
verbleibenden Teils des Anteils A1 wird zwischen dem Server 110 und
dem Server 111 aufgeteilt.
-
Bei
dieser Aufteilung werden die Übertragungsgeschwindigkeiten
der Server 110 und 111 berücksichtigt und werden die verbleibenden
Dateien des Anteils A1 in Proportion zu diesen Übertragungsgeschwindigkeiten
geteilt. Die betreffenden Übertragungsgeschwindigkeiten
beruhen auf der Menge von Daten, die bisher von einem jeweiligen
Server gesendet/übertragen
wurden. Dies bedeutet, wenn der Server 111 den Server 110 von
den verbleibenden Dateien, was durch das Bezugszeichen A11 in 3c dargestellt
ist, des Anteils A1 entlastet, und wenn das Senden/Übertragen
vom jeweiligen Server mit der gleichen Geschwindigkeit wie bisher
ausgeführt
wird, dass das Senden/Übertragen
des jeweiligen Anteils von den beiden Servern 110, 111 im wesentlichen
die gleiche Zeit dauern wird.
-
Bevor
Senden der Datei angefordert wird, führt der empfangende Computer 100 zuerst
eine Schätzung
der erwarteten Übertragungsgeschwindigkeit
von einem jeweiligen Server aus, wo sich Beispiele der gewünschten
Dateien befinden. Diese Schätzung
wird dann zum Auswählen
verwendet, von welchen Servern, die nicht alle Server sein müssen, wo
sich Beispiele der Dateien befinden, Senden/Übertragen der Da teien, oder
eines Anteils der Datei angefordert werden soll.
-
Einer
alternativen Ausführungsform
zufolge wird diese Schätzung
auch verwendet, wie als ein Beispiel in 4 gezeigt
ist, um Senden/Übertragen
der Anteile A5–A8
verschiedener Größe von Servern
von momentanem Interesse anzufordern. Diesem Beispiel zufolge ist
die Übertragungsgeschwindigkeit
für den
Server 110 als sehr hoch eingeschätzt worden, daher wird Senden
eines größeren Anteils
von A5 der Dateien von diesem Server 111 angefordert. Weiter
ist die gesamte Größe der Dateien
F von einem der Server 110–113 empfangen worden.
Die Größe des jeweiligen
Anteils A5–A8
wird vorzugsweise proportional zu der Übertragungsgeschwindigkeit
für den
jeweiligen Server 110–113 entschieden.
Dies bedeutet, dass das Senden von einem jeweiligem Server 110–113 im
Wesentlichen die gleiche Zeit dauern sollte. Wenn dies nicht der
Fall ist, wird Senden/Übertragen
von nicht vollständig
gesendeten/übertragenen
Anteilen in der gleichen Weise wie oben beschrieben angefordert.
-
Im
Folgenden soll eine weitere Ausführungsform
eines Verfahrens gemäß der Erfindung
unter Bezugnahme auf die 5–7 beschrieben
werden. In 5 ist ein Ablaufdiagramm für diese
Ausführungsform gezeigt,
in 6 ist ein Datenpaket gezeigt, das in dieser Ausführungsform
verwendet wird, und in 7 ist eine Anzahl schematisch
dargestellter Dateien gezeigt. Diesem Beispiel zufolge sollen vier
Dateien F1–F4 (siehe 7)
von vier Servern 110–113 zum
Computer 100 mittels FTP gesendet/übertragen werden. Die Datei
F1 hat die Größe 2 kB,
die Datei F2 hat die Größe 3 kB,
die Datei F3 hat die Größe 1 kB,
und die Datei F4 hat die Größe 4 kB.
Es sollte festgestellt werden, dass die aus gewählte Anzahl von Dateien und
ihre Größen nur
Beispiele sind. Folglich wird für
jeden Server ein Sendekanal in Form einer TCP-Verbindung von einem Logikanschluss
im Server zu einem Logikanschluss im Computer 100 gemäß Verfahren
hergestellt, die dem Fachmann bekannt sind. Weiter wird für jeden
Server auch eine entsprechende TCP-Verbindung von einem Logikanschluss
im Server zu einem Logikanschluss im Computer 100 hergestellt,
bei denen diese TCP-Verbindungen als Steuerkanäle zum Senden von Steueranweisungen
von dem Computer 100 zu den Servern 110–113 wirken.
Diesem Beispiel zufolge wird zuerst in einem Schritt 501 eine
Steueranweisung zur Anforderung der Gesamtgröße der Dateien F1–F4 über einen
der Steuerkanäle
an einen der Server 110–113 von dem Computer 100 gesendet.
Die Steueranweisung ist von dem Typ "Rufe Größe von Dateiumfang ab". Die Steueranweisung
wird in dem Server in einem Schritt 502 empfangen, und
der Server sendet in einem Schritt 503 als Antwort zwei
Datenpakete 600 (siehe 6) zum Computer 100.
Das erste Datenpaket enthält
Information, die den Namen "Dateiumfang" mit einer eindeutigen
Identifizierung verknüpft,
und das zweite Datenpaket enthält
die Größe der mit
der eindeutigen Identifizierung verknüpften Dateien. Die Datenpakete
bestehen aus einem Kopfsatz für
administrative Information und einem Datenteil 601 für Daten.
Im Kopfsatz befindet sich eine Anzahl von Typenbytes 602 zur
Anzeige, welchen Typ von Daten der Datenteil des Datenpakets enthält, eine Anzahl
von Größenbytes 603 zur
Anzeige der Größe des Datenteils
des Datenpakets, eine Anzahl von Identitätsbytes 604 zur Identifizierung
der Datei oder der Dateien, mit der/denen das Datenpaket zusammenhängt, und
eine Anzahl von Positionsbytes 605 zur Anzeige einer Position
in einer Anzahl von Dateien. Der Inhalt in dem Datenteil eines Datenpakets
für die
verschiedenen Typen von Datenpaketen, die in dieser Ausfüh rungsform
verwendet werden, ist im Folgenden in Tabelle 1 gezeigt.
-
-
Für Datenpakete
des Typs 1, 2, 3 und 255 ist die Anzahl von Positionsbyte null,
während
sie für
Datenpakete des Typs 253 und 254 8 bzw. 4 ist. Diese Positionsbytes
sollen bei der Wiederherstellung der Dateien F1–F4 im Computer 100 nach
Senden/Übertragen
durch das Segment verwendet werden, das in dem Datenpaket gesendet/übertragen
wird, welches an einer Stelle in den Dateien F1–F4 gemäß den Positionsbytes sortiert
wird, die sich in dem Datenpaket befinden. Das Positionsbyte in
einem Datenpaket schließt
in diesem Beispiel die Zahl der Byteposition in den Dateien F1–F4 ein,
in der ein erstes Byte in dem Segment, das in dem Datenteil des
Datenpakets gesendet/übertragen
wird, bei der Wiederherstellung der Dateien F platziert werden soll.
In dem Schritt 503 werden ein Datenpaket eines Typs 1 und
ein Datenpaket eines Typs 3 gesendet/übertragen. Der Inhalt in diesen
beiden Datenpaketen für
dieses Beispiel ist in der folgenden Tabelle 2 gezeigt.
-
-
Natürlich können auch
andere Steueranweisungen gemäß der FTP-Norm
gesendet werden, wie zum Beispiel Steueranweisungen für Navigation
und Auflistung von Dateien. Wenn die Gesamtgröße der Dateien F1–F4 im Computer 100 bekannt
ist, können
diese Dateien F1–F4
in eine Anzahl von Anteilen A1–A4
(siehe 7) gemäß irgendeiner
der oben beschriebenen Ausführungsformen
unterteilt werden. In diesem Beispiel sind die Größen der
Anteile aufgrund der erwarteten Übertragungsgeschwindigkeit
von einem jeweilige Server ausgewählt worden, wobei erwartet
wird, dass der Server 110 eine hohe Übertragungsgeschwindigkeit
hat, vom Server 111 erwartet wird, dass er eine niedrige Übertragungsgeschwindigkeit
hat, und von den Servern 112 und 113 erwartet
wird, dass sie eine mittelhohe Übertragungsgeschwindigkeit
aufweisen. Eine Steueranweisung zum Anfordern des Sendens eines
Anteils jedes der Anteile A1–A4
wird nun in einem Schritt 504 von dem Computer 100 zu
jedem der Server 110–113 über einen
jeweiligen Steuerkanal gesendet/übertragen.
Genauer ausgedrückt
wird Senden/Übertragen
für den
Anteil A1 von dem Server 110, den Anteil S2 vom Server 111,
den Anteil A3 vom Server 112 und den Anteil A4 vom Server 113 angefordert.
Der Anteil A1 schließt
die Datei F1 und die Datei F2 ein, der Anteil A2 schließt die Datei
F3 ein, der Anteil F4 schließt
die erste Hälfte
der Datei F4 ein, und der Anteil A schließt die zweite Hälfte der
Datei F4 ein. Die Steueranweisungen sind von dem Typ "Rufe Dateiumfang
von x bis y ab",
wobei x ein Startbyte anzeigt und y ein Endbyte in den Dateien F1–F4 für einen
Anteil anzeigt. Jeder der Server 110–113 empfängt dann
in einem Schritt 505 eine der Steueranweisungen zum Anfordern
von Senden/Übertragen
eines Anteils. In jedem der Server 110–113 wird nun in einem Schritt 506 ein
jeweiliger Anteil der Dateien F1–F4 in Segmente unterteilt,
die in einen Datenteil eines Datenpakets jeweils 600 des
wie oben beschriebenen Typs gepackt werden. Die Größe der Segmente
ist frei wählbar.
Wenn ein Segment in ein Datenpaket gepackt worden ist, wird dieses
Datenpaket in einem Schritt 507 in einem Puffer untergebracht.
Für jede
Datei in einem jeweiligen Anteil der Dateien F1–F4 wird auch ein Datenpaket 600 des
Typs 1 erzeugt, dessen Datenteil den Namen der Datei einschließt, die
das Datenpaket betrifft. Weiter wird für jede Datei ein Datenpaket 600 des
Typs 2 erzeugt, dessen Datenteil die Größe in Byte der Datei einschließt, die
das Datenpaket betrifft. Alle Datenpakete werden dann in einem Schritt 508 von
einem jeweiligen Server zu dem Computer 110 über einen
jeweiligen Sendekanal gesendet/übertragen.
Die Datenpakete, die von einem jeweiligen Server beim Senden/Übertragen
der Dateien "Dateiumfang" bei 10 kB gemäß diesem Beispiel
gesendet/übertragen
werden, sind in den folgenden Tabellen 3–6 zu sehen.
-
Tabelle
3 – vom
Server 110
-
-
Tabelle
4 – vom
Server 111
-
Tabelle
5 – vom
Server 112
-
Tabelle
6 – vom
Server 113
-
Es
wird aus den Tabelle 3–6
deutlich, dass mehr Dateien von einem Server gesendet/übertragen
werden können
und dass Teile einer Datei von mehr als einem Server gesendet/übertragen
werden können.
Wenn alle die Anteile A1–A4
zum Computer 100 gesendet/übertragen worden sind, werden
die Dateien F1–F4
mittels des Positionsbyte in jedem Datenpaket wiederhergestellt.
Diese Ausführungsform
kann vorteilhaft mit den Ausführungsformen
kombiniert werden, die oben unter Bezugnahme auf die 2a–2d und
die 3a–3b beschrieben
wurden.
-
Die
gezeigten Ausführungsformen
der vorliegenden Erfindung können
vorzugsweise durch Umsetzung ausführt werden, bei der File Transfer
Protokoll (FTP, Dateitransferprotokoll) verwendet wird, welche einen
Teil der IP-Norm darstellt.