DE112010003837T5 - Verbundfamilien für eine Verbundauswahl und eine Kooperative Replikation - Google Patents

Verbundfamilien für eine Verbundauswahl und eine Kooperative Replikation Download PDF

Info

Publication number
DE112010003837T5
DE112010003837T5 DE112010003837T DE112010003837T DE112010003837T5 DE 112010003837 T5 DE112010003837 T5 DE 112010003837T5 DE 112010003837 T DE112010003837 T DE 112010003837T DE 112010003837 T DE112010003837 T DE 112010003837T DE 112010003837 T5 DE112010003837 T5 DE 112010003837T5
Authority
DE
Germany
Prior art keywords
family
composite
copy
compound
networks
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.)
Ceased
Application number
DE112010003837T
Other languages
English (en)
Inventor
Takeshi Nohta
Rufus-John Yeisuke Twito
Joseph Swingler
Thomas William Bish
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 DE112010003837T5 publication Critical patent/DE112010003837T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Developing Agents For Electrophotography (AREA)

Abstract

Eine Vorrichtung, ein System und ein Verfahren werden offenbart, um Verbundfamilien für eine Verbundauswahl und eine kooperative Replikation zu bilden. Die Verbünde werden auf der Grundlage ihrer Beziehungen und Rollen zu Familienmitgliedern einer Verbundfamilie gruppiert. Mitglieder der Verbundfamilie ermitteln, welches Familienmitglied sich in der besten Position befindet, um replizierte Daten zu beziehen und innerhalb ihrer Verbundfamilie kumulative Konsistenz zu erzielen. Nachdem die Verbundfamilie kumulative Konsistenz erzielt hat, werden die Daten innerhalb der Verbundfamilie gemeinsam genutzt, sodass alle Kopien innerhalb der Verbundfamilie konsistent sind.

