DE102012218945B4 - Zugriffssteuerung in einer hybriden Umgebung - Google Patents

Zugriffssteuerung in einer hybriden Umgebung Download PDF

Info

Publication number
DE102012218945B4
DE102012218945B4 DE102012218945.9A DE102012218945A DE102012218945B4 DE 102012218945 B4 DE102012218945 B4 DE 102012218945B4 DE 102012218945 A DE102012218945 A DE 102012218945A DE 102012218945 B4 DE102012218945 B4 DE 102012218945B4
Authority
DE
Germany
Prior art keywords
processing system
data processing
access
data
data set
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.)
Active
Application number
DE102012218945.9A
Other languages
English (en)
Other versions
DE102012218945A1 (de
Inventor
David D. Chambliss
Joshua W. Knight
Ronald K. Kreuzenstein
John J. Lee
James A. Ruddy
John G. Thompson
Harry M. Yudenfriend
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012218945A1 publication Critical patent/DE102012218945A1/de
Application granted granted Critical
Publication of DE102012218945B4 publication Critical patent/DE102012218945B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verfahren (200) zum Zugriff auf Daten eines heterogenen Betriebssystems, aufweisend:Empfangen (210) in einem ersten Datenverarbeitungssystem (105), das ein erstes Betriebssystem hat, einer Anforderung von einem zweiten Datenverarbeitungssystem (120) für den Zugriff auf einen Datensatz (115), wobei das zweite Datenverarbeitungssystem ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet;Konfigurieren von Unterkanälen für ein Kanalsubsystem (160) des zweiten Datenverarbeitungssystems durch das zweite Datenverarbeitungssystem, um E/A-Operationen an den Datensatz auszugeben, wobei eine E/A-Konfiguration über einen Eingabe-Ausgabe-Konfigurationsdatensatz durch einen Mechanismus für die Konfiguration von Einheiten festgelegt wird, wobei die E/A-Konfiguration einen eindeutigen Bezeichner für jede E/A-Einheit in der E/A-Konfiguration aufweist;Übertragen der eindeutigen Bezeichner durch den Mechanismus für die Konfiguration von Einheiten an eine Ladebeschleuniger-Anwendung (108) des ersten Datenverarbeitungssystems;Hinzufügen von weiteren E/A-Einheiten und deren eindeutigen Bezeichnern zu der E/A-Konfiguration durch den Mechanismus für die Konfiguration von Einheiten, wobei Identitäten der weiteren E/A-Einheiten von dem ersten Betriebssystem empfangen wurden;Vorbereiten des Datensatzes durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem;Feststellen von Merkmalen des Datensatzes durch das erste Datenverarbeitungssystem;Weiterleiten der Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem; undSetzen von Berechtigungen durch das erste Datenverarbeitungssystem für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem, wobei die Ladebeschleuniger-Anwendung die eindeutigen Bezeichner zum Einrichten von Zugriffssteuerungen für die Berechtigungen verwendet.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft Datenverarbeitungssysteme und insbesondere Systeme und Verfahren für den Zugriff auf Datenressourcen in Datenverarbeitungsumgebungen mit mehreren Großrechnern (Mainframes) oder hybriden Datenverarbeitungsumgebungen.
  • In einer typischen Datenverarbeitungsumgebung mit mehreren Großrechnern kann ein Großrechner mehrere Server enthalten. In einer hybriden Umgebung mit System z beispielsweise ist ein Großrechner vom Typ System z von IBM® (z.B. zEnterprise® 196) mit Blades von IBM® verbunden, die in einem oder mehreren BladeCenters® von IBM® untergebracht sind. Die Verbindung erfolgt über Ethernet-Netzwerke mittels des Transmission Control Protocol/Internet Protocol (TCP/IP). Wenn Daten von dem Großrechner an einen Server übertragen werden müssen, durchlaufen die Daten das Ethernet-Netzwerk. Anwendungen in bestimmten Servern, die Massendatenübertragungen und Hochgeschwindigkeits-Datenübertragungen einschließen, wie zum Beispiel Datenbankzugriffe (z.B. über Direktzugriff-Speichereinheiten (Direct Access Storage Devices (DASD)) in der Datenverarbeitungsumgebung mit mehreren Großrechnern, können eine beträchtliche Verarbeitungsleistung erbringen, die sich auf andere Arbeiten in einem Großrechner auswirken kann.
  • Mit einer geeigneten Implementierung eines Kanals auf einem Server, der die Datenübertragungen koordiniert, haben der koordinierende Server und andere Server in dem Großrechner die Möglichkeit, auf dieselben Datenbankspeichereinheiten (z.B. DASD) gemeinsam zuzugreifen. Somit kann der koordinierende Server direkt auf die Daten zugreifen und die Daten laden, ohne dass eine hohe Verarbeitungsleistung im Großrechner oder eine Übertragung über das Ethernet-Netzwerk erforderlich ist.
  • In dem Großrechner, der ein Betriebssystem für mehrere Großrechner ausführt, das gleichzeitig gehostete Arbeitseinheiten verwaltet (z.B. z/OS®), gibt es Mechanismen (z.B. die Resource Access Control Facility von IBM®), um sicherzustellen, dass nur berechtigte Benutzer auf die Daten zugreifen dürfen, bevor sie an den koordinierenden Server übertragen werden. Auf vielen Servern, die das Betriebssystem für mehrere Großrechner nicht ausführen, gibt es jedoch keine solchen Mechanismen. Auch gibt es Bedenken, dass Software, die auf dem Server ausgeführt wird, unbefugte Zugriffe auf Daten, die sich auf den DASD-Einheiten befinden, durchführen könnte.
  • Die US 2003 / 0 220 974 A1 betrifft ein Verfahren für den Datenzugriff in einer Datenverarbeitungsumgebung mit mehreren Knoten und gemeinsamem Speicher, indem die Struktur des Dateisperrmechanismus so verbessert wird, dass Knoten, die normalerweise nicht als Metadatenkontrollknoten bezeichnet werden, diese Funktion für begrenzte Zeit erfüllen können, wodurch zumindest vorübergehend die Notwendigkeit einer ständigen Koordinierung zwischen den Knoten entfällt.
  • Die US 6 324 581 B1 betrifft mehrere Datenmover-Computer, die den Zugriff auf die jeweiligen Dateisysteme im Datenspeicher steuern. Ein Netzwerk-Client, der von einem der Datenmover bedient wird, kann auf jedes der Dateisysteme zugreifen. Wenn ein Datenmover eine Client-Anforderung für den Zugriff auf eine Datei in einem Dateisystem erhält, auf das ein anderer Datenmover den Zugriff kontrolliert, dann sendet der Datenmover, der die Client-Anforderung erhalten hat, eine Metadaten-Anforderung an den Datenmover, der den Zugriff auf das Dateisystem kontrolliert. Der Datenmover, der den Zugriff auf das Dateisystem kontrolliert, antwortet, indem er die Datei sperrt und die Metadaten der Datei zurückgibt. Der Datenmover, der die Client-Anforderung erhalten hat, verwendet die Metadaten, um einen Datenzugriffsbefehl zu formulieren, mit dem auf die Dateidaten im Dateisystem über einen Umgehungsdatenpfad zugegriffen wird, der den Datenmover-Computer umgeht, der den Zugriff auf das Dateisystem kontrolliert.
  • Die US 7 054 927 B2 betrifft ein Computernetzwerk-Dateisystem. Das Computernetzwerk-Dateisystem enthält erste Metadaten, die hauptsächlich von einem ersten Dateiserver verwaltet werden, der betriebsmäßig mit einer Netzwerkstruktur verbunden ist. Die ersten Metadaten enthalten erste Dateispeicherplatzinformationen, und die ersten Dateispeicherplatzinformationen enthalten mindestens eine Server-ID. Das Computernetzwerk-Dateisystem enthält auch zweite Metadaten, die in erster Linie von einem zweiten Dateiserver verwaltet werden, der betriebsmäßig mit einer Netzwerkstruktur verbunden ist. Die zweiten Metadaten enthalten zweite Dateispeicherplatzinformationen, und die zweiten Dateispeicherplatzinformationen enthalten mindestens eine Serverkennung. Die ersten Metadaten und die zweiten Metadaten sind so konfiguriert, dass ein Anforderer Dateien, die auf dem ersten Dateiserver gespeichert sind, und Dateien, die auf dem zweiten Dateiserver gespeichert sind, in einer Verzeichnisstruktur finden kann, die sich über den ersten Dateiserver und den zweiten Dateiserver erstreckt.
  • Die US 5 974 424 A betrifft ein Computersystem mit einem gemeinsam genutzten Plattendateisystem, das auf mehreren Computern läuft, von denen jeder seine eigene Instanz eines Betriebssystems hat und für parallele Datenplatten gekoppelt ist. Einer der Computer dient als Metadatenknoten und verwaltet Metadaten für parallele Lese- und Schreibvorgänge für eine bestimmte Datei. Die Metadaten werden von den anderen Computern über diesen Metadatenknoten-Computer von und zu dieser Datei übertragen.
  • Die US 2010 / 0 212 027 A1 betrifft ein Verfahren, ein System und eine Software zum Erlauben der Verwendung von digitalen Werken, denen Rechte zugeordnet sind, in einem System mit Verwahrungsorten, die so konfiguriert sind, dass sie die Verwendung des digitalen Werks in Übereinstimmung mit den Rechten ermöglichen, umfassend: das Zuordnen eines Übertragungsrechts zu einem digitalen Werk, wobei das Übertragungsrecht angibt, dass das digitale Werk von einem ersten Verwahrungsort zu einem zweiten Verwahrungsort übertragen wird; das Übertragen des digitalen Werks von dem ersten Verwahrungsort zu dem zweiten Verwahrungsort in Übereinstimmung mit dem Übertragungsrecht; und als Reaktion auf das Übertragen das schrittweise Aktualisieren von Übertragungsrechtsinformationen in Bezug auf das digitale Werk.
  • KURZDARSTELLUNG
  • Der Erfindung liegt die Aufgabe zugrunde ein heterogenes Datenverarbeitungssystem, ein Rechnerprogrammprodukt, Verfahren zum Zugriff mit verbesserter Sicherung auf Daten eines heterogenen Betriebssystems zu schaffen. Diese Aufgabe wurde durch die Merkmale der unabhängigen Ansprüche gelöst. Ausführungsformen sind in den abhängigen Patentansprüchen angegeben.
  • Zu beispielhaften Ausführungsformen zählen ein Verfahren zum Zugriff auf Daten eines heterogenen Betriebssystems, umfassend das Empfangen in einem ersten Datenverarbeitungssystem, das ein erstes Betriebssystem hat, einer Anforderung von einem zweiten Datenverarbeitungssystem für den Zugriff auf einen Datensatz, wobei das zweite Datenverarbeitungssystem ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet, das Vorbereiten des Datensatzes durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem, das Feststellen von Merkmalen des Datensatzes durch das erste Datenverarbeitungssystem, das Weiterleiten der Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem und das Setzen von Berechtigungen durch das erste Datenverarbeitungssystem für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem.
  • Zu weiteren beispielhaften Ausführungsformen gehört ein Rechnerprogrammprodukt, das einen nicht flüchtigen, rechnerlesbaren Datenträger enthält, der Befehle speichert, um zu bewirken, dass ein Rechner ein Verfahren zum Zugriff auf Daten eines heterogenen Betriebssystems durchführt. Das Verfahren beinhaltet das Empfangen in einem ersten Datenverarbeitungssystem, das ein erstes Betriebssystem hat, einer Anforderung von einem zweiten Datenverarbeitungssystem für den Zugriff auf einen Datensatz, wobei das zweite Datenverarbeitungssystem ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet, das Vorbereiten des Datensatzes durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem, das Feststellen von Merkmalen des Datensatzes durch das erste Datenverarbeitungssystem, das Weiterleiten der Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem und das Setzen von Berechtigungen durch das erste Datenverarbeitungssystem für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem.
  • Zu weiteren beispielhaften Ausführungsformen gehören ein heterogenes Betriebssystem, aufweisend ein erstes Servermodul, das ein erstes Betriebssystem hat, ein zweites Servermodul, das mit dem ersten Servermodul kommunikativ verbunden ist, wobei das zweite Servermodul ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet, einen Datensatz, auf den das erste Servermodul und das zweite Servermodul zugreifen können, sowie einen Prozess, der sich auf dem ersten Servermodul befindet, wobei der Prozess so konfiguriert ist, dass er dem zweiten Servermodul den Zugriff auf den Datensatz von dem ersten Servermodul aus gewährt.
  • Zusätzliche Merkmale und Vorteile werden durch die Methoden der vorliegenden Erfindung realisiert. Weitere Ausführungs- und Erscheinungsformen der Erfindung werden hier ausführlich beschrieben und als ein Teil der beanspruchten Erfindung betrachtet. Um die Erfindung mit den Vorteilen und den Merkmalen besser verstehen zu können, sollte auf die Beschreibung und die Zeichnungen Bezug genommen werden.
  • In einer weiteren beispielhaften Erscheinungsform betrifft die Erfindung ein Rechnerprogrammprodukt, das einen nicht flüchtigen, rechnerlesbaren Datenträger enthält, der Befehle speichert, um zu bewirken, dass ein Rechner ein Verfahren zum Zugriff auf Daten eines heterogenen Betriebssystems durchführt, das Verfahren aufweisend:
    • Empfangen in einem ersten Datenverarbeitungssystem, das ein erstes Betriebssystem hat, einer Anforderung von einem zweiten Datenverarbeitungssystem für den Zugriff auf einen Datensatz, wobei das zweite Datenverarbeitungssystem ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet;
    • Vorbereiten des Datensatzes durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem;
    • Feststellen von Merkmalen des Datensatzes durch das erste Datenverarbeitungssystem;
    • Weiterleiten der Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem; und
    • Setzen von Berechtigungen durch das erste Datenverarbeitungssystem für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem.
  • In einer weiteren beispielhaften Erscheinungsform betrifft die Erfindung ein heterogenes Datenverarbeitungssystem, aufweisend:
    • ein erstes Servermodul, das ein erstes Betriebssystem hat;
    • ein zweites Servermodul, das mit dem ersten Servermodul kommunikativ verbunden ist, wobei das zweite Servermodul ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet;
    • einen Datensatz, auf den das erste Servermodul und das zweite Servermodul zugreifen können; und
    • einen Prozess, der sich auf dem ersten Servermodul befindet, wobei der Prozess so konfiguriert ist, dass er dem zweiten Servermodul den Zugriff auf den Datensatz von dem ersten Servermodul aus gewährt.
  • Gemäß einer beispielhaften Ausführungsform der Erfindung ist der Prozess so konfiguriert, dass er:
    • in dem ersten Datenverarbeitungssystem eine Anforderung von einem zweiten Datenverarbeitungssystem für den Zugriff auf einen Datensatz empfängt,
    • den Datensatz durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem vorbereitet;
    • Merkmale des Datensatzes durch das erste Datenverarbeitungssystem feststellt;
    • die Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem weiterleitet; und
    • durch das erste Datenverarbeitungssystem Berechtigungen für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem setzt.
  • In einem weiteren Beispiel ist der Prozess des Weiteren so konfiguriert, dass er bestätigt, dass der Zugriff auf den Datensatz gewährt worden ist.
  • In einem weiteren Beispiel ist der Prozess des Weiteren so konfiguriert, dass er den Zugriff auf den Datensatz koordiniert.
  • In einem weiteren Beispiel ist der Prozess des Weiteren so konfiguriert, dass er eine Benachrichtigung empfängt, dass auf den Datensatz zugegriffen worden ist.
  • In einem weiteren Beispiel ist der Prozess des Weiteren so konfiguriert, dass er erteilte Berechtigungen entfernt.
  • Figurenliste
  • Der als Erfindung betrachtete Gegenstand ist in den Ansprüchen am Ende der Beschreibung im Einzelnen dargelegt und gesondert beansprucht. Die vorstehenden und andere Merkmale und Vorteile der Erfindung gehen aus der folgenden ausführlichen Beschreibung, in Verbindung mit den beiliegenden Zeichnungen betrachtet, hervor, bei denen:
    • 1 ein beispielhaftes System zeigt, in dem zum Datenzugriff berechtigte Zugriffe vorgenommen werden können;
    • 2 ein Flussdiagramm für ein Verfahren zum Zugriff auf Daten gemäß beispielhaften Ausführungsformen zeigt; und
    • 3 eine beispielhafte Ausführungsform eines Systems zeigt, das so realisiert werden kann, dass es unter Systemen, die zum Zugriff auf die Daten berechtigt sind, und Systemen, die zum Zugriff auf die Daten nicht berechtigt sind, in einer Umgebung mit mehreren Großrechnern Zugriff auf Daten gewährt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In beispielhaften Ausführungsformen ermöglichen die hier beschriebenen Systeme und Verfahren Software, die auf einem Servermodul ausgeführt wird, die Durchführung von berechtigten Zugriffen auf DASD-Einheiten. In beispielhaften Ausführungsformen steuern die hier beschriebenen Systeme und Verfahren Befehle, welche die Einheiten steuern, die in der auf dem Servermodul festgelegten E/A-Konfiguration vertreten sind. Nur wenn sich Einheiten in dieser Konfiguration befinden, kann auf sie zugegriffen werden. In beispielhaften Ausführungsformen steuern die hier beschriebenen Systeme und Verfahren Befehle, die auch die Extents auf einer Einheit steuern, auf die das Servermodul zugreifen kann, sowie die Arten der Zugriffe, die auf diese Extents gestattet sind.
  • 1 zeigt ein beispielhaftes System 100, in dem zum Datenzugriff berechtigte Zugriffe vorgenommen werden können. Das System 100 kann Teil eines größeren Systems mit mehreren Großrechnern sein, das Teil eines einzigen logischen Systems (z.B. einer parallelen Sysplex®-Konfiguration) sein kann, wobei jeder der Großrechner über mehrere Servermodule verfügt. Zum Zweck der Veranschaulichung ist ein Servermodul (d.h. das erste Servermodul 105) eines Großrechners dargestellt. Das Servermodul 105 führt ein Betriebssystem aus, das mehrere Arbeitslasten unterstützen kann (z.B. z/OS®). Das Servermodul 105 unterstützt den Datenzugriff über einen geeigneten Datenübertragungskanal 110 (z.B. Fiber Connection (FICON)) auf einen Datensatz 115. Das Betriebssystem, das mehrere Arbeitslasten unterstützt (z.B. z/OS®), stellt sicher, dass nur berechtigte Benutzer auf den Datensatz 115 zugreifen dürfen. Das System 100 enthält auch ein zweites Servermodul 120, das ein Betriebssystem (z.B. Linux) ausführt, welches sich von dem Betriebssystem unterscheidet, das auf dem ersten Servermodul 105 ausgeführt wird. In dem hybriden System 100 hat das Betriebssystem, das auf dem zweiten Servermodul 120 ausgeführt wird, keine zugriffsberechtigten Komponenten. In beispielhaften Ausführungsformen ermöglichen die hier beschriebenen Systeme und Verfahren dem zweiten Servermodul 120 den berechtigten Zugriff.
  • Es versteht sich, dass in beispielhaften Ausführungsformen mehrere unterschiedliche hybride Anwendungen in Betracht gezogen werden. Zum Zweck der Veranschaulichung enthält das Servermodul 105 eine relationale Datenbankanwendung (d.h. eine erste Anwendung) 106, eine Datenträger-Verwaltungsanwendung (d.h. eine zweite Anwendung) 107, die beide mit einer Ladebeschleuniger-Anwendung 108 verbunden sind, welche in dem Betriebssystem unterstützt wird, das mehrere Arbeitslasten unterstützen kann (z.B. z/OS®). Entsprechende Komponenten auf dem zweiten Servermodul 120 stellen die Funktionalität für den Datenzugriff auf den Datensatz 115 bereit, wie hier näher beschrieben wird.
  • In beispielhaften Ausführungsformen enthält die Ladebeschleuniger-Anwendung 108 einen Datenübertragungskanal 121, wobei eine Ladebeschleuniger-Anwendung 122 in dem Betriebssystem (z.B. Linux) auf dem Servermodul 120 unterstützt wird. Die Ladebeschleuniger-Anwendung 108 enthält auch einen Datenübertragungskanal 123 mit einer Verwaltungs-Netzwerkanwendung 124, die sich auf dem zweiten Servermodul 120 befindet. Das zweite Servermodul 120 enthält eine relationale Datenbankanwendung (d.h. eine erste Zusatzanwendung zu der ersten Anwendung) 125, die mit einer Datenträger-Verwaltungsanwendung (d.h. einer zweiten Zusatzanwendung zu der zweiten Anwendung) 130 verbunden ist, welche der relationalen Datenbankanwendung 106 und der Datenträger-Verwaltungsanwendung 107, die sich auf dem ersten Servermodul 105 befinden, entsprechend ähnlich sind. Die relationale Datenbankanwendung 125 und die Datenträger-Verwaltungsanwendung 130 beinhalten eine ähnliche Funktionalität wie die relationale Datenbankanwendung 106 und die Datenträger-Verwaltungsanwendung 107, so dass die Funktionen in dem System 100 gespiegelt werden können. Das Servermodul 120 enthält darüber hinaus ein Zugriffssteuerungsmodul 135, das Anforderungen überwacht und Berechtigungen einrichtet, wie hier näher beschrieben wird. Das Zugriffssteuerungsmodul 135 ist mit der Ladebeschleuniger-Anwendung 122 über eine Zugriffssteuerungs-Anwendungsprogrammierschnittstelle (application programming interface (API)) 131 verbunden. Das Zugriffssteuerungsmodul 135 ist über eine Spurzugriffs-API 132 auch mit der Datenträger-Verwaltungsanwendung 130 verbunden. Das Zugriffssteuerungsmodul 135 ist darüber hinaus mit einem Einheiten-Konfigurationsmodul 140 und einem Kanalsubsystem-Zugriffsfunktionenmodul 145 verbunden, das ebenfalls mit dem Einheiten-Konfigurationsmodul 140 verbunden ist. Das Kanalsubsystem-Zugriffsfunktionenmodul 145 ist überdies mit einem Hauptspeicher-Verwaltungsmodul 150 verbunden, das mit der Hauptspeicher-Zuordnungs-API 133 verbunden ist. Das Kanalsubsystem-Zugriffsfunktionenmodul 145 ist auch mit einer Kanalsubsystem-(CSS-)E/A-API 155 verbunden. Das System 100 enthält des Weiteren ein Kanalsubsystem 160, das mit der CSS-E/A-API 155 verbunden ist. Das Kanalsubsystem 160 lässt sich über eine Schnittstelle mit einer Hardware-Karte 170 verbinden, die schließlich den Zugriff auf den geeigneten Datenübertragungskanal 110 und auf den Datensatz 115 ermöglicht. Das Kanalsubsystem 160 enthält ein Pfadauswahlmodul 161, das mit der CSS-E/A-API 155 verbunden ist, ein Kanalmodul 162, das mit dem Pfadauswahlmodul 161 verbunden ist, und einen Einheitentreiber 163, der mit dem Kanalmodul 162 und der Hardware-Karte 170 verbunden ist. Das Kanalsubsystem 160 enthält darüber hinaus eine Systemsteuereinheit 164, die Kanalsteuerungsfunktionen bereitstellt, ein Aktive-Warteschlange-Modul 165 zur Verwaltung von Kanalanforderungen und ein Betriebssystemkern-Modul 166, das mit dem Hauptspeicher-Verwaltungsmodul 150 verbunden ist und Betriebssystemkern-Funktionen bereitstellt.
  • Wie hier näher beschrieben wird, werden die Komponenten des zweiten Servermoduls 120 von Komponenten des ersten Servermoduls 105 gesteuert. In einem Beispiel lädt die relationale Datenbankanwendung 106 auf dem ersten Servermodul 105 Daten aus dem Datensatz 115 in das zweite Servermodul 120. Es versteht sich, dass des Weiteren viele andere Beispiele des Datenzugriffs in Betracht gezogen werden. Ein Überblick über den Prozess für den Zugriff auf Daten wird mit Bezug auf 2 beschrieben, die ein Flussdiagramm für ein Verfahren 200 zum Zugriff auf Daten gemäß beispielhaften Ausführungsformen darstellt. Weitere Einzelheiten des Verfahrens 200 werden nachstehend beschrieben.
  • In beispielhaften Ausführungsformen fordert das zweite Servermodul 120, wenn es zum Zugriff auf den Datensatz 115 bereit ist, am Block 210 den Zugriff auf den Datensatz an. Zum Beispiel ist die relationale Datenbankanwendung 125 zum Zugriff auf den Datensatz 115 bereit. Am Block 220 sendet das zweite Servermodul 120 die Benachrichtigung. Die relationale Datenbankanwendung 125 sendet beispielsweise eine Benachrichtigung an die Datenträger-Verwaltungsanwendung 130, um auf den Datensatz 115 zuzugreifen. Am Block 230 findet das zweite Servermodul 120 (z.B. die Datenträger-Verwaltungsanwendung 130) den Datensatz 115 auf. Am Block 240 gibt das zweite Servermodul 120 eine Anforderung für den Zugriff auf den Datensatz 115 aus. Die Datenträger-Verwaltungsanwendung 130 sendet beispielsweise eine Anforderung an das Zugriffssteuerungsmodul 135, wie hier beschrieben wird. Am Block 250 greift das zweite Servermodul 120 auf den Datensatz 115 zu und schließt den Zugriff ab. Am Block 260 führt das zweite Servermodul 120 nach dem Zugriff auf den Datensatz 115 eine Bereinigungsoperation durch, wie hier näher beschrieben wird. Weitere Einzelheiten des Verfahrens 200 werden nun mit Bezug auf das vorstehend erörterte Beispiel beschrieben.
  • In beispielhaften Ausführungsformen sendet die relationale Datenbankanwendung 106 auf dem ersten Servermodul 105 über die Ladebeschleuniger-Anwendung 108, den Datenübertragungskanal 121 und die Ladebeschleuniger-Anwendung 122 eine Anforderung an die relationale Datenbankanwendung 125 auf dem zweiten Servermodul 120. Die relationale Datenbankanwendung 125 weist die Datenträger-Verwaltungsanwendung 130 an, Daten aus dem Datensatz 115 abzurufen. Um die Daten aufzufinden, kommuniziert die Datenträger-Verwaltungsanwendung 130 über die Ladebeschleuniger-Anwendung 108, den Datenübertragungskanal 121 und die Ladebeschleuniger-Anwendung 122 mit der Datenträger-Verwaltungsanwendung 107 auf dem ersten Servermodul 105. In dem System handelt es sich bei der Serialisierung um einen Mechanismus, der sicherstellt, dass mehrere in Konflikt stehende Zugriffe auf den Datensatz 115 serialisiert werden, so dass die Integrität der Daten erhalten bleibt. Somit führt die Datenträger-Verwaltungsanwendung 107 Serialisierungsschritte, Sicherheitsprüfungen und andere Funktionen durch, um die Daten auf den Zugriff durch das zweite Servermodul 120 vorzubereiten. Darüber hinaus ermittelt die Datenträger-Verwaltungsanwendung 107 Volumes und Extents in dem Datensatz 115, in dem sich die Daten befinden. Die Ladebeschleuniger-Anwendung 108 kommuniziert über den Datenübertragungskanal 123 und die Verwaltungs-Netzwerkanwendung 124 mit dem Zugriffssteuerungsmodul 135, um die Volume- und Spurinformationen für die Daten zu übergeben. Das Zugriffssteuerungsmodul 135 richtet Berechtigungen ein, die den Zugriff auf Abschnitte der relationalen Datenbank gewähren, welche sich auf dem Datensatz 115 befinden. Nachdem das Zugriffssteuerungsmodul 135 die Berechtigungen eingerichtet hat, antwortet es der Ladebeschleuniger-Anwendung 108 über den Datenübertragungskanal 123. Die Datenträger-Verwaltungsanwendung 107 auf dem ersten Servermodul 105 antwortet auf die Verbindungsanforderung von der Datenträger-Verwaltungsanwendung 130 auf dem zweiten Servermodul 120, wobei sie den Speicherplatz (Volumes und Extents) der zu ladenden Daten angibt. Die Antwort wird über die Ladebeschleuniger-Anwendung 108, den Datenübertragungskanal 121 und die Ladebeschleuniger-Anwendung 122 übertragen. Die Datenträger-Verwaltungsanwendung 130 auf dem zweiten Servermodul 120 gibt über die Spurzugriffs-API 132 Spurzugriffs-Anforderungen an die Zugriffssteuerungsanwendung 135 aus. Die Zugriffssteuerungsanwendung 135 prüft, ob jede Spurzugriffs-Anforderung von der Datenträger-Verwaltungsanwendung 130 über die Berechtigung verfügt, auf die Daten an dem angegebenen Speicherplatz zuzugreifen. Die Zugriffssteuerungsanwendung 135 leitet die Spurzugriffs-Anforderung an das Kanalsubsystem-Zugriffsfunktionenmodul 145 weiter. Das Kanalsubsystem-Zugriffsfunktionenmodul 145 kommuniziert interaktiv über die CSS-E/A-API 155 mit dem Kanalsubsystem 160, um eine Datenspur aus dem Datensatz 115 in einen Speicherbereich zu lesen, der von der Datenträger-Verwaltungsanwendung 130 angegeben wird. Das Kanalsubsystem-Zugriffsfunktionenmodul 145 antwortet der Datenträger-Verwaltungsanwendung 130 über die Spurzugriffs-API 132, wenn die Spurzugriffs-Anforderung abgearbeitet ist. Die Datenträger-Verwaltungsanwendung 130 antwortet der relationalen Datenbankanwendung 125 auf dem zweiten Servermodul 120, wenn die von ihr angeforderten Daten geladen worden sind. Die Datenträger-Verwaltungsanwendung 130 führt nach dem Zugriff eine Bereinigungsoperation durch, indem sie über die Ladebeschleuniger-Anwendung 108, den Datenübertragungskanal 121 und die Ladebeschleuniger-Anwendung 122 mit der Datenträger-Verwaltungsanwendung 107 auf dem ersten Servermodul 105 kommuniziert. Während dieses Bereinigungsvorgangs kommuniziert die Ladebeschleuniger-Anwendung 108 über den Datenübertragungskanal 123 mit der Zugriffssteuerungsanwendung 135 auf dem zweiten Servermodul 120. Über die Ladebeschleuniger-Anwendung 108 entfernt die Zugriffssteuerungsanwendung 135 Berechtigungen für Daten der relationalen Datenbank, die sich in dem Datensatz 115 befinden. Das Zugriffssteuerungsmodul 135 antwortet dann der Ladebeschleuniger-Anwendung 108 über den Datenübertragungskanal 123. Die Datenträger-Verwaltungsanwendung 107 gibt dann den Serialisierungsmechanismus frei (d.h., sie entsperrt ihn) und führt andere Funktionen durch, um die Daten in dem Datensatz 115 für den Zugriff durch andere Benutzer freizugeben. Die Datenträger-Verwaltungsanwendung 107 auf dem ersten Servermodul 105 antwortet auf die Anforderung für eine Verbindungstrennung von der Datenträger-Verwaltungsanwendung 130 auf dem zweiten Servermodul 120 über die Ladebeschleuniger-Anwendung 108, den Datenübertragungskanal 121 und die Ladebeschleuniger-Anwendung 122. Die relationale Datenbankanwendung 125 auf dem zweiten Servermodul 120 koordiniert andere Komponenten auf dem zweiten Servermodul 120, um die abgerufenen Daten zu verarbeiten. Wenn der Ladevorgang und die Verarbeitung der Daten abgeschlossen sind, benachrichtigt die relationale Datenbankanwendung 125 auf dem zweiten Servermodul 120 dann die relationale Datenbankanwendung 106 auf dem ersten Servermodul 105.
  • Während der hier beschriebenen Verfahren zum Zugriff auf Daten werden E/A-Einheiten, auf die das erste Servermodul 105 und das zweite Servermodul 120 zugegriffen haben, während vielen der Operationen identifiziert, zu denen folgende gehören, ohne auf diese beschränkt zu sein: 1) wenn die Ladebeschleuniger-Anwendung 108 oder die relationale Datenbankanwendung 106 mit Komponenten auf dem zweiten Servermodul 120 (z.B. der relationalen Datenbankanwendung 125, der Datenträger-Verwaltungsanwendung 130 und dem Zugriffssteuerungsmodul 135) kommuniziert; 2) wenn die Datenträger-Verwaltungsanwendung 130 über die Spurzugriffs-API 132 Anforderungen stellt; 3) wenn das Zugriffssteuerungsmodul 135 auf Anforderung der Netzwerkanwendung 124 Berechtigungen prüft oder Zugriffsberechtigungen entfernt; und 4) wenn das Kanalsubsystem-Zugriffsfunktionenmodul 145 bestimmt, welcher Unterkanal implementiert werden soll, um von der Datenträger-Verwaltungsanwendung 130 angeforderte Spurzugriffsfunktionen auszuführen. In beispielhaften Ausführungsformen kann das System 100 eine Einheit entweder mittels eines absoluten Bezeichners der Einheit oder mittels einer Einheitenkennung identifizieren.
  • In beispielhaften Ausführungsformen stellt der absolute Bezeichner der Einheit eine Möglichkeit zur eindeutigen Identifizierung einer Einheit dar. Er wird von dem Betriebssystem auf Komponenten des ersten Servermoduls 105 bei der Kommunikation mit Komponenten auf dem zweiten Servermodul 120 verwendet. Der Bezeichner der Einheit kann beispielsweise 34 Bytes umfassen und enthält Felder, zu denen folgende gehören, ohne auf diese beschränkt zu sein: 1) einen Knotendeskriptor - 32 Bytes; 2) ein Abbild einer Steuereinheit - 1 Byte; und 3) eine Einheitenadresse - 1 Byte.
  • In beispielhaften Ausführungsformen identifiziert die Ladebeschleuniger-Anwendung 108 Einheiten auf dem zweiten Servermodul 120, indem ein absoluter Einheitenbezeichner bereitgestellt wird. Damit man ein kompaktes und eindeutiges Verfahren zum Verweis auf E/A-Einheiten in der Konfiguration hat, wird jeder Einheit in der E/A-Konfiguration auf dem zweiten Servermodul 120 von dem Einheiten-Konfigurationsmodul 140 eine „Einheitenkennung“ zugewiesen. Die Einheitenkennung ist beispielsweise eine nicht transparente 64-Bit-Zahl, die von dem Kanalsubsystem-Zugriffsfunktionenmodul 145 für das wirksame Auffinden eines Kanals in dem Kanalsubsystem 160 verwendet werden kann. Sie wird auch in Datensätzen einer Zugriffssteuerungsdatenbank verwendet. Die Einheitenkennung wird als Antwort auf Anfragen, welche eine Einheit in der Konfiguration enthält oder Zugriffsberechtigungen zur Verfügung stellt, an den Ladebeschleuniger 108 zurückübertragen. Die Einheitenkennung wird auch von der Datenträger-Verwaltungsanwendung 130 verwendet, wenn diese Spurzugriffs-Anforderungen stellt. Die Einheitenkennung kann so zugewiesen werden, dass das Zugriffssteuerungsmodul 135 und das Kanalsubsystem-Zugriffsfunktionenmodul 145 die Steuerblöcke schnell auffinden können, die sie benötigen, wenn sie Spurzugriffsoperationen für die Datenträger-Verwaltungsanwendung 130 durchführen.
  • In beispielhaften Ausführungsformen stellt das System 100 die Einheitenkennung, die einem absoluten Bezeichner der Einheit entspricht, in Situationen fest, zu denen folgende gehören, ohne auf diese beschränkt zu sein: 1) wenn das Zugriffssteuerungsmodul 135 eine Anforderung von dem Ladebeschleuniger-Modul 108 empfängt, die einen absoluten Bezeichner der Einheit enthält; und 2) wenn die Datenträger-Verwaltungsanwendung 130 die Einheitenkennung feststellen muss, die einem absoluten Bezeichner der Einheit entspricht. Zu diesem Zweck wird eine Übersetzungsfunktion bereitgestellt. Die Ladebeschleuniger-Anwendung 108 verwendet einen absoluten Einheitenbezeichner zur Kommunikation mit dem Einheiten-Konfigurationsmodul 140 und dem Zugriffssteuerungsmodul 135. Die Ladebeschleuniger-Anwendung 108 empfängt als Antwort auf solche Anforderungen eine Einheitenkennung. Zum Beispiel kann die Ladebeschleuniger-Anwendung 108 der Datenträger-Verwaltungsanwendung 130 die Einheitenkennung übergeben. Durch Übergabe der Einheitenkennung. Die Leistungsfähigkeit kann verbessert werden, da die Datenträger-Verwaltungsanwendung 130 nicht von der Übersetzungsfunktion Gebrauch machen muss, um die Einheitenkennung zu erhalten, bevor sie eine Spurzugriffsanforderung stellt. Überdies braucht die Datenträger-Verwaltungsanwendung den absoluten Bezeichner der Einheit auch nicht zu kennen. Ferner können die Datenträger-Verwaltungsanwendung 130 und die Ladebeschleuniger-Anwendungen 108, 122 Einheiten kennzeichnen, die sie benötigen. Wenn die Datenträger-Verwaltungsanwendung 130 eine „Verbindungs“-Anforderung an die Ladebeschleuniger-Anwendung 108 ausgibt, kann die Einheitenkennzeichnung auf diese Weise eine beliebige von ihnen gewählte Kennzeichnung sein. Die Ladebeschleuniger-Anwendung 108 wandelt den Bezeichner der Einheit in einen absoluten Bezeichner der Einheit um und sendet den absoluten Bezeichner der Einheit an das Zugriffssteuerungsmodul 135. Das Zugriffssteuerungsmodul 135 überträgt die Einheitenkennung dann zurück an die Ladebeschleuniger-Anwendung 108, welche sie dann in der Antwort auf die Verbindungsanforderung der Datenträger-Verwaltungsanwendung 130 zur Verfügung stellen kann. Die Datenträger-Verwaltungsanwendung 130 kann dann die von der Ladebeschleuniger-Anwendung 108 bereitgestellte Einheitenkennung in ihren Spurzugriffsanforderungen verwenden, ohne die Übersetzungsfunktion aufrufen zu müssen.
  • In beispielhaften Ausführungsformen konfiguriert das zweite Servermodul 120 Unterkanäle für das Kanalsubsystem 160, um E/A-Operationen an den Datensatz 115 auszugeben, in dem sich die Daten der relationalen Datenbankanwendung 106 befinden. In einem Beispiel wird eine Basis-E/A-Konfiguration über einen Eingabe-Ausgabe-Konfigurationsdatensatz (input-output configuration data set (IOCDS)) festgelegt. Sobald die Basiskonfiguration festgelegt wurde, kann sie mit dem Mechanismus für die Konfiguration von Einheiten erweitert werden. Der Mechanismus für die Konfiguration von Einheiten wird auch verwendet, um einen eindeutigen Bezeichner (d.h. eine Einheitenkennung) für jede Einheit festzulegen, die von Komponenten des zweiten Servermoduls 120 verwendet wird. Eine Einheitenkonfiguration hat mehrere Funktionen, einschließlich des Festlegens von eindeutigen Bezeichnern für jede E/A-Einheit; und 2) des Hinzufügens von E/A-Einheiten zu bestehenden E/A-Konfigurationen, ohne auf diese beschränkt zu sein. Wenn die Einheitenkonfiguration einen eindeutigen Bezeichner (d.h. eine Einheitenkennung) für jede E/A-Einheit in der Konfiguration festlegt, überträgt sie den eindeutigen Bezeichner auch zurück an die Ladebeschleuniger-Anwendung 108 zur Verwendung bei nachfolgenden Operationen in dem zweiten Servermodul 120. Dieser Bezeichner wird von der Datenträger-Verwaltungsanwendung 130 zur Angabe der Einheit verwendet, die bei einem Spurzugriff verwendet werden soll. Der Bezeichner kann auch von der Ladebeschleuniger-Anwendung 108 zum Einrichten von Zugriffssteuerungen verwendet werden. Wie vorstehend beschrieben wurde, fügt die Einheitenkonfiguration auch E/A-Einheiten zu einer bestehenden E/A-Konfiguration in dem Kanalsubsystem 160 und in dem Kanalsubsystem-Zugriffsfunktionenmodul 145 des zweiten Servermoduls 120 hinzu. Die Identität von Einheiten, die in die Konfiguration aufgenommen werden sollen, wird von dem Betriebssystem in dem ersten Servermodul 105 über das Verwaltungsnetzwerkmodul 124 an das Einheiten-Konfigurationsmodul 140 gesendet. Das Einheiten-Konfigurationsmodul 140 veranlasst, dass verschiedene E/A-Operationen durchgeführt werden, um in dem Datenübertragungskanal 110 vorgefundene E/A-Einheiten den von der Ladebeschleuniger-Anwendung 108 angegebenen Einheiten zuzuordnen. Die Konfiguration in dem zweiten Servermodul 120 muss gegebenenfalls erweitert werden, um neue Einheiten aufzunehmen, die dort noch nicht vertreten sind. Auch Steuerblöcke (UCBs), die von dem Kanalsubsystem-Zugriffsfunktionenmodul 145 verwendet werden, werden bei Bedarf als Teil dieses Prozesses hinzugefügt.
  • In beispielhaften Ausführungsformen greift der Prozess der Systemsteuereinheit 164 beim Start des Kanalsubsystems 160 auf eine IOCDS-Datei zu, welche die Basis-E/A-Konfiguration beschreibt. Die Systemsteuereinheit 164 verwendet die in der IOCDS enthaltenen Informationen, um Unterkanäle und andere Datenstrukturen in dem zweiten Servermodul 120 zu konfigurieren, bevor sie den Rest des Kanalsubsystems 160 startet. Die IOCDS kann eine vollständige Konfiguration beschreiben, die während der Lebensdauer des Kanalsubsystems 160 nicht geändert wird. Alternativ kann die IOCDS lediglich eine minimale oder „Shell“-Konfiguration beschreiben, die von dem Mechanismus für die Konfiguration von Einheiten erweitert wird. Es ist auch möglich, dass die IOCDS eine Teilkonfiguration beschreibt, die irgendwo zwischen einer vollständigen Konfiguration und einer minimalen Konfiguration liegt. In beispielhaften Ausführungsformen wird zunächst eine minimale IOCDS verwendet, so dass die E/A-Konfiguration nach Bedarf erweitert werden kann, um beliebige, während der Operation notwendige Ladeoperationen von Daten durchzuführen, wodurch die Notwendigkeit entfällt, dass der Kunde oder Personal vor Ort die erforderliche E/A-Konfiguration für alle Ladeoperationen von Daten, die durchgeführt werden, im Voraus kennen muss. Darüber hinaus macht die minimale IOCDS die Notwendigkeit überflüssig, dass eine komplizierte Beschreibung der erforderlichen E/A-Konfiguration in einer Textdatei vorgenommen und eine IOCDS aus der Textdatei erstellt werden muss.
  • In beispielhaften Ausführungsformen kann die E/A-Konfiguration sowohl explizit als auch implizit erweitert werden. Wenn eine explizite Konfiguration vorgenommen wird, sendet die Ladebeschleuniger-Anwendung 108 eine Anforderung an das Einheiten-Konfigurationsmodul 140 auf dem zweiten Servermodul 120, was bewirkt, dass das Einheiten-Konfigurationsmodul 140 sicherstellt, dass sich die angegebene Einheit in der E/A-Konfiguration befindet. Wenn sich die Einheit nicht in der E/A-Konfiguration befindet, gibt das Einheiten-Konfigurationsmodul 140 Befehle an das Kanalsubsystem 160, die Einheit hinzuzufügen, aus. Zwar kann die explizite Konfiguration jederzeit durchgeführt werden, doch kann die Ladebeschleuniger-Anwendung 108 alle Konfigurationsanforderungen ausgeben, bevor Ladeoperationen von Daten eingeleitet werden, wodurch sichergestellt wird, dass der Konfigurationsprozess keine anderen Aktivitäten auf dem zweiten Servermodul 120 verzögert. Eine explizite Konfiguration verringert auch den Zeitraum, der notwendig ist, um auf Zugriffssteuerungsanforderungen von der Ladebeschleuniger-Anwendung 108 zu antworten, und den Zeitraum, der notwendig ist, bis Einheiten für Spurzugriffsanforderungen von der Datenträger-Verwaltungsanwendung 130 zur Verfügung stehen. Bei Durchführung der impliziten Konfiguration sendet die Ladebeschleuniger-Anwendung 108 eine Anforderung an das Zugriffssteuerungsmodul 135. Wenn das Zugriffssteuerungsmodul 135 feststellt, dass die Einheit nicht in der E/A-Konfiguration auf dem zweiten Servermodul 120 vertreten ist, leitet das Zugriffssteuerungsmodul 135 eine Anforderung an das Einheiten-Konfigurationsmodul 140 für das Hinzufügen der Einheit ein. Sobald das Einheiten-Konfigurationsmodul 140 den Konfigurationsprozess abgeschlossen hat, kann das Zugriffssteuerungsmodul 135 die Anforderung von der Ladebeschleuniger-Anwendung 108 abarbeiten. Somit werden Einheiten schrittweise hinzugefügt, wie es für Ladeoperationen von Daten, die kurz vor ihrer Durchführung stehen, erforderlich ist.
  • Der Prozess der Konfiguration von Einheiten wird nun beschrieben. Der erste Schritt bei dem Prozess der Konfiguration von Einheiten besteht im Auffinden der Verbindungsadressen einer jeden Steuereinheit in dem Datenübertragungskanal 110, an den die Kanäle angeschlossen sind. Dieser erste Schritt wird beim Starten des Einheiten-Konfigurationsmoduls 140 durchgeführt. Das Einheiten-Konfigurationsmodul 140 gibt über das Kanalsubsystem-Zugriffsfunktionenmodul 145 und das Kanalsubsystem 160 mehrere Abfragen aus, um Informationen für den Datenübertragungskanal 110 aufzunehmen, welche einen Anschlusstyp und einen Anschlussbezeichner (d.h. eine Verbindungsadresse) eines Knotens in dem Datenübertragungskanal 110 einschließen, ohne auf diese beschränkt zu sein. Wenn alle Knoten unter Verwendung von abgefragt worden sind, besteht der nächste Schritt darin, die Knoten-Deskriptoren einer jeden Kanalsteuereinheit festzustellen. Dieser Schritt und der folgende Schritt müssen gegebenenfalls wiederholt werden, wenn eine Steuereinheit zum Datenübertragungskanal 110 hinzugefügt worden ist. Dieser Schritt wird durchgeführt, wenn die Ladebeschleuniger-Anwendung 108 anzeigt, dass sie eine Einheit auf einer Steuereinheit unter denjenigen aufnehmen möchte, die zuvor nicht aufgefunden worden sind. Sobald die Verbindungsadressen von allen FICON-Steuereinheiten aufgefunden wurden, speichert das Einheiten-Konfigurationsmodul 140 alle Knoten-Deskriptoren. Dieser Schritt folgt unmittelbar auf den Schritt des Auffindens der Verbindungsadresse und muss auf jedem Kanalpfad durchgeführt werden, der in dem Kanalsubsystem 160 vorhanden ist. An diesem Punkt gibt das Einheiten-Konfigurationsmodul 140 einen oder mehrere Befehle an jede physische Steuereinheit aus, um festzustellen, welche Abbilder von Steuereinheiten (d.h. LSSs) auf der Steuereinheit vorhanden sind, und speichert diese Informationen. Obgleich die Ladebeschleuniger-Anwendung 108 die Konfiguration eines Abbilds einer Steuereinheit, das es nicht gibt, nicht anfordern sollte, kann diese Information, wenn sie zur Verfügung steht, zum Zeitpunkt der Konfigurations-Anforderung geprüft werden. Das Einheiten-Konfigurationsmodul 140 kann auch einen oder mehrere Befehle an jedes Abbild einer Steuereinheit ausgeben, um festzustellen, welche Adressen von Einheiten auf dem Abbild der Steuereinheit vorhanden sind. Die Ladebeschleuniger-Anwendung 108 sollte die Konfiguration einer Einheit, die es nicht gibt, nicht anfordern, doch kann diese Information, wenn sie zur Verfügung steht, zum Zeitpunkt der Konfigurations-Anforderung geprüft werden.
  • Bei Verwendung der expliziten Konfiguration kommuniziert die Ladebeschleuniger-Anwendung 108 in beispielhaften Ausführungsformen über den Datenübertragungskanal 123 und das Verwaltungsnetzwerkmodul 124 mit dem Einheiten-Konfigurationsmodul 140, wenn die Ladebeschleuniger-Anwendung 108 Einheiten gegenüber anzeigen muss, dass sie dem zweiten Servermodul 120 den Zugriff gestatten möchte. Die Ladebeschleuniger-Anwendung 108 stellt zu diesem Zeitpunkt für jede Einheit die folgenden Informationen bereit: 1) Knoten-Deskriptor der physischen Steuereinheit; 2) Abbild der Steuereinheit (CUADD); und 3) Adresse der Einheit (UNITADD). Bei der expliziten Konfiguration teilt die Ladebeschleuniger-Anwendung 108 diese Informationen mit, bevor sie einer Einheit Berechtigungen zur Steuerung des Zugriffs erteilt. Durch die im Voraus erfolgende Mitteilung verbleibt ein geeigneter Zeitraum, um eine E/A-Einheit zu der Konfiguration hinzuzufügen - ein Vorgang, der bis zu seiner Fertigstellung viel Zeit in Anspruch nehmen kann. Bei Verwendung der impliziten Konfiguration sendet die Ladebeschleuniger-Anwendung 108 eine Anforderung an das Zugriffssteuerungsmodul 135. Wenn das Zugriffssteuerungsmodul 135 feststellt, dass eine Einheit in der Konfiguration nicht vertreten ist, kommuniziert es mit dem Einheiten-Konfigurationsmodul 140, um die Einheit zu der Konfiguration hinzufügen zu lassen. Das Einheiten-Konfigurationsmodul 140 antwortet auf den Befehl von der Ladebeschleuniger-Anwendung 108 (d.h. explizit) oder dem Zugriffssteuerungsmodul 135 (d.h. implizit) im Anschluss an eine Prüfung, die der Feststellung dient, ob ein entsprechender Knoten-Deskriptor für mindestens einen seiner Kanäle gefunden wird. Neben einem Statusfeld (oder -feldern) enthält die Antwort auch alle in der Anforderung bereitgestellten Informationen. Dieser Schritt kann Aufräumarbeiten/Korrelationsaktivitäten vereinfachen, welche die Ladebeschleuniger-Anwendung 108 durchführen muss, wenn sie die Antwort empfängt. Diese Antwort wird zurückgeschickt, bevor die Einheitenkonfiguration die Einheiten tatsächlich zu der E/A-Konfiguration hinzufügt, da es einige Zeit dauern kann, bis der Vorgang des Hinzufügens von Einheiten zu der E/A-Konfiguration abgeschlossen ist.
  • Im Falle einer expliziten Konfiguration enthält das Einheiten-Konfigurationsmodul 140 in der Antwort an die Ladebeschleuniger-Anwendung 108 auch eine Kennung für jede Einheit. Im Falle einer impliziten Konfiguration liefert das Einheiten-Konfigurationsmodul 140 die Kennung an das Zugriffssteuerungsmodul 135, das die Kennung in seiner Antwort an die Ladebeschleuniger-Anwendung 108 zurückschickt. Das erste Servermodul 105 kann diese Kennung verwenden, wenn es in zukünftigen Datenaustauschoperationen mit der relationalen Datenbankanwendung 125 und der Datenträger-Verwaltungsanwendung 130 in dem zweiten Servermodul 120 auf die Einheit verweist.
  • Bisweilen ist das zweite Servermodul 120 gegebenenfalls nicht in der Lage, einige oder alle der von der Ladebeschleuniger-Anwendung 108 angegebenen Einheiten zu konfigurieren. In diesem Fall gibt das Einheiten-Konfigurationsmodul 140 in seiner Antwort an, welche Einheiten nicht konfigurierbar waren. Wenn dies geschieht, findet die Ladebeschleuniger-Anwendung 108 eine andere Möglichkeit zur Durchführung der Ladeoperation (beispielsweise verwendet sie ein anderes Servermodul oder sie führt die Ladeoperation selbst aus und sendet die Informationen an einen koordinierenden Server).
  • Sobald das Einheiten-Konfigurationsmodul 140 festgestellt hat, dass eine Einheit zu der Konfiguration hinzugefügt werden soll, muss es den besten Pfad oder die besten Pfade zum Erreichen dieser Einheit ermitteln. Dies braucht es jedoch nur für Einheiten zu tun, die noch nicht konfiguriert sind. Das Einheiten-Konfigurationsmodul 140 findet zunächst Knoten, deren Knoten-Deskriptor mit dem von der Ladebeschleuniger-Anwendung 108 bereitgestellten Knoten-Deskriptor übereinstimmt. Wenn nur ein einziger Knoten vorhanden wäre, würde die Verbindungsadresse für diesen Knoten auf diesem Kanal ausgewählt werden. Wenn es jedoch mehr als eine Verbindungsadresse mit demselben Knoten-Deskriptor gibt, gestaltet sich das Auswählen des richtigen Knoten-Deskriptors schwieriger. Im Allgemeinen versucht das Einheiten-Konfigurationsmodul 140, Verbindungsadressen für jeden Kanal zum Erreichen derjenigen Steuereinheit auszuwählen, die das beste RAS- und Leistungsverhalten aufweisen.
  • Sobald optimale Pfade für eine Einheit, die noch nicht konfiguriert ist, ausgewählt wurden, veranlasst das Einheiten-Konfigurationsmodul 140 das Kanalsubsystem 160, Steuerblöcke in dem zweiten Servermodul 120 zu konfigurieren, welche die von der Ladebeschleuniger-Anwendung 108 gekennzeichneten, bisher nicht konfigurierten Einheiten unterstützen. Das Einheiten-Konfigurationsmodul 140 stellt die Anforderung, dass das Kanalsubsystem-Zugriffsfunktionenmodul 145 Steuer- und Konfigurationsbefehle an das Kanalsubsystem 160 ausgibt. Jedes Mal, wenn solche Befehle ausgegeben werden, können die beteiligten Kanäle vorübergehend stillgelegt werden, während verschiedene interne Tabellen neu aufgebaut werden. Während dies geschieht, findet eine Zeitlang kein Zugriff statt. Es ist folglich wünschenswert, dass solche Hinzufügeoperationen stattfinden, wenn das zweite Servermodul 120 lediglich eine geringe Aktivität aufweist. Nachdem die Einheiten zu der Konfiguration hinzugefügt worden sind, wird dem Kanalsubsystem-Zugriffsfunktionenmodul 145 mitgeteilt, dass es UCBs für die neu hinzugefügten Einheiten hinzufügen soll. Das Kanalsubsystem-Zugriffsfunktionenmodul 145 führt daraufhin mehrere E/A-Operationen an den neu hinzugefügten Einheiten durch, um sie einsatzbereit zu machen (z.B. Prüfungen, ob die Steuereinheit zurückgesetzt wurde), Pfadgruppen zu setzen und ihre Funktionen zu prüfen.
  • In beispielhaften Ausführungsformen kann das zweite Servermodul die neuesten Konfigurationsinformationen zwischenspeichern, um zu vermeiden, dass es jedes Mal, wenn das zweite Servermodul 120 gestartet wird, den ganzen Prozess für neue Einheiten durchlaufen muss. Diese zwischengespeicherten Informationen können dann beim nächstmaligen Start des zweiten Servermoduls 120 verwendet werden, wodurch möglicherweise der Zeitaufwand und die Unterbrechungsdauer vermieden werden, die zum Wiederherstellen der bisherigen Konfiguration notwendig wären. Eine Gültigkeitsprüfung muss stattfinden, wenn eine Konfiguration auf diese Weise wiederhergestellt wird. Diese würde durchgeführt werden, wenn die Ladebeschleuniger-Anwendung 108 die in die Konfiguration aufzunehmenden Einheiten angibt. In beispielhaften Ausführungsformen kann ein neuer Basis-IOCDS erzeugt werden, der die Konfiguration zum Zeitpunkt des Herunterfahrens wiedergibt, so dass sie beim nächstmaligen Start des Kanalsubsystems 160 verwendet werden kann.
  • In beispielhaften Ausführungsformen kann der Umfang der E/A-Konfiguration zunehmen, wenn die Ladebeschleuniger-Anwendung 108 Einheiten angibt, die für Operationen des zweiten Servermoduls 120 benötigt werden. Normalerweise summiert die E/A-Konfiguration lediglich Einheiten und Steuereinheiten auf. Solange die Grenzwerte des Kanalsubsystems 160 nicht überschritten werden, besteht keine Notwendigkeit, Einheiten zu entfernen.
  • Wenn die Grenzwerte des Kanalsubsystems 160 sehr wahrscheinlich erreicht werden, kann eine Anforderung „Einheit freigeben“ vorgesehen werden. Eine solche Anforderung würde das Einheiten-Konfigurationsmodul 140 dazu veranlassen, die Einheit aus der Konfiguration zu entfernen, wenn alle anderen Benutzer dieser Einheit die Einheit ebenfalls freigegeben haben. Um diese Entscheidung zu treffen, kann ein Referenzzählerstand festgehalten werden, welcher die Häufigkeit angibt, mit der eine Einheit von verschiedenen Ladebeschleuniger-Anwendungen wie zum Beispiel der Ladebeschleuniger-Anwendung 108 aufgenommen wurde. In diesem Beispiel würde der Unterkanal/UCB erst entfernt werden, wenn der Zählerstand auf null geht.
  • Wie hier beschrieben wird, ist das Zugriffssteuerungsmodul 135 die Komponente, die entscheidet, ob einer bestimmten Spurzugriffsanforderung stattgegeben wird, und es wird immer aufgerufen, wenn es sich bei einer von der API, beispielsweise der Zugriffssteuerungs-API 131 und der Spurzugriffs-API 132, kommenden Anforderung um eine Anforderung handelt, die eine Prüfung der Zugriffsberechtigung voraussetzt. Bevor die Datenträger-Verwaltungsanwendung 130 Spurzugriffe durchführen kann, kommuniziert die Ladebeschleuniger-Anwendung 108 in einem Beispiel mit dem Zugriffssteuerungsmodul 135, um Berechtigungen einzurichten. Die Ladebeschleuniger-Anwendung 108 nimmt Folgendes in solche Anforderungen auf: 1) einen Bezeichner (ID) der Ladebeschleuniger-Anwendung; 2) ein Berechtigungstoken; 3) einen absoluten Bezeichner einer Einheit; 4) Extent-Bereiche und 5) die Art der Berechtigung (z.B. Lesen, Schreiben, Ausführen).
  • Die ID der Ladebeschleuniger-Anwendung ist eine global eindeutige ID, die einer Instanz der Ladebeschleuniger-Anwendung 108 entspricht. Die ID der Ladebeschleuniger-Anwendung gibt an, welche Instanz der Ladebeschleuniger-Anwendung 108 die Anforderung für das Einrichten von Zugriffsberechtigungen stellt. Die ID der Ladebeschleuniger-Anwendung ist gleichbedeutend mit einer „Eigentümer-ID“ für die Zugriffsberechtigungen. Die ID der Ladebeschleuniger-Anwendung wird mit einer ähnlichen ID einer Ladebeschleuniger-Anwendung verglichen, die von der Datenträger-Verwaltungsanwendung 130 geliefert wird, wenn Anforderungen über die Spurzugriffs-API 132 gestellt werden. Das Berechtigungstoken ist innerhalb des Geltungsbereichs einer bestimmten ID einer Ladebeschleuniger-Anwendung eindeutig. Derselbe Wert kann jedoch von zwei oder mehr IDs einer Ladebeschleuniger-Anwendung verwendet werden. Folglich geht er mit einer ID einer Ladebeschleuniger-Anwendung einher. Das Berechtigungstoken wird mit einem ähnlichen Token verglichen, das von der Datenträger-Verwaltungsanwendung 130 geliefert wird, wenn Anforderungen über die Spurzugriffs-API 132 gestellt werden. Die Zugriffssteuerungs-Datenbank (siehe nachstehend) enthält die Einheitenkennung. Die Übersetzungsfunktion wird von dem Zugriffssteuerungsmodul 135 verwendet, um den absoluten Bezeichner einer Einheit in jeder Anforderung in eine Einheitenkennung umzuwandeln. Dadurch kann die Einheitenkennung in die Zugriffssteuerungs-Datenbank eingegeben werden, um die Verarbeitung durch das Zugriffssteuerungsmodul 135 zu vereinfachen. Das Zugriffssteuerungsmodul 135 antwortet auf jede Anforderung, indem es den Inhalt der Anforderung zusammen mit der Statusangabe und der Kennung für jede Einheit zurückliefert. Wenn beim Einrichten von Berechtigungen für eine Einheit/einen Extent ein Fehler auftritt, findet die Ladebeschleuniger-Anwendung 108 eine andere Möglichkeit zur Durchführung der Ladeoperation (beispielsweise verwendet sie ein anderes Servermodul oder sie führt die Ladeoperation selbst aus und sendet die Informationen an einen koordinierenden Server). Obgleich das zweite Servermodul 120 derzeit nur eine Leseberechtigung bereitstellen muss, sind für andere mögliche Anwendungen des Zugriffssteuerungsmoduls 135 Berechtigungen zum Schreiben und Ausführen enthalten. Das Zugriffssteuerungsmodul 135 kann feststellen, dass die in einer Anforderung angegebene Einheit momentan nicht in der E/A-Konfiguration vertreten ist. Dies ist ein Fall einer impliziten Konfiguration. Das Zugriffssteuerungsmodul 135 kommuniziert mit dem Einheiten-Konfigurationsmodul 140, um die Einheit zu der E/A-Konfiguration auf dem zweiten Servermodul 120 hinzufügen zu lassen. Andere Operationen, die auf dem zweiten Servermodul 120 in Ausführung befindlich sind und den Zugriff auf einen Kanal benötigen, können verzögert werden, während die Änderung an der Konfiguration durchgeführt wird. Eine alternative Ausführungsart besteht darin, die Anforderung des Zugriffssteuerungsmoduls 135 zurückzuweisen, wenn eine Einheit nicht konfiguriert ist, und durch die Ladebeschleuniger-Anwendung 198 eine Anforderung an das Einheiten-Konfigurationsmodul 140 ausgeben zu lassen, gefolgt von einer wiederholten Ausgabe der Anforderung des Zugriffssteuerungsmoduls 135.
  • In beispielhaften Ausführungsformen überwacht das Zugriffssteuerungsmodul 135 Informationen über Berechtigungen in dem logischen Äquivalent einer kleinen Datenbank. Jeder Datensatz einer Datenbank enthält die folgenden Felder, ohne auf diese beschränkt zu sein: 1) Einheitenkennung; 2) Berechtigungstoken; 3) ID der Ladebeschleuniger-Anwendung; 4) Extent-Bereiche; und 5) Arten der Berechtigung. In einem Beispiel stellt die Datenträger-Verwaltungsanwendung 130 Spurzugriffsanforderungen über die Spurzugriffs-API 132. Jede Anforderung enthält unter anderem die folgenden Informationen: 1) ID der Ladebeschleuniger-Anwendung; 2) Berechtigungstoken; 3) Einheitenkennung; 4) Extent (z.B. Zylinder-Nummer und Kopf-Nummer); und 5) Art des Zugriffs (d.h. Lesen oder Schreiben).
  • Beim Eintreffen einer jeden Anforderung von der Datenträger-Verwaltungsanwendung 130 über die Spurzugriffs-API 132 durchsucht die Zugriffssteuerungsanwendung 135 ihre Datenbank nach Datensätzen für die angeforderte Einheit, der ID der Ladebeschleuniger-Anwendung und dem Berechtigungstoken. Wenn ein solcher Datensatz vorhanden ist, für den die angeforderte Spur innerhalb des Extent-Bereichs liegt und die Art der Berechtigungen den angeforderten Zugriff erlauben, wird der Zugriff genehmigt. Andernfalls wird er nicht genehmigt und über die Spurzugriffs-API 132 wird eine Antwort an die Datenträger-Verwaltungsanwendung 130 zurückgeschickt. Wenn der Zugriff genehmigt wird, reicht die Zugriffssteuerungsanwendung 135 die Anforderung an das Kanalsubsystem-Zugriffsfunktionenmodul 145 weiter.
  • In beispielhaften Ausführungsformen gibt es zwei Pfade, über die Zugriffsberechtigungen entfernt werden können: 1) über das Verwaltungsnetzwerkmodul 124 und 2) über die Zugriffssteuerungs-API 131. Normale Operationen verwenden das Verwaltungsnetzwerkmodul 124. Die Entfernungsoperation bewirkt, dass Datensätze aus der Zugriffssteuerungsdatenbank entfernt werden. Tabelle 1 gibt den unterschiedlichen Umfang der Entfernungsoperationen an, die durchgeführt werden können. Bei jedem Umfang einer Entfernungsoperation (d.h. Spalte in der Tabelle) müssen alle angegebenen Punkte übereinstimmen, damit ein Datensatz entfernt werden kann. Tabelle 1
    Umfang: 1 2 3 4
    ID der Ladebeschleuniger-Anwendung X X X X
    Berechtigungstoken X X X
    Absoluter Bezeichner der Einheit X X
    Extent-Bereich X
  • Das Zugriffssteuerungsmodul 135 antwortet auf eine Anforderung zum Entfernen, indem es den Inhalt der Anforderung zusammen mit einem Status zurückschickt, der den Erfolg oder das Scheitern der Entfernungsoperation anzeigt. Die Zugriffssteuerungs-API 131 ist für bestimmte Wiederherstellungsszenarien vorgesehen. Der Umfang Nr. 1 aus der Tabelle 1 (d.h. anhand der ID der Ladebeschleuniger-Anwendung) kann über die Zugriffssteuerungs-API 131 durchgeführt werden. Dies ist gleichbedeutend mit „alles anhand Eigentümer bereinigen“ („purge all by owner“). Anforderungen für das Entfernen von Zugriffsberechtigungen, die derzeit nicht vorhanden sind, werden mit einem speziellen Status-Code gemeldet.
  • BEISPIELE
  • Die vorstehend beschriebenen Systeme und Verfahren werden mit Bezug auf das zweite Servermodul beschrieben, bei dem es sich um einen Ladebeschleuniger handelt, der auf einem x86-Blade in einem BladeCenter® von IBM® ausgeführt wird. Das verwendete Betriebssystem ist die SUSE-Distribution von x86-Linux®, und in dem Ladebeschleuniger gibt es keinen Hypervisor. Viele der vorstehend beschriebenen Konzepte können jedoch in anderen Umgebungen mit und ohne Hypervisors verwendet werden. Der Ladebeschleuniger kann zum Beispiel in einer zA/M®-Partition realisiert werden, die Linux®-Gäste auf einem Großrechner mit der z/Architecture® von IBM® ausführt. In diesem Fall ist der Ladebeschleuniger über ein Hochgeschwindigkeits-Datennetzwerk mit den koordinierenden Blades im Smart Analytics Optimizer verbunden. Ein Gast dient als „System“-Gast, der Linux® ausführt und einem anderen Gast die Zugriffssteuerung (Access Control) und andere Dienste bereitstellt. Dieser andere Gast verwendet ebenfalls Linux®, und darauf werden Accelerator zAAM, DB2 Lite und Media Manager Lite ausgeführt. Der Ladebeschleuniger kann mit Hilfe von FICON-Kanälen auf dem Großrechner auf die DB2-Daten zugreifen und diese dann über das Netzwerk an den Smart Analytics Optimizer übertragen. Dadurch werden die Kosten für die Durchführung der Ladeoperation auf dem z/OS® verringert.
  • Manche der Funktionen der Kanalsubsystem-Zugriffsfunktionen (Channel Subsystem Access Functions) werden bei dem System-Gast nicht benötigt, da sie von dem zugrunde liegenden Linux®-Betriebssystem bereitgestellt werden. Die Konfiguration von Einheiten (Device Configuration) müsste in dieser Umgebung in anderer Weise erfolgen, da Linux® derzeit nicht über die Fähigkeit verfügt, einige der erforderlichen Befehle an das Kanalsubsystem auszugeben.
  • In einem anderen Beispiel kann der Ladebeschleuniger in einer mit einem Hypervisor ausgestatteten Umgebung realisiert werden. In diesem Fall würden die Komponenten unterhalb der „neuen“ API in einem Hypervisor ausgeführt werden. Zu diesen gehören die Einheitenkonfiguration (Device Configuration), die Zugriffssteuerung (Access Control) und die Kanalsubsystem-Zugriffsfunktionen (Channel Subsystem Access Functions). Die Komponenten oberhalb der „neuen“ API würden in einem virtuellen Gast ausgeführt werden, der auf dem Hypervisor aufsetzt. Die neuen APIs wären gleich, würden jedoch so realisiert werden, dass sie mit der Access Control und den Channel Subsystem Access Functions über paravirtualisierte Einheitentreiber kommunizieren würden. Folglich müsste an den Komponenten, welche die neuen APIs aufrufen, keine Änderung vorgenommen werden. Ein Vorteil der Verwendung einer mit einem Hypervisor ausgestatteten Umgebung besteht darin, Sicherheit für die Zugriffssteuerung (Access Control) zu bieten. Die Firmware, die auf dem Hypervisor ausgeführt wird, wird von dem Anbieter entwickelt, geprüft, überwacht, vertrieben und installiert. Ein weiterer Vorteil besteht darin, dass weniger sichere Software (d.h., die nicht so überwacht wird wie Firmware) in dem virtuellen Gast ausgeführt werden kann. Diese Software kann direkt auf Daten auf einer an FICON angeschlossenen ECKD-DASD zugreifen. Die Zugriffssteuerung (Access Control) gewährleistet, dass die Software, die in den virtuellen Gästen ausgeführt wird, nur auf ganz bestimmte Einheiten und Extents, für die eine bestimmte Komponente auf zOS® (z.B. zAAM) eine Zugriffsberechtigung erteilt, zugreifen kann.
  • Bei der Software, die in einem virtuellen Gast ausgeführt wird, könnte es sich um Accelerator zAAM, Media Manager Lite und DB2 Lite handeln. In diesem Fall würden sie für andere Anwendungen als den Smart Analytics Optimizer Load Accelerator verwendet werden. Alternativ könnte es Software sein, die nicht von dem Anbieter entwickelt oder überwacht wird. Dies eröffnet die Möglichkeit für eine Palette an neuen Anwendungen, die auf einem Blade ausgeführt werden und auf Daten auf einer an FICON angeschlossen ECKD-DASD zugreifen könnten, wenn z/OS® ihnen ordnungsgemäße Berechtigungen erteilt.
  • Bei dem ersten Servermodul 105 und dem zweiten Servermodul 120 kann es sich um jedes beliebige geeignete Datenverarbeitungssystem handeln, wie es nun beschrieben wird. 3 zeigt eine beispielhafte Ausführungsform eines Systems 300, das so realisiert werden kann, dass es unter Systemen, die zum Zugriff auf die Daten berechtigt sind, und Systemen, die zum Zugriff auf die Daten nicht berechtigt sind, in einer Umgebung mit mehreren Großrechnern Zugriff auf Daten gewährt. Die hier beschriebenen Verfahren können in Software (z.B. Firmware), Hardware oder einer Kombination daraus realisiert werden. In beispielhaften Ausführungsformen werden die hier beschriebenen Verfahren in Software, als ausführbares Programm, realisiert und von einem digitalen Rechner für spezielle oder für allgemeine Anwendungen, wie zum Beispiel einem Personal Computer, einem Arbeitsplatzrechner, einem Minicomputer oder einem Großrechner, ausgeführt. Das System 300 enthält folglich den Rechner für allgemeine Anwendungen 301.
  • In beispielhaften Ausführungsformen enthält der Rechner 301 in Bezug auf die Hardware-Architektur, die in 3 gezeigt ist, einen Prozessor 305, einen Arbeitsspeicher 310, der mit einer Arbeitsspeicher-Steuereinheit 315 verbunden ist, und eine oder mehrere Eingabe- und/oder Ausgabe-(E/A-)Einheiten 340, 345 (oder Peripheriegeräte), die über eine lokale Eingabe-/Ausgabe-Steuereinheit 335 kommunikativ verbunden sind. Bei der Eingabe-/Ausgabe-Steuereinheit 335 kann es sich um einen oder mehrere Busse oder andere drahtgebundene oder drahtlose Verbindungen, die in der Technik bekannt sind, handeln, ohne auf diese beschränkt zu sein. Die Eingabe-/Ausgabe-Steuereinheit 335 kann über zusätzliche Elemente verfügen, die aus Gründen der Einfachheit weggelassen wurden, wie zum Beispiel Steuereinheiten, Pufferspeicher (Cachespeicher), Treiber, Verstärker und Empfänger, um Datenübertragungen zu ermöglichen. Darüber hinaus kann die lokale Schnittstelle Adress-, Steuer- und/oder Datenverbindungen enthalten, um entsprechende Datenübertragungen zwischen den vorstehend erwähnten Komponenten zu ermöglichen.
  • Der Prozessor 305 ist eine Hardware-Einheit zur Ausführung von Software, insbesondere der im Arbeitsspeicher 310 gespeicherten Software. Der Prozessor 305 kann ein individuell ausgelegter oder handelsüblicher Prozessor, eine Zentraleinheit (CPU), ein zusätzlicher Prozessor unter mehreren Prozessoren, die zu dem Rechner 301 gehören, ein halbleiterbasierter Mikroprozessor (in Form eines Microchips oder eines Chipsatzes), ein Makroprozessor oder allgemein jede beliebige Einheit zur Ausführung von Software-Befehlen sein.
  • Der Arbeitsspeicher 310 kann ein beliebiges oder eine Kombination von flüchtigen Speicherelementen (z.B. einen Direktzugriffspeicher (RAM, wie zum Beispiel ein DRAM, SRAM, SDRAM usw.)) und von nicht flüchtigen Speicherelementen (z.B. einen ROM, einen löschbaren, programmierbaren Nur-Lese-Speicher (EPROM), einen elektronisch löschbaren, programmierbaren Nur-Lese-Speicher (EEPROM), einen programmierbaren Nur-Lese-Speicher (PROM), ein Band, einen Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine Platte, eine Diskette, eine Bandkassette, eine Kassette oder dergleichen usw.) enthalten. Überdies kann der Arbeitsspeicher 310 elektronische, magnetische, optische und/oder andere Arten von Speichermedien enthalten. Es sei angemerkt, dass der Arbeitsspeicher 310 eine verteilte Architektur aufweisen kann, bei der verschiedene Komponenten voneinander entfernt angeordnet sind, der Prozessor 305 jedoch auf sie zugreifen kann.
  • Die Software im Arbeitsspeicher 310 kann ein oder mehrere gesonderte Programme beinhalten, von denen jedes eine geordnete Liste von ausführbaren Befehlen zur Ausführung von logischen Funktionen aufweist. In dem Beispiel von 3 enthält die Software im Arbeitsspeicher 310 die Verfahren zum Zugriff auf Daten, die hier gemäß beispielhaften Ausführungsformen beschrieben wurden, und ein geeignetes Betriebssystem (operating system (OS)) 311. Das OS 311 steuert im Wesentlichen die Ausführung von anderen Rechnerprogrammen wie zum Beispiel den Systemen und Verfahren zum Zugriff auf Daten, die hier beschrieben wurden, und stellt Dienste zur Terminierung, Eingabe-Ausgabe-Steuerung, Datei- und Datenverwaltung, Hauptspeicherverwaltung und Datenübertragungssteuerung sowie damit verbundene Dienste bereit.
  • Die hier beschriebenen Verfahren zum Zugriff auf Daten können in Form eines Quellprogramms, eines ausführbaren Programms (Objekt-Code), eines Skripts oder einer beliebigen anderen Entität, die einen Satz von auszuführenden Befehlen aufweist, vorliegen. Wenn es sich um ein Quellprogramm handelt, muss das Programm mittels eines Compilers, Assemblers, Interpreters oder dergleichen, die im Arbeitsspeicher 310 enthalten oder auch nicht enthalten sein können, übersetzt werden, damit es in Verbindung mit dem OS 311 ordnungsgemäß arbeitet.
  • Außerdem können die Verfahren zum Zugriff auf Daten in einer objektorientierten Programmiersprache, die Klassen von Daten und Methoden hat, oder in einer Prozedur-Programmiersprache, die über Routinen, Unterroutinen und/oder Funktionen verfügt, geschrieben sein.
  • In beispielhaften Ausführungsformen können eine herkömmliche Tastatur 350 und eine Maus 355 mit der Eingabe-/Ausgabe-Steuereinheit 335 verbunden sein. Andere Ausgabeeinheiten wie zum Beispiel die E/A-Einheiten 340, 345 können Eingabeeinheiten beinhalten, zum Beispiel einen Drucker, einen Scanner, ein Mikrofon und dergleichen, ohne auf diese beschränkt zu sein. Schließlich können die E/A-Einheiten 340, 345 darüber hinaus Einheiten beinhalten, die sowohl Eingaben als auch Ausgaben übertragen, zum Beispiel eine Netzwerkschnittstellenkarte (network interface card (NIC)) oder einen Modulator/Demodulator (für den Zugriff auf andere Dateien, Einheiten, Systeme oder ein Netzwerk), einen Hochfrequenz-(RF-) oder einen anderen Sendeempfänger, eine Telefonschnittstelle, eine Brücke, einen Router und dergleichen. Das System 300 kann überdies eine Anzeige-Steuereinheit 325 enthalten, die mit einer Anzeige 330 verbunden ist. In beispielhaften Ausführungsformen kann das System 300 darüber hinaus eine Netzwerkschnittstelle 360 zur Anbindung an ein Netzwerk 365 enthalten. Das Netzwerk 365 kann ein IPbasiertes Netzwerk sein, um Daten zwischen dem Rechner 301 und einem beliebigen externen Server, Client und dergleichen über eine Breitbandverbindung zu übertragen. Das Netzwerk 365 sendet und empfängt Daten zwischen dem Rechner 301 und externen Systemen. In beispielhaften Ausführungsformen kann das Netzwerk 365 ein verwaltetes IP-Netzwerk sein, das von einem Diensteanbieter verwaltet wird. Das Netzwerk 365 kann drahtlos realisiert werden, z.B. unter Verwendung von Drahtlosprotokollen und -technologien, wie zum Beispiel WiFi, WiMax usw. Das Netzwerk 365 kann auch ein paketvermitteltes Netzwerk wie zum Beispiel ein lokales Netzwerk, ein Weitverkehrsnetz, ein Stadtbereichsnetz, ein Internet-Netzwerk oder eine andere ähnliche Art von Netzwerkumgebung sein. Das Netzwerk 365 kann ein festes drahtloses Netzwerk, ein drahtloses lokales Netzwerk (LAN), ein drahtloses Weitverkehrsnetz (WAN), ein Personal Area Network (PAN), ein virtuelles privates Netzwerk (VPN), ein Intranet oder ein anderes geeignetes Netzwerksystem sein und enthält Einrichtungen für den Empfang und das Senden von Signalen.
  • Wenn der Rechner 301 ein PC, ein Arbeitsplatzrechner, ein intelligentes Gerät oder dergleichen ist, kann die Software im Arbeitsspeicher 310 des Weiteren ein grundlegendes Eingabe-/Ausgabesystem (basic input output system (BIOS)) enthalten (das der Einfachheit halber weggelassen wurde). Das BIOS ist ein Satz von wichtigen Software-Routinen, die die Hardware beim Systemstart initialisieren und prüfen, das Betriebssystem (OS) 311 starten und die Übertragung von Daten zwischen den Hardware-Einheiten unterstützen. Das BIOS wird im ROM gespeichert, so dass das BIOS ausgeführt werden kann, wenn der Rechner 301 aktiviert wird.
  • Wenn der Rechner 301 in Betrieb ist, wird der Prozessor 305 so konfiguriert, dass er Software ausführt, die im Arbeitsspeicher 310 gespeichert ist, Daten in und aus dem Arbeitsspeicher 310 überträgt und allgemein Operationen des Rechners 301 gemäß der Software steuert. Die hier beschriebenen Verfahren zum Zugriff auf Daten und das OS 311 - ganz oder teilweise, üblicherweise aber das Letztere - werden vom Prozessor 305 gelesen, möglicherweise im Pufferspeicher des Prozessors 305 abgelegt und dann ausgeführt.
  • Wenn die hier beschriebenen Systeme und Verfahren in Software ausgeführt sind, wie in 3 gezeigt ist, können die Verfahren auf jedem beliebigen rechnerlesbaren Datenträger, wie zum Beispiel dem Speicher 320, zur Verwendung durch oder in Verbindung mit einem beliebigen auf einen Rechner bezogenen System oder Verfahren gespeichert werden.
  • Für den Fachmann versteht es sich, dass Erscheinungsformen der vorliegenden Erfindung als ein System, ein Verfahren oder ein Rechnerprogrammprodukt realisiert sein können. Folglich können Erscheinungsformen der vorliegenden Erfindung die Form einer ganz in Hardware realisierten Ausführung, einer ganz in Software realisierten Ausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführung annehmen, die Software- und Hardware-Erscheinungsformen kombiniert, die hier alle allgemein als eine „Schaltung“, ein „Modul“ oder ein „System“ bezeichnet werden können. Überdies können Erscheinungsformen der vorliegenden Erfindung die Form eines Rechnerprogrammprodukts annehmen, das sich auf einem oder mehreren rechnerlesbaren Datenträger(n) befindet, auf dem beziehungsweise denen sich rechnerlesbarer Programmcode befindet.
  • Jede beliebige Kombination aus einem oder mehreren rechnerlesbaren Datenträgern kann verwendet werden. Der rechnerlesbare Datenträger kann ein rechnerlesbarer Signaldatenträger oder ein rechnerlesbares Speichermedium sein. Ein rechnerlesbares Speichermedium kann zum Beispiel, ohne auf diese beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung, -einheit oder eine beliebige geeignete Kombination des Vorstehenden sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für das rechnerlesbare Speichermedium würden folgende gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Rechner-Diskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige geeignete Kombination des Vorstehenden. Im Rahmen dieses Schriftstücks kann ein rechnerlesbares Speichermedium jedes physisch greifbare Medium sein, das ein Programm zur Verwendung durch ein Befehlsausführungssystem, eine Befehlsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit einem Befehlsausführungssystem, einer Befehlsausführungsvorrichtung oder -einheit enthalten oder speichern kann.
  • Ein rechnerlesbarer Signaldatenträger kann ein übertragenes Datensignal mit einem darin verkörperten rechnerlesbaren Programmcode, beispielsweise in einem Basisband oder als Teil einer Trägerwelle, enthalten. Solch ein übertragenes Signal kann eine beliebige einer Vielzahl von Formen einschließlich elektromagnetischer, optischer Formen oder jede beliebige geeignete Kombination dieser Formen, ohne auf diese beschränkt zu sein, annehmen. Bei einem rechnerlesbaren Signaldatenträger kann es sich um jeden beliebigen rechnerlesbaren Datenträger handeln, der kein rechnerlesbares Speichermedium ist und der ein Programm zur Verwendung durch oder zur Verwendung in Verbindung mit einem Befehlsausführungssystem, einer Befehlsausführungsvorrichtung oder -einheit übertragen, weiterleiten oder transportieren kann.
  • Auf einem rechnerlesbaren Datenträger enthaltener Programmcode kann mittels eines geeigneten Mediums einschließlich eines drahtlosen Mediums, eines drahtgebundenen Mediums, eines Lichtwellenleiterkabels, mittels Hochfrequenz (HF) usw., ohne auf diese beschränkt zu sein, oder mittels jeder beliebigen geeigneten Kombination des Vorstehenden übertragen werden.
  • Rechner-Programmcode zur Durchführung von Operationen für Erscheinungsformen der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java, Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache „C“ oder in ähnlichen Programmiersprachen geschrieben sein. Die Ausführung des Programmcodes kann vollständig auf dem Rechner des Benutzers, teilweise auf dem Rechner des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Rechner des Benutzers und teilweise auf einem fernen Rechner oder vollständig auf dem fernen Rechner oder Server erfolgen. Im letzteren Szenario kann der ferne Rechner mit dem Rechner des Benutzers über jede beliebige Art eines Netzwerks einschließlich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (WAN) verbunden werden oder die Verbindung kann zu einem externen Rechner (zum Beispiel über das Internet mittels eines Internet-Diensteanbieters) hergestellt werden.
  • Erscheinungsformen der vorliegenden Erfindung werden hier mit Bezug auf Darstellungen in Flussdiagrammen und/oder Blockschaltbilder beziehungsweise Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Rechnerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen in den Flussdiagrammen und/oder der Blockschaltbilder sowie Kombinationen aus Blöcken in den Darstellungen der Flussdiagramme und/oder den Blockschaltbildern mittels Rechnerprogrammbefehlen realisiert werden können. Diese Rechnerprogrammbefehle können einem Prozessor eines Universalrechners, eines Rechners für spezielle Anwendungen oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Befehle, die über den Prozessor des Rechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der Funktionen/Vorgänge erzeugen, die in dem Flussdiagramm und/oder dem Block oder den Blöcken der Blockschaltbilder angegeben sind.
  • Diese Rechnerprogrammbefehle können auch auf einem rechnerlesbaren Datenträger gespeichert sein, der einen Rechner, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die auf dem rechnerlesbaren Datenträger gespeicherten Befehle einen Herstellungsgegenstand erzeugen, der Befehle enthält, die die Funktion/den Vorgang ausführen, welche beziehungsweise welcher in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben ist.
  • Die Rechnerprogrammbefehle können auch auf einen Rechner, eine andere programmierbare Datenverarbeitungsvorrichtung oder auf andere Einheiten geladen werden, um die Durchführung einer Reihe von Betriebsschritten auf dem Rechner, einer anderen programmierbaren Vorrichtung oder auf anderen Einheiten zu bewirken, um einen von einem Rechner ausgeführten Prozess so zu erzeugen, dass die Befehle, die auf dem Rechner oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ermöglichen, die in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben sind.
  • Das Flussdiagramm und die Blockschaltbilder in den Figuren zeigen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Rechnerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockschaltbildern ein Modul, ein Segment oder einen Teil von Code darstellen, das beziehungsweise der einen oder mehrere ausführbare Befehle zur Ausführung der angegebenen logischen Funktion(en) aufweist. Es sei auch angemerkt, dass die in dem Block angegebenen Funktionen in manchen alternativen Ausführungsarten nicht in der in den Figuren angegebenen Reihenfolge auftreten können. In Abhängigkeit von der mit ihnen verbundenen Funktionalität können beispielsweise zwei Blöcke, die als aufeinanderfolgende Blöcke dargestellt sind, tatsächlich weitgehend gleichzeitig ausgeführt werden oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Man wird auch feststellen, dass jeder Block der Blockschaltbilder und/oder der Darstellung in dem Flussdiagramm sowie Kombinationen aus Blöcken in den Blockschaltbildern und/oder der Darstellung in dem Flussdiagramm von Systemen, die auf Hardware für spezielle Anwendungen beruhen und die angegebenen Funktionen oder Vorgänge durchführen, oder von Kombinationen aus Hardware für spezielle Anwendungen und Rechnerbefehlen ausgeführt werden können.
  • In beispielhaften Ausführungsformen, in denen die Verfahren zum Zugriff auf Daten in Hardware ausgeführt sind, können die hier beschriebenen Datenzugriffsverfahren mit beliebigen oder einer Kombination der folgenden Technologien ausgeführt werden, die in der Technik jeweils bekannt sind: (einer) diskreten Logikschaltung(en) mit Logikgattern, um Logikfunktionen an Datensignalen auszuführen, einer anwendungsspezifischen integrierten Schaltung (application specific integrated circuit (ASIC)) mit entsprechenden kombinatorischen Logikgattern, (einem) programmierbaren Universalschaltkreis(en) (programmable gate array(s) (PGA)), einem kundenprogrammierbaren Universalschaltkreis (field programmable gate array (FPGA)) usw.
  • Zu den technischen Wirkungen gehört die Serialisierung des Zugriffs auf Datensätze in Systemen, die den Zugriff auf Daten von Systemen unterstützen, welche keinen Datenzugriff unterstützen.

