DE60030397T2 - Belastungsverteilung in einem Netzwerk - Google Patents

Belastungsverteilung in einem Netzwerk Download PDF

Info

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
Application number
DE60030397T
Other languages
English (en)
Other versions
DE60030397D1 (de
Inventor
Rieko Hirakata-shi Asai
Takeshi Kanzaki-gun Omura
Masaki Hirakata-shi Horiuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE60030397D1 publication Critical patent/DE60030397D1/de
Application granted granted Critical
Publication of DE60030397T2 publication Critical patent/DE60030397T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • 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äte 401 bis 40m (m ist eine ganze Zahl nicht kleiner als 2) und eine Clusterservervorrichtung 200 miteinander über ein Netzwerk 501 verbunden. Die Clusterservervorrichtung 200 gliedert sich in n Cacheserver 201 bis 20n (n ist eine ganze Zahl nicht kleiner als 2) und einen Inhalteserver 300. Die Cacheserver 201 bis 20n sind jeweils mit dem Inhalteserver 300 über ein internes Netzwerk 503 verbunden.
  • Die Cacheserver 201 bis 20n umfassen Empfänger 211 bis 21n , Caches 221 bis 22n bzw. Verteilungseinheiten 231 bis 23n . Der Inhalteserver 300 umfasst eine Streamingdatenspeichereinheit 301, eine Leseeinheit 302, einen Cache 303 und eine Verteilungseinheit 304. Streamingdaten werden in der Streamingdatenspeichereinheit 301 per Blockeinheit gespeichert.
  • Man nehme jetzt an, dass das Endgerät 401 beim Inhalteserver 300 nach bestimmten Streamingdaten anfragt. In Antwort auf diese Anfrage gibt im Inhalteserver 300 die Leseeinheit 302 eine Leseanfrage nach Streamingdaten an die Streamingdatenspeichereinheit 301 aus. Die gelesenen Streamingdaten werden im Cache 303 zwischengespeichert. Die Verteilungseinheit 304 sendet die im Cache 303 zwischengespeicherten Streamingdaten an den Cacheserver 201 . Im Cacheserver 201 empfängt der Empfänger 211 die Streamingdaten, die vom Inhalteserver 300 gesendet wurden. Die empfangenen Streamingdaten werden im Cache 221 zwischengespeichert. Die Verteilungseinheit 231 sendet die im Cache 221 zwischengespeicherten Streamingdaten an das Endgerät 401 .
  • Wenn als nächstes das Endgerät 402 beim Inhalteserver 300 bestimmte Streamingdaten anfragt, verwendet die Clusterservervorrichtung 200 den Cacheserver 202 , und wenn es das Endgerät 403 tut, verwendet sie den Cacheserver 203 . Auf diese Weise verwendet die Clusterservervorrichtung 200 die Cacheserver in Rotation, wenn sie Anfragen empfängt.
  • Wie oben gesagt wurde, sind in den herkömmlichen Clusterservervorrichtungen 200 die Cacheserver 201 bis 20n parallel für zyklische Verwendung bei der Behandlung von Anfragen strukturiert. Mit dieser Struktur wird die Anzahl an Endgeräten 401 bis 40m 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äten 401 bis 40m jedoch an die Cacheserver 201 bis 20n 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 Cacheservern 201 bis 20n 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 und 3 sind ein Flussdiagramm zum Erklären der Operation des Verteilens von Streamingdaten, die von einer Clusterservervorrichtung 10 gemäß der Ausführungsform der vorliegenden Erfindung durchgeführt wird;
  • 4 ist ein Diagramm, das ein Beispiel von Informationen zeigt, die durch eine Streamingdaten-Managementeinheit 14x gespeichert werden;
  • 5 ist ein Diagramm, das ein Beispiel von Verteilungsinformationen zeigt, die durch Datenverteilungseinheiten 121 bis 12n versendet werden;
  • 6 ist ein Diagramm, das ein Beispiel von Informationen zur Bestimmungsoperation durch eine Clustersteuereinheit 21 zeigt;
  • 7 ist ein Diagramm, das ein Beispiel der Struktur von Streamingdaten zeigt, die in einer Streamingdatenspeichereinheit 15x gehalten werden;
  • 8 ist ein Diagramm, das ein Beispiel eines Zustands von Streamingdaten zeigt, die in Streamingdatenspeichereinheiten 151 bis 154 in Cacheservern 101 bis 104 gehalten werden;
  • 9 ist ein Diagramm, das ein Beispiel eines Zustands von Streamingdaten zeigt, die in Sitzungsverwaltungseinheiten 111 bis 114 in den Cacheservern 101 bis 104 gespeichert sind;
  • 10 ein Diagramm, das Sitzungsverwaltungstabellen 532 und 533 , die in 9 dargestellt sind, im Detail zeigt;
  • 11 ist ein Diagramm, das eine Kommunikationsbeziehung zwischen den Verteilung-Gesperrt-Erkennungseinheiten 131 bis 134 in den Cacheservern 101 bis 104 zeigt;
  • 12 ist ein Diagramm, das die Inhalte zeigt, die zwischen den Verteilung-Gesperrt-Erkennungseinheiten 131 und 132 , die in 11 dargestellt sind, zu kommunizieren sind;
  • 13 ist ein Diagramm, das die Operation der Verteilung-Gesperrt-Erkennungseinheit 132 des Cacheservers 102 zeigt, wenn der Cacheserver 101 unfähig wird, Verteilung auszuführen;
  • 14 ist ein Diagramm, das die Operation der Verteilung-Gesperrt-Erkennungseinheit 132 des Cacheservers 102 zeigt, wenn ein Teil der Stromverteilung vom Cacheserver 101 überläuft;
  • 15 ist ein Diagramm, das die Operation einer Wiederherstellungserkennungseinheit 181 und der Verteilung-Gesperrt-Erkennungseinheit 131 zeigt, wenn der Cacheserver 101 , der nicht in der Lage war, Verteilung auszuführen, wiederhergestellt ist;
  • 16 ist ein Diagramm, das einen Zustand von Sitzungsverwaltungstabellen 531 bis 538 und Tabellenabgrenzungswerte 541 bis 548 zeigt, wenn vier Cacheserver 101 bis 104 Verteilung ausführen;
  • 17 ist ein Diagramm, das einen Zustand der Sitzungsverwaltungstabellen 531 bis 538 und der Tabellenabgrenzungswerte 541 bis 548 zeigt, wenn der Cacheserver 101 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äte 41 bis 4m (m ist eine ganze Zahl nicht kleiner als 2) und eine Clusterservervorrichtung 10 miteinander über ein Netzwerk 51 verbunden. Die Clusterservervorrichtung 10 umfasst einen Lastverteilungsserver 20, n Cacheserver 101 bis 10n (n ist eine ganze Zahl nicht kleiner als 2) und einen Inhalteserver 30. Diese Cacheserver 101 bis 10n werden jeweils mit dem Lastverteilungsserver 20 über ein internes Netzwerk 52 verbunden, und mit dem Inhalteserver 30 über ein internes Netzwerk 53.
  • Die Cacheserver 101 bis 10n enthalten jeweils Sitzungsverwaltungseinheiten 111 bis 11n , Datenverteilungseinheiten 121 bis 12n , Verteilung-Gesperrt-Erkennungseinheiten 131 bis 13n , Streamingdatenverwaltungseinheiten 141 bis 14n , Streamingdatenspeichereinheiten 151 bis 15n , Anfrageübertragungseinheiten 161 bis 16n , Cachesteuereinheiten 171 bis 17n und Wiederherstellungserkennungs einheiten 181 bis 18n . Der Inhalteserver 30 umfasst eine Streamingdatenspeichereinheit 31, eine Leseeinheit 32, einen Cache 33 und eine Verteilungseinheit 34. Der Lastverteilungsserver 20 wird durch eine Clustersteuereinheit 21 strukturiert.
  • Man bemerke, dass, wie in 1 gezeigt, die Cacheserver 101 bis 10n gleichermaßen strukturiert sind. Daher wird hier zum Zweck der Beschreibung eines Prozesses, der durch irgendeinen der Cacheserver 101 bis 10n ausgeführt werden kann, angenommen, dass ein Cacheserver 10x (x ist irgendeine Zahl aus 1 bis n) diesen Prozess durchführt. Komponenten, die im Cacheserver 10x 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 bis 4m empfängt, überträgt die Clustersteuereinheit 21 diese Anfragen an die Cacheserver 101 bis 10n auf eine Weise, die später beschrieben wird, um die Last darauf zu verteilen, auf der Grundlage der Informationen von den Sitzungsverwaltungseinheiten 111 bis 11n und den Streamingdatenverwaltungseinheiten 141 bis 14n . Der Clustersteuereinheit 21 werden auch die Streamingdaten geliefert, die von den Cacheservern 101 bis 10n ausgegeben werden, und sie verteilt sie an die entsprechenden Endgeräte 41 bis 4m .
  • Im Cacheserver 10x verwaltet die Sitzungsverwaltungseinheit 11x den Zustand der Streamingdatenverteilung, die durch den Cacheserver 10x durchgeführt wird. Die Datenverteilungseinheit 12x gibt die Streamingdaten an die Clustersteuereinheit 21 auf der Grundlage einer Anweisung von der Anfrageübertragungseinheit 16x aus. Die Verteilung-Gesperrt-Erkennungseinheit 13x erkennt, dass der Cacheserver 10x-1 oder 10x+1 , der vor oder nach dem Cacheserver 10x 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 Wiederherstellungserkennungseinheit 18x erkennt, dass der benachbarte Cacheserver 10x-1 oder 10x+1 sich vom Zustand Verteilung-Gesperrt erholt hat. Die Streamingdatenspeichereinheit 15x ist als RAM (Random Access Memory) implementiert, um vorübergehend die Streamingdaten zu speichern, die aus dem Inhalteserver 30 gesendet werden. Die Streamingdatenverwaltungseinheit 14x hält Informationen über die Streamingdaten, die in der Streamingdatenspeichereinheit 15x gespeichert sind. Die Anfrageübertragungseinheit 16x bestimmt, ob die Streamingdaten, nach denen durch die Clustersteuereinheit 21 angefragt wird, in der Streamingdatenspeichereinheit 15x gespeichert sind oder nicht. Wenn die Streamingdaten gespeichert sind, weist die Anfrageübertragungseinheit 16x die Datenverteilungseinheit 12x an, der Clustersteuereinheit 21 die Streamingdaten zur Verfügung zu stellen, die in der Streamingdatenspeichereinheit 15x gespeichert sind. Wenn die Streamingdaten nicht gespeichert sind, weist die Anfrageübertragungseinheit 16x die Datenverteilung 12x an, der Clustersteuereinheit 21 die Streamingdaten zur Verfügung zu stellen, die durch die Cachesteuereinheit 17x vom Inhalteserver 30 erhalten wurden. Die Cachesteuereinheit 17x liefert an den Inhalteserver 30 die Anfrage von der Anfrageübertragungseinheit 16x . Die Cachesteuereinheit 17x steuert, dass die Streamingdaten, die vom Inhalteserver 30 gesendet wurden, auf Anfrage in der Streamingdatenspeichereinheit 15x+1 des Cacheservers 10x+1 gespeichert werden, der im Systemmanagement nach dem Cacheserver 10x kommt.
  • Im Inhalteserver 30 ist die Streamingdatenspeichereinheit 31 z.B. als eine Festplatte mit großer Kapazität implementiert, die Streamingdaten per Blockeinheit speichert. Die Leseeinheit 32 liest die Streamingdaten von der Streamingdatenspeichereinheit 31 auf der Grundlage einer Anweisung von der Verteilungseinheit 34. Der Cache 33 zwischenspeichert die Streamingdaten, die durch die Leseeinheit 31 gelesen wurden. Die Verteilungseinheit 34 steuert die Leseeinheit 32 auf der Grundlage von Anfragen, die von den Cacheservern 101 bis 10n gesendet wurden, und versendet die im Cache 33 zwischengespeicherten Streamingdaten über die Cacheserver 101 bis 10n .
  • Mit solch einer Struktur kann die Clusterservervorrichtung 10 gemäß der vorliegenden Ausführungsform Streamingdaten mit optimaler Lastverteilung an die Cacheserver verteilen. Weiterhin kann die Clusterservervorrichtung 10, 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 Clusterservervorrichtung 10 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 und 3 Bezug genommen wird.
  • Die 2 und 3 sind ein Flussdiagramm zum Erklären der Operation des Verteilens von Streamingdaten, die durch die Clusterservervorrichtung 10 gemäß der Ausführungsform der vorliegenden Erfindung durchgeführt wird. Man beachte, dass hier angenommen wird, dass ähnlich der Systemumgebung, die in 1 gezeigt wird, die Clusterservervorrichtung 10 durch n Cacheserver 101 bis 10n strukturiert wird und Datenverteilung unter den m Endgeräten 41 bis 4m ausführt.
  • Mit Bezug auf 2 wird eine Anfrage nach Streamingdaten von einem Endgerät 4y (y ist aus der Menge 1 bis m) durch die Clustersteuereinheit 21 empfangen (Schritt S101). Bei Erhalt der Anfrage fragt die Clustersteuereinheit 21 jeden der Cacheserver 101 bis 10n nach der Anzahl von Strömen, die momentan verteilt werden, und ob die angeforderten Streamingdaten in irgendeiner der Streamingdatenspeichereinheiten 151 bis 15n gespeichert sind oder nicht (Schritt S102). In Antwort auf diese Nachfrage liefert jeder der Cacheserver 101 bis 10n der Clustersteuereinheit 21 die Anzahl von Strömen, die momentan durch ihn selbst übertragen werden, auf der Grundlage von Informationen in den Sitzungsverwaltungseinheiten 111 bis 11n , und ob die Streamingdaten gespeichert sind oder nicht, auf der Grundlage der Informationen in den Streamingdatenverwaltungseinheiten 141 bis 14n .
  • Jede der Streamingdatenverwaltungseinheiten 141 bis 14n hält Informationen, wie sie z.B. in 4 gezeigt sind. In 4 hält die Streamingdatenverwaltungseinheit 14x eine Nummer oder einen Namen von Streamingdaten, den Speicherort in der Streamingdatenspeichereinheit 15x und die Zeit des vorherigen Zugriffs. Mit solchen Informationen kann der Cacheserver 10x erkennen, welche Streamingdaten an welchem Ort der Streamingdatenspeichereinheit 15x gespeichert sind.
  • Als nächstes erkennt die Clustersteuereinheit 21 auf der Grundlage der Antworten von all den Cacheservern 101 bis 10n , ob die angeforderten Streamingdaten in irgendeiner der Streamingdatenspeichereinheiten 151 bis 15n der Cacheserver 101 bis 10n gespeichert sind oder nicht (Schritt S103).
  • Weiterhin Bezug nehmend auf 2 wird der Fall beschrieben, in dem die Clustersteuereinheit 21 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 Clusterservervorrichtung 10.
  • Wenn NEIN in Schritt S103, wählt die Clustersteuereinheit 21 einen Cacheserver 10k (k ist aus der Menge 1 bis n) mit der kleinsten Anzahl von Strömen, die momentan verteilt werden, aus allen Cacheservern 101 bis 10n (Schritt S104).
  • Die Clustersteuereinheit 21 bestimmt dann, ob die Anzahl von Strömen, die momentan durch den ausgewählten Cacheserver 10k 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ät 4y an den ausgewählten Cacheserver 10k (Schritt S106). Man beachte, dass eine Lastzustandsverwaltungseinheit vorgesehen werden kann, zum Halten der Verteilungszustände, die durch Kommunikation zwischen der Sitzungsverwaltungseinheit 11k und aller Cacheserver 101 bis 10n mit regelmäßigen Abständen erhalten wird. In diesem Fall wählt die Lastzustandverwaltungseinheit den Cacheserver 10k aus, um die Anfrage vom Endgerät 4y 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 Cacheserver 10x eine Anfrage an den Inhalteserver 30, weil die beantragten Streamingdaten nicht in der Streamingdatenspeichereinheit 15k gespeichert sind. Hier sendet die Cachesteuereinheit 17k die Anfrage als auch diejenige von der Cachesteuereinheit 17k+1 des Cacheservers 10k+1 der im Systemmanagement vor dem Cacheserver 10k kommt (Schritt S107).
  • Bei Erhalt der Anfrage vom Cacheserver 10k liest der Inhalteserver 30 die Streamingdaten von der Streamingdatenspeichereinheit 31 und sendet sie an die Cacheserver 10k und 10k+1 (Schritt S108).
  • Wenn er die Streamingdaten empfängt, speichert der Cacheserver 10k die Streamingdaten in der Streamingdatenspeichereinheit 15k und aktualisiert auch die Informationen in der Streamingdatenverwaltungseinheit 14k . Man beachte, dass, wenn die Cachesteuereinheit 17k in Schritt S107 eine Anfrage mit ihrer Absenderadresse in eine Multicastadresse für Eins-zu-Viele-Kommunikation geändert sendet, der Cacheserver 10k steuert, dass die Streamingdaten zu der Multicastadresse, die vom Inhalteserver 30 übertragen wurden, durch eine neu zur Verfügung gestellte Cachedatenverwaltungseinheit empfangen wird und dann in der Streamingdatenspeichereinheit 15k gespeichert wird. Dann verteilt die Datenverteilungseinheit 12k des Cacheservers 10k die Streamingdaten, die in der Streamingdatenspeichereinheit 15k gespeichert sind, an das Endgerät 4y durch die Clustersteuereinheit 21 (Schritt S109). Der Cacheserver 10k benachrichtigt auch den Cacheserver 10k+1 über den Dateninhalt, der zum Endgerät 4y verteilt wurde, in regelmäßigen Abständen (Schritt S110). Die Informationen, die mitgeteilt werden, zeigen an, wie beispielhaft in 5 gezeigt ist, welcher Teil von welchen Streamingdaten an welches der vier Endgeräte 41 bis 4m verteilt wird. Man beachte, dass der Cacheserver 10k 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 Cacheserver 10k+1 die Streamingdaten in der Streamingdatenspeichereinheit 15k+1 und aktualisiert auch die Informationen in der Streamingdatenverwaltungseinheit 14k+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 Clustersteuereinheit 21 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 Cacheserver 10i (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 Cacheservern 10x und 10x+1 gespeichert (Schritt S109). Daher wählt die Clustersteuereinheit 21 den Cacheserver 10i aus dem Paar von Cacheservern, der kleiner ist in Bezug auf die sequentielle Nummer.
  • Wenn z.B. ein Paar von Cacheservern 102 und 103 und ein Paar von Cacheservern 107 und 108 die Streamingdaten speichern, wählt die Clustersteuereinheit 21 den Cacheserver 102 .
  • Die Clustersteuereinheit 21 bestimmt dann mit Bezug auf die Streamingdaten, die momentan durch den gewählten Cacheserver 10i verteilt werden, ob die Gesamtzahl von Verteilungsströmen von Streamingdaten, die in den Streamingdatenspeichereinheiten 15i und 15i+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 Clustersteuereinheit 21 einen Cacheserver 10j (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 und 103 nicht kleiner als MAX ist, wählt die Clustersteuereinheit 21 den Cacheserver 107 . Wenn kein anderer Cacheserver dieselben Streamingdaten speichert, geht die Prozedur nach Schritt S104 in 2 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 Cacheserver 10i 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 in 6 gezeigt sind. In 6 zeigt "Cacheserver" jede sequentielle Nummer an, die den Cacheservern 101 bis 10n 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 Cacheservern 10i und 10i+1 gespeichert sind; und "Die Anzahl an Verteilungsströmen 2" zeigt die Gesamtzahl von Verteilungsströmen der Streamingdaten an, die in den Cacheservern 10i und 10i-1 gespeichert sind.
  • In 6 ist die Anzahl von Strömen, die momentan durch den Cacheserver 102 verteilt werden, 120 + 1000 = 1120, und die Anzahl an Verteilungsströmen der Streamingdaten, die in den beiden Cacheservern 102 und 103 gespeichert sind, ist 120 für den Cacheserver 102 und 500 für den Cacheserver 103 . 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 Cacheserver 10i verteilten Streamingdaten, ob die Gesamtzahl von Verteilungsströmen der Streamingdaten, die in den Streamingdatenspeichereinheiten 15i und 15i-1 gespeichert sind, kleiner als MAX sind oder nicht. In diesem Fall kann jede Streamingdatenspeichereinheit 15x effizient verwendet werden.
  • Bezug nehmend wieder auf 3, wenn Ja in Schritt S123, überträgt die Clustersteuereinheit 21 die Anfrage vom Endgerät 4y an den ausgewählten Cacheserver 10i (Schritt S124). Wenn der Cacheserver 10i die Anfrage von der Clustersteuereinheit 21 empfängt, liest die Datenverteilungseinheit 12i die Streamingdaten, die in der Streamingdatenspeichereinheit 15i gespeichert sind, und verteilt dann die Streamingdaten an das Endgerät 4y durch die Clustersteuereinheit 21 (Schritt S125). Der Cacheserver 10i benachrichtigt auch den Cacheserver 10i+1 mit regelmäßigen Abständen über den Dateninhalt, der an das Endgerät 4y 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 Cacheserver 10i+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ät 4y empfangene Anfrage an den Cacheserver 10i+1 (Schritt S130). Wenn der Cacheserver 10i+1 die Anfrage von der Clustersteuereinheit 21 empfängt, liest die Datenverteilungseinheit 12i+1 die in der Streamingdatenspeichereinheit 15i+1 gespeicherten Streamingdaten und verteilt dann die Streamingdaten an das Endgerät 4y durch die Clustersteuereinheit 21 (Schritt 131). Der Cacheserver 10i+1 benachrichtigt auch den Cacheserver 10i mit regelmäßigen Abständen über die Dateninhalte, die an das Endgerät 4y 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ät 4y , während er dem Cacheserver 10x+1 oder 10x-1 die Informationen über die verteilten Streamingdaten in regelmäßigen Abständen mitteilt (Schritt S110, S126, S132). Andererseits überwachen jeweils die Verteilung-Gesperrt-Erkennungseinheiten 13x+1 und 13x-1 der Cacheserver 10x+1 und 10x-1 in regelmäßigen Abständen die vom Cacheserver 10x empfangenen Informationen.
  • Man nehme jetzt den Fall an, in dem der Cacheserver 10x einen Ausfall hat und unfähig wird, Datenverteilung an das Endgerät 4y auszuführen. Es wird hier angenommen, dass die Cacheserver 10x und 10x+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-Erkennungseinheit 13x+1 des Cacheservers 10x+1 Verteilung-Gesperrt (Auftreten einer Störung) des Cacheservers 10x . Wenn die Verteilung-Gesperrt-Erkennungseinheit 13x+1 Verteilung-Gesperrt erkennt, liest die Datenverteilungseinheit 12x+1 Streamingdaten, die den als letztes durch den Cacheserver 10x von der Streamingdatenspeichereinheit 15x+1 verteilten Streamingdaten nachfolgen, auf der Grundlage von Verteilungsinformationen, die vorher vom Cache server 10x empfangen wurden (bevor die Störung auftritt), und verteilt dann die gelesenen Streamingdaten an das Endgerät 4y . 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ät 4y vollständig abgespielt wurden.
  • Wenn die Cacheserver 10x-1 und 10x bestimmte Streamingdaten in Übereinstimmung verwalten und der Cacheserver 10x , der die Datenverteilung ausführen sollte, ausgefallen ist, wird die obige ausfallsichere Operation durch den Cacheserver 10x-1 ausgeführt.
  • Wenn der Cacheserver 10x+1 oder 10x-1 als solcher die Verteilung der Streamingdaten übernimmt, benachrichtigt die Cachesteuereinheit 17x+1 oder 17x-1 die Clustersteuereinheit 21 über den Ausfallsicherungszustand, so dass neue Streamingdaten nicht in der Streamingdatenspeichereinheit 15x+1 oder 15x-1 gespeichert werden, bis die Wiederherstellung des Cacheserver 10x festgestellt wurde. Über den Ausfallsicherungszustand benachrichtigt, nimmt die Clustersteuereinheit 21 davon Abstand, den Cacheserver 10x+1 oder 10x-1 auszuwählen, wenn sie einen der Cacheserver 101 bis 10n 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 Cacheservers 10x stellt eine Wiederherstellungsbenachrichtigung den Datenverteilungseinheiten 12x+1 und 12x-1 der Cacheserver 10x+1 bzw. 10x-1 zur Verfügung.
  • Wenn sie die Wiederherstellungsbenachrichtigung erhält, wählt die Datenverteilungseinheit 12x+1 des Cacheservers 10x+1 die Streamingdaten, die in beiden Cacheservern 10x und 10x+1 gespeichert sind, aus den Streamingdaten, die in der Streamingdatenspeichereinheit 15x+1 gespeichert sind, und kopiert die ausgewählten Streamingdaten dann in die Streamingdatenspeichereinheit 15x des Cacheservers 10x . Weiterhin wählt nach dem Empfang der Wiederherstellungsbenachrichtigung die Datenverteilungseinheit 12x-1 des Cacheservers 10x-1 die Streamingdaten, die in beiden Cacheservern 10x und 10x-1 gespeichert sind, aus den Streamingdaten, die in der Streamingdatenspeichereinheit 15x-1 gespeichert sind, und kopiert die ausgewählten Streamingdaten dann in die Streamingdatenspeichereinheit 15x des Cacheservers 10x .
  • Nachdem dann das Kopieren der Streamingdaten in die Cacheserver 10x beendet ist, senden die Cachesteuereinheiten 17x+1 und 17x-1 der Cacheserver 10x+1 und 10x-1 jeweils eine Benachrichtigung über das Ausheben des Ausfallsicherungszustands an die Clustersteuereinheit 21.
  • (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 Cacheserver 101 bis 104 umfasst, als das Beispiel beschrieben.
  • 7 ist ein Diagramm, das beispielhaft Streamingdaten 601 bis 60p (p ist eine positive ganze Zahl) darstellt, die in der Streamingdatenspeichereinheit 15x des Cacheservers 10x gespeichert sind. Die Streamingdaten 601 bis 60p sind jeweils Zeit-fortlaufend, wie etwa Video- oder Musikdaten. Die Streamingdaten 601 bis 60p werden jeweils durch eine Mehrzahl von Paketen 611 bis 61q (q ist eine positive ganze Zahl) strukturiert, die jeweils eine Übertragungseinheit sind. Die Pakete 611 bis 61q haben Paketidentifikatoren 621 bis 62q , 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 in 8 gezeigt, Streamingdaten 701 in den Streamingdatenspeichereinheiten 151 und 152 der Cacheserver 101 und 102 gespeichert. Ähnlich werden Streamingdaten 702 in den Streamingdatenspeichereinheiten 152 und 153 der Cacheserver 102 und 103 gespeichert; Streamingdaten 703 werden in den Streamingdatenspeichereinheiten 153 und 144 der Cacheserver 103 und 104 gespeichert; und Streamingdaten 704 werden in den Streamingdatenspeichereinheiten 154 und 151 der Cacheserver 104 und 101 gespeichert.
  • <Vorbedingung 2: Die Anzahl an Verteilungsströmen>
  • Wie oben gesagt, überträgt die Clustersteuereinheit 21 eine Anfrage an irgendeinen der Cacheserver 101 bis 104 , 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 bis 104 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 bis 114 der Cacheserver 101 bis 104 ausgeführt wird, wird jetzt beschrieben unter Verwendung der 9 und 10.
  • Die Sitzungsverwaltungseinheiten 111 bis 114 halten die Anzahl an Verteilungsströmen der Cacheserver 101 bis 104 unter Verwendung von Sitzungsverwaltungstabellen 531 bis 538 . Hier hält jeder der Cacheserver 101 bis 104 zwei Sitzungsverwaltungstabellen. Das heißt, dass der Cacheserver 101 die Sitzungsverwaltungstabelle 532 verwendet, um Sitzungen zu verwalten, die sich auf die Streamingdaten 701 beziehen, die in den Cacheservern 101 und 102 gespeichert sind, wobei der Zustand der Verteilung des Cacheservers 102 gehalten wird, während er die Sitzungsverwaltungstabelle 531 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten 704 beziehen, die in den Cacheservern 101 und 104 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 104 gehalten wird. Der Cacheserver 102 verwendet die Sitzungsverwaltungstabelle 534 zum Verwalten von Sitzungen, die sich auf die Streamingdaten 702 bezeichen, die in den Cacheservern 102 und 103 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 103 gehalten wird, während er die Sitzungsverwaltungstabelle 533 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten 701 beziehen, die in den Cacheservern 102 und 101 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 101 gehalten wird. Der Cacheserver 103 verwendet die Sitzungsverwaltungstabelle 536 zum Verwalten von Sitzungen, die sich auf die Streamingdaten 703 beziehen, die in den Cacheservern 103 und 104 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 104 gehalten wird, während er die Sitzungsverwaltungstabelle 535 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten 702 beziehen, die in den Cacheservern 103 und 102 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 102 gehalten wird. Der Cacheserver 104 verwendet die Sitzungsverwaltungstabelle 538 zum Verwalten von Sitzungen, die sich auf die Streamingdaten 704 beziehen, die in den Cacheservern 104 und 101 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 101 gehalten wird, während er die Sitzungsverwaltungstabelle 537 zum Verwalten von Sitzungen verwendet, die sich auf die Streamingdaten 703 beziehen, die in den Cacheservern 104 und 103 gespeichert sind, wodurch der Verteilungszustand des Cacheservers 103 gehalten wird.
  • Wenn z.B. eine Stromanfrage zum Cacheserver 101 oder 102 kommt, nach Streamingdaten 701, die darin übereinstimmend gespeichert werden, registrieren die Sitzungsverwaltungstabellen 532 und 533 in 9 jeweils Informationen über diese Anfrage. Die in den Sitzungsverwaltungstabellen 532 und 533 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 bis 4m zu verteilen, sind die Cacheserver 101 bis 104 durch die Netzwerke 51 und 52 mit den Endgeräten 41 und 4m und der Clustersteuereinheit 21 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 Sitzungsverwaltungstabellen 532 und 533 zeigt, die in 9 dargestellt sind. In jeder der Sitzungsverwaltungstabellen 532 und 533 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 Sitzungsverwaltungstabellen 531 bis 538 8 ist.
  • In den Sitzungsverwaltungstabellen 532 und 533 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 Sitzungsverwaltungstabelle 532 identifiziert wird, durch einen Sitzungsidentifikator (MAX – I – 1) in der Sitzungsverwaltungstabelle 533 identifiziert wird. Zum Beispiel werden Paketidentifikatoren "100" und "510" der Sitzungen, die durch Sitzungsidentifikatoren "0" und "1" in der Sitzungsverwaltungstabelle 532 registriert sind, in der Sitzungsverwaltungstabelle 533 durch Sitzungsidentifikatoren "7" bzw. "6" identifiziert.
  • Tabellenabgrenzungswerte 542 und 543 zeigen Nummern der Sitzungsidentifikatoren an, bei denen die in den Sitzungsverwaltungstabellen 532 und 533 registrierten Informationen in zwei geteilt werden. Wie oben beschrieben, werden in den Sitzungsverwaltungstabellen 532 und 533 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. In 10 wird der Tabellenabgrenzungswert 542 der Sitzungsverwaltungstabelle 532 auf "3" gesetzt, während der Tabellenabgrenzungswert 543 der Sitzungsverwaltungstabelle 533 auf "5" gesetzt wird.
  • Die Datenverteilungseinheiten 121 bis 124 der Cacheserver 101 bis 104 ü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 Cacheserver 101 bis 104 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 Sitzungsverwaltungstabelle 532 des Cacheservers 101 (umgeben von einer dicken Linie in 10 links) identifiziert werden, die Datenverteilungseinheit 121 des Cacheservers 101 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 Sitzungsverwaltungstabelle 533 des Cacheservers 102 (umgeben durch eine dicke Linie in 10 rechts) identifiziert werden, die Datenverteilungseinheit 122 des Cacheservers 102 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 und 13x+1 der Cacheserver 10x und 10x+1 miteinander. Die Operation dieser Verteilung-Gesperrt-Erkennungseinheiten wird jetzt unter Verwendung der 11 und 12 beschrieben. 11 ist ein Diagramm, das eine beispielhafte Operation der Verteilung-Gesperrt-Erkennungseinheiten 131 bis 13n darstellt, wobei n = 4 ist.
  • Jede der Verteilung-Gesperrt-Erkennungseinheiten 131 bis 134 kommuniziert regelmäßig mit ihren benachbarten Cacheservern. Zum Beispiel kommuniziert die Verteilung-Gesperrt-Erkennungseinheit 131 regelmäßig mit den Verteilung- Gesperrt-Erkennungseinheiten 132 und 134 . Wenn der Cacheserver 102 oder 104 unfähig wird, Daten zu verteilen, weist die Verteilung-Gesperrt-Erkennungseinheit 131 die Datenverteilungseinheit 121 an, die Streamingdatenverteilung ohne Unterbrechung anstelle des Cacheservers 102 oder 104 zu starten.
  • 12 ist ein Diagramm, das schematisch die Operation des Sendens und Empfangens einer Benachrichtigung zwischen den Verteilung-Gesperrt-Erkennungseinheiten 131 und 132 darstellt. Die Sitzungsverwaltungstabellen 532 und 533 werden von den Cacheservern 101 bzw. 102 gehalten.
  • Die Verteilung-Gesperrt-Erkennungseinheiten 131 und 132 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-Erkennungseinheit 131 die Verteilung-Gesperrt-Erkennungseinheit 132 über ihren eigenen Tabellenabgrenzungswert und die aktualisierten Paketidentifikatorwerte. Wenn im Cacheserver 102 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-Erkennungseinheit 132 weiterhin die Verteilung-Gesperrt-Erkennungseinheit 131 ü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 in 12 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 Sitzungsverwaltungstabelle 533 entspricht, wird mit einem Sitzungsidentifikator "3 (= MAX – I – 1)" in der Sitzungsverwaltungstabelle 532 gespeichert. Daher aktualisiert die Verteilung-Gesperrt-Erkennungseinheit 131 den Paketidentifikatorwert des Sitzungsidentifikators "3" auf "221". Ähnlich erkennt mit der vorliegenden Benachrichtigung die Verteilung-Gesperrt-Erkennung 132 , dass die Paketidentifikatoren der Sitzungsidentifikatoren "0" und "2" auf "101" bzw. "201" aktualisiert wurden. Dann aktualisiert die Verteilung-Gesperrt-Erkennungseinheit 132 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 Cacheserver 101 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-Erkennungseinheit 131 nicht zur Verteilung-Gesperrt-Erkennungseinheit 132 . Wenn sie während einer vorbestimmten Zeitspanne keine Benachrichtigung empfängt, ändert die Verteilung-Gesperrt-Erkennungseinheit 132 den Tabellenabgrenzungswert 543 auf MAX. In 13 ist MAX = 8, und daher wird der Tabellenabgrenzungswert 543 von "5" auf "8" geändert.
  • Als ein Ergebnis bestimmt die Datenverteilungseinheit 122 des Cacheservers 102 , dass die Sitzungsidentifikatoren "5" bis "7" kleiner sind als der Tabellenabgren zungswert F = 8 in der Sitzungsverwaltungstabelle 533 . Dann startet die Datenverteilungseinheit 122 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 Cacheserver 101 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 Cacheserver 101 startet Streamingdatenverteilung anstelle des Cacheservers 104 , und dementsprechend überschreitet die Anzahl an Strömen, die der Cacheserver 101 verteilen kann, das Maximum; und
    • (2) Ermitteln, dass der Tabellenabgrenzungswert des Cacheservers 104 geändert wurde, der Cacheserver 101 startet Streamingdatenverteilung anstelle des Cacheservers 104 , und dementsprechend überschreitet die Anzahl an Strömen, die der Cacheserver 101 verteilen kann, das Maximum.
  • In 14 wird der Tabellenabgrenzungswert 542 von "3" auf "1" geändert. Als ein Ergebnis bestimmt die Datenverteilungseinheit 121 des Cacheservers 101 , dass die Sitzungsidentifikatoren "1" und "2" gleich oder größer sind als der Tabellenabgrenzungswert F = 1 in der Sitzungsverwaltungstabelle 532 , und stoppt dann die Streamingdatenverteilung. Dann wird die Verteilung-Gesperrt-Erkennungseinheit 132 über den Tabellenabgrenzungswert F = 1 durch die Verteilung-Gesperrt-Erkennungseinheit 131 benachrichtigt. Die Verteilung-Gesperrt-Erkennungseinheit 132 erkennt durch die Benachrichtigung, dass der Tabellenabgrenzungswert 542 geändert wurde, und ändert den Tabellenabgrenzungswert 543 auf (MAX – (empfangener Tabellenabgrenzungswert 542 )). In 14, ist MAX = 8, und der Tabellenabgrenzungswert 543 wird demnach von "5" auf "7" (= 8 – 1)" geändert.
  • Dementsprechend ermittelt die Datenverteilungseinheit 122 des Cacheservers 102 , dass die Sitzungsidentifikatoren "5" und "6" kleiner sind als der Tabellenabgrenzungswert F = 7 in der Tabellenverwaltungstabelle 533 . Die Datenverteilungseinheit 122 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 Cacheservers 10x eine Wiederherstellungsbenachrichtung an die Datenverteilungseinheiten 12x+1 und 12x-1 der angrenzenden Cacheserver 10x+1 und 10x-1 aus. Der wiederhergestellte Cacheserver 10x stellt die Streamingdaten wieder her, indem er die verteilten Streamingdaten in der Streamingdatenspeichereinheit 15x speichert.
  • 15 zeigt die Operation, wenn der Cacheserver 101 , 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 Tabellenabgrenzungswert 542 "0" und der Cacheserver 101 führt keine Streamingdatenverteilung aus. Wenn die Wiederherstellung vollständig ist, setzt die Wiederherstellungserkennungseinheit 181 den Tabellenabgrenzungswert 542 zurück nach "3", was der Wert ist, bevor die Störung auftritt.
  • Dementsprechend stellt die Datenverteilungseinheit 121 des Cacheservers 101 fest, dass die Sitzungsidentifikatoren "0" bis "2" kleiner sind als der Tabellenabgrenzungswert F = 3 in der Sitzungsverwaltungstabelle 532 . Die Datenverteilungsein heit 121 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-Erkennungseinheit 132 über den Tabellenabgrenzungswert 542. Die Verteilung-Gesperrt-Erkennungseinheit 132 erkennt durch die Benachrichtigung, dass der Tabellenabgrenzungswert 542 auf "3" zurückgekehrt ist, welches der Wert ist, bevor der Cacheserver 101 gestört wurde, und ändert dann den Tabellenabgrenzungswert 543 auf (MAX – (empfangener Tabellenabgrenzungswert 542 ). In 15, ist MAX = 8, und daher wird der Tabellenabgrenzungswert 543 von "8" auf "5" zurückgesetzt.
  • Dementsprechend stellt die Datenverteilungseinheit 122 des Cacheservers 102 fest, dass die Sitzungsidentifikatoren "5" bis "7" gleich oder größer sind als der Tabellenabgrenzungswert "5" in der Sitzungsverwaltungstabelle 533 , 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 Tabellenabgrenzungswert 543 auf den Wert, bevor der Cacheserver 101 ausgefallen ist, zurück, und setzt auch den anderen Tabellenabgrenzungswert, der im Cacheserver 102 gehalten wird (der Tabellenabgrenzungswert, bei dem die Sitzungsverwaltungstabelle zum Verwalten der Sitzungen von Streamingdaten, die in den Cacheservern 102 und 103 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 und 17 gezeigt.
  • 16 ist ein Diagramm, das ein Beispiel von Zuständen der Sitzungsverwaltungstabellen 531 bis 538 und der Tabellenabgrenzungswerte 541 bis 548 zeigt, die durch die vier Cacheserver 101 bis 104 verwaltet werden, welche jeweils eine Maximalzahl von Verteilungsströmen von "8" haben, in der normalen Stromverteilung. Man beachte in 16, dass jeder der Tabellenabgrenzungswerte 541 bis 548 "4" ist, und die Anzahl der Verteilungsströme (Gesamtzahl von Sitzungen, die durch eine dicke Linie in 16 umgeben sind), die gleichzeitig von jedem der Cacheserver 101 bis 104 verteilt werden können, ist "6". 17 ist ein Diagramm, das ein Beispiel von Zuständen der Sitzungsverwaltungstabellen 531 bis 538 und der Tabellenabgrenzungswerte 541 bis 548 zeigt, die durch die Cacheserver 101 bis 104 verwaltet werden, wenn der Cacheserver 101 ausgefallen ist, in den in 16 gezeigten Zuständen.
  • In den in 16 gezeigten Zuständen wird, wenn der Cacheserver 101 unfähig wird, Datenverteilung durchzuführen, wegen eines Ausfalls, der folgende Prozess durchgeführt. Als erstes erkennen die Verteilung-Gesperrt-Erkennungseinheiten 132 und 134 der Cacheserver 102 und 104 , dass der Cacheserver 101 unfähig wird, die Verteilung durchzuführen, und setzen dann die Tabellenabgrenzungswerte 543 und 548 auf "8". Dementsprechend wird die Anzahl an Verteilungsströmen im Cacheserver 102 "10". Um den Cacheserver 103 zwei Sitzungen verteilen zu lassen, die die Maximalzahl an Verteilungsströmen "8" überschreiten, setzt die Verteilung-Gesperrt-Erkennungseinheit 132 daher den Tabellenabgrenzungswert 544 auf "2". Ähnlich wird der Tabellenabgrenzungswert 545 des Cacheservers 103 auf "6" gesetzt, aber dies bewirkt nicht, dass die Anzahl an Verteilungsströmen des Cacheservers 103 die Maximalzahl an Verteilungsströmen "8" überschreitet, was kein Problem darstellt. Weiterhin wird der Tabellenabgrenzungswert 548 des Ca cheservers 104 auf "8" gesetzt, aber dies bewirkt nicht, dass die Anzahl von Verteilungsströmen des Cacheservers 103 die Maximalzahl an Verteilungsströmen "8" überschreitet, was auch kein Problem darstellt.
  • Mit dieser Operation führen die Cacheserver 102 bis 104 Stromverteilung für jede Sitzung mit voller Kapazität durch, mit Maximalzahl von Verteilungsströmen "8". Wenn daher der Cacheserver 101 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 Cacheserver 101 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 Cacheservers 101 kopiert alle Streamingdaten, die in den Streamingdatenspeichereinheiten 152 und 154 der Cacheserver 102 und 104 gespeichert sind, in die Streamingdatenspeichereinheit 151 .
  • (Zweiter Schritt) Auf der Grundlage der Informationen von den Verteilung-Gesperrt-Erkennungseinheiten 132 und 134 der Cacheserver 102 und 104 registriert die Verteilung-Gesperrt-Erkennungseinheit 131 die Sitzungsidentifikatoren und Paketidentifikatoren in den Sitzungsverwaltungstabellen 531 und 532 .
  • (Dritter Schritt) Die Wiederherstellungserkennungseinheit 181 des Cacheservers 101 setzt die Tabellenabgrenzungswerte 541 und 542 auf "4".
  • (Vierter Schritt) Die Wiederherstellungserkennungseinheit 182 des Cacheservers 102 erkennt auf der Grundlage der Benachrichtigung vom Cacheserver 101 , dass der Tabellenabgrenzungswert 542 auf seinen Originalwert zurückgesetzt wurde, und setzt dann die Tabellenabgrenzungswerte 543 und 544 auf "4".
  • (Fünfter Schritt) Die Wiederherstellungserkennungseinheit 183 des Cacheservers 103 erkennt auf der Grundlage der Benachrichtigung vom Cacheserver 102 , dass der Tabellenabgrenzungswert 544 auf seinen Originalwert zurückgesetzt wurde, und setzt dann den Tabellenabgrenzungswert 545 auf "4".
  • (Sechster Schritt) Die Wiederherstellungserkennungseinheit 184 des Cacheservers 104 erkennt auf der Grundlage der Benachrichtigung vom Cacheserver 101 , dass der Tabellenabgrenzungswert 541 auf seinen Originalwert zurückgesetzt wurde, und setzt den Tabellenabgrenzungswert 548 auf "4".
  • Mit der obigen Operation werden die Zustände der Cacheserver 101 bis 104 in die Zustände zurückgebracht, die in 16 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 bis 10n die Sitzungsverwaltungseinheiten 111 bis 11n bzw. die Streamingdatenverwaltungseinheiten 141 bis 14n 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 Clustersteuereinheit 21. Es können jedoch andere Verfahren ergriffen werden, wie etwa, dass die Clusterservervorrichtung 10 eine Datenbank hält, alle Cacheserver 101 bis 10n einzeln die Datenbank aktualisieren und die Clustersteuereinheit 21 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 Cacheserver 101 bis 10n getrennt strukturiert. Alternativ kann jeder Cacheserver 10x die Funktion des Lastverteilungsservers 20 haben. Weiterhin alternativ können alle Cacheserver 101 bis 10n diese Funktion haben und der Cacheserver 10x , 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)

  1. 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 Clusterservervorrichtung 10 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 Lastverteilungsserver 20 ü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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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.
  25. 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.
  26. 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.
  27. 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.
  28. 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.
  29. 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.
  30. 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.
  31. 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.
  32. 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.
  33. 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.
  34. 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.
  35. 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.
  36. 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.
  37. 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.
  38. 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.
DE60030397T 1999-11-09 2000-10-19 Belastungsverteilung in einem Netzwerk Expired - Lifetime DE60030397T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP31831899 1999-11-09
JP31831899 1999-11-09
JP2000304433A JP3463803B2 (ja) 1999-11-09 2000-10-04 クラスタサーバ装置
JP2000304433 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)

* Cited by examiner, † Cited by third party
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
US7266613B1 (en) 2000-08-09 2007-09-04 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
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
US6886038B1 (en) * 2000-10-24 2005-04-26 Microsoft Corporation System and method for restricting data transfers and managing software components of distributed computers
US7113900B1 (en) * 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
DE60111072T2 (de) * 2000-10-26 2006-01-26 Prismedia Networks, Inc., San Jose Verfahren und vorrichtung zur parallelen nachrichtenübermittlung in echtzeit von dateisegmentierten
DE60131900T2 (de) 2000-10-26 2008-12-04 Flood, James C. jun., Portland Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten
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
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
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
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 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
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
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
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
JP4197495B2 (ja) * 2002-02-14 2008-12-17 富士通株式会社 データ格納制御プログラムおよびデータ格納制御方法
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
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
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
WO2004021138A2 (en) * 2002-08-30 2004-03-11 Wink Communications, Inc. Carousel 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
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
US7890543B2 (en) * 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
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
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
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
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
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
US7162533B2 (en) * 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
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
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
US7797147B2 (en) 2005-04-15 2010-09-14 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 日本放送協会 ファイル転送システムおよびその方法、管理装置ならびにサーバ
US7831766B2 (en) * 2006-12-22 2010-11-09 Comm Vault Systems, Inc. Systems and methods of data storage management, such as pre-allocation of storage space
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 株式会社日立製作所 コンテンツ配信システムおよび配信制御サーバ
WO2010116676A1 (ja) * 2009-03-30 2010-10-14 日本電気株式会社 サービス提供装置、サービス提供システム、サービス提供装置のデータ処理方法およびコンピュータプログラム
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端末及びコンテンツ配信システム
US20140359048A1 (en) * 2011-09-23 2014-12-04 Telefonaktiebolaget L M Ericsson (pulb) Caching in a Telecommunication Network
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
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation 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)

* Cited by examiner, † Cited by third party
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 松下電器産業株式会社 クラスタサーバ装置

Also Published As

Publication number Publication date
US6760765B1 (en) 2004-07-06
DE60030397D1 (de) 2006-10-12
JP3463803B2 (ja) 2003-11-05
EP1107533B1 (de) 2006-08-30
EP1107533A2 (de) 2001-06-13
EP1107533A3 (de) 2004-04-07
JP2001202330A (ja) 2001-07-27

Similar Documents

Publication Publication Date Title
DE60030397T2 (de) Belastungsverteilung in einem Netzwerk
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
DE60302876T2 (de) Master-knotenauswahl in geclusterten knotenkonfigurationen
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE69811148T2 (de) Mitgliedschaft in einem unzuverlässigen verteilten Rechnersystem
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE19900065B4 (de) Netzwerküberwachungsgerät
DE102020113347A1 (de) Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten
DE19983497B4 (de) Fernübertragungsverfahren zwischen Dateieinheiten
DE60028793T2 (de) Skalierbarer dateiserver mit hochverfügbaren paaren
DE10123067A1 (de) Synchrone Vervielfältigung von Transaktionen in einem verteilten System
DE69935691T2 (de) Nachrichtenverteilungsvorrichtungs-Auswahlsystem
DE2911677A1 (de) Verfahren und schaltungsanordnung zum ueberwachen und verhindern von blockierungen in datenverarbeitungssystemen mit mehreren prozessoren
DE4140800A1 (de) Verfahren zur loesung eines linearen gleichungssystems auf einem parallelcomputer
EP1711892B1 (de) Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm
DE69632786T2 (de) Pfadsuche in Kommunikationsnetzwerken
DE19780639C2 (de) Arbeitsübernahmesystem
DE2001832B2 (de) Speicherprogrammierte Datenverarbeitungsanordnung
DE10337509B4 (de) Gerät zur Herstellung von Halbleitern
DE2420214C2 (de) Schaltungsanordnung zur Umschaltung der redundanten Kommunikationspfade einer Datenübertragungseinrichtung
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
EP0509114B1 (de) Verfahren zum Übertragen von Daten an mehrere Datenstationen
DE19900636B4 (de) Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung

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