DE60030397T2 - Belastungsverteilung in einem Netzwerk - Google Patents
Belastungsverteilung in einem Netzwerk Download PDFInfo
- Publication number
- DE60030397T2 DE60030397T2 DE60030397T DE60030397T DE60030397T2 DE 60030397 T2 DE60030397 T2 DE 60030397T2 DE 60030397 T DE60030397 T DE 60030397T DE 60030397 T DE60030397 T DE 60030397T DE 60030397 T2 DE60030397 T2 DE 60030397T2
- Authority
- DE
- Germany
- Prior art keywords
- streaming data
- cache server
- distribution
- cache
- server
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- HINTERGRUND DER ERFINDUNG
- Gebiet der Erfindung
- Die vorliegende Erfindung bezieht sich auf Clusterservervorrichtungen, und genauer auf eine Clusterservervorrichtung zum Verteilen von Streamingdaten, wie etwa Video, in Antwort auf Anfragen von einer Mehrzahl von Endgeräten, die mit ihr durch ein Netzwerk verbunden sind.
- Beschreibung der Hintergrundtechnik
- Für Clusterservervorrichtungen, die Streamingdaten verteilen, die durch Video verkörpert werden, wird ununterbrochene Verteilung der Streamingdaten an Endgeräte benötigt, die mit ihr durch ein Netzwerk verbunden sind. Da die Menge der Streamingdaten in der Regel riesig ist, wird eine Speichervorrichtung, wie etwa eine Festplatte mit großer Kapazität, für die Datenspeicherung in der Clusterservervorrichtung verwendet.
- In der Clusterservervorrichtung, die durch einen Server strukturiert wird, der eine Speichervorrichtung mit großer Kapazität zur Datenspeicherung umfasst, ist jedoch die Anzahl von Endgeräten zum Empfang von Daten durch die Begrenzung bezüglich der Leistungsfähigkeit des Servers begrenzt. In einem herkömmlichen Verfahren zur Verteilung an viele Endgeräte wird daher eine Mehrzahl von Servern in der Clusterservervorrichtung zur Verfügung gestellt, und Anfragen von den Endgeräten werden in Rotation über die Server verteilt.
- Ein Beispiel der Struktur einer herkömmlichen Clusterservervorrichtung, die das obige Verfahren des Verteilens von Anfragen in Rotation unter den Servern verwendet, wird unten kurz beschrieben.
-
18 ist ein Blockdiagramm, das ein Beispiel der Struktur eines Verteilungssystems zeigt, das die obige herkömmliche Clusterservervorrichtung verwendet. - Wie in
18 gezeigt wird, sind im herkömmlichen Verteilungssystem m Endgeräte401 bis40m (m ist eine ganze Zahl nicht kleiner als 2) und eine Clusterservervorrichtung200 miteinander über ein Netzwerk501 verbunden. Die Clusterservervorrichtung200 gliedert sich in n Cacheserver201 bis20n (n ist eine ganze Zahl nicht kleiner als 2) und einen Inhalteserver300 . Die Cacheserver201 bis20n sind jeweils mit dem Inhalteserver300 über ein internes Netzwerk503 verbunden. - Die Cacheserver
201 bis20n umfassen Empfänger211 bis21n , Caches221 bis22n bzw. Verteilungseinheiten231 bis23n . Der Inhalteserver300 umfasst eine Streamingdatenspeichereinheit301 , eine Leseeinheit302 , einen Cache303 und eine Verteilungseinheit304 . Streamingdaten werden in der Streamingdatenspeichereinheit301 per Blockeinheit gespeichert. - Man nehme jetzt an, dass das Endgerät
401 beim Inhalteserver300 nach bestimmten Streamingdaten anfragt. In Antwort auf diese Anfrage gibt im Inhalteserver300 die Leseeinheit302 eine Leseanfrage nach Streamingdaten an die Streamingdatenspeichereinheit301 aus. Die gelesenen Streamingdaten werden im Cache303 zwischengespeichert. Die Verteilungseinheit304 sendet die im Cache303 zwischengespeicherten Streamingdaten an den Cacheserver201 . Im Cacheserver201 empfängt der Empfänger211 die Streamingdaten, die vom Inhalteserver300 gesendet wurden. Die empfangenen Streamingdaten werden im Cache221 zwischengespeichert. Die Verteilungseinheit231 sendet die im Cache221 zwischengespeicherten Streamingdaten an das Endgerät401 . - Wenn als nächstes das Endgerät
402 beim Inhalteserver300 bestimmte Streamingdaten anfragt, verwendet die Clusterservervorrichtung200 den Cacheserver202 , und wenn es das Endgerät403 tut, verwendet sie den Cacheserver203 . Auf diese Weise verwendet die Clusterservervorrichtung200 die Cacheserver in Rotation, wenn sie Anfragen empfängt. - Wie oben gesagt wurde, sind in den herkömmlichen Clusterservervorrichtungen
200 die Cacheserver201 bis20n parallel für zyklische Verwendung bei der Behandlung von Anfragen strukturiert. Mit dieser Struktur wird die Anzahl an Endgeräten401 bis40m zum Empfang von Streamingdaten im ganzen System erhöht. - Über das oben Gesagte hinaus wurde eine weitere herkömmliche Clusterservervorrichtung zum Ausführen von Datenwiedergewinnung, nachdem eine Erholung von einem Fehler in einem Server in der Clusterservervorrichtung erfolgt ist, in der japanischen Patentoffenlegungsschrift Nr. 8-263351 (1996-263351) offenbart. In der herkömmlichen Clusterservervorrichtung, die in der Veröffentlichung offenbart wird, zwischenspeichert jeder Cacheserver einen Aktualisierungsverlauf des Inhalteservers. Nach Wiederherstellung nach Ausfall wird der letzte Aktualisierungsverlauf, der im Cacheserver zwischengespeichert ist, zur Datenwiederherstellung im Inhalteserver verwendet. Daher kann, selbst wenn eine Störung in den Daten des Inhalteservers auftritt, Datenwiedergewinnung in dieser herkömmlichen Clusterservervorrichtung ohne Systemunterbrechung ausgeführt werden.
- In der herkömmlichen Clusterservervorrichtung
200 werden Anfragen von den Endgeräten401 bis40m jedoch an die Cacheserver201 bis20n einfach in Rotation geliefert. Wenn daher Streamingdaten, die in der Zeit nicht kontinuierlich sind, wie etwa Videodaten, verteilt werden müssen, werden die Lasten auf den Cacheservern201 bis20n nicht richtig verteilt, und dadurch können die kontinuierlichen Videobilder unterbrochen werden. - Weiterhin muss, wenn eine Störung im Cacheserver während der Streamingdaten verteilung auftritt, ein anderer Server die Streamingdaten vom Anfang an verteilen.
- Ebenfalls weiterhin wird in der herkömmlichen Clusterservervorrichtung, die in der obigen Veröffentlichung offenbart ist, der Aktualisierungsverlauf des Inhalteservers nur von den Cacheservern gehalten. Wenn daher irgendeine Störung in den Cacheservern auftritt, wird der Dienst zu den Endgeräten unterbrochen.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Daher ist es ein Ziel der vorliegenden Erfindung, eine Clusterservervorrichtung zur Verfügung zu stellen, zum optimalen Verteilen, in Antwort auf Anfragen von Endgeräten, von Lasten auf den Cacheservern, während sie mit der Datenverteilung an die Endgeräte ohne irgendein Problem (Rahmenauslassung) fortfährt, selbst wenn eine Störung in irgendeinem der Cacheserver auftritt, und sie sich von einem Ausfall erholt.
- Diese und andere Ziele, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden durch eine Clusterservervorrichtung gemäß den angehängten Ansprüchen 1 bis 38 zur Verfügung gestellt und werden aus der folgenden detaillierten Beschreibung der vorliegenden Erfindung offensichtlicher werden, wenn sie in Zusammenhang mit den angehängten Zeichnungen genommen wird.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm, das die Struktur eines Verteilungssystems zeigt, das eine Clusterservervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung verwendet; -
2 und3 sind ein Flussdiagramm zum Erklären der Operation des Verteilens von Streamingdaten, die von einer Clusterservervorrichtung10 gemäß der Ausführungsform der vorliegenden Erfindung durchgeführt wird; -
4 ist ein Diagramm, das ein Beispiel von Informationen zeigt, die durch eine Streamingdaten-Managementeinheit14x gespeichert werden; -
5 ist ein Diagramm, das ein Beispiel von Verteilungsinformationen zeigt, die durch Datenverteilungseinheiten121 bis12n versendet werden; -
6 ist ein Diagramm, das ein Beispiel von Informationen zur Bestimmungsoperation durch eine Clustersteuereinheit21 zeigt; -
7 ist ein Diagramm, das ein Beispiel der Struktur von Streamingdaten zeigt, die in einer Streamingdatenspeichereinheit15x gehalten werden; -
8 ist ein Diagramm, das ein Beispiel eines Zustands von Streamingdaten zeigt, die in Streamingdatenspeichereinheiten151 bis154 in Cacheservern101 bis104 gehalten werden; -
9 ist ein Diagramm, das ein Beispiel eines Zustands von Streamingdaten zeigt, die in Sitzungsverwaltungseinheiten111 bis114 in den Cacheservern101 bis104 gespeichert sind; -
10 ein Diagramm, das Sitzungsverwaltungstabellen532 und533 , die in9 dargestellt sind, im Detail zeigt; -
11 ist ein Diagramm, das eine Kommunikationsbeziehung zwischen den Verteilung-Gesperrt-Erkennungseinheiten131 bis134 in den Cacheservern101 bis104 zeigt; -
12 ist ein Diagramm, das die Inhalte zeigt, die zwischen den Verteilung-Gesperrt-Erkennungseinheiten131 und132 , die in11 dargestellt sind, zu kommunizieren sind; -
13 ist ein Diagramm, das die Operation der Verteilung-Gesperrt-Erkennungseinheit132 des Cacheservers102 zeigt, wenn der Cacheserver101 unfähig wird, Verteilung auszuführen; -
14 ist ein Diagramm, das die Operation der Verteilung-Gesperrt-Erkennungseinheit132 des Cacheservers102 zeigt, wenn ein Teil der Stromverteilung vom Cacheserver101 überläuft; -
15 ist ein Diagramm, das die Operation einer Wiederherstellungserkennungseinheit181 und der Verteilung-Gesperrt-Erkennungseinheit131 zeigt, wenn der Cacheserver101 , der nicht in der Lage war, Verteilung auszuführen, wiederhergestellt ist; -
16 ist ein Diagramm, das einen Zustand von Sitzungsverwaltungstabellen531 bis538 und Tabellenabgrenzungswerte541 bis548 zeigt, wenn vier Cacheserver101 bis104 Verteilung ausführen; -
17 ist ein Diagramm, das einen Zustand der Sitzungsverwaltungstabellen531 bis538 und der Tabellenabgrenzungswerte541 bis548 zeigt, wenn der Cacheserver101 unfähig wird, Verteilung durchzuführen; und -
18 ist ein Blockdiagramm, das ein Beispiel der Struktur eines Verteilungssystems zeigt, das eine herkömmliche Clusterservervorrichtung verwendet. - BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
- Eine Ausführungsform der vorliegenden Erfindung wird nun unter Verwendung der Zeichnungen beschrieben.
-
1 ist ein Blockdiagramm, das eine Struktur eines Verteilungssystems zeigt, das eine Clusterservervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung verwendet. In diesem Verteilungssystem sind m Endgeräte41 bis4m (m ist eine ganze Zahl nicht kleiner als 2) und eine Clusterservervorrichtung10 miteinander über ein Netzwerk51 verbunden. Die Clusterservervorrichtung10 umfasst einen Lastverteilungsserver20 , n Cacheserver101 bis10n (n ist eine ganze Zahl nicht kleiner als 2) und einen Inhalteserver30 . Diese Cacheserver101 bis10n werden jeweils mit dem Lastverteilungsserver20 über ein internes Netzwerk52 verbunden, und mit dem Inhalteserver30 über ein internes Netzwerk53 . - Die Cacheserver
101 bis10n enthalten jeweils Sitzungsverwaltungseinheiten111 bis11n , Datenverteilungseinheiten121 bis12n , Verteilung-Gesperrt-Erkennungseinheiten131 bis13n , Streamingdatenverwaltungseinheiten141 bis14n , Streamingdatenspeichereinheiten151 bis15n , Anfrageübertragungseinheiten161 bis16n , Cachesteuereinheiten171 bis17n und Wiederherstellungserkennungs einheiten181 bis18n . Der Inhalteserver30 umfasst eine Streamingdatenspeichereinheit31 , eine Leseeinheit32 , einen Cache33 und eine Verteilungseinheit34 . Der Lastverteilungsserver20 wird durch eine Clustersteuereinheit21 strukturiert. - Man bemerke, dass, wie in
1 gezeigt, die Cacheserver101 bis10n gleichermaßen strukturiert sind. Daher wird hier zum Zweck der Beschreibung eines Prozesses, der durch irgendeinen der Cacheserver101 bis10n ausgeführt werden kann, angenommen, dass ein Cacheserver10x (x ist irgendeine Zahl aus 1 bis n) diesen Prozess durchführt. Komponenten, die im Cacheserver10x enthalten sind, werden auch mit dem Index x versehen. - Die Operation einer jeden Komponente in der Clusterservervorrichtung
10 gemäß der vorliegenden Ausführungsform wird jetzt kurz beschrieben. - Wenn sie Anfragen von den Endgeräten
41 bis4m empfängt, überträgt die Clustersteuereinheit21 diese Anfragen an die Cacheserver101 bis10n auf eine Weise, die später beschrieben wird, um die Last darauf zu verteilen, auf der Grundlage der Informationen von den Sitzungsverwaltungseinheiten111 bis11n und den Streamingdatenverwaltungseinheiten141 bis14n . Der Clustersteuereinheit21 werden auch die Streamingdaten geliefert, die von den Cacheservern101 bis10n ausgegeben werden, und sie verteilt sie an die entsprechenden Endgeräte41 bis4m . - Im Cacheserver
10x verwaltet die Sitzungsverwaltungseinheit11x den Zustand der Streamingdatenverteilung, die durch den Cacheserver10x durchgeführt wird. Die Datenverteilungseinheit12x gibt die Streamingdaten an die Clustersteuereinheit21 auf der Grundlage einer Anweisung von der Anfrageübertragungseinheit16x aus. Die Verteilung-Gesperrt-Erkennungseinheit13x erkennt, dass der Cacheserver10x-1 oder10x+1 , der vor oder nach dem Cacheserver10x im Systemmanagement kommt (aber nicht notwendigerweise in einem physikalischen Sinne), unfähig wird, Verteilung auszuführen. Man beachte, dass "n" durch "x – 1" ersetzt wird, wenn x = 1 ist, während "1" durch "x + 1" ersetzt wird, wenn x = n ist. Nachfolgend gilt das Gleiche für die Variablen i, j und k. Die Wiederherstellungserkennungseinheit18x erkennt, dass der benachbarte Cacheserver10x-1 oder10x+1 sich vom Zustand Verteilung-Gesperrt erholt hat. Die Streamingdatenspeichereinheit15x ist als RAM (Random Access Memory) implementiert, um vorübergehend die Streamingdaten zu speichern, die aus dem Inhalteserver30 gesendet werden. Die Streamingdatenverwaltungseinheit14x hält Informationen über die Streamingdaten, die in der Streamingdatenspeichereinheit15x gespeichert sind. Die Anfrageübertragungseinheit16x bestimmt, ob die Streamingdaten, nach denen durch die Clustersteuereinheit21 angefragt wird, in der Streamingdatenspeichereinheit15x gespeichert sind oder nicht. Wenn die Streamingdaten gespeichert sind, weist die Anfrageübertragungseinheit16x die Datenverteilungseinheit12x an, der Clustersteuereinheit21 die Streamingdaten zur Verfügung zu stellen, die in der Streamingdatenspeichereinheit15x gespeichert sind. Wenn die Streamingdaten nicht gespeichert sind, weist die Anfrageübertragungseinheit16x die Datenverteilung12x an, der Clustersteuereinheit21 die Streamingdaten zur Verfügung zu stellen, die durch die Cachesteuereinheit17x vom Inhalteserver30 erhalten wurden. Die Cachesteuereinheit17x liefert an den Inhalteserver30 die Anfrage von der Anfrageübertragungseinheit16x . Die Cachesteuereinheit17x steuert, dass die Streamingdaten, die vom Inhalteserver30 gesendet wurden, auf Anfrage in der Streamingdatenspeichereinheit15x+1 des Cacheservers10x+1 gespeichert werden, der im Systemmanagement nach dem Cacheserver10x kommt. - Im Inhalteserver
30 ist die Streamingdatenspeichereinheit31 z.B. als eine Festplatte mit großer Kapazität implementiert, die Streamingdaten per Blockeinheit speichert. Die Leseeinheit32 liest die Streamingdaten von der Streamingdatenspeichereinheit31 auf der Grundlage einer Anweisung von der Verteilungseinheit34 . Der Cache33 zwischenspeichert die Streamingdaten, die durch die Leseeinheit31 gelesen wurden. Die Verteilungseinheit34 steuert die Leseeinheit32 auf der Grundlage von Anfragen, die von den Cacheservern101 bis10n gesendet wurden, und versendet die im Cache33 zwischengespeicherten Streamingdaten über die Cacheserver101 bis10n . - Mit solch einer Struktur kann die Clusterservervorrichtung
10 gemäß der vorliegenden Ausführungsform Streamingdaten mit optimaler Lastverteilung an die Cacheserver verteilen. Weiterhin kann die Clusterservervorrichtung10 , wenn eine Störung in einem Cacheserver auftritt, die die Datenverteilung an die Endgeräte sperrt, auch eine ausfallsichere Operation durchführen, um mit der Datenverteilung mit einem anderen Cacheserver fortzufahren. Weiterhin kann die Clusterservervorrichtung10 noch Datenwiederherstellungsoperation nach Wiederherstellung des Cacheservers durchführen, der nicht in der Lage war, Daten an die Endgeräte zu verteilen. - Die oben beschriebene Operation der Clusterservervorrichtung
10 gemäß der vorliegenden Ausführungsform wird nun detaillierter beschrieben. - (1) Operation des Verteilens von Streamingdaten
- Die Operation des Verteilens von Streamingdaten mit optimaler Lastverteilung auf die Cacheserver wird nun beschrieben, indem weiterhin auf die
2 und3 Bezug genommen wird. - Die
2 und3 sind ein Flussdiagramm zum Erklären der Operation des Verteilens von Streamingdaten, die durch die Clusterservervorrichtung10 gemäß der Ausführungsform der vorliegenden Erfindung durchgeführt wird. Man beachte, dass hier angenommen wird, dass ähnlich der Systemumgebung, die in1 gezeigt wird, die Clusterservervorrichtung10 durch n Cacheserver101 bis10n strukturiert wird und Datenverteilung unter den m Endgeräten41 bis4m ausführt. - Mit Bezug auf
2 wird eine Anfrage nach Streamingdaten von einem Endgerät4y (y ist aus der Menge 1 bis m) durch die Clustersteuereinheit21 empfangen (Schritt S101). Bei Erhalt der Anfrage fragt die Clustersteuereinheit21 jeden der Cacheserver101 bis10n nach der Anzahl von Strömen, die momentan verteilt werden, und ob die angeforderten Streamingdaten in irgendeiner der Streamingdatenspeichereinheiten151 bis15n gespeichert sind oder nicht (Schritt S102). In Antwort auf diese Nachfrage liefert jeder der Cacheserver101 bis10n der Clustersteuereinheit21 die Anzahl von Strömen, die momentan durch ihn selbst übertragen werden, auf der Grundlage von Informationen in den Sitzungsverwaltungseinheiten111 bis11n , und ob die Streamingdaten gespeichert sind oder nicht, auf der Grundlage der Informationen in den Streamingdatenverwaltungseinheiten141 bis14n . - Jede der Streamingdatenverwaltungseinheiten
141 bis14n hält Informationen, wie sie z.B. in4 gezeigt sind. In4 hält die Streamingdatenverwaltungseinheit14x eine Nummer oder einen Namen von Streamingdaten, den Speicherort in der Streamingdatenspeichereinheit15x und die Zeit des vorherigen Zugriffs. Mit solchen Informationen kann der Cacheserver10x erkennen, welche Streamingdaten an welchem Ort der Streamingdatenspeichereinheit15x gespeichert sind. - Als nächstes erkennt die Clustersteuereinheit
21 auf der Grundlage der Antworten von all den Cacheservern101 bis10n , ob die angeforderten Streamingdaten in irgendeiner der Streamingdatenspeichereinheiten151 bis15n der Cacheserver101 bis10n gespeichert sind oder nicht (Schritt S103). - Weiterhin Bezug nehmend auf
2 wird der Fall beschrieben, in dem die Clustersteuereinheit21 erkennt, dass die angeforderten Streamingdaten nicht in irgendeinem der Cacheserver gespeichert sind (Schritt S103, Nein). Die Operation in den unten beschriebenen Schritten S104 bis S111 entspricht im Wesentlichen der Initialisierungsoperation in der Clusterservervorrichtung10 . - Wenn NEIN in Schritt S103, wählt die Clustersteuereinheit
21 einen Cacheserver10k (k ist aus der Menge 1 bis n) mit der kleinsten Anzahl von Strömen, die momentan verteilt werden, aus allen Cacheservern101 bis10n (Schritt S104). - Die Clustersteuereinheit
21 bestimmt dann, ob die Anzahl von Strömen, die momentan durch den ausgewählten Cacheserver10k verteilt werden, kleiner als ein Wert {((n – 1)/n) × MAX} ist oder nicht (S105). Man beachte, dass MAX die maximale Anzahl von Strömen repräsentiert, die ein einzelner Cacheserver verteilen kann. - Wenn in Schritt S105 bestimmt wird, dass die Anzahl von Strömen kleiner als der Wert ist, überträgt die Clustersteuereinheit
21 die Anfrage vom Endgerät4y an den ausgewählten Cacheserver10k (Schritt S106). Man beachte, dass eine Lastzustandsverwaltungseinheit vorgesehen werden kann, zum Halten der Verteilungszustände, die durch Kommunikation zwischen der Sitzungsverwaltungseinheit11k und aller Cacheserver101 bis10n mit regelmäßigen Abständen erhalten wird. In diesem Fall wählt die Lastzustandverwaltungseinheit den Cacheserver10k aus, um die Anfrage vom Endgerät4y an ihn zu übertragen. - Wenn andererseits NEIN in Schritt S105, gibt die Clustersteuereinheit
21 eine Benachrichtigung des Zurückweisens der Anfrage aus und beendet die Verteilungsoperation (Schritt S111). - Wenn er die Anfrage von der Clustersteuereinheit
21 empfängt, sendet der Cacheserver10x eine Anfrage an den Inhalteserver30 , weil die beantragten Streamingdaten nicht in der Streamingdatenspeichereinheit15k gespeichert sind. Hier sendet die Cachesteuereinheit17k die Anfrage als auch diejenige von der Cachesteuereinheit17k+1 des Cacheservers10k+1 der im Systemmanagement vor dem Cacheserver10k kommt (Schritt S107). - Bei Erhalt der Anfrage vom Cacheserver
10k liest der Inhalteserver30 die Streamingdaten von der Streamingdatenspeichereinheit31 und sendet sie an die Cacheserver10k und10k+1 (Schritt S108). - Wenn er die Streamingdaten empfängt, speichert der Cacheserver
10k die Streamingdaten in der Streamingdatenspeichereinheit15k und aktualisiert auch die Informationen in der Streamingdatenverwaltungseinheit14k . Man beachte, dass, wenn die Cachesteuereinheit17k in Schritt S107 eine Anfrage mit ihrer Absenderadresse in eine Multicastadresse für Eins-zu-Viele-Kommunikation geändert sendet, der Cacheserver10k steuert, dass die Streamingdaten zu der Multicastadresse, die vom Inhalteserver30 übertragen wurden, durch eine neu zur Verfügung gestellte Cachedatenverwaltungseinheit empfangen wird und dann in der Streamingdatenspeichereinheit15k gespeichert wird. Dann verteilt die Datenverteilungseinheit12k des Cacheservers10k die Streamingdaten, die in der Streamingdatenspeichereinheit15k gespeichert sind, an das Endgerät4y durch die Clustersteuereinheit21 (Schritt S109). Der Cacheserver10k benachrichtigt auch den Cacheserver10k+1 über den Dateninhalt, der zum Endgerät4y verteilt wurde, in regelmäßigen Abständen (Schritt S110). Die Informationen, die mitgeteilt werden, zeigen an, wie beispielhaft in5 gezeigt ist, welcher Teil von welchen Streamingdaten an welches der vier Endgeräte41 bis4m verteilt wird. Man beachte, dass der Cacheserver10k Mitteilung über Verteilungsinformationen jedes Mal zur Verfügung stellen kann, wenn er Daten an eines oder mehr Endgeräte verteilt, oder zu vorbestimmten Zeiten für alle Endgeräte. - Bei Erhalt von Streamingdaten vom Inhalteserver
30 , die nicht direkt angefordert wurden, speichert der Cacheserver10k+1 die Streamingdaten in der Streamingdatenspeichereinheit15k+1 und aktualisiert auch die Informationen in der Streamingdatenverwaltungseinheit14k+1 (Schritt S109). - Wie oben gesagt wurde, werden durch die Schritte S104 bis S110 die Streamingdaten, die auf Anfrage verteilt wurden, in zwei aufeinanderfolgende Cacheserver gespeichert, die in Verbindung miteinander im System verwaltet werden.
- Mit Bezug auf die
3 wird als nächstes der Fall beschrieben, in dem die Clustersteuereinheit21 erkennt, dass die angeforderten Streamingdaten in irgendeinem der Cacheserver gespeichert sind (Schritt S103, Ja). - Wenn Ja in Schritt S103, wählt die Clustersteuereinheit
21 einen Cacheserver10i (i ist ein Wert, den x annehmen kann), der der kleinste bezüglich der im Systemmanagement zur Verfügung gestellten sequentiellen Nummer unter den Cacheservern ist, die die angeforderten Streamingdaten speichern (Schritt S121). Hier werden, wie oben gesagt, die Streamingdaten immer in mindestens einem Paar von aufeinanderfolgenden Cacheservern10x und10x+1 gespeichert (Schritt S109). Daher wählt die Clustersteuereinheit21 den Cacheserver10i aus dem Paar von Cacheservern, der kleiner ist in Bezug auf die sequentielle Nummer. - Wenn z.B. ein Paar von Cacheservern
102 und103 und ein Paar von Cacheservern107 und108 die Streamingdaten speichern, wählt die Clustersteuereinheit21 den Cacheserver102 . - Die Clustersteuereinheit
21 bestimmt dann mit Bezug auf die Streamingdaten, die momentan durch den gewählten Cacheserver10i verteilt werden, ob die Gesamtzahl von Verteilungsströmen von Streamingdaten, die in den Streamingdatenspeichereinheiten15i und15i+1 gespeichert sind, kleiner als MAX sind oder nicht (Schritt S122). Wenn in Schritt S122 festgestellt wird, dass die Anzahl von Strömen nicht kleiner als MAX ist, wählt die Clustersteuereinheit21 einen Cacheserver10j (j ist ein Wert, den x annehmen kann) aus den übrigen Cacheservern, der der kleinste in Bezug auf die sequentielle Nummer ist und dieselben Streamingdaten speichert (Schritt S128). Dann kehrt die Prozedur nach Schritt S122 zur Bestimmung zurück. - Wenn in dem obigen Beispiel z.B. die Gesamtzahl von Verteilungsströmen in den Cacheservern
102 und103 nicht kleiner als MAX ist, wählt die Clustersteuereinheit21 den Cacheserver107 . Wenn kein anderer Cacheserver dieselben Streamingdaten speichert, geht die Prozedur nach Schritt S104 in2 zur weiteren Verarbeitung (Schritt S127). - Wenn andererseits in Schritt S122 bestimmt wird, dass die Anzahl an Strömen kleiner als MAX ist, bestimmt die Clustersteuereinheit
21 , ob die Anzahl an Strömen, die momentan durch den Cacheserver10i verteilt werden, kleiner als ein Wert {((n – 1)/n) × MAX} ist oder nicht (Schritt S123). - Die Bestimmung, die in den Schritten S122 und S123 durch die Clustersteuereinheit
21 vorgenommen wird, basiert z.B. auf den Informationen, wie sie in6 gezeigt sind. In6 zeigt "Cacheserver" jede sequentielle Nummer an, die den Cacheservern101 bis10n zugewiesen ist; "Cache" zeigt an, ob die beantragten Streamingdaten zwischengespeichert sind oder nicht; "Die Anzahl an Verteilungsströmen 1" zeigt die Gesamtzahl an Verteilungsströmen der Streamingdaten an, die in den Cacheservern10i und10i+1 gespeichert sind; und "Die Anzahl an Verteilungsströmen 2" zeigt die Gesamtzahl von Verteilungsströmen der Streamingdaten an, die in den Cacheservern10i und10i-1 gespeichert sind. - In
6 ist die Anzahl von Strömen, die momentan durch den Cacheserver102 verteilt werden, 120 + 1000 = 1120, und die Anzahl an Verteilungsströmen der Streamingdaten, die in den beiden Cacheservern102 und103 gespeichert sind, ist 120 für den Cacheserver102 und500 für den Cacheserver103 . Daher wird 620 mit MAX für die Bestimmung in Schritt S122 verglichen, während 1120 mit {((n – 1)/n) × MAX} für die Bestimmung in Schritt S123 verglichen wird. - Man beachte, dass, wenn man nicht den Fall berücksichtigen muss, in dem eine Störung in irgendeinem der Cacheserver auftritt, es nicht notwendig ist, zu bestimmen, ob die Anzahl von momentan durch den Cacheserver
10i verteilten Strömen kleiner als {((n – 1)/n) × MAX} ist oder nicht. Anstelle dessen kann eine Bestimmung gemacht werden mit Bezug auf die momentan durch den Cacheserver10i verteilten Streamingdaten, ob die Gesamtzahl von Verteilungsströmen der Streamingdaten, die in den Streamingdatenspeichereinheiten15i und15i-1 gespeichert sind, kleiner als MAX sind oder nicht. In diesem Fall kann jede Streamingdatenspeichereinheit15x effizient verwendet werden. - Bezug nehmend wieder auf
3 , wenn Ja in Schritt S123, überträgt die Clustersteuereinheit21 die Anfrage vom Endgerät4y an den ausgewählten Cacheserver10i (Schritt S124). Wenn der Cacheserver10i die Anfrage von der Clustersteuereinheit21 empfängt, liest die Datenverteilungseinheit12i die Streamingdaten, die in der Streamingdatenspeichereinheit15i gespeichert sind, und verteilt dann die Streamingdaten an das Endgerät4y durch die Clustersteuereinheit21 (Schritt S125). Der Cacheserver10i benachrichtigt auch den Cacheserver10i+1 mit regelmäßigen Abständen über den Dateninhalt, der an das Endgerät4y verteilt wird (Schritt S126). - Wenn andererseits Nein in Schritt S123, bestimmt die Clustersteuereinheit
21 weiterhin, ob die Anzahl von Strömen, die momentan durch den Cacheserver10i+1 verteilt werden, kleiner als {((n – 1)/n) × MAX} ist oder nicht (Schritt S129). - Wenn Ja in Schritt S129, überträgt die Clustersteuereinheit
21 die vom Endgerät4y empfangene Anfrage an den Cacheserver10i+1 (Schritt S130). Wenn der Cacheserver10i+1 die Anfrage von der Clustersteuereinheit21 empfängt, liest die Datenverteilungseinheit12i+1 die in der Streamingdatenspeichereinheit15i+1 gespeicherten Streamingdaten und verteilt dann die Streamingdaten an das Endgerät4y durch die Clustersteuereinheit21 (Schritt131 ). Der Cacheserver10i+1 benachrichtigt auch den Cacheserver10i mit regelmäßigen Abständen über die Dateninhalte, die an das Endgerät4y verteilt werden (Schritt S132). - Wenn Nein in Schritt S129, geht die Prozedur nach Schritt S104 in
2 zur weiteren Verarbeitung. - (2) Ausfallsichere Operation
- Als nächstes wird eine ausfallsichere Operation beschrieben. In der ausfallsicheren Operation übernimmt, selbst wenn irgendeiner der Cacheserver in der Clusterservervorrichtung unfähig wird, Datenverteilung an die Endgeräte zu übernehmen, aufgrund einer Störung, die in ihm aufgetreten ist, ein anderer Cacheserver vom ausgefallenen Cacheserver, um die Datenverteilung weiterzuführen.
- Wie oben beschrieben verteilt der Cacheserver
10x die Streamingdaten an das Endgerät4y , während er dem Cacheserver10x+1 oder10x-1 die Informationen über die verteilten Streamingdaten in regelmäßigen Abständen mitteilt (Schritt S110, S126, S132). Andererseits überwachen jeweils die Verteilung-Gesperrt-Erkennungseinheiten13x+1 und13x-1 der Cacheserver10x+1 und10x-1 in regelmäßigen Abständen die vom Cacheserver10x empfangenen Informationen. - Man nehme jetzt den Fall an, in dem der Cacheserver
10x einen Ausfall hat und unfähig wird, Datenverteilung an das Endgerät4y auszuführen. Es wird hier angenommen, dass die Cacheserver10x und10x+1 bestimmte Streamingdaten in Übereinstimmung verwalten. - Wenn in dem obigen Fall die Verteilungsinformationen, die in regelmäßigen Abständen vom Cacheserver
10x kommen sollen, nicht kommen, erkennt die Verteilung-Gesperrt-Erkennungseinheit13x+1 des Cacheservers10x+1 Verteilung-Gesperrt (Auftreten einer Störung) des Cacheservers10x . Wenn die Verteilung-Gesperrt-Erkennungseinheit13x+1 Verteilung-Gesperrt erkennt, liest die Datenverteilungseinheit12x+1 Streamingdaten, die den als letztes durch den Cacheserver10x von der Streamingdatenspeichereinheit15x+1 verteilten Streamingdaten nachfolgen, auf der Grundlage von Verteilungsinformationen, die vorher vom Cache server10x empfangen wurden (bevor die Störung auftritt), und verteilt dann die gelesenen Streamingdaten an das Endgerät4y . Diese Verteilungs- und Leseoperation wird innerhalb einer vorbestimmten Zeitspanne ausgeführt, um die Streamingdaten nicht zu unterbrechen. Die vorbestimmte Zeitspanne bedeutet eine Zeitspanne, während der die als letztes verteilten Streamingdaten im Endgerät4y vollständig abgespielt wurden. - Wenn die Cacheserver
10x-1 und10x bestimmte Streamingdaten in Übereinstimmung verwalten und der Cacheserver10x , der die Datenverteilung ausführen sollte, ausgefallen ist, wird die obige ausfallsichere Operation durch den Cacheserver10x-1 ausgeführt. - Wenn der Cacheserver
10x+1 oder10x-1 als solcher die Verteilung der Streamingdaten übernimmt, benachrichtigt die Cachesteuereinheit17x+1 oder17x-1 die Clustersteuereinheit21 über den Ausfallsicherungszustand, so dass neue Streamingdaten nicht in der Streamingdatenspeichereinheit15x+1 oder15x-1 gespeichert werden, bis die Wiederherstellung des Cacheserver10x festgestellt wurde. Über den Ausfallsicherungszustand benachrichtigt, nimmt die Clustersteuereinheit21 davon Abstand, den Cacheserver10x+1 oder10x-1 auszuwählen, wenn sie einen der Cacheserver101 bis10n zum Speichern neuer Streamingdaten auswählt (Schritte S104, S121). - (3) Wiederherstellungsoperation
- Als nächstes wird jetzt die Wiederherstellungsoperation beschrieben, indem angenommen wird, dass der Cacheserver
10x , der nicht in der Lage war, Datenverteilung an die Endgeräte durchzuführen, aufgrund eines Fehlers, wiederhergestellt ist. - Die Datenverteilungseinheit
12x des wiederhergestellten Cacheservers10x stellt eine Wiederherstellungsbenachrichtigung den Datenverteilungseinheiten12x+1 und12x-1 der Cacheserver10x+1 bzw.10x-1 zur Verfügung. - Wenn sie die Wiederherstellungsbenachrichtigung erhält, wählt die Datenverteilungseinheit
12x+1 des Cacheservers10x+1 die Streamingdaten, die in beiden Cacheservern10x und10x+1 gespeichert sind, aus den Streamingdaten, die in der Streamingdatenspeichereinheit15x+1 gespeichert sind, und kopiert die ausgewählten Streamingdaten dann in die Streamingdatenspeichereinheit15x des Cacheservers10x . Weiterhin wählt nach dem Empfang der Wiederherstellungsbenachrichtigung die Datenverteilungseinheit12x-1 des Cacheservers10x-1 die Streamingdaten, die in beiden Cacheservern10x und10x-1 gespeichert sind, aus den Streamingdaten, die in der Streamingdatenspeichereinheit15x-1 gespeichert sind, und kopiert die ausgewählten Streamingdaten dann in die Streamingdatenspeichereinheit15x des Cacheservers10x . - Nachdem dann das Kopieren der Streamingdaten in die Cacheserver
10x beendet ist, senden die Cachesteuereinheiten17x+1 und17x-1 der Cacheserver10x+1 und10x-1 jeweils eine Benachrichtigung über das Ausheben des Ausfallsicherungszustands an die Clustersteuereinheit21 . - (Spezifisches Operationsbeispiel)
- Als nächstes werden die Ausfallsicherungs- und Wiederherstellungsoperationen beispielhaft weiter im Detail beschrieben, unter Verwendung eines spezifischen Beispiels.
- Hier wird der Fall, in dem die Clusterservervorrichtung
10 vier Cacheserver101 bis104 umfasst, als das Beispiel beschrieben. -
7 ist ein Diagramm, das beispielhaft Streamingdaten601 bis60p (p ist eine positive ganze Zahl) darstellt, die in der Streamingdatenspeichereinheit15x des Cacheservers10x gespeichert sind. Die Streamingdaten601 bis60p sind jeweils Zeit-fortlaufend, wie etwa Video- oder Musikdaten. Die Streamingdaten601 bis60p werden jeweils durch eine Mehrzahl von Paketen611 bis61q (q ist eine positive ganze Zahl) strukturiert, die jeweils eine Übertragungseinheit sind. Die Pakete611 bis61q haben Paketidentifikatoren621 bis62q , um jeweils die Reihenfolge der Pakete in den Streamingdaten zu identifizieren. - <Vorbedingung 1: Zustand der Streamingdaten im Cacheserver gespeichert>
- Wie oben beschrieben, werden in der Clusterservervorrichtung
10 die Streamingdaten, die auf der Grundlage der Anfrage verteilt werden, in zwei aufeinanderfolgenden Cacheservern gespeichert, die im System gemeinsam verwaltet werden. Daher werden im vorliegenden Beispiel, wie in8 gezeigt, Streamingdaten701 in den Streamingdatenspeichereinheiten151 und152 der Cacheserver101 und102 gespeichert. Ähnlich werden Streamingdaten702 in den Streamingdatenspeichereinheiten152 und153 der Cacheserver102 und103 gespeichert; Streamingdaten703 werden in den Streamingdatenspeichereinheiten153 und144 der Cacheserver103 und104 gespeichert; und Streamingdaten704 werden in den Streamingdatenspeichereinheiten154 und151 der Cacheserver104 und101 gespeichert. - <Vorbedingung 2: Die Anzahl an Verteilungsströmen>
- Wie oben gesagt, überträgt die Clustersteuereinheit
21 eine Anfrage an irgendeinen der Cacheserver101 bis104 , um die folgenden Bedingungen zu erfüllen, wobei angenommen wird, dass die Maximalzahl MAX an Verteilungsströmen, die ein einzelner Cacheserver verteilen kann, 8 ist. - (Bedingung 1) Die Anzahl an Strömen, die gleichzeitig durch jeden der Cacheserver
101 bis104 verteilt werden kann, ist gleich oder kleiner als 6 (= (n – 1)/n × MAX = 3/4 × 8). - (Bedingung 2) Die Anzahl an Verteilungsströmen, die in jedem der zwei aufeinanderfolgenden Cacheservern gespeichert sind, die im System gemeinsam verwaltet werden, ist gleich oder kleiner als 8 (= MAX).
- <Vorbedingung 3: Sitzungsverwaltung>
- Ein Sitzungsverwaltungsverfahren, das durch die Sitzungsverwaltungseinheiten
111 bis114 der Cacheserver101 bis104 ausgeführt wird, wird jetzt beschrieben unter Verwendung der9 und10 . - Die Sitzungsverwaltungseinheiten
111 bis114 halten die Anzahl an Verteilungsströmen der Cacheserver101 bis104 unter Verwendung von Sitzungsverwaltungstabellen531 bis538 . Hier hält jeder der Cacheserver101 bis104 zwei Sitzungsverwaltungstabellen. Das heißt, dass der Cacheserver101 die Sitzungsverwaltungstabelle532 verwendet, um Sitzungen zu verwalten, die sich auf die Streamingdaten701 beziehen, die in den Cacheservern101 und102 gespeichert sind, wobei der Zustand der Verteilung des Cacheservers102 gehalten wird, während er die Sitzungsverwaltungstabelle531 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten704 beziehen, die in den Cacheservern101 und104 gespeichert sind, wodurch der Verteilungszustand des Cacheservers104 gehalten wird. Der Cacheserver102 verwendet die Sitzungsverwaltungstabelle534 zum Verwalten von Sitzungen, die sich auf die Streamingdaten702 bezeichen, die in den Cacheservern102 und103 gespeichert sind, wodurch der Verteilungszustand des Cacheservers103 gehalten wird, während er die Sitzungsverwaltungstabelle533 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten701 beziehen, die in den Cacheservern102 und101 gespeichert sind, wodurch der Verteilungszustand des Cacheservers101 gehalten wird. Der Cacheserver103 verwendet die Sitzungsverwaltungstabelle536 zum Verwalten von Sitzungen, die sich auf die Streamingdaten703 beziehen, die in den Cacheservern103 und104 gespeichert sind, wodurch der Verteilungszustand des Cacheservers104 gehalten wird, während er die Sitzungsverwaltungstabelle535 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten702 beziehen, die in den Cacheservern103 und102 gespeichert sind, wodurch der Verteilungszustand des Cacheservers102 gehalten wird. Der Cacheserver104 verwendet die Sitzungsverwaltungstabelle538 zum Verwalten von Sitzungen, die sich auf die Streamingdaten704 beziehen, die in den Cacheservern104 und101 gespeichert sind, wodurch der Verteilungszustand des Cacheservers101 gehalten wird, während er die Sitzungsverwaltungstabelle537 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten703 beziehen, die in den Cacheservern104 und103 gespeichert sind, wodurch der Verteilungszustand des Cacheservers103 gehalten wird. - Wenn z.B. eine Stromanfrage zum Cacheserver
101 oder102 kommt, nach Streamingdaten701 , die darin übereinstimmend gespeichert werden, registrieren die Sitzungsverwaltungstabellen532 und533 in9 jeweils Informationen über diese Anfrage. Die in den Sitzungsverwaltungstabellen532 und533 registrierten Informationen werden aktualisiert, wenn die Streamingdaten verteilt werden. - Die Beschreibung wird jetzt im Weiteren unten unter Verwendung der
10 gemacht. - Um einen Strom an die Endgeräte
41 bis4m zu verteilen, sind die Cacheserver101 bis104 durch die Netzwerke51 und52 mit den Endgeräten41 und4m und der Clustersteuereinheit21 verbunden. Nun wird die Ausführung des Verteilens eines Stroms unter den Endgeräten durch Netzwerkverbindung hier eine Sitzung genannt. -
10 ist ein Diagramm, das die Sitzungsverwaltungstabellen532 und533 zeigt, die in9 dargestellt sind. In jeder der Sitzungsverwaltungstabellen532 und533 sind ein Sitzungsidentifikator zum Identifizieren der Sitzung und ein Paketidentifikator gespeichert, der ein als letztes versendetes Paket anzeigt. Man nehme hier an, dass die Maximalzahl MAX an registrierbaren Sitzungen in jeder der Sitzungsverwaltungstabellen531 bis538 8 ist. - In den Sitzungsverwaltungstabellen
532 und533 werden Sitzungen in einer umgekehrten Reihenfolge identifiziert (symmetrisch in einem Tabellenfeld). Das heißt, dass die Sitzung durch einen Sitzungsidentifikator I (0 ≦ I < MAX) in der Sitzungsverwaltungstabelle532 identifiziert wird, durch einen Sitzungsidentifikator (MAX – I – 1) in der Sitzungsverwaltungstabelle533 identifiziert wird. Zum Beispiel werden Paketidentifikatoren "100" und "510" der Sitzungen, die durch Sitzungsidentifikatoren "0" und "1" in der Sitzungsverwaltungstabelle532 registriert sind, in der Sitzungsverwaltungstabelle533 durch Sitzungsidentifikatoren "7" bzw. "6" identifiziert. - Tabellenabgrenzungswerte
542 und543 zeigen Nummern der Sitzungsidentifikatoren an, bei denen die in den Sitzungsverwaltungstabellen532 und533 registrierten Informationen in zwei geteilt werden. Wie oben beschrieben, werden in den Sitzungsverwaltungstabellen532 und533 Sitzungen in umgekehrter Reihenfolge registriert. Wenn daher der Tabellenabgrenzungswert einer Sitzungsverwaltungstabelle auf F gesetzt wird (0 ≦ F < MAX), wird der Tabellenabgrenzungswert der anderen auf (MAX – F) gesetzt. In10 wird der Tabellenabgrenzungswert542 der Sitzungsverwaltungstabelle532 auf "3" gesetzt, während der Tabellenabgrenzungswert543 der Sitzungsverwaltungstabelle533 auf "5" gesetzt wird. - Die Datenverteilungseinheiten
121 bis124 der Cacheserver101 bis104 übertragen an das Endgerät nur Streamingdaten mit Bezug auf eine Sitzung mit dem Sitzungsidentifikator I gleich oder kleiner dem Tabellenabgrenzungswert F. Genauer wiederholen die Cacheserver101 bis104 den folgenden ersten und zweiten Schritt. (Erster Schritt) Vergleiche die Sitzungsidentifikatoren I mit dem Tabellenabgrenzungswert F. Wenn I < F, extrahiere aus der Streamingdatenspeichereinheit ein Paket, das unmittelbar nach dem Paket kommt, das dem Sitzungsidentifikator I in der Sitzungsverwaltungstabelle entspricht, und sende das extrahierte Paket an das Endgerät. (Zweiter Schritt) Aktualisiere den Wert des Paketidentifikators, der dem Sitzungsidentifikator I in der Sitzungsverwaltungstabelle entspricht, auf den Wert des Paketidentifikators des Pakets, das im obigen ersten Schritt versendet wurde. - In
10 überträgt z.B. für die Sitzungen, die durch die Sitzungsidentifikatoren "0" bis "2" in der Sitzungsverwaltungstabelle532 des Cacheservers101 (umgeben von einer dicken Linie in10 links) identifiziert werden, die Datenverteilungseinheit121 des Cacheservers101 die relevanten Streamingdaten und aktualisiert die Werte der Paketidentifikatoren. Ähnlich überträgt für die Sitzungen, die durch die Sitzungsidentifikatoren "0" bis "4" in der Sitzungsverwaltungstabelle533 des Cacheservers102 (umgeben durch eine dicke Linie in10 rechts) identifiziert werden, die Datenverteilungseinheit122 des Cacheservers102 die relevanten Streamingdaten und aktualisiert die Werte der Paketidentifikatoren. - <Vorbedingung 4: Operation der Verteilung-Gesperrt-Erkennungseinheit>
- Jede Sitzungsverwaltungstabelle enthält eine Sitzung mit einem Sitzungsidentifikator I, der größer als der Tabellenabgrenzungswert F ist. Streamingdaten, die solch einer Sitzung entsprechen, werden momentan durch den anderen Cacheserver eines Paars verteilt. Weiterhin kommunizieren, wie oben erwähnt, die Verteilung-Gesperrt-Erkennungseinheiten
13x und13x+1 der Cacheserver10x und10x+1 miteinander. Die Operation dieser Verteilung-Gesperrt-Erkennungseinheiten wird jetzt unter Verwendung der11 und12 beschrieben.11 ist ein Diagramm, das eine beispielhafte Operation der Verteilung-Gesperrt-Erkennungseinheiten131 bis13n darstellt, wobei n = 4 ist. - Jede der Verteilung-Gesperrt-Erkennungseinheiten
131 bis134 kommuniziert regelmäßig mit ihren benachbarten Cacheservern. Zum Beispiel kommuniziert die Verteilung-Gesperrt-Erkennungseinheit131 regelmäßig mit den Verteilung- Gesperrt-Erkennungseinheiten132 und134 . Wenn der Cacheserver102 oder104 unfähig wird, Daten zu verteilen, weist die Verteilung-Gesperrt-Erkennungseinheit131 die Datenverteilungseinheit121 an, die Streamingdatenverteilung ohne Unterbrechung anstelle des Cacheservers102 oder104 zu starten. -
12 ist ein Diagramm, das schematisch die Operation des Sendens und Empfangens einer Benachrichtigung zwischen den Verteilung-Gesperrt-Erkennungseinheiten131 und132 darstellt. Die Sitzungsverwaltungstabellen532 und533 werden von den Cacheservern101 bzw.102 gehalten. - Die Verteilung-Gesperrt-Erkennungseinheiten
131 und132 benachrichtigen einander regelmäßig über die Tabellenabgrenzungswerte und die Werte der Sitzungsidentifikatoren und Paketidentifikatoren der Sitzung, die seit der vorhergehenden Sitzung aktualisiert wurden. - Man betrachte z.B. den Fall, in dem seit der vorhergehenden Benachrichtigung bis zur aktuellen in dem Cacheserver
101 die Werte der Paketidentifikatoren der Sitzungen, die durch die Sitzungsidentifikatoren "0" und "2" von "100" und "200" auf "101" bzw. "201" aktualisiert wurden. In diesem Fall benachrichtigt die Verteilung-Gesperrt-Erkennungseinheit131 die Verteilung-Gesperrt-Erkennungseinheit132 über ihren eigenen Tabellenabgrenzungswert und die aktualisierten Paketidentifikatorwerte. Wenn im Cacheserver102 der Paketidentifikator der Sitzung, die durch den Sitzungsidentifikator "4" identifiziert wird, von "220" auf "221" seit der vorhergehenden Benachrichtigung bis zur aktuellen aktualisiert wurde, benachrichtigt die Verteilung-Gesperrt-Erkennungseinheit132 weiterhin die Verteilung-Gesperrt-Erkennungseinheit131 über ihren eigenen Tabellenabgrenzungswert und den aktualisierten Paketidentifikatorwert. Man beachte, dass der Tabellenabgrenzungswert immer mitgeteilt wird, jedes Mal, wenn Aktualisierung geschieht, aber nur geändert wird, wenn der Wert F oder (MAX – F) für die Benachrichtigung vom aktuellen Wert (MAX – F) oder F abweicht. Im Bei spiel, das in12 gezeigt wird, wird der Tabellenabgrenzungswert nicht geändert. - Mit der vorliegenden Benachrichtigung erkennt die Verteilung-Gesperrt-Erkennungseinheit
131 , dass der Paketidentifikator des Sitzungsidentifikators "4" auf "221" aktualisiert wurde. Der Paketidentifikator, der dem Sitzungsidentifikator I in der Sitzungsverwaltungstabelle533 entspricht, wird mit einem Sitzungsidentifikator "3 (= MAX – I – 1)" in der Sitzungsverwaltungstabelle532 gespeichert. Daher aktualisiert die Verteilung-Gesperrt-Erkennungseinheit131 den Paketidentifikatorwert des Sitzungsidentifikators "3" auf "221". Ähnlich erkennt mit der vorliegenden Benachrichtigung die Verteilung-Gesperrt-Erkennung132 , dass die Paketidentifikatoren der Sitzungsidentifikatoren "0" und "2" auf "101" bzw. "201" aktualisiert wurden. Dann aktualisiert die Verteilung-Gesperrt-Erkennungseinheit132 die Paketidentifikatorwerte des Sitzungsidentifikators "7" und "5" auf "101" und "201". - <Grundoperation 1: Wenn der benachbarte Cacheserver eine Störung hat>
-
13 zeigt die Operation, wenn der Cacheserver101 unfähig wird, Verteilung durchzuführen, wegen einer Störung, die in ihm aufgetreten ist. - Wenn der Cacheserver
101 unfähig wird, Datenverteilung wegen einer Störung durchzuführen, kommt eine Benachrichtigung von der Verteilung-Gesperrt-Erkennungseinheit131 nicht zur Verteilung-Gesperrt-Erkennungseinheit132 . Wenn sie während einer vorbestimmten Zeitspanne keine Benachrichtigung empfängt, ändert die Verteilung-Gesperrt-Erkennungseinheit132 den Tabellenabgrenzungswert543 auf MAX. In13 ist MAX = 8, und daher wird der Tabellenabgrenzungswert543 von "5" auf "8" geändert. - Als ein Ergebnis bestimmt die Datenverteilungseinheit
122 des Cacheservers102 , dass die Sitzungsidentifikatoren "5" bis "7" kleiner sind als der Tabellenabgren zungswert F = 8 in der Sitzungsverwaltungstabelle533 . Dann startet die Datenverteilungseinheit122 die Streamingdatenverteilung von dem Paket, das unmittelbar nach dem Paket kommt, das dem Sitzungsidentifikator für jede Sitzung entspricht. - <Grundoperation 2: Sitzungsüberlauf (Tabellenabgrenzungswertverschiebung)>
-
14 zeigt die Operation zum Ändern des Tabellenabgrenzungswerts (Verschieben der Tabellenabgrenzung), wenn die Anzahl der Ströme, die der Cacheserver101 verteilen kann, das Maximum überschreitet. - Der Cacheserver
101 ändert seinen Tabellenabgrenzungswert, wenn irgendeine der folgenden Bedingungen erfüllt ist: - (1) Ermitteln einer Störung im Cacheserver
104 , der Cacheserver101 startet Streamingdatenverteilung anstelle des Cacheservers104 , und dementsprechend überschreitet die Anzahl an Strömen, die der Cacheserver101 verteilen kann, das Maximum; und - (2) Ermitteln, dass der Tabellenabgrenzungswert des Cacheservers
104 geändert wurde, der Cacheserver101 startet Streamingdatenverteilung anstelle des Cacheservers104 , und dementsprechend überschreitet die Anzahl an Strömen, die der Cacheserver101 verteilen kann, das Maximum. - In
14 wird der Tabellenabgrenzungswert542 von "3" auf "1" geändert. Als ein Ergebnis bestimmt die Datenverteilungseinheit121 des Cacheservers101 , dass die Sitzungsidentifikatoren "1" und "2" gleich oder größer sind als der Tabellenabgrenzungswert F = 1 in der Sitzungsverwaltungstabelle532 , und stoppt dann die Streamingdatenverteilung. Dann wird die Verteilung-Gesperrt-Erkennungseinheit132 über den Tabellenabgrenzungswert F = 1 durch die Verteilung-Gesperrt-Erkennungseinheit131 benachrichtigt. Die Verteilung-Gesperrt-Erkennungseinheit132 erkennt durch die Benachrichtigung, dass der Tabellenabgrenzungswert542 geändert wurde, und ändert den Tabellenabgrenzungswert543 auf (MAX – (empfangener Tabellenabgrenzungswert542 )). In14 , ist MAX = 8, und der Tabellenabgrenzungswert543 wird demnach von "5" auf "7" (= 8 – 1)" geändert. - Dementsprechend ermittelt die Datenverteilungseinheit
122 des Cacheservers102 , dass die Sitzungsidentifikatoren "5" und "6" kleiner sind als der Tabellenabgrenzungswert F = 7 in der Tabellenverwaltungstabelle533 . Die Datenverteilungseinheit122 startet dann Streamingdatenverteilung von dem Paket an, das unmittelbar nach dem Paket kommt, das dem Sitzungsidentifikator für jede Sitzung entspricht. - <Grundoperation 3: Wenn der benachbarte Cacheserver wiederhergestellt ist)
- Wie oben gesagt, gibt die Cachesteuereinheit
17x des wiederhergestellten Cacheservers10x eine Wiederherstellungsbenachrichtung an die Datenverteilungseinheiten12x+1 und12x-1 der angrenzenden Cacheserver10x+1 und10x-1 aus. Der wiederhergestellte Cacheserver10x stellt die Streamingdaten wieder her, indem er die verteilten Streamingdaten in der Streamingdatenspeichereinheit15x speichert. -
15 zeigt die Operation, wenn der Cacheserver101 , der wegen einer Störung nicht fähig war, Verteilung auszuführen, jetzt für Streamingdatenverteilung wiederhergestellt ist. - Bevor die Streamingdaten des Cacheservers
101 wiederhergestellt sind, ist der Tabellenabgrenzungswert542 "0" und der Cacheserver101 führt keine Streamingdatenverteilung aus. Wenn die Wiederherstellung vollständig ist, setzt die Wiederherstellungserkennungseinheit181 den Tabellenabgrenzungswert542 zurück nach "3", was der Wert ist, bevor die Störung auftritt. - Dementsprechend stellt die Datenverteilungseinheit
121 des Cacheservers101 fest, dass die Sitzungsidentifikatoren "0" bis "2" kleiner sind als der Tabellenabgrenzungswert F = 3 in der Sitzungsverwaltungstabelle532 . Die Datenverteilungsein heit121 startet dann Streamingdatenverteilung von dem Paket an, das unmittelbar nach dem Paket kommt, das dem Sitzungsidentifikator entspricht, für jede Sitzung. - Als nächstes benachrichtigt die Verteilung-Gesperrt-Erkennungseinheit
131 die Verteilung-Gesperrt-Erkennungseinheit132 über den Tabellenabgrenzungswert542. Die Verteilung-Gesperrt-Erkennungseinheit132 erkennt durch die Benachrichtigung, dass der Tabellenabgrenzungswert542 auf "3" zurückgekehrt ist, welches der Wert ist, bevor der Cacheserver101 gestört wurde, und ändert dann den Tabellenabgrenzungswert543 auf (MAX – (empfangener Tabellenabgrenzungswert542 ). In15 , ist MAX = 8, und daher wird der Tabellenabgrenzungswert543 von "8" auf "5" zurückgesetzt. - Dementsprechend stellt die Datenverteilungseinheit
122 des Cacheservers102 fest, dass die Sitzungsidentifikatoren "5" bis "7" gleich oder größer sind als der Tabellenabgrenzungswert "5" in der Sitzungsverwaltungstabelle533 , und stoppt dann die Streamingdatenverteilung. - <Grundoperation 4: Sitzung zurücksetzen (Tabellenabgrenzungswertverschiebung)>
- Grundoperation 4 ist ähnlich der Grundoperation 2, die oben beschrieben wurde. Die Wiederherstellungserkennungseinheit
182 setzt den Tabellenabgrenzungswert543 auf den Wert, bevor der Cacheserver101 ausgefallen ist, zurück, und setzt auch den anderen Tabellenabgrenzungswert, der im Cacheserver102 gehalten wird (der Tabellenabgrenzungswert, bei dem die Sitzungsverwaltungstabelle zum Verwalten der Sitzungen von Streamingdaten, die in den Cacheservern102 und103 gespeichert sind, wird in zwei geteilt), auf das Original zurück. - (Beispiel der ausfallsicheren Operation)
- Auf der Grundlage der oben beschriebenen Vorbedingungen 1 bis 4 und der Grundoperationen 1 bis 4 wird ein spezifisches Beispiel der ausfallsicheren Operation, die durch die Clusterservervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung durchgeführt wird, in den
16 und17 gezeigt. -
16 ist ein Diagramm, das ein Beispiel von Zuständen der Sitzungsverwaltungstabellen531 bis538 und der Tabellenabgrenzungswerte541 bis548 zeigt, die durch die vier Cacheserver101 bis104 verwaltet werden, welche jeweils eine Maximalzahl von Verteilungsströmen von "8" haben, in der normalen Stromverteilung. Man beachte in16 , dass jeder der Tabellenabgrenzungswerte541 bis548 "4" ist, und die Anzahl der Verteilungsströme (Gesamtzahl von Sitzungen, die durch eine dicke Linie in16 umgeben sind), die gleichzeitig von jedem der Cacheserver101 bis104 verteilt werden können, ist "6".17 ist ein Diagramm, das ein Beispiel von Zuständen der Sitzungsverwaltungstabellen531 bis538 und der Tabellenabgrenzungswerte541 bis548 zeigt, die durch die Cacheserver101 bis104 verwaltet werden, wenn der Cacheserver101 ausgefallen ist, in den in16 gezeigten Zuständen. - In den in
16 gezeigten Zuständen wird, wenn der Cacheserver101 unfähig wird, Datenverteilung durchzuführen, wegen eines Ausfalls, der folgende Prozess durchgeführt. Als erstes erkennen die Verteilung-Gesperrt-Erkennungseinheiten132 und134 der Cacheserver102 und104 , dass der Cacheserver101 unfähig wird, die Verteilung durchzuführen, und setzen dann die Tabellenabgrenzungswerte543 und548 auf "8". Dementsprechend wird die Anzahl an Verteilungsströmen im Cacheserver102 "10". Um den Cacheserver103 zwei Sitzungen verteilen zu lassen, die die Maximalzahl an Verteilungsströmen "8" überschreiten, setzt die Verteilung-Gesperrt-Erkennungseinheit132 daher den Tabellenabgrenzungswert544 auf "2". Ähnlich wird der Tabellenabgrenzungswert545 des Cacheservers103 auf "6" gesetzt, aber dies bewirkt nicht, dass die Anzahl an Verteilungsströmen des Cacheservers103 die Maximalzahl an Verteilungsströmen "8" überschreitet, was kein Problem darstellt. Weiterhin wird der Tabellenabgrenzungswert548 des Ca cheservers104 auf "8" gesetzt, aber dies bewirkt nicht, dass die Anzahl von Verteilungsströmen des Cacheservers103 die Maximalzahl an Verteilungsströmen "8" überschreitet, was auch kein Problem darstellt. - Mit dieser Operation führen die Cacheserver
102 bis104 Stromverteilung für jede Sitzung mit voller Kapazität durch, mit Maximalzahl von Verteilungsströmen "8". Wenn daher der Cacheserver101 gestört ist, können die Streamingdaten aller Sitzungen ohne Unterbrechung verteilt werden. - (Beispiel einer Wiederherstellungsoperation)
- In den in
17 gezeigten Zuständen wird, wenn der Cacheserver101 wiederhergestellt ist, die Operation der Wiederherstellung der Streamingdaten auf der Grundlage der folgenden Schritte eins bis sechs durchgeführt. - (Erster Schritt) Die Cachesteuereinheit
171 des Cacheservers101 kopiert alle Streamingdaten, die in den Streamingdatenspeichereinheiten152 und154 der Cacheserver102 und104 gespeichert sind, in die Streamingdatenspeichereinheit151 . - (Zweiter Schritt) Auf der Grundlage der Informationen von den Verteilung-Gesperrt-Erkennungseinheiten
132 und134 der Cacheserver102 und104 registriert die Verteilung-Gesperrt-Erkennungseinheit131 die Sitzungsidentifikatoren und Paketidentifikatoren in den Sitzungsverwaltungstabellen531 und532 . - (Dritter Schritt) Die Wiederherstellungserkennungseinheit
181 des Cacheservers101 setzt die Tabellenabgrenzungswerte541 und542 auf "4". - (Vierter Schritt) Die Wiederherstellungserkennungseinheit
182 des Cacheservers102 erkennt auf der Grundlage der Benachrichtigung vom Cacheserver101 , dass der Tabellenabgrenzungswert542 auf seinen Originalwert zurückgesetzt wurde, und setzt dann die Tabellenabgrenzungswerte543 und544 auf "4". - (Fünfter Schritt) Die Wiederherstellungserkennungseinheit
183 des Cacheservers103 erkennt auf der Grundlage der Benachrichtigung vom Cacheserver102 , dass der Tabellenabgrenzungswert544 auf seinen Originalwert zurückgesetzt wurde, und setzt dann den Tabellenabgrenzungswert545 auf "4". - (Sechster Schritt) Die Wiederherstellungserkennungseinheit
184 des Cacheservers104 erkennt auf der Grundlage der Benachrichtigung vom Cacheserver101 , dass der Tabellenabgrenzungswert541 auf seinen Originalwert zurückgesetzt wurde, und setzt den Tabellenabgrenzungswert548 auf "4". - Mit der obigen Operation werden die Zustände der Cacheserver
101 bis104 in die Zustände zurückgebracht, die in16 gezeigt sind. Wenn daher irgendeiner der Cacheserver wieder unfähig wird, Verteilung durchzuführen, kann die ausfallsichere Operation wieder durchgeführt werden. - Als solches wird in der Clusterservervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung ein Teil der Streamingdaten in einer Mehrzahl von Cacheservern gespeichert.
- Somit ist es möglich, direkt die Streamingdaten von der Mehrzahl von Cacheservern zu verteilen, wodurch eine große Verbesserung in der Verteilungsleistung erzielt wird.
- Weiterhin sind die Lasten auf den Cacheservern gleichmäßig verteilt, auf der Grundlage der darin gespeicherten Streamingdaten, wodurch effiziente Verwaltung der Speichereinheiten (Caches) und Datenverteilung an mehr Endgeräte ermöglicht wird.
- Weiterhin noch werden die Streamingdaten immer in der Mehrzahl von Cacheservern gespeichert, die betrieben werden, indem sie miteinander über den Zustand der Verteilung der Cacheserver kommunizieren. Somit kann die Datenverteilung ohne Unterbrechung weitergeführt werden, selbst wenn ein Fehler auftritt.
- Weiter noch kann, da die Streamingdaten immer in der Mehrzahl von Cacheservern gespeichert werden, eine schnelle Wiederherstellungsoperation auf dem Cacheserver durchgeführt werden, der wiederhergestellt wird, nachdem er ausgefallen ist. Auch wird mit dieser Wiederherstellungsoperation der Zustand des Cacheservers auf seinen Originalzustand, bevor die Störung auftrat, zurückgeführt, wodurch eine Fortführung der Verteilung an die Endgeräte ohne Unterbrechung ermöglicht wird, selbst wenn der Cacheserver nochmals unfähig wird, Datenverteilung auszuführen.
- Man beachte, dass in der obigen Ausführungsform ein Verfahren beispielhaft beschrieben wird, in dem die Cacheserver
101 bis10n die Sitzungsverwaltungseinheiten111 bis11n bzw. die Streamingdatenverwaltungseinheiten141 bis14n enthalten, und die Anzahl an Strömen zurückgeben, die gleichzeitig verteilt werden können, und das Vorhandensein oder die Abwesenheit von Daten in Antwort auf die Clustersteuereinheit21 . Es können jedoch andere Verfahren ergriffen werden, wie etwa, dass die Clusterservervorrichtung10 eine Datenbank hält, alle Cacheserver101 bis10n einzeln die Datenbank aktualisieren und die Clustersteuereinheit21 auf die Datenbank zugreift, um die Anzahl an Strömen zu erkennen, die momentan verteilt werden, und das Vorhandensein oder die Abwesenheit von Daten. - Weiterhin noch sind in der obigen Ausführungsform die Lastverteilungsserver
20 und die Cacheserver101 bis10n getrennt strukturiert. Alternativ kann jeder Cacheserver10x die Funktion des Lastverteilungsservers20 haben. Weiterhin alternativ können alle Cacheserver101 bis10n diese Funktion haben und der Cacheserver10x , der tatsächlich eine Anfrage erhalten hat, kann als der Lastverteilungsserver fungieren. - Weiterhin noch ist in der obigen Ausführungsform die Maximalzahl von Verteilungsströmen für jeden Cacheserver MAX und mit Bezug darauf wird die Anzahl von Verteilungsströmen ermittelt, die verteilt werden können. Wenn jedoch die Maximalzahl an Verteilungsströmen nicht eindeutig bestimmt werden kann, wegen des Unterschieds in der Leistung der Cacheserver, kann die Maximalzahl an verteilbaren Strömen in Übereinstimmung mit dem Cacheserver der geringsten Leistung oder der Durchschnittsleistung unter den Cacheservern bestimmt werden. Alternativ kann die Maximalzahl an Verteilungsströmen im voraus kleiner als die tatsächliche gesetzt werden.
- Während die Erfindung im Detail beschrieben wurde, ist die vorangegangene Beschreibung in allen Aspekten beschreibend und nicht beschränkend. Es wird verstanden, dass zahlreiche andere Modifikationen und Variationen erdacht werden können, ohne vom Bereich der Erfindung abzuweichen.
Claims (38)
- Eine Clusterservervorrichtung (
10 ) zur zeitlich ununterbrochenen Verteilung von Streamingdaten in Antwort auf Anfragen von einer Mehrzahl von Endgeräten (41 –4m ), die mit der Clusterservervorrichtung durch ein Netzwerk verbunden sind, wobei die Clusterservervorrichtung10 umfasst: erste bis n-te Cacheserver (101 –10n ), wobei n eine ganze Zahl größer oder gleich zwei ist und der erste bis n-te Cacheserver dazu betrieben werden können, Streamingdaten zu den Endgeräte (41 –4m ) den Anfragen von den Endgeräten entsprechend zu verteilen; ein Lastverteilungsserver (20 ), der dazu betrieben werden kann, eine von einem Endgerät (4y ) verschickte Anfrage zu empfangen und die Anfrage zu einem der ersten bis n-ten Cacheserver (10x ) zu übermitteln, abhängig davon, ob Streamingdaten, die der Anfrage entsprechen, im ersten bis n-ten Cacheserver (101 –10n ) gespeichert sind oder nicht, und Zuständen der Streamingdatenverteilung von jeweils dem ersten bis n-ten Cacheserver (101 –10n ); und einen Inhalteserver (30 ), der eine Speichereinheit (31 ) hat, die dazu betrieben werden kann, die Streamingdaten zu speichern, wobei der Inhalteserver (30 ) dazu betrieben werden kann, an einen des ersten bis n-ten Cacheservers (10x ) die Streamingdaten gemäß einer Anfrage zur Streamingdatenverteilung von einem des ersten bis n-ten Cacheservers (10x ) auszugeben; und wobei der erste bis n-te Cacheserver (10x ) jeweils umfasst: eine Sitzungsverwaltungseinheit (11x ), die dazu betrieben werden kann, einen Zustand der Streamingdatenverteilung durch ihren eigenen Cacheserver (10x ) zu verwalten; eine Streamingdatenspeichereinheit (15x ), die dazu betrieben werden kann, die vom Inhalt des Servers (30 ) ausgegebenen Daten zu speichern; eine Streamingdatenverwaltungeinheit (14x ), die dazu betrieben werden kann, die in der Streamingdatenspeichereinheit (15x ) gespeicherten Streamingdaten zu verwalten; eine Anfrageübermittlungseinheit (16x ), die dazu betrieben werden kann, die vom Lastverteilungsserver20 übermittelte Anfrage zu empfangen; wobei wenn die der Anfrage entsprechenden Streamingdaten in der Streamingdatenspeichereinheit (15x ) gespeichert sind, die Anfrageübertragungseinheit betrieben werden kann, um eine Anweisung zur Verteilung der in der Streamingdatenspeichereinheit gespeicherten Streamingdaten auszugeben, und wenn die der Anfrage entsprechenden Streamingdaten nicht in der Streamingdatenspeichereinheit gespeichert sind, die Anfrageübermittlungseinheit betrieben werden kann, um die Anfrage an den Inhalteserver (30 ) zu übertragen, um dadurch die der Anfrage entsprechenden Streamingdaten abzurufen, die vom Inhalteserver (30 ) abgerufenen Streamingdaten in der Streamingdatenspeichereinheit (15x ) zu speichern und die Anweisung zur Verteilung der Streamingdaten, die in der Streamingdatenspeichereinheit gespeichert sind, auszugeben; eine Datenverteilungseinheit (12x ), die betrieben werden kann, um die in der Streamingdatenspeichereinheit (15x ) gespeicherten Streamingdaten an eines der Endgeräte zu verteilen, das die Anfrage verschickt hat, auf der Grundlage der von der Anfrageübermittlungseinheit (16x ) ausgehenden Anweisung; und eine Cachesteuereinheit (17x ) die dazu betrieben werden kann, dass sie steuert, dass die vom Inhalteserver (30 ) ausgegebenen Streamingdaten in der Streamingdatenspeichereinheit von mindestens einer anderen vorbestimmten Cacheserver aus dem ersten bis n-ten Cacheserver redundant gespeichert werden, wobei wenn die Streamingdaten in einer Streamingdatenspeichereinheit eines i-ten Cacheservers gespeichert werden, wobei i eine ganze Zahl größer oder gleich eins und kleiner als n ist, die Cachesteuereinheit des i-ten Cacheservers so betrieben werden kann, dass sie steuert, dass die Streamingdaten in der Streamingdatenspeichereinheit eines (i + 1)-ten Cacheserver redundant gespeichert wird, und wenn die Streamingdaten in der Streamingdatenspeichereinheit des n-ten Cacheservers gespeichert sind, die Cachesteuereinheit des n-ten Cacheservers betrieben werden kann, um zu steuern, dass die Streamingdaten in der Streamingdatenspeichereinheit des ersten Cacheservers redundant gespeichert werden. - Clusterservervorrichtung
10 gemäß Anspruch 1, wobei der Lastverteilungsserver (20 ) eine Clustersteuereinheit (21 ) umfasst, die dazu betrieben werden kann, dass, wenn sie eine Anfrage vom Endgerät (4y ) empfängt, sie eine Nachfrage bei all den Sitzungsverwaltungseinheiten (111 –11n ) und all den Streamingdatenverwaltungseinheiten (141 –14n ) über den Verteilungszustand in den Cacheservern macht, und ob die Streamingdaten, die der Anfrage entsprechen, gespeichert sind oder nicht, wobei der Lastverteilungsserver (20 ) dazu betrieben werden kann, dass er auf der Grundlage einer Antwort auf die Nachfrage die Anfrage zu irgendeinem der Cacheserver (10x ) weiterleitet, und wenn irgendeiner der Cacheserver die entsprechenden Streamingdaten speichert, die Clustersteuereinheit (21 ) die Anfrage zu einem am wenigsten belasteten Cacheserver unter den Cacheservern überträgt, die die entsprechenden Streamingdaten speichern, und wenn keiner der Cacheserver die entsprechenden Streamingdaten speichert, die Clustersteuereinheit die Anfrage zu einem aus allen Cacheservern am wenigsten belasteten Cacheserver weiterleitet. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin der Lastverteilungsserver umfasst: eine Belastungszustandsverwaltungseinheit, die dazu betrieben werden kann, dass sie immer mit den Sitzungsverwaltungseinheiten (111 –11n ) von all den Cacheservern (101 –10n ) kommuniziert und die Zustände der Belastung auf den Cacheservern (101 –10n ) hält, und eine Clustersteuereinheit (21 ), die so betrieben werden kann, dass sie, wenn sie eine Anfrage vom Endgerät (4y ) empfängt, eine Nachfrage bei all den Streamingdatenverwaltungseinheiten (141 –14n ) macht, ob die Streamingdaten, die der Anfrage entsprechen, gespeichert sind oder nicht, wobei der Lastverteilungsserver (20 ) so betrieben werden kann, dass er auf der Grundlage einer Antwort auf die Anfrage die Nachfrage zu irgendeinem der Cacheserver (10x ) weiterleitet, und auf der Grundlage von Informationen in der Belastungszustandsverwaltungseinheit, wenn irgendeiner der Cacheserver die entsprechenden Streamingdaten speichert, die Clustersteuereinheit (21 ) die Anfrage zu einem unter den Cacheservern, die die entsprechenden Streamingdaten speichern, am wenigstens belastenden Cacheserver weiterleitet, und wenn keiner der Cacheserver die entsprechenden Streamingdaten speichert, die Clustersteuereinheit die Anfrage zu einem aus all den Cacheservern am wenigstens belastenden Cacheserver weiterleitet. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin der Lastverteilungsserver (20 ) eine Clustersteuereinheit (21 ) umfasst, die so betrieben werden kann, dass sie immer mit den Sitzungsverwaltungseinheiten (111 –11n ) und jeder der Streamingdatenverwaltungseinheiten (141 –14n ) kommuniziert und auf Grundlage der Kommunikation die Anfrage zu irgendeinem der Cacheserver (10x ) weiterleitet, nach Empfang der Anfrage vom Endgerät (4y ), wenn irgendeiner der Cacheserver die entsprechenden Streamingdaten speichert, die Clustersteuereinheit (21 ) die Anfrage zu einem am wenigsten belasteten Cacheserver aus den Cacheservern weiterleitet, die die entsprechenden Streamingdaten speichern, und wenn keiner der Cacheserver die entsprechenden Streamingdaten speichert, die Clustersteuereinheit die Anfrage zu einem am wenigsten belasteten Cacheserver aus all den Cacheservern weiterleitet. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin wenn die Streamingdaten, die der Anfrage entsprechen, nicht in der Streamingdatenspeichereinheit (15x ) gespeichert sind, die Cachesteuereinheit (17x ) eine Sendeadresse der Anfrage, die zum Inhalteserver (30 ) übertragen werden soll, in eine vorbestimmte Multicastadresse zur Übertragung abändert, und, wenn sie die Streamingdaten empfängt, die für die vorbestimmte Multicastadresse bestimmt sind, sie steuert, dass die Streamingdaten in der Streamingdatenspeichereinheit (15x ) gespeichert werden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin im i-ten Cacheserver (10i ), wenn die Streamingdaten, die der Anfrage entsprechen, nicht in der Streamingdatenspeichereinheit (15i ) gespeichert sind, die Cachesteuereinheit (17i ) des i-ten Cacheservers (10i ) an den Inhalteserver (30 ) die Anfrage nach Streamingdatenverteilung an Adressen des i-ten Cacheservers (10i ) und des (i + 1)-ten Cacheservers (10i+1 ) überträgt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin die Clustersteuereinheit (21 ) die Anfragen an die Cacheserver (101 –10n ) überträgt, sodass die Anzahl von verteilbaren Strömen für jeden der Cacheserver gleich oder weniger als ein Wert {((n – 1)/n × MAX)} ist (MAX ist die Höchstzahl von Verteilungsströmen, die jeder der Cacheserver verteilen kann), und die Gesamtzahl von Verteilungsströmen der Streamingdaten, die in den Streamingdatenspeichereinheiten (15i ,15i+1 ) des i-ten Cacheservers (10i ) und des (i + 1)-ten Cacheservers (10i+1 ) gespeichert sind, kleiner oder gleich MAX ist. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin die Clustersteuereinheit (21 ) die Anfragen an die Cacheserver (101 –10n ) überträgt, sodass die Gesamtzahl der Verteilungsströme der Streamingdaten, die in den Streamingdatenspeichereinheiten (15i ,15i+1 ) des i-ten Cacheservers (10i ) und des (i + 1)-ten Cacheservers (10i+1 ) gespeichert sind, kleiner oder gleich MAX ist (MAX ist die Maximalzahl von Verteilungsströmen, die jeder der Cacheserver verteilen kann) und die Gesamtzahl der Verteilungsströme der Streamingdaten, die in den Streamingdatenspeichereinheiten (15i-1 ,15i ) des (i – 1)-ten Cacheservers (10i-1 ) (wenn i gleich 1, des n-ten Cacheservers) und des i-ten Cacheservers (10i ) gespeichert sind, kleiner oder gleich MAX ist. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin die Datenverteilungseinheit (12x ) eines jeden Cacheservers (10x ) den anderen Cacheserver, der die Streamingdaten redundant speichert, über Verteilungsinformationen über die Streamingdaten in regelmäßigen Abständen benachrichtigt, die an das Endgerät (4y ) verteilt werden, und jeder der Cacheserver (10x ) weiterhin eine Verteilung-gesperrt-Erkennungseinheit (13x ) umfasst, die dazu getrieben werden kann, dass sie durch die Verteilungsinformationen, die sie vom anderen Cacheserver empfängt, erkennt, dass mindestens einer der anderen Cacheserver unfähig wird, Verteilung auszuführen, und dann eine Anweisung an die Datenverteilungseinheit (12x ) zu liefern, innerhalb einer vorbestimmten Zeitspanne zur Vermeidung von Unterbrechung der Streamingdaten Streamingdaten zu verteilen, die den Streamingdaten nachfolgen, welche als letztes durch den anderen Cacheserver verteilt wurden, der unfähig wird, stattdessen Verteilung auszuführen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin die Datenverteilungseinheit (12i ) des i-ten Cacheservers (10i ) den (i + 1)-ten Cacheserver (10i+1 ) und den (i – 1)-ten Cacheserver (10i-1 ), die die Streamingdaten redundant speichern, über Verteilungsinformationen über die Streamingdaten in regelmäßigen Abständen benachrichtigen, die zum Endgerät (4y ) verteilt werden, und der i-te Cacheserver (10i ) weiterhin eine Verteilung-gesperrt-Erkennungseinheit (13i ) umfasst, die dazu getrieben werden kann, durch die vom (i + 1)-ten Cacheserver (10i+1 ) und den (i – 1)ten Cacheserver (10i-1 ) empfangenen Verteilungsinformationen zu erkennen, dass entweder einer davon oder beide unfähig werden, Verteilung durchzuführen, und eine Anweisung an die Datenverteilungseinheit (12i ) zu liefern, innerhalb einer bestimmten Zeitspanne zur Vermeidung von Unterbrechung der Streamingdaten Streamingdaten zu verteilen, die den Streamingdaten nachfolgen, welche als letzte durch einen der beiden oder beide Cacheserver verteilt wurden, die unfähig werden, die Verteilung stattdessen auszuführen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 9, worin wenn die Datenverteilungseinheit (12x ) die Streamingdaten an das Endgerät (4y ) anstelle des Cacheservers verteilt, der unfähig wird, Verteilung auszuführen, durch Folgen der Anweisung, die durch die Verteilung-gesperrt-Erkennungseinheit (13x ) geliefert wird, die Cachesteuereinheit (17x ) steuert, dass neue Streamingdaten nicht in der Streamingdatenspeichereinheit (15x ) gespeichert werden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 10, worin wenn die Datenverteilungseinheit (12x ) die Streamingdaten zum Endgerät (4y ) verteilt, anstelle der Cacheserver, die unfähig werden, Verteilung auszuführen, durch Folgen der Anweisung, die durch die Verteilung-gesperrt-Erkennungseinheit (13x ) geliefert wird, die Cachesteuereinheit (17x ) steuert, dass neue Streamingdaten nicht in der Streamingdatenspeichereinheit (15x ) gespeichert werden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 9, worin wenn der Cacheserver, der unfähig wird, Verteilung auszuführen (10a ) wiederhergestellt wird, der wiederhergestellte Cacheserver (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12b ) des anderen Cacheservers (10b ) ausgibt, der die Streamingdaten redundant speichert, und bei Empfang der Wiederherstellungsbenachrichtigung der andere Cacheserver (10b ), der die Streamingdaten zum Endgerät (4y ) anstelle des wiederherstellten Cacheservers (10a ) verteilt hat, die Streamingdaten, die in der Streamingdatenspeichereinheit (15b ) gespeichert sind, in die Streamingdatenspeichereinheit (15a ) des wiederhergestellten Cacheservers (10a ) kopiert. - Clusterservervorrichtung (
10 ) gemäß Anspruch 10, worin wenn der Cacheserver, der unfähig wird, Verteilung auszuführen (10a ) wiederhergestellt wird, der wiederhergestellte Cacheserver (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12b ) des anderen Cacheservers (10b ) ausgibt, welcher die Streamingdaten redundant speichert, und bei Empfang der Wiederherstellungsbenachrichtigung der andere Cacheserver (10b ), der die Streamingdaten an das Endgerät (4y ) anstelle des wiederhergestellten Cacheservers (10a ) verteilt hat, die Streamingdaten, die in der Streamingdatenspeichereinheit (15b ) gespeichert sind, in die Streamingdatenspeichereinheit (15a ) des wiederhergestellten Cacheservers (10a ) kopiert. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin jeder der Cacheserver (10x ) weiterhin umfasst: eine Sitzungsverwaltungseinheit (11x ), die dazu betrieben werden kann, eine Sitzung zu verwalten, die Ausführung der Verteilung der Streamingdaten zum Endgerät (4y ) durch eine Netzwerkverbindung anzeigt, ein Paket (eine Streamingdateneinheit), das als letztes durch die Verteilungseinheit (12x ) in jeder Sitzung übertragen wurde, und die Anzahl von Verteilungsströmen der Streamingdaten; und eine Verteilung-gesperrt-Erkennungseinheit (13x ), die dazu betrieben werden kann, regelmäßig an die anderen Cacheserver, die die Streamingdaten redundant speichern, eine Benachrichtigung über die Pakete für alle Sitzungen zu übertragen und von ihnen zu empfangen, die durch die Sitzungsverwaltungseinheit (11x ) verwaltet werden, und wenn einer der Cacheserver während einer vorbestimmten Zeitspanne aufhört, die Benachrichtigung zu senden, die Verteilung-gesperrt-Erkennungseinheit (13x ) feststellt, dass der Cacheserver, der aufhört, die Benachrichtigung zu senden, unfähig wird, Verteilung durchzuführen, und dann eine Anweisung an die Datenverteilungseinheit (12x ) liefert, dass der Cacheserver (10x ), der die Streamingdaten redundant speichert, innerhalb einer vorbestimmten Zeitspanne zur Vermeidung von Unterbrechung der Streamingdaten ein Paket verteilt, das dem Paket nachfolgt, das durch die Benachrichtigung identifiziert wird, die als letzte für Sitzungen der redundant gespeicherten Streamingdaten unter Sitzungen empfangen wurde, die durch den anderen Cacheserver verwaltet werden, der unfähig wird, Verteilung stattdessen auszuführen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin jeder der Cacheserver (10x ) ferner umfasst: eine Sitzungsverwaltungseinheit (11x ) die dazu betrieben werden kann, eine Sitzung zu verwalten, die die Ausführung der Verteilung der Streamingdaten an das Endgerät (4y ) durch eine Netzwerkverbindung anzeigt, ein Paket (eine Streamindateneinheit), das als letztes durch die Datenver teilungseinheit (12x ) in jeder Sitzung übertragen wurde, und die Anzahl von Verteilungsströmen der Streamingdaten; und eine Verteilung-gesperrt-Erkennungseinheit (13x ), die dazu betrieben werden kann, regelmäßig an die anderen Cacheserver, die die Streamingdaten redundant speichern, eine Benachrichtigung über die Pakete für alle Sitzungen zu schicken oder von ihnen zu empfangen, die durch die Sitzungsverwaltungseinheit (11x ) verwaltet werden, und wenn einer der Cacheserver für eine vorbestimmte Zeitspanne aufhört, die Benachrichtigung zu senden, die Verteilung-gesperrt-Erkennungseinheit (13x ) feststellt, dass der Cacheserver, der aufhört, die Benachrichtigung zu senden, unfähig wird, Verteilung auszuführen, und dann eine Anweisung an die Datenverteilungseinheit (12x ) liefen, dass der Cacheserver (10x ), der die Streamingdaten redundant speichert, innerhalb einer vorbestimmten Zeitspanne zur Vermeidung von Unterbrechung der Streamingdaten ein Paket verteilen soll, das dem Paket nachfolgt, das durch die Benachrichtigung identifiziert wird, die als letzte für Sitzungen der redundant gespeicherten Streamingdaten erhalten wurde, unter den Sitzungen, die durch den anderen Cacheserver verwaltet werden, der unfähig wird, Verteilung stattdessen auszuführen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin jeder der Cacheserver (10x ) weiterhin umfasst eine Sitzungsverwaltungseinheit (11x ), die dazu betrieben werden kann, einen Sitzungsidentifikator zum Identifizieren einer Sitzung zu verwalten, der die Ausführung des Verteilens von Streamingdaten zum Endgerät (4y ) durch eine Netzwerkverbindung anzeigt, einen Paketidentifikator zum identifizieren eines Pakets (einer Streamingdateneinheit), das als letztes durch die Datenverteilungseinheit (12x ) für jede Sitzung übertragen wurde, eine Sitzungsverwaltungstabelle zum Speichern des Sitzungsidentifikators und des Paketidentifikators, einen Tabellenabgrenzungswert zum Teilen der Sitzungsverwaltungstabelle in zwei, auf der Grundlage des Sitzungsi denfikators, und die Anzahl der Verteilungsströme der Streamingdaten; und eine Verteilung-gesperrt-Erkennungseinheit (13x ), die dazu betrieben werden kann, regelmäßig an die anderen Cacheserver, die die Streamingdaten redundant speichern, eine Benachrichtigung über die Sitzungsidentifikatoren zu schicken und von ihnen zu empfangen, und die Paketidentifikatoren für alle Sitzungen, in denen die Streamingdaten, die durch die Sitzungsverwaltungseinheit (11x ) verwaltet werden, verteilt werden, und gemäß der durch die anderen Cacheserver empfangenen Benachrichtigung den Sitzungsidentifikator und den Paketidentifikator zu aktualisieren, die in der Sitzungsverwaltungstabelle gespeichert sind, worin die Sitzungsverwaltungseinheit (11x ) den Sitzungsidentifikator der Sitzung für Streamingdaten die durch die Datenverteilungseinheit (12x ) ihres eigenen verteilt werden, auf einen Wert kleiner oder gleich dem Tabellenabgrenzungswert setzt, und den Sitzungsidentifikator der Sitzung für die Streamingdaten, die durch die Datenverteilungseinheit des anderen Cacheservers verteilt werden, auf einen Wert größer als den Tabellenabgrenzungswert setzt, die Datenverteilungseinheit (12x ) wiederholt das Paket an das Endgerät (4y ) verteilt und den Paketidentifikator aktualisiert, wenn der Sitzungsidenfikator kleiner oder gleich dem Tabellenabgrenzungswert in allen der Sitzungen ist, und wenn einer der Cacheserver während einer vorbestimmten Zeitspanne aufhört, die Benachrichtigung zu senden, die Verteilung-gesperrt-Erkennungseinheit (13x ) bestimmt, dass der Cacheserver, der aufhört, die Benachrichtigung zu senden, unfähig wird, Verteilung auszuführen, und den Tabellenabgrenzungswert auf einen Wert größer als ein Maximalwert des Sitzungsidentifikators setzt, innerhalb einer vorbestimmten Zeitspanne, zum Vermeiden einer Unterbrechung der Streamingdaten. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin jeder der Cacheserver (10x ) weiterhin umfasst: eine Sitzungsverwaltungseinheit (11x ), die dazu betrieben werden kann, einen Sitzungsidentifikator zum Identifizieren einer Sitzung, der die Ausführung der Verteilung der Streamingdaten zum Endgerät (4y ) durch eine Netzwerkverbindung anzeigt, einen Paketidentifikator zum Identifizieren eines Pakets (einer Streamingdateneinheit), das als letztes durch die Datenverteilungseinheit (12x ) für jede Sitzung übertragen wurde, eine Sitzungsverwaltungstabelle zum Speichern des Sitzungsidentifikators und des Paketidentifikators, ein Tabellenabgrenzungswert zum Teilen der Sitzungstabelle in zwei, auf der Grundlage des Sitzungsidentifikators, und die Anzahl von Verteilungsströmen der Streamingdaten zu verwalten; und eine Verteilung-gesperrt-Erkennungseinheit (13x ), die dazu verwendet werden kann, regelmäßig an den anderen Cacheserver, der die Streamingdaten redundant speichert, eine Benachrichtigung über die Sitzungsidentifikatoren und die Paketidentifikatoren für alle Sitzungen zu senden und von ihm zu empfangen, in denen die Streamingdaten, die durch die Sitzungsverwaltungseinheit (11x ) verwaltet werden, verteilt werden, und gemäß einer Benachrichtigung, die von den anderen Cacheservern erhalten wird, den Sitzungsidentifikator und den Paketidentifikator, die in der Sitzungsverwaltungstabelle gespeichert sind, zu aktualisieren, wobei die Sitzungsverwaltungseinheit (11x ) den Sitzungsidentifikator der Sitzung für die Streamingdaten, die durch die Datenverteilungseinheit (12x ) ihres eigenen verteilt wird, auf einen Wert gleich oder kleiner als der Tabellenabgrenzungswert setzt, und den Sitzungsidentifikator der Sitzung für die Streamingdaten, die durch die Datenverteilungseinheit des anderen Cacheservers verteilt werden, auf einen Wert setzt, der größer als der Tabellenabgrenzungswert ist, die Datenverteilungseinheit (12x ) wiederholt das Paket zum Endgerät (4y ) verteilt und den Paketidentifikator aktualisiert, wenn der Sitzungsidentifikator gleich oder kleiner als der Tabellenabgrenzungswert in allen der Sitzungen ist, und wenn einer der Cacheserver während einer vorbestimmten Zeitspanne aufhört, die Benachrichtigung zu senden, die Verteilung-gesperrt-Erkennungseinheit (13x ) feststellt, dass der Cacheserver, der aufhört, die Benachrichtigung zu senden, unfähig wird, Verteilung durchzuführen, und den Tabellenabgrenzungswert auf einen Wert setzt, der größer als ein Maximalwert des Sitzungsidentifikators ist, innerhalb einer vorbestimmten Zeitspanne, um eine Unterbrechung der Streamingdaten zu vermeiden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin jeder der Cacheserver (10x ) weiterhin umfasst: eine Sitzungsverwaltungseinheit (11x ) die dazu betrieben werden kann, die Anzahl der Verteilungsströme der Streamingdaten, die durch ihren eigenen Cacheserver (10x ) verteilt werden, zu verwalten; und eine Verteilung-gesperrt-Erkennungseinheit (13x ), die dazu betrieben werden kann, den anderen Cacheserver zu ermitteln, der unfähig wird, Verteilung zu betreiben, und die Datenverteilungseinheit (12x ) anzuweisen, zu beginnen, alle Streamingdaten, die durch den weiteren Cacheserver verteilt wurden, stattdessen zu verteilen, die Verteilung-gesperrt-Erkennungseinheit (13x ) liefert eine Überlaufbenachrichtigung an noch einen anderen Cacheserver, der die Streamingdaten redundant speichert, und weist die Datenverteilungseinheit (12x ) an aufzuhören, die Streamingdaten zu verteilen, die die Maximalzahl von zulässigen Verteilungsströmen überschreiten, und die Verteilung-gesperrt-Erkennungseinheit in dem noch weiteren Cacheserver, die die Überlaufbenachrichtigung erhalten hat, weist die Datenverteilungseinheit ihres eigenen an, die Streamingdaten zu übertragen, die den Streamingdaten nachfolgen, die als letztes durch den Cacheserver verteilt wurden, der die Überlaufbenachrichtigung geliefert hat, für alle Streamingdaten, die die Maximalzahl von zulässigen Verteilungsströmen überschreiten, die der Cacheserver, der die Überlaufnachricht geliefert hat, aufhört zu verteilen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 1, worin jeder der Cacheserver (10x ) weiterhin umfasst: eine Sitzungsverwaltungseinheit (11x ), die dazu betrieben werden kann, die Anzahl der Verteilungsströme der Streamingdaten zu verwalten, die durch ihren eigenen Cacheserver (10x ) verteilt werden; und eine Verteilung-gesperrt-Erkennungseinheit (13x ) die dazu betrieben werden kann, den anderen Cacheserver zu ermitteln, der unfähig wird, Verteilung auszuführen, und die Datenverteilungseinheit (12x ) anzuweisen, zu beginnen, alle Streamingdaten, die durch den anderen Cacheserver verteilt wurden, stattdessen zu verteilen, die Verteilung-gesperrt-Erkennungseinheit (13x ), liefert eine Überlaufbenachrichtigung an noch einen weiteren Cacheserver, der die Streamingdaten redundant speichert, und weist die Datenverteilungseinheit (12x ) an, aufzuhören, Streamingdaten zu verteilen, die die Maximalzahl von zulässigen Verteilungsströmen überschreiten, und die Verteilung-gesperrt-Erkennungseinheit in dem noch weiteren Cacheserver, der die Überlaufbenachrichtigung erhalten hat, weist die Datenverteilungseinheit ihres eigenen an, die Streamingdaten zu übertragen, die den Streamingdaten nachfolgen, die als letztes durch den Cacheserver verteilt wurden, der die Überlaufbenachrichtigung geliefert hat, für alle Streamingdaten, die die Maximalzahl von zulässigen Verteilungsströmen überschreiten, die der Cacheserver, der die Überlaufbenachrichtigung geliefert hat, zu verteilen aufhört. - Clusterservervorrichtung (
10 ) gemäß Anspruch 15, worin wenn der andere Cacheserver unfähig wird, Verteilung auszuführen, und die Antwort von der Sitzungsverwaltungseinheit zeigt, dass die Anzahl von Verteilungsströmen die Maximalzahl von Verteilungsströmen überschreitet, die der Cacheserver verteilen kann, die Verteilung-gesperrt-Erkennungseinheit (13x ) die Überflussbenachrichtigung an noch einen Ca cheserver liefert, der die Streamingdaten redundant speichert, und die Datenverteilungeinheit (12x ) anweist, aufzuhören, Streamingdaten zu verteilen, die die Maximalzahl von Verteilungsströmen überschreiten, die Verteilung-gesperrt-Erkennungseinheit in dem noch weiteren Cacheserver, der die Überlaufbenachrichtigung erhalten hat, die Datenverteilungseinheit ihres eigenen anweist, ein Paket zu verteilen, das dem Paket nachfolgt, das durch eine Benachrichtigung identifiziert wird, die als letztes für die Streamingdaten empfangen wurde, die die Maximalzahl von Verteilungsströmen überschreiten, von denen der Cacheserver (10x ), der die Überflussbenachrichtigung geliefert hat, aufgehört hat, zu verteilen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 16, worin wenn der andere Cacheserver unfähig wird, Verteilung auszuführen, und die Antwort von der Sitzungsverwaltungseinheit zeigt, dass die Anzahl von Verteilungsströmen die Maximalzahl von Verteilungsströmen überschreitet, die der Cacheserver verteilen kann, die Verteilung-gesperrt-Erkennungseinheit (13x ) die die Überflussbenachrichtigung an noch einen weiteren Cacheserver liefert, der die Streamingdaten redundant speichert, und die Datenverteilungseinheit (12x ) anweist, aufzuhören, Streamingdaten zu verteilen, die die Maximalzahl von Verteilungsströmen überschreiten, die Verteilung-gesperrt-Erkennungseinheit in dem noch weiteren Cacheserver, der die Überlaufbenachrichtigung erhalten hat, die Datenverteilungseinheit seines eigenen anweist, ein Paket zu verteilen, das dem Paket nachfolgt, das durch eine Benachrichtigung identifiziert wird, die als letztes für Streamingdaten erhalten wurde, die die Maximalzahl von Verteilungsströmen überschreiten, von denen der Cacheserver (10x ), der die Überlaufbenachrichtigung geliefert hat, aufhört, zu verteilen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 17, worin die Cacheserver, die die Streamingdaten redundant speichern, jeweils eine Sitzungsverwaltungstabelle haben, in der eine Maximalzahl von registrier baren Sitzungen MAX ist (MAX ist die Anzahl von Verteilungsströmen, die jeder der Cacheserver verteilen kann), jede der Sitzungsverwaltungseinheiten den Sitzungsidentifikator auf einen Wert setzt, der kleiner als der Tabellenabgrenzungswert für die Sitzung der Streamingdaten ist, die durch die Datenverteilungseinheit ihres eigenen verteilt werden, während sie den Sitzungsidentifikator auf einen Wert setzt, der nicht kleiner als der Tabellenabgrenzungswert (Setzen der Sitzungsidentifikatoren I1 bis In, die kleiner als der Tabellenabgrenzungswert sind, auf Werte (MAX – I1 – 1) bis (MAX – In – 1) in der Sitzungsverwaltungstabelle im anderen Cacheserver) für die Sitzung der Streamingdaten ist, die durch die Datenverteilungseinheit des anderen Cacheservers verteilt werden, die Verteilung-gesperrt-Einheit gemäß der Benachrichtigung Werte in der Sitzungsverwaltungstabelle auf die Werte der Sitzungsidentifikatoren (MAX – I1 – 1) bis (MAX – In – 1) aktualisiert, und Werte der Paketidentifikatoren P1 bis Pn, und wenn der Tabellenabgrenzungswert auf F geändert wird, den Tabellenabgrenzungswert auf (MAX – F) setzt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 18, worin die Cacheserver, die die Streamingdaten redundant speichern, jeweils eine Sitzungsverwaltungstabelle haben, in der eine Maximalzahl von registrierbaren Sitzungen MAX ist (MAX ist die Anzahl von Verteilungsströmen, die jeder der Cacheserver verteilen kann), jede der Sitzungsverwaltungseinheiten den Sitzungsidentifikator auf einen Wert setzt, der kleiner als der Tabellenabgrenzungswert für die Sitzung der Streamingdaten ist, die durch die Datenverteilungseinheit von ihrem eigenen verteilt wird, während sie den Sitzungsidentifikator auf einen Wert setzt, der kleiner als der Tabellenabgrenzungswert (setzten des Sitzungsidentifikatoren I1 bis In, die kleiner als der Tabellenabgrenzungswert sind, auf Werte (Max – I1 – 1) bis (MAX – In – 1) in der Sitzungsverwaltungstabelle im anderen Cacheserver) für die Sitzung der Streamingdaten ist, die durch die Datenverteilungseinheit des anderen Cacheservers verteilt werden, die Verteilung-gesperrt-Einheit gemäß der Benachrichtigung Werte in der Sitzungsverwaltungstabelle auf die Werte der Sitzungsidentifikatoren (MAX – I1 – 1) bis (MAX – In – 1) aktualisiert, die in der Benachrichtigung enthalten sind, und Werte der Paketidentifikatoren P1 bis Pn, und wenn der Tabellenabgrenzungswert auf F geändert wird, sie den Tabellenabgrenzungswert auf (MAX – F) setzt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 17, worin wenn ein Streamingdatensatz S1, der sowohl in einem Cacheserver A als auch in einem Cacheserver B gespeichert ist, und ein Streamingdatensatz S2 sowohl im Cacheserver A als auch einem Cacheserver C, in der Streamingdatenspeichereinheit des Cacheserver A gespeichert werden, der Cacheserver A Sitzungsverwaltungstabellen T0 und T1 und Tabellenabgrenzungswerte F0 und F1 hat, bei denen die Sitzungsverwaltungstabellen T0 und T1 in zwei geteilt werden, auf der Grundlage des Sitzungsidentifikators, in der Sitzungsverwaltungstabelle T0 der Sitzungsidentifikator auf einen Wert gesetzt wird, der kleiner als der Tabellenabgrenzungswert F0 für die Sitzung von Streamingdaten ist, die im Streamingdatensatz S1 enthalten sind, der durch den Cacheserver A verteilt wird, während der Sitzungsidentifikator auf einen Wert gesetzt wird, der nicht kleiner als der Tabellenabgrenzungswert F1 (der Sitzungsidentifikator, der einen der Werte I1 bis In hat, die kleiner als der Tabellenabgenzungswert F1 sind, werden auf einen der Werte (MAX – I1 – 1) bis (MAX – In – 1) in der Sitzungsverwaltungstabelle des Cacheservers B gesetzt) für die Sitzung der Streamingdaten ist, die im Streamingdatensatz S1 enthalten sind, der durch den Cacheserver B verteilt wird (MAX ist die Anzahl von Verteilungsströmen, die jeder der Cacheserver verteilen kann), in der Sitzungsverwaltungstabelle T1 der Sitzungsidentifikator auf einen Wert gesetzt wird, der kleiner als der Tabellenabgrenzungswert F1 für die Sitzung der Streamingdaten ist, die im Streamingdatensatz S2 enthalten sind, der durch den Cacheserver A verteilt wird, während der Sitzungsidentifikator auf einen Wert gesetzt wird, der nicht kleiner als der Tabellenabgrenzungswert F0 (der Sitzungsidentifikator, der einen der Werte J1–Jn hat, die kleiner als der Tabellenabgrenzungswert F1 sind, werden auf einen der Werte (MAX – J1 – 1) bis (MAX – Jn – 1) in der Sitzungsverwaltungstabelle des Cacheservers C gesetzt) für die Sitzung der Streamingdaten sind, die im Streamingdatensatz S2 enthalten sind, der durch den Cacheserver C verteilt wird, im Cacheserver A die Verteilung-gesperrt-Erkennungseinheit eine Benachrichtigung überträgt, die den Sitzungsidentifikator und den Paketidentifikator für alle Sitzungen der Streamingdaten anzeigt, die an die Cacheserver B und C verteilt werden, in dem sie eine Nachfrage bei der Sitzungsverwaltungseinheit macht und die Benachrichtigung von den Cacheservern B und C empfängt, den Tabellenabgrenzungswert F0 auf einen Wert setzt, der gleich oder größer als MAX ist, wenn keine Benachrichtigung vom Cacheserver B kommt, und den Tabellenabgrenzungswert F1 auf einen Wert setzt, der gleich oder größer als MAX ist, wenn keine Benachrichtigung vom Cacheserver C kommt, und wenn die Zahl von Verteilungsströmen die Maximalzahl von Verteilungsströmen überschreitet, den Tabellenabgrenzungswert F1 auf einen Wert setzt, der kleiner als die Maximalzahl von Verteilungsströmen ist, wenn keine Benachrichtigung vom Cacheserver B kommt, und den Tabellenabgrenzungswert F1 auf einen Wert setzt, der kleiner als die Maximalzahl von Verteilungsströmen ist, wenn die Benachrichtigung vom Cacheserver C kommt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 18, worin wenn ein Streamingdatensatz S1, der sowohl in einem Cacheserver A als auch in einem Cacheserver B und ein Streamingdatensatz S2, der sowohl im Cacheserver A als auch in einem Cacheserver C gespeichert ist, in der Streamingdatenspeichereinheit des Cacheservers A gespeichert werden, der Cacheserver A Sitzungsverwaltungstabellen T0 und T1 und Tabellenabgrenzungswerte F0 und F1 hat, bei denen die Sitzungsverwaltungstabellen T0 und T1 in zwei geteilt werden, auf der Grundlage des Sitzungsidentifikators, in der Sitzungsverwaltungstabelle T0 der Sitzungsidentifikator auf einen Wert gesetzt wird, der kleiner als der Tabellenabgrenzungswert F0 für die Sitzung der Streamingdaten ist, die im Streamingdatensatz F1 enthalten sind, der durch den Cacheserver A verteilt wird, während der Sitzungsidentifikator auf einen Wert gesetzt wird, der nicht kleiner als der Tabellenabgrenzungswert F1 (der Sitzungsidentifikator, der einen der Werte I1–In hat, die kleiner als der Tabellenabgrenzungswert F1 sind, werden auf einen der Werte (MAX – I1 – 1) bis (MAX – In – 1) in der Sitzungsverwaltungstabelle des Cacheservers B gesetzt) für die Sitzung der Streamingdaten ist, die im Streamingdatensatz S1 enthalten sind, der durch den Cacheserver B verteilt wird (MAX ist die Anzahl von Verteilungsströmen, die jeder der Cacheserver verteilen kann), in der Sitzungsverwaltungstabelle T1 der Sitzungsidentifikator auf einen Wert gesetzt wird, der kleiner als der Tabellenabgrenzungswert F1 für die Sitzung der Streamingdaten ist, die im Streamingdatensatz S2 enthalten sind, der durch den Cacheserver A verteilt wird, während der Sitzungsidentifikator auf einen Wert gesetzt wird, der nicht kleiner als der Tabellenabgrenzungswert F0 (der Sitzungsidentifikator, der einen der Werte J1 bis Jn hat, die kleiner als der Tabellenabgrenzungswert F1 sind, werden auf einen der Werte (MAX – J1 – 1) bis (MAX – Jn – 1) in der Sitzungsverwaltungstabelle des Cacheservers C gesetzt) für die Sitzung der Streamingda ten ist, die im Streamingdatensatz S2 enthalten sind, der durch den Cacheserver C verteilt wird, im Cacheserver A die Verteilung-gesperrt-Erkennungseinheit eine Benachrichtigung überträgt, die den Sitzungsidentifikator und den Paketidentifikator für alle Sitzungen der Streamingdaten anzeigt, die an die Cacheserver B und C verteilt werden, in dem sie eine Anfrage an die Sitzungsverwaltungseinheit macht, und die Benachrichtigung von den Cacheservern B und C erhält, den Tabellenabgrenzungswert F0 auf einen Wert setzt, der gleich oder größer als MAX ist, wenn keine Benachrichtigung vom Cacheserver B kommt, und den Tabellenabgrenzungswert F1 auf einen Wert setzt, der kleiner oder größer als MAX ist, wenn keine Benachrichtigung vom Cacheserver C kommt, und wenn die Zahl der Verteilungsströme die Maximalzahl von Verteilungsströme überschreitet, den Tabellenabgrenzungswert F1 auf einen Wert setzt, der kleiner als die Maximalzahl von Verteilungsströmen ist, wenn keine Benachrichtigung vom Cacheserver B kommt, und den Tabellenabgrenzungswert F0 auf einen Wert setzt, der kleiner als die Maximalzahl der Verteilungsströmen ist, wenn die Benachrichtigung vom Cacheserver C kommt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 13, worin jeder der Cacheserver (10x ) weiterhin eine Wiederherstellungserkennungseinheit (18x ) umfasst, die so betrieben werden kann, dass sie erkennt, das der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wieder hergestellt ist, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an den Cacheserver (10x ) liefert, der die Verteilung der Streamingdaten an das Endgerät (4y ) übernimmt, und die Datenverteilungseinheit (12a ) anweist, die Streaming daten zu verteilen, die den Streamingdaten folgen, die durch den Cacheserver (10x ) verteilt worden sind, und die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, die Verteilung der Streamingdaten zu stoppen, die dadurch anstelle des wiederhergestellten Cacheservers (10a ) verteilt wurden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 14, worin jeder der Cacheserver (10x ) weiterhin eine Wiederherstellungserkennungseinheit (18x ) umfasst, die so betrieben werden kann, dass sie erkennt, dass der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wiederhergestellt ist, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an den Cacheserver (10x ) liefert, der die Verteilung der Streamingdaten an das Endgerät (4y ) übernimmt, und die Datenverteilungseinheit (12a ) anweist, die Streamingdaten zu verteilen, die den Streamingdaten nachfolgen, die durch den Cacheserver (10x ) verteilt worden sind, und die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, die Verteilung der Streamingdaten zu stoppen, die dadurch anstelle des wiederhergestellten Cacheservers (10a ) verteilt worden sind. - Clusterservervorrichtung (
10 ) gemäß Anspruch 15, worin jeder der Cacheserver (10x ) weiterhin eine Verteilungswiederherstellungseinheit (18x ) umfasst, die so betrieben werden kann, dass sie entdeckt, das der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederherstellt ist, wenn der andere Cacheserver (10x ) wieder hergestellt ist, die Cachesteuereinheit (17a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12x ) des Cacheservers (10x ) liefert, der die Streamingdaten redundant speichert, und die Streamingdaten, die in der Streamingdatenspeichereinheit (15x ) des Cacheservers (10x ) gespeichert sind, der stattdessen die Streamingdaten an das Endgerät (4y ) verteilt hat, in die Streamingdatenspeichereinheit (15a ) des anderen wiederhergestellten Cacheservers (10a ) kopiert, nachdem die Cachesteuereinheit (17a ) die Kopie der Streamingdaten abgeschlossen hat, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederherstellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an den Cacheserver (10x ) liefert und die Datenverteilungseinheit (12a ) anweist, zu beginnen, ein Paket zu verteilen, das dem Paket nachfolgt, das durch den Paketidentifikator identifiziert wird, der als letztes übertragen wurde, in den Streamingdaten, die anstelle dessen durch den Cacheserver (10x ) verteilt wurden, und die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, die Verteilung der Streamingdaten zu stoppen, die dadurch anstelle des wiederhergestellten Cacheservers (10a ) verteilt wurden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 16, worin jeder der Cacheserver (10x ) weiterhin eine Verteilungswiederherstellungseinheit (18x ) umfasst, die dazu betrieben werden kann, zu erkennen, dass der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wiederhergestellt ist, die Cachesteuereinheit (17a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12x ) des Cacheservers (10x ) liefert, der die Streamingdaten redundant speichert, und die Streamingdaten, die in der Streamingdatenspeichereinheit (15x ) des Cacheservers (10x ) gespeichert sind, der anstelle dessen die Streamingdaten an das Endgerät (4y ) verteilt hat, in die Streamingdatenspeiche reinheit (15a ) des anderen wiederhergestellten Cacheservers (10a ) zu kopieren, nachdem die Cachesteuereinheit (17a ) die Kopie der Streamingdaten abgeschlossen hat, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an den Cacheserver (liefert und die Datenverteilungseinheit (12a ) anweist, anzufangen, ein Paket zu verteilen, das dem Paket nachfolgt, das durch den Paketidentifikator identifiziert wird, der als letztes in den Streamingdaten übertragen wurde, die anstelle dessen durch den Cacheserver (10x ) verteilt wurden, und die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, Verteilung der Streamingdaten zu stoppen, die dadurch anstelle des wiederhergestellten Cacheservers (10a ) verteilt wurden. - Clusterservervorrichtung (
10 ) gemäß Anspruch 23, worin jeder der Cacheserver (10x ) weiterhin eine Verteilungswiederherstellungseinheit (18x ) aufweist, die so betrieben werden kann, dass sie erkennt, das der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wiederhergestellt ist, die Cachesteuereinheit (17a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12x ) des Cacheservers (10x ) liefert, der die Streamingdaten redundant speichert, und die Streamingdaten, die in der Streamingdatenspeichereinheit (15x ) des Cacheservers (10x ) gespeichert sind, der die Streamingdaten an das Endgerät (4y ) anstelle dessen verteilt hat, in die Streamingdatenspeichereinheit (15a ) des anderen wiederhergestellten Cacheservers (10a ) kopiert, nachdem die Cachespeichereinheit (17a ) Kopieren der Streamingdaten abgeschlossen hat, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbe nachrichtigung an den Cacheserver (10x ) liefert und den Tabellenabgrenzungswert auf einen Wert zurücksetzt, bevor der Cacheserver (10a ) unfähig wird, Verteilung auszuführen, und die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) den Tabellenabgrenzungswert auf den Wert zurücksetzt bevor der Cacheserver (10a ) unfähig wird, Verteilung durchzuführen. - Clusterservervorrichtung (
10 ) gemäß Anspruch 24, worin jeder der Cacheserver (10x ) weiterhin eine Verteilungswiederherstellungseinheit (18x ) umfasst, die so betrieben werden kann, dass sie erkennt, das der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wieder hergestellt ist, die Cachesteuereinheit (17a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12x ) des Cacheserver (10x ) liefert, der die Streamingdaten redundant speichert, und die Streamingdaten, die in der Streamingdatenspeichereinheit (15x ) des Cacheservers (10x ) gespeichert sind, der stattdessen die Streamingdaten an das Endgerät (4y ) verteilt hat, in die Streamingdatenspeichereinheit (15a ) des anderen wiederhergestellten Cacheservers (10a ) kopiert, nachdem die Cachesteuereinheit (17a ) Kopieren der Streamingdaten abgeschlossen hat, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an den Cacheserver (10x ) liefert und den Tabellenabgrenzungswert auf einen Wert zurücksetzt, bevor der Cacheserver (10a ) unfähig wird, Verteilung auszuführen, und die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) den Tabellenabgrenzungswert auf den Wert bevor der Cacheserver (10a ) unfähig wird, Verteilung auszuführen, zurücksetzt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 27, worin wenn der Cacheserver (10x ) Verteilung von Streamingdaten ausführt, die die Maximalzahl von Verteilungsströmen wegen der Stromverteilung anstelle des anderen Cacheservers (10a ) überschreitet, der unfähig wird, Verteilung auszuführen, die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, die Verteilung der Streamingdaten, die dadurch anstelle des anderen wiederhergestellten Cacheservers (10a ) verteilt wurde zu stoppen und dann eine Wiederherstellungsbenachrichtigung an den noch weiteren Cacheserver (10b ) liefert und dann die Datenverteilungseinheit (12x ) anweist, zu starten, Streamingdaten zu verteilen, die den Streamingdaten nachfolgen, die durch den noch weiteren Cacheserver (10b ) verteilt worden sind, und die Wiederherstellungserkennungseinheit (18b ) des noch weiteren Cacheservers (10b ) die Datenverteilungseinheit (12b ) ihres eigenen anweist, aufzuhören, die Streamingdaten zu verteilen, die dadurch anstelle des anderen Cacheservers (10x ) verteilt worden sind, der die Wiederherstellungsbenachrichtigung lieferte. - Clusterservervorrichtung (
10 ) gemäß Anspruch 28, worin wenn der Cacheserver (10x ) Verteilung der Streamingdaten ausführt, die die Maximalzahl von Verteilungsströmen wegen der Stromverteilung anstelle des anderen Cacheservers (10a ) überschreiten, der unfähig wird, Verteilung durchzuführen, die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, die Verteilung der Streamingdaten, die dadurch anstelle des anderen wiederhergestellten Cacheservers (10a ) verteilt worden sind, zu stoppen und dann eine Wiederherstellungsbenachrichtigung an den noch weiteren Cacheserver (10b ) liefert und dann die Datenverteilungseinheit (12x ) anweist, zu beginnen, Streamingdaten zu verteilen, die den Streamingdaten nachfolgen, die durch den noch weiteren Cacheserver (10b ) verteilt worden sind, und die Wiederherstellungserkennungseinheit (18b ) des noch weiteren Cacheservers (10b ) die Datenverteilungseinheit (12b ) ihres eigenen anweist, aufzuhören, die Streamingdaten zu verteilen, die dadurch anstelle des Cacheservers (10x ) verteilt worden sind, der die Wiederherstellungsbenachrichtigung lieferte. - Clusterservervorrichtung (
10 ) gemäß Anspruch 29, worin wenn der Cacheserver (10x ) Verteilung der Streamingdaten ausführt, die die Maximalzahl von Verteilungsströmen wegen der Stromverteilung anstelle des anderen Cacheservers (10a ) überschreiten, der unfähig wird, Verteilung durchzuführen, die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, die Verteilung der Streamingdaten zu stoppen, die dadurch anstelle des anderen wiederhergestellten Cacheservers (10a ) verteilt worden sind, eine Wiederherstellungsbenachrichtigung an den noch weiteren Cacheserver (10b ) liefert und dann die Datenverteilungseinheit (12x ) anweist, zu beginnen, das Paket zu verteilen, das dem Paket nachfolgt, das durch den Paketidentifikator identifiziert wurde, der als letztes in den Streamingdaten übertragen wurde, die durch den noch weiteren Cacheserver (10b ) verteilt worden sind, und die Wiederherstellungserkennungseinheit (18b ) des noch weiteren Cacheservers (10b ) die Datenverteilungseinheit (12b ) ihres eigenen anweist, aufzuhören, die Streamingdaten zu verteilen, die dadurch verteilt worden sind, anstelle des Cacheservers (10x ), der die Wiederherstellungsbenachrichtigung lieferte. - Clusterservervorrichtung (
10 ) gemäß Anspruch 30, worin wenn der Cacheserver (10x ) die Verteilung von Streamingdaten ausführt, die die Maximalzahl von Verteilungsströmen wegen der Stromverteilung anstelle des anderen Cacheservers (10a ) überschreiten, der unfähig wird, Verteilung durchzuführen, die Wiederherstellungserkennungseinheit (18x ) des Cacheservers (10x ) die Datenverteilungseinheit (12x ) anweist, Verteilung der Streamingdaten zu stoppen, die dadurch anstelle des anderen wiederhergestellten Cacheservers (10a ) verteilt wurden, eine Wiederherstellungsbenachrichtigung an den noch weiteren Cacheserver (10b ) liefert und dann die Datenverteilungseinheit (12x ) anweist, zu beginnen, das Paket zu verteilen, das dem Paket nachfolgt, das durch den Paketidentifikator identifiziert wird, der als letztes in den Streamingdaten übertragen wurde, die durch den noch weiteren Cacheserver (10b ) verteilt worden sind, und die Wiederherstellungserkennungseinheit (18b ) des noch weiteren Cacheservers (10b ) die Datenverteilungseinheit (12b ) ihres eigenen anweist, aufzuhören, die Streamingdaten zu verteilen, die dadurch anstelle des Cacheservers (10x ) verteilt wurden, der die Wiederherstellungsbenachrichtigung lieferte. - Clusterservervorrichtung (
10 ) gemäß Anspruch 25, worin jeder der Cacheserver (10x ) weiterhin eine Verteilungswiederherstellungseinheit (18x ) umfasst, die so betrieben werden kann, dass sie erkennt, das der andere Cacheserver, der unfähig war, Verteilung auszuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wiederhergestellt ist, die Cachesteuereinheit (17a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12x ) des Cacheservers A (10x ) liefert, der die Streamingdaten redundant speichert, und die Streamingdaten, die in der Streamingdatenspeichereinheit (15x ) des Cacheservers A (10x ) gespeichert sind, der stattdessen die Streamingdaten an das Endgerät (4y ) verteilt hat, in die Streamingdatenspeichereinheit (15a ) des anderen wiederhergestellten Cacheservers (10a ) kopiert, nachdem die Cachesteuereinheit (17a ) die Kopie der Streamingdaten durch Liefern einer Wiederherstellungsbenachrichtigung abgeschlossen hat, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) den Tabellenabgrenzungswert auf einen Wert bevor der Cacheserver (10a ) unfähig wird, Verteilung durchzuführen, zurücksetzt, und nachdem der Tabellenabgrenzungswert des Cacheservers (10a ) auf den Wert gesetzt ist, die Wiederherstellungserkennungseinheit (18x ) des Cacheservers A (10x ) die Tabellenabgrenzungswerte F0 und F1 auf Werte bevor der Cacheserver (10a ) unfähig wird, Verteilung durchzuführen, zurücksetzt. - Clusterservervorrichtung (
10 ) gemäß Anspruch 26, worin jeder der Cacheserver (10x ) weiterhin eine Verteilungswiederherstellungseinheit (18x ) umfasst, die so betrieben werden kann, dass sie entdeckt, dass der andere Cacheserver, der unfähig war, Verteilung durchzuführen, wiederhergestellt ist, wenn der andere Cacheserver (10a ) wiederhergestellt ist, die Cachesteuereinheit (17a ) des anderen wiederhergestellten Cacheservers (10a ) eine Wiederherstellungsbenachrichtigung an die Datenverteilungseinheit (12x ) des Cacheservers A (10x ) liefert, der die Streamingdaten redundant speichert, und die Streamingdaten, die in der Streamingdatenspeichereinheit (15x ) des Cacheservers A (10x ) gespeichert sind, der stattdessen die Streamingdaten an das Endgerät (4y ) verteilt hat, in die Streamingdatenspeichereinheit (15a ) des anderen wiederhergestellten Cacheservers (10a ) kopiert, nachdem die Cachesteuereinheit (17a ) die Kopie der Streamingdaten durch Liefern einer Wiederherstellungsbenachrichtigung abgeschlossen hat, die Wiederherstellungserkennungseinheit (18a ) des anderen wiederhergestellten Cacheservers (10a ) den Tabellenabgrenzungswert auf einen Wert bevor der Cacheserver (10a ) unfähig wird, Verteilung durchzuführen, zurücksetzt, und nachdem der Tabellenabgrenzungswert des Cacheservers (10a ) auf den Wert gesetzt ist, die Wiederherstellungserkennungseinheit (18x ) des Cacheservers A (10x ) die Tabellenabgrenzungswerte F0 und F1 auf Werte bevor der Cacheserver (10a ) unfähig wird, Verteilung durchzuführen, zurücksetzt.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31831899 | 1999-11-09 | ||
JP31831899 | 1999-11-09 | ||
JP2000304433 | 2000-10-04 | ||
JP2000304433A JP3463803B2 (ja) | 1999-11-09 | 2000-10-04 | クラスタサーバ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60030397D1 DE60030397D1 (de) | 2006-10-12 |
DE60030397T2 true DE60030397T2 (de) | 2007-08-30 |
Family
ID=26569329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60030397T Expired - Lifetime DE60030397T2 (de) | 1999-11-09 | 2000-10-19 | Belastungsverteilung in einem Netzwerk |
Country Status (4)
Country | Link |
---|---|
US (1) | US6760765B1 (de) |
EP (1) | EP1107533B1 (de) |
JP (1) | JP3463803B2 (de) |
DE (1) | DE60030397T2 (de) |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3463803B2 (ja) * | 1999-11-09 | 2003-11-05 | 松下電器産業株式会社 | クラスタサーバ装置 |
US20040073617A1 (en) | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
US7062571B1 (en) * | 2000-06-30 | 2006-06-13 | Cisco Technology, Inc. | Efficient IP load-balancing traffic distribution using ternary CAMs |
US7185082B1 (en) * | 2000-08-09 | 2007-02-27 | Microsoft Corporation | Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics |
US7266613B1 (en) * | 2000-08-09 | 2007-09-04 | Microsoft Corporation | Fast dynamic measurement of bandwidth in a TCP network environment |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7113900B1 (en) * | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
EP1364510B1 (de) | 2000-10-26 | 2007-12-12 | Prismedia Networks, Inc. | Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten |
AU2002236435A1 (en) * | 2000-10-26 | 2002-05-21 | Prismedia Networks, Inc. | Method and apparatus for real-time parallel delivery of segments of a large payload file |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
US7127514B2 (en) * | 2000-12-28 | 2006-10-24 | Microsoft Corporation | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client |
FI20010552A0 (fi) * | 2001-03-19 | 2001-03-19 | Stonesoft Oy | Tilatietojen käsittely verkkoelementtiklusterissa |
US20030061305A1 (en) * | 2001-03-30 | 2003-03-27 | Chyron Corporation | System and method for enhancing streaming media delivery and reporting |
US20020143953A1 (en) * | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Automatic affinity within networks performing workload balancing |
US20020143965A1 (en) * | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Server application initiated affinity within networks performing workload balancing |
US7975042B2 (en) * | 2001-05-01 | 2011-07-05 | International Business Machines Corporation | Method for adapting an internet web server to short-term changes in demand |
US7209968B1 (en) * | 2001-05-29 | 2007-04-24 | Agilent Technologies, Inc. | System and method for recovering management of network element(s) responsive to failure of a distributed gateway |
CA2349086C (en) * | 2001-05-30 | 2011-02-01 | Ibm Canada Limited-Ibm Canada Limitee | Selection and configuration of servers |
US7054911B1 (en) | 2001-06-12 | 2006-05-30 | Network Appliance, Inc. | Streaming media bitrate switching methods and apparatus |
US7945688B1 (en) | 2001-06-12 | 2011-05-17 | Netapp, Inc. | Methods and apparatus for reducing streaming media data traffic bursts |
US6813690B1 (en) | 2001-06-12 | 2004-11-02 | Network Appliance, Inc. | Caching media data using content-sensitive identifiers |
US6742082B1 (en) * | 2001-06-12 | 2004-05-25 | Network Appliance | Pre-computing streaming media payload method and apparatus |
US7076560B1 (en) | 2001-06-12 | 2006-07-11 | Network Appliance, Inc. | Methods and apparatus for storing and serving streaming media data |
US6792449B2 (en) * | 2001-06-28 | 2004-09-14 | Microsoft Corporation | Startup methods and apparatuses for use in streaming content |
US7274659B2 (en) * | 2001-07-27 | 2007-09-25 | Western Digital Ventures, Inc. | Providing streaming media data |
JP2003060638A (ja) | 2001-08-15 | 2003-02-28 | Sony Corp | コンテンツ提供装置及びコンテンツ提供方法 |
JP2003069639A (ja) * | 2001-08-27 | 2003-03-07 | Nec Corp | xDSL収容装置、マルチキャスト配信システム及びデータ配信方法 |
KR20010088742A (ko) * | 2001-08-28 | 2001-09-28 | 문의선 | 분산처리 및 피어 대 피어 통신을 이용한 네트워크 상의정보전송 병렬화 방법 |
US7277945B1 (en) * | 2001-09-12 | 2007-10-02 | Cisco Technology, Inc. | System and method for maintaining seamless session operation |
JP2003122658A (ja) * | 2001-10-11 | 2003-04-25 | Hitachi Ltd | データ配送方法 |
US20030088659A1 (en) * | 2001-11-08 | 2003-05-08 | Susarla Hanumantha Rao | System and method for distributed state management |
JP2003153229A (ja) * | 2001-11-15 | 2003-05-23 | Mitsubishi Electric Corp | データ通信装置及びデータ通信方法 |
JP2003228534A (ja) * | 2001-11-30 | 2003-08-15 | Ntt Docomo Inc | 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法 |
US7150042B2 (en) * | 2001-12-06 | 2006-12-12 | Mcafee, Inc. | Techniques for performing malware scanning of files stored within a file storage device of a computer network |
US7093002B2 (en) * | 2001-12-06 | 2006-08-15 | Mcafee, Inc. | Handling of malware scanning of files stored within a file storage device of a computer network |
US7386627B1 (en) * | 2002-01-29 | 2008-06-10 | Network Appliance, Inc. | Methods and apparatus for precomputing checksums for streaming media |
US7412531B1 (en) | 2002-01-29 | 2008-08-12 | Blue Coat Systems, Inc. | Live stream archiving method and apparatus |
WO2003069480A1 (fr) * | 2002-02-14 | 2003-08-21 | Fujitsu Limited | Programme et procede de controle de stockage de donnees |
US7320035B2 (en) * | 2002-03-01 | 2008-01-15 | Sun Microsystems, Inc. | Object mutation determination for incremental state saves |
US7240058B2 (en) | 2002-03-01 | 2007-07-03 | Sun Microsystems, Inc. | Lock mechanism for a distributed data system |
US7788346B2 (en) * | 2002-03-01 | 2010-08-31 | Oracle America, Inc. | System and method for state data back-up in a distributed data system |
US7370329B2 (en) * | 2002-03-01 | 2008-05-06 | Sun Microsystems, Inc. | System and method for state saves in a distributed data system |
US7085852B2 (en) * | 2002-03-01 | 2006-08-01 | Sun Microsystems, Inc. | Deterministic immutable access elimination for efficient distributed state saves |
JP4039086B2 (ja) * | 2002-03-05 | 2008-01-30 | ソニー株式会社 | 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム |
US7657644B1 (en) | 2002-05-10 | 2010-02-02 | Netapp, Inc. | Methods and apparatus for streaming media multicast |
US7725557B2 (en) * | 2002-06-24 | 2010-05-25 | Microsoft Corporation | Client-side caching of streaming media content |
JP4244572B2 (ja) | 2002-07-04 | 2009-03-25 | ソニー株式会社 | キャッシュ装置、およびキャッシュデータ管理方法、並びにコンピュータ・プログラム |
US7120751B1 (en) | 2002-08-09 | 2006-10-10 | Networks Appliance, Inc. | Dynamic streaming buffer cache algorithm selection |
EP1535469A4 (de) * | 2002-08-30 | 2010-02-03 | Wink Communications Inc | Karussell-proxy |
US7650421B2 (en) * | 2002-12-30 | 2010-01-19 | Microsoft Corporation | Adaptable accelerated content streaming |
WO2004063840A2 (en) * | 2003-01-09 | 2004-07-29 | Bandwiz, Inc. | Content delivery system |
US7991905B1 (en) | 2003-02-12 | 2011-08-02 | Netapp, Inc. | Adaptively selecting timeouts for streaming media |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7689676B2 (en) | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US20040268400A1 (en) * | 2003-06-26 | 2004-12-30 | Microsoft Corporation | Quick starting video content |
US7054774B2 (en) * | 2003-06-27 | 2006-05-30 | Microsoft Corporation | Midstream determination of varying bandwidth availability |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US7391717B2 (en) * | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Streaming of variable bit rate multimedia content |
JP4338075B2 (ja) * | 2003-07-22 | 2009-09-30 | 株式会社日立製作所 | 記憶装置システム |
US8655755B2 (en) * | 2003-10-22 | 2014-02-18 | Scottrade, Inc. | System and method for the automated brokerage of financial instruments |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US7162533B2 (en) * | 2004-04-30 | 2007-01-09 | Microsoft Corporation | Session description message extensions |
US20050246529A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US7454463B2 (en) * | 2004-06-01 | 2008-11-18 | International Business Machines Corporation | Method and system for downloading software products with reduced transmission time |
US7895264B2 (en) * | 2004-07-15 | 2011-02-22 | Yhc Corporation | Storage cluster server network |
US7752325B1 (en) | 2004-10-26 | 2010-07-06 | Netapp, Inc. | Method and apparatus to efficiently transmit streaming media |
US8832706B2 (en) * | 2006-12-22 | 2014-09-09 | Commvault Systems, Inc. | Systems and methods of data storage management, such as dynamic data stream allocation |
US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US7496678B2 (en) * | 2005-05-11 | 2009-02-24 | Netapp, Inc. | Method and system for unified caching of media content |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US8904456B2 (en) | 2006-02-13 | 2014-12-02 | Tvu Networks Corporation | Methods, apparatus, and systems for providing media content over a communications network |
JP4981412B2 (ja) * | 2006-11-02 | 2012-07-18 | 日本放送協会 | ファイル転送システムおよびその方法、管理装置ならびにサーバ |
JP4966738B2 (ja) * | 2007-05-22 | 2012-07-04 | 日本放送協会 | 選択送信装置 |
US20090150548A1 (en) * | 2007-11-13 | 2009-06-11 | Microsoft Corporation | Management of network-based services and servers within a server cluster |
US8301776B2 (en) * | 2007-11-19 | 2012-10-30 | Arris Solutions, Inc. | Switched stream server architecture |
JP5169178B2 (ja) * | 2007-11-29 | 2013-03-27 | ソニー株式会社 | 配信サーバおよび配信サーバにおけるコンテンツ配信方法 |
JP5169259B2 (ja) * | 2008-01-31 | 2013-03-27 | 富士通株式会社 | サーバ装置切り替えプログラム、サーバ装置及びサーバ装置切り替え方法 |
CN101355476B (zh) * | 2008-05-23 | 2011-05-11 | 林云帆 | 一种基于服务器群集的数据文件存储、分发和应用的系统和方法 |
JP5153685B2 (ja) * | 2009-03-04 | 2013-02-27 | 株式会社日立製作所 | コンテンツ配信システムおよび配信制御サーバ |
JPWO2010116676A1 (ja) * | 2009-03-30 | 2012-10-18 | 日本電気株式会社 | サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム |
JP5417944B2 (ja) * | 2009-04-02 | 2014-02-19 | ソニー株式会社 | 配信サーバ、配信サーバにおけるコンテンツ配信方法、コンテンツ配信システムおよびコンテンツ配信方法 |
JP5593732B2 (ja) * | 2010-02-24 | 2014-09-24 | 沖電気工業株式会社 | 分散型コンテンツ配信システム及び方法、並びに、配信サーバ決定装置及び方法 |
JP5556498B2 (ja) * | 2010-08-17 | 2014-07-23 | 富士通株式会社 | 管理装置,ファイルサーバシステム,処理方法及び管理プログラム |
JP5168333B2 (ja) * | 2010-09-27 | 2013-03-21 | ブラザー工業株式会社 | P2p端末及びコンテンツ配信システム |
EP2759115A4 (de) * | 2011-09-23 | 2015-05-20 | Ericsson Telefon Ab L M | Cachespeicherung in einem telekommunikationsnetz |
WO2013094157A1 (ja) * | 2011-12-19 | 2013-06-27 | 日本電気株式会社 | キャッシュ装置、通信方法、およびプログラム |
WO2013128840A1 (ja) * | 2012-02-28 | 2013-09-06 | 日本電気株式会社 | トラヒック制御装置、トラヒック制御システム、トラヒック制御方法、およびトラヒック制御プログラム |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US9639297B2 (en) | 2012-03-30 | 2017-05-02 | Commvault Systems, Inc | Shared network-available storage that permits concurrent data access |
US9584617B2 (en) | 2013-12-31 | 2017-02-28 | Successfactors, Inc. | Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data |
US10325032B2 (en) | 2014-02-19 | 2019-06-18 | Snowflake Inc. | Resource provisioning systems and methods |
US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
CN104301741B (zh) * | 2014-09-26 | 2018-06-22 | 北京奇艺世纪科技有限公司 | 一种数据直播系统和方法 |
US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
JP6251203B2 (ja) * | 2015-02-02 | 2017-12-20 | 日本電信電話株式会社 | ストリーミングデータ配信システム、及び、ストリーミングデータ配信方法 |
US10313243B2 (en) | 2015-02-24 | 2019-06-04 | Commvault Systems, Inc. | Intelligent local management of data stream throttling in secondary-copy operations |
US9813568B2 (en) | 2015-09-24 | 2017-11-07 | Fuji Xerox Co., Ltd. | Image processing apparatus and non-transitory computer readable medium for more uniformly distributing documents |
US10469611B2 (en) * | 2016-05-03 | 2019-11-05 | Microsoft Technology Licensing, Llc | Reduced page load time utilizing cache storage |
CN110543588A (zh) * | 2019-08-27 | 2019-12-06 | 中国科学院软件研究所 | 一种面向大规模流数据的分布式聚类方法及系统 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5511208A (en) | 1993-03-23 | 1996-04-23 | International Business Machines Corporation | Locating resources in computer networks having cache server nodes |
JPH0855072A (ja) * | 1994-08-12 | 1996-02-27 | Matsushita Electric Ind Co Ltd | ネットワークシステムとデータ処理システムとデータ蓄積方法 |
JPH08115306A (ja) * | 1994-10-13 | 1996-05-07 | Matsushita Electric Ind Co Ltd | データ転送制御方法 |
US5687347A (en) * | 1994-09-19 | 1997-11-11 | Matsushita Electric Industrial Co., Ltd. | Data providing device, file server device, and data transfer control method |
JPH08263351A (ja) | 1995-03-24 | 1996-10-11 | N T T Data Tsushin Kk | リカバリ処理方式及び方法 |
US6047309A (en) | 1995-10-02 | 2000-04-04 | International Business Machines Corporation | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics |
US6061504A (en) * | 1995-10-27 | 2000-05-09 | Emc Corporation | Video file server using an integrated cached disk array and stream server computers |
JPH09179820A (ja) * | 1995-12-26 | 1997-07-11 | Mitsubishi Electric Corp | 負荷分散方式及び方法 |
JP3190813B2 (ja) * | 1996-02-15 | 2001-07-23 | 日本電気株式会社 | 配信システム |
US6425130B2 (en) * | 1996-06-25 | 2002-07-23 | Matsushita Electric Industrial Co., Ltd. | Video network server for distributing sound and video image information to a plurality of terminals |
JP3481054B2 (ja) * | 1996-07-04 | 2003-12-22 | シャープ株式会社 | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム |
US5991306A (en) * | 1996-08-26 | 1999-11-23 | Microsoft Corporation | Pull based, intelligent caching system and method for delivering data over a network |
JPH1093552A (ja) * | 1996-09-11 | 1998-04-10 | Nippon Telegr & Teleph Corp <Ntt> | 共通識別子を持つ複数ホストとの通信接続方法 |
US6396805B2 (en) * | 1997-03-25 | 2002-05-28 | Intel Corporation | System for recovering from disruption of a data transfer |
JPH1125059A (ja) * | 1997-07-04 | 1999-01-29 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークライブラリ運用方法及びシステム及びネットワークライブラリ運用プログラムを格納した記憶媒体 |
US6128279A (en) * | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
JPH11224219A (ja) * | 1998-02-05 | 1999-08-17 | Nippon Telegr & Teleph Corp <Ntt> | 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体 |
JPH11249977A (ja) * | 1998-03-03 | 1999-09-17 | Mitsubishi Electric Corp | データ転送ネットワークシステム |
US6205481B1 (en) * | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6311216B1 (en) * | 1998-05-29 | 2001-10-30 | Microsoft Corporation | Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS |
US6324580B1 (en) * | 1998-09-03 | 2001-11-27 | Sun Microsystems, Inc. | Load balancing for replicated services |
US6438652B1 (en) | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
US6490615B1 (en) * | 1998-11-20 | 2002-12-03 | International Business Machines Corporation | Scalable cache |
US6370620B1 (en) * | 1998-12-10 | 2002-04-09 | International Business Machines Corporation | Web object caching and apparatus for performing the same |
US6389462B1 (en) * | 1998-12-16 | 2002-05-14 | Lucent Technologies Inc. | Method and apparatus for transparently directing requests for web objects to proxy caches |
US6463508B1 (en) * | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
JP3463803B2 (ja) * | 1999-11-09 | 2003-11-05 | 松下電器産業株式会社 | クラスタサーバ装置 |
-
2000
- 2000-10-04 JP JP2000304433A patent/JP3463803B2/ja not_active Expired - Fee Related
- 2000-10-19 DE DE60030397T patent/DE60030397T2/de not_active Expired - Lifetime
- 2000-10-19 EP EP00122262A patent/EP1107533B1/de not_active Expired - Lifetime
- 2000-10-20 US US09/692,545 patent/US6760765B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP3463803B2 (ja) | 2003-11-05 |
US6760765B1 (en) | 2004-07-06 |
JP2001202330A (ja) | 2001-07-27 |
EP1107533A2 (de) | 2001-06-13 |
DE60030397D1 (de) | 2006-10-12 |
EP1107533B1 (de) | 2006-08-30 |
EP1107533A3 (de) | 2004-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60030397T2 (de) | Belastungsverteilung in einem Netzwerk | |
DE69801418T2 (de) | Datenaufteilung und -dupliziering in einem verteilten datenverarbeitungssystem | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE69923621T2 (de) | Verfahren und Vorrichtung zu korrekten und vollständigen Übertragungen in einem fehlertoleranten verteilten Datenbanksystem | |
DE69506155T2 (de) | Asynchrones Datenfernkopieren | |
DE60207251T2 (de) | Verfahren zur sicherstellung des betriebs eines gruppierten nachrichtenvergebenden servers während knotenausfällen und netzwerkzuteilungen | |
DE60302876T2 (de) | Master-knotenauswahl in geclusterten knotenkonfigurationen | |
DE69632424T2 (de) | Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe | |
DE69327679T2 (de) | Nachrichtenübertragung zwischen Prozessoren und einer Koppeleinrichtung | |
DE69811148T2 (de) | Mitgliedschaft in einem unzuverlässigen verteilten Rechnersystem | |
DE3687400T2 (de) | Digitale nachrichtenuebertragungsnetzwerke und aufbau von uebertragungswegen in diesen netzwerken. | |
DE69127883T2 (de) | System zur Datenintegritätsgewährleistung | |
DE68925447T2 (de) | Steuerungsverfahren für verteiltes Verarbeitungssystem | |
DE69032673T2 (de) | Verfahren und Vorrichtung zur dynamischen Verwaltung der Eingabe-/Ausgabeverbindungsmöglichkteiten | |
DE69636663T2 (de) | System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen | |
DE69332185T2 (de) | Bildung und Aufrechterhaltung von Zugriffsgruppen an der Lan/Wan Schnittstelle | |
DE3685609T2 (de) | Kommunikationsverfahren fuer multiprozessor. | |
DE102020113347A1 (de) | Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten | |
DE19983497B4 (de) | Fernübertragungsverfahren zwischen Dateieinheiten | |
DE69407185T2 (de) | Eine integrierte Produktionsumgebung mit PROGRAMM-ZU-PROGRAMM- KOMMUNIKATIONS-SERVER und zugehöriges Verfahren | |
DE60028793T2 (de) | Skalierbarer dateiserver mit hochverfügbaren paaren | |
DE69613517T2 (de) | Verteilte Parallelprozessorvorrichtung für Datensortierung nach dem Eimerprinzip | |
DE69327017T2 (de) | Verfahren und Vorrichtung zur Bildung und Steuerung eines Mehrempfängerübertragungsbaums | |
DE10123067A1 (de) | Synchrone Vervielfältigung von Transaktionen in einem verteilten System | |
DE69935691T2 (de) | Nachrichtenverteilungsvorrichtungs-Auswahlsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: PANASONIC CORP., KADOMA, OSAKA, JP |