Claims (15)

  1. Verfahren (200) zum Zugriff auf Daten eines heterogenen Betriebssystems, aufweisend: Empfangen (210) in einem ersten Datenverarbeitungssystem (105), das ein erstes Betriebssystem hat, einer Anforderung von einem zweiten Datenverarbeitungssystem (120) für den Zugriff auf einen Datensatz (115), wobei das zweite Datenverarbeitungssystem ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet; Konfigurieren von Unterkanälen für ein Kanalsubsystem (160) des zweiten Datenverarbeitungssystems durch das zweite Datenverarbeitungssystem, um E/A-Operationen an den Datensatz auszugeben, wobei eine E/A-Konfiguration über einen Eingabe-Ausgabe-Konfigurationsdatensatz durch einen Mechanismus für die Konfiguration von Einheiten festgelegt wird, wobei die E/A-Konfiguration einen eindeutigen Bezeichner für jede E/A-Einheit in der E/A-Konfiguration aufweist; Übertragen der eindeutigen Bezeichner durch den Mechanismus für die Konfiguration von Einheiten an eine Ladebeschleuniger-Anwendung (108) des ersten Datenverarbeitungssystems; Hinzufügen von weiteren E/A-Einheiten und deren eindeutigen Bezeichnern zu der E/A-Konfiguration durch den Mechanismus für die Konfiguration von Einheiten, wobei Identitäten der weiteren E/A-Einheiten von dem ersten Betriebssystem empfangen wurden; Vorbereiten des Datensatzes durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem; Feststellen von Merkmalen des Datensatzes durch das erste Datenverarbeitungssystem; Weiterleiten der Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem; und Setzen von Berechtigungen durch das erste Datenverarbeitungssystem für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem, wobei die Ladebeschleuniger-Anwendung die eindeutigen Bezeichner zum Einrichten von Zugriffssteuerungen für die Berechtigungen verwendet.
  2. Verfahren nach Anspruch 1, wobei das zweite Datenverarbeitungssystem nicht befugt ist, auf den Datensatz zuzugreifen, bevor es nicht die Anforderung an das erste Datenverarbeitungssystem, auf den Datensatz zuzugreifen, ausgibt.
  3. Verfahren nach Anspruch 2, wobei das erste Datenverarbeitungssystem befugt ist, auf den Datensatz zuzugreifen und dem zweiten Datenverarbeitungssystem den Zugriff auf den Datensatz zu gestatten.
  4. Verfahren nach Anspruch 3, wobei das zweite Datenverarbeitungssystem interne Befehle zur Kennzeichnung und zum Zugriff auf den Datensatz für Anwendungen ausgibt, die sich auf dem zweiten Datenverarbeitungssystem befinden.
  5. Verfahren nach einem der Ansprüche 3 bis 4, das des Weiteren das Bestätigen in dem zweiten Datenverarbeitungssystem, dass dem zweiten Datenverarbeitungssystem der Zugriff auf den Datensatz gewährt worden ist, aufweist.
  6. Verfahren nach einem der Ansprüche 3 bis 5, das des Weiteren das in dem zweiten Datenverarbeitungssystem erfolgende Koordinieren des Zugriffs auf den Datensatz aufweist.
  7. Verfahren nach Anspruch 6, das des Weiteren das Benachrichtigen des ersten Datenverarbeitungssystems durch das zweite Datenverarbeitungssystem, dass das zweite Datenverarbeitungssystem auf den Datensatz zugegriffen hat, aufweist.
  8. Verfahren nach einem der Ansprüche 4 bis 7, das des Weiteren das Entfernen von Berechtigungen, die dem zweiten Datenverarbeitungssystem erteilt wurden, durch das erste Datenverarbeitungssystem aufweist.
  9. Rechnerprogrammprodukt, das einen nicht flüchtigen, rechnerlesbaren Datenträger enthält, der Befehle speichert, um zu bewirken, dass ein Rechner ein Verfahren zum Zugriff auf Daten eines heterogenen Betriebssystems durchführt, das Verfahren aufweisend: Empfangen (210) in einem ersten Datenverarbeitungssystem (105), das ein erstes Betriebssystem hat, einer Anforderung von einem zweiten Datenverarbeitungssystem (120) für den Zugriff auf einen Datensatz (115), wobei das zweite Datenverarbeitungssystem ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet; Konfigurieren von Unterkanälen für das Kanalsubsystem (160) des zweiten Datenverarbeitungssystems durch das zweite Datenverarbeitungssystem, um E/A-Operationen an den Datensatz 115 auszugeben, wobei eine E/A-Konfiguration über einen Eingabe-Ausgabe-Konfigurationsdatensatz durch einen Mechanismus für die Konfiguration von Einheiten festgelegt wird, wobei die E/A-Konfiguration einen eindeutigen Bezeichner für jede E/A-Einheit in der E/A-Konfiguration aufweist; Übertragen der eindeutigen Bezeichner durch den Mechanismus für die Konfiguration von Einheiten an eine Ladebeschleuniger-Anwendung (108) des ersten Datenverarbeitungssystems; Hinzufügen von weiteren E/A-Einheiten und deren eindeutigen Bezeichnern zu der E/A-Konfiguration durch den Mechanismus für die Konfiguration von Einheiten, wobei Identitäten der weiteren E/A-Einheiten von dem ersten Betriebssystem empfangen wurden; Vorbereiten des Datensatzes durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem; Feststellen von Merkmalen des Datensatzes durch das erste Datenverarbeitungssystem; Weiterleiten der Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem; und Setzen von Berechtigungen durch das erste Datenverarbeitungssystem für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem, wobei die Ladebeschleuniger-Anwendung die eindeutigen Bezeichner zum Einrichten von Zugriffssteuerungen für die Berechtigungen verwendet.
  10. Rechnerprogrammprodukt nach Anspruch 9, wobei das zweite Datenverarbeitungssystem nicht befugt ist, auf den Datensatz zuzugreifen, bevor es nicht die Anforderung an das erste Datenverarbeitungssystem, auf den Datensatz zuzugreifen, ausgibt.
  11. Rechnerprogrammprodukt nach Anspruch 10, wobei das erste Datenverarbeitungssystem befugt ist, auf den Datensatz zuzugreifen und dem zweiten Datenverarbeitungssystem den Zugriff auf den Datensatz zu gestatten.
  12. Rechnerprogrammprodukt nach Anspruch 11, wobei das zweite Datenverarbeitungssystem interne Befehle zur Kennzeichnung und zum Zugriff auf den Datensatz für Anwendungen ausgibt, die sich auf dem zweiten Datenverarbeitungssystem befinden.
  13. Rechnerprogrammprodukt nach einem der Ansprüche 11 bis 12, wobei das Verfahren des Weiteren das Bestätigen in dem zweiten Datenverarbeitungssystem, dass dem zweiten Datenverarbeitungssystem der Zugriff auf den Datensatz gewährt worden ist, aufweist.
  14. Rechnerprogrammprodukt nach einem der Ansprüche 11 bis 13, wobei das Verfahren des Weiteren in dem zweiten Datenverarbeitungssystem das Koordinieren des Zugriffs auf den Datensatz aufweist.
  15. Heterogenes Datenverarbeitungssystem (100), aufweisend: ein erstes Servermodul (105), das ein erstes Betriebssystem hat; ein zweites Servermodul (120), das mit dem ersten Servermodul kommunikativ verbunden ist, wobei das zweite Servermodul ein zweites Betriebssystem hat, das sich von dem ersten Betriebssystem unterscheidet; einen Datensatz (115), auf den das erste Servermodul und das zweite Servermodul zugreifen können, wobei Unterkanälen für ein Kanalsubsystem (160) des zweiten Datenverarbeitungssystems durch das zweite Datenverarbeitungssystem konfiguriert werden, um E/A-Operationen an den Datensatz auszugeben, wobei eine E/A-Konfiguration über einen Eingabe-Ausgabe-Konfigurationsdatensatz durch einen Mechanismus für die Konfiguration von Einheiten festgelegt wird, wobei die E/A-Konfiguration einen eindeutigen Bezeichner für jede E/A-Einheit in der E/A-Konfiguration aufweist, wobei die eindeutigen Bezeichner durch den Mechanismus für die Konfiguration von Einheiten an eine Ladebeschleuniger-Anwendung (108) des ersten Datenverarbeitungssystems übertragen werden, wobei weitere E/A-Einheiten und deren eindeutigen Bezeichnern zu der E/A-Konfiguration durch den Mechanismus für die Konfiguration von Einheiten hinzugefügt werden, wobei Identitäten der weiteren E/A-Einheiten von dem ersten Betriebssystem empfangen werden; und einen Prozess, der sich auf dem ersten Servermodul befindet, wobei der Prozess so konfiguriert ist, dass er dem zweiten Servermodul den Zugriff auf den Datensatz von dem ersten Servermodul aus gewährt, wobei der Prozess so konfiguriert ist, dass er: in dem ersten Datenverarbeitungssystem eine Anforderung von einem zweiten Datenverarbeitungssystem für den Zugriff auf einen Datensatz empfängt, den Datensatz durch das erste Datenverarbeitungssystem für den Zugriff durch das zweite Datenverarbeitungssystem vorbereitet; Merkmale des Datensatzes durch das erste Datenverarbeitungssystem feststellt; die Merkmale des Datensatzes von dem ersten Datenverarbeitungssystem an das zweite Datenverarbeitungssystem weiterleitet; und durch das erste Datenverarbeitungssystem Berechtigungen für den Zugriff auf den Datensatz durch das zweite Datenverarbeitungssystem setzt, wobei die Ladebeschleuniger-Anwendung die eindeutigen Bezeichner zum Einrichten von Zugriffssteuerungen für die Berechtigungen verwendet.
