DE69626052T2 - System und Verfahren zum Verteilen der Belastung eines Datei-Servers - Google Patents
System und Verfahren zum Verteilen der Belastung eines Datei-Servers Download PDFInfo
- Publication number
- DE69626052T2 DE69626052T2 DE69626052T DE69626052T DE69626052T2 DE 69626052 T2 DE69626052 T2 DE 69626052T2 DE 69626052 T DE69626052 T DE 69626052T DE 69626052 T DE69626052 T DE 69626052T DE 69626052 T2 DE69626052 T2 DE 69626052T2
- Authority
- DE
- Germany
- Prior art keywords
- server
- servers
- file
- video
- data
- 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 - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23103—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23116—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Description
- HINTERGRUND DER ERFINDUNG GEBIET DER ERFINDUNG
- Die Erfindung bezieht sich auf ein Lastverteilungssystem, das Lasten auf mehrere Datei- oder Datenserver verteilt, welche Dateien oder Daten übertragen, die von Benutzer- oder Kundenstationen angefordert wurden, und auf ein Verfahren zur Lastverteilung für solche Systeme.
- BESCHREIBUNG DES STANDES DER TECHNIK
-
7 zeigt ein herkömmliches Videoserversystem, das z.B. zwei Videoserver (Server1 und Server2 ), drei Benutzerstationen3 –5 und eine Netzwerk-Verbindungsvorrichtung6 aufweist. Während die folgende Beschreibung mit Bezug auf ein Videoserversystem für die Zwecke der Illustration erfolgt, ist festzustellen, dass die auftretenden Probleme auf je den Typ eines Datei- oder Datenserversystems anwendbar sind. - In herkömmlicher Weise würde ein Kunde oder Benutzer, der eine besondere Videodatei wünscht, einen Videoserver über die Netzwerk-Verbindungsvorrichtung
6 direkt auswählen und eine Anforderung zur Übertragung der Videodatei zu diesem Videoserver senden. Wenn jedoch die dem Videoserver auferlegte Last bereits die maximale Kapazität erreicht hat, kann die Benutzerstation nicht mit ihm verbunden werden. Wenn z.B. alle Benutzer3 –5 die Übertragung einer Videodatei anfordern, die nur von dem Videoserver1 erhältlich ist, werden die Lasten für die drei Benutzer nur dem Videoserver1 auferlegt, während dem Videoserver2 keine Übertragungslast auferlegt wird. Wenn die Anzahl von Benutzern des Netzwerks die Lastkapazität des Videoservers1 übersteigt und alle Benutzer die Übertragung derselben Videodatei anfordern, wird die Übertragungsfähigkeit des Videoservers1 überschritten und die Übertragung von Daten durch den Videoserver1 wird dann unmöglich. - Selbst wenn dieselbe Videodaten bei beiden Videoservern
1 und2 verfügbar ist, können, solange wie die Auswahl bestimmter Videoserver den Benutzerstationen überlassen ist, alle Lasten bei einem einzigen Videoserver akkumuliert werden. - Bei der Anordnung eines solchen herkömmlichen Videoservers ist das Problem aufgetreten, dass die Übertragungsanforderungen von Benutzerstationen die Tendenz haben, nur zu einem bestimmten Videoserver gerichtet zu werden, und somit alle Lasten diesem Server auferlegt werden. Weiterhin kann dieses Problem nicht dadurch gelöst werden, dass lediglich die An zahl von Videoservern erhöht wird.
- Die Benutzerstationen können einen Prozess durchführen, um die Lasten auf mehrere Videoserver zu verteilen. Jedoch müssen, um dies durchzuführen, alle Benutzerstationen Informationen betreffend der Lastzustände an den individuellen Videoservern haben, und wenn die Verteilung von Serverlasten durch die Benutzerstationen durchgeführt wird, werden die Verarbeitungszeit bei den Benutzerstationen und die dem Netzwerk auferlegte Last erhöht.
- Wenn eine bestimmte Videodatei häufig verwendet wird, kann die Videodatei zu mehreren Videoservern kopiert werden, um den Übertragungsdurchsatz für die Videodatei in dem System zu erhöhen. Wenn jedoch ein derartiges Kopieren viele Male erfolgt, wird der verfügbare Speicherraum reduziert, und Videodateien, welche weniger häufig verwendet werden, müssen gelöscht werden, um Speicherraum freizumachen. Folglich ist das Problem aufgetreten, dass zusätzliche Arbeitsleistung erforderlich ist für die Durchführung von Verwaltungsfunktionen wie das Kopieren und Löschen von Dateien.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Diese Erfindung löst die vorbeschriebenen Probleme. Es ist eine Aufgabe der Erfindung, ein Lastverteilungssystem für mehrere Server zu schaffen, bei dem die CPUs und Netzwerken auferlegten Lasten und die Anzahl von Speicherzugriffen oder die den Speicherzugriffskapazitäten der Server auferlegten Lasten verteilt werden. Es ist eine andere Aufgabe der Erfindung, ein Verfahren für die Lastverteilung auf mehrere Server anzugeben, um die bei den herkömmli chen Systemen angetroffenen Probleme zu beseitigen.
- Diese Aufgabe wird durch das System nach Anspruch 1 und das Verfahren nach Anspruch 10 gelöst. Vorteilhafte Verbesserungen des Systems und des Verfahrens nach der Erfindung sind in jeweiligen abhängigen Ansprüchen angegeben.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Diagramm, das die Struktur eines Lastverteilungssystems gemäß einem ersten bevorzugten Ausführungsbeispiel illustriert; -
2 ist ein Diagramm, das die Struktur eines Steuerservers gemäß dem Ausführungsbeispiel nach1 illustriert; -
3 ist ein Diagramm, das den Inhalt einer Videoserver-Verwaltungstabelle gemäß dem Ausführungsbeispiel nach1 illustriert; -
4 ist ein Diagramm, das den Inhalt einer Benutzerverwaltungstabelle gemäß dem Ausführungsbeispiel nach1 illustriert; -
5 ist ein Flussdiagramm der Lastverteilungsverarbeitung für ein Lastverteilungs-Verarbeitungsprogramm gemäß dem Ausführungsbeispiel nach2 ; -
6 ist ein Flussdiagramm der Dateikopierverarbeitung für das Lastverteilungs-Verarbeitungsprogramm gemäß dem Ausführungsbeispiel nach1 ; und -
7 ist ein Diagramm, das die Struktur eines herkömmlichen Videoserversystems illustriert. - BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSBEISPIELEN
- Ein bevorzugtes Ausführungsbeispiel der Erfindung wird nun mit Bezug auf die Zeichnungen beschrieben.
-
1 ist ein Blockschaltbild, das die Anordnung eines Lastverteilungssystems gemäß einem ersten bevorzugten Ausführungsbeispiel illustriert. Das Lastverteilungssystem enthält zwei Videoserver1 und2 , Benutzerstationen3 ,4 und5 , eine Netzwerk-Verbindungsvorrichtung6 , einen Steuerserver7 , eine Datenbank8 und einen Bibliotheksserver9 . Jeder Videoserver hat einen Speicher (wie z.B. eine Scheibenspeichervorrichtung), in welchem Videodaten in einem bestimmten Format wie Videodateien gespeichert sind, und der Server überträgt Videodaten, die von Benutzerarbeitsstationen angefordert wurden. Benutzerstationen3 ,4 und5 fordern die Übertragung von Videodaten an. Die Netzwerk-Verbindungsvorrichtung6 schafft Kommunikationsverbindungen zwischen den Servern und den Benutzerstationen. Der Steuerserver7 empfängt Übertragungsanforderungen von den Benutzerstationen und wählt einen der Videoserver1 und2 für die Übertragung von angeforderten Daten aus, wobei er die gegenwärtigen und künftigen Lasten auf die Videoserver1 und2 berücksichtigt. Die Datenbank8 speichert eine Zugriffshistorie von Übertragungsanforderungen, die der Steuerserver7 empfangen hat, und sie speichert auch Standardwerte für das System. Der Bibliotheksserver9 hat eine sekundäre Speichervorrichtung mit einer großen Speicherkapazität und speichert Videodateien, die bei den Videoservern gelöscht sind, in der sekundären Speichervorrichtung. - Die Videoserver und die Benutzerstationen können in jeder gewünschten Anzahl vorgesehen sein, wobei zwei Videoserver und drei Benutzerstationen nur für die Zwecke der Erläuterung in
1 gezeigt sind. Die Netzwerk-Verbindungsvorrichtung und deren Protokoll können in jeder geeigneten Weise ausgeführt sein, solange wie die Benutzerstationen, die Videoserver und der Steuerserver7 miteinander kommunizieren können. -
2 ist ein Blockschaltbild, das die Struktur des Steuerservers7 illustriert. Der Steuerserver7 empfängt Eingangsdaten, die Übertragungsanforderungsdaten wie den Namen einer angeforderten Videodatei enthalten, von den Benutzerstationen3 bis5 und speichert die Daten in einem Puffer11 . Eine Videoserver-Verwaltungstabelle12 speichert Daten betreffend verschiedene Parameter von Videoservern1 und2 . Eine Benutzerverwaltungstabelle13 speichert Daten betreffend verschiedene Parameter der Benutzerstationen3 bis5 . Zum Ausgangspuffer14 gesendete Ausgabedaten zeigen an, welcher der Videoserver1 und2 ausgewählt wurde. Ein Lastverteilungs-Verarbeitungsprogramm15 führt die Lastverteilungsverarbeitung durch, um den optimalen Videoserver1 oder2 in Übereinstimmung mit den eingegebenen Daten11 auszuwählen. Die eingegebenen Daten11 , die Videoserver-Verwaltungstabelle12 , die Benutzerverwaltungstabelle13 und die Ausgabedaten14 werden in dem Speicher des Steuerservers7 gespeichert. In Übereinstimmung mit den eingegebenen Daten wie dem Namen einer angeforderten Videodatei, die von dem Eingangsdatenpuffer11 erhalten wurden, sowie den Daten in der Videoserver-Verwaltungstabelle12 , der Benutzerverwaltungstabelle13 und der Datenbank8 werden die gegenwärtigen Betriebszustände der Videoserver1 und2 und Daten betreffend die angeforderte Videodatei von dem Lastverteilungsprogramm erhalten, um den optimalen Videoserver1 oder2 für die Verarbeitung der Anforderung bestimmt, und der optimale Videoserver wird in den Ausgabedaten14 angezeigt. Das Lastverteilungs-Verarbeitungsprogramm15 arbeitet somit, um den optimalen Videoserver auf der Grundlage des Inhalts der eingegebenen Daten, der Videoserver-Verwaltungstabelle und der Benutzerverwaltungstabelle zu berechnen und zu bestimmen. - Die in den eingegebenen Daten
11 enthaltenen Daten können nur der Name einer angeforderten Videodatei sein. Jedoch können statische Daten, die in der Datenbank8 gespeichert sind, z.B. Spiegeldaten und die Bandbreite einer zu übertragenden Videodatei, ebenfalls in dem Bereich der Eingabedaten11 gespeichert sein, um Zugriffe zu der Datenbank8 durch das Lastverteilungs-Verarbeitungsprogramm15 auf ein Minimum zu reduzieren. -
3 ist ein Diagramm, das ein Beispiel für den Inhalt der Videoserver-Verwaltungstabelle12 zeigt. Das Lastverteilungs-Verarbeitungsprogramm15 bezieht sich auf diese Werte, wenn die Verarbeitung durchgeführt wird. Die Bezugszahl21 bezeichnet Namen der Videoserver, die in dem System vorhanden sind (1 und 2 bei dem beispielhaften Ausführungsbeispiel); die Bezugszahl22 bezeichnet die maximalen Übertragungszählwerte der Videoserver; die Bezugszahl23 bezeichnet die Anzahl von gegenwärtigen Übertragungen durch die Videoserver; die Bezugszahl24 bezeichnet die maximalen Bandbreiten der Videoserver; die Bezugszahl25 bezeichnet die Bandbreiten, die von den Videoservern für die gegenwärtige Übertragung verwendet werden; die Bezugszahl26 bezeichnet die Gesamtspeicherkapa zitäten der Videoserver; und die Bezugszahl27 bezeichnet die maximalen gleichzeitigen Übertragungszählwerte für die Dateien der Videoserver. - Da die Namen der Videoserver
21 , die maximalen Übertragungszählwerte22 , die maximalen Bandbreiten24 , die Gesamtspeicherkapazitäten26 und die maximalen gleichzeitigen Übertragungszählwerte27 statische Daten sind, die im Voraus bestimmt wurden, können sie in der Verwaltungstabelle12 gesetzt sein, indem sie aus der Datenbank8 zu der Zeit der Initialisierung des Steuerservers7 gelesen wurden. Der gegenwärtige Übertragungszählwert23 und die Bandbreiten25 , die gegenwärtige verwendet werden, sind dynamische Daten, die gemäß den Übertragungsanforderungen von den Benutzerstationen3 bis5 aktualisiert sind. Wenn eine Übertragungsanforderung von einer der Benutzerstationen verarbeitet wird und ein bestimmter Videoserver für die Datenübertragung ausgewählt ist, werden der Übertragungszählwert23 und die gegenwärtige Bandbreite25 für den bestimmten Videoserver in der Tabelle 12 aktualisiert. -
4 ist ein Diagramm, das ein Beispiel für den Inhalt der Benutzerverwaltungstabelle13 zeigt. Das Lastverteilungs-Verarbeitungsprogramm15 bezieht sich auch auf diese Werte, wenn die Verarbeitung durchgeführt wird. Die Bezugszahl31 bezeichnet die Benutzernamen der Benutzerstationen, die über die Netzwerk-Verbindungsvorrichtung mit dem Steuerserver7 verbunden sind; die Bezugszahl32 bezeichnet die Dateinamen von Zielvideodateien; die Bezugszahl33 bezeichnet eine Dateigröße der Zielvideodatei; die Bezugszahl34 bezeichnet eine Bandbreite, die zum Übertragen der Zielvideodatei erforderlich ist; die Bezugszahl35 bezeichnet einen maximalen Übertragungs zählwert der Videodatei; die Bezugszahl36 bezeichnet den Namen eines Videoservers, der ein gegenwärtiges Ziel ist; und die Bezugszahl37 bezeichnet gegenwärtige Operationsinhalte. - Jedes Mal, wenn eine Operation durch eine der Benutzerstationen
3 bis5 erfolgt, werden die Operationsinhalte37 aktualisiert, um die Operationsanforderungen von den Benutzerstationen zu speichern. Die anderen Daten werden nicht aktualisiert, solang wie die Zieldatei nicht geändert ist. -
5 ist ein Flussdiagramm, das die von dem Lastverteilungs-Verarbeitungsprogramm15 des Steuerservers7 durchgeführte Verarbeitung erläutert. Der Prozess wird durchgeführt, wenn eine der Benutzerstationen3 bis5 verlangt, dass der Steuerserver7 eine bestimmte Videodatei überträgt. In diesem Prozess wird ein besonderer Videoserver als ein Übertragungsvideoserver bezeichnet, für den der gegenwärtige Übertragungszählwert23 niedriger als der maximale Übertragungszählwert22 ist, für den ausreichend Raum in der Bandbreite des Netzwerks ist, und für den der gegenwärtige Übertragungszählwert der angeforderten Videodatei kleiner ist als der maximale Übertragungszählwert, der bei diesem Videoserver eingestellt ist. Wenn die Summe aus der Bandbreite25 , welche verwendet wird, und der geforderten Bandbreite34 für die angeforderte Videodatei kleiner als die maximale Bandbreite24 ist, wird bestimmt, dass Raum in der Bandbreite des Netzwerks für die Übertragung der geforderten Videodatei verfügbar ist. - Der detaillierte Prozess wird nun erläutert. Zuerst werden im Schritt S101 die Videoserver, in denen eine angeforderte Videodatei gespeichert ist, auf die Lis te L1 in dem Speicher gesetzt. Dann wird im Schritt S102 auf die gegenwärtigen Übertragungszählwerte
23 der Videoserver-Verwaltungstabelle12 Bezug genommen, und derjenige Videoserver in der Liste L1, der den kleinsten gegenwärtigen Übertragungszählwert hat, wird ausgewählt. - Für den im Schritt S102 ausgewählten Videoserver (nachfolgend als VS1 bezeichnet) wird im folgenden Schritt S103 auf die Videoserver-Verwaltungstabelle
12 Bezug genommen, und es wird eine Prüfung vorgenommen, um zu bestimmen, ob der gegenwärtige Übertragungszählwert23 den maximalen Übertragungszählwert22 erreicht hat oder nicht. Wenn die Bestimmung im Schritt S103 nein ist, geht die Verarbeitung zum Schritt S104 weiter, in welchem eine Prüfung erfolgt, um zu bestimmen, ob ausreichend Raum in der Bandbreite des Netzwerks vorhanden ist oder nicht. Wenn die Prüfung im Schritt S103 anzeigt, dass der gegenwärtige Übertragungszählwert für VS1 zumindest eine vorbestimmte Anzahl unter dem maximalen Übertragungszählwert ist, und wenn die Prüfung im Schritt S104 anzeigt, dass eine vorbestimmte minimale Bandbreite für VS1 verfügbar ist, wird VSl im Schritt S104 zu einer dritten Liste L3 hinzugefügt. - Wenn ausreichend Raum in der Bandbreite vorhanden ist, wie im Schritt S104 bestimmt ist, wird im Schritt S104 der gegenwärtige Übertragungszählwert
23 für die angeforderte Videodatei erhalten durch Bezugnahme auf die Videoserver-Verwaltungstabelle12 , und es erfolgt eine Bestimmung, ob die Anzahl von Übertragungen der angeforderten Videodatei den maximalen Übertragungszählwert27 erreicht hat oder nicht. Wenn nicht, geht die Verarbeitung zu dem nächsten Schritt S106, in welchem eine Prüfung erfolgt, um zu bestim men, ob die angeforderte Videodatei bereits übertragen wird, indem auf die Benutzerverwaltungstabelle13 Bezug genommen wird. Wenn nicht, geht der Prozess zum Schritt S107 weiter, in welchem der Videoserver VSl als ein Übertragungsvideoserver bezeichnet wird. Wenn im Schritt S106 bestimmt wird, dass die angeforderte Datei übertragen wird, wird der Server VSl in eine zweite Liste L2 von Videoservern, die gegenwärtig die angeforderte Videodatei übertragen, eingetragen. - Wenn die Ergebnisse der Schritte S103, S104, S105 oder S106 nachteilig sind, wird dem Server VS1 nicht erlaubt, die angeforderte Videodatei zu übertragen. Im Schritt S109 wird ausgewählte Server VS1 von der Liste L1 entfernt, und die Liste, aus der der Server VS1 entfernt wurde, wird als eine neue Liste L1 angesehen. Im Schritt S110 wird bestimmt, ob die Liste L1 erschöpft ist, d.h., ob keine Videoserver in der Liste verbleiben. Wenn nicht, geht der Prozess zum Schritt S102 zurück, in welchem ein neuer VS1 für die weitere Verarbeitung ausgewählt wird.
- Wenn im Schritt S110 bestimmt wird, dass die Liste L1 leer ist, geht der Prozess zum Schritt S111, in welchem bestimmt wird, ob die Liste L2 erschöpft ist. Wenn nicht, wird im Schritt S112 der Videoserver in der Liste L2 mit dem kleinsten Übertragungszählwert für die angeforderte Videodatei al ein neuer VSl ausgewählt, und im Schritt S107 wird der Server VS1 als der Übertragungsserver bezeichnet. Wenn die Liste L2 leer ist, geht die Verarbeitung zum Schritt S113 weiter, in welchem bestimmt wird, ob die angeforderte Videodatei zu einem anderen Videoserver kopiert werden sollte. Die Bezugsinformationen für diese Bestimmung können entweder in einer Übertragungsanforderung enthalten sein oder sie können Teil des eingestellten Inhalts des Systems sein. Somit kann die optimale Lastverteilung für eine besondere Datei entweder für jede Anforderung oder für das gesamte System gesetzt werden. Wenn bestimmt wird, dass die angeforderte Videodatei zu einem anderen Server kopiert werden sollte, geht die Verarbeitung zum Schritt S201 weiter, der nachfolgend in Verbindung mit dem Flussdiagramm nach
6 erläutert wird. In dieser Hinsicht wird die Liste L3 für den optimalen Videoserver, zu welchem die Videodatei kopiert werden soll, konsultiert. Wenn nicht bestimmt wird, dass die angeforderte Datei zu einem anderen Server zu kopieren ist, endet der Prozess, und der Benutzer muss warten, um die Videodatei zu einer späteren Zeit anzufordern. - Es ist festzustellen, dass der maximale Übertragungszählwert
22 des VS1 nicht die Grenze der Möglichkeiten des VSl ist. Vielmehr wird zu der Zeit der Systemeinstellung ein theoretischer oberer Grenzwert, der kleiner als der maximale Übertragungszählwert in Übereinstimmung mit der Grenze der Möglichkeiten des VSl ist, vorher in der Datenbank8 gesetzt und als der maximale Übertragungszählwert22 bestimmt. Wenn es möglich ist, die Verarbeitung durchzuführen, während der der theoretisch maximale Übertragungszählwert22 für den VS1 überschritten wird, z.B. Kopieren zu der Zeit der maximalen Übertragungen, kann dann die Lastverteilungsverarbeitung glatt durchgeführt werden. - In gleicher Weise wird für die maximale Bandbreite
24 des Netzwerks eine theoretische obere Grenze, die kleiner als die tatsächliche Grenze ist, vorher in der Datenbank8 gesetzt, so dass die Lastverteilungsverarbeitung glatt durchgeführt werden kann. Die eingestellten Werte des maximalen Übertragungszählwerts22 und der maximalen Bandbreite24 werden in die Videoserver-Verwaltungstabelle12 gelesen, wenn das Lastverteilungs-Verarbeitungsprogramm15 initialisiert wird. - Es erfolgt nun eine Erläuterung des Prozesses nach dem Flussdiagramm in
6 .6 zeigt einen Dateilast-Verteilungsprozess zum Durchführen einer Dateikopie, für welche die Verteilung der Last nach der Speicherkapazität des Systems auch in Betracht gezogen wird. - Bei dieser Verarbeitung wird eine angeforderte Videodatei in einen Videoserver kopiert, für den die Lasten für die Übertragung und für die Speicherkapazität kleiner als diejenigen der anderen sind, und in welchem die angeforderte Videodatei nicht vorhanden ist, und wird von diesem Videoserver übertragen, wenn alle Videoserver, in denen die für die Übertragung angeforderte Datei vorhanden ist, eine hohe Last haben. Wenn eine angeforderte Videodatei in allen Videoservern vorhanden ist, ist das Kopieren der Datei nicht erforderlich und diese Verarbeitung wird nicht durchgeführt.
- Die Dateilast-Verteilungsverarbeitung berücksichtigt Spiegeldaten, welche anzeigen, in wie vielen Videoservern jede Videodatei gespeichert ist, und einen maximalen Spiegelzählwert, welcher vorher für jede Videodatei in dem System gesetzt ist. Die Spiegeldaten und der maximale Spiegelzählwert werden vorher in der Datenbank
8 gespeichert. Jedes Format kann für die Spiegeldaten verwendet werden, solange wie der gegenwärtige Spiegelzählwert und ein Videoserver, der gespiegelt wird, bestätigt werden können. Die Liste von gegenwärtigen Spiegelzählwerten und eine Liste von entsprechenden Videoservern können getrennt gespeichert werden. - Gemäß der bei diesem Ausführungsbeispiel verwendeten Form sind die Spiegeldaten ein Bitkennzeichen, das einen Videoserver anzeigt, und der gegenwärtige Spiegelzählwert wird durch Zählen der Kennzeichen gefunden. Der maximale Spiegelzählwert ist nur ein Wert. Die Spiegeldaten und der maximalen Spiegelzählwert können direkt von der Datenbank
8 erhalten werden oder sie können aus eingegebenen Daten erhalten werden. - Zuerst wird im Schritt S201 durch Bezugnahme auf die Spiegeldaten für eine angeforderte Videodatei bestätigt, in wie vielen Videoservern die angeforderte Videodatei gespeichert ist, und eine Prüfung wird durchgeführt, um zu bestimmen, ob der erhaltene Spiegeldatenwert den maximalen Spiegelzählwert für die angeforderte Videodatei überschreitet oder nicht. Wenn gefunden wird, dass der gegenwärtige Spiegeldatenwert für die angeforderte Videodatei den maximalen Spiegelzählwert erreicht hat, verzweigt sich die Programmsteuerung in "Ja", und die Verarbeitung wird danach beendet. Wenn der gegenwärtige Spiegeldatenwert noch nicht den maximalen Spiegelzählwert erreicht hat, verzweigt sich die Programmsteuerung in "Nein", und das Kopieren oder Spiegeln kann durchgeführt werden.
- Im Schritt S202 wird eine Liste L4 für die Videoserver erstellt, in der die angeforderte Videodatei nicht gespeichert ist. Es ist festzustellen, dass das Lastverteilungs-Verarbeitungsprogramm die Liste L4 in dem Speicher erstellt.
- Dann wird im Schritt S203 auf die gegenwärtigen Übertragungszählwerte
23 in der Videoserver-Verwaltungstabelle12 Bezug genommen, und der Videoserver, der den kleinsten gegenwärtigen Übertragungszählwert hat, wird aus der Liste L4 ausgewählt und als der VSl betrachtet. Wenn im Schritt S204 bestimmt wird, dass der gegenwärtige Übertragungszählwert23 für den VSl den maximalen Übertragungszählwert22 erreicht hat ("Ja"), oder wenn, selbst wenn das Ergebnis "Nein" ist, im Schritt S205 bestimmt wird, dass kein ausreichender Raum in der gegenwärtig nicht verwendeten Bandbreite des Netzwerks vorhanden ist ("Nein"), wird im folgenden Schritt S208 der Server VSl aus der Liste L4 entfernt und die revidierte Liste wird als neue Liste L4 bestimmt. - Wenn im Schritt S204 der gegenwärtige Übertragungszählwert
23 des VS1 nicht den maximalen Übertragungszählwert22 erreicht hat ("Nein"), und wenn im Schritt S205 ausreichend Raum in der gegenwärtig nicht verwendeten Bandbreite vorhanden ist ("Ja"), wird im Schritt S206 die Größe des freien Speicherraums von dem VS1 angefordert, um den freien Speicherraum des VS1 zu bestätigen. Wenn ein ausreichender Bereich in dem Speicher verfügbar ist, in den eine angeforderte Videodatei kopiert werden kann ("Ja"), wird im Schritt S216 der VS1 als ein Übertragungsvideoserver bezeichnet. - Wenn andererseits im Schritt S206 die Speicherkapazität nicht ausreichen ist ("Nein"), oder wenn die nicht verwendete Speicherkapazität des Videoservers VS1 die obere Grenze der Speicherkapazität, die vorher gesetzt wurde, überschreitet, wird im Schritt S207 angenommen, dass der VS1 ein Übertragungsvideoserver ist, wenn die nicht verwendete Speicherkapazi tät erhalten werden kann, und der VS1 wird als der letzte Eintrag einer Speichermangelliste L5 hinzugefügt.
- Der VS1 wird als der letzte Eintrag in die Liste L5 aus dem Grund hinzugefügt, dass, da die Videoserver in aufsteigender Reihenfolge gemäß einem gegenwärtigen Übertragungszählwert ausgewählt werden, sie auch in der Liste L5 in aufsteigender Reihenfolgen entsprechend dem gegenwärtigen Übertragungszählwert angeordnet sind, so dass der Videoserver, der den kleinsten gegenwärtigen Übertragungszählwert hat, aufeinander folgend von der Spitze der Liste L5 herausgezogen werden kann, und die Menge der erforderlichen Verarbeitung kann reduziert werden.
- Wenn im Schritt S208 die Liste L4 aktualisiert wird, wird im Schritt S209 eine Prüfung durchgeführt, um zu bestimmen, ob die Liste L4 erschöpft ist oder nicht. Wenn die Liste L4 nicht erschöpft ist ("Nein"), kehrt die Programmsteuerung zum Schritt S203 zurück, und der obige Prozess wird wiederholt, bis im Schritt S216 der Übertragungsvideoserver VSl bezeichnet wird, oder bis im Schritt S209 festgestellt wird, dass die Liste L4 erschöpft ist.
- Wenn im Schritt S209 die Liste L4 erschöpft ist ("Ja"), wird im folgenden Schritt S210 die Speichermangelliste L5 geprüft. Wenn die Liste L5 erschöpft ist ("Ja"), wird angenommen, dass kein Videoserver für die Bestimmung als ein Übertragungsvideoserver gefunden wurde, und die Verarbeitung wird danach beendet.
- Wenn im Schritt S210 die Liste L5 nicht erschöpft ist ("Nein"), wird im Schritt S211 der Videoserver an der Spitze der Liste L5 als VS1 bezeichnet. Wenn im Schritt S212 bestimmt wird, dass keine Datei vorhanden ist, die im VS1 gelöscht werden kann ("Nein"), wird im Schritt S213 der VS1 aus der Liste L5 gelöscht, die Liste als neue L5 aktualisiert, und die Programmsteuerung kehrt danach zum Schritt S210 zurück.
- Wenn im Schritt S212 eine Datei existiert, die gelöscht werden kann ("Ja"), wird im Schritt S214 diese Datei gelöscht, und im Schritt S215 wird eine Prüfung durchgeführt, um zu bestimmen, ob der freie Speicherraum des Videoservers VSl angemessen ist für das Kopieren der angeforderten Videodatei oder nicht.
- Die Bestimmung der Dateilöschung hängt on der Zugriffshäufigkeit ab, die aus einer Zugriffshistorie erhalten wird. Die Zugriffshistorie wird in der Datenbank
8 gespeichert, wenn ein Benutzer eine Übertragung anfordert. Zu der Zeit der Übertragungsanforderung werden der Name der anfordernden Benutzerstation, das Datum, der Dateiname, der Servername und Operationsinhalte als Beispiel in die Zugriffshistorie eingegeben. Dann kann die Zugriffsregistrierung für eine Videodatei und die Lastverteilung für Server erhalten werden. - Eine Videodatei, die die einzige Datei ist, die in dem System verbleibt (wie bestimmt durch Verwendung von Spiegeldaten), ist als ein Löschungsziel nicht verfügbar. Jedoch werden durch Bezugnahme auf die Zugriffshistorie Videodateien, bei denen festgestellt wird, dass sie nicht in dem Videoserver vorhanden sein müssen, da eine lange Zeit seit dem letzten Zugriffsdatum verstrichen ist, in den Bibliotheksserver kopiert, um diese Dateien in dem System zu behal ten, beginnend mit der Datei, die die längste verstrichene Zeit seit dem letzten Zugriffsdatum hat, und die Videodateien in dem Videoserver werden so gelöscht, dass die erforderliche freie Speicherkapazität in dem Videoserver erhalten werden kann.
- Wenn im Schritt S215 eine angemessene Speicherkapazität nicht erhalten werden kann ("Nein"), kehrt die Programmsteuerung zum Schritt S212 zurück, und die Löschung nicht benötigter Videodateien wird fortgesetzt. Wenn im Schritt S215 eine angemessene Speicherkapazität zum Kopieren der angeforderten Videodatei erhalten wurde, wird der VS1 im Schritt S216 als ein Übertragungsvideoserver bezeichnet.
- Nachfolgend wird im Schritt S217 eine Prüfung durchgeführt, um zu bestimmen, ob die Liste L3 erschöpft ist oder nicht, damit bestimmt wird, welcher Videoserver (nachfolgend als VS2 bezeichnet) eine Quelle für das Kopien sein wird. Die Liste L3, die im Schritt S14 erstellt wurde, besteht für die Videoserver, in denen eine angeforderte Videodatei gespeichert ist, die einen gegenwärtigen Übertragungszählwert
23 haben, der kleiner als der maximale, Übertragungszählwert22 für die Videoserver ist, und die einen ausreichenden Raum in den Bandbreiten des Netzwerks haben. Wenn die Liste L3 nicht erschöpft ist ("Nein"), wird im Schritt S218 der Videoserver auf der Liste L3, der den meisten verfügbaren Raum in der Bandbreite hat, als VS2 bezeichnet. Wenn die Liste L3 erschöpft ist ("Ja"), wird im Schritt S219 ein willkürlicher Videoserver, in welchem die angeforderte Videodatei gespeichert ist, als der VS2 bezeichnet. - Schließlich wird im Schritt S220 die angeforderte Videodatei von dem Server VS2 u dem Server VS1 kopiert, damit diese danach von dem Server VSl übertragen werden kann. Die Übertragung von dem VSl kann beginnen, selbst bevor das Kopieren von dem VS2 zu dem VSl beendet ist, und wenn die Übertragung parallel zu dem Kopiervorgang durchgeführt wird, kann eine ausgezeichnete Antwort für die Benutzerstationen erhalten werden.
- Obgleich dies bei diesem Ausführungsbeispiel nicht spezifiziert ist, gibt es zwei Wege der Verwendung des Videoservers VSl, der durch das Lastverteilungs-Verarbeitungsprogramm
15 bezeichnet ist. Bei dem einen Weg werden der Name eines anfordernden Benutzers und ein Videodateiname zu einem bezeichneten Videoserver VSl übertragen, um die Durchführung der Übertragung durch den Videoserver VS1 anzufordern, und bei dem anderen Weg wird der Name eines bezeichneten Videoservers zu einer Benutzerstation zurückgeführt, um dem Benutzer zu ermöglichen, direkt zu dem Videoserver zuzugreifen. Bei diesem Ausführungsbeispiel kann jedes der Verfahren angewendet werden. - Weiterhin kann, obgleich bei diesem Ausführungsbeispiel die Liste L1 im Schritt S101 erstellt wird, da eine List von Videoservern, in denen eine angeforderte Videodatei gespeichert ist, bekannte Daten darstellt, die Liste L1 vorher in der Datenbank
8 erstellt werden. - Weiterhin braucht, obgleich in den Schritten S103, S104, S204 und S205 auf den Übertragungszählwert und die Bandbreite Bezug genommen wird, um zu bestimmen, ob die Übertragung möglich ist oder nicht, für eine derartige Bestimmung nur auf die Bandbreite Bezug genommen zu werden, solange wie die CPU eines Videoservers ein angemessenes Leistungsvermögen hat, oder es braucht für eine derartige Bestimmung nur auf den Übertragungszählwert Bezug genommen zu werden, solang wie die Bandbreite des Videoservers angemessen ist.
- Weiterhin kann, obgleich in den Schritten S105 und S106 in Betracht gezogen wird, dass alle Übertragungen für dieselbe Videodatei nicht einem bestimmten Videoserver zugewiesen werden sollten, eine Übertragungslast ohne eine solche Berücksichtigung verteilt werden, indem nur auf gegenwärtige Übertragungszählwerte oder die gegenwärtigen Bandbreiten der Videoserver Bezug genommen wird.
- Wie vorstehend beschrieben ist, kann gemäß diesem Ausführungsbeispiel, da der Durchschnitt der Übertragungszählwerte der Videoserver gebildet wird, die Konzentration von Übertragungsanforderungen auf eine bestimmte Datei verhindert werden, und Lasten werden daher verteilt.
- Zusätzlich wird der Durchschnitt der verwendeten Speicherkapazitäten der Videoserver gebildet, indem häufig angeforderte Videodateien zu anderen Servern kopiert und nicht verwendete Videodateien aus den Servern gelöscht und zu einem Archivbibliotheksserver übertragen werden.
- Weiterhin wird, wenn eine Videodatei zu einem anderen Videoserver kopiert wird, wenn die Übertragungsanforderungen für die Videodatei häufig sind, der maximale Übertragungszählwert für das System relativ zu der angeforderten Datei erhöht, und ein angemessener Service ist sichergestellt als Antwort auf Übertragungsanforderungen von Benutzern.
- Da Videodateien, deren Anzahl durch Kopieren automa tisch erhöht wird, automatisch gelöscht werden, wenn die Zugriffshäufigkeit sich verringert, kann die für die Systemverwaltung erforderlich Arbeit herabgesetzt werden.
- Als ein Ergebnis des automatischen Kopierens und Löschens von Videodateien nehmen Kopien einer Videodatei, die häufig verwendet wird, zu, und demgemäß wird der Übertragungszählwert für die Videodatei in dem System erhöht. Da andererseits die Videodateien, die weniger häufig verwendet werden automatisch gelöscht werden, werden die Übertragungszählwerte für die Videodateien in dem System verringert. Daher kann, da die Anzahl von Kopien der Videodateien, d.h., die Übertragungszählwerte der Videodateien proportional zu der Häufigkeit ihrer Verwendung ist, die Lastverteilung gemäß der Speicherkapazität in Übereinstimmung mit der Häufigkeit der Verwendung durchgeführt werden.
- Gemäß einem zweiten Ausführungsbeispiel der Erfindung wird auf die Zugriffshistorie für jeden Videoserver Bezug genommen, und Daten für die Lastverteilung für einen Tag werden für jeden Videoserver erhalten. Es wird vorhergesagt, dass die Last für jeden Videoserver in folgenden Perioden erhöht oder verringert wird, und diese Vorhersage kann als eine Bezugsgröße für die Bestimmung verwendet werden. Z.B. wird die Bestimmung durch Verwendung der Bezugsgröße in den Schritten S102 und S112 in
5 hinzugefügt. Wenn die Last auf dem Videoserver die Tendenz hat, sich zu erhöhen, wird der Videoserver entfernt und ein Videoserver, für den der gegenwärtige und künftige Übertragungszählwert am kleinsten ist, wird ausgewählt. Die Lastvorhersage gemäß der Eintages-Lastverteilung, welche aus der Zugriffshistorie erhalten wird, kann nicht nur für einen Übertragungsvideoserver zu der Zeit der Lastverteilung verwendet werden, sondern auch für die beiden Videoserver, die während eines Kopiervorgangs betroffen sind, so dass ein glatter Kopiervorgang durchgeführt werden kann. - Der Erwerb der Lastverteilungsdaten ist nicht auf Einheiten eines Tages beschränkt, sondern sie können für die Einheiten eines Monats, einer Woche oder einer Stunde erhalten werden, und die Einheiten können wie benötigt ausgewählt werden.
- Neben der vorstehend beschriebenen Bezugsgröße für die Bestimmung können ein Eintrag für eine Übertragungsstartzeit und ein Eintrag für eine Dateigröße in der Benutzerverwaltungstabelle
13 vorgesehen sein. Die verbleibende Zeit für eine Videodatei, die gegenwärtig übertragen wird, wird berechnet, um eine künftige Last vorherzusagen, und ein Videoserver, für den der gegenwärtige und der künftige Übertragungszählwert am kleinsten sind, kann ebenfalls ausgewählt werden. - Ein drittes Ausführungsbeispiel der Erfindung wird nun beschrieben. Beim Ausführungsbeispiel 1 werden Lasten bei Empfang von Übertragungsanforderungen für eine Videodatei nicht nur durch Durchführung der Übertragungslast-Verteilungsverarbeitung für den Zweck der Durchschnittswertbildung von Übertragungszählwerten verteilt, sondern auch durch Durchführung einer Dateilast-Verteilungsverarbeitung, um zu verhindern, dass Anforderungen für eine bestimmte Videodatei zu einem einzigen Videoserver gerichtet werden, und einer Speicherlast-Verteilungsverarbeitung, um den Durchschnitt der verwendeten Speichergrößen zu bilden. Wenn eine Änderung in der Dateikonfiguration ei nes Videoservers nicht gewünscht ist, können die Dateilastverteilung und die Speicherlast-Verteilungsverarbeitung nach
6 übersprungen werden, und es braucht nur die Übertragungslast-Verteilungsverarbeitung in5 durchgeführt zu werden. Eine optimale Lastverteilung betreffend die Übertragung kann vorgesehen werden, indem nur die Übertragungslast-Verteilungsverarbeitung durchgeführt wird. Es ist festzustellen, dass in diesem Fall die Lastvorhersage durchgeführt werden kann durch Verwendung statistischer Informationen und der verbleibenden Zeit für eine Videodatei, die gerade übertragen wird. - Gemäß einem vierten Ausführungsbeispiel können, wenn ein Kopiervorgang in Abhängigkeit von einer Anforderung von einem Benutzer durchzuführen ist, die Dateilastverteilung und die Speicherlast-Verteilungsverarbeitung nach
6 ebenfalls durchgeführt werden, um einen Kopiervorgang durchzuführen, bei dem die Speicherkapazität nicht berücksichtigt wird. Ein Videoserver, der eine Kopierquelle ist, wird direkt durch einen Benutzer ausgewählt oder wird in derselben Weise wie bei dem Vorgang nach Schritt S114 zum Erstellen der Liste L3 erhalten. - Obgleich Videodaten als ein Beispiel in den vorstehend beschriebenen Ausführungsbeispielen verwendet werden, sind die Daten nicht auf Videodaten beschränkt, sondern können Animationsdaten, statische Bilddaten, Musikdaten, Sprachdaten, Textdaten usw. sein. Demgemäß kann der vorstehend beschriebene Videoserver ein Server sein, der andere Daten als Videodaten verarbeitet.
- Die Ausführungsbeispiele der Erfindung mit der vorbe schriebenen Struktur haben die folgenden Vorteile.
- Gemäß einem ersten Aspekt der Erfindung ist ein Lastverteilungssystem vorgesehen mit einer Berechnungsvorrichtung zum Erhalten eines Übertragungszählwertes für jeden Datensatz, der von jedem Server übertragen wird, und mit einer Bestimmungsvorrichtung zum Auswählen eines Servers als ein Datenübertragungsserver, welcher Daten überträgt, die von Benutzern angefordert werden, und bei dem der Übertragungszählwert am kleinsten ist. Da ein Server, der Daten überträgt, die von Benutzern angefordert werden, und für den der Übertragungszählwert am kleinsten ist, die Datenübertragung durchführt, können Lasten auf mehrere Server verteilt werden.
- Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren vorgesehen, welches aufweist: einen Berechnungsschritt zum Erwerben eines Übertragungszählwertes für Daten, die jeder Server überträgt, und einen Bestimmungsschritt zur Auswahl eines Servers als einen Datenübertragungsserver aus den Servern, die die Daten übertragen, welche von Benutzern angefordert werden, bei dem der Übertragungszählwert für die Daten am kleinsten ist. Da die Datenübertragung durch einen Server durchgeführt wird, der die Daten, welche von Benutzern angefordert werden, überträgt, und für den der Übertragungszählwert der Daten am kleinsten ist, können Lasten auf mehrere Server verteilt werden.
Claims (10)
- Lastverteilungssystem zum Verteilen von Übertragungsanforderungen für ausgewählte Dateien als Lasten, die von einer Vielzahl von Benutzerstationen (
3 ,4 ,5 ) ausgegeben wurden, welches aufweist: (a) eine Vielzahl von Servern (1 ,2 ), die jeweils eine Speichervorrichtung aufweisen, in der eine Vielzahl von Dateien gespeichert sind, um angeforderte Dateien zu Benutzerstationen zu übertragen; und (b) einen Steuerserver (7 ), der mit der Vielzahl von Servern (1 ,2 ) verbunden ist, dadurch gekennzeichnet, dass der Steuerserver (7 ) enthält: eine Berechnungsvorrichtung zum Erwerben eines Übertragungszählwertes für jeden der Vielzahl von Servern und für jede der Dateien, die von jedem der Vielzahl von Servern (1 ,2 ) übertragen werden, und eine Bestimmungsvorrichtung (15 ) zum Empfang der Übertragungsanforderungen von der Vielzahl von Benutzerstationen (3 ,4 ,5 ) und zur Auswahl eines Servers als Datenübertragungsserver für eine Datei, die von einer der Vielzahl von Benutzerstation (3 ,4 ,5 ) angefordert wird, für den der Übertragungszählwert für die Datei, die von ei ner der Vielzahl von Benutzerstation (3 ,4 ,5 ) angefordert wird, am kleinsten ist. - System nach Anspruch 1, dadurch gekennzeichnet, dass die Bestimmungsvorrichtung (
15 ) weiterhin eine Datei, die von den Benutzerstationen (3 ,4 ,5 ) angefordert wird, von einem diese Datei speichernden Server (1 ,2 ) in einen Server (1 ,2 ) kopiert, der diese Datei nicht enthält, und den Server (1 ,2 ), in welchen diese Datei kopiert wurde, als einen Datenübertragungsserver auswählt. - System nach Anspruch 2, worin die Bestimmungsvorrichtung (
15 ) dem Server (1 ,2 ), in welchen die Daten kopiert werden, ermöglicht, Dateien parallel zu der Durchführung des Kopierens dieser Dateien in diesen Server (1 ,2 ) zu übertragen. - System nach Anspruch 2, worin die Bestimmungsvorrichtung (
15 ) maximale Zählwerte für übertragene Daten und maximale Übertragungszählwerte von identischen Daten für die Vielzahl von Servern (1 ,2 ) als Schwellenwerte für die Durchführung des Kopierens durch die Vielzahl von Servern (1 ,2 ) verwendet und die Schwellenwerte für die Bestimmung benutzt, ob diese Dateien zu kopieren sind oder nicht. - System nach Anspruch 2, worin die Bestimmungsvorrichtung (
15 ) einen Schwellenwert für jedes Datenwort dieser Daten verwendet, das einen maximalen Zählwert für zu speichernde Datenkopien anzeigt, und diesen Schwellenwert verwendet, um zu bestimmen, ob ein Kopieren dieser Dateien durchzuführen ist oder nicht. - System nach Anspruch 2, worin die Bestimmungsvorrichtung (
15 ) eine verbleibende Speicherkapazität von jeder der Speichervorrichtungen der Vielzahl von Servern (1 ,2 ) prüft und den Server (1 ,2 ), zu welchem die Dateien zu kopieren sind, gemäß der verbleibenden Speicherkapazität auswählt. - System nach Anspruch 6, worin der Steuerserver (
7 ) weiterhin eine Berechnungsvorrichtung (15 ) aufweist für den Erwerb eines Übertragungszählwertes für jede der Dateien, die zu jedem der Vielzahl von Servern (1 ,2 ) übertragen werden, und worin, wenn die verbleibende Speicherkapazität der Speichervorrichtungen von jedem der Vielzahl von Servern (1 ,2 ) kleiner ist als die Größe der zu kopierenden Datei, die Bestimmungsvorrichtung (15 ) eine Datei aus einem ausgewählten Server (1 ,2 ) löscht, für welche ein Übertragungszählwert am kleinsten ist. - System nach Anspruch 7, weiterhin aufweisend einen Bibliotheksserver (
9 ) mit einer Speichervorrichtung, in der eine Vielzahl von Daten gespeichert sind, wobei vor dem Löschen von Daten die Bestimmungsvorrichtung (15 ) diese Daten in den Bibliotheksserver (9 ) kopiert. - System nach Anspruch 2, worin der Steuerserver (
7 ) weiterhin eine Berechnungsvorrichtung (15 ) aufweist für den Erwerb eines Lastverteilungsverzeichnisses für einen bestimmten der Vielzahl von Servern (1 ,2 ) aus Übertragungs-Zugriffshistorien für die Vielzahl von Servern (1 ,2 ), und wobei in Übereinstimmung mit den Lastverteilungsverzeichnissen die Bestimmungsvorrichtung Lasten für die Vielzahl von Servern (1 ,2 ), die durch Kopiervorgänge bewirkt werden, vorhersagt und einen Server (1 ,2 ) als einen Kopierbestimmungsserver (1 ,2 ) auswählt, dessen vorhergesagte Last am kleinsten ist. - Lastverteilungsverfahren zum Verteilen von Übertragungsanforderungen für ausgewählte Dateien, die von einer Vielzahl von Benutzerstationen ausgegeben wurden, als Lasten unter einer Vielzahl von Servern (
1 ,2 ), gekennzeichnet durch die Schritte: Erwerben eines Übertragungszählwertes für jeden der Vielzahl von Servern (1 ,2 ) und jede der Dateien, die von jedem der Vielzahl von Servern (1 ,2 ) übertragen wurden; Empfangen einer Übertragungsanforderung für eine Datei von einer der Benutzerstationen (3 ,4 ,5 ); und Auswählen eines Servers (1 ,2 ) aus der Vielzahl von Servern (1 ,2 ) als Datenübertragungsserver für die Datei, die von der einen der Benutzerstationen (3 ,4 ,5 ) angefordert ist, für den der Übertragungszählwert für die Datei, die von der einen der Vielzahl von Benutzerstationen (3 ,4 ,5 ) angefordert ist, am kleinsten ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33880695 | 1995-12-26 | ||
JP7338806A JPH09179820A (ja) | 1995-12-26 | 1995-12-26 | 負荷分散方式及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69626052D1 DE69626052D1 (de) | 2003-03-06 |
DE69626052T2 true DE69626052T2 (de) | 2004-01-22 |
Family
ID=18321648
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69619213T Expired - Fee Related DE69619213T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren zur Lastverteilung eines Datei-Servers |
DE69628769T Expired - Fee Related DE69628769T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren um die Belastung von Datei-Server zu verteilen |
DE69629218T Expired - Fee Related DE69629218T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen |
DE69626052T Expired - Fee Related DE69626052T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren zum Verteilen der Belastung eines Datei-Servers |
DE69628682T Expired - Fee Related DE69628682T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69619213T Expired - Fee Related DE69619213T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren zur Lastverteilung eines Datei-Servers |
DE69628769T Expired - Fee Related DE69628769T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren um die Belastung von Datei-Server zu verteilen |
DE69629218T Expired - Fee Related DE69629218T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69628682T Expired - Fee Related DE69628682T2 (de) | 1995-12-26 | 1996-11-21 | System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen |
Country Status (5)
Country | Link |
---|---|
US (1) | US6401121B1 (de) |
EP (5) | EP1054323B1 (de) |
JP (1) | JPH09179820A (de) |
DE (5) | DE69619213T2 (de) |
HK (4) | HK1032646A1 (de) |
Families Citing this family (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3190813B2 (ja) | 1996-02-15 | 2001-07-23 | 日本電気株式会社 | 配信システム |
KR100480019B1 (ko) * | 1997-08-29 | 2005-07-07 | 엘지전자 주식회사 | 다중스트림서버를갖는비디오서버의최소중복저장방법 |
US6816904B1 (en) * | 1997-11-04 | 2004-11-09 | Collaboration Properties, Inc. | Networked video multimedia storage server environment |
KR20040101454A (ko) * | 1998-03-26 | 2004-12-02 | 샤프 가부시키가이샤 | 데이터 재생 장치, 데이터 판매 장치 및 방법, 및 데이터유통 시스템 및 방법 |
JPH11298880A (ja) * | 1998-04-09 | 1999-10-29 | Toshiba Corp | ストレージ共有型分散ビデオサーバシステム |
JP3285841B2 (ja) * | 1998-04-24 | 2002-05-27 | 株式会社次世代情報放送システム研究所 | コンテンツ提供装置およびコンテンツ提供方法、受信装置および受信方法、並びに通信システムおよび通信方法 |
US7707600B1 (en) * | 1998-08-21 | 2010-04-27 | Intel Corporation | Confirming video transmissions |
US6438652B1 (en) * | 1998-10-09 | 2002-08-20 | International Business Machines Corporation | Load balancing cooperating cache servers by shifting forwarded request |
DE19900636B8 (de) | 1999-01-11 | 2005-04-07 | Gailer, Peter | Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem sowie deren Verwendung |
GB2346302B (en) * | 1999-01-29 | 2003-06-18 | Ibm | Pre-emptive network load balancing by predictive configuration |
WO2000060482A1 (en) * | 1999-04-01 | 2000-10-12 | Diva Systems Corporation | A program scheduler for an interactive information distribution system |
US6587881B1 (en) * | 1999-04-09 | 2003-07-01 | Microsoft Corporation | Software server usage governor |
US6947388B1 (en) * | 1999-10-20 | 2005-09-20 | International Business Machines Corporation | Method and system for a real-time bandwidth allocation scheduler for media delivery |
JP3463803B2 (ja) * | 1999-11-09 | 2003-11-05 | 松下電器産業株式会社 | クラスタサーバ装置 |
US6560717B1 (en) * | 1999-12-10 | 2003-05-06 | Art Technology Group, Inc. | Method and system for load balancing and management |
JP3880760B2 (ja) * | 1999-12-28 | 2007-02-14 | 富士通株式会社 | 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US7454457B1 (en) | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
US6658473B1 (en) * | 2000-02-25 | 2003-12-02 | Sun Microsystems, Inc. | Method and apparatus for distributing load in a computer environment |
US6970425B1 (en) * | 2000-04-27 | 2005-11-29 | At&T Corp. | Method and apparatus for throttling and distributing data transmissions across a network |
JP2002073651A (ja) * | 2000-06-13 | 2002-03-12 | Canon Inc | データ管理システム、サーバ、データ管理方法 |
US7237027B1 (en) | 2000-11-10 | 2007-06-26 | Agami Systems, Inc. | Scalable storage system |
US7035921B1 (en) * | 2000-11-14 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Method of and apparatus for providing web service using a network of servers |
US7231445B1 (en) * | 2000-11-16 | 2007-06-12 | Nortel Networks Limited | Technique for adaptively distributing web server requests |
US6862692B2 (en) | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US6990667B2 (en) * | 2001-01-29 | 2006-01-24 | Adaptec, Inc. | Server-independent object positioning for load balancing drives and servers |
US20020184368A1 (en) * | 2001-04-06 | 2002-12-05 | Yunsen Wang | Network system, method and protocols for hierarchical service and content distribution via directory enabled network |
US20020152310A1 (en) * | 2001-04-12 | 2002-10-17 | International Business Machines Corporation | Method and apparatus to dynamically determine the optimal capacity of a server in a server farm |
JP4417582B2 (ja) * | 2001-04-23 | 2010-02-17 | 富士通株式会社 | 負荷分散方法及びその装置 |
US7363374B2 (en) * | 2001-04-27 | 2008-04-22 | International Business Machines Corporation | Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers |
US7797375B2 (en) * | 2001-05-07 | 2010-09-14 | International Business Machines Corporat | System and method for responding to resource requests in distributed computer networks |
JP2003067331A (ja) * | 2001-08-28 | 2003-03-07 | Matsushita Electric Ind Co Ltd | スケジュール作成方法、スケジュール作成装置及びスケジュール作成プログラム |
US6778999B2 (en) * | 2001-10-12 | 2004-08-17 | International Business Machines Corporation | Method for distributing a set of objects in computer application |
US20030117500A1 (en) * | 2001-12-24 | 2003-06-26 | Icp Electronics Inc. | Network video recording system |
US20030172094A1 (en) * | 2002-03-06 | 2003-09-11 | International Business Machines Corporation | Automatic file system maintenance |
GB0213073D0 (en) * | 2002-06-07 | 2002-07-17 | Hewlett Packard Co | Method of maintaining availability of requested network resources |
WO2003107208A1 (en) * | 2002-06-12 | 2003-12-24 | Zambeel, Inc. | Scalable storage system |
ATE438243T1 (de) * | 2002-06-28 | 2009-08-15 | Nokia Corp | Lastausgleicheinrichtung und verfahren dafür |
US7827214B1 (en) | 2003-02-14 | 2010-11-02 | Google Inc. | Maintaining data in a file system |
US7392318B1 (en) | 2003-03-21 | 2008-06-24 | Novell, Inc. | Method and system for balancing a traffic load in a half-duplex environment |
US7613768B2 (en) * | 2003-05-19 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Method and system for managing a streaming media service |
US7451209B1 (en) | 2003-10-22 | 2008-11-11 | Cisco Technology, Inc. | Improving reliability and availability of a load balanced server |
US7421695B2 (en) * | 2003-11-12 | 2008-09-02 | Cisco Tech Inc | System and methodology for adaptive load balancing with behavior modification hints |
DE602004030162D1 (de) * | 2004-02-27 | 2010-12-30 | Teamon Systems Inc | Kommunikationssystem und verfahren zum zugreifen auf einen server und zum verhindern von zugangsblockierungs- und minimierendem netzwerkverkehr |
US7818416B2 (en) * | 2004-02-27 | 2010-10-19 | Teamon Systems, Inc. | Communications system and method for accessing a server and preventing access blocking and minimizing network traffic |
KR100579782B1 (ko) * | 2004-06-02 | 2006-05-15 | 곽윤식 | 웹 스토리지 기반의 그룹 오피스 시스템 및 그 구현 방법 |
WO2006030821A1 (ja) | 2004-09-14 | 2006-03-23 | Nec Corporation | データ配信システム及びデータ配信方法 |
US8214461B1 (en) | 2004-11-23 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Method of processing request by server computer system |
US7644410B1 (en) * | 2004-11-23 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Resource management for shared computing environment |
US8458125B1 (en) * | 2005-01-31 | 2013-06-04 | Oracle America, Inc. | Dynamic creation of replicas of streaming data from a storage device without added load |
JP2006293885A (ja) * | 2005-04-14 | 2006-10-26 | I Broadcast:Kk | 情報配信システムと方法およびプログラム |
US20070088817A1 (en) * | 2005-10-14 | 2007-04-19 | Microsoft Corporation | Shared video service |
JP2007115140A (ja) * | 2005-10-21 | 2007-05-10 | Hitachi Ltd | ストレージシステム、及びストレージスシステムの制御方法 |
CN100531358C (zh) * | 2006-03-13 | 2009-08-19 | 华为技术有限公司 | 一种电子节目单服务器部署系统及建立和运行方法 |
US8161168B2 (en) * | 2006-03-18 | 2012-04-17 | Metafluent, Llc | JMS provider with plug-able business logic |
US7590666B2 (en) * | 2006-06-16 | 2009-09-15 | Microsoft Corporation | Predicting capacity consumption in a memory component |
US9094257B2 (en) | 2006-06-30 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US8717911B2 (en) | 2006-06-30 | 2014-05-06 | Centurylink Intellectual Property Llc | System and method for collecting network performance information |
US8488447B2 (en) | 2006-06-30 | 2013-07-16 | Centurylink Intellectual Property Llc | System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance |
US8477614B2 (en) | 2006-06-30 | 2013-07-02 | Centurylink Intellectual Property Llc | System and method for routing calls if potential call paths are impaired or congested |
US8194643B2 (en) | 2006-10-19 | 2012-06-05 | Embarq Holdings Company, Llc | System and method for monitoring the connection of an end-user to a remote network |
US8289965B2 (en) | 2006-10-19 | 2012-10-16 | Embarq Holdings Company, Llc | System and method for establishing a communications session with an end-user based on the state of a network connection |
US8199653B2 (en) | 2006-08-22 | 2012-06-12 | Embarq Holdings Company, Llc | System and method for communicating network performance information over a packet network |
US8531954B2 (en) | 2006-08-22 | 2013-09-10 | Centurylink Intellectual Property Llc | System and method for handling reservation requests with a connection admission control engine |
US8144586B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for controlling network bandwidth with a connection admission control engine |
US8619600B2 (en) | 2006-08-22 | 2013-12-31 | Centurylink Intellectual Property Llc | System and method for establishing calls over a call path having best path metrics |
US8130793B2 (en) | 2006-08-22 | 2012-03-06 | Embarq Holdings Company, Llc | System and method for enabling reciprocal billing for different types of communications over a packet network |
US8407765B2 (en) | 2006-08-22 | 2013-03-26 | Centurylink Intellectual Property Llc | System and method for restricting access to network performance information tables |
US8125897B2 (en) | 2006-08-22 | 2012-02-28 | Embarq Holdings Company Lp | System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets |
US8750158B2 (en) | 2006-08-22 | 2014-06-10 | Centurylink Intellectual Property Llc | System and method for differentiated billing |
US8223655B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | System and method for provisioning resources of a packet network based on collected network performance information |
US7684332B2 (en) | 2006-08-22 | 2010-03-23 | Embarq Holdings Company, Llc | System and method for adjusting the window size of a TCP packet through network elements |
US7843831B2 (en) | 2006-08-22 | 2010-11-30 | Embarq Holdings Company Llc | System and method for routing data on a packet network |
US8194555B2 (en) | 2006-08-22 | 2012-06-05 | Embarq Holdings Company, Llc | System and method for using distributed network performance information tables to manage network communications |
US8238253B2 (en) | 2006-08-22 | 2012-08-07 | Embarq Holdings Company, Llc | System and method for monitoring interlayer devices and optimizing network performance |
US8228791B2 (en) | 2006-08-22 | 2012-07-24 | Embarq Holdings Company, Llc | System and method for routing communications between packet networks based on intercarrier agreements |
US8537695B2 (en) | 2006-08-22 | 2013-09-17 | Centurylink Intellectual Property Llc | System and method for establishing a call being received by a trunk on a packet network |
US8064391B2 (en) | 2006-08-22 | 2011-11-22 | Embarq Holdings Company, Llc | System and method for monitoring and optimizing network performance to a wireless device |
US8743703B2 (en) | 2006-08-22 | 2014-06-03 | Centurylink Intellectual Property Llc | System and method for tracking application resource usage |
US8549405B2 (en) | 2006-08-22 | 2013-10-01 | Centurylink Intellectual Property Llc | System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally |
US8144587B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for load balancing network resources using a connection admission control engine |
US8189468B2 (en) | 2006-10-25 | 2012-05-29 | Embarq Holdings, Company, LLC | System and method for regulating messages between networks |
US8223654B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | Application-specific integrated circuit for monitoring and optimizing interlayer network performance |
US8576722B2 (en) | 2006-08-22 | 2013-11-05 | Centurylink Intellectual Property Llc | System and method for modifying connectivity fault management packets |
US8274905B2 (en) * | 2006-08-22 | 2012-09-25 | Embarq Holdings Company, Llc | System and method for displaying a graph representative of network performance over a time period |
US9479341B2 (en) | 2006-08-22 | 2016-10-25 | Centurylink Intellectual Property Llc | System and method for initiating diagnostics on a packet network node |
US8015294B2 (en) | 2006-08-22 | 2011-09-06 | Embarq Holdings Company, LP | Pin-hole firewall for communicating data packets on a packet network |
US8107366B2 (en) | 2006-08-22 | 2012-01-31 | Embarq Holdings Company, LP | System and method for using centralized network performance tables to manage network communications |
US8224255B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | System and method for managing radio frequency windows |
US8307065B2 (en) | 2006-08-22 | 2012-11-06 | Centurylink Intellectual Property Llc | System and method for remotely controlling network operators |
US20100070650A1 (en) * | 2006-12-02 | 2010-03-18 | Macgaffey Andrew | Smart jms network stack |
US9015342B2 (en) * | 2007-01-22 | 2015-04-21 | Xerox Corporation | Two-level structured overlay design for cluster management in a peer-to-peer network |
WO2008094449A1 (en) * | 2007-01-26 | 2008-08-07 | Andrew Macgaffey | Novel jms api for standardized to financial market data systems |
CN101123527B (zh) * | 2007-02-25 | 2010-10-27 | 华为技术有限公司 | 一种流媒体系统、信令转发设备以及流媒体发送方法 |
US20080219158A1 (en) * | 2007-03-09 | 2008-09-11 | Nbc Universal, Inc. | Media content distribution system and method |
US8111692B2 (en) | 2007-05-31 | 2012-02-07 | Embarq Holdings Company Llc | System and method for modifying network traffic |
US8612974B2 (en) * | 2007-07-16 | 2013-12-17 | Red Hat, Inc. | Dynamic service topology |
JP2009163440A (ja) * | 2007-12-28 | 2009-07-23 | Nec Corp | 負荷分散方法、負荷分散システム、負荷分散サーバ及び負荷分散プログラム |
WO2009123511A1 (en) * | 2008-04-03 | 2009-10-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Interactive media system and method for dimensioning interaction servers in an interactive media system |
US8068425B2 (en) | 2008-04-09 | 2011-11-29 | Embarq Holdings Company, Llc | System and method for using network performance information to determine improved measures of path states |
JP5528713B2 (ja) * | 2009-02-26 | 2014-06-25 | 株式会社 日立産業制御ソリューションズ | 映像配信システム |
JP5153685B2 (ja) * | 2009-03-04 | 2013-02-27 | 株式会社日立製作所 | コンテンツ配信システムおよび配信制御サーバ |
JP2011215794A (ja) * | 2010-03-31 | 2011-10-27 | Fujitsu Ltd | 分散ストレージシステム及びプログラム |
CN102148813B (zh) * | 2010-09-30 | 2014-02-26 | 华为技术有限公司 | 媒体内容的传输方法和系统 |
US8856846B2 (en) * | 2010-11-29 | 2014-10-07 | At&T Intellectual Property I, L.P. | Content placement |
US9354932B2 (en) | 2011-06-21 | 2016-05-31 | Microsoft Technology Licensing, Llc | Dynamically allocated thread-local storage |
US8549570B2 (en) * | 2012-02-23 | 2013-10-01 | Ericsson Television Inc. | Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe |
KR101609812B1 (ko) | 2012-04-09 | 2016-04-20 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 프로세싱 로드 분배 |
JP5975749B2 (ja) * | 2012-06-14 | 2016-08-23 | シャープ株式会社 | データ配信システム、データ配信方法及び配信制御サーバー |
CN105262830B (zh) * | 2015-10-30 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种文件上传方法及装置 |
JP6776864B2 (ja) * | 2016-12-13 | 2020-10-28 | 富士通株式会社 | 負荷分散装置及び負荷分散方法 |
CN111182026B (zh) * | 2019-11-27 | 2023-05-12 | 广西金慕联行数字科技有限公司 | 一种智能云盒子 |
CN112671918B (zh) * | 2020-12-29 | 2024-03-05 | 平安普惠企业管理有限公司 | 基于二进制的分布式数据下载方法、装置、设备及介质 |
CN113873045B (zh) * | 2021-11-11 | 2023-09-12 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN114374683A (zh) * | 2021-12-20 | 2022-04-19 | 上海金仕达软件科技有限公司 | 一种档案文件的管理方法、系统及计算机可读存储介质 |
CN114265695A (zh) * | 2021-12-26 | 2022-04-01 | 特斯联科技集团有限公司 | 基于决策技术的能控装置及系统 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3702006A (en) * | 1971-06-09 | 1972-10-31 | Ibm | Method for balancing the utilization of input/output devices |
JPH0293836A (ja) * | 1988-09-30 | 1990-04-04 | Toshiba Corp | 分散型データベース管理装置 |
US5031089A (en) * | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
EP0384339B1 (de) * | 1989-02-24 | 1997-04-02 | Digital Equipment Corporation | Makler für die Auswahl von Rechnernetzwerkservern |
US5155851A (en) | 1989-05-15 | 1992-10-13 | Bell Communications Research, Inc. | Routing an incoming data stream to parallel processing stations |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5239649A (en) * | 1989-10-30 | 1993-08-24 | International Business Machines Corporation | Channel path load balancing, through selection of storage volumes to be processed, for long running applications |
EP0471090B1 (de) * | 1990-03-05 | 1998-09-16 | Fujitsu Limited | Datenverarbeitungssystem zur nachrichtenübertragung |
JPH04310188A (ja) * | 1991-03-01 | 1992-11-02 | Internatl Business Mach Corp <Ibm> | 文書/画像ライブラリのためのライブラリサービス方法 |
US5745758A (en) * | 1991-09-20 | 1998-04-28 | Shaw; Venson M. | System for regulating multicomputer data transfer by allocating time slot to designated processing task according to communication bandwidth capabilities and modifying time slots when bandwidth change |
US5668986A (en) * | 1991-10-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for handling data storage requests in a distributed data base environment |
US5404515A (en) * | 1992-04-30 | 1995-04-04 | Bull Hn Information Systems Inc. | Balancing of communications transport connections over multiple central processing units |
US5444848A (en) * | 1992-04-30 | 1995-08-22 | Bull Hn Information Systems Inc. | Distribution of communications connections over multiple service access points by choosing remote and local access points having lowest number of connections |
US5299313A (en) * | 1992-07-28 | 1994-03-29 | 3Com Corporation | Network interface with host independent buffer management |
US5386545A (en) * | 1992-09-25 | 1995-01-31 | Archive Corporation | Target management method for data backup to a shared transfer station, multiple media element device |
US5483468A (en) * | 1992-10-23 | 1996-01-09 | International Business Machines Corporation | System and method for concurrent recording and displaying of system performance data |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
JPH06332782A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | ファイルサーバシステム及びそのファイルアクセス制御方法 |
DE69330371T2 (de) * | 1993-04-19 | 2002-05-02 | Ibm | System zur netzwerkweiten Bandbreitenzuordnung |
US5473362A (en) * | 1993-11-30 | 1995-12-05 | Microsoft Corporation | Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling |
US5544327A (en) * | 1994-03-01 | 1996-08-06 | International Business Machines Corporation | Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied |
US5537542A (en) * | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
US5802301A (en) * | 1994-05-11 | 1998-09-01 | International Business Machines Corporation | System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing |
US5583561A (en) * | 1994-06-07 | 1996-12-10 | Unisys Corporation | Multi-cast digital video data server using synchronization groups |
US5583995A (en) * | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5603029A (en) * | 1995-06-07 | 1997-02-11 | International Business Machines Corporation | System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5915095A (en) * | 1995-08-08 | 1999-06-22 | Ncr Corporation | Method and apparatus for balancing processing requests among a plurality of servers based on measurable characteristics off network node and common application |
US5768681A (en) * | 1995-08-22 | 1998-06-16 | International Business Machines Corporation | Channel conservation for anticipated load surge in video servers |
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 |
-
1995
- 1995-12-26 JP JP7338806A patent/JPH09179820A/ja active Pending
-
1996
- 1996-11-15 US US08/749,499 patent/US6401121B1/en not_active Expired - Fee Related
- 1996-11-21 DE DE69619213T patent/DE69619213T2/de not_active Expired - Fee Related
- 1996-11-21 DE DE69628769T patent/DE69628769T2/de not_active Expired - Fee Related
- 1996-11-21 EP EP00118690A patent/EP1054323B1/de not_active Expired - Lifetime
- 1996-11-21 DE DE69629218T patent/DE69629218T2/de not_active Expired - Fee Related
- 1996-11-21 EP EP01115163A patent/EP1152337B1/de not_active Expired - Lifetime
- 1996-11-21 EP EP00118691A patent/EP1054324B1/de not_active Expired - Lifetime
- 1996-11-21 EP EP00118688A patent/EP1074913B1/de not_active Expired - Lifetime
- 1996-11-21 DE DE69626052T patent/DE69626052T2/de not_active Expired - Fee Related
- 1996-11-21 DE DE69628682T patent/DE69628682T2/de not_active Expired - Fee Related
- 1996-11-21 EP EP96118691A patent/EP0782072B1/de not_active Expired - Lifetime
-
2001
- 2001-05-04 HK HK01103174A patent/HK1032646A1/xx not_active IP Right Cessation
- 2001-05-14 HK HK01103327A patent/HK1032651A1/xx not_active IP Right Cessation
- 2001-06-04 HK HK01103855A patent/HK1033189A1/xx not_active IP Right Cessation
-
2002
- 2002-04-16 HK HK02102861A patent/HK1041070A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69628769T2 (de) | 2004-05-19 |
EP1074913B1 (de) | 2003-06-11 |
EP1074913A2 (de) | 2001-02-07 |
DE69619213D1 (de) | 2002-03-21 |
EP0782072A1 (de) | 1997-07-02 |
EP0782072B1 (de) | 2002-02-13 |
HK1033189A1 (en) | 2001-08-17 |
EP1054324A2 (de) | 2000-11-22 |
EP1152337B1 (de) | 2003-01-29 |
EP1054324B1 (de) | 2003-07-23 |
HK1041070A1 (en) | 2002-06-28 |
DE69626052D1 (de) | 2003-03-06 |
EP1054323A3 (de) | 2001-11-07 |
EP1152337A1 (de) | 2001-11-07 |
EP1054323B1 (de) | 2003-06-18 |
DE69629218D1 (de) | 2003-08-28 |
HK1032651A1 (en) | 2001-07-27 |
EP1074913A3 (de) | 2001-11-07 |
JPH09179820A (ja) | 1997-07-11 |
US6401121B1 (en) | 2002-06-04 |
EP1054324A3 (de) | 2001-11-07 |
DE69629218T2 (de) | 2004-04-22 |
DE69628682D1 (de) | 2003-07-17 |
HK1032646A1 (en) | 2001-07-27 |
EP1054323A2 (de) | 2000-11-22 |
DE69619213T2 (de) | 2002-11-07 |
DE69628682T2 (de) | 2004-04-29 |
DE69628769D1 (de) | 2003-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69626052T2 (de) | System und Verfahren zum Verteilen der Belastung eines Datei-Servers | |
DE69832002T2 (de) | Übertragungssystem und Übertragungsverfahren,Empfangssystem und Empfangsverfahren | |
DE69732605T2 (de) | Dynamisches Cachespeicher-Vorladen über lose gekoppelte administrative Bereiche | |
DE60210733T2 (de) | System und Verfahren zur Überlastregelung in Netzwerken | |
DE60301202T2 (de) | Verfahren und vorrichtung zur verkehrssteuerung einer web-farm | |
DE19842673B4 (de) | Verfahren und Vorrichtung zur Vermittlung bei der Datenkommunikation | |
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
DE3908459C2 (de) | Netzwerkserver | |
DE69834731T2 (de) | Arrangement zum gemeinsamen laden in computernetzwerken | |
DE60313567T2 (de) | Zugriffsrelayvorrichtung | |
DE60317403T2 (de) | Mehrstufige Cache-Speicherarchitektur und Cache-Speicherverwaltungsverfahren für gleichrangiges Namensauflösungs-Protokoll | |
EP0743595B1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Software | |
DE4218025C2 (de) | Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem | |
DE602004006584T2 (de) | Lastausgleichssystem | |
DE19747583B4 (de) | Kommunikationssystem und Verfahren | |
DE10296682T5 (de) | Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern | |
DE19822543A1 (de) | Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium | |
DE69935691T2 (de) | Nachrichtenverteilungsvorrichtungs-Auswahlsystem | |
EP1225511A1 (de) | Verfahren und system zur akten-verwaltung in verteilten umgebungen | |
DE112019005043T5 (de) | Streamzuweisung unter verwendung von stream-guthaben | |
DE69934823T2 (de) | Verfahren zur last-regulierung | |
DE69625958T2 (de) | Mobiles Kommunikationsnetzwerk und mobiles Kommunikationsverfahren | |
DE69734878T2 (de) | Atm-netzwerkverwaltung | |
DE112019005042T5 (de) | Ressourcenzuweisung unter verwendung von wiederherstellungsguthaben | |
DE10209803B4 (de) | Verfahren, Datenspeichersystem und Computerprogramm zum Liefern eines Dateisystemzugriffs auf ein Plattenarray |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |