DE69806914T2 - Agentimplementierte verriegelungsvorrichtung - Google Patents

Agentimplementierte verriegelungsvorrichtung

Info

Publication number
DE69806914T2
DE69806914T2 DE69806914T DE69806914T DE69806914T2 DE 69806914 T2 DE69806914 T2 DE 69806914T2 DE 69806914 T DE69806914 T DE 69806914T DE 69806914 T DE69806914 T DE 69806914T DE 69806914 T2 DE69806914 T2 DE 69806914T2
Authority
DE
Germany
Prior art keywords
access
host
access request
request
data storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69806914T
Other languages
English (en)
Other versions
DE69806914D1 (de
Inventor
Michael Cariti
V. Johnson
Yoav Raz
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Application granted granted Critical
Publication of DE69806914D1 publication Critical patent/DE69806914D1/de
Publication of DE69806914T2 publication Critical patent/DE69806914T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

    Hintergrund der Erfindung
  • Die Erfindung betrifft allgemein Verriegelungsmechanismen zum Steuern des Zugriffs auf gemeinsame Datenspeicher- Betriebsmittel.
  • Heutzutage sind Datenspeichersysteme im Handel erhältlich, die eine Datenspeicherkapazität von vielen Gigabytes bereitstellen und die es zahlreichen Hauptrechnern ermöglichen, sich mit dem Speicher zu verbinden und auf ihn zuzugreifen. Die Modell-55XX-Reihe von Symmetrix, die von der EMC Corporation aus Hopkinton, MA, vertrieben wird, ist ein Beispiel eines solchen Systems. Das System von Symmetrix ist ein integriertes Cache-Plattenarray (ICDA) hoher Leistungsfähigkeit, das für eine Online-Speicherung ausgelegt ist. Wie es bei anderen der im Handel erhältlichen Konstruktionen typisch ist, enthält das Modell 55XX von Symmetrix ein großes Array kleinerer Speicherplattenvorrichtungen (beispielsweise mit 5 1/4 Zoll) und einen Cache-Speicher zum Zwischenspeichern von Daten, die in das Datenspeichersystem und aus diesem heraus übertragen werden. Beim Modell 55XX können bis zu 128 solcher Plattenvorrichtungen auftreten. Jede einzelne Plattenvorrichtung ist in der Lage, 2 bis 9 GB zu speichern. Demgemäß liegt die Gesamtspeicherkapazität des Systems bei Hunderten von Gigabytes.
  • Bei den ICDAs des Modells 55XX von Symmetrix kann ein Teil des Datenspeicherbereichs definiert werden, der von zwei oder mehr der an das System angeschlossenen Hauptrechnern gemeinsam verwendet wird. Falls auf allen Hauptrechnern, die auf Dateien im Gemeinschaftsspeicherbereich zugreifen können, UNIX-Betriebssysteme laufen, kann ein Problem auftreten. Weil ein UNIX-System nichts darüber weiß, was ein anderes UNIX-System tun könnte, ist es sehr gut möglich, daß es gemeinsam verwendete Dateien beschädigt. Das heißt, daß vor kurzem aktualisierte Daten in einer Datei von einem anderen Hauptrechner, der mit dem Datenspeichersystem verbunden ist, unbeabsichtigt überschrieben werden können.
  • Die nachstehend beschriebene Erfindung löst dieses Problem nicht nur für eine Gruppe von Hauptrechnern, auf denen homogene Betriebssysteme (beispielsweise UNIX-basierte Systeme) laufen, sondern auch für jede Gruppe von Hauptrechnern, auf denen heterogene Betriebssysteme laufen. In GB-A- 2 188 177 ist ein Computersystem offenbart, bei dem mehrere Datenprozessoren auf ein gemeinsames Datenbetriebsmittel zugreifen, das logisch unterteilt ist. Ein Leit- Datenprozessor ist jedem Satz der unterteilten Datenbetriebsmittel zugeordnet. Jeder Datenprozessor hat eine Verriegelungsverwaltungseinrichtung zum Bewirken der ausschließlichen Steuerung. Eine Verriegelungsanfrage an das gemeinsame Datenbetriebsmittel wird zur Verriegelungsverwaltungseinrichtung am Datenprozessor gesendet, der ein Leitsystem für das zu verriegelnde Datenbetriebsmittel ist, und die ausschließliche Steuerung wird von der Verriegelungsverwaltungseinrichtung ausgeführt.
  • Zusammenfassung der Erfindung
  • Generell betrifft die Erfindung gemäß einem Aspekt ein Verfahren zum Synchronisieren des Zugriffs auf ein Datenobjekt, das innerhalb eines Gemeinschaftsspeicherbereichs eines Datenspeichersystems gespeichert ist, mit dem eine Vielzahl von Hauptrechnern verbunden ist. Das Verfahren beinhaltet die Schritte des Festlegens eines der Hauptrechner als Leithauptrechner, wobei der Leithauptrechner das gemeinsam verwendete Objekt innerhalb des Datenspeichersystems besitzt, des Sendens einer Zugriffsanfrage von einem Nebenhauptrechner an den Leithauptrechner, um auf das gemeinsam verwendete Objekt innerhalb des Datenspeichersystems zuzugreifen, des Prüfens als Antwort auf den Eingang der Zugriffsanfrage bei dem Leithauptrechner, ob noch irgendwelche entgegenstehenden Verriegelungen von vorausgegangenen Zugriffsanfragen von einem der Hauptrechner anstehen, und falls keine Verriegelungen mehr anstehen, des Gewährens der Zugriffsanfrage des Nebenhauptrechners und des Benachrichtigens des Nebenrechners, ob seine Zugriffsanfrage gewährt bzw. genehmigt wurde.
  • Bevorzugte Ausführungsformen weisen die folgenden Merkmale auf. Das Verfahren beinhaltet weiter den Schritt des Verweigerns der Zugriffsanfrage des Nebenhauptrechners, falls noch eine entgegenstehende Verriegelung ansteht. Weiterhin beinhaltet der Schritt des Gewährens einer Zugriffsanfrage das Eintragen in den lokalen Speicher, daß die Zugriffsanfrage des anfragenden Prozessors gewährt wurde. Das Objekt ist ein Dateisystem, und die Zugriffsanfrage ist eine Anfrage zum Zugreifen auf eine Datei im Dateisystem.
  • Generell betrifft die Erfindung gemäß einem anderen Aspekt eine Agentensoftware auf einem computerlesbaren Medium. Die Agentensoftware soll auf einem Leithauptrechner laufen, der einer von einer Vielzahl von mit einem Datenspeichersystem verbundenen Hauptrechnern ist, wobei die Hauptrechner alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem haben. Die Agentensoftware enthält ein Mittel zum Empfangen einer Zugriffsanfrage von einem anderen der Hauptrechner, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf ein Objekt im Datenspeichersystem ist, ein Mittel zum Feststellen, ob entgegenstehende Verriegelungen für das innerhalb des Gemeinschaftsspeicherbereichs des Datenspeichersystems gespeicherte Objekt anhängig sind, ein Mittel zum Gewähren der Zugriffsanfrage von dem anfragenden Hauptrechner, wenn festgestellt wurde, daß keine entgegenstehenden Verriegelungen für einen anderen Hauptrechner anhängig sind, und ein Mittel zum Benachrichtigen des anfragenden Hauptrechners, ob seine Zugriffsanfrage gewährt wurde.
  • Gemäß bevorzugten Ausführungsformen enthält die Agentensoftware überdies ein Mittel zum Verweigern der Zugriffsanfrage von dem anfragenden Rechner, wenn festgestellt wird, daß eine entgegenstehende Verriegelung für einen anderen Hauptrechner anhängig ist, wobei das Benachrichtigungsmittel den anfragenden Hauptrechner benachrichtigt, ob seine Zugriffsanfrage gewährt oder verweigert wurde.
  • Generell betrifft die Erfindung gemäß einem anderen Aspekt eine Schnittstellensoftware auf einem computerlesbaren Medium. Die Schnittstellensoftware soll auf einem Nebenhauptrechner laufen, der einer von einer Vielzahl mit einem Datenspeichersystem verbundener Hauptrechner ist, die alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem haben. Die Schnittstellensoftware umfaßt ein Mittel zum Hindern des Nebenhauptrechners am Zugriff auf ein im Gemeinschaftsspeicherbereich gespeichertes Objekt, wenn keine Genehmigung von einem Leithauptrechner, der ein anderer der Hauptrechner ist, empfangen wurde, ein Mittel zum Senden einer Zugriffsanfrage von dem Nebenhauptrechner an den Leithauptrechner, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf das Objekt im Gemeinschaftsspeicherbereich ist, ein Mittel zum Empfangen einer Bestätigung vom Leithauptrechner, die angibt, ob der Zugriffsanfrage zugestimmt wurde, und ein Mittel, das dem Nebenrechner den Zugriff auf das Objekt gestattet, wenn die empfangene Bestätigung die Zugriffsanfrage gewährt.
  • Gemäß bevorzugten Ausführungsformen enthält die Schnittstellensoftware weiterhin ein Mittel, das den Leithauptrechner benachrichtigt, wenn ein das Objekt betreffender Zugriffsvorgang abgeschlossen ist.
  • Generell betrifft die Erfindung gemäß einem anderen Aspekt ein Zugriffesteuerverfahren, das auf einem Hauptrechner läuft, der einer von einer Vielzahl mit einem Datenspeichersystem verbundener Hauptrechner ist, die alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem haben. Das Verfahren umfaßt die Schritte des Empfangens einer Zugriffsanfrage von einem der Hauptrechner, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf ein im Gemeinschaftsspeicherbereich des Daten- Speichersystems gespeichertes Objekt ist, des Feststellens, ob entgegenstehende Verriegelungen für das innerhalb des Gemeinschaftsspeicherbereichs des Datenspeichersystems gespeicherte Objekt anhängig sind, des Gewährens der Zugriffsanfrage von dem anfragenden Hauptrechner, wenn festgestellt wird, daß keine entgegenstehenden Verriegelungen für einen anderen Hauptrechner anhängig sind, und des Benachrichtigens des anfragenden Hauptrechners, ob seine Zugriffsanfrage gewährt bzw. genehmigt wurde.
  • Gemäß bevorzugten Ausführungsformen umfaßt das Verfahren weiterhin das Verweigern der Zugriffsanfrage von dem anfragenden Rechner, wenn festgestellt wird, daß eine entgegenstehende Verriegelung für einen anderen Hauptrechner anhängig ist, und der Schritt des. Benachrichtigens umfaßt das Benachrichtigen des anfragenden Hauptrechners, ob seine Zugriffsanfrage gewährt oder verweigert wurde.
  • Generell betrifft die Erfindung gemäß einem anderen Aspekt ein Zugriffssteuerverfahren, das auf einem Nebenhauptrechner läuft, der einer von einer Vielzahl mit einem Datenspeichersystem verbundener Hauptrechner ist, die alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem haben. Das Verfahren umfaßt das Hindern des Nebenhauptrechners am Zugriff auf ein in dem Gemeinschaftsspeicherbereich gespeichertes Objekt, wenn keine Genehmigung von einem Leithauptrechner, der ein anderer der Hauptrechner ist, empfangen worden ist, das Senden einer Zugriffsanfrage von dem Nebenhauptrechner an den Leithauptrechner, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf das Objekt in dem Gemeinschaftsspeicherbereich ist, das Empfangen einer Bestätigung von dem Leithauptrechner, die angibt, ob die Zugriffsanfrage gewährt wurde, und das Erteilen der Zulassung für den Nebenrechner, auf das Objekt zuzugreifen, wenn die empfangene Bestätigung die Zugriffsanfrage gewährt.
  • Gemäß bevorzugten Ausführungsformen umfaßt das Verfahren weiterhin das Benachrichtigen des Leithauptrechners, wenn ein das Objekt betreffender Zugriffsvorgang abgeschlossen ist.
  • Die Erfindung ist ein Mechanismus zum Synchronisieren von Zugriffen von mehreren Hauptrechnern auf gemeinsame Dateien auf einem Datenspeichersystem. Der Mechanismus, der eine asymmetrische Lösung für das Synchronisationsproblem bereitstellt, löst das Problem mit einer gemeinsamen Verwendung der Datenbank auf der Dateiebene. Durch einen auf einem der Hauptrechner laufenden Agenten wird eine Verriegelungsfunktionalität bereitgestellt, ohne daß das Betriebssystem modifiziert werden müßte. Der Agent ist einfach eine Anwendung, wenngleich er im Prinzip auch in das Betriebssystem eingebettet sein könnte.
  • Die Erfindung löst auch das Problem des Koordinierens des Zugriffs zwischen Hauptrechnern wirksam und effizient, wenn von anderen offenen Systemen über SCSI-Kanäle direkt auf MVS-Dateien in Gemeinschaftsspeicherbereichen zugegriffen wird. Die Lösung ist allgemeingültig und ermöglicht es mehreren Benutzern, auf gemeinsame Dateien in einer mehrere Hauptrechner umfassenden Umgebung (eine Kombination von MVS-basierten Hauptrechnern und Hauptrechnern offener Systeme) zuzugreifen.
  • Andere Vorteile und Merkmale werden anhand der folgenden Beschreibung der bevorzugten Ausführungsform und der Ansprüche verständlich werden.
  • Kurzbeschreibung der Zeichnung
  • Fig. 1 ist ein Blockdiagramm eines erfindungsgemäßen Systems, und
  • Fig. 2 ist ein Flußdiagramm des Prozesses des Zugreifens auf Dateien in einem gemeinsam verwendeten Datenspeicherbereich.
  • Beschreibung der bevorzugten Ausführungsformen Systemüberblick:
  • In Fig. 1 sind mehrere Hauptrechner 10(a), 10(b), ..., 10(n) (im allgemeinen als Hauptrechner 10 bezeichnet) dargestellt, die einzeln und getrennt über jeweilige Kanäle 13(a)-13(n) mit einem gemeinsamen Datenspeichersystem 12 verbunden sind. Das Datenspeichersystem 12 ist so konfiguriert, daß es einen Gemeinschaftsspeicherbereich bereitstellt, auf den von allen an das Datenspeichersystem angeschlossenen Hauptrechnern 10 zugegriffen werden kann. Der Gemeinschaftsspeicherbereich kann alle Plattenvorrichtungen, eine Untergruppe der Plattenvorrichtungen oder einen Teil einer einzigen Plattenvorrichtung aufweisen. In jedem Fall ist jeder Hauptrechner 10 dazu in der Lage, auf die Daten (beispielsweise Dateien) zuzugreifen, die innerhalb des Gemeinschaftsspeicherbereichs gespeichert sind. Gemäß der beschriebenen Ausführungsform ist das Datenspeichersystem 12 ein integriertes Cache-Plattenarray der Modell-55XX-Reihe von Symmetrix mit einem Array von Speicherplattenvorrichtungen 14 und einem Cache-Speicher 16, wenngleich es sich dabei um ein beliebiges anderes Datenspeichersystem handeln könnte, das konfiguriert werden kann, um einen Gemeinschaftsspeicherbereich für mehrere Rechner, die damit verbunden sind, bereitzustellen.
  • Es gibt einen Kanal 18, über den die Hauptrechner miteinander kommunizieren können. Dieser Kanal könnte durch ein Netzwerk oder eine Kommunikationsstrecke, das oder die von dem dargestellten Datenspeichersystem getrennt ist, verwirklicht sein, oder er könnte von dem Datenspeichersystem selbst verwirklicht sein.
  • Gemäß der beschriebenen Ausführungsform haben alle Hauptrechner ein UNIX-Betriebssystem, wenngleich nicht alle UNIX-Betriebssysteme einander gleichen müssen. Vielmehr wird angenommen, daß jeder der Hauptrechner ein anderes UNIX-Betriebssystem, beispielsweise Sun/Solaris, AIX; Digital UNIX, HP-UX, AS-400, usw., haben könnte.
  • Für die folgende Beschreibung wird angenommen, daß der Hauptrechner 10(a) ein von den anderen Hauptrechnern verschiedenes Betriebssystem hat und daß er ein Dateisystem innerhalb des Gemeinschaftsbereichs des Datenspeichersystems 12 erzeugt hat. Mit anderen Worten ist für das Dateisystem im Datenspeichersystem 12 das Betriebssystem des Hauptrechners 10(a) das maschinenspezifische Betriebssystem, so daß das Dateisystem nach den Regeln dieses Betriebssystems definiert ist.
  • Weil das Dateisystem innerhalb des Gemeinschaftsspeicherbereichs verwirklicht ist, können die anderen Hauptrechner auch auf die Dateien im Dateisystem zugreifen. Der Hauptrechner 10(a), der das Dateisystem erzeugt hat, wird als der "Eigentümer" des Dateisystems angesehen und im allgemeinen als der "Leithauptrechner" bezeichnet. Die anderen Hauptrechner werden als "Nebenhauptrechner" bezeichnet.
  • Der Leithauptrechner 10(a) unterscheidet sich in der Hinsicht von den anderen Hauptrechnern 10(b)-10(n), daß auf ihm auch ein Agentensoftwareprogramm 20 (auch allgemein als ein Agent 20 bezeichnet) läuft, und daß auf den anderen Hauptrechnern Schnittstellensoftwareprogramme 22 (auch allgemein als Schnittstellen 20 bezeichnet) laufen.
  • Der Agent 20 synchronisiert den Zugriff aller Hauptrechner auf die Dateien innerhalb des Dateisystems im Datenspeichersystem 12. Er tut dies durch Bestimmen, welchem Hauptrechner der Zugriff zu einer gegebenen Zeit gewährt ist und durch Verweigern des Zugriffs für alle anderen Hauptrechner. Er verwirklicht dementsprechend eine Verriegelungsfunktion für Zugriffe auf das Gemeinschaftsdateisystem, um eine unbeabsichtigte Beschädigung der Daten im Dateisystem zu verhindern. Der Agent 20 verwirklicht die jeweiligen Verriegelungen, die zum Erreichen des gewünschten Zugriffssteuertyps geeignet sind. Dies könnte beispielsweise ausschließende und/oder geteilte Verriegelungen beinhalten. Dies könnte auch andere Verriegelungstypen beinhalten, die Fachleuten wohlbekannt sind.
  • Die auf den anderen Hauptrechnern laufende Schnittstelle 22 hat mehrere Primärfunktionen. Eine Funktion besteht einfach darin, mit dem Agenten (beispielsweise über den Kanal 18) zu kommunizieren und die Berechtigung zu erhalten, die erforderlich ist, bevor das Zugreifen auf die Datei gestattet wird. Eine zweite verwandte Funktion besteht darin, den Zugriff auf die Datei zu verhindern, bis eine spezifische Berechtigung für diesen Zugriff erteilt worden ist. Eine dritte Funktion besteht darin, die Kommunikation zwischen dem Hauptrechner und dem Dateisystem auszuführen. Falls das Dateisystem einem Hauptrechner gehört, der ein unterschiedliches Betriebssystem aufweist, wird die Schnittstelle so aufgebaut, daß es dem anfragenden Hauptrechner ermöglicht wird, die Dateistruktur des anderen Betriebssystems zu verstehen und zu manipulieren. Das heißt, daß gemäß dieser letzten Primärfunktion die Schnittstelle 22 dem nicht maschinenspezifischen Betriebssystem auf dem Nebenhauptrechner die Dateisystemstruktur mitteilt. Es sei jedoch bemerkt, daß, wenn auf allen Hauptrechnern identische Betriebssysteme laufen, keine Zuordnung von Diensten vorgenommen werden muß, um anderen Hauptrechnern das Wissen zu ermöglichen, wie das Dateisystem zu verstehen und zu manipulieren ist.
  • Auf jedem der Hauptrechner gibt es auch ein Verwaltungsmodul 24, das Verwaltungsinformationen bereitstellt, die für den Betrieb des Agenten 20 und der Schnittstelle 22 erforderlich sind. Das Verwaltungsmodul gibt beispielsweise an, welchem Hauptrechner das Dateisystem gehört. Das heißt, daß die Verwaltungsfunktion angibt, auf welchem Hauptrechner sich der Agent für ein bestimmtes Dateisystem befindet.
  • Falls auf jedem der anderen Hauptrechner ein abweichendes Betriebssystem verwendet wird, ist der Hauptrechner, dem ein bestimmtes Dateisystem gehört, der Hauptrechner, auf dem das maschinenspezifische Betriebssystem für das Dateisystem läuft. Falls es andererseits der Fall ist, daß auf allen Hauptrechnern das gleiche Betriebssystem läuft, ist die Zuordnung der Eigentümerschaft des Dateisystems vollkommen willkürlich. Das heißt, daß die Eigentümerschaft jedem beliebigen der Hauptrechner zugewiesen werden kann.
  • Es kann auch der Fall sein, daß mehrere Dateisysteme auftreten, die jeweils ein abweichendes maschinenspezifisches Betriebssystem aufweisen. Beispielsweise könnte ein Hauptrechner, auf dem das Betriebssystem A läuft, ein Dateisystem A erzeugen, und ein anderer Hauptrechner, auf dem ein Betriebssystem B läuft, könnte ein Dateisystem B erzeugen, wobei beide Dateisysteme im Gemeinschaftsspeicherbereich des Datenspeichersystems 12 liegen. In diesem Fall wären zwei Agenten erforderlich, wobei ein Agent mit dem Betriebssystem A auf dem Hauptrechner läuft und der andere Agent mit dem Betriebssystem B auf dem Hauptrechner läuft.
  • In jedem Fall wird das Verwaltungsmodul typischerweise nach dem Einrichten des Systems konfiguriert. Zu dieser Zeit werden die relevanten Eigentümerschaftsinformationen im lokalen Verwaltungsmodul gespeichert, und der Ort der Agenten Wird festgelegt. Die Verwaltungsinformationen können allen teilnehmenden Hauptrechnern von einem zentralen Ort verfügbar gemacht werden. Wenn ein neuer Hauptrechner zum System hinzugefügt wird, kann er einfach die Verwaltungsinformationen betrachten, um herauszufinden, welchem Rechner welches Dateisystem gehört.
  • Tatsächlich kann die Verwaltungsfunktion entweder zentralisiert oder verteilt sein. Falls sie verteilt ist, sind irgendwelche Kommunikationsmechanismen erforderlich, um die Tabelle, die die Eigentümerschaft usw. angibt, an alle Hauptrechner zu verteilen, an denen sie dann lokal gespeichert werden kann. In diesem Fall könnte die Tabelle immer dann aktualisiert werden, wenn ein Hauptrechner eine Dateiöffnungsanfrage stellt. Das heißt, daß ein Teil des Prozesses zum Öffnen der Datei auch Eigentümerschaftsinformationen prüfen könnte, die am zentralen Ort gespeichert sind.
  • Zugriffssynchronisationsprotokoll:
  • Das durch den Agenten und die Schnittstellenkomponenten implementierte Protokoll arbeitet so, wie in Fig. 2 dargestellt ist.
  • Wenn Software, die auf einem Hauptrechner läuft, versucht, auf eine Datei zuzugreifen, die im Gemeinschaftsbereich des Datenspeichersystems gespeichert ist, erzeugt sie eine Dateizugriffsanfrage (beispielsweise Öffne Datei), die zum Schnittstellenprogramm auf diesem Hauptrechner geht (Schritt 100). Die Schnittstelle verarbeitet dann die Dateizugriffsanfrage, indem sie unter Bezugnahme auf ihr zugeordnetes Verwaltungsmodul 24 zuerst bestimmt, welcher Hauptrechner der Eigentümer der Datei ist, für die der Zugriff angefragt wird (Schritt 102). Nach dem Feststellen, welcher Hauptrechner das relevante Dateisystem besitzt, sendet die Schnittstelle eine Anfrage zum Öffnen dieser Datei zum Agenten, der auf dem angegebenen Hauptrechner, also dem Leithauptrechner für dieses Dateisystem, läuft (Schritt 104). Mit anderen Worten geht die Dateizugriffsanfrage nicht direkt zum Datenspeichersystem, wie es normalerweise der Fall wäre, sondern die Schnittstelle verarbeitet sie und lenkt sie zum geeigneten Agenten um, um die Berechtigung zum Zugriff auf die Datei im Datenspeichersystem zu erhalten. Ohne eine Berechtigung hierzu erlaubt es die Schnittstelle dem Hauptrechner nicht, auf die Zieldatei zuzugreifen.
  • Wie vorstehend erwähnt wurde, ist das Mittel, über das die Anfrage zum Agenten gesendet wird, nicht wichtig. Sie könnte über einen getrennten Kanal gesendet werden, oder sie könnte über das Datenspeichersystem selbst gesendet werden, wie in U.S.S.N. 08/616486 beschrieben ist, worauf hiermit verwiesen sei.
  • Der Agent auf dem Leithauptrechner empfängt die Anfrage (Schritt 106) und stellt dann fest, ob irgendwelche anderen Hauptrechner gegenwärtig eine entgegenstehende Verriegelung für die Datei haben (Schritt 108). Der Agent stellt dies unter Bezugnahme auf eine lokal unterhaltene Tabelle 30 (siehe Fig. 1) fest, in der der Agent das Gewähren und das Freigeben von Verriegelungen auf einer dateiweisen Grundlage aufzeichnet. Es ist möglich, daß einem anderen Hauptrechner eine frühere Verriegelung gewährt wurde, daß die gegenwärtige Dateizugriffsanfrage jedoch nicht mit der noch anstehenden Verriegelung unvereinbar ist. Falls beispielsweise eine geteilte Verriegelung gewährt wurde und die neue Dateizugriffsanfrage nur eine Lese/Nicht-Schreib-Anfrage ist, ist das Zulassen des Dateizugriffs nicht mit der anhängigen Verriegelung unvereinbar und wird erlaubt.
  • Falls keine entgegenstehenden Verriegelungen anhängig sind, steht es dem Agenten frei, der anfragenden Schnittstelle die geeignete Berechtigung zu gewähren. Wahlweise kann der Agent die Datei auch für den anfragenden Hauptrechner öffnen, oder er kann diese Verantwortung alternativ einfach der Schnittstelle im anfragenden Hauptrechner überlassen. Er sendet in beiden Fällen eine Bestätigung auf die Anfrage der Schnittstelle zurück, wodurch der Zugriff auf die Datei erlaubt wird (Schritt 112), und er trägt das Gewähren dieser Berechtigung in seine lokale Tabelle ein.
  • Wenn die Schnittstelle am anfragenden Hauptrechner die Bestätigung empfängt, die angibt, daß ihr eine Dateizugriffsberechtigung (beispielsweise eine Verriegelung) zum Zugreifen auf die Datei erteilt worden ist, führt sie den Vorgang aus, der ursprünglich von der auf dem Hauptrechner laufenden Anwendung angefragt wurde (Schritt 114).
  • Nach Abschluß der Dateioperation sendet die Schnittstelle am Hauptrechner eine Benachrichtigung zum Agenten, damit dieser die Verriegelung aufhebt (Schritt 116). Der Agent löscht dann seine Tabelle der Verriegelung, so daß anderen Hauptrechnern die Berechtigung zum Zugreifen auf die Datei gewährt werden kann (Schritt 118).
  • Falls der Agent in Schritt 108 nicht in der Lage ist, die angefragte Dateizugriffsoperation zu erlauben, weil eine entgegenstehende Verriegelung bereits gewährt worden ist und noch anhängig ist, sendet er eine Nachricht zur Schnittstelle, um die Anfrage zu verneinen (Schritt 110). In diesem Fall benachrichtigt die Schnittstelle die Anwendung, die die Dateizugriffsanfrage erzeugt hat, und wartet darauf, daß zu einer späteren Zeit eine neue Anfrage erzeugt wird.
  • Es sei bemerkt, daß die Anfrage, die die Schnittstelle zum Agenten sendet, und die zurückgegebene Bestätigung typischerweise einen Satz von Parametern enthalten könnten, die verwendet werden, um den bestimmten angefragten Dateizugriffsvorgang und den angefragten Verriegelungstyp sowie den gewährten Verriegelungstyp zu spezifizieren.
  • In der vorstehenden Beschreibung wurde angenommen, daß die Betriebssysteme alle offene Betriebssysteme (also UNIX- Systeme) sind. Dies muß jedoch nicht der Fall sein. Tatsächlich erlauben es die ICDAs der Modell-55XX-Reihe von Symmetrix, daß sowohl Zentraleinheiten als auch Vorrichtungen offener Systeme gleichzeitig eine Verbindung mit dem Speichersystem herstellen und auf einen Gemeinschaftsspeicherbereich innerhalb des Speichersystems zugreifen. Dementsprechend könnte auf mindestens einem der Hauptrechner ein MVS-Betriebssystem laufen, und auf den anderen könnten offene Betriebssysteme laufen. Im Fall eines MVS- Dateisystems im Datenspeichersystem müßte sich auf dem Hauptrechner der Zentraleinheit ein MVS-basierter Agent befinden. Dieser Agent würde Verriegelungen für die Hauptrechner des offenen Systems, die auf MVS-Dateien im Datenspeichersystem zugreifen möchten, erwerben und aufheben. Das heißt, daß der Agent vor dem Zugreifen auf eine MVS-Datei durch das offene System in einem bestimmten Verriegelungsmodus (beispielsweise DISP = SHR) versucht, die Datei im selben Modus zu öffnen. Das offene System greift dann und nur dann, wenn es dem Agenten gelungen ist, die Datei in diesem Modus zu öffnen, im angefragten Modus auf die MVS-Datei zu. Nach Abschluß der Verarbeitung der Datei wird die Verriegelung durch den die Datei schließenden Agenten aufgehoben. Auf diese Weise erwerben die Benutzer des offenen Systems, die auf eine MVS-Datei zugreifen, die MVS-Verriegelung dadurch, daß sie MVS-Benutzer sind (über den Agenten).
  • Wie zuvor angegeben wurde, führen die Schnittstellen auf der Seite des offenen Systems die Aufgabe des Kommunizierens mit dem Agenten und des Erwerbens einer Berechtigung zum Zugreifen auf eine Datei aus. Die Schnittstelle muß auch so ausgelegt werden, daß sie das MVS-Dateisystem versteht, sie muß also so programmiert werden, daß sie die Regeln und das Protokoll für das MVS-Dateisystem kennt.
  • Wenngleich der Agent/Schnittstellen-Mechanismus in Verbindung mit einem gemeinsamen Dateisystem beschrieben wurde, könnte er auch in Verbindung mit jeder beliebigen Anwendung oder jedem beliebigen Objekt verwirklicht werden, die oder das Ebenen, beispielsweise Speicherebenen, Dateiebenen oder Datenbankebenen, gemeinsam verwendet.
  • Es sei auch bemerkt, daß die Funktionalität des Agenten über den vorstehend beschriebenen hinaus erweitert werden kann. Falls der Agent beispielsweise auf einem MVS- System läuft, könnte er MVS-Kataloginformationen über eine angefragte Datei für die offenen Systeme (beispielsweise den Datenträger, auf dem sich die Datei befindet) erwerben, um den Zugriff auf die Datei von den offenen Systemen zu vereinfachen.
  • Falls die gleiche Funktionalität auf Datenbankdateien angewendet wird, läuft der MVS-Agent weiterhin als eine Anwendung auf dem jeweiligen (MVS-basierten) Datenbanksystem. Die verwendeten Verriegelungen könnten dann jene sein, die im Datenbanksystem verfügbar sind. Falls kein explizites Verriegeln verfügbar ist, müßte ein implizites Verriegeln von dem Agenten angefordert werden, der die geeigneten Datenbankzugriffsoperationen anfordert (beispielsweise das zum Erreichen der gewünschten Verriegelung erforderliche Minimum). Für ein grobkörniges Verriegeln, das für verhältnismäßig lange Datenbankzugriffe vorgesehen ist, kann ein solcher Mechanismus vernünftig sein. Für feinkörnige und kurze Zugriffe könnte dieser Mechanismus jedoch eine Konkurrenzsituation hervorrufen.
  • Es sei bemerkt, daß der Agent/Schnittstellen-Mechanismus am besten in Umgebungen funktioniert, in denen explizite Verriegelungen, also Verriegelungen, die von der E/A (Ein- /Ausgabe) entkoppelt sind, verfügbar sind.
  • Die Agenten- und die Schnittstellensoftware sind auf dem computerlesbaren Medium vorhanden, das dem Hauptrechner zugänglich ist, auf dem diese Software läuft. Das computerlesbare Medium könnte ein RAM-Speicher oder ein ROM- Speicher sein oder durch Plattenlaufwerke oder eine andere Form eines für Softwareprogramme verwendeten elektronischen Speichers gegeben sein.

Claims (21)

1. Verfahren zum Synchronisieren des Zugriffs auf ein identifiziertes Datenobjekt, das in einem Gemeinschaftsspeicherbereich eines Datenspeichersystems (12), mit dem eine Vielzahl von Hauptrechnern (10 (a-c)) verbunden sind, gespeichert ist, wobei jeder der Vielzahl von Hauptrechnern (10 (a-c)) mit dem Datenspeichersystem (12) über einen entsprechenden unterschiedlichen Kanal (13 (a-n)) verbunden ist, wobei das Verfahren folgendes umfaßt:
Festlegen eines der Vielzahl von Hauptrechnern (10 (a-c)) als Leithauptrechner (10 (a)), wobei der Leithauptrechner (10 (a)) das Datenobjekt innerhalb des Gemeinschaftsspeicherbereichs besitzt,
Senden einer Zugriffsanfrage von einem Nebenhauptrechner (10 (b)) an den Leithauptrechner (10 (a)), um auf das Datenobjekt innerhalb des Gemeinschaftsdatenspeicherbereichs zuzugreifen, wobei der Nebenhauptrechner (10 (b)) ein anderer aus der Vielzahl von Hauptrechnern (10 (a-c)) als der Leithauptrechner (10 (a)) ist,
als Antwort auf den Eingang der Zugriffsanfrage bei dem Leithauptrechner (10 (a)), Prüfen ob noch irgendwelche entgegenstehende Verriegelungen von vorausgegangen Zugriffsanfragen von einem der Vielzahl von Hauptrechnern (10 (a-c)) abhängig sind,
falls keine Verriegelungen mehr anstehen, Gewähren der Zugriffsanfrage des Nebenhauptrechners (10 (b)), und Benachrichtigen des Nebenrechners (10 (b)), ob seine Zugriffsanfrage gewährt wurde.
2. Verfahren nach Anspruch 1, das des weiteren den Schritt des Verweigerns der Zugriffsanfrage des Nebenhauptrechners (10 (b)) umfaßt, wenn eine entgegenstehende Verriegelung noch anhängig ist, uncl wobei der Benachrichtungsschritt das Benachrichtigen des Nebenrechners (10 (b) ), ob seine Zugriffsanfrage gewährt oder verweigert wurde, umfaßt.
3. Verfahren nach Anspruch 2, bei dem der Schritt des Gewährens einer Zugriffsanfrage das Speichern, daß die Zugriffsanfrage dem anfragenden Rechner (10 (a-c)) gewährt wurde, in einem Lokalspeicher umfaßt.
4. Verfahren nach Anspruch 3, bei dem das Objekt ein Dateiensystem (Datenbank) ist.
5. Verfahren nach Anspruch 4, bei dem die Zugriffsanfrage eine Anfrage auf Zugriff auf eine Datei in dem Dateiensystem ist.
6. Agentensoftware (20) auf einem computerlesbaren Medium zum Ausführen auf einem Leithauptrechner (10 (a), der einer von einer Vielzahl von mit einem Datenspeichersystem (12) verbundenen Hauptrechnern (10 (a-c)) ist, wobei die Vielzahl von Hauptrechnern (10 (a-c)) alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem (12) haben und jeder mit dem Datenspeichersystem (12) über einen entsprechenden unterschiedlichen Kanal (13 (a-n)) verbunden sind, wobei die Agentensoftware (20) folgendes umfaßt:
ein Mittel zum Empfangen einer Zugriffsanfrage von einem anderen der Vielzahl von Hauptrechnern (10 (a-c)), wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf ein identifiziertes Datenobjekt in dem Gemeinschaftsspeicherbereich des Datenspeichersystems (12) ist,
ein Mittel zum Feststellen, ob entgegenstehende Verriegelungen für das innerhalb des Gemeinschaftsspeicherbereichs des Datenspeichersystems (12) gespeicherten identifizierten Datenobjekts anhängig sind,
ein Mittel zum Gewähren der Zugriffsanfrage von dem anfragenden Hauptrechner (10 (a-c)), wenn festgestellt wurde, daß keine entgegenstehenden Verrigelungen für einen anderen Hauptrechner (10 (a-c)) anhängig sind, und
ein Mittel zum Benachrichtigen des anfragenden Hauptrechners (10 (a-c)), ob seine Zugriffsanfrage gewährt wurde.
7. Agentensoftware (20) nach Anspruch 6, die des weiteren ein Mittel zum Verweigern der Zugriffsanfrage von dem anfragenden Rechner (10 (a-c)) umfaßt, wenn festgestellt wurde, daß eine entgegenstehende Verriegelung für einen anderen Hauptrechner (10 (a-c)) anhängig ist, und wobei das Benachrichtigungsmittel den anfragenden Hauptrechner (10 (a- c) ) benachrichtigt, ob seine Zugriffsanfrage gewährt oder verweigert wurde.
8. Agentensoftware (20) nach Anspruch 7, wobei das Objekt ein Dateiensystem (Datenbank) ist.
9. Agentensoftware (20) nach Anspruch 8, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf eine Datei in dem Dateiensystem ist.
10. Schnittstellensoftware (22) auf einem computerlesbaren Medium zum Ausführen auf einem Nebenhauptrechner (10 (b)), der einer von einer Vielzahl von mit einem Datenspeichersystem (12) verbundenen Hauptrechnern (10 (a-c)) ist, wobei die Vielzahl von Hauptrechnern (10 (a-c)) alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem (12) haben und jeder mit dem Datenspeichersystem (12) über einen entsprechenden unterschiedlichen Kanal (13 (a- n)) verbunden ist, wobei die Schnittstellensoftware (22) folgendes umfaßt:
ein Mittel zum Hindern des Nebenhauptrechners (10 (b)) am Zugriff auf ein identifiziertes Datenobjekt, das in dem Gemeinschaftsspeicherbereich gespeichert ist, wenn keine Genehmigung von einem Leithauptrechner (10 (a)), der ein anderer der Vielzahl von Hauptrechnern (10 (a-c)) ist, empfangen wurde,
ein Mittel zum Senden einer Zugriffsanfrage von dem Nebenhauptrechner (10 (b)) an den Leithauptrechner (10 (a)), wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf das identifizierte Datenobjekt in dem Gemeinschaftsspeicherbereich ist,
ein Mittel zum Empfangen einer Bestätigung von dem Leithauptrechner (10 (a)), die angibt, ob die Zugriffsanfrage gewährt wurde, und
ein Mittel, das dem Nebenrechner (10 (b)) Zugriff auf das Objekt gestattet, wenn die empfangene Bestätigung die Zugriffsanfrage gewährt.
11. Schnittstellensoftware (22) nach Anspruch 10, die des weiteren ein Mittel umfaßt, das den Leithauptrechner (10 (a)) benachrichtigt, wenn ein das Objekt betreffender Zugriffsvorgang abgeschlossen ist.
12. Schnittstellensoftware (22) nach Anspruch 11, wobei das Objekt ein Dateiensystem (Datenbank) ist.
13. Schnittstellensoftware (22) nach Anspruch 12, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf eine Datei in dem Dateiensystem ist.
14. Zugriffssteuerverfahren, das auf einem Hauptrechner (10 (a)) läuft, der einer von einer Vielzahl von mit einem Datenspeichersystem (12) verbundenen Hauptrechner (10 (a- c) ) ist, wobei die Vielzahl von Hauptrechnern (10 (a-c)) alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem (12) haben und jeder mit dem Speichersystem (12) über einen entsprechenden unterschiedlichen Kanal (13 (a-n)) verbunden ist, wobei das Zugriffssteuerverfahren folgendes umfaßt:
Empfangen einer Zugriffsanfrage von einem anderen der Vielzahl von Hauptrechnern (10 (a-c)), wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf ein identifiziertes Objekt ist, das in dem Gemeinschaftsspeicherbereich des Datenspeichersystems gespeichert ist,
Feststellen, ob entgegenstehende Verriegelungen für das innerhalb des Gemeinschaftsspeicherbereichs des Datenspeichersystems (12) gespeicherte identifizierte Objekt anhängig sind,
Gewähren der Zugriffsanfrage von dem anfragenden Hauptrechner (10 (a-c)), wenn festgestellt ist, daß keine entgegenstehenden Verriegelungen für einen anderen Hauptrechner (10 (a-c)) anhängig sind, und
Benachrichtigen des anfragenden Hauptrechners (10 (a-c)), ob seine Zugriffsanfrage gewährt wurde.
15. Verfahren nach Anspruch 14, das des weiteren das Verweigern der Zugriffsanfrage von dem anfragenden Rechner (10 (a-c)) umfaßt, wenn festgestellt ist, daß eine entgegenstehende Verriegelung für einen anderen Hauptrechner (10 (a- c)) anhängig ist, und wobei der Benachrichtigungsschritt das Benachrichtigen des anfragenden Hauptrechners umfaßt, ob seine Zugriffsanfrage gewährt oder verweigert wurde.
16. Verfahren nach Anspruch 15, wobei das Objekt ein Dateiensystem (Datenbank) ist.
17. Verfahren nach Anspruch 16, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf eine Datei in dem Dateiensystem ist.
18. Zugriffssteuerverfahren, das auf einem Nebenhauptrechner (10 (b)) läuft, der einer von einer Vielzahl von mit einem Datenspeichersystem (12) verbundenen Hauptrechnern (10 (a-c)) ist, wobei die Vielzahl von Hauptrechnern (10 (a-c)) alle Zugriff auf einen Gemeinschaftsspeicherbereich in dem Datenspeichersystem (12) haben und jeder mit dem Datenspeichersystem (12) über einen entsprechenden unterschiedlichen Kanal (13 (a-n)) verbunden ist, wobei das Verfahren folgendes umfaßt:
Hindern des Nebenhauptrechners (10 (b)) am Zugriff auf ein in dem Gemeinschaftsspeicherbereich gespeichertes identifiziertes Datenobjekt, wenn keine Genehmigung von einem Leithauptrechner, der ein anderer der Vielzahl von Hauptrechnern (10 (a-c)) ist, empfangen wurde,
Senden einer Zugriffsanfrage von dem Nebenhäuptrechner (10 (b) ) an den Leithauptrechner (10 (a)), wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf das identifizierte Datenobjekt in dem Gemeinschaftspeicherbereich ist,
Empfangen einer Bestätigung von dem Leithauptrechner (10 (a) ), die angibt, ob die Zugriffsanfrage gewährt wurde, und
Erteilen der Zulassung für den Nebenrechner (10 (b)), auf das Datenobjekt zuzugreifen, wenn die empfangene Bestätigung die Zugriffsanfrage gewährt.
19. Verfahren nach Anspruch 18, das des weiteren das Benachrichtigen des Leithauptrechners (10 (a)) umfaßt, wenn ein das Objekt betreffender Zugriffsvorgang abgeschlossen ist.
20. Verfahren nach Anspruch 19, wobei das Objekt ein Dateiensystem (Datenbank) ist.
21. Verfahren nach Anspruch 20, wobei die Zugriffsanfrage eine Anfrage auf Zugriff auf eine Datei in dem Dateiensystem ist.
DE69806914T 1997-03-24 1998-03-24 Agentimplementierte verriegelungsvorrichtung Expired - Lifetime DE69806914T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/822,680 US5913227A (en) 1997-03-24 1997-03-24 Agent-implemented locking mechanism
PCT/US1998/005779 WO1998043163A1 (en) 1997-03-24 1998-03-24 An agent-implemented locking mechanism

Publications (2)

Publication Number Publication Date
DE69806914D1 DE69806914D1 (de) 2002-09-05
DE69806914T2 true DE69806914T2 (de) 2003-04-03

Family

ID=25236681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69806914T Expired - Lifetime DE69806914T2 (de) 1997-03-24 1998-03-24 Agentimplementierte verriegelungsvorrichtung

Country Status (6)

Country Link
US (1) US5913227A (de)
EP (1) EP0972240B1 (de)
JP (1) JP2001504968A (de)
KR (1) KR20010005570A (de)
DE (1) DE69806914T2 (de)
WO (1) WO1998043163A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3228182B2 (ja) * 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
JPH1185655A (ja) * 1997-09-16 1999-03-30 Hitachi Ltd 計算機システム
US7200623B2 (en) 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US7930278B2 (en) * 1998-02-13 2011-04-19 Oracle International Corporation Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US6272662B1 (en) * 1998-08-04 2001-08-07 International Business Machines Corporation Distributed storage system using front-end and back-end locking
US6332197B1 (en) 1998-08-04 2001-12-18 International Business Machines Corp. System for updating data in a multi-adaptor environment
US6446220B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating data and parity data with and without read caches
US6446237B1 (en) 1998-08-04 2002-09-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system
US6279138B1 (en) 1998-08-04 2001-08-21 International Business Machines Corporation System for changing the parity structure of a raid array
US6292826B1 (en) * 1998-09-28 2001-09-18 Alcatel Internetworking, Inc. Shadow arrays for distributed memory multiprocessor architecture
JP4252139B2 (ja) * 1998-12-16 2009-04-08 株式会社日立製作所 記憶装置システム
US6418472B1 (en) * 1999-01-19 2002-07-09 Intel Corporation System and method for using internet based caller ID for controlling access to an object stored in a computer
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6718372B1 (en) 2000-01-07 2004-04-06 Emc Corporation Methods and apparatus for providing access by a first computing system to data stored in a shared storage device managed by a second computing system
US6529905B1 (en) 2000-01-11 2003-03-04 Frontline Solutions, Inc. Method and system for allowing multiple users to edit a hierarchical data structure
JP4651230B2 (ja) * 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
DE10030380A1 (de) * 2000-06-21 2002-01-03 Infineon Technologies Ag Mehrere CPUs enthaltendes System
US6477618B2 (en) * 2000-12-28 2002-11-05 Emc Corporation Data storage system cluster architecture
US7437386B2 (en) * 2001-09-21 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for a multi-node environment with shared storage
US7243229B2 (en) * 2001-10-02 2007-07-10 Hitachi, Ltd. Exclusive access control apparatus and method
CN1215636C (zh) * 2001-12-31 2005-08-17 艾默生网络能源有限公司 确立多机并联***中主机的方法
JP2004102852A (ja) * 2002-09-12 2004-04-02 Hitachi Ltd ホットスタンバイ計算機システム
US7000046B1 (en) * 2003-01-17 2006-02-14 Unisys Corporation Standard channel I/O processor (SCIOP)
US7424671B2 (en) * 2003-05-16 2008-09-09 Justsystems Canada Inc. Methods and systems for enabling collaborative authoring of hierarchical documents
CN1331070C (zh) * 2004-02-21 2007-08-08 华为技术有限公司 数据通信的方法及设备
JP4497953B2 (ja) * 2004-02-25 2010-07-07 株式会社日立製作所 情報処理システム、および情報処理方法
US8391921B2 (en) 2007-02-13 2013-03-05 Google Inc. Modular wireless communicator
US7970433B2 (en) 2007-06-08 2011-06-28 Modu Ltd. SD switch box in a cellular handset
US10027789B2 (en) 2007-02-13 2018-07-17 Google Llc Modular wireless communicator
US7904696B2 (en) * 2007-09-14 2011-03-08 Intel Corporation Communication paths for enabling inter-sequencer communication following lock competition and accelerator registration
US8412226B2 (en) 2008-06-24 2013-04-02 Google Inc. Mobile phone locator
US9122895B2 (en) 2008-06-25 2015-09-01 Microsoft Technology Licensing, Llc Authorization for transient storage devices with multiple authentication silos
US20090327634A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Secure configuration of transient storage devices
US20100064280A1 (en) * 2008-09-09 2010-03-11 International Business Machines Corporation Systems and methods for implementing test applications for systems using locks
US20120110291A1 (en) * 2009-04-06 2012-05-03 Kaminario Technologies Ltd. System and method for i/o command management
US20110093745A1 (en) * 2009-10-20 2011-04-21 Aviad Zlotnick Systems and methods for implementing test applications for systems using locks
US8510334B2 (en) * 2009-11-05 2013-08-13 Oracle International Corporation Lock manager on disk
CN102279801B (zh) * 2010-06-09 2014-12-17 晨星软件研发(深圳)有限公司 存储器共享***及方法
US8977703B2 (en) * 2011-08-08 2015-03-10 Adobe Systems Incorporated Clustering without shared storage
US10042749B2 (en) 2015-11-10 2018-08-07 International Business Machines Corporation Prefetch insensitive transactional memory
CN107526537B (zh) 2016-06-22 2020-03-20 伊姆西Ip控股有限责任公司 用于锁定存储***中的存储区域的方法和***
US20200356485A1 (en) * 2019-05-09 2020-11-12 International Business Machines Corporation Executing multiple data requests of multiple-core processors

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8328396D0 (en) * 1983-10-24 1983-11-23 British Telecomm Multiprocessor system
JPS62197858A (ja) * 1986-02-26 1987-09-01 Hitachi Ltd システム間デ−タベ−ス共用方式
US5146607A (en) * 1986-06-30 1992-09-08 Encore Computer Corporation Method and apparatus for sharing information between a plurality of processing units
US4876643A (en) * 1987-06-24 1989-10-24 Kabushiki Kaisha Toshiba Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests
US5408629A (en) * 1992-08-13 1995-04-18 Unisys Corporation Apparatus and method for controlling exclusive access to portions of addressable memory in a multiprocessor system
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
US5615373A (en) * 1993-08-26 1997-03-25 International Business Machines Corporation Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object
WO1995013583A1 (en) * 1993-11-09 1995-05-18 Conner Kenneth H First come memory accessing without conflict
US5678026A (en) * 1995-12-28 1997-10-14 Unisys Corporation Multi-processor data processing system with control for granting multiple storage locks in parallel and parallel lock priority and second level cache priority queues

Also Published As

Publication number Publication date
WO1998043163A1 (en) 1998-10-01
EP0972240A1 (de) 2000-01-19
JP2001504968A (ja) 2001-04-10
DE69806914D1 (de) 2002-09-05
EP0972240B1 (de) 2002-07-31
US5913227A (en) 1999-06-15
KR20010005570A (ko) 2001-01-15

Similar Documents

Publication Publication Date Title
DE69806914T2 (de) Agentimplementierte verriegelungsvorrichtung
DE69530128T2 (de) Sicherheit für rechnerbetriebsmittel
DE69403192T2 (de) Vorrichtung und verfahren zur datensicherung von speichereinheiten in einem rechnernetzwerk
DE69032685T2 (de) Verfahren und system mit einem cache für offene dateien in einem netzwerkrechnersystem
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
EP0519109B1 (de) Zugriffskontrolle in Rechnernetzen
DE69029759T2 (de) Flexible Schnittstelle für Beglaubigungsdienste in einem verteilten Datenverarbeitungssystem
DE4033336A1 (de) Verfahren zum erzeugen einer ausfallmeldung und mechanismus fuer ausfallmeldung
DE69028373T2 (de) Mehrstufiges Verriegelungssystem und -verfahren
DE69522046T2 (de) Verfahren zur hierarchischen Betriebsmittelverwaltung
DE3751446T2 (de) Multiprozessor-Speicherbetriebsverfahren und -vorrichtung.
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE69107506T2 (de) Verfahren und Vorrichtung zur Gleichzeitigkeitssteuerung von gemeinsamen Datenaktualisierungen und Abfragen.
DE69528338T2 (de) Verfahren zur Verwaltung von schwachkonsistenten replizierten Datenbanken
DE69422743T2 (de) Endlosschleife-Erkennungsgerät
DE69032649T2 (de) Dateiveränderungsmonitor für rechner-, betriebs- und dateiverwaltungssysteme
DE3611223A1 (de) Verfahren und vorrichtung zum verhindern einer blockierung in einem datenbank-verwaltungssystem
DE102004064069B4 (de) Plattenarrayvorrichtung
DE69702169T2 (de) Berechtigung zum abgetrennten Schreiben in einer Benutzer/Anbieter-Rechneranordnung
DE69618131T2 (de) Anordnung und Verfahren zur Betriebsmittelverwaltung von verteilten Objekten
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE69608673T2 (de) Rechnersicherungssystem mit offenen dateien
DE69818135T2 (de) Verfahren zum Zugriff auf Datenbankinformation
DE69225389T2 (de) Programmattributsteuerung in einem Rechnersystem
DE69907991T2 (de) Dateisicherungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: KUDLEK & GRUNERT PATENTANWAELTE PARTNERSCHAFT, 803