DE102012218945.9A 2011-10-31 2012-10-17 Zugriffssteuerung in einer hybriden Umgebung Active DE102012218945B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/285,757 US9032484B2 (en) 2011-10-31 2011-10-31 Access control in a hybrid environment
US13/285,757 2011-10-31

Publications (2)

Publication Number Publication Date
DE102012218945A1 DE102012218945A1 (de) 2013-05-02
DE102012218945B4 true DE102012218945B4 (de) 2022-03-10

Family

ID=47137314

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012218945.9A Active DE102012218945B4 (de) 2011-10-31 2012-10-17 Zugriffssteuerung in einer hybriden Umgebung

Country Status (3)

Country Link
US (2) US9032484B2 (de)
DE (1) DE102012218945B4 (de)
GB (1) GB2496245B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9047468B2 (en) * 2007-12-28 2015-06-02 Intel Corporation Migration of full-disk encrypted virtualized storage between blade servers
EP2973362A4 (de) * 2013-03-15 2016-12-21 Ellipson Data Llc Verfahren zur sammlung und physiologischen sicherung biometrischer und anderer daten in einer personalisierten datenbank
JP6385842B2 (ja) * 2015-02-02 2018-09-05 株式会社東芝 情報処理端末、情報処理方法、及び情報処理システム
US10585717B2 (en) 2017-08-24 2020-03-10 International Business Machines Corporation Hybrid acceleration in a processing environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974424A (en) 1997-07-11 1999-10-26 International Business Machines Corporation Parallel file system and method with a metadata node
US6324581B1 (en) 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US20030220974A1 (en) 2002-05-23 2003-11-27 International Business Machines Corporation Parallel metadata service in storage area network environment
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20100212027A1 (en) 1994-11-23 2010-08-19 Contentguard Holdings, Inc. System and method for rendering content associated with a digital work

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847754A (en) 1985-10-15 1989-07-11 International Business Machines Corporation Extended atomic operations
EP0381655A3 (de) 1989-01-31 1992-12-02 International Business Machines Corporation Verfahren für die Tasksynchronisierungszuweisung zwischen Multiaufgabenbetriebssystemen
US5850426A (en) * 1995-12-29 1998-12-15 Mci Communications Corporations Remote access terminal
US5926833A (en) 1997-03-24 1999-07-20 International Business Machines Corporation Method and system allowing direct data access to a shared data storage subsystem by heterogeneous computing systems
US6173360B1 (en) * 1998-01-09 2001-01-09 International Business Machines Corporation Apparatus and method for allowing existing ECKD MVS DASD using an ESCON interface to be used by an open storage using SCSI-type interface
US6961748B2 (en) * 1998-10-27 2005-11-01 Murrell Stephen J Uniform network access
US7065765B2 (en) 2001-12-05 2006-06-20 International Business Machines Corporation Serializing event handling in a threaded system with no wait states
US7836228B1 (en) 2004-06-18 2010-11-16 Oracle America, Inc. Scalable and lock-free first-in-first-out queue implementation
US6981182B2 (en) 2002-05-03 2005-12-27 General Electric Company Method and system for analyzing fault and quantized operational data for automated diagnostics of locomotives
US20040139142A1 (en) 2002-12-31 2004-07-15 International Business Machines Corporation Method and apparatus for managing resource contention
US7444667B2 (en) 2003-07-28 2008-10-28 Intel Corporation Method and apparatus for trusted blade device computing
US7653628B2 (en) 2004-04-30 2010-01-26 Sap Ag Persistent data management with different isolation levels
US7219198B2 (en) 2004-06-22 2007-05-15 International Business Machines Corporation Facilitating communication within shared memory environments using lock-free queues
US7415470B2 (en) 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US8131860B1 (en) 2006-03-30 2012-03-06 Emc Corporation Serialization and deserialization
US9009234B2 (en) 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
JP4863905B2 (ja) 2007-03-02 2012-01-25 株式会社日立製作所 ストレージ利用排他方式
US7930600B2 (en) 2008-02-26 2011-04-19 International Business Machines Corporation Logical to physical connectivity verification in a predefined networking environment
US8108573B2 (en) 2008-02-29 2012-01-31 International Business Machines Corporation Apparatus, system, and method for enqueue prioritization
US7882202B2 (en) 2008-04-01 2011-02-01 International Business Machines Corporation System to delegate virtual storage access method related file operations to a storage server using an in-band RPC mechanism
US8271437B2 (en) 2008-07-28 2012-09-18 International Business Machines Corporation Managing locks across distributed computing nodes
US8170968B2 (en) 2008-08-15 2012-05-01 Honeywell International Inc. Recursive structure for diagnostic model
CN102301368B (zh) 2009-02-06 2014-01-22 国际商业机器公司 用于保持数据完整性的设备
US8458664B2 (en) * 2009-02-23 2013-06-04 International Business Machines Corporation Command line interface permutation executor
JP2010257274A (ja) 2009-04-27 2010-11-11 Hitachi Ltd 仮想化環境におけるストレージ管理システム及びストレージ管理方法
US8161330B1 (en) 2009-04-30 2012-04-17 Bank Of America Corporation Self-service terminal remote diagnostics
US10002019B2 (en) 2009-05-11 2018-06-19 International Business Machines Corporation System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups
US8838815B2 (en) * 2009-05-29 2014-09-16 At&T Intellectual Property I, L.P. Systems and methods to make a resource available via a local network
US8239867B2 (en) 2009-06-03 2012-08-07 Apple Inc. Method and apparatus for implementing atomic FIFO
JP4951652B2 (ja) 2009-06-24 2012-06-13 株式会社日立製作所 コンピュータシステムのリモートコピー方法及びコンピュータシステム
US20110061093A1 (en) * 2009-09-09 2011-03-10 Ohad Korkus Time dependent access permissions
US8341154B2 (en) 2009-10-28 2012-12-25 Microsoft Corporation Extending types hosted in database to other platforms
US8327055B2 (en) * 2010-04-12 2012-12-04 International Business Machines Corporation Translating a requester identifier to a chip identifier
US20120096078A1 (en) 2010-10-19 2012-04-19 Fictive Kin, Llc Systems and methods for archiving media assets
US20120151479A1 (en) 2010-12-10 2012-06-14 Salesforce.Com, Inc. Horizontal splitting of tasks within a homogenous pool of virtual machines
US20120174191A1 (en) * 2010-12-30 2012-07-05 Wood Matthew D Method for secure exchange of context data between users and devices
EP2712447A4 (de) 2011-05-17 2014-12-03 Datavode Inc Bereitstellung des zugriffs auf mainframe-datenobjekte in einer heterogenen datenverarbeitungsumgebung
US9104429B2 (en) 2011-09-30 2015-08-11 Bmc Software, Inc. Methods and apparatus for performing database management utility processes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100212027A1 (en) 1994-11-23 2010-08-19 Contentguard Holdings, Inc. System and method for rendering content associated with a digital work
US5974424A (en) 1997-07-11 1999-10-26 International Business Machines Corporation Parallel file system and method with a metadata node
US6324581B1 (en) 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20030220974A1 (en) 2002-05-23 2003-11-27 International Business Machines Corporation Parallel metadata service in storage area network environment

