DE60214399T2 - Endgeräte, die so ausgelegt sind, dass sie als relaisserver zum verteilen von paketen in einem client-server-netzwerk wirken - Google Patents

Endgeräte, die so ausgelegt sind, dass sie als relaisserver zum verteilen von paketen in einem client-server-netzwerk wirken Download PDF

Info

Publication number
DE60214399T2
DE60214399T2 DE60214399T DE60214399T DE60214399T2 DE 60214399 T2 DE60214399 T2 DE 60214399T2 DE 60214399 T DE60214399 T DE 60214399T DE 60214399 T DE60214399 T DE 60214399T DE 60214399 T2 DE60214399 T2 DE 60214399T2
Authority
DE
Germany
Prior art keywords
terminals
server
data
network
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60214399T
Other languages
English (en)
Other versions
DE60214399D1 (de
Inventor
Lauri Valjakka
Iiro Karesniemi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suomen Biisi (limited) Helsinki Fi Oy
Original Assignee
SUOMEN BIISI (LIMITED) Oy
SUOMEN BIISI Ltd Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8183631&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60214399(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SUOMEN BIISI (LIMITED) Oy, SUOMEN BIISI Ltd Oy filed Critical SUOMEN BIISI (LIMITED) Oy
Publication of DE60214399D1 publication Critical patent/DE60214399D1/de
Application granted granted Critical
Publication of DE60214399T2 publication Critical patent/DE60214399T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Verbesserungen an Datennetzwerken und Systemen, Verfahren und Geräten, die in solchen Netzen verwendet werden.
  • Allgemeiner Stand der Technik
  • Bei herkömmlichen Client-/Server-Datennetzwerken, wie zum Beispiel TCP/IP oder anderen geleiteten Netzen, bedient ein Hauptserver alle Terminals über ein einziges Serversocket. Das ergibt extreme Spitzen in der Netzauslastung, insbesondere wenn Daten zu einer großen Anzahl von Clients gleichzeitig übertragen werden müssen, was Verzögerungen in der Datenübertragung verursacht.
  • Die vorliegende Erfindung soll verbesserte Netzsysteme, Verfahren und Geräte bereitstellen, die die Netzleistung verbessern.
  • EP-A-0726 663 betrifft Daten-Multicasting, bei dem Information von einem „sendenden" Computer zu einem einer Vielzahl anderer Computer, und von dem empfangenden Computer zu anderen einer Vielzahl von Computern übertragen wird.
  • WO-A-00/65776 offenbart ein „Chaincast"-System zum Verteilen von Inhalten, wie zum Beispiel Audio, Video, TV, Daten usw. über das Internet, bei dem eine Sendequelle Inhalt zu einer ersten Gruppe von Geräten überträgt, welche den Inhalt zu weiteren Geräten oder Gruppen weiter überträgt.
  • Kurzdarstellung der Erfindung
  • Die Erfindung stellt verbesserte Datenkommunikationsnetze, Verfahren für das Betreiben von Datenkommunikationsnetzen, Netzservern, Netzterminals und Computerprogrammen, wie sie in den anliegenden Ansprüchen definiert sind, bereit.
  • Kurzbeschreibung der Zeichnungen
  • Ausführungsformen der Erfindung werden unten ausschließlich beispielhaft unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in welchen:
  • 1 ein Diagramm ist, das das Betriebsmodell eines Datenkommunikationsnetzes veranschaulicht, das eine Ausführungsform der vorliegenden Erfindung ist,
  • 2A, 2B und 2C Diagramme sind, die den Betriebsaufbau eines Hauptservers und von Terminals, die in dem Netz der 1 verwendet werden, veranschaulichen,
  • 3A und 3B Transaktionsdiagramme sind, die das Routen und Datentransferprozesse veranschaulichen, die in dem Netz der 1 verwendet werden, und
  • 4 ein Diagramm ist, das ein Beispiel eines Systems zum Verteilen von Daten von einem Hauptserver zu einer Anzahl von Zielterminals gemäß der Erfindung veranschaulicht.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Unter Bezugnahme auf die Zeichnungen veranschaulicht 1 ein Betriebsmodell einer vereinfachten beispielhaften Ausführungsform eines Datenkommunikationsnetzwerkes gemäß der Erfindung. Das Netz umfasst ein Datenspeichersystem 10, das bei dieser Ausführungsform ein Medienspeichersystem 18 für Daten (das heißt „Media" oder „Inhalt") aufweist, die selektiv über das Netz zu verteilen sind, sowie eine Überwachungsdatenbank 20, die zum Verwalten des Betriebs des Netzes wie unten ausführlicher beschrieben, verwendet wird. Aus praktischen Gründen werden Daten, die von dem Medienspeichersystem 18 zu verteilen sind, hier „Inhalt" genannt, worunter verstanden wird, dass sie jeden Typ von Daten enthalten, die für Endbenutzer von Interesse sind, darunter aber nicht eingeschränkt Text, Grafiken, Video, Audio, ausführbarer Code usw. Der Inhalt besteht im Allgemeinen aus einer Datendatei irgendeines Typs.
  • Für den Zweck der vorliegenden Erfindung versteht man unter „Inhalt" Dateien oder Teile von Dateien oder Gleichwertiges, die auf einem Server gespeichert sind, von dem Server durch einen Client heruntergeladen und von dem Client für den darauf folgenden Gebrauch gespeichert werden, anders als bei digitalen Sendemedien, bei welchen ein Datenstrom von einem Sendeserver übertragen und vorübergehend von Clients gepuffert wird, in manchen Fällen durch eingreifende Relay-Einheiten.
  • Ferner weist das Netz einen Hauptserver 12 auf, der mit dem Medienspeichersystem 18 und der Überwachungsdatenbank 20 kommuniziert und das Verteilen des Inhalts aus dem Medienspeichersystem 18 steuert. Das Netz weist ferner eine Vielzahl von Terminals 14 und 16 auf, zu welchen Inhalt zu verteilen ist. Erfindungsgemäß und wenn der gleiche Inhalt an eine Anzahl von Terminals zu verteilen ist, wirken zumindest einige der Terminals 14 auch als „Relay-Server" beim Verteilen des Inhalts an die restlichen Terminals 16 (das heißt einige oder alle der Terminals können auch als Relay-Server wirken).
  • Alle Transaktionen zwischen dem Medienspeichersystem 18 und den Terminals 14, 16 werden von dem Hauptserver 12 gesteuert. Insbesondere werden alle Datendownloads zu den Terminals von dem Medienspeichersystem 18 vom Hauptserver 12 verwaltet. Im Allgemeinen wird Inhalt aus dem Speichersystem von dem Hauptserver wiedergewonnen und zu den Terminals 14, 16 über den Hauptserver weitergeleitet. In manchen Fällen gewinnt der Hauptserver jedoch nicht selbst den Inhalt wieder und leitet ihn nicht selbst weiter, sondern verwaltet das Wiedergewinnen und Weiterleiten des Inhalts durch andere Server.
  • Der Begriff „Zielterminal", der hier verwendet wird, bedeutet ein Terminal, das der beabsichtigte Empfänger des Inhalts (einer Datendatei) von dem Medienspeicher 18 ist. Jedes Terminal 14, 16 kann das Ziel für eine Datendatei sein. Bei dieser Ausführungsform kann jedes des ersten Satzes von Terminals 14 auch als Relay-Server betrieben werden, indem Daten zu einem oder mehreren des zweiten Satzes von Terminals 16 wie unten beschrieben weitergeleitet werden. Die Terminals 16 können auch als Relay-Server zum Weitergeben von Daten zu zusätzlichen Terminals (nicht gezeigt) stromabwärts wirken. Es ist klar, dass nicht alle der Terminals, die in dem Netz enthalten sind, als Relay-Server zu wirken brauchen, und das Netz kann Endgeräte enthalten, die nicht für den Betrieb als Relay-Server geeignet sind.
  • Die Überwachungsdatenbank 20 registriert Aufzeichnungen der Transaktionen zwischen dem Hauptserver 12 und den verschiedenen Terminals 14, 16. Insbesondere überwacht die Überwachungsdatenbank die Leistung (Kommunikationsgeschwindigkeit und/oder andere Parameter, wie zum Beispiel Zuverlässigkeit) aller Terminals, die in dem Netz als Relay-Server wirken können. Diese Information steht dem Hauptserver zur Verfügung. Insbesondere kann die Überwachungsdatenbank 12 dem Hauptserver Listen von Terminaladressen bereitstellen, die gemäß ihrer relativen Leistung geordnet sind.
  • Beim Betrieb des Netzes und wenn eine Inhaltdatendatei zu bestimmten Zielterminals zu verteilen ist, löst der Hauptserver 12 eine Datentransportoperation aus, indem er eine Transportanforderung an den ersten Satz von Terminals 14 sendet, die als die besten Terminals aus der Liste der Zielterminals auf der Grundlage der aktuellen Leistungsdaten ausgewählt werden. Die Transportanforderung umfasst:
    • – Details zu der zu transportierenden Datei. Diese enthalten allgemein zum Beispiel den Dateityp und die Dateigröße, Zeitstempel für das Aktivieren und Deaktivieren des Inhalts, Verschlüsselung und Kompressionsdetails usw.
    • – Die Adressen von Relay-Servern und Terminals, die an dem Verteilen der Datei beteiligt sein sollen.
  • Die Transportanforderung, die von dem Hauptserver 12 zu dem ersten Satz von Terminals 14 gesendet wird, weist diese Terminals an, Daten von dem Hauptserver 12 (oder von einer anderen Serveradresse, die in der Transportanforderung enthalten ist) wiederzugewinnen. Die Liste der restlichen Zielterminaladressen wird auf die ersten Terminals 14 aufgeteilt, so dass jedes der ersten Terminals 14 als ein Relay-Server zum Verteilen der Daten an einen Untersatz der restlichen Zielterminals wirkt.
  • Als Reaktion auf die Transportanforderung von dem Hauptserver 12 beginnt jedes der ersten Terminals 14, die Datei von dem Hauptserver 12 herunterzuladen. Wenn eines der ersten Terminals 14 eine vorbestimmte Anzahl von Bytes der Datei empfangen hat, sendet das Terminal 14 eine modifizierte Version der Originaltransportanforderung an seinen Untersatz von Zielterminals 16. Die modifizierte Transportanforderung identifiziert das relevante erste Terminal 14 als die Serveradresse, von welcher sein Untersatz von Zielterminals 16 die Daten wiedergewinnen soll. Je nach der Anzahl von Zielterminals kann die Liste von Zielterminals mehrmals weiter unterteilt sein. Jedes des zweiten Satzes von Terminals 16 kann daher eine Liste weiterer Zielterminals empfangen, für die es als ein Relay-Server wirken soll. In jedem Schritt wird vorgezogen, dass die „besten" Terminals aus der Liste der restlichen Zielterminals ausgewählt werden, um für den Rest als Relay-Server zu wirken.
  • Wenn jedes Terminal 14 oder 16 die ganze Datei heruntergeladen hat, sendet es eine Bekanntgabemitteilung, wie durch 22 in 1 angezeigt, direkt an den Hauptserver 12.
  • Der Hauptserver 12 kann Datenanforderungen von dem ersten Satz von Terminals 14 verarbeiten. Wenn das Terminal in dem zweiten Satz von Terminals 16 das Terminal in dem ersten Satz von Terminals 14 nicht erreichen kann, sendet es die Datenanfrage zu dem Hauptserver 12.
  • Im Allgemeinen bearbeiten der Hauptserver und jedes stromabwärtige Terminal, das als Relay-Server wirkt, nur eine kleine Anzahl (zum Beispiel 2 bis 5) stromabwärtiger Terminals. Ist die Anzahl von Zielterminals kleiner oder gleich dieser Zahl, können die Zielterminals alle die Daten direkt aus dem Hauptserver wiedergewinnen, oder der Hauptserver kann das beste der Zielterminals auffordern, für das/die anderen als Relay-Server zu wirken.
  • Es ist klar, dass das Netz viele weitere Terminals als die in 1 veranschaulichten enthalten kann, die in einer Baumstruktur angeordnet sind, in der jedes Terminal entweder ein Knoten ist (und sowohl als Relay-Server als auch als Zielterminal funktioniert), oder ein Blatt (und nur als Zielterminal funktioniert); das heißt, es kann vielfache Knotenterminals in dem Stromabwärts-Datenübertragungspfad zwischen dem Hauptserver und jedem Zielterminal geben. Vorzugsweise besteht auch ein Aufwärts-Kommunikationspfad 22 von jedem Terminal 14, 16 direkt zu dem Hauptserver 12. Der Aufwärtspfad 22 wird von Zielterminals verwendet, um den Empfang von Daten zu bestätigen. Diese Bestätigungen werden direkt von den Zielterminals zu dem Hauptserver 12 wie veranschaulicht gesendet. Der Aufwärtspfad 22 zwischen den Terminals 14 und dem Hauptserver 12 wurde zur Klarheit der Veranschaulichung aus 1 weggelassen.
  • Es ist klar, dass das in 1 veranschaulichte Betriebsmodell anhand einer existierenden, herkömmlichen Netzinfrastruktur ausgeführt werden kann (wie zum Beispiel das Internet oder Gleichwertiges) und kein neues physisches Netz erfordert. Server und Terminals können mit dem Netz-Backbone durch synchrone Festnetzleitungen verbunden werden, wie zum Beispiel ISDN, HSDL, T1 oder T3, und das Netz kann Vermittlungsverbindungen, drahtlose Verbindungen usw. enthalten. 1 veranschaulicht daher logische Verbindungen zwischen dem Server und Terminals, und keine physikalischen Verbindungen. Ferner variieren die logischen Verbindungen zwischen dem Hauptserver und den Terminals dynamisch beim Gebrauch des Netzes, wie unten ausführlicher beschrieben.
  • Die Erfindung ist insbesondere für den Gebrauch geeignet, bei dem alle Terminals wie beschrieben auch als Relay-Server wirken können und wenn sie als ständig online angenommen werden können. Es ist jedoch klar, dass die Erfindung an Terminals angepasst werden kann, die nicht gleichzeitig als Relay-Server wirken (solche Terminals wären immer „Blätter" an dem Ende von Zielterminallisten).
  • Das Zielterminal fordert, dass jedes Paket getrennt übertragen wird. Das zu übertragende Paket enthält die Information über den Typ der zu übertragenden Daten, die Größe, die Kompressionsrate und die Prüfsummen, die zum Bestätigen des übertragenen Datenpakets erforderlich sind.
  • 2A der Zeichnungen veranschaulicht den Betriebsaufbau des Hauptservers 12, der eine Netzdatenbank 23 zum Speichern von Netzinformation aufweist, inklusive der Adressen usw. von Netzterminals (diese Datenbank kann die ganze oder einen Teil der Funktionalität der Überwachungsdatenbank 20 der 1 implementieren; diese Datenbankfunktionen können von einem oder mehreren Datenbanksystemen auf einen oder mehreren Computern/Servern ausgeführt werden), Datenbankschnittstellenmodule 24, 26 und ein Terminalmodul 28. Das Terminalmodul 28, das in dem Hauptserver 12 enthalten ist, wird auch in jedem der Netzterminals/Relay-Server 14 und 16 verwendet und weist ein geleitetes Netzprotokollmodul 30 (vorzugsweise ein TCP/IP-Modul, andere geleitete Protokolle können jedoch ebenfalls verwendet werden) und ein Hauptanwendungsmodul 32 auf. Wie in 2B gezeigt, stellen die Datenbankschnittstellenmodule 24, 26 E-A (Eingangs-/Ausgangs)-Steuerfunktionen 34 bereit, die die erforderliche Serverniveaufunktionalität für den Kern der Hauptanwendung 32 für die Datentransfersteuerung und Anmeldedatensummierung bereitstellen, sowie Datenbankschnittstellenfunktionen, die Zugang zu der Netzdatenbank 23 bereitstellen. Das kann zum Beispiel entweder über eine ODBC (open database connectivity)-Schnittstelle oder eine Datenbankschnittstelle, die zu dem Netzdatenbanksystem 23 gehört, erfolgen.
  • Wie in 2C gezeigt, weist die Hauptanwendung 32, wie sie sowohl im Hauptserver als auch in den Terminals verwendet wird, die auch als Relay-Server dienen, die folgenden Funktionsmodule auf: Ein Kernmodul 38 legt empfangene Pakete aus und speichert Daten.
  • Ein Datenempfangsmodul 40 empfängt einzelne Pakete.
  • Ein Datenvorbereitungsmodul 42 bereitet Daten, die weiterzuleiten sind, vor.
  • Ein Datenübertragungsmodul 44 sendet Daten, die von dem Vorbereitungsmodul 42 vorbereitet wurden und sendet Bestätigungen zu relevanten Clients.
  • Ein Routingsteuermodul 46 erhält optimale Datentransferraten aufrecht.
  • Ein Socketsteuermodul 48 verwaltet Socketobjekte.
  • Ein Serversocket 50 überwacht Daten, die über das TCP/IP-Modul (oder jedes andere geleitete Netzprotokollmodul) 30 empfangen werden.
  • Die Clientsockets 52 übertragen Daten über das Modul 30. Die Anzahl von Clientsockets variiert dynamisch in Abhängigkeit von der Anzahl von Serveranschlüssen, die zu jedem bestimmten Zeitpunkt erforderlich sind.
  • Bei einem herkömmlichen System hat ein Server eine serverorientierte Verbindung für Clients, die ein Serversocket aufweist, das verwendet wird, um den Anschluss mit dem Serversocket des Clients zu erstellen.
  • Bei der vorliegenden Erfindung enthält die Hauptanwendung, die in dem Hauptserver 12 und in jedem Terminal, das auch als ein Relay-Server dient, verwendet wird, ein Standard-Serversocket 50 zum Empfangen von Daten von seinen Clients. Zusätzlich dazu hat die Hauptanwendung Clientsockets 52 für stromabwärtige Kommunikationen zu den stromabwärtigen Terminals. Die tatsächlichen zu den Zielterminals zu übertragenden Daten werden über diese Clientsockets gesendet, und Bestätigungen werden von den Terminals über das Serversocket empfangen. Sobald die erforderlichen Daten von dem Server gesendet wurden, kann das Clientsocket, das für den Zweck des Sendens der Daten angelegt wurde, zerstört werden, um nicht unnütz Netzressourcen zu verbrauchen. Anhand dieses Verfahrens verursachen empfangene Bestätigungen keine Unterbrechungen in dem ausgehenden Datenstrom. Jedes Terminal/ jeder Server hat zwei „hart codierte" Sockets, ein Clientsocket 52 zum Verarbeiten anderer Terminals/Server, und ein Serversocket 50 allein für den Hauptserver-Verbindungsgebrauch. Zusätzliche Sockets können angelegt und dynamisch nach Bedarf verwendet werden. Jedes Socket hat einen unabhängigen Prozessor-Thread, der es steuert, so dass Sockets ohne Unterbrechungen und Verzögerungen verwaltet und gesteuert werden können.
  • Das Öffnen und der Betrieb der Sockets wird dynamisch anhand einer C++-Klasse-Anwendung gehandhabt, die ein neues Socket erzeugt, wenn eine neue Instanz dieser Klasse erforderlich ist. Derart können Sockets dynamisch verwaltet werden und ihre Anzahl kann nach Bedarf variiert werden. Jeder Thread besitzt und steuert seine eigenen Sockets. Wenn ein Socket nicht mehr gebraucht wird, zerstört der steuernde Thread das Socket und danach sich selbst.
  • Der Betrieb des Netzes wird unten beschrieben.
  • 3A veranschaulicht den Routingprozess.
  • Der Hauptserver wählt einen ersten Satz einiger (zwei oder drei) Terminals aus und sendet die Transportanforderung (die die Adressen der relevanten Zielterminals enthält) zu jedem von ihnen. Jedes dieses ersten Satzes von Terminals bestätigt seine Verbindung in der dynamischen Route, indem es eine Mitteilung direkt zu dem Hauptserver sendet. Die Geschwindigkeit dieser Bestätigung kann verwendet werden, um die Terminaldaten zu aktualisieren, die zum Überwachen der Terminalleistung verwendet werden. Dieser erste Satz von Terminals wird als die „besten" („schnellsten") Terminals für den Gebrauch zum Datentransfer zu dem speziellen Zielterminal auf der Grundlage von Leistungsdaten ausgewählt, die vorab beim Betrieb des Netzes erfasst und in der Netzdatenbank gespeichert wurden.
  • Wenn der Datentransfer läuft, werden die Daten an bekannte Terminals übertragen, die bereits als Teil des Netzes registriert sind. Wenn ein neues Terminal beim Hauptserver während des Transfers registriert wird, wird es in den nächsten Datentransfer aufgenommen.
  • Wie oben beschrieben, wählt der Hauptserver die Terminals mit den kürzesten Reaktionszeiten aus. Diese Information wird wie folgt erzielt: Der Hauptempfänger von Routingbestätigungen von bestimmten Terminals ist die Anwendung mit der „Serverrolle", die die Transportanforderungen an diese Terminals gesendet hat. Wenn die Transferkette vervollständigt ist, wird die Information natürlich automatisch an den Hauptserver weitergeleitet. Die Leistung verschiedener Terminals (Netzadressen) wird einfach durch Messen der Reaktionszeit zwischen verschiedenen Terminals und durch Auswählen der Terminals mit den kürzesten Reaktionszeiten gemessen.
  • Die Terminals brauchen nicht den gesamten Netzadressenraum des Netzes zu kennen, da die Zielterminaladressen in den Transportanforderungen enthalten sind.
  • Als Teil der Transportanforderung sendet der Hauptserver die Adressen anderer Zielterminals an den ersten Satz von Terminals/Relay-Servern. Jedes Terminal wählt seine eigenen stromabwärtigen Terminals/Relay-Server aus und sendet den Rest der Zielnetzadressen an die Terminals/Relay-Server als Teil der modifizierten Transportanforderung. Jedes des ersten Satzes der Terminals wählt daher weitere zwei oder drei „beste" Terminals/Relay-Server aus den Adressen aus, die ihm vom Hauptserver weitergereicht werden und gibt die modifizierte Transportanforderung an diese Terminals weiter, darunter auch die Details der anderen restlichen Zielterminals. Aufgrund dieses dynamischen Routens braucht der Hauptserver nicht explizit zu wissen, welche Terminals Daten liefern und welche Terminals sie empfangen. Es reicht, dass sichergestellt wird, dass jedes Terminal auf der Route zugänglich ist. Wenn das Liefern für eines der Terminals aus irgendeinem Grund scheitert, wird das in der Datenbank registriert, und gescheiterte Lieferungen werden während des nächsten Transfers wiederholt.
  • Sobald die Route zu einem bestimmten Zielterminal erstellt wurde, werden die Pakete der Datendatei entlang der definierten Route über die ausgewählten Relay-Server auf der Grundlage der Zielterminaladresse in dem Handle/Kopfteil jedes Pakets weitergegeben.
  • Automatisches Routen verteilt die Last gleichmäßig über einen größeren Netzbereich und verringert das Zeitfenster, das für irgendeine bestimmte Datentransferoperation erforderlich ist.
  • Der Datentransferprozess ist in 3B veranschaulicht.
  • Wie in 3B gezeigt, fordert jedes Zielterminal als Reaktion auf die Transportanforderung die Daten von dem Hauptserver oder dem stromaufwärtigen Terminal, das als Server wirkt (wie in der Transportanfrage spezifiziert) als Pakete an, fügt die Datei wieder zusammen und gibt die Pakete bei Bedarf an stromabwärtige Zielterminals weiter. Wenn das Zielterminal das letzte Paket der Datei empfangen hat, sendet es eine Bestätigung an den Hauptserver zurück.
  • Vorzugsweise werden alle Daten verschlüsselt und im Binärformat komprimiert übertragen. Auf diese Art wird die Datensicherheit im Vergleich zum Übertragen einfachen Texts verbessert, und der Datentransfer erfordert weniger Zeit. Binärformatdaten erfordern weniger „Intelligenz" von der jeweiligen Anwendung, da kein Bedarf am Auslegen der empfangenen Daten besteht. Sie können direkt neu strukturiert werden, um eine geeignete Datenstruktur zu bilden. Alle empfangenen Daten werden hauptsächlich zu einem Basistyp neu strukturiert (der in dem Paketkopfteil identifiziert ist), wonach die Information, die in dem Basistyp enthalten ist, den orientierten Datentyp angibt. Dieser Mechanismus sorgt auch für die Datenprüfung: die Größe jedes Datentyps ist vorbestimmt, und die Menge an empfangenen Daten muss der Größe des Datentyps entsprechen.
  • Da die gelieferten Daten nur binär sind und da die Größe der Pakete recht klein und die Anzahl der Pakete relativ groß sein kann, besteht keine Gefahr, dass der Zweck der gelieferten Daten in dem Fall bestimmt werden kann, in dem eine zu der Lieferung nicht zugelassene Partei auf die Pakete zugreift. Es ist sehr schwierig, den Inhalt von Binärdaten abzuleiten, ohne ihre Struktur zu kennen. Das verbessert daher die Datensicherheit beim Gebrauch eines öffentlichen Netzes.
  • Zum besseren Verstehen der Erfindung werden unten Beispiele von Datenübertragungen unter Bezugnahme auf eine bevorzugte Ausführungsform eines erfindungsgemäßen Netzes beschrieben. Wie oben beschrieben, weist der Hauptserver eine Netzdatenbank auf oder hat zu einer solchen Zugang, die alle der aktuell aktiven/registrierten Terminals/Relay-Server des Netzes in der Reihenfolge ihrer Leistung (Geschwindigkeit) auflistet. Es wird davon ausgegangen, dass die von dem Hauptserver zu einem oder mehreren Zielterminals zu übertragenden Daten eine einzige Datendatei enthalten.
  • Wie oben beschrieben, enthält die Transportanforderung die Adresse(n) des/jedes Zielterminals und weitere Informationen über die Daten, die zu übertragen sind, darunter die Anzahl der Pakete usw.
  • Als ein erstes Beispiel wird davon ausgegangen, dass die Daten zu einem einzigen Zielterminal zu übertragen sind. Der Hauptserver sendet die Transportanforderung direkt an das Zielterminal. Das Zielterminal bestätigt die Anforderung und fordert dann den Hauptserver auf, jedes Paket einzeln zu senden. Jedes dieser Pakete wird einzeln komprimiert und verschlüsselt. Das Zielterminal bestätigt jedes Paket. Wenn ein bestimmtes Paket scheitert, ist es nur erforderlich, dieses Paket nochmals zu übertragen, und nicht wieder mit dem gesamten Downloaden von vorn zu beginnen. Unter bestimmten Umständen sind Datenübertragungen zu einem einzelnen Zielterminal unter Einsatz der Erfindung eventuell nicht signifikant schneller als herkömmliche Downloadverfahren. Das an die Pakete angewandte Komprimieren und die Tatsache, dass gescheiterte Pakete kein Neustarten des Downloadens erfordern, bedeuten, dass Einzelzieldownloads im Allgemeinen schneller und zuverlässiger sind als herkömmliche Verfahren, insbesondere für sehr große Dateien.
  • Als zweites Beispiel und unter Bezugnahme auf 4 wird davon ausgegangen, dass die Daten zu neununddreißig Zielterminals T1-T39 zu übertragen sind, die in der Reihenfolge ihrer Leistung geordnet sind. Es wird angenommen, dass der Hauptserver, M.S., und jedes Terminal, das als ein Server wirkt, direkt stromabwärts nur mit einer vorbestimmten Anzahl N stromabwärtiger Terminals kommuniziert, und dass N = 3. Der Hauptserver sendet eine erste Transportanforderung an das Terminal T1, eine zweite Transportanforderung an das Terminal T2 und eine dritte Transportanforderung an das Terminal T3, wobei jede ein Drittel der kompletten Liste der Zieladressen enthält. Da die Terminaladressen der Leistung nach geordnet sind und zum gleichförmigen Verteilen der Last über das Netz, umfasst die Anforderung, die zu T1 gesendet wird, jede 1+N. Adresse (T1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37), die an T2 gesendete Anforderung umfasst jede 2+N. Adresse (T2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38), und die an T3 gesendete Anforderung umfasst jede 3+N. Adresse (T3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39). Es ist klar, wie dieser Ansatz für jeden Wert von N und jede beliebige Anzahl von Terminals angewandt werden kann.
  • Unter Bezugnahme auf T1 und seine dazugehörenden stromabwärtigen Adressen bestätigt T1 den Empfang der Anforderung von dem Hauptserver und kann dann unverzüglich mit dem Downloaden von Paketen von dem Hauptserver beginnen. T1 gibt die modifizierte Anforderung an den nächsten Satz der N-schnellsten Terminals (T4, T7 und T10) der Liste der an T1 gesendeten Zieladressen weiter. Die jeweils an T4, T7 und T10 weitergegebene Anforderung enthält 1/N (1/3) der restlichen Adressen, die ursprünglich an T1 gesendet wurden, in ähnlicher Art verteilt wie die komplette Zielliste ursprünglich auf T1, T2 und T3 verteilt wurde (das heißt, dass T4 die Adressen von T13, T22 und T31 erhält, T7 Adressen von T16, T25 und T34, und T10 Adressen von T19, T28 und T37). Jedes der Terminals T4, T7 und T10 bestätigt die Anforderung beim Hauptserver, beginnt mit dem Downloaden von Paketen von T1 (dieser Prozess kann starten, bevor das Downloaden von dem Hauptserver zu T1 abgeschlossen ist) und gibt die weiter modifizierte Anforderung an die restlichen Terminals in seiner eigenen Adressliste weiter, von welchen jede die Anforderung beim Hauptserver bestätigt und mit dem Downloaden von Paketen von seinem jeweiligen Relay-Terminal beginnt. Bei diesem Beispiel sind diese die abschließenden „Blatt"-Terminals, es ist jedoch klar, wie dieser Prozess auf jede beliebige Anzahl von Terminals durch eine beliebige Anzahl von Relay-Stufen erweitert werden könnte. Es ist auch klar, dass das gleiche System für die Zieladresslisten für T2 und T3 gilt.
  • Es ist klar, dass das genaue Verteilungssystem von dem in 4 veranschaulichten abgeändert werden könnte. Wichtig ist, dass relativ schnellere Terminals zu Beginn der Routen verwendet werden, und dass die relativ langsamsten Terminals die Enden der Routen bilden.
  • Wenn ein Transfer zu einem bestimmten Terminal scheitert, wird dieses Terminal in der Zielliste weiter nach unten verlegt, so dass das nächst schnellste Terminal in dem relevanten Untersatz der Verteilungsliste in der Baumstruktur „befördert" wird. Sollte zum Beispiel in 4 die Verbindung von T2 zu T8 scheitern, wird T8 mit T17 ausgetauscht. Sollte die neue Verbindung ebenfalls scheitern, könnten andere Optionen probiert werden. Wenn alle verfügbaren Optionen scheitern, wird das beim Hauptserver gemeldet.
  • Es ist ferner klar, dass das erfindungsgemäße Verteilungssystem unter Einsatz unterschiedlicher Netzarchitekturen umgesetzt werden könnte. Die Netzdatenbank braucht nicht auf dem gleichen Server/Computer zu sein wie das Verteilungsmanagementsystem (das die Transportanforderungen erzeugt), muss für diesen jedoch zugänglich sein. Die zu übertragenden Daten brauchen nicht auf dem gleichen Server/Computer wie das Verteilungsmanagementsystem resident oder zugänglich zu sein. Die an den ersten Satz von Terminals (T1, T2, T3 in 4) gesendete Transportanforderung könnte eine weitere Adresse eines anderen Servers (eines „Verteilungsservers") enthalten, von dem Daten zu holen sind. Der Verteilungsserver könnte im Wesentlichen die gleiche Funktionalität wie oben für den Hauptserver und die Relay-Server beschrieben haben.
  • Das Terminal, das die Daten herunterlädt, bestätigt die Pakete beim Server, von dem es herunterlädt. Wenn das Download abgeschlossen ist, sendet es die Bestätigung zu dem Hauptserver.
  • Die Erfindung stellt daher Datenkommunikationssysteme, Verfahren und Geräte mit verbesserter Leistung bereit, bei welchen einige oder alle Terminals nach Bedarf auch als Relay-Server wirken, dynamisches Routen und verteilter Datentransfer stellen optimale oder nahezu optimale Datentransferraten für jedes Terminal in dem gesamten Terminalnetz sicher, und dynamisches Routen stellt Datenlieferung sicher, auch wenn ein Teil des Netzes versagt.
  • Verbesserungen und Änderungen können eingegliedert werden, ohne den Geltungsbereich der Erfindung, wie er in den anliegenden Patentansprüchen definiert ist, zu verlassen

Claims (33)

  1. Ein Datennetz, das Folgendes beinhaltet: eine Vielzahl von Terminals (14, 16); und einen Hauptserver (12), der ausgeführt ist, um die selektive Wiedergewinnung von Daten von einem ersten Server (12, 14) durch mindestens ein aus der Vielzahl von Terminals ausgewähltes Zielterminal (14, 16) zu verwalten; wobei mindestens einige der Terminals ausgeführt sind, um als Relay-Server (14) zur Versorgung mindestens eines Zielterminals (16) mit aus dem ersten Server (12, 14) wiedergewonnenen Daten zu wirken; dadurch gekennzeichnet, dass: der Hauptserver (12) ausgeführt ist, um Transportanforderungen direkt an mindestens ein Zielterminal (14) zu senden, und das erste Zielterminal ausgeführt ist, um als ein Relay-Server (14) zu wirken; wobei die Transportanforderungen Angaben über wiederzugewinnende Daten und die Adresse des ersten Servers (12, 14), von dem die Daten von dem ersten Zielterminal (14) angefordert werden sollen, umfassen; und Adressen von mindestens einem zweiten Zielterminal (16), an das die von dem ersten Server (12, 14) wiedergewonnenen Daten durch das erste Zielterminal (14) weitergesendet werden sollen.
  2. Netz gemäß Anspruch 1, wobei die Terminals (14), die ausgeführt sind, um als Relay-Server zu wirken, ausgeführt sind, um von dem Hauptserver (12) oder von anderen Relay-Servern (14) empfangene Transportanforderungen zu modifizieren und um die modifizierte Transportanforderung an ausgewählte Zielterminals (16) von einem in der Transportanforderung ausgewählten Satz von Zielterminals zu übertragen, wobei die modifizierte Transportanforderung das Terminal identifiziert, das die modifizierte Transportanforderung als den Server überträgt, von dem die Empfänger der modifizierten Transportanforderung die Daten anfordern sollten.
  3. Netz gemäß Anspruch 4, wobei die modifizierte Transportanforderung ferner Adressen von weiteren Zielterminals umfasst, für die der Empfänger der modifizierten Transportanforderung als ein Relay-Server wirken soll.
  4. Netz gemäß Anspruch 1, das ferner eine Netz-Informations-Datenbank (23) umfasst, wobei der Hauptserver (12) ausgeführt ist, um mindestens ein erstes Zielterminal (14) zum Wirken als ein Relay-Server auszuwählen, um mindestens ein zweites Zielterminal (16) mit von dem ersten Server wiedergewonnenen Daten auf der Basis der in der Netz-Informations-Datenbank (23) gespeicherten Terminalleistungsinformationen zu versorgen.
  5. Netz gemäß Anspruch 4, wobei der Hauptserver (12) ausgeführt ist, um Transportanforderungen direkt an mindestens ein Zielterminal (14) zu senden, wobei die Transportanforderungen Folgendes umfassen: Angaben über wiederzugewinnende Daten und die Adresse des ersten Servers (12, 14), von dem die Daten durch das erste Zielterminal (14) angefordert werden sollen; und Adressen einer Vielzahl von weiteren Zielterminals (16), an das die von dem ersten Server (12, 14) wiedergewonnenen Daten durch das erste Zielterminal (14) weitergesendet werden sollen; wobei die Transportanforderung ferner die jeweiligen Leistungen der weiteren Zielterminals (16) auf der Basis der in der Netz-Informations-Datenbank (23) gespeicherten Terminalleistungsinformationen anzeigt.
  6. Netz gemäß Anspruch 5, wobei Terminals (14), die als Relay-Server wirken, ausgeführt sind, um weitere stromabwärts gelegene Zielterminals (16) auszuwählen, um als weitere Relay-Server auf der Basis der jeweiligen Leistungen der weiteren, in der Transportanforderung angezeigten Zielterminals zu wirken.
  7. Netz gemäß Anspruch 6, wobei die jeweiligen Leistungen der weiteren Relay-Server in der Transportanforderung durch das Ordnen der Adressen der weiteren Zielterminals in einer geordneten Liste angezeigt werden.
  8. Netz gemäß einem der vorhergehenden Ansprüche, wobei der erste Server der Hauptserver (12) ist.
  9. Netz gemäß einem der Ansprüche 1 bis 7, wobei der erste Server ein Terminal (14) ist, das ausgeführt ist, um als ein Relay-Server zu wirken.
  10. Netz gemäß einem der vorhergehenden Ansprüche, wobei jedes der Terminals ausgeführt ist, um direkt mit dem Hauptserver in eine stromaufwärts gelegene Richtung zu kommunizieren.
  11. Netz gemäß einem der vorhergehenden Ansprüche, wobei durch die Zielterminals wiederzugewinnende Daten in eine Reihe von Paketen zur Übertragung an die Zielterminals geteilt werden, und jedes der Terminals ausgeführt ist, um direkt mit dem Hauptserver zu kommunizieren, um den Empfang des letzten Pakets einer dorthin geleiteten Reihe zu bestätigen.
  12. Netz gemäß einem der vorhergehenden Ansprüche, wobei Daten als geleiteter Netzprotokollverkehr wie etwa TCP/IP-Verkehr an die Terminals geleitet werden.
  13. Netz gemäß einem der vorhergehenden Ansprüche, wobei der Hauptserver (12) und jedes der Terminals (14, 16) ein Serversocket zur direkten Kommunikation stromaufwärts zwischen den Terminals (14, 16) und dem Hauptserver (12) und mindestens ein dynamisch gesteuertes und verwaltetes Clientsocket für Datentransfers stromabwärts zwischen dem Hauptserver (12) und den Terminals (14, 16) oder zwischen als Relay-Server (14) wirkenden Terminals und anderen stromabwärts gerichteten Terminals (16) umfasst.
  14. Netz gemäß einem der vorhergehenden Ansprüche, wobei Daten im Binärformat übertragen werden.
  15. Netz gemäß einem der vorhergehenden Ansprüche, in dem der Hauptserver (12) ausgeführt ist, um die Reaktionszeiten der Terminals (14, 16) in dem Netz zu überwachen und in dem die Terminals ausgewählt sind, um als Relay-Server für bestimmte Datentransfers auf der Basis ihrer jeweiligen Reaktionszeiten zu wirken.
  16. Ein Verfahren zur Datenkommunikation durch ein Netz der Art, das eine Vielzahl von Terminals (14, 16) und einen Hauptserver (12) beinhaltet, der ausgeführt ist, um die selektive Wiedergewinnung von Daten aus einem ersten Server (12, 14) durch mindestens ein Zielterminal (14, 16), das aus der Vielzahl von Terminals ausgewählt wird, zu verwalten; wobei das Verfahren Folgendes beinhaltet: Betreiben von mindestens einigen der Terminals (14) als Relay-Server zur Versorgung mindestens eines Zielterminals (16) mit von dem ersten Server (12) wiedergewonnenen Daten; gekennzeichnet durch: Senden von Transportanforderungen von dem Hauptserver direkt an mindestens ein erstes Zielterminal; und Betreiben des ersten Zielterminals (14), um als ein Relay-Server zu wirken; wobei die Transportanforderungen Angaben über wiederzugewinnende Daten und die Adresse des ersten Servers (12, 14), von dem die Daten von dem ersten Zielterminal (14) angefordert werden sollen, umfassen; und Adressen von mindestens einem zweiten Zielterminal (16), an das die von dem ersten Server wiedergewonnenen Daten durch das erste Zielterminal (14) weitergesendet werden sollen.
  17. Verfahren gemäß Anspruch 16, das Betriebsterminals (14) umfasst, die ausgeführt sind, um als Relay-Server zu wirken, um von dem Hauptserver oder von anderen Relay-Servern empfangene Transportanforderungen zu modifizieren und um die modifizierte Transportanforderung an ausgewählte Zielterminals (16) von einem in der Transportanforderung identifizierten Satz von Zielterminals zu übertragen, wobei die modifizierte Transportanforderung das Terminal identifiziert, das die modifizierte Transportanforderung als den Server überträgt, von dem die Empfänger der modifizierten Transportanforderung die Daten anfordern sollten.
  18. Verfahren gemäß Anspruch 17, wobei die modifizierte Transportanforderung ferner Adressen von weiteren Zielterminals umfasst, für die der Empfänger der modifizierten Transportanforderung als Relay-Server wirken soll.
  19. Verfahren gemäß Anspruch 16, wobei das Netz ferner eine Netz-Informations-Datenbank (23) umfasst, wobei das Verfahren das Betreiben des Hauptservers (12) umfasst, um mindestens ein erstes Zielterminal (14) zum Wirken als ein Relay-Server auszuwählen, um mindestens ein zweites Zielterminal (16) mit von dem ersten Server (12, 14) wiedergewonnenen Daten auf der Basis der in der Netz-Informations-Datenbank (23) gespeicherten Terminalleistungsinformationen zu versorgen.
  20. Verfahren gemäß Anspruch 19, das das Betreiben des Hauptservers (12) umfasst, um Transportanforderungen direkt an mindestens ein erstes Zielterminal (14) zu senden, wobei die Transportanforderungen Folgendes umfassen: Angaben über wiederzugewinnende Daten und die Adresse des ersten Servers (12, 14), von dem die Daten durch das erste Zielterminal (14) angefordert werden sollen; und Adressen einer Vielzahl von weiteren Zielterminals (16), an das die von dem ersten Server (12, 14) wiedergewonnenen Daten durch das erste Zielterminal (14) weitergesendet werden sollen; wobei die Transportanforderung ferner die jeweiligen Leistungen der weiteren Zielterminals (16) auf der Basis der in der Netz-Informations-Datenbank (23) gespeicherten Terminalleistungsinformationen anzeigt.
  21. Verfahren gemäß Anspruch 20, das Betriebsterminals umfasst, die als Relay-Server wirken, um weitere stromabwärts gelegene Zielterminals auszuwählen, um als weitere Relay-Server auf der Basis der jeweiligen Leistungen der weiteren, in der Transportanforderung angezeigten Zielterminals zu wirken.
  22. Verfahren gemäß Anspruch 20 oder Anspruch 21, das das Anzeigen der jeweiligen Leistungen der weiteren Relay-Server in der Transportanforderung durch das Ordnen der Adressen der weiteren Zielterminals in einer geordneten Liste umfasst.
  23. Verfahren gemäß einem der Ansprüche 16 bis 22, wobei der erste Server der Hauptserver (12) ist.
  24. Verfahren gemäß einem der Ansprüche 16 bis 22, wobei der erste Server ein Terminal (14) ist, das ausgeführt ist, um als ein Relay-Server zu wirken.
  25. Verfahren gemäß einem der Ansprüche 16 bis 24, wobei jedes der Terminals direkt mit dem Hauptserver in eine stromaufwärts gelegene Richtung kommuniziert.
  26. Verfahren gemäß Anspruch 25, wobei durch die Zielterminals wiederzugewinnende Daten in eine Reihe von Paketen zur Übertragung an die Zielterminals geteilt werden, und wobei jedes der Terminals direkt mit dem Hauptserver kommuniziert, um den Empfang des letzten Pakets einer dorthin geleiteten Reihe zu bestätigen.
  27. Verfahren gemäß einem der Ansprüche 16 bis 26, das das Leiten von Daten als geleiteter Netzprotokollverkehr wie etwa TCP/IP-Verkehr an die Terminals umfasst.
  28. Verfahren gemäß einem der Ansprüche 16 bis 27, das das Übertragen der Daten im Binärformat umfasst.
  29. Verfahren gemäß einem der Ansprüche 16 bis 28, das das Betreiben des Hauptservers (12) umfasst, um die Reaktionszeiten der Terminals (14, 16) in dem Netz zu überwachen und um Terminals auszuwählen, um als Relay-Server für bestimmte Datentransfers auf der Basis ihrer jeweiligen Reaktionszeiten zu wirken.
  30. Ein Netzserver, der ausgeführt ist, um als Hauptserver (12) in einem Netz gemäß einem der Ansprüche 1 bis 15 betrieben zu werden.
  31. Ein Netzterminal, das ausgeführt ist, um als Relay-Server (12) in einem Netz gemäß einem der Ansprüche 1 bis 15 betrieben zu werden.
  32. Ein auf einem Datenträger codiertes Computerprogramm, um einem Netzserver zu ermöglichen, als Hauptserver (12) gemäß Anspruch 30 betrieben zu werden.
  33. Auf einem Datenträger codiertes Computerprogramm, um einem Netzterminal zu ermöglichen, als Relay-Server (12) gemäß Anspruch 31 betrieben zu werden.
DE60214399T 2001-08-02 2002-07-31 Endgeräte, die so ausgelegt sind, dass sie als relaisserver zum verteilen von paketen in einem client-server-netzwerk wirken Expired - Lifetime DE60214399T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01660145 2001-08-02
EP01660145 2001-08-02
PCT/FI2002/000649 WO2003013099A1 (en) 2001-08-02 2002-07-31 Terminals adapted to act as relay servers for distributing packets in a client-server network

Publications (2)

Publication Number Publication Date
DE60214399D1 DE60214399D1 (de) 2006-10-12
DE60214399T2 true DE60214399T2 (de) 2007-09-20

Family

ID=8183631

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60214399T Expired - Lifetime DE60214399T2 (de) 2001-08-02 2002-07-31 Endgeräte, die so ausgelegt sind, dass sie als relaisserver zum verteilen von paketen in einem client-server-netzwerk wirken

Country Status (12)

Country Link
US (2) US8495167B2 (de)
EP (1) EP1421759B1 (de)
CN (1) CN100446513C (de)
AT (1) ATE338417T1 (de)
CY (1) CY1107316T1 (de)
DE (1) DE60214399T2 (de)
DK (1) DK1421759T3 (de)
ES (1) ES2272746T3 (de)
HU (1) HUP0401180A2 (de)
PT (1) PT1421759E (de)
RU (1) RU2004106546A (de)
WO (1) WO2003013099A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
KR100470993B1 (ko) * 2002-07-10 2005-03-10 삼성전자주식회사 디에스피 프로그램 다운로드 장치 및 그 방법
EP1659488A1 (de) * 2004-11-17 2006-05-24 Alcatel Verfahren zur Bereitstellung von Softwarekomponenten für Knoten in einem Telekommunikationsnetzwerk
DE602005005820T2 (de) 2005-09-26 2009-05-20 Alcatel Lucent Datenverteilung zu Knoten eines Telekommunikationsnetzwerkes
CN101159676B (zh) * 2007-11-06 2010-09-08 深圳市迅雷网络技术有限公司 一种数据传输的方法及系统
JP5004813B2 (ja) * 2008-01-11 2012-08-22 キヤノン株式会社 データ共有システム、データ共有方法、情報処理装置、プログラムおよび記憶媒体
EP2096537B1 (de) * 2008-02-28 2018-06-06 Unify GmbH & Co. KG Verfahren, Anordnung und Datenverarbeitungsgerät zur Bereitstellung und Verteilung von Software
JP5644343B2 (ja) * 2010-10-05 2014-12-24 富士通株式会社 データ送信方法,送信元情報処理装置,データ送信システムおよびデータ送信プログラム
US9258380B2 (en) 2012-03-02 2016-02-09 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product
CN103905526A (zh) * 2014-03-05 2014-07-02 深圳市同洲电子股份有限公司 一种调度方法及服务器
CN105656794B (zh) * 2014-11-14 2019-03-08 腾讯科技(深圳)有限公司 数据分发方法、装置及计算机可读存储介质
CN107908560B (zh) * 2017-11-16 2019-04-16 山东金视野教育科技股份有限公司 一种基于软件开发平台中多目标交叉调试系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0072663B1 (de) * 1981-08-17 1986-07-30 Kemtron International (Holdings) Limited Vielzwecklüfter
US5396503A (en) * 1993-02-19 1995-03-07 Hewlett-Packard Company Method and system for communicating data
JP3361663B2 (ja) 1994-10-03 2003-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信管理方法
US6873627B1 (en) * 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
JP3121221B2 (ja) 1995-02-07 2000-12-25 株式会社日立製作所 情報処理システムの通信方法および情報処理システム
US20010002851A1 (en) * 1995-04-14 2001-06-07 Takao Shimada Multimedia data processing system in network
US5905952A (en) 1996-11-18 1999-05-18 Ericsson Inc. Dynamically created A-interface within a mobile network
US6226673B1 (en) * 1996-11-29 2001-05-01 Canon Kabushiki Kaisha Data distribution method and apparatus and computer program
US6748446B2 (en) * 1996-11-29 2004-06-08 Canon Kabushiki Kaisha Communication method and apparatus with modification of routing path by intermediate relay apparatus
US6591303B1 (en) 1997-03-07 2003-07-08 Sun Microsystems, Inc. Method and apparatus for parallel trunking of interfaces to increase transfer bandwidth
US6038296A (en) * 1997-10-07 2000-03-14 Lucent Technologies Inc. Internet/intranet user interface to a multimedia messaging system
US6157965A (en) * 1998-02-27 2000-12-05 Intel Corporation System and method for binding a virtual device driver to a network driver interface
US6249810B1 (en) * 1999-02-19 2001-06-19 Chaincast, Inc. Method and system for implementing an internet radio device for receiving and/or transmitting media information
US6901604B1 (en) * 1999-02-19 2005-05-31 Chaincast, Inc. Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
AU4022501A (en) 1999-09-21 2001-04-24 Streaming21, Inc. Method and system for providing streaming media services
JP3812239B2 (ja) * 1999-10-04 2006-08-23 株式会社日立製作所 ネットワーク中継装置
JP4357699B2 (ja) * 1999-10-20 2009-11-04 富士通株式会社 通信手段の通知方法及び通知システム
US6912514B2 (en) * 1999-12-03 2005-06-28 Matsushita Electric Industrial Co., Ltd. Content distribution system and a reference server
US7047306B2 (en) * 2000-01-17 2006-05-16 Egc & Co., Ltd. System and method for providing internet broadcasting data based on hierarchical structure
US6587756B2 (en) * 2000-04-20 2003-07-01 Matsushita Electric Industrial Co., Ltd Communication system, vehicle-mounted communication system, communication device, and vehicle-mounted device
JP2002073651A (ja) * 2000-06-13 2002-03-12 Canon Inc データ管理システム、サーバ、データ管理方法
JP2002032216A (ja) * 2000-07-19 2002-01-31 Fujitsu Ltd アプリケーションのホスティング装置
JP3674471B2 (ja) * 2000-07-25 2005-07-20 日本電気株式会社 コンテンツ転送方法及びネットワークシステム並びにプログラムを記録した機械読み取り可能な記録媒体
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7228416B2 (en) * 2001-01-26 2007-06-05 Hitachi, Ltd. Database access method and system capable of concealing the contents of query
JP2002297478A (ja) * 2001-03-29 2002-10-11 Toshiba Corp マルチメディアデータ中継システム、マルチメディアデータ中継装置及びマルチメディアデータ中継方法
CA2390703A1 (en) * 2001-06-15 2002-12-15 Ntt Software Corporation Distributed object middleware connection method
KR100424722B1 (ko) * 2001-07-27 2004-03-27 김면식 단말기의 위치정보에 기초한 통신방법 및 그 장치
US7373103B2 (en) * 2001-10-03 2008-05-13 Ntt Docomo, Inc. Relay terminal, base station, charging server, communication system, charging method, program computer data signal, and storage medium

Also Published As

Publication number Publication date
PT1421759E (pt) 2007-01-31
US20030093491A1 (en) 2003-05-15
EP1421759B1 (de) 2006-08-30
WO2003013099A1 (en) 2003-02-13
CN1557085A (zh) 2004-12-22
ES2272746T3 (es) 2007-05-01
ATE338417T1 (de) 2006-09-15
RU2004106546A (ru) 2005-08-10
WO2003013099A8 (en) 2004-05-27
DK1421759T3 (da) 2007-01-08
HUP0401180A2 (en) 2004-09-28
CN100446513C (zh) 2008-12-24
DE60214399D1 (de) 2006-10-12
US20130138780A1 (en) 2013-05-30
US8495167B2 (en) 2013-07-23
EP1421759A1 (de) 2004-05-26
CY1107316T1 (el) 2012-11-21

Similar Documents

Publication Publication Date Title
DE10196732B4 (de) Verfahren, Speichermedium und System zur Verteilung von Software an prozessorbasierte Systeme
DE69735426T2 (de) Nachrichtenübertragung in netzwerken bestehend aus unternetzwerken mit verschiedenen namensraümen
DE602005000025T2 (de) Verfahren und Anordnung für den Betrieb eines offenen Netzwerks mit einem Proxy
DE602005000984T2 (de) Verfahren und Vorrichtung zur Speicherung von Eingangs-Filterkriterien und zur Spezifizierung von Triggerpunkt-Vorlagen zum Zeitpunkt der Diensteimplementierung
EP1794949B1 (de) Verfahren zum verteilen von software und konfigurationsdaten sowie entsprechendes datennetz
DE60126998T2 (de) Übertragung von multicast und broadcast multimedia diensten über eine funkschnittstelle
EP1532797B1 (de) Verfahren zum übertragen von nutzdatenobjekten gemüss einem profilinformationsobjekt
DE69434896T2 (de) Zugriffsverfahren auf ein drahtloses lokales ad-hoc Netzwerk über ein zellulares Weitbereichnetzwerk mit Koppelung des LAN-MAC-Paketkopfes.
DE69833111T2 (de) Bestimmung von trägerdiensten in einem funkzugriffsnetz
DE60112115T2 (de) Erweiterungen eines signalisierungs-übertragungsprotokolls für lastausgleich undserverpool-unterstützung
DE60214399T2 (de) Endgeräte, die so ausgelegt sind, dass sie als relaisserver zum verteilen von paketen in einem client-server-netzwerk wirken
DE60204031T2 (de) Hierarchische cachespeicherung in telekommunikationsnetzen
DE69938122T2 (de) Verfahren und System zur Softwareverteilung
DE602004002471T2 (de) Verfahren und System zur Beteitstellung einer Übertragungsverbindung für Datenstromverkehr
DE60108324T2 (de) System und Verfahren zur Erhöhung von Nachrichtendurchsatz in einem Funknetzwerk
EP1794673B1 (de) Verfahren zum verteilen von software und konfigurationsdaten mit zeitüberwachung sowie entsprechendes datennetz
DE10231941A1 (de) Datenpaketstruktur für direkt adressiertes Multicast-Protokoll
EP1049294A2 (de) Netzwerk mit mehreren Netzwerk-clustern zur drahtlosen Übertragung von Paketen
EP1604494B1 (de) Verfahren und sender zur übertragung von datenpaketen
DE69927145T2 (de) Anordnung, system und verfahren zur datenpaket-übertragung
EP1266493A1 (de) Verfahren und anordnung zum übertragen eines datenpakets von einer ersten vermittlungseinheit an eine zweite vermittlungseinheit in einem datennetz
WO2007085601A1 (de) Verfahren zur übermittlung einer nachricht, netzwerkknoten und netzwerk
EP2815558A1 (de) Übertragen von datenströmen zwischen einem endgerät und einem sicherheitsmodul
DE60219180T2 (de) Telekommunikationssystem und Verfahren zur Übertragung von Videodaten zwischen Internet und einem Mobiltelefon
DE60122608T2 (de) Verbesserung von Regelungssystem für Netzbetreiber

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: SUOMEN BIISI OY (LIMITED), HELSINKI, FI

8364 No opposition during term of opposition