DE60216918T2 - Verfahren und computersystem zur auswahl eines randservercomputers - Google Patents

Verfahren und computersystem zur auswahl eines randservercomputers Download PDF

Info

Publication number
DE60216918T2
DE60216918T2 DE60216918T DE60216918T DE60216918T2 DE 60216918 T2 DE60216918 T2 DE 60216918T2 DE 60216918 T DE60216918 T DE 60216918T DE 60216918 T DE60216918 T DE 60216918T DE 60216918 T2 DE60216918 T2 DE 60216918T2
Authority
DE
Germany
Prior art keywords
server
data
media
client
computer
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
DE60216918T
Other languages
English (en)
Other versions
DE60216918D1 (de
Inventor
Gerd Breiter
Winfried Bruegmann
Bernhard Schmid
Hendrik Wagner
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60216918D1 publication Critical patent/DE60216918D1/de
Application granted granted Critical
Publication of DE60216918T2 publication Critical patent/DE60216918T2/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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/1012Server selection for load balancing based on compliance of requirements or conditions with available server 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/1014Server selection for load balancing based on the content of a request
    • 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/1021Server selection for load balancing based on client or server locations
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • 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/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Image Generation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Datenübertragung, insbesondere auf die Verteilung und die fortlaufende Übertragung von Daten für den Zugriff auf digitale Daten wie Audio-, Video- und Geschäftsdaten an entfernt gespeicherten Standorten sowie für die Übertragung dieser Daten an den Standort eines Benutzers.
  • WO 00/29990 beschreibt ein Verfahren für die Verarbeitung von Anforderungen zur Bereitstellung einer Medieninhaltsdatei in einem Netzwerk von Client-Server-Rechensystemen, bei dem ein Clientcomputer eine Abfrage an einen Ausgangsserver stellt, um einen dem Ausgangsserver zugehörigen Medienserver, der die Medieninhaltsdatei speichert, zu finden, und wobei sich ein lokaler Medienzwischenspeicher innerhalb des Netzwerks an einer Stelle in der Nähe des Clients befindet. Zunächst fordert der Client die Bereitstellung der Medieninhaltsdatei an, indem er von dem Ausgangsserver die Bereitstellung einer Medienumleitungsdatei (Media Redirecting File, MRF) anfordert, die ein Umleitungsobjekt enthält, das Befehle für den Erhalt der Medieninhaltsdatei von dem Medienserver vorgibt. Vor der Bereitstellung der Medienumleitungsdatei an den Client wird die Medienumleitungsdatei abgefangen, und die darin enthaltenen Befehle werden neu geschrieben, so dass der Client die Medieninhaltsdatei nicht direkt von dem Medienserver, sondern von dem lokalen Medienzwischenspeicher erhält.
  • Aus der US-Patentschrift 5 734 719 ist ein System für den Zugriff auf digitale Daten über ein Computernetzwerk bekannt. Das System beinhaltet einen Hauptserver, der geografisch so angeordnet ist, dass Netzwerkabonnenten auf ihn zugreifen können. Sein geografischer und netzwerkbezogener Standort ist abhängig von den Kosten und der Verfügbarkeit von Datenübertragungsnetzwerksystemen und -teilsystem, um einem Kundenstandort bestmöglich Dienste bereitstellen zu können, wobei es sich dabei um ein Einzelhandelsgeschäft oder eine ähnliche Verkaufsstelle oder um einen anderweitigen Endbenutzerstandort handeln kann. Zusätzlich werden Sicherheitsmechanismen bereitgestellt, die vor der Übertragung von Inhalten und/oder der Herstellung eines der Produkte eine zentralisierte Datenbankberechtigung erfordern.
  • Neue Mediendaten erweitern herkömmliche Computerdatenformate auf Datenformate, die somit eine naturgemäßere Interaktion von Menschen und Computer ermöglichen, indem Bilder, Filme, Sprach-, Audio- und Videodaten mit einbezogen werden. Eines der maßgeblichen Probleme bei neuen Mediendaten besteht in der Übertragung der üblicherweise enorm großen Inhaltsmengen über ein Netzwerk.
  • Bei einem Datenstromserver müssen sich alle Daten, die fortlaufend übertragen werden sollen, vor Ort auf dem Datenstromserver befinden. Die Verbindungsbandbreite zum Wiedergabeclient (Medienwiedergabeeinheit) muss mindestens den Anforderungen entsprechen, die sich aus der Art der zu übertragenden Daten ergeben. Aus diesem Grund werden Datenstromserver auf so genannte Randserver aufgesetzt (wobei sich dies auf den Rand des Netzwerks mit Blick auf den Verbindungspfad zum Client bezieht; auch als „letzte Meile" bezeichnet).
  • Um eine Datenstromoperation zu veranlassen, müssen dem Wiedergabeclient (Medienwiedergabeeinheit), der den Datenstrom anfordert, fortlaufend übertragene Metadaten bereitgestellt werden. Die Metadaten oder die Metadatei enthält in der Regel mindestens eine Kennung (Schlüssel) der fortlaufend zu übertragenden Mediendaten sowie die Kennung des Datenstromservers, z.B. den TCP/IP-Hostnamen der Datenstromserver-Einheit und den Anschluss, an dem die Datenstromserver-Software mithört.
  • Wenn ein Benutzer Medien fortlaufend an seinen Client übertragen lassen möchte, klickt er üblicherweise auf eine Sprungmarke, welche die Medien auf der Webseite, die ihm sein Webbrowser anzeigt, kenntlich macht. Der Webbrowser erzeugt eine http-Anforderung mit den Medienkennungsdaten. Als Reaktion hierauf sendet der Anwendungsserver die Medien-Metadaten an den Webbrowser des Clients. Auf der Grundlage dieser Daten ruft der Webbrowser üblicherweise die entsprechende Medienwiedergabeeinheit auf, die sich auf einem Client befindet und für den Empfang der Metadaten vom Netzwerk, die Verbindungsverhandlung mit dem Datenstromserver, den Empfang und die parallel hierzu erfolgende Wiedergabe der Daten zuständig ist.
  • Bei der heute gebräuchlichen Technologie für die fortlaufende Datenübertragung können Medienwiedergabeeinheiten in der Regel nur Datenströme von einem entsprechenden Datenstromserver wiedergeben, der ebenfalls von diesem Unternehmen hergestellt wurde. Beispiele für derartige firmengebundene Datenstromformate sind der IBM Video Charger/Video Charger Player, Apple QuickTime, Microsoft Media Server/Media Player und Real Networks G2 Server/Player.
  • Aus Mourad A. et al., „Scalable web server architectures", proceedings IEEE international symposium on computers and communications, XX, XX, 01. Juli 1997, Seiten 12 bis 16, XP000199852, ist bekannt, dass durch die Vervielfältigung von Inhalten auf mehreren Servern eine höhere Flexibilität beim Lastausgleich und eine zusätzliche Zuverlässigkeit bereitgestellt werden kann. Bei einer Vervielfältigung von Daten wird ein logischer Dateiname auf mehrere URLs auf verschiedenen Servern abgebildet. In diesem Fall muss der Umleitungsserver einen der Server mit den relevanten Daten auswählen. Dabei lassen sich intelligente Vorgehensweisen für die Auswahl von Servern realisieren, um so eine bessere Lastverteilung über die HTTP-Server hinweg zu erzielen. Ein Nachteil dieses Ansatzes besteht jedoch darin, dass für eine Realisierung der Datenvervielfältigung die Datenstruktur mit den Abbildungsdaten geändert werden muss.
  • Ein häufiges Problem der Datenübertragungsprotokoll nach dem Stand der Technik, insbesondere von Protokollen für die fortlaufende Datenübertragung über ein Computernetzwerk wie beispielsweise das Internet, besteht in der Bandbreite, die für die Durchführung einer Datenstromoperation erforderlich ist.
  • Es ist somit eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und Computersystem für die Verteilung von Inhaltsdaten an Randserver bereitzustellen und insbesondere einen Randserver oder einen zulässigen alternativen Randserver auszuwählen, der sich innerhalb des Netzwerks am nächsten bei dem Client befindet, der den Datenstromdienst angefordert hat.
  • Die Aufgabe der Erfindung lässt sich durch die in den beigefügten unabhängigen Ansprüchen genannten Merkmale lösen, auf die nun Bezug genommen werden sollte. Weitere vorteilhafte Anordnungen und Ausführungsformen der Erfindung sind in den betreffenden Unteransprüchen dargelegt.
  • Die Erfindung ermöglicht die Ermittlung des Standorts eines Randservers, mit dem der Client verbunden ist, während gleichzeitig die Anforderung für eine fortlaufende Datenübertragung an den Anwendungsserver gesendet wird. Für diese Ermittlung werden in die http-Anforderung des Clients, die den Medienbezeichner enthält, auf ihrem Weg zu ihrem Webanwendungsserver, mit dem der Client Kontakt aufnimmt, um eine Datei auszuwählen, die heruntergeladen und/oder fortlaufend übertragen werden soll, Daten aufgenommen.
  • In der Regel nimmt der Client mit dem Webanwendungsserver Kontakt auf, indem er die entsprechende Verweisadresse(Uniform Resource Locator, URL) in das Webbrowserprogramm des Clients eingibt. Die Verbindung zwischen dem Client und dem Webanwendungsserver wird bereitgestellt, indem ein Datenübertragungspfad mit einer Vielzahl von Servercomputerknoten hergestellt wird. Der erste Servercomputerknoten auf dem Pfad zwischen dem Client und dem Webanwendungsserver ist der Server, der sich innerhalb des Netzwerks am nächsten zu dem Client befindet und von dem somit erwartet werden kann, dass sich mit ihm die Datenstromdienste mit der besten Leistung und der kürzesten Wartezeit für den Client wirksam bereitstellen lassen.
  • Bei einer Ausführungsform der Erfindung wird dieser Server – bei dem es sich um den ersten Knoten auf dem Pfad zwischen dem Client und dem Webanwendungsserver handelt – vom Webanwendungsserver oder einem zugehörigen Medienanforderungsvermittler als der Server ausgewählt, über den das Herunterladen der gewünschten Datei erfolgen soll. Die betreffenden Metadaten, die der Medienanforderungsvermittler dem Webanwendungsserver und dem Client bereitgestellt hat, enthalten Daten, die den ausgewählten Server kenntlich machen.
  • Bei einer weiteren Ausführungsform enthält der Medienanforderungsvermittler eine Datei, die einen Satz von alternativen Servern umfasst, die sich in derselben geografischen oder topologischen Region wie der erste Serverknoten auf dem Pfad zwischen dem Client und dem Webanwendungsserver befinden. In diesem Fall wird der Server, über den das Herunterladen erfolgen soll, aus der Gruppe ausgewählt, die den Satz von Servern aus derselben geografischen/topologischen Region wie der Knoten selbst umfasst.
  • Die Auswahl eines bestimmten Servers aus dieser Gruppe von Servern erfolgt auf Grundlage einer Ermittlung eines Indexes für die relative Qualitätsgewichtung der Server in der Gruppe. Die relative Qualitätsgewichtung lässt sich ausgehend von einem oder mehreren der folgenden Kriterien ermitteln: Verfügbarkeit der gewünschten Medien auf dem Server, Anzahl der gerade ausgeführte Transaktionen, Auslastung der Verarbeitungsressourcen und verfügbare Bandbreite des Datenübertragungspfads zu dem Client.
  • Bei einer weiteren bevorzugten Ausführungsform werden auch die anderen Servercomputer auf dem Pfad zwischen dem Client und dem Webanwendungsserver bei der Auswahl eines bestimmten Servers berücksichtigt. Außerdem kann jeder dieser zusätzlichen Server auch über zugehörige regionale Server verfügen, die ebenfalls bei der Ermittlung eines geeigneten Servers für die Durchführung der Operation des Herunterladens und/oder der fortlaufenden Datenübertragung in Betracht gezogen werden können.
  • Bei einer weiteren bevorzugten Ausführungsform kann ein Servercomputer Datenstromserver mit unterschiedlichen Datenformaten beinhalten. Wenn Medien auf diesem Servercomputer in einem Format verfügbar sind, das sich von dem Format unterscheidet, das der anfordernde Client erfordert, kann dieser Servercomputer dennoch als Servercomputer der Wahl ausgewählt werden. In diesem Fall wird das auf dem Servercomputer verfügbare Datenformat während der Verarbeitung in das gewünschte Format umgewandelt und dann fortlaufend an den Client übertragen.
  • Ein besonderes Anwendungsgebiet der vorliegenden Erfindung besteht in der nicht ortsgebundenen Datenübertragung, insbesondere mit Blick auf die digitale Telefontechnologie wie beispielsweise UMTS. In diesem Fall kann der Client eine beliebige nicht ortsgebundene Einheit wie beispielsweise ein Mobiltelefon mit einem eingebauten MP3-Player, ein persönlicher digitaler Assistent oder ein tragbarer Computer wie beispielsweise ein Mobilrechner oder ein Taschencomputer mit einer Funkschnittstelle sein.
  • Ein besonderer Vorteil der vorliegenden Erfindung besteht darin, dass das Computernetzwerk durch die Auswahl eines Servers auf Grundlage seiner Qualitätsgewichtung eine ausgewogene Verteilung von Rechen- und/oder Bandbreitenressourcen erzielen kann. Auf diese Weise lässt sich der Gesamtdurchsatz des Systems optimieren.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird durch die Figuren der beigefügten Zeichnungen beispielhaft dargestellt und in ihrem Geltungsumfang nicht beschränkt, bei denen:
  • 1 ein Blockschaubild einer ersten Ausführungsform eines Computersystems der Erfindung ist;
  • 2 ein Blockschaubild einer zweiten Ausführungsform eines Computersystems der Erfindung ist; und
  • 3 eine Ausführungsform eines Verfahrens der Erfindung ist.
  • Das Computersystem aus 1 verfügt über einen Client 1. Der Client 1 verfügt über einen Webbrowser und eine Medienwiedergabeeinheit 2 wie beispielsweise einen IBM Video Charger Player.
  • Der Client 1 kann mit Hilfe seines Webbrowser über ein Computernetzwerk wie beispielsweise das Internet, das die Randserver ES1, ES2, ES3, ES4 und andere in 1 nicht abgebildete Randserver umfasst, eine Verbindung zum Webanwendungsserver 3 herstellen. Dabei verfügt der Randserver ES1 über eine Medienzwischenspeicher-Steuereinheit 4, einen Datenstromserver 5 und einen Zwischenspeicher 6.
  • Der Datenstromserver kann ein IBM Video Charger sein, der über eine Schnittstelle mit der entsprechenden Medienwiedergabeeinheit 2 des Clients 1 verbunden ist. Die Datenstromoperation wird aus dem Zwischenspeicher 6 heraus durchgeführt. Die Medienzwischenspeicher-Steuereinheit 4 steuert und analysiert den Zustand und Betrieb des Datenstromservers 5 und ihres Zwischenspeichers 6.
  • Insbesondere wertet die Medienzwischenspeicher-Steuereinheit 4 einen gegenwärtigen Systemzustand aus, um eine Qualitätsgewichtung bereitzustellen, welche die Auslastung des Systems angibt. Die Qualitätsgewichtung kann ein oder mehrere der folgenden Kriterien beinhalten: Verfügbarkeit der ausgewählten Datei im Zwischenspeicher 6, verfügbare Bandbreite für die Verbindung zum Client 1, Prozentsatz der Verarbeitungsressourcen des Randservers ES1 und/oder sonstige Kriterien.
  • Außerdem verfügt der Randserver ES1 über einen Speicher 7 für die Speicherung des Bezeichners ID1 des Randservers ES1. Die Programmeinstiegsmöglichkeit 8 ist mit dem Speicher 7 verbunden.
  • Jeder Randserver leitet die http-Anforderungen und -Antworten des Clients und des Webanwendungsservers in beide Richtungen weiter. Bei jeder vom Client kommenden http-Anforderung ruft der Randserver die Programmeinstiegsmöglichkeit 8 auf und übergibt ihr diese http-Anforderung.
  • Die Programmeinstiegsmöglichkeit überprüft diese http-Anforderung auf eine eindeutige Signatur, welche die Anforderung als eine Medienanforderung kenntlich macht. Wenn die Programmeinstiegsmöglichkeit diese Signatur erkennt, hängt sie ihren Bezeichner ID1 an die http-Anforderung an und gibt die Anforderung zurück an den Randserver. Der Randserver sendet sie an den nächsten Randserver ES2 ... ESn (falls vorhanden) oder aber an den Anwendungsserver.
  • Die weiteren Randserver ES2, ES3 und ES4 auf dem Datenübertragungspfad zwischen dem Client 1 und dem Webanwendungsserver 3 sind gleich oder ähnlich aufgebaut wie der Randserver ES1.
  • Das Computersystem aus 1 beinhaltet ferner einen Medienserver 9, der die ausgewählten Medien 10 speichert. Der Medienserver 9 kann mit einem beliebigen der Randserver ES1 bis ES4 verbunden sein, um die Medien 10 auf den entsprechenden Randserver herunterzuladen.
  • Der Webanwendungsserver 3 ist mit dem Medienanforderungsvermittler 11 verbunden. Der Medienanforderungsvermittler 11 wählt einen der Randserver ES1 bis ES4 oder einen anderen Randserver aus, um die Datenstromoperation der gewünschten Daten zu Client 1 durchzuführen. Ausgehend von dieser Auswahl eines Servers durch den Medienanforderungsvermittler 11 erzeugt der Webanwendungsserver die Metadaten für den Client 1.
  • Der Webanwendungsserver verfügt über einen Speicher 12, in dem die http-Anforderung des Client, ergänzt um Daten, die einen oder mehrere der Randserver angeben, die in dem Datenübertragungspfad zwischen dem Client 1 und dem Webanwendungsserver 3 enthalten sind, zumindest vorübergehend gespeichert wird.
  • Der Webanwendungsserver enthält ferner ein Servlet 14, das mit dieser http-Anforderung aufgerufen wird, wenn der Client 1 auf die Sprungmarke zu Medien 10 klickt.
  • Während des Betriebs klickt der Client 1 auf eine Sprungmarke auf einer Webseite 13 seines Webbrowserprogramms, um so die gewünschten Medien über das Internet von dem Webanwendungsserver 3 anzufordern. wie weiter oben bereits ausführlich erläutert, erzeugt der Webbrowser die entsprechende http-Anforderung die über die Randserver ES1 bis ES4 weitergeleitet wird, so dass sich ein Datenübertragungspfad unter Einschluss dieser Randserver ergibt.
  • Während der Datenübertragungspfad aufgebaut wird, fügt die Programmeinstiegsmöglichkeit 8 des Randservers ES1 Daten zu der http-Anforderung hinzu, um dessen Bezeichner ID1 in die Anforderung aufzunehmen. Entsprechend fügen die Randserver ES2 bis ES4 der http-Anforderung ebenfalls entsprechende Daten hinzu.
  • Auf diese Weise setzt sich die resultierende http-Anforderung aus der ursprünglichen URL zuzüglich der Daten zusammen, welche die Bezeichner ID1 bis ID4 angeben.
  • Daraufhin wird das Servlet 14 mit allen Daten aufgerufen, die in der http-Anforderung des Clients enthalten sind, wobei es mindestens die Erweiterung an den Medienanforderungsvermittler 11 überträgt.
  • Der Medienanforderungsvermittler verfügt über verschiedene Auswahlmöglichkeiten für die Auswahl eines geeigneten Randservers als Server für die fortlaufende Übertragung der gewünschten Datei 10 an den Client 1. Eine Option besteht in der Auswahl des Randservers ES1 als desjenigen Randservers, der dem Client in dem Datenübertragungspfad, der über das Internet zum Webanwendungsserver 3 hergestellt wurde, am nächsten ist.
  • Dabei wird davon ausgegangen, dass der nächstgelegene Randserver ES1 auch die höchste Bandbreite bereitstellt. Die Identität des Randservers ES1 wird vom Medienanforderungsvermittler festgestellt, indem die angehängte Erweiterung, die von der auf jedem Randserver ES1 bis ESn ausgeführten Programmeinstiegsmöglichkeit bereitgestellt wird, analysiert wird.
  • Ausgehend von diesen Daten erzeugt der Medienanforderungsvermittler 11 die Metadaten, die der Client 1 benötigt, um auf einen Datenstromserver zuzugreifen. Die Metadaten beinhalten die vollständige Netzwerkadresse des Datenstromservers 5 (z.B. IP-Adresse und Anschluss), und ein Schlüssel für den Zugriff auf die gewünschten Medien 10 wird dem Client 1 vom Webanwendungsserver 3 bereitgestellt.
  • Als Reaktion auf den Empfang der Metadaten stellt der Client 1 eine Verbindung zum Randserver ES1, genauer gesagt zum Datenstromserver 5, her, um die Datenstromoperation aufzurufen. Falls die gewünschten Medien 10 bereits im Zwischenspeicher 6 verfügbar sind, kann die fortlaufende Datenübertragung sofort beginnen.
  • Wenn dies nicht der Fall ist, muss zunächst eine Operation für das Herunterladen der Datei 10 vom Medienserver 9 in den Zwischenspeicher 6 des Randservers ES1 veranlasst werden.
  • Alternativ hierzu kann der Medienanforderungsvermittler auch die sonstigen Randserver ES2 bis ES4 berücksichtigen, die durch die vom Servlet 14 bereitgestellte Erweiterung kenntlich gemacht werden. In beiden Fällen wertet der Medienanforderungsvermittler 11 die Qualitätsgewichtungen aus, die von den Medienzwischenspeicher-Steuereinheiten 4 der entsprechenden Randserver ES1 bis ES4 bereitgestellt wurden, um den am besten geeigneten Randserver auszuwählen.
  • So kann der Randserver ES2 beispielsweise bereits die Medien 10 in seinem Zwischenspeicher 6 enthalten, während die Medien 10 im Zwischenspeicher 6 des Randservers ES1 nicht verfügbar sind. In diesem Fall ist die Qualitätsgewichtung des Randservers ES2 größer als die Qualitätsgewichtung des Randservers ES1, obwohl sich der Randserver ES1 näher beim Client 1 befindet, da der Randserver ES2 bereits über die erforderlichen Daten verfügt.
  • Entsprechend kann der Medienanforderungsvermittler den Randserver ES2 oder einen anderen Randserver aus anderen Gründen auswählen, z.B. wenn der Randserver ES1 überlastet ist, der Datenstromserver 5 des Randservers ES1 ausgefallen ist oder nicht das erforderliche Datenformat aufweist.
  • 2 zeigt eine weitere bevorzugte Ausführungsform der Erfindung, bei der ähnliche Elemente mit denselben Bezugsziffern versehen sind. Der Randserver ES1 des Computersystems aus 2 verfügt über eine zusätzliche Medienzwischenspeicher-Steuereinheit 15, einen Datenstromserver 16 und einen Zwischenspeicher 17. Dabei ist der Datenstromserver 16 in der Lage, Daten in einem anderen Format als dasjenige des Datenstromservers 5 fortlaufend zu übertragen. Der Randserver ES1 verfügt auch hier über einen Speicher 7 und eine Programmeinstiegsmöglichkeit 8.
  • Wie bei der vorherigen Ausführungsform dient die Programmeinstiegsmöglichkeit 8 zur Bereitstellung einer Erweiterung zu der vom Client 1 bereitgestellten http-Anforderung, um so Daten anzuhängen, die den Bezeichner ID1 des Randservers 1 angeben.
  • Auf einer zweiten Hierarchieebene verfügt der Randserver ES1 über eine Medienrand-Steuereinheit 18, die mit den Medienzwischenspeicher-Steuereinheiten 4 und 15 der einzelnen Datenstromserver 5 und 16 Daten austauscht.
  • Das Computersystem umfasst ferner die Randserver ES1a, ES1b, ES1c und ES1d, die sich in derselben geografischen/topologischen Region bzw. demselben Bereich 19 wie der Randserver ES1 befinden. Entsprechend können die übrigen Randserver ES2 bis ES4 entsprechenden zusätzlichen Randservern in ihren jeweiligen Regionen bzw. Bereichen zugewiesen werden.
  • Diese Situation wird durch die Datenbank 20 widergespiegelt, die vom Medienanforderungsvermittler 11 gespeichert wird. Die Datenbank 20 fasst die Randserver einer jeden Region bzw. eines jeden Bereichs zusammen; so weist sie z.B. im Falle der Region 19 den Randserver ES1 den zusätzlichen Servern ES1a bis ES1d zu. Die Datenbank 20 kann ähnliche Einträge für die weiteren Randserver ES2 bis ES4 enthalten.
  • Wenn der Medienanforderungsvermittler 11 die Erweiterung vom Servlet 14 erhält, ermittelt es den ersten Randserver auf dem Pfad zwischen dem Client 1 und dem Webanwendungsserver 3, wobei es sich um den Randserver ES1 handelt. Im nächsten Schritt ermittelt der Medienanforderungsvermittler 11 durch eine Abfrage der Datenbank 20 die zusätzlichen Randserver ES1a bis ES1d, die sich in derselben geografischen/topologischen Region 19 wie der Randserver ES1 befinden.
  • Der Medienanforderungsvermittler 11 erhält ferner die relativen Qualitätsgewichtungen der Medienzwischenspeicher-Steuereinheiten und/oder Medienrand-Steuereinheiten der betreffenden Gruppe von Randservern in der Region 19. Der Medienanforderungsvermittler 11 wählt aus dieser Gruppe von Randservern den Datenstromserver aus, der die höchste Qualitätsgewichtung bereitstellt.
  • Wenn die höchste Qualitätsgewichtung eines Datenstromservers aus dieser Gruppe von Randservern nicht ausreicht, z.B. weil sie unter einem vorgegebenen Schwellenwert liegt, führt der Medienanforderungsvermittler 11 eine vergleichbare Operation für den nächsten Randserver ES2 und die zugehörige regionale Gruppe von zusätzlichen (in 2 nicht abgebildeten) Randservern durch, um nach einem Datenstromserver mit einer ausreichenden Qualitätsgewichtung zu suchen.
  • Als Ergebnis dieses Prozesses gibt der Medienanforderungsvermittler 11 eine Datenstromserver-Adresse an den Webanwendungsserver 3 zurück, auf deren Grundlage die Metadaten für Client 1 erzeugt werden.
  • Bei der Ausführungsform aus 2 kann der Medienanforderungsvermittler 11 z.B. auch den Randserver ES1 mit dem Datenstromserver 16 auswählen, obwohl die eigentlichen für die fortlaufende Übertragung vorgesehenen Medien sich nur im Zwischenspeicher des Datenstromservers 5 befinden und im Format des Datenstromservers 5 vorliegen, das mit dem Format, das für die Medienwiedergabeeinheit 2 beim Client notwendig ist, nicht verträglich ist. Möglich wird dies dadurch, dass der Randserver ES1 über ein Codeumsetzungsprogramm verfügt, mit dem die vom Datenstromserver 16 bereitgestellten Daten in das erforderliche Format der Medienwiedergabeeinheit 2 umgesetzt werden können.
  • Die Codeumsetzung wird vom Medienanforderungsvermittler mit einer entsprechenden Nachricht an die Medienrand-Steuereinheit veranlasst. In dem Beispiel werden die aus dem Zwischenspeicher des Datenstromservers 16 entnommenen angeforderten Medien umgesetzt, und die sich daraus ergebenden Medien werden im Zwischenspeicher des Datenstromservers 5 gespeichert. Daraufhin wird eine Metadatei erzeugt, die auf den Datenstromserver 5 zeigt, und die Medien werden vom Datenstromserver 5 fortlaufend an die Medienwiedergabeeinheit übertragen.
  • Mit Blick auf 3 wird nun eine bevorzugte Ausführungsform eines Verfahrens der Erfindung ausführlicher erläutert.
  • In Schritt 1 stellt ein Client eine Verbindung zu einer Webseite mit Sprungmarken zu Medienobjekten (z.B. Mediendateien) her.
  • In Schritt 2 wählt der Client Medien aus, indem er auf eine Sprungmarke klickt.
  • In Schritt 3 erzeugt ein Webbrowser eine http-Anforderung, welche die eindeutige Signatur der Medienanforderung beinhaltet.
  • Schritt 4 ist eine FOR-NEXT-Schleife, welche die folgenden
  • Schritte 5, 6 und 7 beinhaltet:
    Für alle Randserver 1 bis n:
    Leite http-Anforderung an Randserver ESm weiter. Rufe Programmeinstiegsmöglichkeit bei Randserver ESm auf. Überprüfe Programmeinstiegsmöglichkeit daraufhin, ob eine Medienanforderungssignatur vorhanden ist.
    (Schritt 5)
  • In Schritt 6 wird ermittelt, ob eine Medienanforderungssignatur vorhanden ist. Wenn dies der Fall ist, wird in Schritt 7 eine Kennung des Randservers ESm an die http-Anforderung angehängt, und die Steuerung kehrt mit einem erhöhten Wert m zu Schritt 5 zurück. Andernfalls wird der Wert von m direkt erhöht, und die Steuerung kehrt zu Schritt 5 zurück, sofern m kleiner oder gleich n ist.
  • In Schritt 8 geht die http-Anforderung beim Webanwendungsserver ein. Als Nächstes ruft der Webanwendungsserver ein Servlet auf und übergibt eine URL und die Erweiterung(en) der Randserver an das Servlet.
  • In Schritt 10 greift das Servlet auf die Erweiterung der URL zu, um sie in Schritt 11 dem Medienanforderungsvermittler bereitzustellen.
  • Ausgehend von der Erweiterung ermittelt der Medienanforderungsvermittler in Schritt 12 die Qualitätsgewichtungen der möglichen Randserver. Ein möglicher Randserver ist der erste Randserver auf dem Datenübertragungspfad zwischen dem Client und der Webseite – wobei es sich um den Randserver ES1 handelt – oder aber ein Randserver aus einer regionalen Gruppe des Randservers ES1 und/oder einer der Randserver ES2 bis ES4 und/oder ein Randserver aus den entsprechenden regionalen Gruppen der Randserver ES2 bis ES4.
  • In Schritt 13 wählt der Medienanforderungsvermittler einen geeigneten Randserver auf Grundlage der Qualitätsgewichtung aus, die in Schritt 12 ermittelt wurde.
  • Ausgehend von dem ausgewählten Randserver werden in Schritt 14 entsprechende Mediendaten erzeugt, die in Schritt 15 an den Client gesendet werden.
  • Der Client stellt eine Verbindung zu dem Randserver her, der durch die Metadaten angegeben wird, und stellt dem Randserver den Schlüssel bereit, um in Schritt 160 die fortlaufende Datenübertragung zu veranlassen. Die eigentliche fortlaufende Datenübertragung beginnt in Schritt 17.
  • Definitionen
    • 1. Verfahren für die Auswahl eines ersten Servercomputers für das Senden von Daten an einen Clientcomputer, wobei das Verfahren die folgenden Schritte umfasst: – Zugreifen auf einen zweiten Servercomputer über einen Pfad in einem Computernetzwerk, wobei der Pfad einen ersten Satz von Servercomputern umfasst; – Hinzufügen von Daten, die mindestens einen Servercomputer aus dem ersten Satz von Servercomputern angeben, zu einer Sucheinheit einer Ressource auf dem zweiten Computer, wobei die Ressource als Bestandteil ihres Bezeichners über eine eindeutige Signatur verfügt; und – Auswählen des ersten Servercomputers auf der Grundlage der Daten, die zu der Sucheinheit hinzugefügt wurden.
    • 2. Verfahren nach Definition 1, wobei der zweite Servercomputer ein Webanwendungscomputer ist, der eine Webseite mit einer Sprungmarke umfasst, die auf die an den Client zu sendenden Daten verweist, wobei die Sprungmarke eine eindeutige Signatur beinhaltet, wobei das Verfahren weiter den Schritt des Auswählens der Sprungmarke durch den Client umfasst; wobei daraufhin aus dieser Sprungmarke durch einen Webbrowser eine http-Anforderung erzeugt wird; wobei diese http-Anforderung die eindeutige Signatur enthält, welche die Medienanforderung kenntlich macht.
    • 3. Verfahren nach den Definitionen 1 oder 2, das weiter die folgenden Schritte umfasst: – zumindest vorübergehendes Speichern der Daten, die zu der Sucheinheit auf dem zweiten Servercomputer hinzugefügt wurden; – Bereitstellen der Daten an einen Medienanforderungsvermittler als Reaktion auf eine Auswahl der Sprungmarke durch den Client.
    • 4. Verfahren nach einer beliebigen der Definitionen 1, 2 oder 3, wobei der Medienanforderungsvermittler ausgehend von den Daten den ersten Servercomputer auswählt.
    • 5. Verfahren nach einer beliebigen der vorangegangenen Definitionen, das weiter die folgenden Schritte umfasst: – Ermitteln einer Qualitätsgewichtung von mindestens einem der Servercomputer auf dem Pfad; – Auswählen des ersten Servercomputers aus dem ersten Satz von Servercomputern auf der Grundlage der Qualitätsgewichtung.
    • 6. Verfahren nach einer beliebigen der vorangegangenen Definitionen, das weiter die folgenden Schritte umfasst: – Speichern eines Satzes von Sucheinheiten aus einem zweiten Satz von Servercomputern in demselben geografischen/topologischen Bereich wie ein Servercomputer aus dem ersten Satz von Servercomputern; und – Ermitteln einer Qualitätsgewichtung von mindestens einem der Servercomputer aus dem zweiten Satz zur Auswahl des ersten Servercomputers.
    • 7. Verfahren nach einer beliebigen der vorangegangenen Definitionen, das weiter die folgenden Schritte umfasst: – Bereitstellen der Daten an den Medienanforderungsvermittler, wobei die Daten den Servercomputer aus dem ersten Satz von Servercomputern als den ersten Knoten auf dem Pfad angeben; – Ermitteln einer Qualitätsgewichtung auf der Grundlage der Daten für den ersten Servercomputerknoten auf dem Pfad und für die Servercomputer aus dem zweiten Satz von Servercomputern, die zu diesem Servercomputerknoten gehören; – Auswählen eines der Servercomputer aus der Gruppe, die den ersten Servercomputerknoten auf dem Pfad umfasst, und aus dem Satz der zweiten Servercomputer mit einer Qualitätsgewichtung, die über einem vorgegebenen Schwellenwert liegt; – Ermitteln einer Qualitätsgewichtung eines zweiten Servercomputerknotens auf dem Pfad, falls keine der Qualitätsgewichtungen aus der ersten Gruppe ausreichend ist.
    • 8. Verfahren nach einer beliebigen der vorangegangenen Definitionen, wobei die Qualitätsgewichtungen auf der Grundlage eines oder mehrerer der folgenden Kriterien ermittelt werden: Verfügbarkeit der Daten auf einem Servercomputer, Anzahl der auf dem Servercomputer ausgeführten Transaktionen, Prozentsatz der genutzten Verarbeitungsressourcen des Servercomputers, verfügbare Datenübertragungsbandbreite für die Datenübertragungsleitung mit dem Client.
    • 9. Servercomputersystem, das einen Datenstromserver (5, 16) und Speichermittel (6, 17) für die Speicherung und/oder Zwischenspeicherung von Daten umfasst, die fortlaufend an einen Client (1) übertragen werden sollen, ein Mittel (7) für die Speicherung eines Bezeichners des Servercomputers und ein Mittel (8) für das Hinzufügen von Daten zu einer von dem Client bereitgestellten Sucheinheit, wobei die Daten den Bezeichner angeben.
    • 10. Servercomputersystem nach Definition 9, das weiter ein Mittel für die Umwandlung der Daten aus einem Datenstromformat in ein anderes umfasst.
    • 11. Computersystem, das einen Webanwendungsserver (3) und einen Medienanforderungsvermittler (11) umfasst, wobei der Webanwendungsserver eine Webseite (13) mit einer Sprungmarke, die auf Medien (10) verweist, die fortlaufend an einen Client (1) übertragen werden sollen, und ein Mittel (12) für die mindestens vorübergehende Speicherung von Daten, die einen ersten Knoten eines Datenübertragungspfads zwischen dem Client und dem Webanwendungsserver in einem Computernetzwerk angeben, ein Mittel (14) für die Bereitstellung der Daten an den Medienanforderungsvermittler, wenn die Sprungmarke durch den Client ausgewählt wird, und ein Mittel (20) für die Auswahl eines Datenstromservers für die fortlaufende Übertragung der Daten an den Client auf der Grundlage dieser Daten enthält.
    • 12. System für die Auswahl eines ersten Servercomputer aus einer Vielzahl von Servercomputern für das Senden von Daten an einen Client, wobei das System ein Mittel umfasst, das so gestaltet ist, dass es die Schritt des Verfahrens nach einer beliebigen der vorangegangenen Definitionen 1 bis 8 ausführen kann.
    • 13. Datenverarbeitungsprogramm für die Ausführung in einem Datenverarbeitungssystem, das Softwarecodeteile für die Durchführung eines Verfahrens nach einer beliebigen der Definitionen 1 bis 8 umfasst, wenn das Programm auf dem Computer ausgeführt wird.
    • 14. Computerprogrammprodukt, das auf einem von einem Computer nutzbaren Medium gespeichert ist, das ein computerlesbares Programmmittel umfasst, mit dem ein Computer veranlasst wird, ein Verfahren nach einer beliebigen der Definitionen 1 bis 8 auszuführen, wenn das Programm auf dem Computer ausgeführt wird.

Claims (10)

  1. Verfahren für die Auswahl eines ersten Servercomputers (ES1, ES2, ES3, ES4) für das Senden von Mediendaten an einen Clientcomputer (1), wobei das verfahren die folgenden Schritte umfasst: – Senden einer http-Anforderung von dem Clientcomputer (1) an einen zweiten Servercomputer (3) über einen Pfad in einem Computernetzwerk, wobei der Pfad einen ersten Satz von Servercomputern (ES1, ES2, ES3, ES4) umfasst, wobei die http-Anforderung über eine eindeutige Signatur verfügt, welche die Anforderung als eine Medienanforderung kenntlich macht; – in mindestens einem der Servercomputer aus dem ersten Satz von Servercomputern: Überprüfen der http-Anforderung auf die eindeutige Signatur und – falls die eindeutige Signatur erkannt wird – Hinzufügen von Daten, die den mindestens einen Servercomputer aus dem ersten Satz von Servercomputern angeben, zu der http-Anforderung; und – Auswählen des ersten Servercomputers durch den zweiten Servercomputer auf der Grundlage der Daten, die durch den mindestens einen Servercomputer aus dem ersten Satz von Servercomputern zu der http-Anforderung hinzugefügt wurden.
  2. Verfahren nach Anspruch 1, wobei der zweite Servercomputer ein Webanwendungsserver ist, der eine Webseite mit einer Sprungmarke umfasst, welche auf die Daten verweist, die an den Client gesendet werden sollen, wobei die Sprungmarke eine eindeutige Signatur beinhaltet, wobei das Verfahren ferner den Schritt des Auswählens der Sprungmarke durch den Client umfasst; wobei daraufhin von einem Webbrowser aus dieser Sprungmarke eine http-Anforderung erzeugt wird; wobei diese http-Anforderung die eindeutige Signatur enthält, welche die Medienanforderung kenntlich macht.
  3. Verfahren nach den Ansprüchen 1 oder 2, das weiter die folgenden Schritte umfasst: zumindest vorübergehendes Speichern der Daten, die zu der http-Anforderung hinzugefügt wurden, auf dem zweiten Servercomputer; Bereitstellen der Daten an einen Medienanforderungsvermittler als Reaktion auf eine Auswahl der Sprungmarke durch den Client.
  4. Verfahren nach einem beliebigen der Ansprüche 1, 2 oder 3, wobei der Medienanforderungsvermittler den ersten Servercomputer ausgehend von den Daten auswählt.
  5. Verfahren nach einem beliebigen der vorangegangenen Ansprüche, das ferner die folgenden Schritte umfasst: Ermitteln einer Qualitätsgewichtung von mindestens einem der Servercomputer auf dem Pfad; Auswählen des ersten Servercomputers aus dem ersten Satz von Servercomputern auf Grundlage der Qualitätsgewichtung.
  6. Verfahren nach einem beliebigen der vorangegangenen Ansprüche, das weiter die folgenden Schritte umfasst: Speichern eines Satzes von URLs eines zweiten Satzes von Servercomputern, die sich in demselben geografischen/topologischen Bereich wie ein Servercomputer aus dem ersten Satz von Servercomputern befinden; und Ermitteln einer Qualitätsgewichtung von mindestens einem der Servercomputer aus dem zweiten Satz zur Auswahl des ersten Servercomputers.
  7. Verfahren nach einem beliebigen der vorangegangenen Ansprüche, das weiter die folgenden Schritte umfasst: Bereitstellen der Daten an den Medienanforderungsvermittler, wobei die Daten den Servercomputer aus dem ersten Satz von Servercomputern als ersten Knoten auf dem Pfad angeben; Ermitteln einer Qualitätsgewichtung auf Grundlage der Daten für den ersten Servercomputerknoten auf dem Pfad und für die Servercomputer aus dem zweiten Satz von Servercomputern, die zu diesem Servercomputerknoten gehören; Auswählen eines der Servercomputer aus der Gruppe, die den ersten Servercomputerknoten auf dem Pfad umfasst, und aus dem Satz von zweiten Servercomputern mit einer Qualitätsgewichtung, die über einem vorgegebenen Schwellenwert liegt; Ermitteln einer Qualitätsgewichtung eines zweiten Servercomputerknotens auf dem Pfad, falls keine der Qualitätsgewichtungen aus der ersten Gruppe ausreichend ist.
  8. Verfahren nach einem beliebigen der vorangegangenen Ansprüche, wobei die Qualitätsgewichtungen auf der Grundlage eines oder mehrerer der folgenden Kriterien ermittelt werden: Verfügbarkeit der Daten auf einem Servercomputer, Anzahl der auf dem Servercomputer ausgeführten Transaktionen, Prozentsatz der genutzten Verarbeitungsressourcen des Servercomputers, verfügbare Datenübertragungsbandbreite für die Datenübertragungsleitung mit dem Client.
  9. System für die Auswahl eines ersten Servercomputers aus einer Vielzahl von Servercomputern für das Senden von Daten an einen Client, wobei das System ein Mittel umfasst, das so gestaltet ist, dass es die Schritte des Verfahrens nach einem beliebigen der vorangegangenen Ansprüche 1 bis 8 ausführen kann.
  10. Computerprogrammprodukt, das ein auf einem maschinenlesbaren Medium gespeichertes Programm umfasst, das, wenn es in einen Universalcomputer geladen wird, diesen dazu veranlasst, die Verfahrensschritte nach einem beliebigen der Ansprüche 1 bis 8 auszuführen.
DE60216918T 2001-04-18 2002-03-16 Verfahren und computersystem zur auswahl eines randservercomputers Expired - Lifetime DE60216918T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01109563 2001-04-18
EP01109563 2001-04-18
PCT/EP2002/002947 WO2002084976A1 (en) 2001-04-18 2002-03-16 Method and computer system for selecting an edge server computer

Publications (2)

Publication Number Publication Date
DE60216918D1 DE60216918D1 (de) 2007-02-01
DE60216918T2 true DE60216918T2 (de) 2007-08-30

Family

ID=8177169

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60216918T Expired - Lifetime DE60216918T2 (de) 2001-04-18 2002-03-16 Verfahren und computersystem zur auswahl eines randservercomputers

Country Status (6)

Country Link
US (2) US7426546B2 (de)
EP (1) EP1396132B1 (de)
JP (1) JP3994057B2 (de)
AT (1) ATE349130T1 (de)
DE (1) DE60216918T2 (de)
WO (1) WO2002084976A1 (de)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
JP3994057B2 (ja) 2001-04-18 2007-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション エッジ・サーバ・コンピュータを選択する方法およびコンピュータ・システム
US8942082B2 (en) 2002-05-14 2015-01-27 Genghiscomm Holdings, LLC Cooperative subspace multiplexing in content delivery networks
US7187681B1 (en) 2002-06-11 2007-03-06 Cisco Technology, Inc. Method and apparatus for traffic quality and billing authorization by request token insertion
US7941553B2 (en) 2002-10-18 2011-05-10 International Business Machines Corporation Method and device for streaming a media file over a distributed information system
US7945648B2 (en) * 2003-10-27 2011-05-17 Hewlett-Packard Development Company, L.P. Methods and systems for dynamically configuring a network component to reroute media streams
WO2005089236A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US8028038B2 (en) * 2004-05-05 2011-09-27 Dryden Enterprises, Llc Obtaining a playlist based on user profile matching
US8028323B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Method and system for employing a first device to direct a networked audio device to obtain a media item
US9826046B2 (en) * 2004-05-05 2017-11-21 Black Hills Media, Llc Device discovery for digital entertainment network
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US9325805B2 (en) 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
AU2010201379B2 (en) * 2010-04-07 2012-02-23 Limelight Networks, Inc. System and method for delivery of content objects
FR2889012B1 (fr) * 2005-07-22 2007-08-24 Alcatel Sa Dispositif de gestion de ressources de serveurs media pour l'interfacage entre serveurs d'applications et serveurs media au sein d'un reseau de communication
US7698061B2 (en) 2005-09-23 2010-04-13 Scenera Technologies, Llc System and method for selecting and presenting a route to a user
US20080212971A1 (en) * 2005-12-16 2008-09-04 Tamir Shaanan Wireless Infrared Multimedia System
US20100198977A1 (en) * 2006-09-27 2010-08-05 Adobe Systems Incorporated Automatic live stream trees
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8270937B2 (en) * 2007-12-17 2012-09-18 Kota Enterprises, Llc Low-threat response service for mobile device users
US8024431B2 (en) 2007-12-21 2011-09-20 Domingo Enterprises, Llc System and method for identifying transient friends
US8010601B2 (en) * 2007-12-21 2011-08-30 Waldeck Technology, Llc Contiguous location-based user networks
CN101534241B (zh) * 2008-03-14 2012-07-04 华为技术有限公司 一种减轻网络流量的方法、系统及一种会话控制单元
US8725740B2 (en) 2008-03-24 2014-05-13 Napo Enterprises, Llc Active playlist having dynamic media item groups
US20100010997A1 (en) * 2008-07-11 2010-01-14 Abo Enterprise, LLC Method and system for rescoring a playlist
US20100017261A1 (en) * 2008-07-17 2010-01-21 Kota Enterprises, Llc Expert system and service for location-based content influence for narrowcast
US8504073B2 (en) 2008-08-12 2013-08-06 Teaneck Enterprises, Llc Customized content delivery through the use of arbitrary geographic shapes
US7921223B2 (en) 2008-12-08 2011-04-05 Lemi Technology, Llc Protected distribution and location based aggregation service
US20120047087A1 (en) 2009-03-25 2012-02-23 Waldeck Technology Llc Smart encounters
US8874724B2 (en) 2009-08-26 2014-10-28 At&T Intellectual Property I, L.P. Using a content delivery network for security monitoring
US20110088076A1 (en) * 2009-10-08 2011-04-14 Futurewei Technologies, Inc. System and Method for Media Adaptation
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11330046B2 (en) 2010-03-01 2022-05-10 Tybalt, Llc Content delivery in wireless wide area networks
US10419533B2 (en) 2010-03-01 2019-09-17 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
US8244874B1 (en) 2011-09-26 2012-08-14 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
WO2012142510A1 (en) * 2011-04-15 2012-10-18 Skyfire Labs, Inc. Real-time video detector
US20130132544A1 (en) * 2011-11-23 2013-05-23 Telefonaktiebolaget L M Ericsson (Publ) Precise geolocation for content caching in evolved packet core networks
US10069885B2 (en) * 2013-03-18 2018-09-04 Ericsson Ab Bandwidth management for over-the-top adaptive streaming
US20130254417A1 (en) * 2012-03-21 2013-09-26 Jason Nicholls System method device for streaming video
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9009354B2 (en) * 2012-12-20 2015-04-14 Sap Se Services and management layer for diverse data connections
US8788703B1 (en) 2013-08-05 2014-07-22 Iboss, Inc. Content caching
US8972513B2 (en) * 2013-08-05 2015-03-03 Iboss, Inc. Content caching
US10680742B2 (en) * 2014-06-27 2020-06-09 Agora Lab, Inc. Systems and methods for improved communication packet delivery over a public network
KR101977109B1 (ko) * 2015-11-17 2019-08-28 (주)마크애니 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
US10791168B1 (en) 2018-05-21 2020-09-29 Rafay Systems, Inc. Traffic aware network workload management system
US11695814B2 (en) * 2018-09-06 2023-07-04 Nokia Technologies Oy Method and apparatus for stream descriptor binding in a streaming environment
JP7183762B2 (ja) * 2018-12-19 2022-12-06 日本電信電話株式会社 サーバ選択装置、サーバ選択方法及びプログラム
WO2020204474A1 (ko) * 2019-03-29 2020-10-08 삼성전자 주식회사 무선 통신 시스템에서 에지 컴퓨팅 서비스를 제공하기 위한 장치 및 방법
US10489789B1 (en) 2019-05-02 2019-11-26 Capital One Services, Llc Systems and methods for providing notifications to devices
WO2021135663A1 (zh) * 2019-12-31 2021-07-08 华为技术有限公司 应用实例确定的方法、装置及系统
CN111556514B (zh) * 2020-04-14 2021-09-21 北京航空航天大学 一种去中心化的移动边缘计算资源发现和选择方法及系统
CN112601114B (zh) * 2020-12-14 2023-03-21 杭州当虹科技股份有限公司 一种基于钩子回调的gb28181按需拉流实现方法
US11936757B1 (en) 2022-04-29 2024-03-19 Rafay Systems, Inc. Pull-based on-demand application deployment to edge node

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9624419D0 (en) 1996-11-23 1997-01-08 Inmedia Investment Ltd Communication system for delivery of content over electronic networks
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6553376B1 (en) 1998-11-18 2003-04-22 Infolibria, Inc. Efficient content server using request redirection
JP2001007844A (ja) 1999-06-24 2001-01-12 Canon Inc ネットワークステータスサーバ及び情報配信システム、及びその制御方法、及びその制御プログラムを格納した記憶媒体
US6970913B1 (en) * 1999-07-02 2005-11-29 Cisco Technology, Inc. Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US7577754B2 (en) * 2000-04-28 2009-08-18 Adara Networks, Inc. System and method for controlling access to content carried in a caching architecture
US7000008B2 (en) * 2001-04-16 2006-02-14 Sun Microsystems, Inc. Method, system, and program for providing data updates to a page including multiple regions of dynamic content
JP3994057B2 (ja) 2001-04-18 2007-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション エッジ・サーバ・コンピュータを選択する方法およびコンピュータ・システム

Also Published As

Publication number Publication date
US20080263177A1 (en) 2008-10-23
US7426546B2 (en) 2008-09-16
DE60216918D1 (de) 2007-02-01
EP1396132A1 (de) 2004-03-10
EP1396132B1 (de) 2006-12-20
ATE349130T1 (de) 2007-01-15
US20040148393A1 (en) 2004-07-29
JP2004523854A (ja) 2004-08-05
WO2002084976A1 (en) 2002-10-24
JP3994057B2 (ja) 2007-10-17

Similar Documents

Publication Publication Date Title
DE60216918T2 (de) Verfahren und computersystem zur auswahl eines randservercomputers
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
DE60211524T2 (de) Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes
DE60029879T2 (de) System zur mehrschichtigen Bereitstellung in Computernetzwerken
DE60302051T2 (de) Verfahren, netzwerk und gerät zur konfiguration und steuerung von netzressourcen beim zurverfügungstellen von inhalten mit verteilungsregeln
DE60221374T2 (de) Drahtloses kommunikationssystem mit inhaltsablieferung auf mobilitätsbasis
DE602005003948T2 (de) Optimiertes gleichzeitiges datenherunterladen in einer gitter-datenverarbeitungsumgebung
DE60208659T2 (de) Skalierbare ressourcenermittlung und rekonfiguration für verteilte rechnernetze
DE10116640B4 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
DE69631502T2 (de) Verteiltes interaktives Multimediadienstesystem
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE60111072T2 (de) Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten
CA2231810C (en) Load balancing across the processors of a server computer
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE69835674T2 (de) System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz
DE69735500T2 (de) Verfahren und System zur Datenübertragung im Internet
DE10297645B4 (de) Verfahren und Einrichtung zum Lastteilen und zur Datenverteilung in Servern
DE10051024A1 (de) Methode zum Einrichten optimaler intermediärer Cachingpunkte durch Gruppierung von Programmelementen in einem Softwaresystem
DE60100624T2 (de) Verfahren und vorrichtung zum verbessern der verwendung eines betriebsmittels auf einem verteilten klient
EP1559038A2 (de) Verfahren zum vorabübertragen strukturierter datenmengen zwischen einer clienteinrichtung und einer servereinrichtung
DE202008013034U1 (de) System zum Beschleunigen von Browsing-Sitzungen
DE602004008483T2 (de) Analyseverfahren für benutzeranforderungen
DE60316466T2 (de) Unterstüzung von mehreren nativen netzwerkprotokollimplementiurungen in einem einzigen system

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)