DE69806914T2 - Agentimplementierte verriegelungsvorrichtung - Google Patents
Agentimplementierte verriegelungsvorrichtungInfo
- 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
Links
- 238000013500 data storage Methods 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000007726 management method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1997
- 1997-03-24 US US08/822,680 patent/US5913227A/en not_active Expired - Lifetime
-
1998
- 1998-03-24 JP JP54591698A patent/JP2001504968A/ja active Pending
- 1998-03-24 DE DE69806914T patent/DE69806914T2/de not_active Expired - Lifetime
- 1998-03-24 EP EP98912005A patent/EP0972240B1/de not_active Expired - Lifetime
- 1998-03-24 KR KR1019997008633A patent/KR20010005570A/ko not_active Application Discontinuation
- 1998-03-24 WO PCT/US1998/005779 patent/WO1998043163A1/en not_active Application Discontinuation
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 |