DE10122228A1 - Auftragswarteschlangensteuerung mit hoher Verfügbarkeit in einer automatisierten Datenspeicherbibliothek - Google Patents

Auftragswarteschlangensteuerung mit hoher Verfügbarkeit in einer automatisierten Datenspeicherbibliothek

Info

Publication number
DE10122228A1
DE10122228A1 DE10122228A DE10122228A DE10122228A1 DE 10122228 A1 DE10122228 A1 DE 10122228A1 DE 10122228 A DE10122228 A DE 10122228A DE 10122228 A DE10122228 A DE 10122228A DE 10122228 A1 DE10122228 A1 DE 10122228A1
Authority
DE
Germany
Prior art keywords
job
data storage
processor node
access mechanism
work orders
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.)
Granted
Application number
DE10122228A
Other languages
English (en)
Other versions
DE10122228B4 (de
Inventor
Brian Gerard Goodman
Leonard George Jesionowski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10122228A1 publication Critical patent/DE10122228A1/de
Application granted granted Critical
Publication of DE10122228B4 publication Critical patent/DE10122228B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

Ein Auftragswarteschlagensystem und -verfahren zur Erhöhung der Verfügbarkeit einer automatisierten Datenspeicherbibliothek für das Zugreifen auf und Lagern von Datenspeichermedien. Mindestens ein Zugriffsmechanismus bewegt die Datenspeichermedien zwischen Ablagefächern und Datenspeicherlaufwerken als Antwort auf Arbeitsaufträge. Das Auftragswarteschlagensystem umfasst einen Kommunikationsprosessorknoten für das Empfangen der Arbeitsaufträge und für das Senden der Arbeitsaufträge, zum Beispiel über ein gemeinsames Busnetz, an mehrere mit dem Kommunikationsprozessorknoten und untereinander verbundene Auftragsprozessorknoten. Jeder Auftragsprozessorknoten antwortet auf die gesendeten Arbeitsaufträge durch Einrichten einer aus Jobs bestehenden Auftragswarteschlange. Mindestens einer der Auftragsprozessorknoten wählt einen der Jobs in der Auftragswarteschlange für einen Zugriffsmechanismus aus und weist den Zugriffsmechanismus an, den ausgewählten Job durchzuführen. Die Auftragsprozessorknoten synchronisieren sodann die Auftragswarteschlangen.

Description

DURCH BEZUGNAHME EINBEZOGENE DOKUMENTE
Die für die vorliegende Anmelderin gleichzeitig anhängige US-Patentanmeldung Ser.-Nr. (TUC9-2000-0024-US1) wird wegen ihrer Darstellung eines verteilten Steuersystems für eine automatisierte Datenspeicherbibliothek in dieses Patent einbezogen.
GEBIET DER ERFINDUNG
Diese Erfindung bezieht sich auf automatisierte Datenspeicherbibliotheken und insbesondere auf die Steuerung von Warteschlangen empfangener Arbeitsaufträge für eine Bibliothek.
HINTERGRUND DER ERFINDUNG
Die typische automatisierte Datenspeicherbibliothek umfasst einen Zugriffsmechanismus mit einem Greifarm für den Zugriff auf Datenspeichermedien, der in der X-Richtung und in der Y-Richtung für den Zugriff auf die Datenspeichermedien bewegt wird und der die Datenträger zwischen Ablagefächern und Datenspeicherlaufwerken transportiert.
Ebenso kommuniziert das Host-System, wie zum Beispiel ein Host- Server, üblicherweise mit einem zentralen Controller für die Bibliothek, indem es, entweder direkt oder über ein oder mehrere Datenspeicherlaufwerke, Befehle für den Zugriff auf bestimmte Datenspeichermedien und das Bewegen zwischen den Ablagefächern und den Datenspeicherlaufwerken sowie den Eingabe-/Ausgabefächern und den Zuführungsöffnungen erteilt. Die Befehle können logische Befehle sein, die die Datenträger und/oder logische oder physische Positionen für den Zugriff auf die Datenträger kennzeichnen. Der zentrale Controller enthält einen Prozessor zum Empfangen der Befehle und Einrichten einer Auftragswarteschlange für die Bibliothek. Bei der Bearbeitung der Auftragswarteschlange setzt der Prozessor die Befehle in physische Bewegungen des Zugriffsmechanismus um und überträgt Signale zum Betreiben von Servomotoren.
Es ist wünschenswert, eine Erweiterung der Bibliothek zu ermöglichen, um zusätzliche Ablagefächer und Datenspeicherlaufwerke und einen zweiten Zugriffsmechanismus aufzunehmen. Zum Beispiel kann eine automatisierte Datenspeicherbibliothek IBM 3494 auf bis zu 2 Endchassis mit je einem Zugriffsmechanismus und auf 14 Erweiterungschassis mit Ablagefächern zwischen den Endchassis erweitert werden. Üblicherweise bewegen sich beide Zugriffsmechanismen auf gleichen Wegen entlang der Ablagefächer und der Datenspeicherlaufwerke. Deshalb legt der zentrale Prozessor, um eine gegenseitige Störung auszuschließen, den einen Zugriffsmechanismus als aktiv und den anderen als inaktiv fest und betreibt nur den aktiven Zugriffsmechanismus. So dient der inaktive Zugriffsmechanismus als Reserve für den Fall, dass der aktive Zugriffsmechanismus ausfällt oder außer Betrieb genommen wird. In einer anderen Variante teilt der zentrale Prozessor die Bibliothek in Bereiche von Ablagefächern und Datenspeicherlaufwerken auf und betreibt die Zugriffsmechanismen für den Zugriff auf die Datenträger in den betreffenden Bereichen getrennt.
Der zentrale Prozessor und seine Kommunikationsleitung zum Zugriffsmechanismus stellen jedoch jeweils eine einzelne Fehlerquelle dar; ein Ausfall von diesen würde die Bibliothek unbrauchbar machen.
ZUSAMMENFASSUNG DER ERFINDUNG
Es werden ein Auftragswarteschlangensystem und -verfahren für eine automatisierte Datenspeicherbibliothek beschrieben, die die Verfügbarkeit der Bibliothek erhöhen, ohne die vorhandene Host- Software verändern zu müssen. Die Bibliothek verfügt über mehrere Ablagefächer für die Lagerung von Datenspeichermedien, über mindestens ein Datenspeicherlaufwerk und über mindestens einen Zugriffsmechanismus für das Zugreifen auf und Abliefern von Datenspeichermedien zwischen den Ablagefächern und den Datenspeicherlaufwerken als Antwort auf Arbeitsaufträge. Das Auftragswarteschlangensystem umfasst einen Kommunikationsprozessorknoten zum Empfangen der Arbeitsaufträge und zum Senden der Arbeitsaufträge, z. B. über ein gemeinsames Busnetz, an mehrere Auftragsprozessorknoten, die mit dem Kommunikationsprozessorknoten und untereinander verbunden sind. Jeder Auftragsprozessorknoten antwortet auf die gesendeten Arbeitsaufträge, indem er eine aus Jobs bestehende Auftragswarteschlange einrichtet. Mindestens einer der Auftragsprozessorknoten wählt einen der Jobs in der Auftragswarteschlange für den oder die Zugriffsmechanismen aus. Der Auftragsprozessorknoten weist einen Zugriffsmechanismus an, einen ausgewählten Job durchzuführen, und der Auftragsprozessorknoten überträgt Informationen über den ausgewählten Job, wie zum Beispiel über die Beendigung des Jobs, an andere der Auftragsprozessorknoten, sodass die Auftragswarteschlangen immer synchron gehalten werden können.
Um die Auftragswarteschlangen synchron zu halten, entfernt jeder der anderen Auftragsprozessorknoten außerdem nach Erhalt der gesendeten Jobinformationen den ausgewählten Job aus seiner Auftragswarteschlange.
Für ein umfassenderes Verständnis der vorliegenden Erfindung sollte auf die folgende detaillierte Beschreibung in Verbindung mit den beiliegenden Zeichnungen Bezug genommen werden.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist eine isometrische Darstellung einer automatisierten Datenspeicherbibliothek, die eine Ausführungsart der vorliegenden Erfindung implementiert;
Fig. 2 ist ein Blockdiagramm einer Ausführungsart eines Prozessorknotens, der zur Steuerung und zum Betrieb der Komponenten der automatisierten Datenspeicherbibliothek von Fig. 1 verwendet wird;
Fig. 3 ist ein Blockdiagramm einer Ausführungsart des verteilten Steuersystems der automatisierten Datenspeicherbibliothek von Fig. 1 gemäß der vorliegenden Erfindung, die Prozessorknoten von Fig. 2 verwendet;
Fig. 4 ist eine schematische Darstellung einer Auftragswarteschlange, die gemäß der vorliegenden Erfindung verwendet wird;
Fig. 5 ist eine schematische Darstellung einer Zuordnung von Datenablagefächern der automatisierten Datenspeicherbibliothek von Fig. 1 und Fig. 3;
Fig. 6 ist eine schematische Darstellung einer Zuordnung von Datenspeicherlaufwerken der automatisierten Datenspeicherbibliothek von Fig. 1 und Fig. 3;
Fig. 7 ist ein Flussdiagramm, das eine Ausführungsart des Verfahrens zum Senden von Arbeitsaufträgen gemäß der vorliegenden Erfindung darstellt;
Fig. 8 ist ein Flussdiagramm, das eine Ausführungsart des Verfahrens zur Ermittlung der Verfügbarkeit eines Zugriffsmechanismus gemäß der vorliegenden Erfindung beschreibt; und
Fig. 9 ist ein Flussdiagramm, das eine Ausführungsart des Verfahrens zur Auswahl von Jobs aus der Auftragswarteschlange von Fig. 4 und zum Senden der Jobauswahl gemäß der vorliegenden Erfindung beschreibt.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
Diese Erfindung wird in Form von bevorzugten Ausführungsarten in der folgenden Beschreibung unter Bezugnahme auf die Figuren beschrieben, in denen gleiche Bezugszahlen dieselben oder ähnliche Elemente darstellen. Obwohl diese Erfindung anhand der besten Ausführungsform zur Erreichung der Aufgaben dieser Erfindung beschrieben wird, dürfte es dem Fachmann einleuchten, dass angesichts dieser Beschreibung Variationen angebracht werden können, ohne vom Sinn und Geltungsbereich der Erfindung abzuweichen.
Die Fig. 1 und 3 stellen eine automatisierte Datenspeicherbibliothek 10 dar, die Datenspeichermedien 14 in Ablagefächern 16 lagert und aus diesen wieder entnimmt. Ein Beispiel für eine automatisierte Datenspeicherbibliothek, die die vorliegende Erfindung implementieren kann, ist der Tape Library Dataserver IBM 3494 (Bandarchiv-Datenserver IBM 3494). Die Bibliothek umfasst ein Grundchassis 11, kann zusätzlich ein oder mehrere Erweiterungschassis 12 umfassen und kann ein Hochverfügbarkeitschassis 13 umfassen.
Das Grundchassis 11 der Bibliothek 10 umfasst ein oder mehrere Datenspeicherlaufwerke 15 und einen Zugriffsmechanismus 18. Der Zugriffsmechanismus 18 enthält eine Greifarmbaugruppe 20 und kann einen an dem Greifarm montierten Barcodeleser 22 oder -lesesystem, wie zum Beispiel einen Chipkartenleser oder ein ähnliches System, enthalten, um kennzeichnende Informationen über die Datenträger 14 zu "lesen". Die Datenspeicherlaufwerke 15 können zum Beispiel optische Plattenlaufwerke oder Magnetbandlaufwerke sein, und die Datenspeichermedien 14 können optische bzw. Magnetbanddatenträger oder beliebige andere austauschbare Datenträger und zugehörige Laufwerke umfassen. Die Bibliothek kann auch eine Bedienerkonsole 23 oder eine andere Benutzerschnittstelle, wie zum Beispiel eine webbasierte Schnittstelle umfassen, über die der Benutzer mit der Bibliothek in Verbindung treten kann.
Das Erweiterungschassis 12 umfasst zusätzliche Ablagefächer und kann auch zusätzliche Datenspeicherlaufwerke 15 umfassen. Das Hochverfügbarkeitschassis 13 kann ebenfalls zusätzliche Ablagefächer und Datenspeicherlaufwerke 15 umfassen und umfasst einen zweiten Zugriffsmechanismus 28, der eine Greifarmbaugruppe 30 enthält und einen Barcodeleser 32 oder eine andere Lesevorrichtung und eine Bedienerkonsole 280 oder eine andere Benutzerschnittstelle enthalten kann. Im Fall des Versagens oder anderer Nichtverfügbarkeit des Zugriffsmechanismus 18 oder seines Greifarms 20 usw. kann der zweite Zugriffsmechanismus 28 einspringen.
Wie in der einbezogenen, gleichzeitig anhängigen Patentanmeldung ('0024) besprochen wird, bewegen die Zugriffsmechanismen 18, 28 den Greifarm jeweils in mindestens zwei Richtungen, die als horizontale "X"-Richtung und vertikale "Y"-Richtung bezeichnet werden, um die Datenspeichermedien 14 den Ablagefächern 16 zu entnehmen und zu fassen oder die Datenspeichermedien 14 in die Ablagefächer 16 zu legen und freizugeben und die Datenspeichermedien in die Datenspeicherlaufwerke 15 zu laden und ihnen zu entnehmen.
In Fig. 3 empfängt die Bibliothek 10 Befehle von einem oder mehreren Host-Systemen 40, 41 oder 42. Die Host-Systeme, wie zum Beispiel Host-Server, kommunizieren entweder direkt, z. B. entlang Pfad 80, oder über ein oder mehrere Datenspeicherlaufwerke 15 mit der Bibliothek, indem sie Befehle für den Zugriff auf bestimmte Datenspeichermedien und für den Transport der Datenträger, zum Beispiel zwischen den Ablagefächern und den Datenspeicherlaufwerken, versenden. Die Befehle sind üblicherweise logische Befehle, die die Datenträger und/oder logischen Positionen für den Zugriff auf die Datenträger kennzeichnen.
Wie in der einbezogenen, gleichzeitig anhängigen Patentanmeldung ('0024) besprochen wird und gemäß der vorliegenden Erfindung verwendet werden kann, wird die Bibliothek nicht durch einen zentralen Controller, sondern durch ein verteiltes Steuersystem zum Empfang der logischen Befehle und zur Umsetzung der Befehle in physische Bewegungen der Zugriffsmechanismen 18, 28 gesteuert.
Das verteilte Steuersystem umfasst einen Kommunikationsprozessorknoten 50, der zum Beispiel im Grundchassis 11 untergebracht sein kann. Der Kommunikationsprozessorknoten stellt eine Kommunikationsverbindung für den Empfang der Host-Befehle entweder auf direktem Weg oder von den Laufwerken 15 zur Verfügung. Der Kommunikationsprozessorknoten 50 kann zusätzlich eine Kommunikationsverbindung für den Betrieb der Datenspeicherlaufwerke 15 bereitstellen. Der Kommunikationsprozessorknoten 50 kann sich im Chassis 11 dicht neben den Datenspeicherlaufwerken 15 befinden. Gemäß der vorliegenden Erfindung werden redundante Auftragsprozessorknoten bereitgestellt, die einen Auftragsprozessorknoten 52 umfassen können, der sich am Zugriffsmechanismus 18 befinden kann und der mit dem Kommunikationsprozessorknoten 50 verbunden ist. Wie ferner besprochen wird, antwortet jeder Auftragsprozessorknoten auf empfangene Befehle, die an die Auftragsprozessorknoten von einem beliebigen Kommunikationsprozessorknoten gesendet werden, und erstellt eine Auftragswarteschlange. Der Auftragsprozessorknoten kann auch den Betrieb des Zugriffsmechanismus durch Erteilen von Bewegungsbefehlen steuern. Ein XY-Prozessorknoten 55 kann bereitgestellt sein und sich am XY-System des Zugriffsmechanismus 18 befinden. Der XY-Prozessorknoten 55 ist mit dem Auftragsprozessorknoten 52 verbunden und reagiert auf die Bewegungsbefehle, indem er das XY-System zur Positionierung des Greifarms 20 veranlasst.
Weiterhin kann an der Bedienerkonsole 23 ein Bedienerkonsolen-Prozessorknoten 59 bereitgestellt werden, um eine Schnittstelle für die Kommunikation zwischen der Bedienerkonsole und dem Kommunikationsprozessorknoten 50, dem Auftragsprozessorknoten 52 und dem XY-Prozessorknoten 55 zur Verfügung zu stellen.
Wie in der einbezogenen und gleichzeitig anhängigen Patentanmeldung ('0024) besprochen wird und gemäß der vorliegenden Erfindung verwendbar wäre, kann ein gemeinsamer Bus 60 bereitgestellt werden, der den Kommunikationsprozessorknoten 50 mit dem Auftragsprozessorknoten 52 und den Auftragsprozessorknoten mit dem XY-Prozessorknoten 55 verbindet. Der Bedienerkonsolen-Prozessorknoten 59 kann auch mit dem gemeinsamen Bus 60 verbunden werden. Der gemeinsame Bus kann ein redundantes Leitungsnetz umfassen, wie etwa das kommerziell erhältliche "CAN"-Bussystem, das ein Mehrpunktnetz darstellt, welches ein Standardzugriffsprotokoll und Schaltungsstandards aufweist, wie zum Beispiel das von der CiA definierte CAN der Automation Association (Automatisierungsverband), Am Weichselgarten 26, D-91058 Erlangen, Deutschland. Für die Implementierung der vorliegenden Erfindung können auch andere ähnliche Busnetze verwendet werden. Alternativ kann der gemeinsame Bus 60 kann aber auch ein drahtloses Netzsystem, wie zum Beispiel ein HF- oder Infrarotsystem umfassen, wie es dem Fachmann bekannt ist.
Die vorliegende Erfindung verwendet den gemeinsamen Bus und das verteilte Steuersystem der einbezogenen und gleichzeitig anhängigen Patentanmeldung ('0024), um ein Auftragswarteschlangensystem und ein Verfahren für eine automatisierte Datenspeicherbibliothek bereitzustellen, die die Verfügbarkeit der Bibliothek erhöhen, ohne Änderungen an der vorhandenen Host-Software zu erfordern.
Jeder der Prozessorknoten kann entweder eine mit jeder Nachricht auf dem gemeinsamen Bus verbundene Nachrichten-ID gemäß dem CAN-Protokoll erkennen oder gesondert mit jeder Nachricht adressiert werden, wie es zum Beispiel in SCSI-Bussystemen bekannt ist.
Jeder der Prozessorknoten kann spezielle, jeweils für den speziellen Zweck entwickelte, Logikschaltkreise oder Mikroprozessorsysteme umfassen, wie sie dem Fachmann bekannt sind, oder kann ähnliche Mikroprozessorsysteme umfassen, die jeweils spezielle Firmware für den Betrieb des Prozessorknotens aufweisen.
Fig. 2 stellt eine Ausführungsart eines Prozessorknotens 65 dar, die zur Steuerung und für den Betrieb von Komponenten der automatisierten Datenspeicherbibliothek 10 verwendet wird. Ein Mikroprozessorsystem 70 umfasst üblicherweise einen Mikroprozessor der kommerziell erhältlichen Art, zum Beispiel von Intel oder AMD, und einen nichtflüchtigen Speicher für die Speicherung der auf dem Mikroprozessor laufenden Firmware. Der Mikroprozessor ist mit lokalen Steuerschaltkreisen 72 verbunden, die jeweils digitale Signale 73 von Sensoren empfangen und digitale Signale 74 aussenden, um angeschlossene Stellglieder, wie zum Beispiel Servomotoren, zu betreiben und mit dem Mikroprozessorsystem 70 zu kommunizieren. Beispiele solcher lokaler Steuerschaltkreise sind dem Fachmann bekannt.
Gemäß den Protokollen des oben besprochenen gemeinsamen Bussystems werden, wie dem Fachmann bekannt ist, ein oder mehrere Transceiver 75, 76 und ein oder mehrere Logikschaltkreise zur Bussteuerung 77, 78 verwendet, um Daten zwischen dem Mikroprozessorsystem 70 und dem gemeinsamen Bus 60 zu übertragen. Die Transceiver und die Bussteuerungsschaltung reagieren auf die mit den Nachrichten auf dem gemeinsamen Bus 60 verbundenen Kennungen oder Adressen, indem sie die Nachrichten dem Mikroprozessorsystem 70 zusenden, und sie erstellen in dem Mikroprozessorsystem entstehende Nachrichten durch Hinzufügen von Kennungen und Adressen zu den Nachrichten und senden die Nachrichten an den gemeinsamen Bus 60.
Die Firmware des Mikroprozessorsystems 70 antwortet auf die von den Transceivern 75, 76 und den Logikschaltkreisen der Bussteuerung 77, 78 gesendeten Nachrichten sowie auf von den lokalen Steuerschaltkreisen 72 gesendete Signale und sendet Signale an die lokalen Steuerschaltkreise 72 und Nachrichten an die Transceiver 75, 76 und die Logikschaltkreise der Bussteuerung 77, 78. Auf diese Weise kommuniziert sie Nachrichten über den gemeinsamen Bus und führt ausgewählte Funktionen aus.
Entsprechend Fig. 3 kann einer der Prozessorknoten als der Kommunikationsprozessorknoten 50 implementiert werden und wird mit jedem der Datenspeicherlaufwerke 15 des Grundchassis 11 verbunden, sodass er mit den Laufwerken und den Host-Systemen 40, 41 und 42 kommuniziert. Die Host-Systeme können aber auch direkt mit dem Kommunikationsprozessorknoten 50 verbunden werden. Wie dem Fachmann bekannt ist, können verschiedene Übertragungsanordnungen zur Kommunikation mit den Host-Rechnern und den Datenspeicherlaufwerken eingesetzt werden. In dem Beispiel von Fig. 3 sind die Host-Verbindungen 80 und 81 SCSI-Busse. Bus 82 umfasst ein Beispiel einer Fibre Channel Arbitrated Loop (FCAL), die eine serielle Hochgeschwindigkeits- Datenschnittstelle darstellt und die eine Datenübertragung über größere Entfernungen als die SCSI-Bussysteme gestattet. Die Datenspeicherlaufwerke 15 können sich in unmittelbarer Nähe des Kommunikationsprozessorknotens 50 befinden und ein Kurzstreckenübertragungsschema, wie zum Beispiel SCSI, oder einen seriellen Anschluss, wie zum Beispiel eine RS-422, verwenden.
Entsprechend Fig. 3 kann, wie es in der einbezogenen und gleichzeitig anhängigen Patentanmeldung ('0024) besprochen wird und gemäß der vorliegenden Erfindung verwendbar wäre, ein Erweiterungschassis 12 bereitgestellt und durch einen gemeinsamen Erweiterungsbus 152 mit dem gemeinsamen Bus des Grundchassis 60 verbunden werden. Ein weiterer Kommunikationsprozessorknoten 255 kann in dem Erweiterungschassis angebracht sein und sowohl mit den Host- Rechnern als auch den Datenspeicherlaufwerken 15 im Chassis 12, z. B. über den Eingang 156, kommunizieren. Befehle von den Host- Rechnern können dadurch entweder direkt oder über die Datenspeicherlaufwerke empfangen werden. Der Kommunikationsprozessorknoten 155 ist mit dem gemeinsamen Erweiterungsbus 152 verbunden, womit der Kommunikationsprozessor eine Kommunikationsverbindung für die Befehle an den gemeinsamen Erweiterungsbus 152 schafft, sodass die Befehle mit dem gemeinsamen Bus des Grundchassis 60 und dem Auftragsprozessorknoten 52 verbunden werden, wie noch erörtert wird. Der gemeinsame Erweiterungsbus 152 kann eine flexible Kabelverbindung und ein mit dem gemeinsamen Bus des Grundchassis 60 im Grundchassis verbundenes Mehrpunkt-Busnetz umfassen.
Der Kommunikationsprozessorknoten 155 kann in dem Erweiterungschassis 12, unmittelbar neben den angeschlossenen Datenspeicherlaufwerken 15 des Erweiterungschassis 12, befestigt sein und mit den Laufwerken und mit den angeschlossenen Host- Systemen kommunizieren.
Zusätzliche Erweiterungschassis mit identischen Kommunikationsprozessorknoten 155, Ablagefächern 16, Datenspeicherlaufwerken 15 und Erweiterungsbussen 152 können zur Verfügung stehen; diese sind jeweils mit dem benachbarten Erweiterungschassis verbunden.
Weiterhin umfasst entsprechend Fig. 3, wie in der einbezogenen und gleichzeitig anhängigen Patentanmeldung ('0024) diskutiert wird und gemäß der vorliegenden Erfindung verwendet werden kann, die automatisierte Datenspeicherbibliothek 10 zusätzlich einen weiteren Zugriffsmechanismus 28, zum Beispiel in einem Hochverfügbarkeitschassis 13. Der Zugriffsmechanismus 28 kann einen Greifarm 30 für den Zugriff auf die Datenspeichermedien und ein XY-System 255 für die Bewegung des Zugriffsmechanismus umfassen. Das Hochverfügbarkeitschassis kann sich unmittelbar neben einem Erweiterungschassis 12 oder unmittelbar neben dem Grundchassis 11 befinden, und der Zugriffsmechanismus 28 kann sich entlang des gleichen mechanischen Weges wie der Zugriffsmechanismus 18 oder auf einem benachbarten Weg bewegen. Das verteilte Steuersystem umfasst zusätzlich einen mit dem gemeinsamen Erweiterungsbus 152 eines Erweiterungschassis oder mit dem gemeinsamen Bus 60 des Grundchassis verbundenen gemeinsamen Erweiterungsbus 200. Ein weiterer Kommunikationsprozessorknoten 250 kann bereitgestellt und in dem Hochverfügbarkeitschassis 13 untergebracht sein, um Befehle von Host-Rechnern, entweder direkt oder von Datenspeicherlaufwerken 15, z. B. am Eingang 256, zu empfangen. Der Kommunikationsprozessorknoten 250 ist mit dem gemeinsamen Erweiterungsbus 200 des Hochverfügbarkeitschassis verbunden und stellt, wie noch besprochen wird, eine Kommunikationsverbindung für die Befehle an den gemeinsamen Erweiterungsbus zur Verfügung. Gemäß der vorliegenden Erfindung befindet sich an dem Zugriffsmechanismus 28 ein Auftragsprozessorknoten 252, der mit dem gemeinsamen Erweiterungsbus 200 des Hochverfügbarkeitschassis verbunden ist. Die Auftragsprozessorknoten 52 und 252 umfassen damit eine Ausführungsart redundanter Auftragsprozessorknoten.
Alternativ können gemäß der vorliegenden Erfindung die Kommunikationsprozessorknoten 50, 155 und/oder 250 so programmiert werden, dass sie entweder einen zusätzlichen Auftragsprozessorknoten umfassen, oder sie können als einer der Auftragsprozessorknoten 52, 252 programmiert werden. Als eine weitere Alternative kann ein zusätzlicher Auftragsprozessorknoten entweder am Chassis 11, 12 oder 13 oder am Zugriffsmechanismus 18, 28 angebracht werden. Jeder der Prozessorknoten ist mit dem gemeinsamen Bus 60, 152 oder 200 verbunden.
Entsprechend Fig. 3 und gemäß einer Ausführungsart der vorliegenden Erfindung umfasst das Auftragswarteschlangensystem einen der Kommunikationsprozessorknoten 50, 155, 250, die eine Kommunikationsverbindung für die von den Host-Rechnern 40-42, z. B. über die Eingänge 156, 256 empfangenen Befehle bereitstellen, die Befehle nach Bedarf auswerten und umsetzen und die Arbeitsaufträge, z. B. über das gemeinsame Busnetz 60, 152, 200 an die mit dem Kommunikationsprozessorknoten verbundenen mehreren Auftragsprozessorknoten 52, 252 senden. In dem Beispiel eines CAN-Bussystems, bei dem alle Prozessorknoten mit einem gemeinsamen Bus verbunden sind, wie oben bereits besprochen, erkennt jeder Auftragsprozessorknoten, dass für diesen Knoten eine Broadcast-Nachricht geplant ist. Jeder Auftragsprozessorknoten 52, 252 antwortet auf die gesendeten Arbeitsaufträge durch das Einrichten einer aus Jobs bestehenden Auftragswarteschlange. Die redundanten Auftragsprozessorknoten und die redundanten Auftragswarteschlangen erhöhen die Verfügbarkeit der Bibliothek insoweit, als beim Ausfall eines Auftragsprozessorknotens oder einer Auftragswarteschlange automatisch der bzw. die andere einspringt. Mindestens einer der Auftragsprozessorknoten wählt den nächsten Job in der Auftragswarteschlange für einen der Zugriffsmechanismen 18, 28 aus. Der Auftragsprozessorknoten 52, 252 sendet Informationen bezüglich der Jobauswahl an den anderen Auftragsprozessorknoten 52, 252 über den gemeinsamen Bus 60, 152, 200, sodass die Auftragswarteschlangen synchron gehalten werden können. Der auswählende Auftragsprozessorknoten weist den zugehörigen Zugriffsmechanismus an, den ausgewählten Job durchzuführen, und kann den gemeinsamen Bus benutzen. In einer bevorzugten Ausführungsart sendet der Auftragsprozessorknoten 52, 252, der einen Job ausgewählt hat, nach Beendigung des Jobs eine Kennung des ausgewählten Jobs. In einer alternativen Ausführungsart sendet der Auftragsprozessor, der einen Job ausgewählt hat, die Kennung des ausgewählten Jobs nach Auswahl des Jobs. Er kann auch die Beendigung der ausgewählten Jobs senden. In einer weiteren alternativen Ausführungsart schickt der auswählende Auftragsprozessorknoten die Information für das Ansteuern des zugehörigen Zugriffsmechanismus über den gemeinsamen Bus an den zugriffsmechanismus. Die Auftragsprozessorknoten überwachen den gemeinsamen Bus 60, 152, 200, um den Datenverkehr des XY-Netzes zu erfassen. Der bzw. die nichtauswählenden Auftragsprozessorknoten, die den Datenverkehr des XY-Netzes über den gemeinsamen Bus 60, 152, 200 überwachen, bestimmen, welcher Auftrag gerade ausgelöst oder fertiggestellt worden ist, und bestimmen die Auswahl oder Beendigung des jeweiligen Jobs. Im Folgenden werden diese und andere Alternativen generell als das Senden (Broadcast) von Informationen bezüglich der Jobauswahl bezeichnet.
Ein Beispiel einer Auftragswarteschlange 300 ist in Fig. 4 dargestellt. Wie oben bereits erläutert, kann der von einem Host-Rechner kommende Arbeitsauftrag einen Logikbefehl enthalten, der den Datenträger und/oder logische Positionen für den Zugriff auf die Datenträger sowie für ihre Lieferung, zum Beispiel zwischen den Ablagefächern und den Datenspeicherlaufwerken, kennzeichnet. Der Kommunikationsprozessorknoten empfängt den Befehl und kann jeden Befehl beim Broadcast einfach weiterleiten, oder er kann einzelne Bewegungsbefehle selektiv kombinieren oder komplexe Befehle abtrennen. Der resultierende Befehl wird durch den Kommunikationsprozessorknoten 50, 155, 250 an die redundanten Auftragsprozessorknoten 52, 252 gesendet, und jeder Auftragsprozessorknoten stellt den empfangenen Befehl in seine Auftragswarteschlange 300. Der Auftragsprozessor kann den Befehl unter Verwendung der logischen Positionen, beispielsweise der Quelle und des Ziels, in die Auftragswarteschlange stellen oder die logischen Positionen in die physischen Positionen umsetzen. Die als Beispiel dienende Auftragswarteschlange enthält daher eine Jobkennung 302 und zeigt den Jobtyp 303, die Quelle 304 und das Ziel 305 der Bewegung an. Die Warteschlangenposition kann durch eine Kennung 306 oder einfach durch einen Zeiger oder eine Position in der Warteschlange gekennzeichnet werden.
Wenn die beiden Zugriffsmechanismen 18 und 28 gleichzeitig aktiv sind, können die Auftragsprozessorknoten die Zugriffsmechanismen getrennten Bereichen der Bibliothek zuordnen, wobei jeder Bereich ausgewählte Ablagefächer und Datenspeicherlaufwerke umfasst. Die Anordnung der Bereiche kann in einer dem Fachmann bekannten Art und Weise durchgeführt werden. Außerdem kann im Normalbetrieb jedem Zugriffsmechanismus mindestens ein Auftragsprozessorknoten zugeordnet sein. Aus diesem Grunde kann leder Auftragsprozessorknoten beliebige logische Positionen in physische Positionen umsetzen, um die Bereiche zu bewerten und um einzuschätzen, ob der betreffende Zugriffsmechanismus dem Bereich des nächsten Jobs in der Auftragswarteschlange 300 zugeordnet ist. Bei Ausfall eines der Auftragsprozessorknoten kann einer der verbleibenden Auftragsprozessorknoten die mehreren Zugriffsmechanismen ansteuern.
Die Auftragsprozessorknoten 52, 252 sind so programmiert, dass sie auf die gesendeten Befehle reagieren, indem sie einen Befehl für einen Zugriffsmechanismus auswählen und den Zugriffsmechanismus anweisen, den Job durchzuführen. Auf diese Weise kann der Auftragsprozessorknoten Befehle für die Bewegung in X- und Y-Richtung erteilen. Der Auftragsprozessorknoten kann, wie dem Fachmann bekannt, für die Erzeugung der Bewegungsbefehle Tabellen verwenden, wie sie in Fig. 5 und Fig. 6 dargestellt sind. Zum Beispiel enthält Fig. 5 eine Tabelle 140, die die logische Kennung 141 eines Ablagefaches eines empfangenen Befehls der physischen X-Position 143 und der physischen Y-Position 144 des Ablagefaches 16 (in Fig. 1) in der Bibliothek 10 zuordnet. Die Tabelle 150 in Fig. 6 ordnet die logische Kennung 151 eines Datenspeicherlaufwerks eines empfangenen Befehls der physischen X-Position 153 und der physischen Y-Position 154 des Datenspeicherlaufwerks 15 in der Bibliothek 10 zu. Der Auftragsprozessorknoten 52, 252 benutzt die Tabellen, um die physische Position für das Abholen des Datenspeichermediums und die physische Position für das Abliefern des Datenspeichermediums zu bestimmen, und kann die Informationen in der Auftragswarteschlange 300 verwenden. Nach der Auswahl eines Jobs kann der Auftragsprozessorknoten die von der Quelle zum Ziel in der X-Richtung und der Y-Richtung zurückzulegenden X- und Y-Entfernungen errechnen. Der Auftragsprozessorknoten kann dann die Bewegungsbefehle dem XY-Prozessorknoten zusenden und so die Zugriffsmechanismen 18, 28 anweisen, den ausgewählten Job durchzuführen.
Beispielhafte Ausführungsarten des Verfahrens der vorliegenden Erfindung sind in Fig. 7-9 dargestellt. Entsprechend Fig. 3, Fig. 4 und Fig. 7 wird in Schritt 310 ein Arbeitsauftrag von einem Host-Rechner 40-42 erteilt. In Schritt 311 empfängt einer der Kommunikationsprozessorknoten 50, 155, 250 den Arbeitsauftrag, wertet die Befehle nach Bedarf aus und setzt sie um. In Schritt 315 stellt der empfangende Kommunikationsprozessorknoten fest, ob der empfangene Arbeitsauftrag einem Zugriffsmechanismus oder einem anderen Element der Bibliothek gilt. Betrifft der Arbeitsauftrag keinen Zugriffsmechanismus, dann wird der Auftrag in Schritt 316 an die andere Vorrichtung weitergeleitet. Betrifft der Auftrag einen Zugriffsmechanismus, dann sendet der empfangende Kommunikationsprozessorknoten 50, 155, 250 in Schritt 318 den Arbeitsauftrag, zum Beispiel über das gemeinsame Busnetz 60, 152, 200, an die mit dem Kommunikationsprozessorknoten verbundenen mehreren Auftragsprozessorknoten 52, 252. In den Schlitten 320 und 321 antwortet jeder der Auftragsprozessorknoten 52, 252 auf das Senden des Arbeitsauftrags, indem er eine Auftragswarteschlange 300 einrichtet und den Job der Auftragswarteschlange hinzufügt. So wird durch die Bereitstellung der redundanten Auftragsprozessorknoten und der redundanten Auftragswarteschlangen gemäß der vorliegenden Erfindung die Verfügbarkeit der Bibliothek erhöht, ohne in der Host-Software Änderungen zu erfordern.
Entsprechend Fig. 3 und Fig. 8 ermitteln die Auftragsprozessorknoten 52, 252, beginnend mit Schritt 325, die Verfügbarkeit des Zugriffsmechanismus. Die Ermittlung wird vorzugsweise während einer Initialisierung durchgeführt, kann aber auch periodisch oder für jeden einzelnen Job durchgeführt werden. In Schritt 327 stellen die Auftragsprozessorknoten fest, ob gegenwärtig ein oder mehrere Zugriffsmechanismen 18, 28 aktiv sind. Ist nur ein Zugriffsmechanismus verfügbar, dann ermitteln die Auftragsprozessoren in Schritt 328, welcher der Zugriffsmechanismen 18, 28 gegenwärtig aktiv ist. Zum Beispiel kann der Zugriffsmechanismus 18 des Grundchassis der primäre Zugriffsmechanismus sein, und der Auftragsprozessorknoten 252 des Hochverfügbarkeitschassis kann so programmiert sein, dass er ermittelt, ob der Zugriffsmechanismus 18 des Grundchassis nicht verfügbar ist, und im Fall der Nichtverfügbarkeit des Zugriffsmechanismus des Grundchassis den Zugriffsmechanismus 28 aktiviert. Alternativ können aber auch beide, der Kommunikationsprozessorknoten 50 des Grundchassis und der Kommunikationsprozessorknoten 250 des Hochverfügbarkeitschassis, dafür programmiert sein, zu ermitteln, ob der Zugriffsmechanismus 18. des Grundchassis nicht verfügbar ist, und in diesem Fall den Zugriffsmechanismus 28 zu aktivieren. Gemäß der vorliegenden Erfindung können alle Auftragsprozessorknoten das Verfahren parallel durchführen, um volle Redundanz zu gewährleisten, wobei einer der aktiven Auftragsprozessorknoten die Priorität besitzt und der bzw. die anderen als Reserve dienen. Wie dem Fachmann klar ist, kann für die Unterbringung des Zugriffsmechanismus 18 ein Abstellplatz bereitgestellt werden und das Hochverfügbarkeitschassis 13 kann entweder einen Abstellplatz besitzen oder aber ohne Ablagefächer oder Datenspeicherlaufwerke sein, um die Unterbringung des Zugriffsmechanismus 28 zu gewährleisten.
Ist mehr als ein Zugriffsmechanismus aktiv, wird jedem Zugriffsmechanismus mindestens ein Auftragsprozessor zugewiesen. Als Ergebnis der Ermittlung von Schritt 327 bestimmt daher jeder Auftragsprozessor in Schritt 330 die Zuordnung der Zugriffsmechanismen 18, 28 zu den Bereichen. Zum Beispiel sind jedem der Bereiche, und damit dem zugewiesenen Zugriffsmechanismus, gewisse Schranken gesetzt. Als Alternative können die Bereiche, wie dem Fachmann bekannt ist, auch dynamisch sein und ausgehend von der Menge der in der Auftragswarteschlange enthaltenen zu bearbeitenden Jobs bestimmt werden. Dann kann in Schritt 333 ein Job ausgewählt werden.
Entsprechend Fig. 3, Fig. 4 und Fig. 9 wählen die Auftragsprozessorknoten 52, 252, beginnend mit Schritt 333, einen Job aus der Auftragswarteschlange 300 aus. Zum Zwecke der Veranschaulichung wird das Verfahren von Fig. 9 durch einen der Auftragsprozessorknoten 52, 252 mit Priorität ausgeführt, der als Auftragsprozessorknoten "A" gezeigt wird, während ein anderer Auftragsprozessorknoten "B" die Broadcast-Meldung von dem Auftragsprozessorknoten "A" empfängt. Alternativ können die beiden Auftragsprozessorknoten parallel arbeiten, wobei nur der Knoten, der Priorität hat, ein Ergebnis liefert. In Schritt 335 ermittelt der Auftragsprozessorknoten den nächsten Job in der Auftragswarteschlange 300. In Schritt 336 stellt der Auftragsprozessorknoten fest, ob Zugriffsmechanismen in getrennten Bereichen aktiv sind oder ob nur ein Zugriffsmechanismus für die Bibliothek aktiv ist. Sind die Zugriffsmechanismen in getrennten Bereichen aktiv, kann der Auftragsprozessorknoten beliebige logische Positionen des Jobs in die physischen Positionen umsetzen, um in Schritt 337 die Bereiche, wie oben besprochen, einzuschätzen, und kann in Schritt 338 ermitteln, ob der zugehörige Zugriffsmechanismus dem Bereich des Jobs in der Auftragswarteschlange 300 zugeordnet ist. Ist der zugehörige Zugriffsmechanismus nicht dem Bereich des Jobs zugeordnet, dann springt der zugehörige Auftragsprozessorknoten 52, 252 zurück zu Schritt 335, um den nächsten Job in der Auftragswarteschlange zu ermitteln. Um die Auftragswarteschlangen synchron zu halten, kann der Auftragsprozessorknoten "A" auf den anderen Auftragsprozessorknoten "B" warten, um den Job auszuwählen und seinen zugehörigen Zugriffsmechanismus in Betrieb zu nehmen. Wie dem Fachmann bekannt ist, können die Bereiche für Arbeitsaufträge, die sich sonst über feste Bereiche erstrecken würden, dynamisch sein, damit so die Arbeitsaufträge erledigt und Zusammenstöße vermieden werden können.
Falls einer der Auftragsprozessorknoten 52, 252 nicht verfügbar sein sollte, wird gemäß der vorliegenden Erfindung der verfügbare Auftragsprozessorknoten beiden Zugriffsmechanismen zugeordnet und weist in Schritt 338 den Job demjenigen Zugriffsmechanismus zu, der dem Bereich zugeordnet ist. Als Ergebnis davon erhöhen die redundanten Auftragsprozessorknoten und die redundanten Auftragswarteschlangen die Verfügbarkeit der Bibliothek, ohne Änderungen an der Host-Software zu erfordern.
Wenn nur einer der Zugriffsmechanismen aktiv ist, entsprechend "NEIN" in Schritt 336, oder wenn sich der Job in dem Bereich des zugriffsmechanismus befindet, der dem Auftragsprozessorknoten "A" zugeordnet ist, entsprechend "JA" in Schritt 338, dann wird dieser Job in Schritt 340 durch den Auftragsprozessorknoten ausgewählt, und der Auftragsprozessorknoten weist den zugehörigen Zugriffsmechanismus an, den ausgewählten Job in Schritt 341 durchzuführen. Wie oben besprochen, kann der Auftragsprozessorknoten die Bewegungsbefehle an einen XY-Prozessorknoten 55, 255 eines XY-Systems des zugehörigen Zugriffsmechanismus 18, 28 senden.
Nach der Auswahl eines Jobs sendet, gemäß der vorliegenden Erfindung, der Auftragsprozessorknoten "A" 52, 252 in Schritt 350 Informationen bezüglich der Jobauswahl an die anderen Prozessorknoten "B" 52, 252, sodass die Auftragswarteschlangen synchron gehalten werden können. In einer Ausführungsart löscht der Auftragsprozessorknoten, der in Schritt 340 den Job ausgewählt hat, zum Beispiel der Auftragsprozessorknoten "A", den Job in Schritt 353 aus seiner Auftragswarteschlange 300. Wie oben besprochen, sind die Auftragsprozessorknoten durch den gemeinsamen Bus miteinander verbunden. Der bzw. die anderen Auftragsprozessorknoten "B" empfangen somit die Informationen bezüglich der Jobauswahl, die in Schritt 355 vom Auftragsprozessorknoten "A" gesendet wurden, und löschen in Schritt 356 den Job aus ihrer Warteschlange 300. Als eine bevorzugte Alternative kann der Auftragsprozessorknoten "A" erst nach Beendigung des Jobs den Job aus seiner Warteschlange löschen und eine Kennung des ausgewählten Jobs senden, Als eine weitere Alternative kann der Auftragsprozessorknoten "A" den Job aus seiner Warteschlange löschen und, sobald der Job in Schritt 340 ausgewählt worden ist, die Jobauswahl, etwa in Form einer Kennung des ausgewählten Jobs, senden. Die Kennung des ausgewählten Jobs kann die Job-ID 302 in Fig. 4 umfassen. Eine weitere Alternative umfasst das Senden der Steuerinformationen, wie zum Beispiel Informationen aus den Tabellen 140 und 150, in Schritt 141 durch den auswählenden Auftragsprozessorknoten auf dem gemeinsamen Busnetz und eine Überwachung des gemeinsamen Busnetzes durch die Auftragsprozessorknoten. Die nicht auswählenden Auftragsprozessorknoten können aus den überwachten Informationen die Auswahl oder Beendigung eines Jobs ermitteln. Dadurch können die Schritte 350 und 355 nacheinander an verschiedenen Stellen in der Reihenfolge der Schritte von Fig. 9 erfolgen.
Somit sind alle Auftragswarteschlangen 300 jedes Auftragsprozessorknoten 52, 252 synchron. Als Ergebnis davon kann das System, wenn einer der Auftragsprozessorknoten ausfallen oder die Übertragung gestört sein sollte, automatisch auf den anderen Auftragsprozessorknoten umschalten und dessen Auftragswarteschlange alleine zum weiteren Betrieb des Systems verwenden, wodurch die Verfügbarkeit des Systems erhöht wird.
Obwohl die bevorzugten Ausführungsarten der vorliegenden Erfindung im Detail dargestellt worden sind, sollte es offensichtlich sein, dass einem Fachmann Änderungen und Anpassungen an diesen Ausführungsarten einfallen können, ohne damit vom Geltungsbereich der vorliegenden Erfindung, wie er in den folgenden Ansprüchen dargelegt wird, abzuweichen.

Claims (35)

1. Verfahren zum Betrieb einer automatisierten Datenspeicherbibliothek, wobei die Bibliothek über mehrere Ablagefächer für die Lagerung von Datenspeichermedien, mindestens ein Datenspeicherlaufwerk und mindestens einen Zugriffsmechanismus für das Zugreifen auf und das Abliefern von Datenspeichermedien zwischen den Ablagefächern und dem mindestens einen Datenspeicherlaufwerk als Antwort auf Arbeitsaufträge verfügt, das die folgenden Schritte umfasst:
Empfangen der Arbeitsaufträge;
Senden (Broadcast) der Arbeitsaufträge an mehrere Auftragsprozessorknoten;
Einrichten einer Jobs enthaltenden Auftragswarteschlange durch jeden der Auftragsprozessorknoten als Antwort auf die gesendeten Arbeitsaufträge;
Auswählen von mindestens einem der Jobs in der Auftragswarteschlange für den mindestens einen Zugriffsmechanismus durch mindestens einen der Auftragsprozessorknoten;
Anweisen des Zugriffsmechanismus, jeden ausgewählten Job durchzuführen; und
Synchronisieren der Auftragswarteschlangen.
2. Verfahren nach Anspruch 1, worin der Synchronisationsschritt das Senden von Informationen bezüglich der Jobauswahl an andere der Auftragsprozessorknoten umfasst.
3. Verfahren nach Anspruch 2, worin der Synchronisationsschritt zusätzlich den folgenden Schritt umfasst:
Löschen des gesendeten ausgewählten Jobs aus der Auftragswarteschlange des Auftragsprozessorknotens durch jeden der Auftragsprozessorknoten.
4. Verfahren nach Anspruch 3, worin der Schritt des Sendens von Informationen umfasst, dass der Auftragsprozessorknoten, der den Job in dem Auswahlschritt auswählt, auf die Beendigung des ausgewählten Jobs durch den angewiesenen Zugriffsmechanismus antwortet, indem er eine Kennung des ausgewählten Jobs nach Beendigung des ausgewählten Jobs sendet.
5. Verfahren nach Anspruch 3, worin der Schritt des Sendens von Informationen umfasst, dass der Auftragsprozessorknoten, der den Job in dem Auswahlschritt auswählt, nach Auswahl des Jobs in dem Auswahlschritt eine Kennung des ausgewählten Jobs sendet.
6. Verfahren nach Anspruch 3, worin der Schritt des Sendens von Informationen umfasst, dass der Auftragsprozessorknoten, der den Job in dem Anweisungsschritt anweist, Informationen über den Anweisungsschritt sendet, wobei die Auftragsprozessorknoten die gesendeten Informationen überwachen, um die Jobauswahl zu ermitteln.
7. Verfahren nach Anspruch 1, worin die Bibliothek mehrere Zugriffsmechanismen und zusätzlich den Schritt umfasst, dass die Auftragsprozessorknoten einen der mehreren Zugriffsmechanismen als aktiv festlegen, und worin der Auswahl- und Anweisungsschritt die Ausführung des Schrittes durch den aktiven Zugriffsmechanismus umfasst.
8. Verfahren nach Anspruch 1, worin die Bibliothek mehrere Zugriffsmechanismen und zusätzlich den Schritt umfasst, dass die Auftragsprozessorknoten die Zugriffsmechanismen getrennten Bereichen der Bibliothek zuordnen, wobei jeder Bereich ausgewählte Ablagefächer und Datenspeicherlaufwerke umfasst, und worin die Auswahl- und Anweisungsschritte umfassen, dass die Auftragsprozessorknoten die Schritte für die ausgewählten Jobs in der Auftragswarteschlange durchführen, die sich in dem Bereich des Zugriffsmechanismus befinden.
9. Verfahren nach Anspruch 1, worin die Schritte des Empfangens und des Sendens von Arbeitsaufträgen mindestens einen Kommunikationsprozessorknoten umfassen, der die Arbeitsaufträge empfängt und die Arbeitsaufträge an die mehreren Auftragsprozessorknoten sendet.
10. Verfahren nach Anspruch 9, worin die eingegebenen Arbeitsaufträge von mindestens einem der Datenspeicherlaufwerke empfangen werden und der Schritt des Empfangens des Arbeitsauftrages umfasst, dass der Kommunikationsprozessorknoten die Aufträge von dem mindestens einen Datenspeicherlaufwerk empfängt.
11. Verfahren nach Anspruch 9, worin die Schritte des Sendens der Arbeitsaufträge und der Informationen über die Jobauswahl auf einem gemeinsamen Bus ausgeführt werden, der den Kommunikationsprozessorknoten und alle der mehreren Auftragsprozessorknoten miteinander verbindet.
12. Auftragswarteschlangensystem für eine automatisierte Datenspeicherbibliothek, wobei die Bibliothek über mehrere Ablagefächer für das Lagern von Datenspeichermedien, mindestens ein Datenspeicherlaufwerk und mindestens einen Zugriffsmechanismus für das Zugreifen auf und Abliefern von Datenspeichermedien zwischen den Ablagefächern und dem mindestens einen Datenspeicherlaufwerk als Antwort auf Arbeitsaufträge verfügt, wobei das Auftragswarteschlangensystem Folgendes umfasst:
einen Kommunikationsprozessorknoten für das Empfangen der Arbeitsaufträge und das Senden der Arbeitsaufträge; und
mehrere Auftragsprozessorknoten, die mit dem Kommunikationsprozessorknoten und untereinander verbunden sind, von denen jeder auf die gesendeten Arbeitsaufträge antwortet, wobei jeder der Auftragsprozessorknoten als Antwort auf die gesendeten Arbeitsaufträge eine aus Jobs bestehende Auftragswarteschlange einrichtet, mindestens einer der Auftragsprozessorknoten mindestens einen der Jobs in der Auftragswarteschlange für den mindestens einen Zugriffsmechanismus auswählt, den Zugriffsmechanismus anweist, jeden ausgewählten Job durchzuführen, und die Auftragsprozessorknoten die Auftragswarteschlangen synchronisieren.
13. Auftragswarteschlangensystem nach Anspruch 12, das zusätzlich einen gemeinsamen Bus umfasst, der die mehreren Auftragsprozessorknoten verbindet und in dem die Auftragsprozessorknoten auf diesem gemeinsamen Bus Informationen über die Jobauswahl zum Synchronisieren der Auftragswarteschlangen senden.
14. Auftragswarteschlangensystem nach Anspruch 13, worin jeder der Auftragsprozessorknoten den ausgewählten Job aus der Auftragswarteschlange des Auftragsprozessorknotens löscht, um die Auftragswarteschlangen zu synchronisieren.
15. Auftragswarteschlangensystem nach Anspruch 14, worin dieser eine der Auftragsprozessorknoten, der den Job auswählt, auf den angewiesenen Zugriffsmechanismus, der den angewiesenen Job ausführt, antwortet, indem er nach Beendigung des ausgewählten Jobs eine Kennung des ausgewählten Jobs auf dem gemeinsamen Bus sendet.
16. Auftragswarteschlangensystem nach Anspruch 14, worin dieser eine der Auftragsprozessorknoten, der den Job auswählt, nach der Auswahl des Jobs eine Kennung des ausgewählten Jobs auf dem gemeinsamen Bus sendet.
17. Auftragswarteschlangensystem nach Anspruch 14, worin der gemeinsame Bus zusätzlich mit den Zugriffsmechanismen verbunden ist; worin der eine der Auftragsprozessorknoten, der den Zugriffsmechanismus anweist, den ausgewählten Job durchzuführen, den Zugriffsmechanismus steuert, indem er auf dem gemeinsamen Bus diesbezügliche Informationen überträgt; und worin die Auftragsprozessorknoten zusätzlich die gesendeten Informationen auf dem gemeinsamen Bus überwachen, um die Jobauswahl zu ermitteln.
18. Auftragswarteschlangensystem nach Anspruch 12, worin die Bibliothek mehrere Prozessoren umfasst und worin die Auftragsprozessorknoten zusätzlich einen der mehreren zugriffsmechanismen als aktiv festlegen, indem sie die Jobs nur für den aktiven Zugriffsmechanismus auswählen.
19. Auftragswarteschlangensystem nach Anspruch 12, worin die Bibliothek mehrere Zugriffsmechanismen umfasst und worin die Auftragsprozessorknoten zusätzlich die zugriffsmechanismen getrennten Bereichen der Bibliothek zuordnen, wobei jeder Bereich ausgewählte Ablagefächer und Datenspeicherlaufwerke umfasst, und worin die Auftragsprozessorknoten zusätzlich die Jobs in der Auftragswarteschlange für die Zugriffsmechanismen auswählen, die sich in dem Bereich befinden, dem der Zugriffsmechanismus zugeordnet ist.
20. Auftragswarteschlangensystem nach Anspruch 12, das zusätzlich einen gemeinsamen Bus umfasst, der den Kommunikationsprozessorknoten und alle der mehreren Auftragsprozessorknoten miteinander verbindet, um das Senden der Arbeitsaufträge und das Senden der Jobauswahl durchzuführen.
21. Auftragswarteschlangensystem nach Anspruch 12, worin der Kommunikationsprozessorknoten mit den Datenspeicherlaufwerken verbunden ist und worin die eingegebenen Arbeitsaufträge von mindestens einem der Datenspeicherlaufwerke empfangen werden, wobei der Kommunikationsprozessorknoten die Aufträge von dem mindestens einen verbundenen Datenspeicherlaufwerk empfängt.
22. Auftragswarteschlangensystem nach Anspruch 12, worin der Kommunikationsprozessorknoten einen der mehreren Auftragsprozessorknoten umfasst, wobei der Kommunikationsprozessorknoten die Arbeitsaufträge empfängt und die Arbeitsaufträge an andere der mehreren Auftragsprozessorknoten sendet.
23. Auftragswarteschlangensystem nach Anspruch 12, das mehrere Kommunikationsprozessorknoten für den Empfang der Arbeitsaufträge umfasst, wobei jeder Kommunikationsprozessorknoten für das Senden der Arbeitsaufträge mit den Auftragsprozessorknoten verbunden ist.
24. Automatisierte Datenspeicherbibliothek für das Lagern und den Zugriff auf Datenspeichermedien als Antwort auf Arbeitsaufträge, die Folgendes umfasst:
mehrere Ablagefächer für das Lagern der Datenspeichermedien;
mindestens ein Datenspeicherlaufwerk;
mindestens einen Zugriffsmechanismus für das Zugreifen auf und das Abliefern der Datenspeichermedien zwischen den Ablagefächern und dem mindestens einen Datenspeicherlaufwerk;
einen Kommunikationsprozessorknoten für das Empfangen der Arbeitsaufträge und das Senden der Arbeitsaufträge; und
mehrere mit dem Kommunikationsprozessorknoten sowie untereinander verbundene Auftragsprozessorknoten, von denen jeder auf die gesendeten Arbeitsaufträge antwortet, wobei die Auftragsprozessorknoten als Antwort auf die gesendeten Arbeitsaufträge eine aus Jobs bestehende Auftragswarteschlange einrichten, mindestens einer der Auftragsprozessorknoten mindestens einen der Jobs in der Auftragswarteschlange für den mindestens einen Zugriffsmechanismus auswählt und den Zugriffsmechanismus anweist, den ausgewählten Job durchzuführen, und die Auftragsprozessorknoten die Auftragswarteschlangen synchronisieren.
25. Automatisierte Datenspeicherbibliothek nach Anspruch 24, die zusätzlich einen die mehreren Auftragsprozessorknoten verbindenden gemeinsamen Bus umfasst, und bei der die Auftragsprozessorknoten auf dem gemeinsamen Bus zum Synchronisieren der Auftragswarteschlangen Informationen über die Jobauswahl senden.
26. Automatisierte Datenspeicherbibliothek nach Anspruch 25, bei der jeder der Auftragsprozessorknoten zum Synchronisieren der Auftragswarteschlangen den ausgewählten Job aus der Auftragswarteschlange des Auftragsprozessorknotens löscht.
27. Automatisierte Datenspeicherbibliothek nach Anspruch 26, bei der der eine der Auftragsprozessorknoten, der den Job auswählt, auf den angewiesenen Zugriffsmechanismus, der den zugewiesenen Job fertigstellt, antwortet, indem er nach Beendigung des ausgewählten Jobs eine Kennung des ausgewählten Jobs auf dem gemeinsamen Bus sendet.
28. Automatisierte Datenspeicherbibliothek nach Anspruch 26, bei der der eine der Auftragsprozessorknoten, der den Job auswählt, nach der Auswahl des Jobs eine Kennung des ausgewählten Jobs auf dem gemeinsamen Bus sendet.
29. Automatisierte Datenspeicherbibliothek nach Anspruch 26, bei der der gemeinsame Bus zusätzlich mit den Zugriffsmechanismen verbunden ist; bei der der eine der Auftragsprozessorknoten, der den Zugriffsmechanismus anweist, den ausgewählten Job durchzuführen, den Zugriffsmechanismus steuert, indem er diesbezügliche Informationen auf dem gemeinsamen Bus überträgt; und bei der die Auftragsprozessorknoten zusätzlich die gesendeten Informationen auf dem gemeinsamen Bus überwachen, um die Jobauswahl zu ermitteln.
30. Automatisierte Datenspeicherbibliothek nach Anspruch 24, die mehrere Zugriffsmechanismen umfasst, bei der die Auftragsprozessorknoten zusätzlich einen der mehreren Zugriffsmechanismen als aktiv festlegen, indem sie die Jobs nur für den aktiven Zugriffsmechanismus auswählen.
31. Automatisierte Datenspeicherbibliothek nach Anspruch 24, die mehrere Zugriffsmechanismen umfasst und bei der die Auftragsprozessorknoten zusätzlich die Zugriffsmechanismen getrennten Bereichen der Bibliothek zuordnen, wobei jeder Bereich ausgewählte Ablagefächer und Datenspeicherlaufwerke umfasst, und bei der die Auftragsprozessorknoten zusätzlich die Jobs in der Auftragswarteschlange für die Zugriffsmechanismen auswählen, die sich in dem Bereich befinden, dem der Zugriffsmechanismus zugeordnet ist.
32. Automatisierte Datenspeicherbibliothek nach Anspruch 24, die zusätzlich einen gemeinsamen Bus umfasst, der den Kommunikationsprozessorknoten und alle der mehreren Auftragsprozessorknoten miteinander verbindet, um das Senden des Arbeitsauftrags und der Jobauswahl durchzuführen.
33. Automatisierte Datenspeicherbibliothek nach Anspruch 24, bei der der Kommunikationsprozessorknoten mit den Datenspeicherlaufwerken verbunden ist und bei der die eingegebenen Arbeitsaufträge von mindestens einem der Datenspeicherlaufwerke empfangen werden, wobei der Kommunikationsprozessorknoten die Aufträge von dem mindestens einen verbundenen Datenspeicherlaufwerk empfängt.
34. Automatisierte Datenspeicherbibliothek nach Anspruch 24, bei der der Kommunikationsprozessorknoten einen der mehreren Auftragsprozessorknoten umfasst, wobei der Kommunikationsprozessorknoten die Arbeitsaufträge empfängt und die Arbeitsaufträge an andere der mehreren Auftragsprozessorknoten sendet.
35. Automatisierte Datenspeicherbibliothek nach Anspruch 24, die mehrere Kommunikationsprozessorknoten für den Empfang der Arbeitsaufträge umfasst, wobei jeder Kommunikationsprozessorknoten mit den Auftragsprozessorknoten zum Senden der Arbeitsaufträge verbunden ist.
DE10122228A 2000-05-19 2001-05-08 Auftragswarteschlangensteuerung mit hoher Verfügbarkeit in einer automatisierten Datenspeicherbibliothek Expired - Fee Related DE10122228B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/573,530 US6356801B1 (en) 2000-05-19 2000-05-19 High availability work queuing in an automated data storage library
US09/573530 2000-05-19

Publications (2)

Publication Number Publication Date
DE10122228A1 true DE10122228A1 (de) 2001-11-22
DE10122228B4 DE10122228B4 (de) 2004-09-02

Family

ID=24292360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10122228A Expired - Fee Related DE10122228B4 (de) 2000-05-19 2001-05-08 Auftragswarteschlangensteuerung mit hoher Verfügbarkeit in einer automatisierten Datenspeicherbibliothek

Country Status (3)

Country Link
US (1) US6356801B1 (de)
JP (1) JP3798650B2 (de)
DE (1) DE10122228B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103829B2 (en) * 2003-06-25 2012-01-24 Commvault Systems, Inc. Hierarchical systems and methods for performing storage operations in a computer network

Families Citing this family (297)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581077B2 (en) * 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US7209972B1 (en) 1997-10-30 2007-04-24 Commvault Systems, Inc. High speed data transfer mechanism
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7277941B2 (en) 1998-03-11 2007-10-02 Commvault Systems, Inc. System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device
US7739381B2 (en) 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US7155481B2 (en) * 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US7434219B2 (en) 2000-01-31 2008-10-07 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
US6760723B2 (en) 2000-01-31 2004-07-06 Commvault Systems Inc. Storage management across multiple time zones
US7346911B2 (en) * 2001-01-05 2008-03-18 International Business Machines Corporation Method, system, and program for communication among nodes in a system
EP1442387A4 (de) * 2001-09-28 2008-01-23 Commvault Systems Inc System und verfahren zur archivierung von objekten in einem informationsspeicher
JP2005505045A (ja) * 2001-09-28 2005-02-17 コムヴォールト・システムズ・インコーポレーテッド クイックリカバリボリュームを作成及び管理する方法及び装置
US7603518B2 (en) 2005-12-19 2009-10-13 Commvault Systems, Inc. System and method for improved media identification in a storage device
US8346733B2 (en) * 2006-12-22 2013-01-01 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library
WO2003046721A1 (en) * 2001-11-23 2003-06-05 Commvault Systems, Inc. Selective data replication system and method
US20030101155A1 (en) * 2001-11-23 2003-05-29 Parag Gokhale Method and system for scheduling media exports
US7596586B2 (en) 2003-04-03 2009-09-29 Commvault Systems, Inc. System and method for extended media retention
US7584227B2 (en) * 2005-12-19 2009-09-01 Commvault Systems, Inc. System and method for containerized data storage and tracking
US7543303B2 (en) * 2002-03-29 2009-06-02 International Business Machines Corporation Use of multiple queues in coupling facility to provide zoning capability in a parallel sysplex environment
AU2003270482A1 (en) * 2002-09-09 2004-03-29 Commvault Systems, Inc. Dynamic storage device pooling in a computer system
CA2499073C (en) 2002-09-16 2013-07-23 Commvault Systems, Inc. Combined stream auxiliary copy system and method
AU2003272457A1 (en) 2002-09-16 2004-04-30 Commvault Systems, Inc. System and method for blind media support
US7568080B2 (en) * 2002-10-07 2009-07-28 Commvault Systems, Inc. Snapshot storage and management system with indexing and user interface
US7353321B2 (en) * 2003-01-13 2008-04-01 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US20040167662A1 (en) * 2003-02-24 2004-08-26 International Business Machines Corporation Expansion of an automated data storage system
US7174433B2 (en) * 2003-04-03 2007-02-06 Commvault Systems, Inc. System and method for dynamically sharing media in a computer network
WO2004090872A2 (en) * 2003-04-03 2004-10-21 Commvault Systems, Inc. Method and system for controlling a robotic arm in a storage device
US7631351B2 (en) * 2003-04-03 2009-12-08 Commvault Systems, Inc. System and method for performing storage operations through a firewall
WO2004090676A2 (en) * 2003-04-03 2004-10-21 Commvault Systems, Inc. Remote disaster data recovery system and method
US7734578B2 (en) * 2003-11-13 2010-06-08 Comm Vault Systems, Inc. System and method for performing integrated storage operations
US7613748B2 (en) 2003-11-13 2009-11-03 Commvault Systems, Inc. Stored data reverification management system and method
US7315923B2 (en) * 2003-11-13 2008-01-01 Commvault Systems, Inc. System and method for combining data streams in pipelined storage operations in a storage network
GB2425198B (en) * 2003-11-13 2008-04-09 Commvault Systems Inc System and method for performing a snapshot
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US7440982B2 (en) * 2003-11-13 2008-10-21 Commvault Systems, Inc. System and method for stored data archive verification
US20050174869A1 (en) * 2003-11-13 2005-08-11 Rajiv Kottomtharayil System and method for data storage and tracking
US8825194B2 (en) * 2003-12-18 2014-09-02 International Business Machines Corporation Global positioning system location information for an automated data storage library
US8457777B2 (en) * 2003-12-19 2013-06-04 International Business Machines Corporation Accessor control failover in an automated data storage library
EP1763755A4 (de) 2004-04-30 2010-04-14 Commvault Systems Inc Hierarchische systeme und verfahren zur bereitstellung einer vereinigten sicht von speicherinformationen
US8266406B2 (en) * 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US8122201B1 (en) * 2004-09-21 2012-02-21 Emc Corporation Backup work request processing by accessing a work request of a data record stored in global memory
US7529724B1 (en) 2004-09-21 2009-05-05 Emc Corporation Servicing work requests between units of a storage device
JP2006092166A (ja) * 2004-09-22 2006-04-06 Fujitsu Ltd ライブラリ制御システム
WO2006053084A2 (en) * 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
US7536291B1 (en) * 2004-11-08 2009-05-19 Commvault Systems, Inc. System and method to support simulated storage operations
US8959299B2 (en) * 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
US8112605B2 (en) * 2005-05-02 2012-02-07 Commvault Systems, Inc. System and method for allocation of organizational resources
US7602906B2 (en) * 2005-08-25 2009-10-13 Microsoft Corporation Cipher for disk encryption
US20070185926A1 (en) * 2005-11-28 2007-08-09 Anand Prahlad Systems and methods for classifying and transferring information in a storage network
US7711700B2 (en) * 2005-11-28 2010-05-04 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7606844B2 (en) * 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7620710B2 (en) 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
US8655850B2 (en) * 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US7962709B2 (en) * 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7636743B2 (en) * 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
EP1974490A4 (de) * 2005-12-19 2012-01-18 Commvault Systems Inc System und verfahren zur bereitstellung eines flexiblen lizensierungssystems für digitalen inhalt
US20070166674A1 (en) * 2005-12-19 2007-07-19 Kochunni Jaidev O Systems and methods for generating configuration metrics in a storage network
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7543125B2 (en) * 2005-12-19 2009-06-02 Commvault Systems, Inc. System and method for performing time-flexible calendric storage operations
US7457790B2 (en) 2005-12-19 2008-11-25 Commvault Systems, Inc. Extensible configuration engine system and method
CA2632935C (en) 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US8572330B2 (en) 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
WO2008036757A2 (en) * 2006-09-19 2008-03-27 Howard Lutnick Products and processes for providing information services
US7539783B2 (en) * 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
US7792789B2 (en) 2006-10-17 2010-09-07 Commvault Systems, Inc. Method and system for collaborative searching
US8655914B2 (en) 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US7882077B2 (en) 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
WO2008070688A1 (en) 2006-12-04 2008-06-12 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US20080147878A1 (en) * 2006-12-15 2008-06-19 Rajiv Kottomtharayil System and methods for granular resource management in a storage network
US8677091B2 (en) 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
US7831566B2 (en) * 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
US8719809B2 (en) * 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US7734669B2 (en) * 2006-12-22 2010-06-08 Commvault Systems, Inc. Managing copies of data
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US20080155205A1 (en) * 2006-12-22 2008-06-26 Parag Gokhale Systems and methods of data storage management, such as dynamic data stream allocation
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
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US20080228771A1 (en) * 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
CA2695470C (en) 2007-08-28 2014-08-26 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US8706976B2 (en) * 2007-08-30 2014-04-22 Commvault Systems, Inc. Parallel access virtual tape library and drives
US8396838B2 (en) * 2007-10-17 2013-03-12 Commvault Systems, Inc. Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US8296301B2 (en) 2008-01-30 2012-10-23 Commvault Systems, Inc. Systems and methods for probabilistic data classification
US7836174B2 (en) * 2008-01-30 2010-11-16 Commvault Systems, Inc. Systems and methods for grid-based data scanning
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9128883B2 (en) 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8219524B2 (en) * 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8335776B2 (en) * 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US8166263B2 (en) 2008-07-03 2012-04-24 Commvault Systems, Inc. Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
US8457778B2 (en) * 2008-08-15 2013-06-04 Spectra Logic Corp. Robotic storage library with queued move instructions and method of queuing such instructions
US8725688B2 (en) 2008-09-05 2014-05-13 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US20100070474A1 (en) 2008-09-12 2010-03-18 Lad Kamleshkumar K Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US20100070466A1 (en) * 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
WO2010036754A1 (en) 2008-09-26 2010-04-01 Commvault Systems, Inc. Systems and methods for managing single instancing data
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
US8340810B2 (en) * 2008-10-31 2012-12-25 Spectra Logic Corp. Robotic storage library with queued move instructions and method of queuing such instructions
US8666537B2 (en) * 2008-10-31 2014-03-04 Spectra Logic, Corporation Robotic storage library with queued move instructions and method of queing such instructions
US9178842B2 (en) 2008-11-05 2015-11-03 Commvault Systems, Inc. Systems and methods for monitoring messaging applications for compliance with a policy
US8412677B2 (en) 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) * 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8434131B2 (en) * 2009-03-20 2013-04-30 Commvault Systems, Inc. Managing connections in a data storage system
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8214424B2 (en) * 2009-04-16 2012-07-03 International Business Machines Corporation User level message broadcast mechanism in distributed computing environment
US8578120B2 (en) * 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
US8719767B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Utilizing snapshots to provide builds to developer computing devices
US8706867B2 (en) 2011-03-31 2014-04-22 Commvault Systems, Inc. Realtime streaming of multimedia content from secondary storage devices
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8595191B2 (en) * 2009-12-31 2013-11-26 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
WO2011082132A1 (en) 2009-12-31 2011-07-07 Commvault Systems, Inc. Systems and methods for analyzing snapshots
WO2011082113A1 (en) 2009-12-31 2011-07-07 Commvault Systems, Inc. Asynchronous methods of data classification using change journals and other data structures
US10297550B2 (en) 2010-02-05 2019-05-21 Taiwan Semiconductor Manufacturing Company, Ltd. 3D IC architecture with interposer and interconnect structure for bonding dies
US8202205B2 (en) * 2010-02-09 2012-06-19 GoBe Healthy, LLC Omni-directional exercise device
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8589347B2 (en) 2010-05-28 2013-11-19 Commvault Systems, Inc. Systems and methods for performing data replication
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8577851B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Content aligned block-based deduplication
WO2012045023A2 (en) 2010-09-30 2012-04-05 Commvault Systems, Inc. Archiving data objects using secondary copies
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
EP2622469B1 (de) 2010-09-30 2019-11-13 Commvault Systems, Inc. Effiziente datenmanagement-verbesserungen, z. b. andockung von datenmanagementmodulen mit begrenzter funktion an ein datenmanagementsystem mit vollständigen funktionen
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US8954446B2 (en) 2010-12-14 2015-02-10 Comm Vault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US8719264B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Creating secondary copies of data based on searches for content
US8849762B2 (en) 2011-03-31 2014-09-30 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US9461881B2 (en) 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
EP2574574B1 (de) * 2011-09-30 2014-01-29 CareFusion Germany 326 GmbH Apothekenkommissioniervorrichtung mit universellem Versorgungs- und Steuermodul
US9116633B2 (en) 2011-09-30 2015-08-25 Commvault Systems, Inc. Information management of virtual machines having mapped storage devices
US9372827B2 (en) 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
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
US10157184B2 (en) 2012-03-30 2018-12-18 Commvault Systems, Inc. Data previewing before recalling large data files
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US9639297B2 (en) 2012-03-30 2017-05-02 Commvault Systems, Inc Shared network-available storage that permits concurrent data access
US9529871B2 (en) 2012-03-30 2016-12-27 Commvault Systems, Inc. Information management of mobile device data
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9020890B2 (en) 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US20130339310A1 (en) 2012-06-13 2013-12-19 Commvault Systems, Inc. Restore using a client side signature repository in a networked storage system
US20140181038A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to categorize unprotected virtual machines
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US20140181085A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Data storage system for analysis of data across heterogeneous information management systems
US9286086B2 (en) 2012-12-21 2016-03-15 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9021452B2 (en) 2012-12-27 2015-04-28 Commvault Systems, Inc. Automatic identification of storage requirements, such as for use in selling data storage management solutions
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US9378035B2 (en) 2012-12-28 2016-06-28 Commvault Systems, Inc. Systems and methods for repurposing virtual machines
US9633022B2 (en) 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US9665591B2 (en) 2013-01-11 2017-05-30 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US20140201162A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods to restore selected files from block-level backup for virtual machines
US20140201140A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Data synchronization management
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
US20140281545A1 (en) 2013-03-12 2014-09-18 Commvault Systems, Inc. Multi-layer embedded encryption
WO2014203023A1 (en) * 2013-06-19 2014-12-24 Hitachi Data Systems Engineering UK Limited Decentralized distributed computing system
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9021296B1 (en) 2013-10-18 2015-04-28 Hitachi Data Systems Engineering UK Limited Independent data integrity and redundancy recovery in a storage system
US10949382B2 (en) 2014-01-15 2021-03-16 Commvault Systems, Inc. User-centric interfaces for information management systems
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US10324897B2 (en) 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9633056B2 (en) 2014-03-17 2017-04-25 Commvault Systems, Inc. Maintaining a deduplication database
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US9823978B2 (en) 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US9848045B2 (en) 2014-05-27 2017-12-19 Commvault Systems, Inc. Offline messaging between a repository storage operation cell and remote storage operation cells via an intermediary media agent
CN104090824B (zh) * 2014-06-09 2017-12-15 中国建设银行股份有限公司 基于Tuxedo中间件的通讯调度方法、装置及系统
US9760446B2 (en) 2014-06-11 2017-09-12 Micron Technology, Inc. Conveying value of implementing an integrated data management and protection system
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9444811B2 (en) 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US20160142485A1 (en) 2014-11-19 2016-05-19 Commvault Systems, Inc. Migration to cloud storage from backup
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US10313243B2 (en) 2015-02-24 2019-06-04 Commvault Systems, Inc. Intelligent local management of data stream throttling in secondary-copy operations
US10956299B2 (en) 2015-02-27 2021-03-23 Commvault Systems, Inc. Diagnosing errors in data storage and archiving in a cloud or networking environment
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US10084873B2 (en) 2015-06-19 2018-09-25 Commvault Systems, Inc. Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs
US9563514B2 (en) 2015-06-19 2017-02-07 Commvault Systems, Inc. Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10061663B2 (en) 2015-12-30 2018-08-28 Commvault Systems, Inc. Rebuilding deduplication data in a distributed deduplication data storage system
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10389810B2 (en) 2016-11-02 2019-08-20 Commvault Systems, Inc. Multi-threaded scanning of distributed file systems
US10922189B2 (en) 2016-11-02 2021-02-16 Commvault Systems, Inc. Historical network data-based scanning thread generation
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10459666B2 (en) 2017-03-03 2019-10-29 Commvault Systems, Inc. Using storage managers in respective data storage management systems for license distribution, compliance, and updates
US11032350B2 (en) 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US10949308B2 (en) 2017-03-15 2021-03-16 Commvault Systems, Inc. Application aware backup of virtual machines
US20180276085A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Virtual machine recovery point generation
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10853195B2 (en) 2017-03-31 2020-12-01 Commvault Systems, Inc. Granular restoration of virtual machine application data
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US10984041B2 (en) 2017-05-11 2021-04-20 Commvault Systems, Inc. Natural language processing integrated with database and data storage management
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US11159469B2 (en) 2018-09-12 2021-10-26 Commvault Systems, Inc. Using machine learning to modify presentation of mailbox objects
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11461184B2 (en) 2019-06-17 2022-10-04 Commvault Systems, Inc. Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US20210173811A1 (en) 2019-12-04 2021-06-10 Commvault Systems, Inc. Optimizing the restoration of deduplicated data stored in multi-node replicated file systems
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672553A (en) * 1983-02-03 1987-06-09 Goody Products, Inc. Order processing method and apparatus
JPH06309200A (ja) 1991-04-10 1994-11-04 Internatl Business Mach Corp <Ibm> ボリュームからオブジェクトを読取る方法、並びに階層式記憶システム及び情報処理システム
US5418971A (en) 1992-04-20 1995-05-23 International Business Machines Corporation System and method for ordering commands in an automatic volume placement library
US5423018A (en) 1992-11-16 1995-06-06 International Business Machines Corporation Queue time reduction in a data storage hierarchy using volume mount rate
US5513156A (en) 1993-07-23 1996-04-30 Fujitsu Limited Library apparatus
US5613154A (en) 1994-12-20 1997-03-18 International Business Machines Corporation System and method for management of transient data storage mediums in an automated data storage library
JP3393751B2 (ja) 1995-05-26 2003-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーション スーパライブラリ内のデータ記憶カートリッジの配置を最適化する方法及びデータ記憶装置
US5566348A (en) 1995-10-22 1996-10-15 International Business Machines Corporation System for adaptively optimizing automated optical library management
US5953234A (en) * 1996-03-12 1999-09-14 Woodson Incorporated Automated storage facility including a storage and retrieval system and a floor inventory management system
US5999356A (en) * 1997-08-29 1999-12-07 International Business Machines Corporation Data cartridge library with rotating storage stacks
US6052341A (en) * 1997-12-16 2000-04-18 International Business Machines Corporation Device element allocation manager and method for a multi-library system for multiple host connections
US6085123A (en) * 1998-04-01 2000-07-04 International Business Machines Corporation Pass through and load/unload for automated data storage libraries

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103829B2 (en) * 2003-06-25 2012-01-24 Commvault Systems, Inc. Hierarchical systems and methods for performing storage operations in a computer network

Also Published As

Publication number Publication date
US6356801B1 (en) 2002-03-12
JP3798650B2 (ja) 2006-07-19
DE10122228B4 (de) 2004-09-02
JP2002014775A (ja) 2002-01-18

Similar Documents

Publication Publication Date Title
DE10122228B4 (de) Auftragswarteschlangensteuerung mit hoher Verfügbarkeit in einer automatisierten Datenspeicherbibliothek
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE602004003467T2 (de) Sicherungs-firmware in einem verteilten system
DE2856483C2 (de)
DE4121446C2 (de) Terminal-Server-Architektur
DE19607531C2 (de) Zeitoptimierte Übertragungseinrichtung für Rundsendedaten in Multicluster-Computersystemen mit Crossbarnetz
DE2646296C3 (de) Elektronische assoziative Mehrrechner Schaltungsanordnung mit einem modularen Aufbau
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE3200761C2 (de)
DE69827747T2 (de) Druckersystem und Übertragungsvorrichtung um Druckersteuerungsprogramm zu übertragen
DE602004004605T2 (de) Vorrichtung und Methode zum Unterstützen der Konfiguration eines Speichersystems
DE602005004508T2 (de) Speichersystem und Speichersteuerverfahren
DE2313724A1 (de) Elektronische datenverarbeitungsanlage
EP1519262A1 (de) Verfahren, Gerätesystem und Computerprogramm zum Speichern und Abrufen von Druckdaten in einem Netzwerk
DE1449530B1 (de) Datenverarbeitungsanlage
DE2917441A1 (de) Multiprozessoranlage
DE1588083A1 (de) Vorrichtung zum Steuern mehrerer Werkzeugmaschinen von einer Zentrale aus
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE69721825T2 (de) Datenschnittstelle und hochgeschwindigkeitskommunikation mit dieser schnittstelle
DE102004024130B4 (de) Speichersystem und Verfahren zum Betrieb eines Speichersystems
DE60215546T2 (de) Datenspeicherungslaufwerke in einer automatischen datenspeicherungsbibliothek
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE3938950C2 (de)
DE3639549A1 (de) Mehrfachsteuersystem und -verfahren fuer plattenspeicher
EP2090948B1 (de) Verfahren zum Betrieb eines Automatisierungssystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0019000000

Ipc: G06F0009440000