Also Published As

Publication number Publication date
US20130111563A1 (en) 2013-05-02
DE102012218945A1 (de) 2013-05-02
GB2496245B (en) 2013-10-16
US9032484B2 (en) 2015-05-12
US20130111557A1 (en) 2013-05-02
GB201216252D0 (en) 2012-10-24
GB2496245A (en) 2013-05-08

Similar Documents

Publication Publication Date Title
DE112012003988B4 (de) Schützen des Arbeitsspeichers eines virtuellen Gasts
DE60133648T2 (de) System und verfahren zum führen von laufzeitdaten in einem server-netzwerk
DE202020005700U1 (de) Aufrufen externer Funktionen aus einem Datenlager
DE202020005715U1 (de) Dynamische Maskierung geteilter Datenobjekte
DE112020005786T5 (de) Systeme und verfahren zum ermöglichen eines hochverfügbaren verwalteten ausfallsicherungsdienstes
DE202020005693U1 (de) Externe berechtigungsnachweisfreie Stufen für Datenbankintegrationen
DE112013004187T5 (de) Technologie für Netzwerk-Datenübertragung durch ein Computersystem unter Verwendung von mindestens zwei Datenübertragungsprotokollen
DE102012221041A1 (de) Ermöglichen des gleichzeitigen Vorhandenseins von Hostrechnern oder virtuellen Maschinen mit identischen Adressen
DE112011102876T5 (de) Ressourcenverwaltungs- und Sicherheitssystem
DE202021004266U1 (de) Anfügbare-und-abtrennbare Datenbank-Sessions
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
DE102012218945B4 (de) Zugriffssteuerung in einer hybriden Umgebung
DE202020005703U1 (de) Auf verteilten Metadaten basierendes Cluster-Computing
DE102012218699A1 (de) Passives überwachen virtueller systeme mittels agentenlosem offline-indexieren
DE102018115251A1 (de) Technologien zum Schutz eines virtuellen Maschinenspeichers
DE102014002181A1 (de) Dynamische gemeinsame Nutzung von Ressourcen
DE112014000433B4 (de) Verfahren, Computersystem und Computerprogrammprodukt zum Kapseln eines virtuellen Servers in einer Hypervisor-Subpartition
DE102016204030B4 (de) Controller, Maschine, System und Verfahren zum Migrieren von RDMA-Arbeitsspeicherzuordnungen einer virtuellen Maschine
DE202021004295U1 (de) Gleichzeitige Transaktionsverarbeitung in einem Datenbanksystem
DE112012004926T5 (de) Gemeinsame Speichernutzung durch Prozessoren
DE102021130897A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem
DE102013100054B4 (de) Verlagern von zusammengehörigen Ressourcenpartitionen
DE102021109231A1 (de) Bedienungssystem installation mechanismus
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems
DE112012004554B4 (de) Serielle Verarbeitung des Zugriffs auf Daten bei Datenverarbeitungsumgebungen mitmehreren Grossrechnern

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final