Description

  • Technisches Gebiet
  • Diese Erfindung bezieht sich auf eine Datenspeicherung in Bezug auf Datenspeichersysteme und insbesondere auf Verbünde innerhalb von Speichersystemen.
  • Hintergrundinformationen
  • Ein Speichersystem kann eine Vielzahl von Bandlaufwerken beinhalten, die dazu verwendet werden, mithilfe einer Bibliotheksverwaltungseinheit auf eine Vielzahl von Magnetbändern zuzugreifen. Die Magnetbänder können in Kassetten angeordnet sein. Eine Steuereinheit kann ein Steuerelement so steuern, dass es eine Bandkassette von einem Speicherbereich zu einem Bandlaufwerk überführt, um auf auf dem Magnetband geschriebene Daten zuzugreifen und/oder um Daten auf das Magnetband zu schreiben.
  • Speichersysteme können sich an verschiedenen Orten befinden, zum Beispiel an mehreren geografisch unterschiedlichen Orten. Die Speichersysteme können Daten über ein oder mehrere Netzwerke übertragen. Jedes Speichersystem kann eine Vielzahl von Verbünden beinhalten. Jeder Verbund kann eine Vielzahl von Bandlaufwerken beinhalten. Magnetbänder werden in die Bandlaufwerke eingelegt, um Daten von den Magnetbändern zu lesen und um Daten auf diese zu schreiben.
  • Jedes Magnetband kann als ein oder mehrere logische Datenträger gestaltet sein, die hierin als Datenträger bezeichnet werden. Ein Datenträger kann für einen Host als individuelle Speichereinheit in Erscheinung treten. Ein Datenträger kann logisch in ein virtuelles Bandlaufwerk „eingebunden” werden. So, wie der Begriff hier verwendet wird, handelt es sich bei einem virtuellen Bandlaufwerk um eine logische Konstruktion, die für einen Host als Bandlaufwerk erscheint.
  • Die US-Patentschrift 2009/0 132 657 (Sutani, M R, et al.) offenbart die Unterteilung (partitioning) von Daten über einen Verbund hinweg in einer verteilten Struktur, wobei eine dynamische Replikation von zwischengespeicherten Knoten auf dem Konzept einer Buddy-Replikation beruht. Eine Buddy-Replikation ermöglicht es, dass Daten durch eine endliche Anzahl von Knoten in einem Verbund repliziert werden, und stellt eine Verringerung von Replikationsverkehr über das Netzwerk bereit.
  • Die US-Patentschrift 2009/0 030 986 A1 (Bates, J W) offenbart einen in einem Replikationsverbund realisierten asynchronen Datenfernreplikationsprozess, bei dem eine Peer-to-Peer-Datenreplikation durchgeführt wird. Eine Peer-to-Peer-Topologie ermöglicht einem Hauptspeicher eines lokalen Standorts, Daten durch bidirektionales Replizieren der Daten zwischen und unter den Standorten eines Netzwerks auf entfernt angeordnete Standorte zu verteilen.
  • Bei einer Anordnung mit mehreren Verbünden ist jeder Verbund gleichermaßen von allen anderen Verbünden unabhängig. Ohne eine gewisse Kenntnis der Beziehungen können die Verbünde nicht auf der Grundlage ihrer Rolle und/oder Entfernung von anderen Verbünden die beste Leistung erbringen. Bei einer typischen Gitteranordnung werden die Mittel zum Auswählen eines Verbundes zum Abrufen eines Datenträgers während einer Einbindungsverarbeitung und die Fähigkeit von Verbünden, die Datenträgerreplikation anzuerkennen, durch diese Unkenntnis von Beziehungen erheblich beeinträchtigt. Das Gitter kann zum Beispiel einen weltweit entfernt angeordneten Quellverbund statt eines regional entfernt angeordneten Verbundes zur Einbindungs- und/oder Kopieverarbeitung auswählen. Der weltweit entfernt angeordnete Verbund ist aufgrund der Entfernung in dem Netzwerk zwischen den Verbünden erheblich weniger leistungsfähig. Wenngleich Echtzeit-Prüfungen der Latenzzeit eingesetzt werden können, um diese Entfernung zu erkennen, wird es durch die Unregelmäßigkeiten und die Zufälligkeit von Weitverkehrs-Netzwerken (WAN) sehr schwierig, die relative Entfernung zuverlässig zu messen. Einen Schritt tiefergehend kann die Replikation selbst über Entfernungen zu zwei oder mehr Verbünden in einer Gruppe erheblich wirkungsvoller sein, wenn die Gruppe zusammenarbeitet und Daten kumulativ in die Gruppe repliziert und anschließend untereinander repliziert.
  • Daher besteht nach dem Stand der Technik ein Bedarf, das oben genannte Problem zu lösen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Verfahren, Vorrichtungen und Systeme zum Bilden von Verbundfamilien, zum Auswählen von Verbundfamilienmitgliedern oder von Verbundfamilien und zur kooperativen Replikation unter den Familienmitgliedern und verschiedenen Familien werden bereitgestellt. Verbünde werden zum Beispiel auf der Grundlage ihrer Beziehungen zu Familienmitgliedern einer Verbundfamilie gruppiert. Mitglieder der Verbundfamilie ermitteln, welches Familienmitglied sich in der besten Position befindet, um Datenobjekte von außen zu beziehen und um in Bezug auf Außendatenobjekte innerhalb ihrer Verbundfamilie kumulativ konsistent zu werden. Nachdem die Verbundfamilie kumulativ konsistent geworden ist, werden die Datenobjekte innerhalb der Verbundfamilie freigegeben, sodass alle Verbünde in der Verbundfamilie über eine konsistente Kopie jedes Außendatenobjekts verfügen.
  • Von einem Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das ein computerverwendbares Medium umfasst, das ein computerlesbares Programm beinhaltet. Wenn das computerlesbare Programm auf einem Computer ausgeführt wird, veranlasst es den Computer dazu, eine Vielzahl von Verbünden zu Familienmitgliedern einer Verbundfamilie zu gruppieren; zu ermitteln, welches Familienmitglied sich in der besten Position befindet, um Außendaten von einer Quelle zu beziehen; ein oder mehrere Familienmitglieder der Verbundfamilie auszuwählen, um die Daten zu beziehen; die Daten in die Verbundfamilie zu replizieren; innerhalb der Verbundfamilie kumulative Konsistenz von zumindest zwei Außendatenobjekten zu erzielen; und die Daten innerhalb der Verbundfamilie freizugeben, sodass alle Verbünde innerhalb der Verbundfamilie über eine konsistente Kopie jedes Außendatenobjekts verfügen.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein Verfahren zur kooperativen Replikation mehrerer Verbünde bereit. Das Verfahren beinhaltet ein Anordnen einer Vielzahl von Verbünden in Familienmitglieder einer Verbundfamilie; Verhandeln zwischen den Familienmitgliedern, um zu ermitteln, welches Familienmitglied sich in der besten Position befindet, um Daten von einer Quelle zu beziehen; Auswählen eines oder mehrerer Familienmitglieder der Verbundfamilie, um die Daten zu beziehen; kooperatives Replizieren der Daten in die Verbundfamilie; Erzielen kumulativer Konsistenz innerhalb der Verbundfamilie; und Freigeben von Daten innerhalb der Verbundfamilie, sodass alle Kopien der Daten innerhalb der Verbundfamilie konsistent sind.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung eine Vorrichtung zum Bilden von Verbundfamilien und Familienmitgliedern zum Durchführen einer kooperativen Replikation bereit. Die Vorrichtung beinhaltet eine Vielzahl von Modulen, die so eingerichtet sind, dass sie die Schritte des Bildens von Verbundfamilien und Familienmitgliedern, des Anwendens einer kooperativen Replikation und des Auswählens von Verbundfamilien und Familienmitgliedern auf der Grundlage ihrer Beziehungen funktionsgemäß durchführen. Diese Module in den beschriebenen Ausführungsformen können ein Beziehungsmodul, ein Bildungsmodul, ein Modul zur kooperativen Replikation, ein Einbindungsverarbeitungsmodul, ein Datenaustauschmodul, ein Richtlinienmodul oder eine Kombination daraus beinhalten.
  • Das Beziehungsmodul umfasst ein auf einem Prozessor ausgeführtes computerlesbares Programm und verwaltet Faktoren, die Rollen, Regeln und Beziehungen zwischen Verbundfamilien und Familienmitgliedern definieren. Die Verbünde tauschen Daten über ein Netzwerk aus. Jeder Verbund umfasst zumindest einen Cachespeicher, zum Beispiel einen virtuellen Datenträger-Cachespeicher.
  • Das Bildungsmodul umfasst ein auf dem Prozessor ausgeführtes computerlesbares Programm und bildet eine Verbundfamilie für eine Verbundauswahl und eine kooperative Replikation. Bei einer bevorzugten Ausführungsform der vorliegenden Erfindung bildet das Bildungsmodul Verbundfamilien durch Gruppieren von Verbünden zu Familienmitgliedern auf der Grundlage ihrer Beziehungen und Rollen. Bei einer alternativen Ausführungsform ordnet das Bildungsmodul die Verbünde bei der Einrichtung zu Familien an. Bei einer alternativen Ausführungsform bildet das Bildungsmodul Beziehungen zwischen den verschiedenen Verbünden und gruppiert die Verbünde zu Familien.
  • Das Modul zur kooperativen Replikation umfasst ein auf dem Prozessor ausgeführtes computerlesbares Programm und repliziert kooperativ Daten über Verbundfamilienmitglieder hinweg in einer Verbundfamilie und über verschiedene Verbundfamilien hinweg.
  • Das Einbindungsverarbeitungsmodul umfasst ein auf dem Prozessor ausgeführtes computerlesbares Programm und bevorzugt zu Produktionszwecken Familienmitglieder innerhalb der Verbundfamilie gegenüber anderen Verbundfamilien.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein System zur kooperativen Replikation mehrerer Verbünde bereit. Das System beinhaltet ein Netzwerk; eine Vielzahl von Standorten, die Daten über das Netzwerk austauschen, wobei jeder Standort zumindest einen Host und ein Speichersystem umfasst, das eine Vielzahl von Verbünden umfasst, wobei jeder Verbund zumindest ein Bandlaufwerk, das so eingerichtet ist, dass es auf auf einem Magnetband gespeicherte Datenträger zugreift, zumindest einen Banddatenträger-Cachespeicher und eine Verbundverwaltungseinheit umfasst, die so eingerichtet ist, dass sie computerlesbare Programme mithilfe eines Prozessors und eines Speichers ausführt, wobei die Software-lesbaren Programme Folgendes umfassen: ein Bildungsmodul, das zum Einrichten und Anordnen einer Gruppe von Verbünden zu Familienmitgliedern einer Familie eingerichtet ist; und ein Modul zur kooperativen Replikation, das zum Auswählen eines Familienmitglieds zum kooperativen Replizieren von Daten in die Verbundfamilie und zum Erzielen einer kumulativen Familienkonsistenz eingerichtet ist.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird nun lediglich beispielhaft mit Bezug auf bevorzugte Ausführungsformen beschrieben, wie in den folgenden Figuren veranschaulicht:
  • 1 ist ein schematisches Blockschaubild, das eine bevorzugte Ausführungsform von verteilten Standorten gemäß der vorliegenden Erfindung veranschaulicht;
  • 2A und 2B sind schematische Blockschaubilder, die eine bevorzugte Ausführungsform eines Speichersystems gemäß der vorliegenden Erfindung veranschaulichen;
  • 3 ist ein schematisches Blockschaubild, das eine bevorzugte Ausführungsform eines Verbundes der vorliegenden Erfindung veranschaulicht;
  • 4 ist ein schematisches Blockschaubild, das eine bevorzugte Ausführungsform einer Verbundfamilienvorrichtung der vorliegenden Erfindung veranschaulicht;
  • 5 ist ein schematischer Ablaufplan, der eine bevorzugte Ausführungsform eines Verfahrens zur Verbundfamilienauswahl und zur kooperativen Replikation der vorliegenden Erfindung veranschaulicht; und
  • 6A und 6B sind schematische Ablaufpläne, die eine bevorzugte Ausführungsform eines Verfahrens zur Verbundfamilienauswahl und zur kooperativen Replikation der vorliegenden Erfindung veranschaulichen.
  • Genaue Beschreibung der Erfindung
  • Verweise in dieser gesamten Beschreibung auf Merkmale, Vorteile oder ähnliche Ausdrücke bedeuten nicht, dass alle Merkmale und Vorteile, die mit der vorliegenden Erfindung realisiert werden können, in einer einzigen Ausführungsform der Erfindung realisiert werden sollten oder realisiert sind. Stattdessen sind Ausdrücke, die sich auf die Merkmale und Vorteile beziehen, so zu verstehen, dass ein(e) bestimmte(r/s) Merkmal, Vorteil oder Eigenschaft, der/die/das im Zusammenhang mit einer bevorzugten Ausführungsform beschrieben wird, in zumindest einer bevorzugten Ausführungsform der vorliegenden Erfindung beinhaltet ist. Folglich können sich eine Erörterung der Merkmale und Vorteile und ähnliche Ausdrücke in dieser gesamten Beschreibung auf dieselbe Ausführungsform beziehen, dies ist jedoch nicht zwingend.
  • Des Weiteren können die beschriebenen Merkmale, Vorteile und Eigenschaften der Erfindung in jeder geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden. Einem Fachmann der entsprechenden Technik ist bewusst, dass die Erfindung ohne ein(en) oder mehrere der spezifischen Merkmale oder Vorteile einer bestimmten Ausführungsform umgesetzt werden kann. In anderen Fällen können zusätzliche Merkmale und Vorteile bei bestimmten Ausführungsformen zu erkennen sein, die nicht bei allen Ausführungsformen der Erfindung vorliegen.
  • Diese Erfindung wird in der folgenden Beschreibung in Ausführungsformen mit Bezug auf die Figuren beschrieben, in denen gleiche Zahlen dieselben oder ähnliche Elemente darstellen. Diese Erfindung wird zwar im Hinblick auf das beste Verfahren zum Erreichen der Ziele dieser Erfindung beschrieben, Fachleuten ist jedoch ersichtlich, dass Varianten im Hinblick auf diese Lehren realisiert werden können, ohne vom Umfang der Erfindung abzuweichen.
  • Viele der in dieser Beschreibung beschriebenen Funktionseinheiten sind als Module gekennzeichnet worden, um die Unabhängigkeit ihrer Umsetzung stärker hervorzuheben. Ein Modul kann zum Beispiel als Hardware-Schaltung realisiert werden, die nach Kundenwünschen hergestellte höchstintegrierte (VLSI-)Schaltungen oder Gatteranordnungen, handelsübliche Halbleiter wie beispielsweise Logik-Chips, Transistoren oder andere diskrete Bauelemente umfasst. Ein Modul kann auch in programmierbaren Hardware-Einheiten wie zum Beispiel beim Kunden programmierbaren Gatteranordnungen (field programmable gate arrays, FPGAs), programmierbaren logischen Anordnungen, programmierbaren Logikeinheiten oder dergleichen realisiert werden. Module können außerdem in Software für die Ausführung durch verschiedene Prozessortypen realisiert werden. Ein gekennzeichnetes Modul eines ausführbaren Codes kann beispielsweise einen oder mehrere physische oder logische Blöcke von Computerbefehlen umfassen, die zum Beispiel als Objekt, Prozedur oder Funktion gestaltet sein können. Es ist jedoch nicht erforderlich, dass sich die ausführbaren Dateien eines gekennzeichneten Moduls physisch am selben Ort befinden, sondern sie können ungleichartige, an unterschiedlichen Orten gespeicherte Befehle umfassen, die das Modul umfassen und den angegebenen Zweck des Moduls erfüllen, wenn sie logisch zusammengefügt werden.
  • Tatsächlich kann ein Modul eines ausführbaren Codes ein einzelner Befehl oder viele Befehle sein und kann sogar über mehrere verschiedene Codesegmente, verschiedene Programme und mehrere Speichereinheiten verteilt sein. In ähnlicher Weise können Betriebsdaten hier in den Modulen gekennzeichnet und veranschaulicht werden und in jeder geeigneten Form verkörpert und in jeder geeigneten Art von Datenstruktur angeordnet sein. Die Betriebsdaten können als einzelner Datensatz gesammelt werden oder können über verschiedene Orte, zum Beispiel über verschiedene Speichereinheiten, verteilt werden.
  • In dieser gesamten Beschreibung bedeutet eine Bezugnahme auf „eine bevorzugte Ausführungsform” oder „eine bevorzugte Ausführungsform” oder ähnliche Ausdrücke, dass ein(e) bestimmtes) in Verbindung mit der Ausführungsform beschriebene(s) Merkmal, Struktur oder Eigenschaft in zumindest einer bevorzugten Ausführungsform der vorliegenden Erfindung enthalten ist. Folglich können sich die Wendungen „bei einer bevorzugten Ausführungsform”, „bei einer bevorzugten Ausführungsform” und ähnliche Ausdrücke in dieser gesamten Beschreibung auf dieselbe Ausführungsform beziehen, dies ist jedoch nicht zwingend der Fall.
  • Des Weiteren können die beschriebenen Merkmale, Strukturen oder Eigenschaften der Erfindung in jeder geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden. In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, wie Beispiele für Programmierung, Software-Module, Benutzerauswahlen, Netzwerktransaktionen, Datenbankabfragen, Datenbankstrukturen, Hardware-Module, Hardware-Schaltungen, Hardware-Chips usw., um ein umfassendes Verständnis von Ausführungsformen der Erfindung zu ermöglichen. Ein Fachmann erkennt jedoch, dass die Erfindung ohne eine oder mehrere der spezifischen Einzelheiten bzw. mit anderen Verfahren, Komponenten, Materialien usw. umgesetzt werden kann. In anderen Fällen werden bestens bekannte Strukturen, Materialien oder Vorgänge nicht genau dargestellt oder beschrieben, um Aspekte der Erfindung nicht unklar werden zu lassen.
  • 1 ist ein schematisches Blockschaubild, das eine bevorzugte Ausführungsform von verteilten Standorten 100 gemäß der vorliegenden Erfindung veranschaulicht. Die verteilten Standorte 100 beinhalten eine Vielzahl von Standorten 105. Jeder Standort 105 tauscht mit den anderen Standorten 105 Daten über ein Netzwerk 110 aus. Bei dem Netzwerk 110 kann es sich um das Internet, ein lokales Netzwerk (local-area network, LAN), ein Weitverkehrs-Netzwerk (wide-area network, WAN), ein dediziertes Netzwerk, eine Kombination von Netzwerken und dergleichen handeln.
  • Jeder Standort 105 kann ein oder mehrere Speichersysteme beinhalten, wie im Folgenden beschrieben wird. Darüber hinaus kann jeder Standort 105 Brücken, Leitwegrechner und dergleichen beinhalten, die die Speichersysteme mit dem Netzwerk 110 verbinden.
  • 2A und 2B sind schematische Blockschaubilder, die eine bevorzugte Ausführungsform eines Speichersystems 200 gemäß der vorliegenden Erfindung veranschaulichen. Ein oder mehrere Speichersysteme 200 können in jedem Standort 105 von 1 verkörpert werden.
  • Die Speichersysteme 200 können Daten auf verschiedenen physischen Medien speichern wie zum Beispiel Speicherkassetten, Plattenlaufwerken, Halbleiterplatten (solid state disks, SSD), Plattenspeichereinheiten mit direktem Zugriff (disks direct access storage devices, DASD), Magnetbandlaufwerken, Bibliotheken und Plattenlaufwerkanordnungen wie zum Beispiel redundanten Anordnungen unabhängiger Platten (redundant array of independent disks, RAID) oder auf einem Bündel unabhängiger Platten (just a bunch of disks, JBOD), sie sind jedoch nicht auf diese beschränkt. Ein Beispiel für eine Speicherkassette ist eine Magnetbandkassette, die ein wiederbeschreibbares Magnetband, das auf eine Nabe einer Spule gewickelt ist, und einen Kassettenspeicher beinhaltet. Ein Beispiel für eine Magnetbandkassette beinhaltet eine Kassette auf der Grundlage der Linear-Tape-Open(LTO)-Technologie. Linear Tape-Open, LTO und das LTO-Logo sind Marken von HP, IBM Corp. und Quantum in den USA und in anderen Ländern.
  • Die Speichersysteme 200 können Daten in verschiedenen Formen wie zum Beispiel als logische oder virtuelle Daten speichern. Hierin können Daten in verschiedenen Formen, die als „Datenträger” oder „Objekte” bezeichnet werden, geordnet werden, wobei die Begriffe ohne Bezug auf eine bestimmte Größe oder Anordnung von Daten gewählt wurden.
  • Wie in 2A und 2B veranschaulicht, stellt das Speichersystem 200 Speicherplatz für eine Vielzahl von Host-Systemen 210 bereit. Das Speichersystem 200 beinhaltet zum Beispiel eine Vielzahl von Hosts 210, eine Vielzahl von Verbünden 220 und ein Netzwerk 215. Wenngleich der Einfachheit halber in 2A zwei (2) Hosts 210a, 210b, vier (4) Verbünde 220a, 220b, 220c, 220d und ein (1) Netzwerk 215 dargestellt sind, kann eine beliebige Anzahl von Hosts 210, Verbünden 220 und Netzwerken 215 eingesetzt werden. Dementsprechend kann in dem Speichersystem 200 eine beliebige Anzahl von Verbünden 220 beinhaltet sein.
  • Wie in 2A veranschaulicht, kann das Speichersystem 200 vier (4) Verbünde 220a, 220b, 220c, 220d einsetzen, die durch ein Netzwerk 215 verbunden sind, wobei jeder Verbund 220 einen Virtualisierungsknoten (virtualization node, „VN”) 260 und eine Speichereinheit 230 beinhaltet, um gegenüber den Hosts 210a, 210b ein Bandlaufwerk oder eine Bandbibliothek nachzubilden. Bei einer bevorzugten Ausführungsform handelt es sich bei den Verbünden 220a, 220b, 220c, 220d um virtuelle Band-Server-Verbünde.
  • Jeder Verbund 220 beinhaltet einen hierarchischen Speicherknoten (hierarchical storage node, „HSN”) 250 zum logischen Verschieben und/oder Übertragen von Daten zwischen der Speichereinheit 230 und einer Bibliothek 240. Bei einer bevorzugten Ausführungsform beinhaltet das Speichersystem 200 den Plattenspeicher 230 und eine Bandbibliothek 240. Bei einer bevorzugen Ausführungsform handelt es sich bei der Bibliothek 240 um eine automatische Bandbibliothek (automated tape library, „ATL”). Der HSN 250 kann so arbeiten, dass er Daten aus der Ferne zwischen dem lokalen Plattenspeicher 230 und dem entfernt angeordneten Plattenspeicher 230 überträgt. Der Plattenspeicher 230 kann ein oder mehrere zum Beispiel als RAID, JBOD, SSD oder als Kombination daraus angeordnete Plattenlaufwerke beinhalten.
  • Jeder Verbund 220 beinhaltet eine Bibliotheksverwaltungseinheit 370, wie in 3 veranschaulicht, mit Magnetbändern, wie im Folgenden beschrieben wird. Die Hosts 210 können Aufgaben oder Aufträge veranlassen und ausführen, wie zum Beispiel Bandaufträge, bei denen Daten von den Magnetbändern in den Verbundfamilien 280 und/oder Familienmitgliedern 220 gelesen oder auf sie geschrieben werden. Bei den Hosts 210 kann es sich um Großrechner, Server oder dergleichen handeln. Die Hosts 210 können in der Lage sein, mehrere Betriebssysteme auszuführen oder aufzunehmen. Die Hosts 210 können zum Beispiel mehrere Betriebssystem wie Linux®, Java®, Microsoft® Windows® oder dergleichen ausführen oder aufnehmen. Linux ist eine eingetragene Marke von Linus Torvalds in den USA, anderen Ländern oder beidem. Java und alle Marken und Logos auf der Grundlage von Java sind Marken oder eingetragene Marken von Oracle und/oder seinen verbundenen Unternehmen. Microsoft, Windows und das Windows-Logo sind Marken von Microsoft Corporation in den USA, anderen Ländern oder beidem. Jeder der Hosts 210 des Speichersystems 200 kann als einzelner Großrechner, ein oder mehrere Server oder eine Anzahl von virtuellen Maschinen arbeiten. Die Hosts 210 können drei Virtualisierungsebenen bereitstellen durch: logische Partitionen (LPARs) über eine Processor-Resource/System-Manager(PR/SM)-Einrichtung; durch virtuelle Maschinen über das Betriebssystem IBM® z/VM®; und durch Betriebssysteme, insbesondere IBM z/OS® mit schlüsselgeschützten Adressräumen und zielorientierter Planung der Arbeitsauslastung. IBM, z/VM und z/OS sind in vielen Ländern weltweit eingetragene Marken von International Business Machines Corporation.
  • Die Hosts 210 können über das Netzwerk 215 Daten mit dem Verbund 220 austauschen, um auf eine Vielzahl von Magnetband-Laufwerken, Plattenlaufwerken und anderen Speichereinheiten durch die Verbundfamilienmitglieder 220 zuzugreifen, wie im Folgenden beschrieben wird. Ein erster Host 210a kann zum Beispiel über das Netzwerk 215 Daten austauschen, um über einen ersten Verbund 220a auf eine Speichereinheit und ein Magnetband zuzugreifen.
  • Jeder Verbund 220 kann eine hierarchische Speichersteuereinheit wie zum Beispiel einen hierarchischen Speicherknoten 315 beinhalten, wie in 3 veranschaulicht. Der Verbund 220 kann eine zentrale Verwaltung zum Lesen und Speichern von Daten, Zusammenfassen von Speicher-Pools, in denen Speicher leicht verschiedenen Hosts 210 zugewiesen werden kann, Skalieren des Speichersystems 200 durch Hinzufügen von Speicher- oder Speichersteuerknoten und eine Plattform zum Realisieren von erweiterten Funktionen wie zum Beispiel einen Schnellschreib-Cachespeicher, zeitpunktgenaues Kopieren, transparente Datenmigration und Fernkopieren bereitstellen.
  • Die Verbünde 220 können einen „bandinternen” Ansatz verfolgen. Der bandinterne Ansatz kann bewirken, dass alle Eingabe/Ausgabe(E/A)-Anfragen und alle Verwaltungs- und Einrichtungsanfragen durch ein Verbundfamilienmitglied 220 verarbeitet werden.
  • Alle Verbünde 220 können untereinander und mit den Hosts 210 über das Netzwerk 215 verbunden werden, um auf auf das Magnetband geschriebene Daten zuzugreifen und/oder um Daten auf das Magnetband zu schreiben. Die Vielzahl von Verbünden 220 kann eine Domäne 205 des Speichersystems 200 bilden. Die Domäne 205 kann eine Anordnung mit mehreren Verbünden oder eine Gitteranordnung darstellen. Die Domäne 205 kann zwei oder mehr Verbünde 220 beinhalten.
  • Bei dem Netzwerk 215 des Speichersystems 200 kann es sich um ein Speichernetzwerk (storage area network, SAN), ein Sendeberechtigungsring-Netzwerk (token ring network), ein lokales Netzwerk (LAN), ein Weitverkehrs-Netzwerk (WAN), das Internet, ein dediziertes Netzwerk, eine Kombination von Netzwerken und dergleichen handeln. Das SAN kann aus einem „Gefüge” bestehen, durch das die Hosts 210 Daten über das Netzwerk 215 mit den Verbünden 220 austauschen können. Das Gefüge kann ein Fibre-Channel-Netzwerk, ein Ethernet-Netzwerk oder dergleichen beinhalten. Nicht alle Elemente müssen für den Datenaustausch dasselbe Gefüge nutzen. Der erste Host 210a kann Daten mit dem ersten Verbund 220a über ein Gefüge austauschen. Darüber hinaus kann der erste Host 210a Daten mit einem dritten Verbund 220c über ein anderes Gefüge austauschen.
  • Jedes Speichersystem 200 kann eine Verbundfamilie 280 beinhalten. Die Verbundfamilie 280 kann eine Vielzahl von Verbundfamilienmitgliedern 220 beinhalten, die in der Verbundfamilie 280 angeordnet, eingerichtet, strukturiert und/oder gruppiert sind. Wie in 2B veranschaulicht, beinhaltet das Speichersystem 200 zum Beispiel eine Verbundfamilie 280(1) und eine Verbundfamilie 280(2). Die Verbundfamilie 280(1) beinhaltet eine Vielzahl von Verbünden 220(a), 220(b), die zu Familienmitgliedern der Verbundfamilie 280(1) gruppiert sind. Die Verbundfamilie 280(2) beinhaltet eine Vielzahl von Verbundfamilienmitgliedern 220(b), 220(c), die zu Familienmitgliedern der Verbundfamilie 280(2) gruppiert sind. Die Verbundfamilie 280(1) und die Verbundfamilie 280(2) tauschen Daten miteinander über ein Netzwerk wie zum Beispiel das Netzwerk 110, 215 aus. Jeder Verbundfamilie 280 kann ein Name gegeben oder zugewiesen werden. Die Verbundfamilie 280(1) kann zum Beispiel als Stadt A bezeichnet werden, und die Verbundfamilie 280(2) kann als Stadt B bezeichnet werden.
  • Wenngleich 2B der Einfachheit halber ein Speichersystem 200 veranschaulicht, das zwei Verbundfamilien 280 aufweist, kann jede Anzahl von Speichersystemen 200, Verbundfamilien 280 und Verbundfamilienmitgliedern 220 eingesetzt werden.
  • Ein Beispiel für ein Speichersystem 200 ist der IBM TS7700 Virtual Tape Server.
  • 3 ist ein schematisches Blockschaubild, das eine bevorzugte Ausführungsform eines Verbundes 220 der vorliegenden Erfindung veranschaulicht. Der Verbund 220 kann zum Beispiel ein Verbundfamilienmitglied 220 der Verbundfamilie 280 der 2A und 2B darstellen. Die Beschreibung des Verbundes 220 bezieht sich auf Elemente der 1 bis 2, wobei sich dieselben Nummern auf dieselben Elemente beziehen. Der Verbund 220 kann einen Virtualisierungsknoten 310, einen hierarchischen Speicherknoten 315, einen Datenträger-Cachespeicher 365 und eine Bibliotheksverwaltungseinheit 370 beinhalten.
  • Die Speichereinheit 230 kann ein oder mehrere Plattenlaufwerke beinhalten, die zum Beispiel als redundante Anordnung unabhängiger Platten (RAID) oder als Bündel unabhängiger Platten (JBOD) oder als Halbleiterplatte (SSD) usw. angeordnet sind. Die Speichereinheit 230 kann den Datenträger-Cachespeicher 365 beinhalten. Der Datenträger-Cachespeicher 365 kann als virtueller Datenträger-Cachespeicher und/oder als Banddatenträger-Cachespeicher (tape volume cache, TVC) dienen.
  • Die Speichereinheit 230 beinhaltet zum Beispiel einen virtuellen Datenträger-Cachespeicher 365. Der virtuelle Datenträger-Cachespeicher 365 kann als TVC dienen, wobei der TVC eine Speichereinheit für den Schnellzugriff wie zum Beispiel ein Festplattenlaufwerk beinhaltet. Bei einer bevorzugten Ausführungsform funktioniert der Verbund 220 so, dass er Daten in dem TVC 365 zwischenspeichert.
  • Der TVC 365 kann Daten zwischenspeichern, die von dem logischen Datenträger gelesen werden, und/oder Daten zwischenspeichern, die auf den logischen Datenträger geschrieben werden sollen. Ein Host 210 kann wiederholte Schreibvorgänge auf einen logischen Datenträger durchführen. Der TVC 365 kann die geschriebenen Daten auf einem Festplattenlaufwerk 230 speichern, ohne die Daten auf das Magnetband des logischen Datenträgers zu schreiben. Zu einem späteren Zeitpunkt kann der TVC 365 die zwischengespeicherten Daten auf das Magnetband in der Bandbibliothek 240 schreiben. Dementsprechend können Vorgänge wie zum Beispiel Lesevorgänge und Schreibvorgänge zum Einbinden eines logischen Datenträgers durch ein virtuelles Bandlaufwerk durch den TVC 365 geleitet werden.
  • Ein Host 210 kann Aufgaben und/oder Aufträge in dem Verbund 220 veranlassen und ausführen. Beispielsweise kann ein Zugriff eines ersten Hosts 210a dazu führen, dass ein Steuerelement der Bibliotheksverwaltungseinheit 370 durch eine Verwaltungseinheit 335 für physische Bänder so gesteuert wird, dass sie eine Bandkassette von einem Speicherbereich zu einem Bandlaufwerk überführt, um auf auf dem Magnetband geschriebene Daten zuzugreifen und/oder Daten auf das Magnetband und/oder in den TVC 365 zu schreiben.
  • Bei dem Virtualisierungsknoten 310 kann es sich um einen unabhängigen Server auf der Grundlage eines Prozessors mit mehreren Verbindungen zum Netzwerk 215 handeln. Der Virtualisierungsknoten 310 kann entweder eine batteriegestützte Stromversorgungseinheit (BBU) beinhalten und/oder Zugriff auf eine unterbrechungsfreie Stromversorgung (UPS) haben. Der Virtualisierungsknoten 310 kann einen Überwachungszeitgeber enthalten. Der Überwachungszeitgeber kann sicherstellen, dass ein fehlerhafter Virtualisierungsknoten 310, der nicht in der Lage ist und/oder lange Zeit benötigt, um sich wiederherzustellen, neu gestartet werden kann.
  • Der Virtualisierungsknoten 310 kann ein oder mehrere Bandhintergrundprogramme (tape daemons) 312 beinhalten. Das Bandhintergrundprogramm 312 kann gegenüber dem Host 210 ein Bandlaufwerk des Verbundes 220 als virtuelles Bandlaufwerk nachbilden. Das Bandhintergrundprogramm 312 kann eine Datei bearbeiten, die sich entweder in dem TVC 365 befindet, und/oder es kann eine Datei in einem entfernt angeordneten TVC 365 eines weiteren Verbundes 220 durch einen Dateifernzugriff 325 bearbeiten.
  • Der hierarchische Speicherknoten 315 kann eine Verbundverwaltungseinheit 320, den Dateifernzugriff 325, eine Datenverschiebungseinheit 330, die Verwaltungseinheit 335 der physischen Bänder, eine Cachespeicher-Verwaltungseinheit 340, eine Abrufverwaltungseinheit 345, eine Datenbank 350, eine Verwaltungsschnittstelle 355 und eine Medienverwaltungseinheit 360 beinhalten. Die Verbundverwaltungseinheit 320 kann Vorgänge zwischen der Vielzahl von Verbünden 220 in einer Topologie mit mehreren Verbünden oder einer Gittertopologie koordinieren.
  • Die Verbundverwaltungseinheit 320 kann Tokens verwenden, um zu ermitteln, welcher Verbund 220 über eine aktuelle Kopie der Daten verfügt. Die Tokens können in der Datenbank 350 gespeichert werden. Die Verbundverwaltungseinheit 320 kann außerdem das Kopieren von Daten zwischen den Verbünden 220 koordinieren. Die Verbundverwaltungseinheit 320 kann einen oder mehrere Prozessoren beinhalten, die so eingerichtet sind, dass sie computerlesbare Programme ausführen, wie Fachleuten bestens bekannt ist.
  • Bei dem Dateifernzugriff 325 kann es sich um einen Server, einen oder mehrere Prozessoren oder dergleichen handeln. Der Dateifernzugriff 325 kann eine Verknüpfung zu dem TVC 365 für den Zugriff durch einen entfernt angeordneten Verbund 220 bereitstellen. Die Verbundverwaltungseinheit 320 kann ein computerlesbares Programm beinhalten.
  • Die Datenverschiebungseinheit 330 kann die tatsächlichen zwischen Verbünden 220 vorgenommenen Datenübertragungsvorgänge für Kopien steuern und kann außerdem Daten zwischen physischen Bandmedien und dem TVC 365 übertragen. Die Datenverschiebungseinheit 330 kann ein computerlesbares Programm beinhalten.
  • Die Verwaltungseinheit 335 der physischen Bänder kann die physischen Bänder in dem Verbund 220 steuern. Die Verwaltungseinheit 335 der physischen Bänder kann die physischen Bänder in mehreren Pools, das Wiedergewinnen, Entleihen und Zurückführen von Datenträgern aus/an einen/m gemeinsamen Bestand an leeren Bändern (scratch pool) und das Überführen von Bändern zwischen Pools verwalten. Die Verwaltungseinheit 335 der physischen Bänder kann ein computerlesbares Programm beinhalten.
  • Die Cachespeicher-Verwaltungseinheit 340 kann das Kopieren von Daten von dem TVC 365 auf die physischen Bänder und die anschließende Entfernung einer redundanten Kopie von Daten aus dem TVC 365 steuern. Die Cachespeicher-Verwaltungseinheit 340 kann außerdem die Steuersignale bereitstellen, um einen Datenfluss zwischen den verschiedenen Komponenten und dem TVC 365 auszugleichen. Die Cachespeicher-Verwaltungseinheit 340 kann ein computerlesbares Programm beinhalten.
  • Die Abrufverwaltungseinheit 345 kann einen Abruf von Daten in den TVC 365 von physischen Medien entweder für ein virtuelles Bandlaufwerk oder für von der Verbundverwaltungseinheit 320 angeforderte Kopien in eine Warteschlange einstellen und steuern. Die Abrufverwaltungseinheit 345 kann ein computerlesbares Programm beinhalten.
  • Bei der Datenbank 350 kann es sich um eine strukturierte Sammlung von Datensätzen handeln, die auf einem Festplattenlaufwerk gespeichert werden können. Die Datensätze können die Speicherorte von Daten auf einem Magnetband beinhalten. Der Host 210 kann die Daten auf das Magnetband des Verbundes 220 schreiben und/oder kann unter Verwendung von Datenbankadressen auf die Daten von dem Magnetband zugreifen, um die Daten einem Benutzer bereitzustellen.
  • Die Verwaltungsschnittstelle 355 kann Daten über den Verbund 220 dem Benutzer bereitstellen. Die Verwaltungsschnittstelle 355 kann außerdem dem Benutzer ermöglichen, den Verbund 220 zu steuern und einzurichten. Die Verwaltungsschnittstelle 355 kann eine Computer-Kathodenstrahlröhre (CRT), einen Flüssigkristallanzeige(LCD)-Bildschirm, eine Tastatur oder dergleichen beinhalten oder als Schnittstelle auf der Grundlage des Web bestehen.
  • Die Medienverwaltungseinheit 360 kann die physische Handhabung der Magnetbänder des Verbundes 220 steuern. Die Medienverwaltungseinheit 360 kann außerdem eine Fehlerbehebung der Magnetbänder des Verbundes 220 steuern. Die Medienverwaltung 360 kann Fehler feststellen und kann ermitteln, ob die Fehler durch die physischen Bandlaufwerke oder durch die physischen Bandmedien verursacht werden. Des Weiteren kann die Medienverwaltungseinheit 360 geeignete Maßnahmen zur Fehlerbehebung ergreifen.
  • Die Bibliotheksverwaltungseinheit 370 kann eine Vielzahl von physischen Bandlaufwerken, eine Roboterzugriffseinheit und eine Vielzahl von physischen Bandmedien beinhalten. Die Roboterzugriffseinheit der Bibliotheksverwaltungseinheit 370 kann das Magnetband zu einem dem TVC 365 zugehörigen Bandlaufwerk überführen. Bei einem virtuellen Bandlaufwerk kann es sich um eine logische Konstruktion handeln, die für den Host 210 als physisches Bandlaufwerk in Erscheinung tritt. Die Daten können durch einen Lese-/Schreibkanal von dem Magnetband des Bandlaufwerks gelesen oder darauf geschrieben werden, wie Fachleuten bestens bekannt ist.
  • Jedes Bandlaufwerk der Vielzahl von Verbünden 220 kann ein oder mehrere Magnetbänder zum Speichern der Daten einsetzen. Das Magnetband kann als Speichermedium der Daten in dem Speichersystem 200 fungieren. Der Verbund 220 kann eine beliebige Anzahl von Bandlaufwerken und Magnetbändern einsetzen. Das Speichersystem 200 kann zum Beispiel zwei (2) Bandlaufwerke und zweihundertsechsundfünfzig (256) virtuelle Laufwerke einsetzen.
  • Der TVC 365 kann Daten von Banddatenträgern beinhalten, die bearbeitet werden, und speichert zusätzliche Datenträgerdaten für einen schnellen Zugriff. Vorgänge wie zum Beispiel Lesevorgänge und Schreibvorgänge zum Einbinden eines Datenträgers durch ein virtuelles Bandlaufwerk können durch den TVC 365 geleitet werden. Folglich kann durch Auswählen eines Verbundes 220 der TVC 365 des Verbundes ausgewählt werden. Alle Magnetbänder des Bandlaufwerks können als ein oder mehrere logische Datenträger oder Datenträger gestaltet werden. Die Datenträger in dem TVC 365 können mithilfe eines FIFO- (first in first out; zuerst hinein, zuerst hinaus) und/oder eines LRU- (least recently used, am längsten ungenutzt) Algorithmus verwaltet werden.
  • Bei dem TVC 365 kann es sich um eine Speichereinheit für einen Schnellzugriff handeln. Bei dem TVC 365 kann es sich zum Beispiel um ein Festplattenlaufwerk mit einer Speicherkapazität von fünftausendvierhundert Gigabyte (5.400 GB) oder dergleichen handeln. In dem Speichersystem 200 kann das Bandlaufwerk Daten in dem TVC 365 zwischenspeichern, die von dem logischen Datenträger gelesen werden sollen, und/oder kann Daten zwischenspeichern, die auf den logischen Datenträger geschrieben werden sollen. Der Host 210 kann zum Beispiel wiederholte Schreibvorgänge auf ein virtuelles Bandlaufwerk durchführen. Der TVC 365 kann die geschriebenen Daten auf dem Festplattenlaufwerk speichern, ohne die Daten auf das virtuelle Magnetband zu schreiben. Zu einem späteren Zeitpunkt kann die Cachespeicher-Verwaltungseinheit 340 die zwischengespeicherten Daten auf das Magnetband des Verbundes 220 schreiben.
  • Der Virtualisierungsknoten 310, der auf einen Datenträger zugegriffen hat, kann als Einbindungspunkt bezeichnet werden. Durch Auswählen eines TVC 365 eines entfernt angeordneten Verbundes, der für einen kürzlich verwendeten Einbindungspunkt für einen logischen Datenträger verwendet wurde, kann der Zugriff auf den Datenträger verbessert werden. Der Hochverfügbarkeitsspeicher des TVC 365 mit hoher Schreibgeschwindigkeit ermöglicht den Hosts 210, Daten in den TVC 365 zu schreiben, ohne darauf warten zu müssen, dass die Daten auf eine physische Platte geschrieben werden.
  • Bei einer bevorzugten Ausführungsform umfasst jeder Standort 105 ein Speichersystem 200. Jedes Speichersystem 200 umfasst zwei oder mehr Verbundfamilienmitglieder 220, die zusammengruppiert werden, um eine Verbundfamilie 280 zu bilden. Die Verbundfamilie 280(1) umfasst zum Beispiel eine Gruppe von Verbundfamilienmitgliedern 220(a) und 220(b), und die Verbundfamilie 280(2) umfasst eine Gruppe von Verbundfamilienmitgliedern 220(c) und 220(d). Zum Beispiel kann die Verbundfamilie 280(1) zu Produktionszwecken verwendet werden, und die Verbundfamilie 280(2) kann für eine Notfallwiederherstellung (disaster recovery, DR) oder zu Archivierungszwecken verwendet werden. Dementsprechend können die Verbundfamilien 280 in Bezug auf andere Verbundfamilien 280 unterschiedliche Rollen ausüben. Darüber hinaus können Verbundfamilienmitglieder 220 einer Verbundfamilie 280 innerhalb der Verbundfamilie 280 unterschiedliche Rollen in Bezug aufeinander ausüben. Dementsprechend können Verbundfamilienmitglieder 220 einer Verbundfamilie 280 in Bezug auf Nichtfamilienmitglieder unterschiedliche Rollen ausüben.
  • Bei einer bevorzugten Ausführungsform können die Verbundfamilien 280 in weltweiten Entfernungen, in regionalen Entfernungen, oder in Kombinationen daraus angeordnet werden. In ähnlicher Weise können die Verbundfamilienmitglieder 220 in weltweiten Entfernungen, in regionalen Entfernungen oder in Kombinationen daraus angeordnet werden. Darüber hinaus können die Verbundfamilienmitglieder 220 unterschiedliche Entfernungswerte voneinander in einer Verbundfamilie 280 aufweisen. In ähnlicher Weise können Verbundfamilien 280 untereinander unterschiedliche Entfernungswerte aufweisen. Entfernungswerte können zwar als Faktor zum Definieren von Rollen und Beziehungen zwischen Verbundfamilien 280 und Verbundfamilienmitgliedern 220 verwendet werden, hierbei handelt es sich jedoch lediglich um einen Faktor beim Herstellen einer Kenntnis der Beziehungen zwischen den Verbundfamilienmitgliedern 220 und den Verbundfamilien 280. Folglich ist das Anordnen oder Gruppieren von Verbünden 220 zu Verbundfamilienmitgliedern einer Verbundfamilie 280 nicht auf Entfernungen beschränkt.
  • Da jedes Speichersystem 200 eine durch Gruppieren von zwei oder mehr Verbünden 220 zu Familienmitgliedern gebildete Verbundfamilie 280 beinhaltet, kann darüber hinaus jedes Speichersystem 200 oder jede Kombination von Speichersystemen 200 eine Anordnung mit mehreren Verbünden oder ein Gitter darstellen.
  • Des Weiteren können die Verbünde 220 des Speichersystems 200 eine verteilte Speicheranordnung bilden. Ein zweiter Verbund 220(b) kann zum Beispiel eine sekundäre Instanz eines Datenträgers bilden. Die sekundäre Instanz kann mit der primären Kopie eines ersten Verbundes 220(a) synchronisiert werden, wobei die sekundäre Kopie jedes Mal aktualisiert wird, wenn die primäre Kopie aktualisiert wird. Die sekundäre Instanz kann in einer weiteren Verbundfamilie 280, die sich an einem entfernt angeordneten Standort 105 befindet, gespeichert werden, um die Verfügbarkeit von Daten sicherzustellen, falls die primäre Instanz nicht verfügbar ist. Bei künftigen Zugriffen am Einbindungspunkt kann die sekundäre Kopie als primäre Kopie ausgewählt werden. Eine transparente Datenmigration kann beim Hinzufügen, Entfernen und/oder Ausgleichen von Daten auf das bzw. von/auf dem Magnetband verwendet werden.
  • Wenngleich bevorzugte Ausführungsformen der vorliegenden Erfindung mit Bezug auf 1 bis 2 erörtert werden, dient dies nur zur Veranschaulichung. Fachleuten ist ersichtlich, dass die vorliegende Erfindung nicht auf eine bestimmte Gitteranordnung beschränkt ist und in jeder Anordnung mit mehreren Verbünden oder Gitteranordnung realisiert werden kann. Zum Beispiel können ein oder mehrere Verbünde 220 von einem Standort 105(a) mit einem oder mehreren Verbünden 220 von einem anderen Standort 105 wie beispielsweise einem Standort 105(b) gruppiert werden, um eine erste Verbundfamilie 280 zu bilden. In ähnlicher Weise können ein oder mehrere Verbünde 220 von einem Standort 105(c) und dem Standort 105(a) zu Familienmitgliedern gruppiert werden, um eine zweite Verbundfamilie 280 zu bilden. Folglich kann jede Kombination von Verbünden 220 zu Familienmitgliedern gruppiert werden, um eine Verbundfamilie 280 zu bilden.
  • 4 ist ein schematisches Blockschaubild, das eine bevorzugte Ausführungsform einer Verbundfamilienvorrichtung 400 der vorliegenden Erfindung veranschaulicht. Die Vorrichtung 400 kann in einem Host 210 und/oder einem Verbund 220 verkörpert werden. Bei einer bevorzugten Ausführungsform wird die Vorrichtung 400 in der Verbundverwaltungseinheit 320 verkörpert. Die Beschreibung der Vorrichtung 400 bezieht sich auf Elemente der 1 bis 3, wobei sich dieselben Nummern auf dieselben Elemente beziehen. Die Vorrichtung 400 kann ein Beziehungsmodul 405, ein Bildungsmodul 410, ein Modul 415 zur kooperativen Replikation, ein Einbindungsverarbeitungsmodul 420, ein Datenaustauschmodul 425, ein Richtlinienmodul 430 oder eine Kombination daraus beinhalten.
  • Das Beziehungsmodul 405 umfasst ein computerlesbares Programm, das auf einem Prozessor wie zum Beispiel einem Prozessor der Verbundverwaltungseinheit 320 ausgeführt wird. Darüber hinaus beinhaltet das Verbundbeziehungsmodul 405 Faktoren zum Definieren von Rollen und Beziehungen zwischen Verbundfamilien 280 und Familienmitgliedern 220. Beispielsweise Faktoren, die sich darauf beziehen, welche Familienmitglieder zu welchen Familien gehören, auf die Entfernungswerte zwischen benachbarten Familien und/oder Familienmitgliedern und darauf, welche Familienmitglieder zu Produktionszwecken verwendet werden und welche für DR (Notfallwiederherstellung) und/oder zu Archivierungszwecken verwendet werden.
  • Die Verbundfamilienmitglieder 220 tauschen über ein Netzwerk wie zum Beispiel das Netzwerk 110 und/oder das Netzwerk 215 Daten aus. Jedes Verbundfamilienmitglied 220 kann eine Bibliotheksverwaltungseinheit 370 mit zumindest einem Bandlaufwerk, das so eingerichtet ist, dass es auf auf dem Magnetband gespeicherte Datenträger zugreift, und zumindest einen TVC 365 umfassen.
  • Das Bildungsmodul 410 umfasst ein computerlesbares Programm, das auf dem Prozessor wie zum Beispiel dem Prozessor der Verbundverwaltungseinheit 320 ausgeführt wird. Das Bildungsmodul 410 wählt Verbünde 220 aus und ordnet sie zu Familienmitgliedern einer Verbundfamilie 280, indem es Verbünde 220 so zusammengruppiert, dass sie mit einem gemeinsamen Satz von Richtlinien, Regeln und/oder Zielsetzungen arbeiten.
  • Das Bildungsmodul 410 gruppiert Verbünde 220 zu einer Verbundfamilie 280, um den Familienmitgliedern 220 zu ermöglichen, einen gemeinsamen Satz von Regeln oder Richtlinien zu befolgen. Dies ermöglicht Gruppen von Verbünden wie zum Beispiel den Familien 280(1), 280(2) zusammenzuarbeiten, um eine bestimmte Aufgabe effizienter zu erfüllen, oder ermöglicht verschiedenen Gruppen von Verbünden 220 und/oder Familien 280, innerhalb eines Gitters unterschiedliche Zielsetzungen zu haben.
  • Das Bildungsmodul 410 kann dazu genutzt werden, durch Einrichtungseigenschaften ein benutzerdefinierbares Verhalten von Familienmitgliedern 220 innerhalb einer Familie 280 zu ermöglichen. Zum Beispiel kann mit Bezug auf 2B einer Gruppe von Verbundfamilienmitgliedern 220(a), 220(b) ermöglicht werden, als Produktionsfamilie 280(1) zu fungieren, die einen Satz von Regeln befolgt, der für Produktionsauslastungen vorteilhaft ist. Einer weiteren Gruppe von Verbundfamilienmitgliedern 220(c), 220(d) in der Domäne 205 kann ermöglicht werden, als Archivierungs- oder Notfallwiederherstellungsfamilie 280(2) mit Regeln zu fungieren, durch die die Familienmitglieder 220(c), 220(d) beim Replizieren von Daten von einer Produktionsfamilie 280(1) leistungsfähiger arbeiten.
  • Darüber hinaus verwaltet das Bildungsmodul 410 die Beziehungen von Familienmitgliedern 220 einer Familie 280 und die Beziehungen zwischen verschiedenen Verbundfamilien 280. Beispielsweise kann das Bildungsmodul 410 Verbundfamilienmitglieder 220 auf der Grundlage ihrer Beziehungen und Rollen verwalten. Bei einer bevorzugten Ausführungsform kann das Beziehungsmodul 405 dem Bildungsmodul 410 diese Daten bereitstellen. Auf der Grundlage der Familienmitglieder und der Beziehungen und/oder Rollen der benachbarten Familien verhandeln die Verbundfamilienmitglieder 220 untereinander, um zu ermitteln, welches Familienmitglied 220 sich in der besten Position befindet, um Außendaten von einer Vielzahl von Verbünden außerhalb der Familie 280 zu beziehen. Das Bildungsmodul 410 kann diese Daten auch dazu verwenden, um, im Gegensatz zu nur einem Verbund oder gitterweit, Mitglieder 220 einer Familie 280 als TVC-Verbünde zu bevorzugen oder um Zugriffsbeschränkungen oder ein anderes Sonderverhalten für eine Familie 280 zu ermöglichen.
  • Das Bildungsmodul 410 kann die Verwaltungsschnittstelle 355 nutzen, um eine Seite anzuzeigen, auf der ein Benutzer (z. B. ein Kunde) eine Verbundfamilie mit einem Zeichennamen wie zum Beispiel einem aus acht Zeichen bestehenden Namen bilden kann. Der Benutzer kann anschließend mithilfe des Bildungsmoduls 410 einen oder mehrere Verbünde zu einer Familie hinzufügen. Das Bildungsmodul 410 kann diese Angaben in dauerhaft im Verbund gespeicherten wichtigen Produktdaten (vital product data) speichern, sodass alle Verbünde in einer Anordnung mit mehreren Verbünden oder einer Gitteranordnung Kenntnis der Rolle ihres Verbundes und der Familie haben, in der sie sich befinden. Das Bildungsmodul 410 kann ermitteln, dass ein Verbund, der für eine Familie ausgewählt wird, bereits für eine weitere Familie ausgewählt worden ist. Um zu vermeiden, dass ein Verbund gleichzeitig in zwei Familien vorhanden ist, kann das Bildungsmodul 410 den Benutzer darüber in Kenntnis setzen, dass der ausgewählte Verbund bereits in einem weiteren Familienmitglied vorhanden ist. Darüber hinaus kann das Bildungsmodul 410 einen Satz von Regeln anwenden, um die Auswahl eines Verbundes in zwei Familien gleichzeitig zu verhindern.
  • Das Richtlinienmodul 430 umfasst ein computerlesbares Programm, das auf dem Prozessor wie zum Beispiel dem Prozessor der Verbundverwaltungseinheit 320 ausgeführt wird. Bei einer bevorzugten Ausführungsform kann das Richtlinienmodul 430 bestimmte Richtlinien beinhalten, die sich darauf beziehen, welche Verbundfamilienmitglieder 220 für die Produktion verwendet werden sollten und welche Familienmitglieder für DR-/Archivierungszwecke verwendet werden sollten. Diese Richtlinien können Sätze von Regeln beinhalten, die die Replikation von Daten regeln. Ein Benutzer kann die Richtlinien zum Verwalten mehrerer Verbundfamilien 280 und Familienmitglieder 220 über die Verwaltungsschnittstelle 355 eingeben.
  • Mit Bezug auf 2A und 2B kann das Verbundfamilien-Bildungsmodul 410 dazu verwendet werden, eine Verbundfamilie 280(1) mit der Bezeichnung „Stadt A” zu bilden und eine weitere Verbundfamilie 280(2) mit der Bezeichnung „Stadt B” zu bilden. Die Verbundfamilie 280(1) kann eine Gruppe von Verbundfamilienmitgliedern 220(a) und 220(b) beinhalten, und die Verbundfamilie 280(2) kann eine Gruppe von Verbundfamilienmitgliedern 220(c) und 220(d) beinhalten. Darüber hinaus kann das Bildungsmodul 410 dazu verwendet werden, Familienmitglieder 220 zu einer Verbundfamilie 280 hinzuzufügen oder aus ihr zu entfernen, und Verbundfamilienmitglieder neu in verschiedene Verbundfamilien 280 zu gruppieren.
  • Da das Bildungsmodul 410 Verbünde basierend auf ihren Beziehungen und/oder Rollen untereinander während der Bildung einer Familie einrichtet und in Familiengruppen anordnet, haben alle Verbünde in einer Gitteranordnung oder einer Anordnung mit mehreren Verbünden Kenntnis von ihren jeweiligen Rollen und den Familien, in denen sie sich befinden. Folglich kann das Bildungsmodul 410 einen Benutzer über die Verwaltungsschnittstelle 355 warnen oder darüber benachrichtigen, dass zum Beispiel der Verbund 220(d), der der Familie 280(1) hinzugefügt wird, derzeit ein Familienmitglied einer weiteren Familie 280(2) ist. Der Benutzer kann dann die Auswahl von 220(d) für die Familie 280(2) aufheben und 220(d) der Familie 280(1) hinzufügen oder für diese neu auswählen. Dementsprechend ermöglicht das Bildungsmodul 410 allen Verbünden 220 in einer Domäne 205 (z. B. einem Gitter), Kenntnis von ihrer eigenen Rolle und Beziehung zu ihrer Familie, in der sie sich befinden, zu anderen Familienmitgliedern und zu Nichtfamilienmitgliedern, die sich in anderen Familien befinden, zu haben.
  • Bei einer bevorzugten Ausführungsform kann das Bildungsmodul 410 einer Verbundfamilie einen Namen zuweisen. Während der Einrichtung kann ein Benutzer zum Beispiel einer Verbundfamilie mithilfe der Verwaltungsschnittstelle 355 einen Namen zuweisen.
  • Das Modul 415 zur kooperativen Replikation umfasst ein computerlesbares Programm, das auf dem Prozessor wie zum Beispiel dem Prozessor der Verbundverwaltungseinheit 320 ausgeführt wird. Darüber hinaus erweitert das Modul 415 zur kooperativen Replikation die vorhandene Kopieverwaltung so, dass zu einer Verbundfamilie 280 gehörende Gruppen von Verbünden 220 in die Lage versetzt werden zusammenzuarbeiten, sodass sie beim Erzielen von Konsistenz für die Familie 280 wie auch unter einzelnen Verbünden 220 innerhalb der Familie 280 (z. B. Familienmitgliedern 220) effizienter sind.
  • Das Modul 415 zur kooperativen Replikation ermöglicht zwei oder mehr Verbundfamilienmitgliedern 220 innerhalb einer Familie 280 wie zum Beispiel einer DR- oder Archivierungsfamilie, ein eingehendes Replikationspensum untereinander aufzuteilen. Dementsprechend profitiert eine Familie 280 von DR-/Archivierungs-Verbundfamilienmitgliedern 220, die das Modul 415 zur kooperativen Replikation nutzen, von einer verbesserten TVC-Auswahl bei der Wahl eines Quellverbundes für die Replikation.
  • Das Modul 415 zur kooperativen Replikation ermöglicht einem Verbundfamilienmitglied, ein Kopierpensum mit anderen Verbundfamilienmitgliedern, die zu derselben Familie gehören, zu teilen. Bei einer bevorzugten Ausführungsform beinhaltet eine Domäne 205 zum Beispiel Y Verbünde 220, wobei Y die Anzahl der in der Domäne 205 enthaltenen Verbünde 220 darstellt. Die Verbünde sind in Verbundfamilien 280 mit N (zwei oder mehr) Verbundfamilienmitgliedern 220 gruppiert. Folglich besteht die Domäne 205 aus Y Verbünden 220, wobei einige der Verbünde 220 zu N Verbundfamilienmitgliedern einer Verbundfamilie 280 gruppiert sind.
  • Beispielsweise sind mit Bezug auf 2B vier Verbünde 220(a), 220(b), 220(c) und 220(d) in der Domäne 205 vorhanden, sodass Y vier Verbünde (Y = 4) darstellt. Zwei Verbünde 220(a) und 220(b) sind zu N = 2 Verbundfamilienmitgliedern einer ersten Verbundfamilie 280(1) gruppiert, und zwei Verbünde 220(c) und 220(d) sind zu N = 2 Verbundfamilienmitgliedern einer zweiten Verbundfamilie 280(2) gruppiert. Bei dieser Gitteranordnung besteht die Domäne 205 aus Y (4) Verbünden, bei denen ein Teilsatz von N = 2 Verbünden zu Familienmitgliedern von Verbundfamilien 280 gruppiert sind. Dementsprechend ist N = 2 die Anzahl der Verbundfamilienmitglieder in einer Familie.
  • Das Modul 415 zur kooperativen Replikation repliziert eine Familiengruppe von Verbünden kooperativ durch Serialisieren der Replikation eines beliebigen Datenträgers, wenn er zum ersten Mal in die Familie eingebracht wird. Beispielsweise steuert das Modul 415 zur kooperativen Replikation jedes Verbundmitglied 220(c) und 220(d) in der Familie 280(2) so, dass es 1/N-tel von Außendatenträgern repliziert, wobei N die Anzahl der Verbünde in der Familie ist, die eine Kopie benötigen. Nachdem alle Außendatenträger in die Familie 280(2) repliziert worden sind und die Familie 280(2) kumulativ konsistent ist, nutzen die inkonsistenten Verbünde innerhalb derselben Familie 280(2) untereinander die Außendaten gemeinsam.
  • Als Beispiel ist es ohne die vorliegende Erfindung von einer Mikrocode-Ebene aus möglich, dass jeder Verbund 220 unabhängig voneinander arbeitet, da die Verbünde 220 keine Kenntnis von ihren Beziehungen und Rollen untereinander haben. Man nehme zum Beispiel an, dass der Verbund 220(a) 20 Datenträger beinhaltet, die in die Verbünde 220(c) und 220(d) repliziert werden müssen. Da die Verbünde 220(c) und 220(d) unabhängig voneinander arbeiten, kann jeder Verbund 220(c), 220(d) 20 Datenträger der ursprünglichen Daten über das Netzwerk 215 abrufen.
  • Nun sind mit Bezug auf 2A und 2B bei einer bevorzugten Ausführungsform zum Beispiel vier Verbünde vorhanden, von denen über das Bildungsmodul 410 zwei Verbünde 220(a), 220(b) zu der Familie 280(1) gruppiert werden und zwei Verbünde 220(c), 220(d) zu der Familie 208(2) gruppiert werden. Alle Familienmitglieder 220 haben Kenntnis voneinander und von den Familien 280, zu denen sie gehören, und haben Kenntnis von allen Datenträgern, die in angrenzende Verbünde innerhalb von Familien repliziert werden müssen.
  • Beispielsweise haben die Verbundfamilienmitglieder 220(c) und 220(d) Kenntnis voneinander und davon, dass 20 Datenträger von einem Nichtfamilienmitglied 220(a) in einer anderen Verbundfamilie 280(1) vorhanden sind, die in ihre Familie 280(2) repliziert werden müssen. Durch Nutzung des Moduls 415 zur kooperativen Replikation ruft das Familienmitglied 220(c) 10 spezifische Datenträger ab, und das Familienmitglied 220(d) ruft die anderen 10 spezifischen Datenträger ab. Das heißt, jedes Verbundfamilienmitglied 220(c), 220(d) ruft 1/N-tel der Datenträger ab, wobei N = Anzahl der Verbundfamilienmitglieder in einer Familie gilt. Da in diesem Beispiel zwei Verbundfamilienmitglieder 220(c), 220(d) vorhanden sind, die zu dem Familienverbund 280(2) gehören, ruft jedes Familienmitglied 1/2 der Datenträger ab (z. B. ruft jedes 10 spezifische Datenträger ab), um eine Gesamtzahl von 20 Datenträgern zu erreichen. Die Verbundfamilienmitglieder 220(c), 220(d) nutzen anschließend die 10 spezifischen Datenträger untereinander gemeinsam.
  • Durch kooperatives Replizieren über das Modul 415 zur kooperativen Replikation kann die Verbundfamilie 280(2) oder der DR-Speicherort N-mal schneller kumulativ konsistent werden, da jeder Datenträger lediglich einmal statt N-mal über die Fernverknüpfung 110/215 abgerufen wurde. Aufgrund ihrer relativen Entfernung untereinander können die Verbundfamilienmitglieder 220 anschließend für eine Verfügbarkeit untereinander erheblich schneller konsistent werden. Dementsprechend kann die Gesamtzeit, um sowohl DR-Konsistenz als auch Hochverfügbarkeits(HA)-Konsistenz zu erzielen, im Vergleich dazu, dass jeder Verbund 220 unabhängig von denselben entfernt angeordneten Produktionsverbünden 220 Daten abruft, erheblich verbessert werden.
  • Dementsprechend ist es möglich, den Kopierdurchsatz zu optimieren und die Gesamtzeit zum Erreichen von Datenträgerkonsistenz innerhalb der Verbundfamilie 280 zu verbessern. Beispielsweise ermöglicht das Modul 415 zur kooperativen Replikation in einem System mit begrenzter Bandbreite oder einem Gitter mit mehreren Archivstandorten jedem Familienmitglied 220 in einer Familie 280, sich an dem Replikationsprozess für alle eingehenden Kopien zu beteiligen, ohne dass sich der Aufwand vervielfacht. Nachdem eine Gruppe von Verbünden (Familienmitgliedern) 220 innerhalb einer Familie 280 einen insgesamt konsistenten Zustand erreicht hat, werden die konsistenten Kopien innerhalb einzelner Verbünde 220 in der Familie 280 unter gleichrangigen Verbünden innerhalb derselben Familie gemeinsam genutzt.
  • Darüber hinaus sorgt das Modul 415 zur kooperativen Replikation für dauerhafte Kenntnis der Replikationsquelle durch Zurückstellen der Replikation. Beispielsweise kann ein Verbundmitglied 220, das über eine konsistente Quelle verfügt, angewiesen werden, diesen Quelldatenträger im Cachespeicher zu behalten, um ihn für andere Familienmitglieder 220 jederzeit für die Peer-Replikation verfügbar zu machen. Der Verbund mit der konsistenten Quelle erbt die Rolle des ursprünglichen Einbindungsquellenverbundes oder des Verbundes, der die durch den Host erstellte/modifizierte ursprüngliche Kopie enthält. Nachdem ein Verbund in einer Familie einen seiner 1/N-tel Datenträger repliziert hat, informiert das Modul 415 zur kooperativen Replikation zuerst den ursprünglichen Einbindungsquellenverbund darüber, dass alle anderen Verbünde in seiner Familie einschließlich seiner selbst erfasst sind und dass der Produktionsverbund die Rolle im Namen der Verbünde der Zielfamilie aufgeben kann. Dadurch wird der Produktionsverbund freigegeben, um den Datenträger zum Backend-Band auszulagern (in der Annahme, dass keine anderen Familien oder Produktionsverbünde vorhanden sind, die Kopien benötigen), wodurch eine größere Cachespeicherverfügbarkeit bereitgestellt wird. Als Zweites erbt der DR-Familienverbund, der die Replikation für den Datenträger angestoßen hat, die Rolle und erinnert sich daran, welche Verbünde innerhalb seiner Familie noch eine Kopie benötigen. Durch dieses Erben kann der Datenträger im Cachespeicher bevorzugt werden, bis alle seine gleichrangigen Familienverbünde eine Kopie fertiggestellt haben.
  • Bei einer bevorzugten Ausführungsform kann das Modul 415 zur kooperativen Replikation kaskadierende Kennzeichen „Kopie erforderlich” einsetzen. Das Modul 415 zur kooperativen Replikation verschiebt zum Beispiel die Eigentümerschaft an dem Kennzeichen „Kopie erforderlich” von einer Verbundfamilie zu einer weiteren, wenn eine Verbundfamilie konsistent wird. Durch Kaskadieren der Kennzeichen „Kopie erforderlich” kann das Modul 415 zur kooperativen Replikation ermöglichen, dass die Vorteile der Kennzeichen von einer Familie zu einer anderen verlagert werden, wodurch der ursprüngliche TVC von seiner Einbindung befreit wird. Durch Erben der Kennzeichen „Kopie erforderlich” von dem TVC kann zum Beispiel ein Familienmitglied, nachdem es eine Kopie erhalten hat, dem TVC-Verbund ermöglichen, den Datenträger zu migrieren und Platz im Cachespeicher für ein anderes, neues Arbeitspensum zu schaffen.
  • Ein Beispiel kann eine Domäne sein, die aus einer Produktions- oder Standardfamilie in Verbindung mit einer DR-/Archivierungsfamilie besteht. Der TVC-Verbund kann ein Mitglied der Produktions- oder Standardfamilie sein und kann beginnen, die Kennzeichen „Kopie erforderlich” zu verwalten. Nachdem ein Mitglied der DR-/Archivierungsfamilie eine Kopie von dem TVC-Verbund erhält, kann die DR-/Archivierungsfamilie den TVC-Verbund benachrichtigen, dass er alle Kennzeichen „Kopie erforderlich”, die Mitglieder der DR-/Archivierungsfamilie betreffen, löschen soll. In Verbindung damit kann die DR-/Archivierungsfamilie die Verantwortung zum Verwalten dieser Kennzeichen „Kopie erforderlich” für ihre Familienmitglieder erben.
  • Bei einer (nicht abgebildeten) weiteren Ausführungsform des Speichersystems 200 kann die Domäne 205 einen ersten Familienverbund 280(1), der Verbundfamilienmitglieder 220(a), 220(b), 220(c) umfasst, einen zweiten Familienverbund 280(2), der Verbundfamilienmitglieder 220(d), 220(e), 220(f) umfasst, und einen dritten Familienverbund 280(3) beinhalten, der Verbundfamilienmitglieder 220(g), 220(h), 220(i) umfasst. Jede Familie 280 beinhaltet drei Verbundfamilienmitglieder 220, und jedes Familienmitglied stellt ein Bit dar. Der Bit-Satz enthält insgesamt 9 Bit, da drei Familien vorhanden sind, wobei jede Familie über drei Familienmitglieder (3 Bit) verfügt. Der Familienverbund 280(1) beinhaltet zum Beispiel das ursprüngliche Datenobjekt, das in die Familienverbünde 280(2), 280(3) repliziert werden muss.
  • Es ist möglich, dass der Verbund 220(a) den Datenträger im Cachespeicher behält, bis alle neun Verbünde 220 eine Kopie über das Netzwerk 110 oder 215 abgerufen haben. Der Verbund 220(a) kann zum Beispiel einen 9-Bit-Satz beinhalten, und wenn jeder Verbund 220 eine Kopie abruft, kann der Verbund 220(a) ein Bit in seiner Maske löschen. Da der Verbund 220(a) eine Kopie für alle neun Verbünde 220 in seinem Cachespeicher behält, ist der Verbund 220(a) möglicherweise nicht in der Lage, Platz für ein zusätzliches Arbeitspensum zu schaffen.
  • Indem er jeder Verbundfamilie 280 ermöglicht, die Verantwortung zum Verwalten jener Kennzeichen „Kopie erforderlich” für ihre Familienmitglieder zu erben, kann der Verbund 220(a) die verbleibenden 6 Bit für diejenigen Verbundfamilien 280(2), 280(3) löschen und nur die Kopie für seine eigenen beiden Familienmitglieder 220(b), 220(c), die sich in der Familie 280(1) befinden, in seinem Cachespeicher behalten. Nachdem seine eigenen Familienmitglieder 220(b) und 220(c) eine Kopie erhalten haben, kann der Verbund 220(a) seine Maske löschen, um Platz für ein größeres Arbeitspensum zu schaffen.
  • In diesem Beispiel ruft der Verbund 220(d) der Familie 280(2) eine Kopie über das Netzwerk 215 ab und informiert den Verbund 220(a) des Familienverbundes 280(1), dass er die Kopie für die Familie 280(2) nicht mehr im Cachespeicher behalten muss, da 220(d) eine Kopie in seinem Cachespeicher behält, bis seine Familienmitglieder 220(e), 220(f) eine Kopie erhalten. Dies entlastet den Verbund 220(a) davon, die Kopie für alle Familienmitglieder der Verbundfamilie 280(2) im Cachespeicher zu behalten. In ähnlicher Weise setzt ein Familienmitglied 220(g), das zu der Familie 280(3) gehört, den Verbund 220(a) darüber in Kenntnis, dass es eine Kopie für seine Familienmitglieder 220(h), 220(i) in seinem Cachespeicher behält. Auf diese Weise wird der Verbund 220(a) davon entlastet, eine Kopie für alle Familienmitglieder, die zu 280(3) gehören, in seinem Cachespeicher zu behalten.
  • Darüber hinaus kann das Modul 415 zur kooperativen Replikation die Leistungen in Umgebungen mit geringer Bandbreite durch Nutzen von mehr Verknüpfungen innerhalb der Domäne zum Erstellen von Kopien erhöhen, statt sich vorwiegend auf Kopien von dem TVC zu stützen, und die Gesamtzeit, bis Verbünde innerhalb einer Familie konsistent werden, verbessert sich. Beispielsweise arbeiten die Familien 280, die das Modul 415 zur kooperativen Replikation nutzen, zusammen, um Konsistenz über die Familie hinweg zu erzielen. Wenn über die Familie hinweg Konsistenz erreicht ist, arbeiten die Familienmitglieder 220 anschließend zusammen, um Daten unter Familienmitgliedern freizugeben und jedes einzelne Mitglied auf die Konsistenzebene der Familie zu bringen.
  • Das Einbindungsverarbeitungsmodul 420 umfasst ein computerlesbares Programm, das auf dem Prozessor wie zum Beispiel dem Prozessor der Verbundverwaltungseinheit 320 ausgeführt wird. Das Einbindungsverarbeitungsmodul 420 bevorzugt und wählt Verbundfamilienmitglieder in seiner eigenen Familie gegenüber Verbünden außerhalb seiner Familie, wenn eine Einbindung eines logischen Datenträgers in einen Verbund stattfindet. Beispielsweise kann eine Einbindung in einen Produktionsverbund einen weiteren Produktionsverbund in derselben Familie 280(1) gegenüber einem entfernt angeordneten Verbund, der vorwiegend für DR oder elektronisches Sichern verwendet wird, bevorzugen. Das Einbindungsverarbeitungsmodul 420 kann eingesetzt werden, um der Verfügbarkeit gegenüber der Wiederherstellbarkeit im Notfall den Vorzug zu geben, wenn Produktionsdaten vor Ort bleiben und für eine hohe Verfügbarkeit schnell repliziert werden müssen, und um folglich Familienmitglieder innerhalb der Produktionsfamilie anstelle der DR-Familie auszuwählen.
  • Das Einbindungsverarbeitungsmodul 420 kann die Steuerung und Leistung durch Bevorzugung von Verbundfamilienmitgliedern verbessern, wenn Ferneinbindungen erforderlich sind. Familien und/oder Familienmitglieder können so eingerichtet werden (d. h. mithilfe des Bildungsmoduls 410), dass sie bestimmte Verbünde gegenüber anderen Verbünden beim Auswählen eines entfernt angeordneten TVC bevorzugen. Dies kann beim Unterscheiden eines Satzes von Produktionsverbünden von Nichtproduktionsverbünden vorteilhaft sein. Durch Bevorzugen der Familienmitglieder innerhalb derselben Produktionsfamilie kann die TVC-Auswahl auf die Produktionsverbünde beschränkt werden, statt unter Umständen weit entfernt angeordnete Verbünde auszuwählen, die für eine DR oder für Archivierungszwecke bestimmt sind.
  • Da das Verbundfamilienmitglied 220 innerhalb einer Verbundfamilie 280 das Ziel einer Einbindung ist und innerhalb derselben Verbundfamilie 280 bevorzugt wird, kann darüber hinaus die Verarbeitung der TVC-Auswahl verbessert werden.
  • Bei einer bevorzugten Ausführungsform kann ein Speichersystem 200 eine Vielzahl von Verbünden beinhalten, bei denen ein Teilsatz von zwei oder mehr Verbünden 220 zu einer ersten Verbundfamilie 280 gruppiert ist und ein Teilsatz von zwei oder mehr Verbünden 220 zu einer zweiten Verbundfamilie 280 gruppiert ist. Das Gruppieren der Familiengruppe kann auf den Rollen, Beziehungen und/oder Entfernungen der Familienmitglieder zueinander und/oder zu anderen Nichtfamilienmitgliedsverbünden beruhen. Jedes Verbundfamilienmitglied der Verbundfamilie 280 hat Kenntnis ihrer Beziehungen untereinander. Diese Kenntnis der Beziehungen unter Familienmitgliedern ermöglicht der Gruppe, leistungsfähig zusammenzuarbeiten, um Daten kumulativ in die Gruppe zu replizieren und anschließend untereinander zu replizieren.
  • Ein Standort 105 kann eine Verbundfamilie 280 oder eine Kombination von Verbundfamilien 280 beinhalten. Ein Standort 105(a) kann zum Beispiel eine erste Verbundfamilie 280 und eine zweite Verbundfamilie 280 beinhalten. Die erste Verbundfamilie 280 kann Produktionsverbünde 220(a), 220(b) beinhalten, und die zweite Verbundfamilie 280 kann DR-Verbünde 220(c), 220(d) beinhalten. Darüber hinaus können Verbünde 220 aus einer Kombination von Standorten 105 ausgewählt werden, um eine Verbundfamilie 280 zu bilden. Beispielsweise kann eine Verbundfamilie 280 durch Auswählen von Verbünden 220 an mehreren Standorten 105 wie zum Beispiel 105(a) und 105(b) gebildet werden, wobei die Verbünde 220(a), 220(b) am Standort 105(a) zu Produktionszwecken verwendet werden und die Verbünde 220(c), 220(d) am Standort 105(b) für eine DR und/oder zu Archivierungszwecken verwendet werden.
  • Bei einer bevorzugten Ausführungsform werden die Verbünde 220(c), 220(d) zum Archivieren von Daten verwendet. Bei einer bevorzugten Ausführungsform werden die Verbünde 220(c), 220(d) für eine DR verwendet. Bei einer weiteren Ausführungsform wird ein Verbund wie zum Beispiel der Verbund 220(c) für eine DR verwendet, und der andere Verbund wie zum Beispiel der Verbund 22(d) wird zum Archivieren verwendet.
  • Die folgenden schematischen Ablaufpläne werden allgemein als logische Ablaufpläne dargestellt. Insofern weisen die dargestellte Reihenfolge und die bezeichneten Schritte auf eine bevorzugte Ausführungsform des vorgelegten Verfahrens hin. Andere Schritte und Verfahren, die in der Funktion, Logik oder Wirkung gleichartig wie ein oder mehrere Schritte, oder Teile davon, des veranschaulichten Verfahrens sind, sind vorstellbar. Darüber hinaus werden das Format und die Symbole, die verwendet werden, bereitgestellt, um die logischen Schritte des Verfahrens zu erläutern, und sind so zu verstehen, dass sie den Umfang des Verfahrens nicht einschränken. Wenngleich in den Ablaufplänen verschiedene Arten von Pfeilen und Linien verwendet werden können, sind sie so zu verstehen, dass sie den Umfang des entsprechenden Verfahrens nicht einschränken. Tatsächlich können einige Pfeile oder andere Verbinder verwendet werden, um nur den logischen Ablauf des Verfahrens zu kennzeichnen. Beispielsweise kann ein Pfeil einen Warte- oder Überwachungszeitraum einer nicht angegebenen Dauer zwischen einzeln benannten Schritten des dargestellten Verfahrens kennzeichnen. Darüber hinaus kann die Reihenfolge, in der ein bestimmtes Verfahren abläuft, die Reihenfolge der entsprechenden dargestellten Schritte strikt einhalten oder nicht einhalten.
  • 5 ist ein schematischer Ablaufplan, der eine bevorzugte Ausführungsform eines Verfahrens zur Verbundfamilienauswahl und zur kooperativen Replikation der vorliegenden Erfindung veranschaulicht. Das Verfahren 500 beinhaltet im Wesentlichen die Schritte zum Ausführen der oben in Bezug auf den Betrieb der/des beschriebenen Vorrichtung und Systems der 1 bis 4 dargestellten Funktionen. Bei einer bevorzugten Ausführungsform wird das Verfahren mit einem Computerprogrammprodukt realisiert, das ein computerlesbares Medium umfasst, das ein computerlesbares Programm aufweist. Das computerlesbare Programm kann in ein Computersystem wie zum Beispiel die Verbundverwaltungseinheit 320 und/oder die Hosts 210 integriert sein, wobei das Programm zusammen mit dem Computersystem in der Lage ist, das Verfahren 500 auszuführen.
  • Das Verfahren 500 beginnt, und in Schritt 510 wird eine Gruppe von Verbünden zu Familienmitgliedern einer Verbundfamilie angeordnet. Die Verbünde werden zum Beispiel auf der Grundlage ihrer Beziehungen zueinander und zu anderen Verbünden in einer Domäne gruppiert. Verbundfamilien können auf der Grundlage einer Vielfalt von Faktoren und/oder Funktionen wie zum Beispiel Rollen (z. B. Produktionsquelle, DR, Archivierung usw.), Umfang, Entfernungen (z. B. Entfernungswerte zwischen Familien) und dergleichen gebildet werden. Darüber hinaus kann ein Benutzer einen Zeichennamen zuweisen, um eine Verbundfamilie zu bilden. Wie in 2B veranschaulicht, kann eine Verbundfamilie zum Beispiel unter Verwendung eines Zeichennamens „Stadt A” gebildet werden, und eine weitere Familie kann unter Verwendung eines Zeichennamens „Stadt B” gebildet werden.
  • Bei einer bevorzugten Ausführungsform wird das Bildungsmodul 410 dazu verwendet, eine Verbundfamilie zu bilden, wobei ein Benutzer während der Einrichtung eine Verbundfamilie mithilfe einer Verwaltungsschnittstelle 355 bilden kann, um einen Verbundfamiliennamen zu erstellen, einen oder mehrere Verbünde einer Familie hinzuzufügen, eine Rolle und/oder einen Entfernungswert zwischen benachbarten Familien zuzuweisen und die Verbünde mithilfe von Einrichtungseigenschaften zu gestalten. Diese dauerhaften Einstellungen können durch das Bildungsmodul 410 zum Beispiel dazu verwendet werden, ein(en) oder mehrere Verbünde oder Familienmitglieder über Beziehungen wie auch über relative Eigenschaften zwischen Familien wie beispielsweise Entfernung in Kenntnis zu setzen.
  • Bei einer bevorzugten Ausführungsform verwaltet das Beziehungsmodul 405 diese dauerhaften Einstellungen für die Verbundfamilien und die Familienmitglieder.
  • Zusätzlich kann eine autonome Funktionalität eingesetzt werden, um die Rollen und Beziehungen zwischen Verbünden zu erkennen. Die autonome Funktionalität kann zum Beispiel in dem Bildungsmodul 410 ausgeführt werden.
  • In Schritt 515 verhandeln die Familienmitglieder untereinander, um zu ermitteln, welches Familienmitglied der Familie sich in der besten Position befindet, um Außendatenobjekte zu beziehen. Wie in 2B veranschaulicht, beinhaltet zum Beispiel die Verbundfamilie 280(1) zwei oder mehr Familienmitglieder 220(a), 220(b), die in regionalen Entfernungen angeordnet und zu Produktionszwecken verwendet werden können. Die Verbundfamilie 280(2) beinhaltet zwei oder mehr Verbundfamilienmitglieder 220(c), 220(d), die in weltweiten Entfernungen in Bezug auf die Familie 280(1) angeordnet und für DR-Zwecke verwendet werden können. Die Verbundfamilie 280(1) kann mit der Verbundfamilie 280(2) über das Netzwerk 110, 215 austauschen, dass Datenobjekte zum Kopieren bereit sind. Da Verbundmitglieder jeder Familie wie auch die Familien selbst Kenntnis von ihren jeweiligen Rollen und Beziehungen zueinander haben, können die Familienmitglieder 220(c), 220(d) untereinander verhandeln, um zu ermitteln, welches Familienmitglied der Familie 280(2) sich in der besten Position befindet, um eine Kopie der Außendatenobjekte zu beziehen.
  • Bei einer bevorzugten Ausführungsform arbeiten die Verbundfamilienmitglieder 220, die zu einer Verbundfamilie 280 gehören, zum Beispiel in FIFO-Reihenfolge unter Verwendung einer gemeinsamen Kopierwarteschlange. Vor dem Bearbeiten einer Kopie stellt jedes Verbundfamilienmitglied 220 zuerst sicher, dass kein anderes Verbundfamilienmitglied in der Verbundfamilie 280 gerade eine Kopie erstellt oder bereits eine Kopie erstellt hat. Wenn dies nicht der Fall ist, können ein oder mehrere Verbundfamilienmitglieder 220 die Kopie erstellen. Wenn das Kopieren durch ein weiteres Familienmitglied durchgeführt wird oder bereits durch ein weiteres Familienmitglied durchgeführt worden ist, können ein oder mehrere Verbundfamilienmitglieder die Kopie in eine zurückgestellte Warteschlange verschieben. Einige Zeit später, nachdem der gesamte Inhalt der aktiven Produktion in die Verbundfamilie 280 kopiert worden ist, beginnen die Familienmitglieder, die zurückgestellte Warteschlange zu bearbeiten, bei der es sich um Inhalt handelt, den sie untereinander teilen sollten. Wenn das gleichrangige Familienmitglied, das die Kopie ursprünglich erhalten hatte, nicht vorhanden ist, kann es dennoch eine Kopie von einem Verbund von außerhalb oder von einem weiteren Familienmitglied erhalten.
  • In Schritt 520 beziehen ein oder mehrere Verbundfamilienmitglieder die Daten oder den Quelldatenträger und replizieren sie/ihn. Beispielsweise werden ein oder mehrere Verbundfamilienmitglieder 220, die zu einer Verbundfamilie 280 gehören, ausgewählt, um die Daten oder den Quelldatenträger über das entfernt angeordnete Netzwerk 110, 215 abzurufen, die Daten oder den Quelldatenträger zu kopieren/replizieren und sie/ihn in die Verbundfamilie 280 einzubringen. Beispielsweise ruft das Familienmitglied 220(c) der Familie 280(2) die Außendatenobjekte über das Netzwerk 110, 215 in die Familie 280(2) ab. Das Familienmitglied 220(c) verfügt nun über eine konsistente Quelle und kann beauftragt werden, diesen Quelldatenträger im Cachespeicher (z. B. dem TVC 365) zu behalten, um ihn für die Peer-Replikation schnell verfügbar zu machen.
  • In Schritt 525 wird der Quelldatenträger kooperativ unter den Familienmitgliedern der Familie repliziert. Beispielsweise kooperiert eine Familiengruppe von Verbünden durch Serialisieren der Replikation eines beliebigen Datenträgers, wenn sie ihn zum ersten Mal in die Familie einbringt. Die Verbünde in einer Familie können jeweils eine Rolle beim Replizieren von 1/N-tel der Datenträger spielen, wobei N die Anzahl der Verbünde in der Familie ist, die eine Kopie benötigen.
  • Durch kooperatives Replizieren kann die Verbundfamilie oder der DR-Speicherort N-mal schneller kumulativ konsistent werden, da ein Datenträger nur einmal statt mehrmals über die Fernverknüpfung abgerufen wurde. Aufgrund ihrer relativen Entfernung untereinander können die Verbünde anschließend für eine Verfügbarkeit untereinander erheblich schneller konsistent werden. Die Gesamtzeit, um sowohl DR-Konsistenz als auch Hochverfügbarkeits(HA)-Konsistenz zu erzielen, kann im Vergleich dazu, dass jeder Verbund unabhängig von demselben entfernt angeordneten Produktionsverbund Daten abruft, erheblich verbessert werden.
  • In Schritt 530 erzielt die Verbundfamilie kumulative Konsistenz. Das heißt, alle Datenträger außerhalb der Verbundfamilie, die in die Verbundfamilie repliziert werden müssen, sind abgeschlossen. Die Verbundfamilie als Ganzes ist in Bezug auf alle Außendatenobjekte konsistent. Nun können die Verbundfamilienmitglieder die Daten untereinander teilen, sodass jedes einzelne Familienmitglied innerhalb der Verbundfamilie über seine eigene Kopie verfügt.
  • Nachdem alle Datenträger in eine Familie repliziert worden sind und die Familie kumulativ konsistent ist, teilen die inkonsistenten Verbünde innerhalb derselben Familie in Schritt 535 Datenträger (d. h. Datenobjekte) untereinander.
  • Dementsprechend wird durch Durchführen des Verfahrens 500 der vorliegenden Erfindung eine kooperative Replikation ausgeführt, wobei die Verbundfamilie oder der DR-Speicherort N-mal schneller kumulative Konsistenz erreichen kann, da jeder Datenträger nur einmal statt N-mal über die Fernverknüpfung abgerufen wurde. Aufgrund ihrer relativen Entfernung untereinander können die Verbünde anschließend für eine Verfügbarkeit untereinander erheblich schneller Konsistenz erreichen. Die Gesamtzeit, um sowohl DR-Konsistenz als auch HA-Konsistenz zu erzielen, kann dann im Vergleich dazu, dass jeder Verbund unabhängig von demselben entfernt angeordneten Produktionsverbund Daten abruft, erheblich verbessert werden.
  • Darüber hinaus verwendet das Verfahren 500 Familien für ein leistungsfähigeres Verfahren zum Replizieren in X Verbünde (wobei X die Anzahl der Verbünde darstellt), wenn nur N Kopien durch den Kunden benötigt werden und diese N Kopien voneinander entfernt sein müssen. Dies ermöglicht einem Kunden, Kopien über Entfernungen/Familien hinweg zu verbreiten, ohne allzu genau anzugeben, welche Verbünde eine Kopie erhalten. Ein Benutzer interessiert sich zum Beispiel möglicherweise nicht dafür, welche Verbünde die Kopie enthalten, solange N Kopien vorhanden sind (wobei N kleiner als X ist); und der Kunde fordert, dass sich die N Kopien alle in unabhängigen Familien befinden. Daher können alle Verbünde in einer Domäne zusammenarbeiten, um sicherzustellen, dass zumindest ein Mitglied aus jeder Familie einen Datenträger repliziert, und die verbleibenden Verbünde können dann ihre Replikationsanforderungen aufgeben. Es ist dann möglich, dass letztendlich N Kopien in N Familien vorliegen, ohne dass sich zu viele der N Kopien in einem einzigen Bereich befinden.
  • Die Schritte des Verfahrens 500 können bei einer Einbindungsverarbeitung in einer beliebigen Kombination angewendet werden. Nachdem in Schritt 510 Verbundfamilien eingerichtet worden sind, kann das Verfahren 500 zum Beispiel mithilfe der Schritte 515 bis 535 Verbünde in der eigenen Familie gegenüber Verbünden außerhalb der Familie bevorzugen. Beispielsweise kann eine Einbindung in einen Produktionsverbund einen weiteren Produktionsverbund (in derselben Familie) gegenüber einem entfernt angeordneten Verbund, der vorwiegend für die Notfallwiederherstellung (elektronisches Sichern) verwendet wird, bevorzugen. Da ein Benutzer möglicherweise eher wünscht, dass Produktionsdaten vor Ort bleiben und sie für eine hohe Verfügbarkeit schnell repliziert werden können (wobei der Verfügbarkeit gegenüber der Notfallwiederherstellung der Vorzug gegeben wird), ist das Abrufen eines Produktionsverbundes in Bezug auf das kurzfristige Ziel erheblich leistungsfähiger und beeinträchtigt dennoch nicht das langfristige Ziel.
  • Mit Bezug auf 6A und 6B handelt es sich um einen schematischen Ablaufplan, der eine bevorzugte Ausführungsform eines Verfahrens zur Verbundfamilienauswahl und zur kooperativen Replikation der vorliegenden Erfindung veranschaulicht. Das Verfahren 600 beinhaltet im Wesentlichen die Schritte zum Ausführen der oben in Bezug auf den Betrieb der/des beschriebenen Vorrichtung und Systems der 1 bis 4 dargestellten Funktionen. Bei einer bevorzugten Ausführungsform wird das Verfahren mit einem Computerprogrammprodukt realisiert, das ein computerlesbares Medium umfasst, das ein computerlesbares Programm aufweist. Das computerlesbare Programm, kann in ein Computersystem wie zum Beispiel die Verbundverwaltungseinheit 320 und/oder die Hosts 210 integriert sein, wobei das Programm zusammen mit dem Computersystem in der Lage ist, das Verfahren 600 auszuführen.
  • Das Verfahren 600 beginnt, und in Schritt 605 beginnt der Kopierprozess. Beispielsweise müssen Außendatenobjekte in Stadt A in Stadt B repliziert werden (z. B. 2B).
  • In Schritt 610 ermittelt eine Steuereinheit, ob es sich bei einem Verbund, der die Kopieranforderung empfängt, um ein Verbundfamilienmitglied handelt. Wenn dies nicht der Fall ist, wird in Schritt 615 der Datenträger kopiert, ohne eine kooperative Replikation durchzuführen. Das Modul 415 zur kooperativen Replikation kann zum Beispiel die Kopieranforderung ohne Verzögerung oder Änderungen der Priorität handhaben.
  • Darüber hinaus kann das Modul 415 zur kooperativen Replikation zumindest ein Familienmitglied in der Familie dazu auswählen, die Daten über eine Fernverknüpfung oder ein Netzwerk abzurufen. Die Auswahl kann durchgeführt werden, nachdem ermittelt worden ist, dass es sich bei dem Verbund um ein Familienmitglied handelt und keine anderen Familienmitglieder die Daten über das Netzwerk abgerufen haben.
  • Wenn es sich dabei um ein Verbundfamilienmitglied handelt, ermittelt in Schritt 620 eine Steuereinheit, ob eines der anderen Familienmitglieder das Kopieren dieses Datenträgers bereits abgeschlossen hat. Wenn dies der Fall ist, wird in Schritt 625 dem Kopieren des Datenträgers eine geringere Priorität eingeräumt, und es wird in die Warteschlange zurückgestellt, da eines der anderen Familienmitglieder den Datenträger bereits kopiert hat.
  • Wenn keines der Familienmitglieder das Kopieren dieses Datenträgers bereits abgeschlossen hat, ermittelt in Schritt 630 eine Steuereinheit, ob ein weiteres Familienmitglied diesen Datenträger zurzeit kopiert. Wenn dies der Fall ist, wird in Schritt 635 die Priorität für das Kopieren dieses Datenträgers herabgesetzt, und es kommt zu einer Verzögerung, bevor es erneut in die Warteschlange eingestellt wird. Die Verzögerung, bevor die Kopieranforderung in die Warteschlange zurückgesendet wird, dient dazu sicherzustellen, dass beispielsweise ein weiteres Familienmitglied, das den Datenträger zurzeit kopiert, beim Kopieren des Datenträgers nicht auf Probleme gestoßen ist.
  • Wenn in Schritt 630 zurzeit kein anderes Familienmitglied den Datenträger kopiert, ermittelt in Schritt 640 eine Steuereinheit, ob ein weiteres Familienmitglied ebenfalls bereit ist, diesen Datenträger zu kopieren, ihn jedoch zu diesem Zeitpunkt nicht bereits kopiert. Wenn dies nicht der Fall ist, ermittelt in Schritt 645 eine Steuereinheit, ob dieses andere Familienmitglied, das zu diesem Zeitpunkt nicht bereits kopiert, die Kennzeichen „Kopie erforderlich” erben sollte. Wenn dies der Fall ist, setzt in Schritt 645 dieser Verbund die Kopierpriorität herab und verzögert das Wiedereinstellen in die Warteschlange.
  • Wenn dies in Schritt 645 nicht der Fall ist, geht das Verfahren 600 zu Schritt 655 über, und dieses Familienmitglied gewinnt die Entscheidung zwischen den beiden Verbundmitgliedern und erbt die Kopierkennzeichen. Dementsprechend ermittelt in Schritt 645 eine Steuereinheit, welches Familienmitglied dazu vorgesehen wird, die Kopierkennzeichen zu erben. Das nicht vorgesehene Familienmitglied setzt die Kopierpriorität herab und verzögert das Wiedereinstellen in die Warteschlange (z. B. Schritt 650).
  • Es wird zu Schritt 640 zurückgekehrt, wobei anschließend in Schritt 655, wenn kein weiteres Familienmitglied bereit ist, diesen Datenträger zu kopieren, eine Steuereinheit ermittelt, dass in dieser Verbundfamilie nur ein Familienmitglied bereit ist, den Datenträger zu kopieren, und dieses Familienmitglied als den Verbund vorsieht, der die Kopierkennzeichen erben und die Replikation abschließen soll.
  • Es ist zu beachten, dass in Schritt 640 eine Steuereinheit ermitteln kann, dass eine weitere Familie bereit ist zu kopieren und zu diesem Zeitpunkt nicht bereits kopiert, wie jedoch in Schritt 645 angegeben, führt das Ermitteln des anderen Verbundes nicht zum Erben der Kopierkennzeichen. Dementsprechend würde der Verbund in Schritt 640 die Kopierkennzeichen erben, wie in Schritt 655 veranschaulicht.
  • In Schritt 660 schließt der vorgesehene Verbund, der in Schritt 655 die Kopierkennzeichen geerbt hat, das Kopieren ab.
  • In Schritt 670 löscht eine Steuereinheit die Kennzeichen „Kopie erforderlich” bei dem Quellverbund und macht die Familie durch Kooperation kumulativ konsistent, indem sie Kennzeichen „Kopie erforderlich” für Familienmitglieder der Verbundfamilie festlegt.
  • In Schritt 675 schließen andere Familienmitglieder der Verbundfamilie ihren Kopiervorgang ab, und ihre Kennzeichen „Kopie erforderlich”, die in Schritt 655 innerhalb des Verbundes festgelegt wurden, der dazu vorgesehen wurde, die Kopierkennzeichen zu erben, werden zurückgesetzt.
  • 1 bis 3 können eine Anordnung mit mehreren Verbünden veranschaulichen. In einer Anordnung mit mehreren Verbünden oder (einer Gitteranordnung) kann von einer Mikrocode-Perspektive aus jeder Verbund in Unkenntnis über seine Beziehungen und Rollen sich selbst und anderen Verbünden gegenüber sein und folglich gleichermaßen unabhängig von allen anderen Verbünden arbeiten. Wenn beispielsweise zwei oder mehr Verbünde weltweit entfernt von einem oder mehreren Produktionsverbünden angeordnet sind, können sie unabhängig replizieren, indem sie Daten über das entfernt angeordnete Netzwerk ,abrufen'. Da die Verbünde keine Kenntnis von den Beziehungen haben, können sie nicht auf der Grundlage ihrer Rolle und/oder Entfernung von anderen Verbünden die beste Leistung erbringen.
  • Zusätzlich sind bei einer typischen Anordnung mit mehreren Verbünden die Mittel zum Auswählen eines Verbundes zum Abrufen eines Datenträgers während der Einbindungsverarbeitung und die Fähigkeit von Verbünden, die Datenträgerreplikation anzuerkennen, durch diese Unkenntnis von Beziehungen erheblich beeinträchtigt. Der Produktionsverbund kann zum Beispiel einen weltweit entfernt angeordneten Quellverbund statt eines regional entfernt angeordneten Verbundes zur Einbindungs- und/oder Kopieverarbeitung auswählen. Der weltweit entfernt angeordnete Verbund ist aufgrund der Entfernung des Netzwerks zwischen den Verbünden erheblich weniger leistungsfähig.
  • Die Umsetzungen der vorliegenden Erfindung können diese Probleme lösen, indem sie Familienmitglieder und Familien in einer Anordnung mit mehreren Verbünden oder einer Gitteranordnung über die Beziehungen in Kenntnis setzen. Zusätzlich kann die Umsetzung der vorliegenden Erfindung die Leistung, die Effizienz und die Optimierung des Kopierens und/oder der Replikation von Daten verbessern. Beispielsweise kann das kooperative Replizieren in eine Familie, um eine kumulative Familienkonsistenz N-mal schneller zu erreichen, wie auch das Einsetzen von nur 1/N-tel des kumulativen Netzwerkdurchsatzes die Wirkungen und die Leistung durch Verkürzen der Gesamtzeit, um sowohl DR-Konsistenz als auch HA-Konsistenz zu erzielen, im Vergleich dazu, dass jeder Verbund unabhängig von demselben entfernt angeordneten Produktionsverbund Daten abruft, erheblich verbessern.
  • Mit Bezug auf 1 bis 6 können die Umsetzungen der vorliegenden Erfindung Software, Firmware, Mikrocode, Hardware und/oder jede Kombination daraus beinhalten. Die Umsetzungen können die Form von Code oder Logik annehmen, die in einem Medium wie zum Beispiel einem Arbeitsspeicher, einem Speicher und/oder Schaltungen des hierarchischen Speicherknotens 315 realisiert werden, wobei das Medium Hardware-Logik (z. B. einen Chip mit integrierter Schaltung, eine programmierbare Gatteranordnung [Programmable Gate Array, PGA], eine anwendungsspezifische integrierte Schaltung [Application Specific Integrated Circuit, ASIC] oder eine andere Schaltung, Logik oder Einheit) oder ein computerlesbares Speichermedium wie zum Beispiel ein Magnetspeichermedium (z. B. ein elektronisches, magnetisches, optisches, elektromagnetisches Medium, ein Infrarotmedium oder ein Halbleitersystem, einen Halbleiter- bzw. Festkörperspeicher, ein Magnetband, eine entfernbare Computer-Diskette und einen Speicher mit wahlfreiem Zugriff [random access memory, RAM], einen Festwertspeicher [read-only memory, ROM], eine starre Magnetplatte und eine optische Speicherplatte, eine CD-ROM [compact disk read only memory, Kompakt-Disk-Festwertspeicher], eine CD-R/W [compact disk read/write, Compact-Disk-Schreib-Lese-Speicher] und eine DVD [Digital Video Disc, digitale Videoscheibe) umfassen kann.
  • Fachleuten ist ersichtlich, dass Änderungen in Bezug auf die oben erörterten Verfahren, zum Beispiel Änderungen an der Reihenfolge der Schritte, vorgenommen werden können. Des Weiteren ist Fachleuten ersichtlich, dass abweichende spezifische Anordnungen von Komponenten als die hierin veranschaulichten angewendet werden können.
  • Die bevorzugten Ausführungsformen der vorliegenden Erfindung sind zwar genau veranschaulicht worden, es sollte Fachleuten jedoch ersichtlich sein, dass Modifikationen und Anpassungen an jenen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung, wie sie in den folgenden Ansprüchen dargelegt wird, abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2009/0132657 [0005]
    • US 2009/0030986 A1 [0006]

Claims (30)

  1. Verfahren zur kooperativen Replikation mehrerer Verbünde, wobei das Verfahren die folgenden Schritte umfasst: Anordnen zumindest eines Teilsatzes der mehreren Verbünde zu Familienmitgliedern einer Verbundfamilie; Verhandeln zwischen Verbundfamilienmitgliedern, um zu ermitteln, welches Verbundfamilienmitglied sich in der besten Position befindet, um zumindest ein Außendatenobjekt von zumindest einem Verbund außerhalb der Familie zu beziehen; Auswählen eines Familienmitglieds der Verbundfamilie dazu, das Außendatenobjekt zu beziehen; und gemeinsames Nutzen des Außendatenobjekts unter den Verbundfamilienmitgliedern, sodass jeder Verbund innerhalb der Verbundfamilie in Bezug auf Außendatenobjekte konsistent ist.
  2. Verfahren nach Anspruch 1, das des Weiteren die Schritte eines Bildens einer Beziehung zwischen Verbundfamilien auf der Grundlage eines Verbundbeziehungsfaktors und/oder eines Rollenfaktors umfasst.
  3. Verfahren nach Anspruch 1 oder 2, das des Weiteren den folgenden Schritt umfasst: Behalten eines Datenträgers im Cachespeicher durch ein Familienmitglied mit einer konsistenten Quelle, um den Datenträger für andere Familienmitglieder für eine Peer-Replikation schnell verfügbar zu machen.
  4. Verfahren nach Anspruch 3, das des Weiteren den folgenden Schritt umfasst: Behalten des Datenträgers im Cachespeicher durch das Familienmitglied für die anderen Familienmitglieder, wodurch der Außenverbund davon entlastet wird, eine Kopie in einem Cachespeicher des Außenverbundes zu behalten.
  5. Verfahren nach Anspruch 1, das des Weiteren den folgenden Schritt umfasst: Replizieren von 1/N-tel Datenträgern des Außendatenobjekts durch jedes von N Familienmitgliedern in der Familie.
  6. Verfahren nach einem der Ansprüche 1 bis 5, das des Weiteren den Schritt eines kooperativen Serialisierens der gesamten Replikation in die Verbundfamilie umfasst.
  7. Verfahren nach Anspruch 1, das des Weiteren den folgenden Schritt umfasst: Replizieren von 1/N-tel Datenträgern des Außendatenobjekts durch ein erstes von N Familienmitgliedern, wobei der Außenverbund darüber informiert wird, dass das erste Familienmitglied die Datenträger für die Verbundfamilienmitglieder behält und den Außenverbund davon entlastet, die Datenträger in dem Cachespeicher des Außenverbundes zu behalten.
  8. Verfahren nach einem der Ansprüche 1 bis 7, das des Weiteren den Schritt eines Erzielens von kumulativer Konsistenz innerhalb der Verbundfamilie einer Vielzahl von Außendatenobjekten umfasst, bevor die Außendatenobjekte unter Verbünden innerhalb der Verbundfamilie gemeinsam genutzt werden.
  9. Verfahren nach einem der Ansprüche 1 bis 8, das des Weiteren den Schritt eines Bevorzugens eines der Familienmitglieder in der Verbundfamilie bei einer Einbindungsverarbeitung gegenüber Verbünden außerhalb der Verbundfamilie umfasst.
  10. Verfahren nach einem der Ansprüche 1 bis 9, das des Weiteren den Schritt eines Bereitstellens einer Vielzahl von Verbundfamilien umfasst, wobei zumindest ein Familienmitglied aus jeder Familie einen Datenträger repliziert.
  11. Verfahren nach Anspruch 1, das des Weiteren den Schritt eines Bereitstellens einer Domäne umfasst, die eine Vielzahl von Verbünden umfasst, wobei die Verbünde zusammenarbeiten, um sicherzustellen, dass zumindest ein Familienmitglied aus jeder Familie einen Datenträger repliziert und die verbleibenden Verbünde Replikationsanforderungen aufgeben.
  12. Verfahren nach Anspruch 1, wobei das Verfahren des Weiteren die folgenden Schritte umfasst: Empfangen einer Kopieranforderung zum Kopieren eines Datenträgers in einen ersten Verbund; Ermitteln, ob es sich bei dem ersten Verbund um ein Familienmitglied einer Verbundfamilie handelt; in Reaktion darauf, dass es sich bei dem ersten Verbund um ein Familienmitglied handelt, Ermitteln, ob ein weiteres Familienmitglied bereits das Kopieren des Datenträgers abgeschlossen hat; in Reaktion darauf, dass kein weiteres Familienmitglied den Datenträger bereits kopiert hat, Vorsehen des ersten Verbundes dazu, die Kopieranforderung zu erben; Ausführen der Kopieranforderung und kooperatives Replizieren des Datenträgers in die Verbundfamilie; Erzielen einer kumulativen Konsistenz innerhalb der Verbundfamilie; und gemeinsames Nutzen des Datenträgers innerhalb der Verbundfamilie, sodass alle Kopien des Datenträgers innerhalb der Verbundfamilie konsistent sind.
  13. Verfahren nach Anspruch 12, das des Weiteren die folgenden Schritte umfasst: Ermitteln, ob ein zweites Familienmitglied zurzeit den Datenträger kopiert; und in Reaktion darauf, dass das zweite Familienmitglied den Datenträger zurzeit kopiert, Vorsehen des zweiten Familienmitglieds dazu, die Kopieranforderung zu erben.
  14. Verfahren nach Anspruch 13, das des Weiteren die folgenden Schritte umfasst: Ermitteln, ob ein zweites Familienmitglied zum Kopieren bereit ist, jedoch zu diesem Zeitpunkt nicht bereits kopiert; in Reaktion darauf, dass das zweite Familienmitglied zum Kopieren bereit ist und zu diesem Zeitpunkt nicht bereits kopiert, Herabsetzen einer Kopierpriorität des zweiten Familienmitglieds und Zurückstellen der Kopieranforderung.
  15. Verfahren nach Anspruch 12, das des Weiteren die folgenden Schritte umfasst: Auswählen eines zweiten Familienmitglieds dazu, die Kopieranforderung zu erben; und Herabsetzen einer Kopierpriorität des ersten Verbundfamilienmitglieds und Zurückstellen der Kopieranforderung.
  16. Verfahren nach Anspruch 12, das des Weiteren die folgenden Schritte umfasst: Vorsehen des ersten Familienmitglieds dazu, die Kopieranforderung als Quellverbund für die Verbundfamilie zu erben; Abschließen des Kopierens bei dem ersten Familienmitglied; Löschen eines Kennzeichens „Kopie erforderlich” bei dem ersten Familienmitglied; Festlegen von Kennzeichen „Kopie erforderlich” für andere Familienmitglieder bei dem ersten Familienmitglied; Erben des Kennzeichens „Kopie erforderlich” durch andere Familienmitglieder; Abschließen des Kopierens durch andere Familienmitglieder; und Zurücksetzen der Kennzeichen „Kopie erforderlich” durch jedes Familienmitglied.
  17. System zur kooperativen Replikation mehrerer Verbünde, wobei das System Folgendes umfasst: ein Netzwerk; eine Vielzahl von Standorten, die Daten über das Netzwerk austauschen, wobei jeder Standort zumindest einen Host und ein Speichersystem umfasst, das eine Vielzahl von Verbünden umfasst, wobei jeder Verbund zumindest ein Bandlaufwerk, dass so eingerichtet ist, dass es auf auf einem Magnetband gespeicherte Datenträger zugreift, zumindest einen Banddatenträger-Cachespeicher und eine Verbundverwaltungseinheit umfasst, die Folgendes umfasst: ein Bildungsmodul, das zum Einrichtung und Anordnen einer Gruppe von Verbünden zu Familienmitgliedern einer Verbundfamilie in der Lage ist; und ein Modul zur kooperativen Replikation, das zum Auswählen eines Familienmitglieds zum kooperativen Replizieren eines Außendatenobjekts in die Verbundfamilie und zum Erzielen einer kumulativen Familienkonsistenz in der Lage ist.
  18. System nach Anspruch 17, wobei das Modul zur kooperativen Replikation des Weiteren in der Lage ist, die Replikation unter allen Familienmitgliedern aufzuteilen.
  19. System nach Anspruch 18, das des Weiteren dazu in der Lage ist, dass jedes von N Familienmitgliedern in der Familie 1/N-tel Datenträger des Außendatenobjekts repliziert.
  20. System nach einem der Ansprüche 17 bis 19, wobei das Bildungsmodul des Weiteren in der Lage ist, Verbundfamilien auf der Grundlage eines Beziehungsfaktors und/oder eines Rollenfaktors zwischen Verbünden zu bilden.
  21. System nach einem der Ansprüche 17 bis 20, wobei das Modul zur kooperativen Replikation des Weiteren in der Lage ist, kumulative Konsistenz innerhalb der Verbundfamilie einer Vielzahl von Außendatenobjekten zu erzielen, bevor die Außendatenobjekte unter Verbünden innerhalb der Verbundfamilie gemeinsam genutzt werden.
  22. Computerprogrammprodukt zur kooperativen Replikation von mehreren Verbünden, wobei das Computerprogrammprodukt Folgendes umfasst: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und das Befehle zur Ausführung durch die Verarbeitungsschaltung zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 16 speichert.
  23. In einem computerlesbaren Medium gespeichertes und in den internen Speicher eines Digitalrechners ladbares Computerprogramm, das Abschnitte eines Softwarecodes umfasst, wenn das Programm auf einem Computer ausgeführt wird, um das Verfahren eines der Ansprüche 1 bis 16 auszuführen.
  24. Vorrichtung zur kooperativen Replikation mehrerer Verbünde, wobei die Vorrichtung Folgendes umfasst: ein Bildungsmodul, das in der Lage ist, eine Verbundfamilie aus einer Vielzahl von Verbünden zu bilden, wobei die Verbünde Daten über ein Netzwerk austauschen und jeder Verbund einen Cachespeicher umfasst; und ein Modul zur kooperativen Replikation, das in der Lage ist, zumindest ein Außendatenobjekt kooperativ in die Verbundfamilie zu replizieren.
  25. Vorrichtung nach Anspruch 24, wobei das Bildungsmodul des Weiteren in der Lage ist, eine Gruppe von Verbünden gemäß einem Verbundbeziehungsfaktor und/oder einem Rollenfaktor zu Familienmitgliedern einzurichten und anzuordnen.
  26. Vorrichtung nach einem der Ansprüche 24 bis 25, wobei das Modul zur kooperativen Replikation des Weiteren in der Lage ist, durch Zurückstellen der Replikation für dauerhafte Kenntnis einer Replikationsquelle zu sorgen.
  27. Vorrichtung nach einem der Ansprüche 24 bis 26, wobei jedes von N Familienmitgliedern in der Verbundfamilie 1/N-tel Datenträger des Außendatenobjekts repliziert.
  28. Vorrichtung nach einem der Ansprüche 24 bis 27, wobei das Modul zur kooperativen Replikation des Weiteren in der Lage ist, ein Familienmitglied der Verbundfamilie dazu auszuwählen, Außendatenobjekte zu beziehen und als Quellverbund für alle Familienmitglieder innerhalb der Verbundfamilie zu dienen, und dem Quellverbund die Verantwortung dafür zu übertragen, kumulative Konsistenz innerhalb der Verbundfamilie zu erzielen, bevor die Außendatenobjekte gemeinsam genutzt werden.
  29. Vorrichtung nach einem der Ansprüche 24 bis 28, die des Weiteren Folgendes umfasst: ein Beziehungsmodul, das in der. Lage ist, Faktoren zu verwalten, die Rollen, Regeln und Beziehungen zwischen Verbundfamilien und Familienmitgliedern definieren.
  30. Vorrichtung nach einem der Ansprüche 24 bis 29, die des Weiteren Folgendes umfasst: ein Einbindungsverarbeitungsmodul, das in der Lage ist, Familienmitglieder innerhalb der Verbundfamilie zu Produktionszwecken gegenüber anderen Verbundfamilien zu bevorzugen.
DE112010003837T 2009-12-11 2010-11-16 Verbundfamilien für eine Verbundauswahl und eine Kooperative Replikation Ceased DE112010003837T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/635,702 2009-12-11
US12/635,702 US8812799B2 (en) 2009-12-11 2009-12-11 Cluster families for cluster selection and cooperative replication
PCT/EP2010/067595 WO2011069783A1 (en) 2009-12-11 2010-11-16 Cluster families for cluster selection and cooperative replication

Publications (1)

Publication Number Publication Date
DE112010003837T5 true DE112010003837T5 (de) 2012-11-08

Family

ID=43567534

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010003837T Ceased DE112010003837T5 (de) 2009-12-11 2010-11-16 Verbundfamilien für eine Verbundauswahl und eine Kooperative Replikation

Country Status (6)

Country Link
US (5) US8812799B2 (de)
JP (1) JP5695660B2 (de)
CN (1) CN102652423B (de)
DE (1) DE112010003837T5 (de)
GB (1) GB2488248B (de)
WO (1) WO2011069783A1 (de)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812799B2 (en) * 2009-12-11 2014-08-19 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US11726955B2 (en) 2010-06-19 2023-08-15 Hewlett Packard Enterprise Development Lp Methods and apparatus for efficient container location database snapshot operation
US9323775B2 (en) 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
US9311328B2 (en) * 2011-04-22 2016-04-12 Veritas Us Ip Holdings Llc Reference volume for initial synchronization of a replicated volume group
US8856082B2 (en) * 2012-05-23 2014-10-07 International Business Machines Corporation Policy based population of genealogical archive data
WO2013190649A1 (ja) * 2012-06-20 2013-12-27 富士通株式会社 仮想ディスクのマイグレーションに関する情報処理方法及び装置
US9619256B1 (en) * 2012-06-27 2017-04-11 EMC IP Holding Company LLC Multi site and multi tenancy
US8904231B2 (en) * 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US20140122817A1 (en) * 2012-10-31 2014-05-01 Duke Browning System and method for an optimized distributed storage system
US8903539B2 (en) * 2012-11-21 2014-12-02 International Business Machines Corporation Efficient distribution and selection of storage media in a storage medium library
US20140229695A1 (en) * 2013-02-13 2014-08-14 Dell Products L.P. Systems and methods for backup in scale-out storage clusters
US9438674B2 (en) 2013-06-07 2016-09-06 International Business Machines Corporation Appliance interconnection architecture
US9652520B2 (en) 2013-08-29 2017-05-16 Oracle International Corporation System and method for supporting parallel asynchronous synchronization between clusters in a distributed data grid
US11128448B1 (en) * 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US9262290B2 (en) 2013-12-02 2016-02-16 International Business Machines Corporation Flash copy for disaster recovery (DR) testing
US9286366B2 (en) * 2013-12-02 2016-03-15 International Business Machines Corporation Time-delayed replication for data archives
US9304871B2 (en) 2013-12-02 2016-04-05 International Business Machines Corporation Flash copy for disaster recovery (DR) testing
US20150271014A1 (en) * 2014-03-21 2015-09-24 Onyx Ccs Automatic configuration of new components by infrastructure management software
US9606873B2 (en) 2014-05-13 2017-03-28 International Business Machines Corporation Apparatus, system and method for temporary copy policy
US9542277B2 (en) 2014-09-30 2017-01-10 International Business Machines Corporation High availability protection for asynchronous disaster recovery
US20160140197A1 (en) * 2014-11-14 2016-05-19 Tim Gast Cross-system synchronization of hierarchical applications
US20160259573A1 (en) * 2015-03-03 2016-09-08 International Business Machines Corporation Virtual tape storage using inter-partition logical volume copies
US10896207B2 (en) * 2015-08-20 2021-01-19 International Business Machines Corporation Optimization of object-based storage
US11423053B2 (en) * 2016-01-30 2022-08-23 Micro Focus Llc Log event cluster analytics management
CN107220263B (zh) * 2016-03-22 2021-09-03 阿里巴巴集团控股有限公司 数据迁移的优化方法、评估方法及处理方法及装置
CN107291724A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 集群数据复制方法、优先级确定方法及装置
US10248523B1 (en) * 2016-08-05 2019-04-02 Veritas Technologies Llc Systems and methods for provisioning distributed datasets
CN108089949A (zh) * 2017-12-29 2018-05-29 广州创慧信息科技有限公司 一种数据自动备份的方法和系统
KR102292389B1 (ko) * 2018-01-17 2021-08-25 한국전자통신연구원 원격 직접 메모리 접근을 통한 분산 처리 장치 및 그 방법
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
WO2019153113A1 (en) 2018-02-06 2019-08-15 Hewlett-Packard Development Company, L.P. File objects download and file objects data exchange
US11023174B2 (en) 2019-09-12 2021-06-01 International Business Machines Corporation Combining of move commands to improve the performance of an automated data storage library
US11429441B2 (en) 2019-11-18 2022-08-30 Bank Of America Corporation Workflow simulator
US11106509B2 (en) 2019-11-18 2021-08-31 Bank Of America Corporation Cluster tuner
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
CN111885170B (zh) * 2020-07-23 2022-03-11 平安科技(深圳)有限公司 物联网控制系统的处理方法、系统、云端服务器及介质
CN113641503B (zh) * 2021-09-01 2024-05-14 上海联蔚盘云科技有限公司 多云多集群的Kubernetes管理系统及方法与设备
US11630603B1 (en) * 2021-09-28 2023-04-18 Hewlett Packard Enterprise Development Lp Hardware device polling using delay order
US20230136224A1 (en) * 2021-11-02 2023-05-04 Quantum Corporation Automated system and method for diagnosing tape drive and media issues within large-scale tape library system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090030986A1 (en) 2007-07-27 2009-01-29 Twinstrata, Inc. System and method for remote asynchronous data replication
US20090132657A1 (en) 2007-11-19 2009-05-21 Manik Ram Surtani Dynamic data partitioning of data across a cluster in a distributed-tree structure

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862312A (en) * 1995-10-24 1999-01-19 Seachange Technology, Inc. Loosely coupled mass storage computer cluster
US6438705B1 (en) 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
JP2000322292A (ja) 1999-05-10 2000-11-24 Nec Corp クラスタ型データサーバシステム及びデータ格納方法
US6952741B1 (en) * 1999-06-30 2005-10-04 Computer Sciences Corporation System and method for synchronizing copies of data in a computer system
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US7243103B2 (en) 2002-02-14 2007-07-10 The Escher Group, Ltd. Peer to peer enterprise storage system with lexical recovery sub-system
JP2003345525A (ja) 2002-05-24 2003-12-05 Hitachi Ltd 計算機システム及びレプリケーション方法
US7523204B2 (en) * 2004-06-01 2009-04-21 International Business Machines Corporation Coordinated quiesce of a distributed file system
US20060080362A1 (en) 2004-10-12 2006-04-13 Lefthand Networks, Inc. Data Synchronization Over a Computer Network
CN100344186C (zh) 2004-11-18 2007-10-17 华为技术有限公司 一种确定集群用户集群组内优先级的方法
US7461130B1 (en) * 2004-11-24 2008-12-02 Sun Microsystems, Inc. Method and apparatus for self-organizing node groups on a network
US20060149922A1 (en) 2004-12-28 2006-07-06 Ceva D.S.P. Ltd. Multiple computational clusters in processors and methods thereof
US9176741B2 (en) 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
CN100474808C (zh) 2006-01-19 2009-04-01 思华科技(上海)有限公司 集群式缓存服务系统及其实现方法
JP4281925B2 (ja) 2006-06-19 2009-06-17 株式会社スクウェア・エニックス ネットワークシステム
US7757111B2 (en) 2007-04-05 2010-07-13 International Business Machines Corporation Method and system for insuring data integrity in anticipation of a disaster
US7774094B2 (en) 2007-06-28 2010-08-10 International Business Machines Corporation Selecting a source cluster by measuring system factors, calculating a mount-to-dismount lifespan, and selecting the source cluster in response to the lifespan and a user policy
EP2052688B1 (de) * 2007-10-25 2012-06-06 pfm medical ag Schlingenmechanismus zum chirurgischen Entnehmen
JP5018403B2 (ja) 2007-10-31 2012-09-05 日本電気株式会社 バックアップシステム、サーバ装置及びそれらに用いるバックアップ方法並びにそのプログラム
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US8019945B2 (en) * 2008-01-31 2011-09-13 Oracle International Corporation System and method for transactional cache
CN101355476B (zh) 2008-05-23 2011-05-11 林云帆 一种基于服务器群集的数据文件存储、分发和应用的系统和方法
JP5508798B2 (ja) 2009-09-29 2014-06-04 株式会社日立製作所 クラスタを考慮してレプリケーションを管理する管理方法及びシステム
US8812799B2 (en) * 2009-12-11 2014-08-19 International Business Machines Corporation Cluster families for cluster selection and cooperative replication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090030986A1 (en) 2007-07-27 2009-01-29 Twinstrata, Inc. System and method for remote asynchronous data replication
US20090132657A1 (en) 2007-11-19 2009-05-21 Manik Ram Surtani Dynamic data partitioning of data across a cluster in a distributed-tree structure

Also Published As

Publication number Publication date
US20170235508A1 (en) 2017-08-17
US9250825B2 (en) 2016-02-02
US20140344540A1 (en) 2014-11-20
CN102652423A (zh) 2012-08-29
JP5695660B2 (ja) 2015-04-08
US10073641B2 (en) 2018-09-11
US20110145497A1 (en) 2011-06-16
GB2488248A (en) 2012-08-22
JP2013513839A (ja) 2013-04-22
US8812799B2 (en) 2014-08-19
US20120290805A1 (en) 2012-11-15
US20160103616A1 (en) 2016-04-14
GB2488248B (en) 2015-07-01
WO2011069783A1 (en) 2011-06-16
CN102652423B (zh) 2015-04-01
US9684472B2 (en) 2017-06-20
US8521975B2 (en) 2013-08-27
GB201203109D0 (en) 2012-04-04

Similar Documents

Publication Publication Date Title
DE112010003837T5 (de) Verbundfamilien für eine Verbundauswahl und eine Kooperative Replikation
DE112018003084B4 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE69917333T2 (de) Übertragung einer Ressource von einem ersten Zwischenspeicher an einen zweiten Zwischenspeicher
DE60034327T2 (de) Verfahren und systeme zur implementierung von verwaltungsfunktionen für gemeinsam genutzte plattenanordnungen
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE112019002584T5 (de) Wechseln zwischen vermittlerdiensten für ein speichersystem
DE60008021T2 (de) Speicherverwaltungssystem mit gemeinsamen trägerverwalter
DE102004013114B4 (de) Plattenarrayvorrichtung
DE112012000282B4 (de) Anwendungswiederherstellung in einem Dateisystem
DE112013006646B4 (de) Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE69833815T2 (de) Verbesserter Disk-Log mit verteiltem Schreibsystem
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
DE602004007884T2 (de) Speichersteuerungssystem und -Verfahren
DE102013205571B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen
DE112014006156T5 (de) Datenmigrationsverfahren eines Speichersystems
DE112019000992T5 (de) Verwaltung virtueller Speicherlaufwerke in einem Datenspeichersystem
DE112015000222T5 (de) Zusammenführen von mehreren Zeitpunktkopien zu einer zusammengeführten Zeitpunktkopie
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE112010004264B4 (de) Selektiver Schreibschutz für das Austesten der Wiederherstellung nach einem Absturz
DE112018000900T5 (de) Verarbeiten eines Befehls zum Freigeben von Speicherplatz in einem Computersystem
DE112018005768T5 (de) Copy-source-to-target-verwaltung in einem datenspeichersystem
DE112017007865T5 (de) Netzgebundener shuffle-datenspeicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS:

Ipc: H04L0029080000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029080000

Ipc: G06F0012080000

Free format text: PREVIOUS MAIN CLASS: G06F0012080000

Ipc: G06F0012020000

R083 Amendment of/additions to inventor(s)
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012020000

Ipc: G06F0012080000

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20131115