DE102012218329A1 - Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern - Google Patents

Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern Download PDF

Info

Publication number
DE102012218329A1
DE102012218329A1 DE102012218329A DE102012218329A DE102012218329A1 DE 102012218329 A1 DE102012218329 A1 DE 102012218329A1 DE 102012218329 A DE102012218329 A DE 102012218329A DE 102012218329 A DE102012218329 A DE 102012218329A DE 102012218329 A1 DE102012218329 A1 DE 102012218329A1
Authority
DE
Germany
Prior art keywords
data store
execution
data
access
operations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102012218329A
Other languages
English (en)
Other versions
DE102012218329B4 (de
Inventor
Travis M. Drucker
Joel C. Dubbels
Thomas J. Eggebraaten
Janice R. Glowacki
Richard J. Stevens
David A. Wall
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 DE102012218329A1 publication Critical patent/DE102012218329A1/de
Application granted granted Critical
Publication of DE102012218329B4 publication Critical patent/DE102012218329B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern, umfassend: Identifizieren, durch ein Funktionsübernahme-Haltemodul, eines fehlgeschlagenen Zugriffs auf einen Datenspeicher in dem Cluster von Computern; Verhindern der Ausführung sämtlicher an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde; Ausführen sämtlicher an den Datenspeicher gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in einen Cache-Speicher; Identifizieren, dass eine Funktionsübernahme auf alternative Datenspeicher abgeschlossen ist; Ausführen der gehaltenen Leseoperationen, einschließlich des Lesens von Daten von dem alternativen Datenspeicher; und Kopieren, aus dem Cache-Speicher auf den alternativen Datenspeicher, der Daten, die als Teil der Schreiboperationen in den Cache-Speicher geschrieben wurden.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Das Gebiet der Erfindung ist Datenverarbeitung, oder genauer gesagt, sind es Verfahren, Vorrichtung und Produkte zum Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern.
  • Beschreibung des Standes der Technik
  • Gegenwärtige medizinische Bildverwaltungssysteme sind nicht flexibel und unterstützen kein Modell des Zugreifens auf jegliche und alle medizinischen Bilder, die innerhalb eines, aus mehreren Einrichtungen bestehenden Unternehmens erzeugt werden. Dadurch ist die gemeinsame Nutzung der Daten anhand der Analyse dieser Bilder sowie deren Erstellung nur erschwert möglich.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Verfahren und Vorrichtung zum Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern, umfassend: Identifizieren, durch ein Funktionsübernahme-Haltemodul, eines fehlgeschlagenen Zugriffs auf einen Datenspeicher in dem Cluster von Computern; Verhindern der Ausführung sämtlicher an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde; Ausführen sämtlicher an den Datenspeicher gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in einen Cache-Speicher; Identifizieren, dass eine Funktionsübernahme auf alternative Datenspeicher abgeschlossen ist; Ausführen der gehaltenen Leseoperationen, einschließlich des Lesens von Daten von dem alternativen Datenspeicher; und Kopieren aus dem Cache-Speicher auf den alternativen Datenspeicher der Daten, die als Teil der Schreiboperationen in den Cache-Speicher geschrieben wurden.
  • Die vorstehenden sowie weitere Aufgaben, Leistungsmerkmale und Vorteile der Erfindung werden anhand der folgenden ausführlicheren Beschreibungen beispielhafter Ausführungsformen der Erfindung in ihrer in den beigefügten Zeichnungen veranschaulichten Form ersichtlich, wobei gleiche Referenznummern im Allgemeinen gleiche Komponenten der beispielhaften Ausführungsformen der Erfindung darstellen.
  • Es versteht sich, dass einer oder mehrere der Ansprüche und/oder Ausführungsformen kombiniert werden können, solange sich die kombinierten Elemente nicht gegenseitig ausschließen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Netzwerkdiagramm eines Systems zum Verwalten von medizinischen Digitalbildern in einer verteilten medizinischen Digitalbild Datenverarbeitungsumgebung sowie zum Verwalten von Funktionsübernahme-Operationen gemäß Ausführungsformen der vorliegenden Erfindung.
  • 2 zeigt ein beispielhaftes System zum Verwalten von medizinischen Digitalbildern und Verwalten von Funktionsübernahme-Operationen in einer verteilten medizinischen Datenverarbeitungsumgebung.
  • 3 zeigt ein Blockschaltbild eines beispielhaften medizinischen Bild-Geschäftsobjektes gemäß Ausführungsformen der vorliegenden Erfindung.
  • 4 zeigt ein Flussdiagramm, das ein beispielhaftes Verfahren des Verwaltens medizinischer Bilder in einer verteilten medizinischen Digitalbild-Datenverarbeitungsumgebung gemäß Ausführungsformen der Erfindung veranschaulicht.
  • 5 zeigt ein Flussdiagramm, das ein beispielhaftes Verfahren zum Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht.
  • 6 zeigt ein Flussdiagramm, das ein beispielhaftes Verfahren zum Verwalten der Wartung eines Clusters von Computern gemäß Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 7 zeigt ein Blockschaltbild eines Beispiels eines Cloud-Datenverarbeitungsknotens, der gemäß Ausführungsformen der vorliegenden Erfindung nützlich ist.
  • 8 zeigt eine Zeichnung einer beispielhaften Cloud-Datenverarbeitungsumgebung.
  • 9 zeigt eine Zeichnung, die einen beispielhaften Satz an funktionsbezogenen Abstraktionsebenen, die von der Cloud-Datenverarbeitungsumgebung bereitgestellt werden, darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSFORMEN
  • In Bezug auf die begleitenden Zeichnungen werden beginnend mit 1 beispielhafte Verfahren, Systeme und Produkte zum Verwalten einer Geschäftstransaktion gemäß der vorliegenden Erfindung beschrieben. 1 zeigt ein Netzwerkdiagramm eines Systems zum Verwalten von medizinischen Digitalbildern in einer verteilten medizinischen Digitalbild-Datenverarbeitungsumgebung sowie zum Verwalten von Funktionsübernahme-Operationen gemäß Ausführungsformen der vorliegenden Erfindung. Das System von 1 umfasst ein verteiltes Datenverarbeitungssystem, das als eine medizinische Cloud-Datenverarbeitungsumgebung (100) implementiert ist. Cloud-Datenverarbeitung ist ein Modell der Servicebereitstellung zum Aktivieren eines praktischen, oftmals bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool an konfigurierbaren Datenverarbeitungsressourcen. Beispiele von Datenverarbeitungsressourcen, auf die zugegriffen werden kann, umfassen Computernetzwerke, Netzwerkbandbreite, Server, Datenverarbeitungsfähigkeiten, Computerdatenspeicher, Softwareanwendungen, virtuelle Maschinen und Services, die mit reduziertem Verwaltungsaufwand oder Interaktion mit dem Provider des Services schnell bereitgestellt und freigegeben werden können. Cloud-Modelle können fünf Eigenschaften umfassen, drei Servicemodelle oder vier Einsatzmodelle.
  • Eigenschaften des Cloud-Modells können On-Demand-Self-Service, Broad Network Access, Ressourcen-Pooling, Rapid Elasticity und Measured Services umfassen. Beim On-Demand-Self-Service handelt es sich um eine Eigenschaft, bei der sich ein Cloud-Kunde einseitig mit Datenverarbeitungsfähigkeiten wie beispielsweise Serverzeit und Netzdatenspeicherung versorgen kann, je nach Bedarf und automatisch, ohne dass dabei eine menschliche Interaktion mit dem Cloud-Serviceanbieter erforderlich ist.
  • Broad Network Access ist eine Eigenschaft, mit der die Fähigkeiten beschrieben werden, die über ein Netzwerk verfügbar sind. Auf die Fähigkeiten kann über standardmäßige Mechanismen zugegriffen werden, die die Verwendung von heterogenen dünnen oder dicken Client-Plattformen, wie beispielsweise Mobiltelefonen, Laptops, Desktop-Computern, PDAs und so weiter fördern, wie dies den Fachleuten bekannt ist.
  • Ressourcen-Pooling ist eine Eigenschaft, bei der die Datenverarbeitungsressourcen des Cloud-Serviceanbieters in einem Pool zusammengefasst werden, um mehrere Nutzer, die ein Multi-Tenant-Modell nutzen, mit verschiedenen physikalischen und virtuellen Ressourcen zu versorgen, die dynamisch je nach Bedarf zugeteilt und erneut zugeteilt werden. Es besteht möglicherweise eine Art von Standortunabhängigkeit dahingehend, dass der Nutzer im Allgemeinen keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, dass er möglicherweise jedoch in der Lage ist, einen Standort auf einer höheren Abstraktionsebene wie beispielsweise ein Land, Bundesstaat, Datenzentrum und so weiter zu benennen.
  • Rapid Elasticity ist eine Eigenschaft, bei der die Fähigkeiten der Cloud-Datenverarbeitungsumgebung schnell und flexibel bereitgestellt werden können, in einigen Fällen automatisch, um auf schnelle Weise ein Scale Out (Erhöhung der Anzahl von Servern) durchzuführen und, schnell freigegeben werden, um schnell ein Scale In (Reduzierung der Anzahl von Servern) durchzuführen. Dem Nutzer der Cloud-Datenverarbeitungsumgebung erscheinen die Fähigkeiten, die zur Bereitstellung verfügbar sind, oftmals grenzenlos und können scheinbar in jeder beliebigen Menge zu jedem beliebigen Zeitpunkt gekauft werden.
  • Measured Service ist eine Eigenschaft, bei der Cloud-Systeme automatisch eine Ressourcennutzung steuern und optimieren, indem die Messfähigkeit auf einer gewissen Abstraktionsebene gestaltet wird, die für den Typ an Service, wie beispielsweise Speicherung, Datenverarbeitung, Bandbreite, aktive Benutzerkonten und so weiter geeignet ist. Die Verwendung von Ressourcen kann überwacht, gesteuert, und es kann entsprechend darüber berichtet werden, womit Transparenz sowohl für den Anbieter als auch den Nutzer des genutzten Services geschaffen werden.
  • Cloud-Modelle können drei Service-Modelle umfassen. Beispiele von Service-Modellen, die in der Cloud-Datenverarbeitungsumgebung implementiert werden, können Software als einen Service (,SaaS'), Plattform als einen Service (,PaaS') und Infrastruktur als einen Service (,IaaS') umfassen. SaaS liefert typischerweise die Fähigkeit für den Nutzer, die auf einer Cloud-Anwendung laufenden Anwendungen des Serviceanbieters zu nutzen. Über eine dünne Client-Schnittstelle wie beispielsweise einen Webbrowser, einen webbasierten E-Mail-Client, und so weiter kann von verschiedenen Client-Einheiten auf die Anwendungen zugegriffen werden. Der Nutzer kann nicht die zugrundeliegende Cloud-Infrastruktur einschließlich Netzwerke, Server, Betriebssystemen, Datenspeicherung oder sogar einzelne Anwendungsfähigkeiten verwalten oder steuern, mit der allgemeinen Ausnahme begrenzter benutzerspezifischer Anwendungskonfigurationseinstellungen.
  • PaaS umfasst typischerweise die dem Nutzer bereitgestellte Fähigkeit, auf der Cloud-Infrastruktur vom Nutzer erstellte oder erworbene Anwendungen einzusetzen, die unter Verwendung von Programmiersprachen und Tools erstellt wurden, die von dem Cloud-Serviceanbieter unterstützt werden. Der Nutzer verwaltet oder steuert oftmals nicht die zugrundeliegende Cloud-Infrastruktur einschließlich Netzwerke, Server, Betriebssystemen, oder Datenspeicherung, besitzt jedoch Kontrolle über die eingesetzten Anwendungen und möglicherweise Konfigurationen der Anwendungs-Hostingumgebung.
  • IaaS umfasst typischerweise die den Nutzern bereitgestellte Fähigkeit Datenverarbeitung, Speicherung, Netzwerke und andere grundlegende Datenverarbeitungsressourcen in den Fällen zur Verfügung zu stellen, in denen die Nutzer in der Lage sind, arbiträre Software zu verwenden und auszuführen, die Betriebssysteme und Anwendungen umfassen kann. Die Nutzer verwalten oder steuern oftmals nicht die zugrundeliegende Cloud-Infrastruktur, besitzen jedoch Kontrolle über Betriebssysteme, Datenspeicherung, verwendete Anwendungen und möglicherweise begrenzte Kontrolle über die Auswahl von Netzwerkkomponenten, wie beispielsweise Host-Firewalls.
  • Cloud-Modelle können vier Verwendungsmodelle umfassen. Beispielhafte Verwendungsmodelle, die in Cloud-Datenverarbeitungsumgebungen eingesetzt werden, können Private Clouds, Community Clouds, Public Clouds und Hybrid Clouds umfassen. In einem Verwendungsmodell eines Private Clouds kann die Cloud-Infrastruktur einzig für eine Organisation (ein Unternehmen) betrieben werden. Die Cloud-Infrastruktur kann von der Organisation oder einem Dritten verwaltet werden und am Standort vorhanden oder vom Standort entfernt sein. In dem Verwendungsmodell der Community Cloud wird die Cloud-Infrastruktur von mehreren Organisationen gemeinsam genutzt, und sie unterstützt eine spezifische Community, die gemeinsame Anliegen hat, wie beispielsweise Mission, Sicherheitsanforderungen, Policy, Compliance-Überlegungen und so weiter. Die Cloud-Infrastruktur kann von den Organisationen oder einem Dritten verwaltet werden und kann am Standort vorhanden oder vom Standort entfernt sein. In dem Verwendungsmodell der Public Cloud wird die Cloud-Infrastruktur der allgemeinen Öffentlichkeit oder einem großen Industriekonzern zur Verfügung gestellt und befindet sich im Besitz einer Organisation, die Cloud-Services verkauft. In dem Verwendungsmodell der Hybrid Cloud ist die Cloud-Infrastruktur eine Zusammensetzung aus zwei oder mehreren Clouds, wie beispielsweise Private, Commmunity, Public Cloud, die eigenständige Einheiten bleiben, jedoch über eine standardisierte oder firmeneigene Technologie miteinander verbunden sind, mit der Daten und Anwendungsportierbarkeit, beispielsweise Cloud-Bursting für Lastenausgleich zwischen Clouds ermöglicht wird.
  • Eine Cloud-Datenverarbeitungsumgebung gilt im Allgemeinen als serviceorientiert mit einem Hauptaugenmerk auf Statuslosigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Zentrum der Cloud-Datenverarbeitung steht eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten aufweist. Die verteilte Datenverarbeitungsumgebung von 1 umfasst eine medizinische Cloud-Bild- und Datenverarbeitungsumgebung (100). Die medizinische Cloud-Bild- und Datenverarbeitungsumgebung (100) von 1 kann gemäß Ausführungsformen der vorliegenden Erfindung medizinische Digitalbilder verwalten. In dem Beispiel von 1 umfasst die medizinische Cloud-Bild- und Datenverarbeitungsumgebung (100) zwei Netzwerke: ein primäres integriertes Zustellnetzwerk (150) und ein DMZ-Netzwerk (152). Das primäre integrierte Zustellnetzwerk (150) von 1 ist ein hoch sicheres Netzwerk zum Verwalten von Bildverarbeitungstransaktionen an medizinischen Bildern gemäß Aspekten von Ausführungsformen der vorliegenden Erfindung. Das DMZ-Netzwerk (152) oder die demilitarisierte Zone aus 1 ist ein physisches oder logisches Teilnetzwerk, das die externen Services der medizinischen Cloud-Bild- und Datenverarbeitungsumgebung enthält und diese dem größeren, nicht vertrauenswürdigen Netzwerk, wie beispielsweise dem Internet bereitstellt, über das die Netzwerke der Gesundheitsdienstleistungsanbieter (154) auf die Services der medizinischen Cloud-Bild- und Datenverarbeitungsumgebung zugreifen können. Das DMZ-Netzwerk (152) von 1 fügt eine zusätzliche Sicherheitsstufe auf die medizinische Bildverarbeitungs-Cloud hinzu, da ein Angreifer von außen lediglich Zugriff auf die Einheit in dem DMZ, statt auf jeden anderen beliebigen Teil der medizinischen Bildverarbeitungs-Cloud hat.
  • Die medizinische Cloud-Datenverarbeitungsumgebung (100) von 1 umfasst ein medizinisches Bildverarbeitungs-Cloud-Gateway (110) in dem DMZ-Netzwerk (152). Das medizinische Bildverarbeitungs-Cloud-Gateway (110) in dem DMZ-Netzwerk (152) umfasst einen medizinischen Digitalbild-Übertragungsprotokoll-Adapter (112). Der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) kann als ein Modul der automatisierten Datenverarbeitungsmaschinerie implementiert sein, die ein medizinisches Digitalbild von einem Anbieter von medizinischen Bildern empfängt. Anbieter von medizinischen Bildern können ein Krankenhaus (102), ein MRI-Zentrum (106), eine Arztpraxis und andere umfassen, wie dies den Fachleuten bekannt ist. Der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) kann das medizinische Bild gemäß einer beliebigen Anzahl von Protokollen empfangen, die von den Anbietern der medizinischen Bilder unterstützt werden, wie beispielsweise Digital Imaging and Communications in Medicine ('DICOM'), Health Level Seven ('HL7') sowie andere, wie den Fachleuten bekannt ist.
  • Bei DICOM handelt es sich um einen Standard zum Behandeln, Bearbeiten, Speichern, Drucken und Übertragen von Daten bei der medizinischen Bildbearbeitung. DICOM beinhaltet eine Dateiformatdefinition und ein Netzwerkübertragungsprotokoll. Das Übertragungsprotokoll ist ein Anwendungsprotokoll, das TCP/IP zur Datenübertragung zwischen Systemen verwendet. DICOM-Dateien können zwischen zwei Entitäten ausgetauscht werden, die Bilder und Patientendaten im DICOM-Format empfangen können. DICOM ermöglicht die Integration von Scannern, Röntgengeräten, Kameras, Ultraschallgeräten, Servern, Workstations, Druckern und Netzwerk-Hardware von einer Vielzahl von Herstellern in ein Bildarchivierungs- und Übertragungssystem (,PACS').
  • HL7 ist eine durchweg freiwilligenbasierte gemeinnützige Organisation, die in der Entwicklung von internationalen Gesundheitspflegestandards aktiv ist. HL7 wird darüber hinaus verwendet, um sich auf einige der speziellen Standards zu beziehen, die von der Organisation geschaffen werden. HL7 und seine Mitglieder liefern einen Rahmen und sich darauf beziehende Standards für den Austausch, die Integration, gemeinsame Nutzung und Zurückgriff auf elektronische Informationen zur Gesundheit.
  • In dem Beispiel von 1 wird ein medizinisches Bild von einem Scanner (104) in einem Krankenhaus (102) erstellt und gemäß einem von dem Krankenhaus (102) unterstützten Protokoll an das medizinische Bildverarbeitungs-Cloud-Gateway (110) gesendet. Die medizinischen Bilder weisen im Allgemeinen eine Größe von 50 bis 500 Kilobytes auf, obgleich die medizinischen Bilder auch größer und kleiner sein können. Jedes Bild wird oftmals als Segment bezeichnet, und viele Segmente bilden zusammen eine Reihe von Bildern, die für eine medizinische Behandlung zusammen verarbeitet werden. Eine Reihe kann ein einzelnes Bild oder Tausende von Bildern umfassen. Beispiele von Scannern, die bei der Erzeugung medizinischer Bilder gemäß Ausführungsformen der vorliegenden Erfindung nützlich sind, umfassen Magnetresonanzscanner, Computertomographiescanner, digitale Radiographiescanner und viele andere, wie dies den Fachleuten bekannt ist. Viele Hersteller produzieren solche Scanner, wie beispielsweise General Electric, Siemens und andere. Das Beispiel eines Scanners (104) in einem Krankenhaus (102) dient der Erklärung und ist nicht im einschränkenden Sinne zu erachten. Tatsächlich können medizinische Bilder, die gemäß Ausführungsformen der vorliegenden Erfindung verwaltet werden können, in einer jeden beliebigen Gesundheitseinrichtung, wie beispielsweise Kliniken, MRI-Zentren (106), Arztpraxen (108) und vielen anderen erzeugt werden, wie den Fachleuten bekannt ist.
  • Der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) von 1 empfängt eine Anforderung für eine Bildverarbeitungstransaktion zum Bearbeiten des medizinischen Digitalbildes. Die Anforderung wird gemäß einer Vielzahl von medizinischen Bild-Übertragungsprotokollen gesendet, die von dem medizinischen Digitalbild-Übertragungsprotokoll-Adapter unterstützt und von einem Erzeuger der medizinischen Bilder verwendet werden. Die Anforderung kann gemäß einer jeden beliebigen Anzahl von Protokollen empfangen werden, die von dem Anbieter des digitalen Bildes unterstützt werden, wie beispielsweise DICOM, HL7 und Anderen, wie Fachleuten bekannt ist. Die in dem medizinischen Digitalbild-Übertragungsprotokoll-Adapter (112) empfangene Anforderung enthält ein zu bearbeitendes medizinisches Bild, Metadaten, die das medizinische Bild beschreiben und eine Identifizierung der an dem Bild auszuführenden Bearbeitung.
  • Eine Bildbearbeitungstransaktion ist eine Anforderung zum Durchführen einer oder mehrerer Bildbearbeitungs-Workflows an einem oder mehreren medizinischen Bildern in der medizinischen Cloud-Bild- und Datenverarbeitungsumgebung. Ein Workflow wird typischerweise als ein oder mehrere Services implementiert, bei denen es sich um erneut nutzbare Komponenten eines Datenverarbeitungssystems handelt. Die Services des Workflows sind miteinander verbunden und werden ausgeführt, um den Workflow auszuführen. Solche Workflows können eine Analyse zur Tumorerkennung, Tumorwachstum, Aneurysma-Erkennung, Gefäßabsonderung in einem Kopf eines Patienten und viele andere Erkrankungen, Workflows zur Bildkompression, Bildauflösung, Verteilung von Bildern und so weiter umfassen. Den Fachleuten sind viele weitere Workflows für die medizinische Bildbearbeitung bekannt.
  • Der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) von 1 parst die Anforderung gemäß den Inhalten der Anforderung und der Struktur der Anforderung. Die Struktur der Anforderung kann durch das Protokoll und den Standard definiert sein, in dem die Anforderung erstellt wurde. Der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) von 1 kann ein oder mehrere medizinische Bilder extrahieren, die mit der Anforderung assoziiert sind und darüber hinaus Metadaten extrahieren, die die Anforderung und die medizinischen Bilder beschreiben.
  • Der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) von 1 erstellt ein medizinisches Bild-Geschäftsobjekt, das die Geschäftstransaktion darstellt. Bei einem medizinischen Bild-Geschäftsobjekt handelt es sich um eine Datenstruktur, die die angeforderte Geschäftstransaktion darstellt. Das medizinische Bild-Geschäftsobjekt beinhaltet Metadaten, die die Anforderung und die in der angeforderten Transaktion bearbeiteten medizinischen Bilder beschreiben. Das medizinische Bild-Geschäftsobjekt hat eine vorgegebene Struktur. In einigen Ausführungsformen kann das medizinische Bild-Geschäftsobjekt als eine XML-Datei oder anderweitig strukturierte Dokumente implementiert sein.
  • In dem Beispiel von 1 kann der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) ein medizinisches Bild-Geschäftsobjekt in Abhängigkeit von Klassifizierungsregeln und den Inhalten der Anforderung erstellen. Klassifizierungsregeln sind Regeln, die speziell auf das Parsen der Anforderung gemäß dem Protokoll und Standard zugeschnitten sind, in denen die Anforderung erstellt wurde. Die Klassifizierungsregeln können zum Parsen der Anforderung zum Zwecke des Extrahierens von medizinischen Bildern und Metadaten verwendet werden, die in der Anforderung enthalten sind. Die Klassifizierungsregeln sind darüber hinaus speziell auf die Entwicklung des medizinischen Bild-Geschäftsobjektes zugeschnitten, indem die extrahierten Bilder und Metadaten in eine vordefinierte Struktur in dem medizinischen Bild-Geschäftsobjekt eingebracht werden. Klassifizierungsregeln ermöglichen das Lesen, Verstehen, Klassifizieren und Organisieren von voneinander unterschiedlichen Metadaten, die in voneinander unterschiedlichen Protokollen und Standards eintreffen, gemäß einer festgelegten Struktur für das medizinische Bild-Geschäftsobjekt.
  • In dem Beispiel von 1 sendet der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) das medizinische Bild-Geschäftsobjekt an ein medizinisches Digitalbild-Transaktionscluster (120). Das medizinische Digitalbild-Transaktionscluster (120) kann so konfiguriert sein, dass es das medizinische Bild-Geschäftsobjekt in einer Meta-Datenbank für medizinische Bilder speichert. In dem Beispiel von 1 kann die Meta-Datenbank für medizinische Bilder beispielsweise als eine bezugsrelevante Datenbank ausgebildet sein, die so konfiguriert ist, dass sie medizinische Bild-Metadaten wie beispielsweise das medizinische Bild-Geschäftsobjekt speichert und Zugriff darauf gewährleistet.
  • In dem Beispiel von 1 kann der medizinische Digitalbild-Übertragungsprotokoll-Adapter (112) die medizinischen Bilder (114) lokal in einem Repository für medizinische Bilder auf dem medizinischen Bildbearbeitungs-Gateway speichern. Alternativ dazu kann der medizinische Bild-Übertragungsprotokoll-Adapter (112) die medizinischen Bilder (114) an das medizinische Digitalbild-Transaktionscluster (120) senden, das die Bilder in einem Repository für medizinische Bilder (122) in dem primären integrierten Zustellnetzwerk (150) speichern kann. In dem Beispiel von 1 kann das Repository für medizinische Bilder (122) als jede beliebige Form von persistentem Computerspeicher ausgebildet sein, der so konfiguriert ist, dass er medizinische Bilder empfangen und Zugriff darauf gewährleisten kann.
  • Das medizinische Bild-Transaktionscluster (120) von 1 kann in Abhängigkeit von den Workflow-Auswahlregeln und den Eigenschaften des medizinischen Bild-Geschäftsobjektes einen oder mehrere medizinische analytische Workflows zum Bearbeiten des medizinischen Bildes auswählen. Die Regeln zur Auswahl von Workflows sind Regeln, die speziell auf das Durchführen der Bildbearbeitungstransaktion an den medizinischen Bildern und dem medizinischen Bild-Geschäftsobjekt gemäß der von dem Gesundheitsdienstleistungsanbieter empfangenen Anforderungen zugeschnitten sind. Die Regeln zur Auswahl der Workflows können die erforderlichen Anforderungen der Transaktion identifizieren und die Workflows auswählen, welche die Services aufweisen, die diese Anforderungen erfüllen. Die Regeln zur Auswahl der Workflows können auch Workflows auswählen, die auf die Eigenschafen der medizinischen Bilder, die bearbeitet werden sollen, zugeschnitten sind. Beispiele solcher Eigenschaften umfassen die Segmentgröße eines medizinischen Bildes, die Anzahl an Segmenten, die das medizinische Bild aufweist, den Typ an Scanner, der zum Erstellen der Bilder verwendet wird, und so weiter. Workflows können die Analyse zur Tumorerkennung, Tumorwachstum, Aneurysma-Erkennung, Gefäßabsonderung in einem Kopf eines Patienten und viele andere Erkrankungen umfassen. Workflows können des Weiteren zur Bildkompression, Bildauflösung, Bildverteilung und so weiter vorhanden sein.
  • Das medizinische Digitalbild-Transaktionscluster (120) von 1 bearbeitet das medizinische Bild der Anforderung mit den medizinischen analytischen Workflows und erstellt damit ein resultierendes Geschäftsobjekt (125) und ein resultierendes medizinisches Bild (126). Die Bearbeitung des medizinischen Bildes wird typischerweise durch Ausführen der ausgewählten medizinischen analytischen Workflows und Erstellen von Ergebnissen für die Übertragung an den Gesundheitsdienstleistungsanbieter durchgeführt. In dem Beispiel von 1 kann das resultierende medizinische Bild (126) ein medizinische Bild sein, das durch Ausführen der einen oder mehreren Workflows unter Verwendung der medizinischen Bilder erzeugt wird, die in der Anforderung als Eingabe in den einen oder die mehreren Workflows enthalten ist.
  • Das medizinische Digitalbild-Transaktionscluster (120) von 1 leitet in Abhängigkeit von den Inhalts-Routing-Regeln und den Eigenschaften des resultierenden Geschäftsobjektes das resultierende medizinische Bild (126) zu einem oder mehreren Bestimmungsorten. Beispiele von Bestimmungsorten in 1 umfassen das Krankenhaus (102), das MRI-Zentrum (106), die Arztpraxis (108), von denen jeder in einem oder mehreren Netzwerken für Gesund heitsdienstleistungsanbieter enthalten sein kann. Die beispielhaften Bestimmungsorte von 1 dienen der Erläuterung und sind nicht im einschränkenden Sinne zu erachten. Tatsächlich können Ausführungsformen der vorliegenden Erfindung das resultierende medizinische Bild an viele unterschiedliche Bestimmungsorte wie andere Krankenhäuser, Kliniken, Ärztehäuser, Patienten, Techniker, Workstations, PDAs und viele Weitere senden, wie dies den Fachleuten bekannt ist.
  • In dem Beispiel von 1 kann das resultierende medizinische Bild (126) in Abhängigkeit der Inhalts-Routing-Regeln an einen oder mehrere Bestimmungsorte geleitet werden. In dem Beispiel von 1 sind Inhalts-Routing-Regeln Regeln, die die Art und Weise vorgeben, mit der die resultierenden medizinischen Bilder an den Bestimmungsort geleitet werden. Solche Regeln basieren oftmals auf dem Inhalt des resultierenden medizinischen Bildes, so dass das Bild an einen geeigneten Gesundheitsdienstleistungsanbieter auf eine Weise geleitet wird, die sowohl den Sicherheitsanforderungen als auch den Anforderungen zum Datenschutz entspricht. Oftmals handelt es sich bei dem Bestimmungsort des Bildes um einen in logischer oder physischer Hinsicht anderen Ort als der des Anbieters des ursprünglichen medizinischen Bildes vor seiner Bearbeitung durch das medizinische Digitalbild-Transaktionscluster. Inhalts-Routing-Regeln können auch die Vorgehensweise vorgeben, mit der der Gesundheitsdienstleistungsanbieter auf die resultierenden medizinischen Bilder zugreifen kann und wer auf solche Bilder zugreifen kann. Das Leiten des resultierenden medizinischen Bildes an einen oder mehrere Bestimmungsorte gemäß dem Beispiel von 1 kann Extrahieren von Metadaten von dem resultierenden Geschäftsobjekt, Erstellen einer Antwort auf die Anforderung, die einem bestimmten Digitalbild-Übertragungsprotokoll entspricht, das für den Bestimmungsort verwendet wird und Senden der Antwort gemäß dem bestimmten Digitalbild-Übertragungsprotokoll umfassen, das von dem Bestimmungsort unterstützt wird, so wie beispielsweise DICOM, HL7 und weitere, wie dies den Fachleuten bekannt ist.
  • Routing des resultierenden medizinischen Bildes an einen oder mehrere Bestimmungsorte kann des Weiteren das Senden einer Benachrichtigung umfassen, die dem Bestimmungsort das resultierende medizinische Bild beschreibt. Beispiele einer solchen Benachrichtigung umfassen eine E-Mail-Nachricht oder eine Textnachricht, die an einen Gesundheitsdienstleistungsanbieter gesendet werden, in der der Gesundheitsdienstleistungsanbieter dahingehend benachrichtigt wird, dass die Antwort auf die Anforderung zur Ansicht bereit ist. Die Benachrichtigungen können auch Informationen umfassen, die anzeigen, dass die Workflows zum Bearbeiten der medizinischen Bilder Aspekte der Bilder identifiziert haben, die einer Erkrankung entsprechen, wie beispielsweise einem Tumor, einer Aneurysma, Gefäßabsonderung und so weiter.
  • Die medizinische Cloud-Datenverarbeitungsumgebung (100) von 1 ist nicht auf das Verwalten von medizinischen Bildern beschränkt. Die medizinische Cloud-Datenverarbeitungsumgebung (100) ist auch für das Verwalten von Funktionsübernahme-Operationen gemäß Ausführungsformen der vorliegenden Erfindung nützlich. Die medizinische Cloud-Datenverarbeitungsumgebung (100) von 1 beinhaltet ein Funktionsübernahme-Haltemodul (236). Das Funktionsübernahme-Haltemodul (236) von 1 ist ein Modul von Computerprogrammanweisungen, das, wenn diese ausgeführt werden, die Menge an Fehlern steuert, die in der medizinischen Cloud-Datenverarbeitungsumgebung (100) erzeugt werden, wenn einige Komponenten der Datenspeicherung in der medizinischen Cloud-Datenverarbeitungsumgebung (100) nicht mehr verfügbar sind. In dem Beispiel von 1 können Komponenten der Datenspeicherung in der medizinischen Cloud-Datenverarbeitungsumgebung (100) beispielsweise das Repository für medizinische Bilder (116), den Computerspeicher, der auf einzelnen Maschinen innerhalb des medizinischen Digitalbild-Transaktionsclusters (120) vorhanden ist, die Meta-Datenbank (124), das Repository für medizinische Bilder (122) ebenso wie weitere Formen der Datenspeicherung umfassen, die den Fachleuten bekannt sind.
  • In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) Funktionsübernahme-Operationen durch Identifizieren eines fehlgeschlagenen Zugriffs auf einen Datenspeicher verwalten. Ein fehlgeschlagener Zugriff auf einen Datenspeicher kann beispielsweise einen fehlgeschlagenen Versuch zum Schreiben auf den Datenspeicher in der medizinischen Cloud-Datenverarbeitungsumgebung (100), einen fehlgeschlagenen Versuch zum Lesen von dem Datenspeicher in der medizinischen Cloud-Datenverarbeitungsumgebung (100) und so weiter umfassen. In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) einen fehlgeschlagenen Zugriff auf einen Datenspeicher beispielsweise durch Empfangen einer Mitteilung von einer Entität identifizieren, die versucht hat auf den Datenspeicher zuzugreifen, in der angezeigt wird, dass der Versuch fehlgeschlagen ist, indem Fehlerprotokolle in der medizinischen Cloud-Datenverarbeitungsumgebung (100) geprüft werden, und so weiter.
  • In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen durch Verhindern der Ausführung sämtlicher Leseoperationen verwalten, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde. In dem Beispiel von 1 kann das Verhindern der Ausführung sämtlicher Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, durch Verzögern des Versendens der Leseoperationen umgesetzt werden. Wenn beispielsweise ein versuchter Zugriff auf eine bestimmte Komponente des Datenspeichers in der Erzeugung eines fehlgeschlagenen Zugriffs resultiert, werden sämtliche nachfolgenden, an die bestimmte Komponente des Datenspeichers gerichteten Leseoperationen, bis zu einem Zeitpunkt nicht zur Ausführung versendet, zu dem das Funktionsübername-Haltemodul (236) überprüft hat, dass auf die bestimmte Komponente des Datenspeichers zugegriffen werden kann. Auf diese Weise kann das Funktionsübernahme-Haltemodul (236) alle der gelesenen Anforderungen bis zu einem Zeitpunkt ,halten', zu dem das Versenden der Leseanforderungen nicht in einem fehlgeschlagenen Zugriff resultieren sollte.
  • In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem alle Schreiboperationen ausgeführt werden, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in einen Cache-Speicher (237). In dem Beispiel von 1 stellt der Cache-Speicher (237) eine Komponente des Datenspeichers dar, die sich von der Komponente des Datenspeichers unterscheidet, die Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war. In solch einem Beispiel kann anstatt des Versuches, eine Schreiboperation auf die Komponente des Datenspeichers auszuführen, die Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war, das Funktionsübernahme-Haltemodul (236) die Schreiboperationen stattdessen in den Cache-Speicher (237) ausführen, so dass die Schreiboperation ohne Fehler ausgeführt wird.
  • In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem identifiziert wird, dass eine Funktionsübernahme auf einen alternativen Datenspeicher abgeschlossen ist. In dem Beispiel von 1 ist eine Funktionsübernahme auf einen alternativen Speicher dann abgeschlossen, wenn der alternative Datenspeicher anstelle des Datenspeichers verwendet wird, der Gegenstand des fehlgeschlagenen Datenspeicher-Zugriffs war. Eine Funktionsübernahme auf einen alternativen Datenspeicher kann ausgeführt werden, indem beispielsweise der Datenspeicher physisch durch den alternativen Datenspeicher ersetzt wird, indem eine Seitentabelle so aktualisiert wird, dass eine virtuelle Adresse, die auf den Datenspeicher verwies, nun auf den alternativen Datenspeicher verweist, und auch mit anderen Vorgehensweisen, wie dies den Fachleuten bekannt ist. In dem Beispiel von 1 kann eine Funktionsübernahme auf einen alternativen Datenspeicher auch das Replizieren der Inhalte des Datenspeichers innerhalb des alternativen Datenspeichers umfassen, so dass der alternative Datenspeicher denselben Inhalt an denselben Orten wie der Datenspeicher hat.
  • In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem die in den Cache-Speicher (237) als Teil der Schreiboperationen geschriebenen Daten aus dem Cache-Speicher (237) auf den alternativen Datenspeicher kopiert werden. In dem Beispiel von 1 wurden Daten in den Cache-Speicher (237) anstelle des Schreibens von Daten auf den Datenspeicher in Reaktion auf den Empfang von an den Datenspeicher gerichteten Schreiboperationen geschrieben, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde. Solche Daten können in den Cache-Speicher (237) geschrieben werden, ohne dass von einem Fehler berichtet wird. In dem Beispiel von 1 können, da eine Funktionsübernahme auf einen alternativen Datenspeicher abgeschlossen ist, Daten, die ursprünglich für den Datenspeicher vorgesehen waren, aber stattdessen in den Cache-Speicher geschrieben wurden, aus dem Cache-Speicher (237) auf den alternativen Datenspeicher kopiert werden. Auf diese Weise können Schreiboperationen, die zu Fehlern geführt hätten, wenn ein Versuch unternommen worden wäre, die Daten auf den Datenspeicher zu schreiben, stattdessen in den Cache-Speicher (237) geschrieben werden und anschließend auf den alternativen Datenspeicher kopiert werden, nachdem eine Funktionsübernahme auf den alternativen Datenspeicher erfolgt ist, so dass der alternative Datenspeicher dieselben Inhalte hat, die der Datenspeicher enthalten hätte, wenn es nicht zu dem fehlgeschlagenen Zugriff gekommen wäre.
  • In dem Beispiel von 1 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem die gehaltenen Leseoperationen ausgeführt werden, einschließlich des Lesens von Daten von dem alternativen Datenspeicher. In dem Beispiel von 1 wurden sämtliche an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, an der Ausführung gehindert. Nachdem die Funktionsübernahme auf den alternativen Datenspeicher erfolgt ist, können solche Leseoperationen ausgeführt werden, indem die Leseoperationen auf den alternativen Datenspeicher gerichtet werden. Die Leseoperationen können ausgeführt werden, indem die Leseoperationen auf den alternativen Datenspeicher gerichtet werden, da eine Funktionsübernahme auf den alternativen Datenspeicher abgeschlossen ist und auf eine Weise, dass auf den alternativen Datenspeicher so zugegriffen werden kann, als ob er der ursprüngliche Datenspeicher wäre, auf den nicht zugegriffen werden konnte. Auf diese Weise können Leseoperationen, die in Fehlern resultiert hätten, verzögert werden und anschließend, nachdem die Funktionsübernahme auf den alternativen Datenspeicher erfolgt ist, ausgeführt werden, wodurch die Leseoperationen durchgeführt werden können.
  • Die medizinische Cloud-Datenverarbeitungsumgebung (100) von 1 ist nicht auf das Verwalten medizinischer Bilder und das Verwalten von Funktionsübernahme-Operationen beschränkt. Die medizinische Cloud-Datenverarbeitungsumgebung (100) von 1 ist gemäß Ausführungsformen der vorliegenden Erfindung auch für das Verwalten der Wartung eines Clusters von Computern nützlich. Das Funktionsübernahme-Haltemodul (236) kann Funktionsübernahme-Operationen verwalten, indem eine oder mehrere geplante Wartungsoperationen, die an einem Cluster von Computern wie beispielsweise dem medizinischen Digitalbild-Transaktionscluster (12) ausgeführt werden sollen, identifiziert werden. in dem Beispiel von 1 sind die einen oder mehreren geplanten Wartungsoperationen Operationen, die konzipiert sind, um das Cluster von Computern auf den erwarteten Leistungsniveaus zu halten. Beispiele von geplanten Wartungsoperationen umfassen beispielsweise das Sichern von Datenspeichern, Durchführen von Software-Updates, Ausführen von Anti-Virus-Software und so weiter.
  • Das Funktionsübernahme-Haltemodul (236) kann des Weiteren Funktionsübernahme-Operationen verwalten, indem die Ausführung der geplanten Wartungsoperationen initiiert wird. Das Initiieren der Ausführung der geplanten Wartungsoperationen kann beispielsweise durch Ausführen eines Softwaremoduls umgesetzt werden, das Wartungsoperationen durchführt. So kann beispielsweise ein Softwaremodul, das eine Datensicherung durchführt, ausgeführt werden, um die Datensicherungs-Wartungsoperationen zu initiieren, es kann ein Softwaremodul, das ein Betriebssystem-Update durchführt, zum Initiieren der Systemupdate-Wartungsoperationen ausgeführt werden, und so weiter.
  • Das Funktionsübernahme-Haltemodul (236) kann Funktionsübernahme-Operationen des Weiteren verwalten, indem die Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher verhindert wird, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde. In dem Beispiel von 1 kann das Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, dadurch umgesetzt werden, dass das Versenden der Zugriffsanforderungen auf den Datenspeicher für die Ausführung verzögert wird. Wenn beispielsweise der Datenspeicher in einen ausgelagerten Speicher gesichert wurde, kann das Ausführen einer Zugriffsanforderung auf den Datenspeicher darin resultieren, dass der Datenspeicher so geändert wird, dass die Sicherung des Datenspeichers nicht mehr aktuell („out of date”) ist, bevor die Sicherung überhaupt erst einmal abgeschlossen wurde. Als Solches kann das Funktionsübernahme-Haltemodul alle der Zugriffsanforderungen auf den Datenspeicher bis zu einem Zeitpunkt ,halten', zu dem die Sicherung des Datenspeichers abgeschlossen ist.
  • In dem beispielhaften Verfahren von 1 kann das Verhindern der Ausführung aller Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, das Speichern in einem Cache-Speicher (237) sämtlicher Zugriffsanforderungen auf den Datenspeicher umfassen, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde. In dem Beispiel von 1 stellt der Cache-Speicher (237) eine Komponente des Datenspeichers dar, die sich von dem Datenspeicher unterscheidet, auf den die Datenspeicher-Zugriffsanforderung gerichtet war. In solch einem Beispiel kann, anstatt des Versuches, einen Zugriff auf den Datenspeicher eines Systems auszuführen, das Wartungsoperationen durchführt, das Funktionsübernahme-Haltemodul (236) stattdessen sämtliche Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, in den Cache-Speicher (237) speichern, so dass die Zugriffsanforderungen auf den Datenspeicher bei Abschluss der Wartungsoperationen ausgeführt werden können.
  • Das Funktionsübernahme-Haltemodul (236) kann Funktionsübernahme-Operationen des Weiteren verwalten, indem bestimmt wird, dass die geplanten Wartungsoperationen abgeschlossen sind. In dem Beispiel von 1 kann das Bestimmen, dass die geplanten Wartungsoperationen abgeschlossen sind, beispielsweise dadurch ausgeführt werden, dass eine Benachrichtigung empfangen wird, die anzeigt, dass die geplanten Wartungsoperationen durch Ablauf eines vorgegebenen Zeitraums seit Beginn der geplanten Wartungsoperationen, abgeschlossen sind, durch Identifizieren der Prozesse, die auf einem bestimmten Computer in dem Cluster von Computern ausgeführt werden und Bestimmen, dass alle Prozesse, die Bestandteil der geplanten Wartungsoperationen sind, nicht weiter ausgeführt werden, und auch mit anderen Vorgehensweisen, wie dies den Fachleuten bekannt ist.
  • Das Funktionsübernahme-Haltemodul (236) kann Funktionsübernahme-Operationen des Weiteren verwalten, indem alle Zugriffsanforderungen auf den Datenspeicher ausgeführt werden, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde. In dem Beispiel von 1 kann das Ausführen aller Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, beispielsweise dadurch umgesetzt werden, dass die Zugriffsanforderungen auf den Datenspeicher aus dem Cache-Speicher (237) aufgerufen werden, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde. In solch einem Beispiel kann das Ausführen aller Zugriffsanforderungen, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, des Weiteren dadurch umgesetzt werden, dass solche Zugriffsanforderungen auf den Datenspeicher zur Ausführung versendet werden, nachdem die Zugriffsanforderungen auf den Datenspeicher aus dem Cache-Speicher (237) abgerufen worden sind.
  • Die Anordnung von Servern und anderen Einheiten, die das beispielhafte in 1 dargestellte System bilden, dient lediglich zur Erläuterung und ist nicht im einschränkenden Sinne zu erachten. Datenverarbeitungssysteme, die gemäß verschiedener Ausführungsformen der vorliegenden Erfindung nützlich sind, können zusätzliche Server, Router, andere Einheiten, Peer-to-Peer-Architekturen, Datenbanken, die andere Information enthalten, die nicht in 1 dargestellt sind, umfassen, wie dies den Fachleuten bekannt ist. Netzwerke in solchen Datenverarbeitungssystemen können viele Datenübertragungsprotokolle unterstützen, unter anderem beispielsweise das Transmission Control Protocol (,TCP'), Internet Protocol (,IP'), HyperText Transfer Protocol (,HTTP'), Wireless Access Protocol (,WAP'), Handheld Device Transport Protocol (,HDTP') und weitere, wie dies den Fachleuten bekannt ist. Verschiedene Ausführungsformen der vorliegenden Erfindung können auf einer Reihe verschiedener Plattformen zusätzlich zu den in 1 dargestellten implementiert werden.
  • Für eine weiterführende Erläuterung stellt 2 ein beispielhaftes System zum Verwalten von medizinischen Digitalbildern und Verwalten von Funktionsübernahme-Operationen in einer verteilten medizinischen Datenverarbeitungsumgebung (200) dar. Die medizinische Datenverarbeitungsumgebung (200) von 2 umfasst zwei Netzwerke, ein DMZ-Netzwerk (152) und ein primäres integriertes Zustellnetzwerk (105). Die verteilte medizinische Datenverarbeitungsumgebung (200) verwaltet medizinische Digitalbilder für eine Reihe von Gesundheitsdienstleistungsanbietern, die medizinische Bilder bereitstellen und empfängt die Ergebnisse der Bildbearbeitungstransaktionen, welche auf diesen medizinischen Bildern verarbeitet wurden, und teilt des Weiteren dynamisch Geschäfts-Workflows zu, gemäß Ausführungsformen der vorliegenden Erfindung. Die verteilte medizinische Datenverarbeitungsumgebung kann als eine Cloud-Datenverarbeitungsumgebung implementiert sein, auf die von den Gesundheitsdienstleistungsanbietern über die Gesundheitsdienstleistungsanbieter-Netzwerke (154) zugegriffen werden kann.
  • Die beispielhafte verteilte medizinische Bild-Datenverarbeitungsumgebung (200) von 2 umfasst ein medizinisches Gateway (110), ein Modul einer automatisierten Datenverarbeitungsmaschinerie, die einen DICOM-Adapter (210), einen HL7-Adapter (212), einen generischen anderen Protokolladapter, ein Metadaten-Extrahierungsmodul (216) und ein Erstellungsmodul für ein medizinisches Bild-Geschäftsobjekt (218) umfasst. Das medizinische Bildbearbeitungs-Gateway (110) von 2 empfängt in einem der medizinischen Digitalbild-Übertragungsprotokolladapter (210, 212, 214) eine Anforderung für eine Bildbearbeitungs-Transaktion zum Bearbeiten des medizinischen Digitalbildes. Die Anforderung enthält ein zu bearbeitendes medizinisches Digitalbild, Metadaten, die das medizinische Bild beschreiben und eine Identifikation der Verarbeitung, die an dem Bild auszuführen ist.
  • Die Anforderung wird gemäß einer Vielzahl von medizinischen Digitalbild-Übertragungsprotokollen gesendet, die von dem medizinischen Digitalbild-Übertragungsprotokolladapter unterstützt und von einem Erzeuger der medizinischen Bilder verwendet wird. So kann beispielsweise das medizinische Bildbearbeitungs-Gateway (110) von 2 eine Anforderung für eine Bildbearbeitungs-Transaktion von einem Gesundheitsdienstleistungsanbieter (204) gemäß dem DICOM-Standard, dem HL7-Standard und anderen Protokollen und Standards zum Erstellen und Senden medizinischer Digitalbilder empfangen. In dem Beispiel von 2 ist der DICOM-Adapter (210) in der Lage, die Anforderung gemäß DICOM-Standard zu empfangen und zu parsen, der HL7-Adapter ist in der Lage, die Anforderung gemäß HL7-Standard zu empfangen und zu parsen, und der generische andere Protokolladapter (214) ist in der Lage, die Anforderung gemäß einem anderen Protokoll zu empfangen und zu parsen, was den Fachleuten bekannt ist.
  • Das Metadaten-Extrahierungsmodul (216) von 2 extrahiert die Metadaten von der geparsten Anforderung gemäß den Standards und Protokollen, die zum Erstellen und Senden der Anforderungen verwendet werden. Das Metadaten-Extrahierungsmodul (216) von 2 kann auch so konfiguriert sein, dass es die extrahierten Metadaten dem Erstellungsmodul für ein medizinisches Bild-Geschäftsobjekt bereitstellt. Das Erstellungsmodul für ein medizinisches Bild-Geschäftsobjekt erstellt wiederum in Abhängigkeit von den Klassifizierungsregeln und den Inhalten der Anforderung ein medizinisches Bild-Geschäftsobjekt (112), das die Geschäftstransaktion darstellt. Das medizinische Bild-Geschäftsobjekt umfasst eine vorab festgelegte Struktur und kann als strukturiertes Dokument wie beispielsweise ein XML-Dokument implementiert sein.
  • Das medizinische Bildbearbeitungs-Gateway (110) von 2 sendet das medizinische Bild-Geschäftsobjekt (112) an ein medizinisches Bild-Transaktionscluster (120) in dem primären integrierten Zustellnetz. Das medizinische Bild-Transaktionscluster (120) beinhaltet einen Workflow-Dispatcher (228), eine medizinische Bild-Meta-Datenbank (230), ein Repository für medizinische Bilder (122), ein Sicherheitsmodul (232) und ein Verwaltungs- und Konfigurationsmodul für medizinische Cloud-Datenverarbeitung (238). Der Workflow-Dispatcher (228) kann das medizinische Bild-Geschäftsobjekt empfangen und das medizinische Bild-Geschäftsobjekt (112) in der medizinischen Bild-Meta-Datenbank (230) speichern. Der Workflow-Dispatcher (228) kann auch medizinische Bilder empfangen und das medizinische Bild in dem Repository für medizinische Bilder (122) speichern.
  • Der Workflow-Dispatcher (228) von 2 kann auch eine Workflow-Auswahleinrichtung (222) umfassen, die in Abhängigkeit von den Workflow-Auswahlregeln und den Eigenschaften des medizinischen Bild-Geschäftsobjektes einen oder mehrere medizinische analytische Workflows auswählt, um das medizinische Bild zu bearbeiten. Wie dies vorstehend beschrieben ist, sind die Workflow-Auswahlregeln Regeln, die speziell auf das Durchführen der Bildbearbeitungstransaktion an den medizinischen Bildern und dem medizinischen Bild-Geschäftsobjekt gemäß der Anforderung zugeschnitten sind, die von dem Gesundheitsdienstleistungsanbieter empfangen wurde. Die Workflow-Auswahlregeln können die erforderlichen Anforderungen der Transaktion identifizieren und die Workflows mit den Services auswählen, die diese Anforderungen umsetzen. Die Workflow-Auswahlregeln können auch Workflows auswählen, die speziell auf die Eigenschaften der zu bearbeitenden medizinischen Bilder zugeschnitten sind.
  • Der Workflow-Dispatcher (22) von 2 kann auch das medizinische Bild der Anforderung mit den medizinischen analytischen Workflows bearbeiten, wodurch ein resultierendes Geschäftsobjekt und ein resultierendes medizinisches Bild erstellt werden. Das Bearbeiten des medizinischen Bildes wird typischerweise durch Ausführen der auserwählten medizinischen analytischen Workflows und Erstellen von Ergebnissen für die Übertragung an den Gesundheitsdienstleistungsanbieter umgesetzt. In dem Beispiel von 2 kann das resultierende medizinische Bild ein medizinisches Bild sein, das durch Ausführen der einen oder mehreren Workflows unter Verwendung medizinischer Bilder erzeugt wird, die in der Anforderung als Eingabe zu dem einen oder mehreren Workflows enthalten sind.
  • Der Workflow-Dispatcher (228) kann das resultierende medizinische Bild auch in Abhängigkeit von den Inhalts-Routing-Regeln und den Eigenschaften des resultierenden Geschäftsobjektes an einen oder mehrere Bestimmungsorte leiten Der Workflow-Dispatcher (228) von 2 leitet das resultierende medizinische Bild an einen oder mehrere Bestimmungsorte durch Extrahieren von Metadaten von dem resultierenden Geschäftsobjekt, Erstellen einer Antwort auf die Anforderung, wobei die Antwort einem bestimmten Digitalbild-Übertragungsprotokoll entspricht, das für den Bestimmungsort verwendet wird und Senden der Antwort gemäß dem bestimmten Digitalbild-Übertragungsprotokoll. Der Workflow-Dispatcher (228) von 2 kann das resultierende medizinische Bild an einen oder mehrere Bestimmungsorte durch Speichern des resultierenden medizinischen Bildes auf dem medizinischen Bildbearbeitungs-Gateway (119), das dem Bestimmungsort des medizinischen Bildes zugeteilt ist, leiten. Der Workflow-Dispatcher kann anschließend in der Antwort Datenzugriffsinformationen senden, um auf dem Gateway auf das resultierende medizinische Bild zuzugreifen. Anschließend kann ein Gesundheitsdienstleistungsanbieter unter Verwendung des Viewer-Servers (220) in dem DMZ-Netzwerk (152) über die Verwendung eines Viewer-Clients (202) an dem Standort des Gesundheitsdienstleistungsanbieters die resultierenden medizinischen Bilder ansehen.
  • Die verteilte medizinische Datenverarbeitungsumgebung (200) ist des Weiteren in der Lage, Funktionsübernahme-Operationen gemäß Ausführungsformen der vorliegenden Erfindung zu verwalten. Das Beispiel von 2 umfasst ein Funktionsübernahme-Haltemodul (236). Das Funktionsübernahme-Haltemodul (236) von 2 ist ein Modul von Computerprogrammanweisungen, die, wenn diese ausgeführt werden, die Menge an Fehlern steuert, die in der medizinischen Cloud-Datenverarbeitungsumgebung erzeugt werden, wenn irgendeine Komponente des Datenspeichers in der medizinischen Cloud-Datenverarbeitungsumgebung nicht mehr zur Verfügung steht. In dem Beispiel von 2 können Komponenten des Datenspeichers in der medizinischen Cloud-Datenverarbeitungsumgebung beispielsweise ein Repository für medizinische Bilder, einen Computerspeicher, der auf einzelnen Maschinen innerhalb der Digitalbild-Datenverarbeitungsumgebung vorhanden ist, eine Meta-Datenbank, ein Repository für medizinische Bilder ebenso wie andere Formen von Datenspeichern umfassen, die den Fachleuten bekannt sind.
  • In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) Funktionsübernahme-Operationen verwalten, indem ein fehlgeschlagener Zugriff auf einen Datenspeicher identifiziert wird. Ein fehlgeschlagener Zugriff auf einen Datenspeicher kann beispielsweise einen fehlgeschlagenen Schreibversuch auf den Datenspeicher in der medizinischen Cloud-Datenverarbeitungsumgebung, einen fehlgeschlagenen Leseversuch von dem Datenspeicher in der medizinischen Cloud-Datenverarbeitungsumgebung und so weiter umfassen. In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) einen fehlgeschlagenen Zugriff auf den Datenspeicher beispielsweise durch Empfangen einer Mitteilung von einer Entität identifizieren, die versucht hat, auf den Datenspeicher zuzugreifen, in der angezeigt wird, dass der Versuch fehlgeschlagen ist, indem Fehlerprotokolle in der medizinischen Cloud-Datenverarbeitungsumgebung überprüft werden und so weiter.
  • In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem die Ausführung sämtlicher Leseoperationen verhindert wird, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde. In dem Beispiel von 2 kann das Verhindern der Ausführung sämtlicher Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, dadurch umgesetzt werden, dass die Versendung der Leseoperationen verzögert wird. Wenn beispielsweise ein versuchter Zugriff auf eine bestimmte Komponente des Datenspeichers in der Erzeugung eines fehlgeschlagenen Zugriffs resultierte, sollten alle auf diese bestimmte Komponente des Datenspeichers gerichteten Leseoperationen bis zu einem Zeitpunkt nicht zur Ausführung versendet werden, zu dem ein Funktionsübernahme-Haltemodul (236) überprüft hat, dass auf die bestimmte Komponente des Datenspeichers zugegriffen werden kann. Auf diese Weise kann das Funktionsübernahme-Haltemodul (236) alle der Leseoperationen bis zu einem Zeitpunkt ,halten', zu dem das Versenden der Leseanforderungen nicht zu einem fehlgeschlagenen Zugriff führen sollte.
  • In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem alle Schreiboperationen ausgeführt werden, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in den Cache-Speicher. In dem Beispiel von 2 stellt der Cache-Speicher eine Komponente des Datenspeichers dar, die sich von der Komponente des Datenspeichers unterscheidet, die Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war. In solch einem Beispiel kann, anstatt des Versuches, eine Schreiboperation auf die Komponente des Datenspeichers auszuführen, die Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war, das Funktionsübernahme-Haltemodul (236) stattdessen die Schreiboperation auf den Cache-Speicher ausführen, so dass die Schreiboperation ohne Fehler ausgeführt wird.
  • In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem identifiziert wird, dass eine Funktionsübernahme auf einen alternativen Datenspeicher abgeschlossen ist. In dem Beispiel von 2 ist eine Funktionsübernahme auf einen alternativen Datenspeicher dann abgeschlossen, wenn der alternative Datenspeicher anstelle des Datenspeichers verwendet wird, der Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war. Eine Funktionsübernahme auf einen alternativen Datenspeicher kann beispielsweise durch physisches Ersetzen des Datenspeichers mit dem alternativen Datenspeicher, durch Aktualisieren einer Seitentabelle, so dass eine virtuelle Adresse, die auf den Datenspeicher verwiesen hat, nun auf den alternativen Datenspeicher verweist, und auch mit anderen Vorgehensweisen, die den Fachleuten bekannt sind, umgesetzt werden. In dem Beispiel von 2 kann eine Funktionsübernahme auf einen alternativen Datenspeicher auch das Replizieren von Inhalten des Datenspeichers innerhalb des alternativen Datenspeichers umfassen, so dass der alternative Datenspeicher denselben Inhalt an denselben Orten wie der Datenspeicher hat.
  • In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem die Daten aus dem Cache-Speicher auf den alternativen Datenspeicher kopiert werden, die als Teil der Schreiboperationen in den Cache-Speicher geschrieben wurden. In dem Beispiel von 2 wurden Daten in den Cache-Speicher anstelle des Schreibens von Daten auf den Datenspeicher als Antwort auf den Empfang von an den Datenspeicher gerichteten Schreiboperationen geschrieben, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde. Solche Daten können ohne das Berichten über einen Fehler in den Cache-Speicher geschrieben werden. In dem Beispiel von 2 können, weil eine Funktionsübernahme auf einen alternativen Datenspeicher abgeschlossen ist, Daten, die ursprünglich für den Datenspeicher vorgesehen waren, stattdessen jedoch in den Cache-Speicher geschrieben wurden, von dem Cache-Speicher auf den alternativen Datenspeicher geschrieben werden. Auf diese Weise können Schreiboperationen, die in Fehlern resultiert hätten, wenn ein Versuch unternommen worden wäre, die Daten auf den Datenspeicher zu schreiben, stattdessen in den Cache-Speicher geschrieben und anschließend auf den alternativen Datenspeicher kopiert werden, nachdem eine Funktionsübernahme auf den alternativen Datenspeicher erfolgt ist, so dass der alternative Datenspeicher dieselben Inhalte hat, die der Datenspeicher enthalten hätte, wenn es den fehlgeschlagenen Zugriff nicht gegeben hätte.
  • In dem Beispiel von 2 kann das Funktionsübernahme-Haltemodul (236) des Weiteren Funktionsübernahme-Operationen verwalten, indem die gehaltenen Leseoperationen ausgeführt werden, einschließlich des Lesens von Daten von dem alternativen Datenspeicher. Indem Beispiel von 2 wurden alle an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, an der Ausführung gehindert. Nachdem die Funktionsübernahme auf den alternativen Datenspeicher erfolgt ist, können solche Leseoperationen ausgeführt werden, indem die Leseoperationen auf den alternativen Datenspeicher gerichtet werden. Die Leseoperationen können ausgeführt werden, indem die Leseoperationen auf den alternativen Datenspeicher gerichtet werden, da eine Funktionsübernahme auf den alternativen Datenspeicher abgeschlossen wurde, und als solches auf den alternativen Datenspeicher zugegriffen werden kann, als ob er der ursprüngliche Datenspeicher wäre, auf den nicht zugegriffen werden konnte. Auf diese Weise können Leseoperationen, die in Fehlern resultiert hätten, verzögert werden und anschließend, nachdem die Funktionsübernahme auf den alternativen Datenspeicher erfolgt ist, ausgeführt werden, wodurch die Ausführung der Leseoperationen ermöglicht wird.
  • Für eine weiterführende Erläuterung stellt 3 ein Blockschaltbild eines beispielhaften medizinischen Bild-Geschäftsobjektes (118) gemäß Ausführungsformen der vorliegenden Erfindung dar. Das medizinische Bild-Geschäftsobjekt (118) von 3 umfasst eine Anforderungs-ID (302). In dem Beispiel von 3 kann die Anforderungs-ID (302) eine Identifikation der bestimmten Anforderung für eine medizinische Bildbearbeitungstransaktion beinhalten. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet einen Anforderungstyp (304). Der Anforderungstyp (304) von 3 kann die Art von Bildbearbeitungstransaktion, die angefordert wird, identifizieren.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren eine Aktions-ID (306). Die Aktions-ID (306) von 3 kann eine bestimmte Aktion oder einen Workflow identifizieren, die in der Bildbearbeitungstransaktion auszuführen ist. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren eine Anbieter-ID (308), die den Anbieter der in der Bildtransaktion zu bearbeitenden medizinischen Bilder identifiziert. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren ein Bildanbieter-Protokoll (338), das das Protokoll und den Standard identifiziert, in denen die Bilder und die Anforderung erstellt wurden, wie beispielsweise DICOM, HL7 und so weiter, wie dies den Fachleuten bekannt ist.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet eine Patienten-ID (310), die den Patienten identifiziert. Eine Identifizierung des Patienten kann einen Namen, eine Sozialversicherungsnummer oder eine andere eindeutige Identifikation des Patienten umfassen. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren eine Arzt-ID (312), die einen Arzt identifiziert, der dem Patienten zugeordnet ist, sowie eine Techniker-ID (314), die einen oder mehrere Techniker identifiziert, die das Scannen durchgeführt haben, um die der Anforderung zugeordneten medizinischen Bilder zu erstellen.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet eine Scanner-ID (316), die den Scanner identifiziert, der zum Erzeugen der der Anforderung zugeordneten medizinischen Bilder verwendet wurde. Die Identifikation des Scanners kann einen Herstellernamen, Seriennummer des Scanners oder jede beliebige andere Identifikation umfassen, die den Fachleuten bekannt ist. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren einen Scannertyp (318), der den Typ von Scanner, wie beispielsweise einen Magnetresonanz-Scanner, Computertomographie-Scanner, digitalen Radiographie-Scanner und so weiter identifiziert, wie den Fachleuten bekannt ist.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet eine Bild-ID (320), die das medizinische Bild identifiziert. Die Bild-ID (320) kann des Weiteren das Bild und die Bilderreihen identifizieren, von denen das Bild Bestandteil ist. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren einen Bildtyp (322), der den Typ des Bildes identifiziert. Der Typ des Bildes kann auch den Typ von Bildern in einer Bilderreihe identifizieren.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren einen Patientenort (324) und einen Bestimmungsort (326). In dem Beispiel von 3 kann der Patientenort (324) den Ort des Patienten identifizieren, und der Bestimmungsort (326) kann den Ort identifizieren, an den die bearbeiteten medizinischen Bilder und die ihnen zugeordneten Benachrichtigungen gesendet werden sollen.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren eine Empfangs-Gateway-ID (328). Die Empfangs-Gateway-ID (328) kann das medizinische Bildbearbeitungs-Gateway in der medizinischen Cloud-Bild- und Datenverarbeitungsumgebung identifizieren, in dem die Anforderung für die Bildbearbeitungstransaktion empfangen wurde. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren eine Bestimmungsort-Gateway-ID (330). Die Bestimmungsort-Gateway-ID (330) kann das medizinische Bildbearbeitungs-Gateway in der medizinischen Cloud-Bild- und Datenverarbeitungsumgebung identifizieren, an das eine Antwort auf eine Anforderung, die resultierenden bearbeiteten Bilder und jegliche Benachrichtigungen gesendet werden sollen.
  • Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet des Weiteren einen Ursprungsbild-Zeiger (332), der auf das ursprüngliche Bild oder Reihe an Bildern in dem Datenspeicher der medizinischen Cloud-Bild- und Datenverarbeitungsumgebung zeigt. In einigen Ausführungsformen können die ursprünglichen Bilder auf dem medizinischen Bildbearbeitungs-Gateway gespeichert werden, das die Anforderung zur Transaktion empfangen hat. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet einen Interimsbild-Zeiger (334), der auf den aktuellen Status eines Bildes oder einer Reihe von Bildern während der Ausführung der Bildbearbeitungstransaktion zeigt. Solche Bilder können vorübergehend in dem Sinne sein, dass einige der Workflows für die Bilder ausgeführt worden sind, die Bildbearbeitungstransaktion jedoch noch nicht abgeschlossen ist. Das medizinische Bild-Geschäftsobjekt (118) von 3 beinhaltet einen Ergebnisbild-Zeiger (336), der nach Abschluss der Bildbearbeitungstransaktion auf das resultierende Bild zeigt. Die Felder und Struktur des medizinischen Bild-Geschäftsobjektes (118) von 3 dienen dem Zwecke der Erläuterung und sind nicht im einschränkenden Sinne zu erachten. Geschäftsobjekte, Interim-Geschäftsobjekte und Ähnliches, was in den Ausführungsformen der vorliegenden Erfindung nützlich ist, können viele unterschiedliche Felder und andere Strukturen umfassen, wie dies den Fachleuten bekannt ist.
  • Zur weiteren Erläuterung stellt 4 ein Flussdiagramm dar, das ein beispielhaftes Verfahren zum Verwalten medizinischer Digitalbilder in einer verteilten medizinischen Digitalbild-Datenverarbeitungsumgebung gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. In einigen Ausführungsformen ist die verteilte medizinische Digitalbild-Datenverarbeitungsumgebung als eine Cloud-Datenverarbeitungsumgebung implementiert. Die medizinische Digitalbild-Datenverarbeitungsumgebung kann einen medizinischen Digitalbild-Übertragungsprotokoll-Adapter, eine medizinische Bild-Meta-Datenbank, eine Repository für medizinische Bilder und einen medizinischen Bildtransaktions-Workflow-Dispatcher umfassen.
  • Das Verfahren von 4 umfasst Empfangen (402), in dem medizinischen Digitalbild-Übertragungsprotokoll-Adapter, einer Anforderung zur Bildbearbeitungstransaktion zum Bearbeiten von einem oder mehreren der medizinischen Digitalbildern. In dem Beispiel von 4 kann die Anforderung ein zu bearbeitendes medizinisches Bild sowie Metadaten umfassen, die das medizinische Bild beschreiben. Die Metadaten, die das medizinische Bild beschreiben, können beispielsweise eine Identifikation des Bildtyps, eine Spezifikation der Bildauflösung, eine Spezifikation der Bildgröße und so weiter umfassen. In dem Beispiel von 4 kann die Anforderung des Weiteren eine Identifikation der an dem Bild durchzuführenden Bearbeitung umfassen. Die Identifikation der an dem Bild durchzuführenden Bearbeitung kann beispielsweise eine Identifikation eines Workflows umfassen, mit dem das Bild zu bearbeiten ist. In dem Beispiel von 4 kann die Anforderung gemäß einer Vielzahl von medizinischen Bildübertragungsprotokollen gesendet werden, die von dem medizinischen Digitalbild-Übertragungsprotokoll-Adapter unterstützt und von einem Erzeuger der medizinischen Bilder verwendet werden.
  • Das Verfahren von 4 umfasst Erstellen (404) eines medizinischen Bild-Geschäftsobjektes. In dem Beispiel von 4 kann das medizinische Bild-Geschäftsobjekt eine Bildbearbeitungsoperation darstellen, die ausgeführt werden soll. Das medizinische Bild-Geschäftsobjekt kann beispielsweise eine Identifikation eines oder mehrerer Workflows beinhalten, die die durchzuführende Bildbearbeitungsoperation ausführen, eine Identifikation eines Bestimmungsortes, der die Ausgabe, die durch Durchführen der Bildbearbeitungsoperation erzeugt wurde, empfängt, eine Beschreibung der Datentypen für Eingaben und Ausgaben für den einen oder mehreren Workflows, die die Bildbearbeitungsoperation durchführen, und so weiter.
  • In dem beispielhaften Verfahren von 4 kann das Erstellen (404) eines medizinischen Bild-Geschäftsobjektes in Abhängigkeit von Klassifizierungsregeln und den Inhalten der Anforderung durchgeführt werden. Klassifizierungsregeln sind Regeln, die speziell auf das Parsen und Identifizieren des Typs der Anforderung gemäß dem Protokoll und Standard zugeschnitten sind, in denen die Anforderung erstellt wurde. Die Klassifizierungsregeln können auch speziell auf das Entwickeln des medizinischen Bild-Geschäftsobjektes zugeschnitten sein, indem extrahierte Bilder und Metadaten in eine vorgegebene Struktur in dem medizinischen Bild-Geschäftsobjekt eingebracht werden. Klassifizierungsregeln können voneinander unterschiedliche Metadaten, die in voneinander unterschiedlichen Protokollen und Standards eintreffen, gelesen, verstanden, klassifiziert und gemäß einer vorgegebenen Struktur für das medizinische Bild-Geschäftsobjekt organisiert werden. Das Erstellen (404) des medizinischen Bild-Geschäftsobjektes kann durch Extrahieren von Metadaten aus der Anforderung durchgeführt werden, die das Bild gemäß dem medizinischen Bildübertragungsprotokoll der Anforderung beschreiben und die die Metadaten mit der vorgegebenen Struktur des medizinischen Bild-Geschäftsobjektes in Übereinstimmung bringen.
  • Das Verfahren von 4 umfasst des Weiteren Speichern (406) des medizinischen Bild-Geschäftsobjektes in der medizinischen Bild-Meta-Datenbank. In dem beispielhaften Verfahren von 4 kann das Speichern (406) des medizinischen Bild-Geschäftsobjektes in der medizinischen Bild-Meta-Datenbank Speichern des medizinischen Bild-Geschäftsobjektes lokal auf einem medizinischen Bildbearbeitungs-Gateway umfassen. Alternativ dazu kann Speichern (406) des medizinischen Bild-Geschäftsobjektes in der medizinischen Bild-Meta-Datenbank Bereitstellen des medizinischen Bild-Geschäftsobjektes für eine Speicherung an einem anderen Ort in dem verteilten Datenverarbeitungssystem umfassen.
  • Das Verfahren von 4 umfasst des Weiteren Speichern (408) des medizinischen Bildes in dem Repository für medizinische Bilder. In dem Beispiel von 4 kann das Speichern (408) des medizinischen Bildes in dem Repository für medizinische Bilder Beibehalten (409) des medizinischen Bildes auf einem Gateway innerhalb der medizinischen Digitalbild-Datenverarbeitungsumgebung umfassen. Solch ein Gateway kann dem Erzeuger des medizinischen Bildes so zugeteilt werden, dass alle medizinischen Bilder, die durch einen bestimmten Erzeuger von medizinischen Bildern erstellt wurden, auf einem einzelnen identifizierbaren Gateway gespeichert werden. Bestimmte Gateways können bestimmten Erzeugern beispielsweise basierend auf dem Typ von durch den Erzeuger erzeugten Bildern, basierend auf der Größe der durch den Erzeuger erzeugten Bilder und mit anderen Vorgehensweisen zugeteilt werden, wie dies den Fachleuten bekannt ist.
  • Das Verfahren von 4 umfasst des Weiteren Auswählen (410), in Abhängigkeit von den Workflow-Auswahlregeln und den Eigenschaften des medizinischen Bild-Geschäftsobjektes, einer oder mehrerer medizinischer Analyse-Workflows zum Bearbeiten des medizinischen Bildes. Workflow-Auswahlregeln sind Regeln, die speziell auf das Durchführen der Bildbearbeitungstransaktion an den medizinischen Bildern und dem medizinischen Bild-Geschäftsobjekt gemäß der von dem Gesund heitsdienstleistungsanbieter empfangenen Anforderung zugeschnitten sind. Solche Workflow-Auswahlregeln identifizieren die erforderlichen Anforderungen der Transaktion und die Workflows mit den Services auswählen, die diese Anforderungen erfüllen und wählen ebenso Workflows aus, die speziell auf die Eigenschaften jener medizinischen Bilder zugeschnitten sind, die bearbeitet werden sollen, wie beispielsweise Segmentgröße, Anzahl der Segmente, Typ an Scanner, der zu Erstellen der Bilder verwendet wird, Standards, die für die Bilder verwendet werden und viele andere mehr, wie dies den Fachleuten bekannt ist. Workflows können die Analyse zur Tumorerkennung, zum Tumorwachstum, zur Aneurysma-Erkennung, Gefäßabsonderung in einem Kopf eines Patienten und vielen anderen Erkrankungen, Workflows zur Bildkompression, Bildauflösung, Bildverteilung und viele weitere Workflows für die Bearbeitung des medizinischen Bildes umfassen, die den Fachleuten bekannt sind.
  • Das Verfahren von 4 umfasst des Weiteren Bearbeiten (412) des medizinischen Bildes der Anforderung mit den medizinischen Analyse-Workflows, wodurch ein resultierendes Geschäftsobjekt und ein resultierendes medizinisches Bild erstellt werden. Das Bearbeiten (412) des medizinischen Bildes der Anforderung mit den medizinischen Analyse-Workflows kann beispielsweise durch Ausführen der ausgewählten Workflows unter Verwendung der medizinischen Bilder und des medizinischen Bild-Geschäftsobjektes umgesetzt werden, die der angeforderten Bildbearbeitungstransaktion als Eingabe in die ausgewählten Workflows zugeordnet sind.
  • Das Verfahren von 4 umfasst des Weiteren Routing (414) in Abhängigkeit von Inhalts-Routing-Regeln und den Eigenschaften des resultierenden Geschäftsobjektes, des resultierenden medizinischen Bildes an einen oder mehrere Bestimmungsorte. Inhalts-Routing-Regeln sind Regeln, die die Art und Weise vorgeben, mit der resultierende medizinische Bilder an den Bestimmungsort geleitet werden. Solche Regeln basieren oftmals auf dem Inhalt des resultierenden medizinischen Bildes, so dass das Bild auf eine Weise an einen geeigneten Gesundheitsdienstleistungsanbieter geleitet wird, die sowohl der Sicherheit als auch dem Datenschutz entspricht. Oftmals ist der Bestimmungsort des Bildes ein in logischer oder physischer Hinsicht anderer Ort als der des Anbieters des ursprünglichen medizinischen Bildes, bevor es durch das medizinische Digitalbildbearbeitungs-Transaktionscluster bearbeitet wird. Inhalts-Routing-Regeln können auch die Art und Weise vorgeben, mit der ein Gesundheitsdienstleistungsanbieter auf die resultierenden Bilder zugreifen kann, und wer auf solche Bilder zugreifen darf.
  • Das Leiten (414) des resultierenden medizinischen Bildes gemäß dem Verfahren von 4 kann das Extrahieren von Metadaten von dem resultierenden Geschäftsobjekt, Erstellen einer Antwort auf die Anforderung, wobei die Antwort einem bestimmten Digitalbild-Übertragungsprotokoll entspricht, das für den Bestimmungsort verwendet wird, und Senden der Antwort gemäß dem bestimmten Digitalbild-Übertragungsprotokoll umfassen. Leiten (414) des resultierenden medizinischen Bildes an einen oder mehrere Bestimmungsorte kann des Weiteren Speichern des resultierenden medizinischen Bildes auf einem Gateway innerhalb der medizinischen Digitalbild-Datenverarbeitungsumgebung, die dem Erzeuger des medizinischen Bildes zugeordnet ist, umfassen und Senden der Antwort gemäß dem bestimmten Digitalbild-Übertragungsprotokoll umfasst des Weiteren Senden von in der Antwort befindlichen Datenzugriffsinformationen zum Zugreifen auf das resultierende medizinische Bild auf dem Gateway.
  • Routing (414) des resultierenden medizinischen Bildes an einen oder mehrere Bestimmungsorte in Abhängigkeit der Inhalts-Routing-Regeln und der Eigenschaften des resultierenden Geschäftsobjektes gemäß dem Verfahren von 4 umfasst des Weiteren Senden (416) einer Benachrichtigung, die das resultierende medizinische Bild beschreibt, an den einen oder die mehreren Bestimmungsorte. Beispiele einer solchen Benachrichtigung können eine E-Mail-Nachricht oder eine Textnachricht an einen Gesundheitsdienstleistungsanbieter umfassen, die den Gesund heitsdienstleistungsanbieter dahingehend informieren, dass die Antwort auf die Anforderung bereit zur Ansicht ist, oder dass die Workflows, die die medizinischen Bilder bearbeiten, Aspekte an den Bildern identifiziert haben, die einer Erkrankung wie beispielsweise einem Tumor, einer Aneurysma, Gefäßabsonderung und so weiter entsprechen, wie dies den Fachleuten bekannt ist.
  • Für eine weiterführende Erläuterung stellt 5 ein Flussdiagramm dar, das ein beispielhaftes Verfahren zum Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das beispielhafte Verfahren von 5 umfasst Identifizieren (502) durch ein Funktionsübernahme-Haltemodul (236) eines fehlgeschlagenen Zugriffs auf einen Datenspeicher (522) in einem Cluster von Computern. Das Funktionsübernahme-Haltemodul (236) von 5 ist ein Modul von Computerprogrammanweisungen, das, wenn diese ausgeführt werden, die Menge an Fehlern steuert, die in einer medizinischen Cloud-Datenverarbeitungsumgebung erzeugt werden, wenn ein Datenspeicher (522) in der medizinischen Cloud-Datenverarbeitungsumgebung nicht weiter verfügbar ist. In dem Beispiel von 5 kann der Datenspeicher (522) beispielsweise als ein Dateisystem, eine Datenbank, ein Computerspeicher, der auf einzelnen Maschinen innerhalb des Clusters von Computern vorhanden ist, ebenso wie in anderen Formen eines Datenspeichers ausgebildet sein, wie den Fachleuten bekannt ist.
  • In dem Beispiel von 5 kann das Funktionsübernahme-Haltemodul (236) einen fehlgeschlagenen Zugriff auf einen Datenspeicher (522) identifizieren (502). Ein fehlgeschlagener Zugriff auf einen Datenspeicher (522) kann beispielsweise einen fehlgeschlagenen Versuch, Daten auf den Datenspeicher (522) zu schreiben, einen fehlgeschlagenen Versuch, Daten von dem Datenspeicher (522) zu lesen und so weiter umfassen. Das Funktionsübernahme-Haltemodul (236) kann einen fehlgeschlagenen Zugriff auf einen Datenspeicher (522) beispielsweise durch Empfangen einer Mitteilung von einer Entität identifizieren, die versucht hat, auf den Datenspeicher (522) zuzugreifen, in der angezeigt wird, dass der Versuch fehlgeschlagen ist, indem Fehlerprotokolle in der medizinischen Cloud-Datenverarbeitungsumgebung überprüft werden und so weiter.
  • In dem beispielhaften Verfahren von 5 kann Identifizieren (502) eines fehlgeschlagenen Zugriffs auf einen Datenspeicher (522) Identifizieren (504), dass eine Leseoperation fehlgeschlagen ist, umfassen. Solch eine Leseoperation stellt einen Versuch zum Lesen von auf einem speziellen Speicherort des Datenspeichers (522) gespeicherten Daten dar. Der spezifische Speicherort des Datenspeichers (522) kann beispielsweise als eine virtuelle Adresse, eine reale Adresse, eine Eintragsnummer und auf andere Weise, wie den Fachleuten bekannt ist, ausgebildet sein.
  • In dem beispielhaften Verfahren von 5 kann Identifizieren (502) eines fehlgeschlagenen Zugriffs auf einen Datenspeicher (522) Identifizieren (506), dass eine Schreiboperation fehlgeschlagen ist, umfassen. Solch eine Schreiboperation stellt einen Versuch, Daten auf einen bestimmten Ort in dem Datenspeicher (522) zu schreiben, dar. Der bestimmte Ort in dem Datenspeicher (522) kann beispielsweise als eine virtuelle Adresse, eine reale Adresse, ein Wert, der anderenfalls zum Organisieren von Daten in dem Datenspeicher (522) verwendet wird und auf andere Weise, wie den Fachleuten bekannt ist, ausgebildet sein.
  • In dem Beispiel von 5 kann Identifizieren (502) eines fehlgeschlagenen Zugriffs auf einen Datenspeicher (522) Identifizieren (508) eines fehlgeschlagenen Zugriffs auf ein Dateisystem umfassen. In dem Beispiel von 5 wird ein Dateisystem auf Datenspeichern, wie beispielsweise magnetischen Speicherplatten oder optischen Platten verwendet, um den physischen Ort von Computerdateien beizubehalten. Ein Dateisystem kann Zugriff auf Daten auf einem Dateiserver durch Handeln als Clients für ein Netzwerkprotokoll, wie beispielsweise dem Network-File-System(,NFS')-Protokoll bereitstellen. Alternativ dazu kann ein Dateisystem ein virtuelles Dateisystem sein und nur als ein Zugriffsverfahren für virtuelle Daten existieren.
  • In dem beispielhaften Verfahren von 5 kann Identifizieren (502) eines fehlgeschlagenen Zugriffs auf einen Datenspeicher (522) Identifizieren (510) eines fehlgeschlagenen Zugriffs auf eine Datenbank umfassen. In dem Beispiel von 5 ist eine Datenbank eine organisierte Sammlung an Daten, die Benutzern über mehrere Ansichten dargestellt werden und die logisch innerhalb des Datenspeichers (522) organisiert sein kann. In dem Beispiel von 5 kann Identifizieren (510) eines fehlgeschlagenen Zugriffs auf eine Datenbank beispielsweise durch Bestimmen, dass der Datenspeicher (522), auf dem sich die Datenbank befindet, nicht erreichbar ist, umgesetzt werden. In dem Beispiel von 5 unterscheidet sich jedoch Identifizieren (510) eines fehlgeschlagenen Zugriffs auf eine Datenbank von einer Situation, in der auf eine Datenbank zugegriffen werden kann, jedoch kein Eintrag, der spezifischen Suchkriterien zugeordnet ist, in der zugänglichen Datenbank vorhanden ist.
  • Das beispielhafte Verfahren von 5 umfasst des Weiteren, ohne über einen Fehler zu berichten (512), Verhindern der Ausführung aller auf den Datenspeicher (522) gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher (522) identifiziert wurde. In dem Beispiel von 5 kann das Verhindern der Ausführung aller auf den Datenspeicher (522) gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher (522) identifiziert wurde, durch Verzögern des Versendens der Leseoperationen zur Ausführung umgesetzt werden. Wenn beispielsweise ein versuchter Zugriff auf den Datenspeicher (522) in der Erzeugung eines fehlgeschlagenen Zugriffs resultierte, sollten alle auf den Datenspeicher (522) gerichteten Leseoperationen bis zu einem Zeitpunkt nicht zur Ausführung versendet werden, zu dem ein Funktionsübernahme-Haltemodul (236) überprüft hat, dass auf den Datenspeicher (522) zugegriffen werden kann. Auf diese Weise kann das Funktionsübernahme-Haltemodul (236) alle der Leseoperationen bis zu einem Zeitpunkt ,halten', zu dem ein Versenden der Leseanforderungen nicht in einem fehlgeschlagenen Zugriff resultieren sollte.
  • Das beispielhafte Verfahren von 5 umfasst des Weiteren, ohne über einen Fehler zu berichten (514), Ausführung aller auf den Datenspeicher (522) gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher (522) identifiziert wurde, einschließlich dem Schreiben von Daten in einen Cache-Speicher (237). In dem Beispiel von 5 stellt der Cache-Speicher (237) eine Komponente des Datenspeichers dar, die sich von dem Datenspeicher (522) unterscheidet, der Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war. In solch einem Beispiel kann das Funktionsübernahme-Haltemodul (236) anstatt zu versuchen, eine Schreiboperation auf den Datenspeicher (522), der Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war, auszuführen, stattdessen die Schreiboperationen auf den Cache-Speicher (237) ausführen, so dass die Schreiboperation ohne Fehler ausgeführt wird.
  • Das beispielhafte Verfahren von 5 umfasst des Weiteren Identifizieren (516), dass eine Funktionsübernahme auf einen alternativen Datenspeicher (524) abgeschlossen ist. In dem Beispiel von 5 ist eine Funktionsübernahme auf einen alternativen Datenspeicher (524) dann abgeschlossen, wenn der alternative Datenspeicher (524) anstelle des Datenspeichers (522) verwendet wird, der Gegenstand des fehlgeschlagenen Zugriffs auf den Datenspeicher war. Eine Funktionsübernahme auf einen alternativen Datenspeicher (524) kann beispielsweise durch physisches Ersetzen des Datenspeichers (522) mit dem alternativen Datenspeicher (524), durch Aktualisieren einer Seitentabelle, so dass eine virtuelle Adresse, die auf den Datenspeicher (522) gezeigt hat, nun auf den alternativen Datenspeicher (524) zeigt, und mit anderen Vorgehensweisen umgesetzt werden, die den Fachleuten bekannt sind. In dem beispielhaften Verfahren von 5 kann eine Funktionsübernahme auf einen alternativen Datenspeicher (524) auch das Replizieren von Inhalten des Datenspeichers (522) innerhalb des alternativen Datenspeichers (524) so umfassen, dass der alternative Datenspeicher (524) denselben Inhalt an denselben Orten wie der Datenspeicher (522) hat.
  • Das beispielhafte Verfahren von 5 umfasst des Weiteren Kopieren (518) aus dem Cache-Speicher (237) auf den alternativen Datenspeicher (524) der Daten, die als Teil der Schreiboperationen in den Cache-Speicher (237) geschrieben wurden. In dem Beispiel von 5 wurden Daten in den Cache-Speicher (237) anstelle des Schreibens von Daten in den Datenspeicher (522) in Reaktion auf den Empfang von an den Datenspeicher (522) gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher (522) identifiziert wurde, geschrieben. Solche Daten wurden in den Cache-Speicher (237) geschrieben, ohne dass über einen Fehler berichtet wurde (514). In dem Beispiel von 5 können, da eine Funktionsübernahme auf einen alternativen Datenspeicher (524) abgeschlossen worden ist, Daten, die ursprünglich für den Datenspeicher (522) vorgesehen waren, jedoch in den Cache-Speicher (237) geschrieben wurden, aus dem Cache-Speicher (237) auf den alternativen Datenspeicher (524) kopiert werden (518). Auf diese Weise können Schreiboperationen, die in Fehlern resultiert hätten, wenn ein Versuch unternommen worden wäre, die Daten auf den Datenspeicher (522) zu schreiben, stattdessen in den Cache-Speicher (237) geschrieben werden und anschließend auf den alternativen Datenspeicher (524) kopiert werden (518), nachdem eine Funktionsübernahme auf einen alternativen Datenspeicher (524) erfolgt ist, so dass der alternative Datenspeicher (524) dieselben Inhalte hat, die der Datenspeicher (522) gehabt hätte, wenn der fehlgeschlagene Zugriff nicht aufgetreten wäre.
  • Das beispielhafte Verfahren von 5 umfasst des Weiteren Ausführen (520) aller gehaltenen Leseoperationen, die auf den Datenspeicher (522) gerichtet waren, einschließlich des Lesens von Daten von dem alternativen Datenspeicher (524). In dem Beispiel von 5 wurden alle auf den Datenspeicher (522) gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher (522) identifiziert wurde, an der Ausführung gehindert, ohne dass dabei über einen Fehler berichtet wurde (512). Nachdem eine Funktionsübernahme auf einen alternativen Datenspeicher (524) erfolgt ist, können solche Leseoperationen ausgeführt werden (520), indem die Leseoperationen an den alternativen Datenspeicher (524) gerichtet werden. Die Leseoperationen können ausgeführt werden (520), indem die Leseoperationen an den alternativen Datenspeicher (524) gerichtet werden, da eine Funktionsübernahme auf einen alternativen Datenspeicher (524) abgeschlossen ist, und als solcher kann auf den alternativen Datenspeicher (524) zugegriffen werden, so als ob er der ursprüngliche Datenspeicher (522) wäre, auf den nicht zugegriffen werden konnte. Auf diese Weise können Leseoperationen, die in Fehlern resultiert hätten, verzögert werden und anschließend ausgeführt werden, nachdem eine Funktionsübernahme auf einen alternativen Datenspeicher (524) erfolgt ist, wodurch die Ausführung der Leseoperationen ermöglicht wird.
  • Für eine weiterführende Erläuterung stellt 6 ein Flussdiagramm dar, das ein beispielhaftes Verfahren zum Verwalten der Wartung eines Clusters von Computern gemäß Ausführungsformen der vorliegenden Erfindung veranschaulicht. Das beispielhafte Verfahren von 6 umfasst Identifizieren (602) durch ein Funktionsübernahme-Haltemodul (236) einer oder mehrerer geplanter Wartungsoperationen, die an dem Cluster von Computern ausgeführt werden sollen. In dem Beispiel von 6 sind die eine oder mehreren geplanten Wartungsoperationen Operationen, die dafür gedacht sind, den Betrieb des Clusters von Computern auf den erwarteten Leistungsniveaus zu halten. Beispiele von geplanten Wartungsoperationen umfassen beispielsweise das Sichern von Daten, Durchführen von Software-Updates, Ausführen von Anti-Virus-Software, und so weiter. In dem beispielhaften Verfahren von 6 können die eine oder mehreren geplanten Wartungsoperationen, die an dem Cluster von Computern ausgeführt werden sollen, Sichern des Datenspeichers (522) an dem Cluster von Computern umfassen. Das Sichern des Datenspeichers (522) an dem Cluster von Computern kann beispielsweise durch Kopieren sämtlicher in dem Datenspeicher (522) an dem Cluster von Computer enthaltenen Daten in einen ausgelagerten Speicher durchgeführt werden.
  • Das beispielhafte Verfahren von 6 umfasst des Weiteren Initiieren (604) der Ausführung der geplanten Wartungsoperationen. Initiieren (694) der Ausführung der geplanten Wartungsoperationen kann beispielsweise durch Ausführen eines Softwaremoduls umgesetzt werden, das Wartungsoperationen durchführt. So kann beispielsweise ein Softwaremodul, das eine Datensicherung durchführt, ausgeführt werden, um Datensicherungs-Wartungsoperationen zu initiieren (694), ein Softwaremodul, das ein Betriebssystem-Update durchführt, kann zum Initiieren (604) von Systemupdate-Wartungsoperationen ausgeführt werden und so weiter.
  • Das beispielhafte Verfahren von 6 umfasst des Weiteren, ohne über einen Fehler zu berichten (606), Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde. In dem Beispiel von 6 kann das Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, durch Verzögern des Versendens der Zugriffsanforderungen auf den Datenspeicher (522) zur Ausführung umgesetzt werden. Wurde beispielsweise der Datenspeicher (522) auf einen ausgelagerten Speicher gesichert, kann das Ausführen einer Zugriffsanforderung auf den Datenspeicher (522) dazu führen, dass der Datenspeicher (522) so verändert wird, dass die Sicherung des Datenspeichers (522) nicht mehr aktuell ist, bevor die Sicherung überhaupt abgeschlossen ist. In solch einem Fall kann das Funktionsübernahme-Haltemodul (236) alle der Zugriffsanforderungen auf den Datenspeicher (522) bis zu einem Zeitpunkt halten, zu dem die Sicherung des Datenspeichers (522) abgeschlossen ist.
  • In dem beispielhaften Verfahren von 6 kann Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Speichern (608) in einen Cache-Speicher (237) sämtlicher Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, umfassen. In dem Beispiel von 6 stellt der Cache-Speicher (237) eine Komponente des Datenspeichers (522) dar, der sich von dem Datenspeicher (522), auf den die Zugriffsanforderung auf den Datenspeicher (522) gerichtet war, unterscheidet. In solch einem Beispiel kann, anstelle des Versuches, einen Zugriff auf den Datenspeicher (522) eines Systems auszuführen, das Wartungsoperationen ausführt, das Funktionsübernahme-Haltemodul (236) stattdessen sämtliche Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, in den Cache-Speicher (237) speichern (608), so dass die Zugriffsanforderungen auf den Datenspeicher (522) bei Abschluss der Wartungsoperationen ausgeführt werden können.
  • Das beispielhafte Verfahren von 6 umfasst des Weiteren Bestimmen (610), dass die geplanten Wartungsoperationen abgeschlossen sind. In dem Beispiel von 6 kann das Bestimmen (610), dass die geplanten Wartungsoperationen abgeschlossen sind, beispielsweise durch Empfangen einer Benachrichtigung, die anzeigt, dass die geplanten Wartungsoperationen durch Ablauf eines vorgegebenen Zeitraums seit Beginn der geplanten Wartungsoperation, durch Identifizieren der Prozesse, die an einem bestimmten Computer in dem Cluster von Computern ausgeführt werden und Bestimmen, dass all die Prozesse, die Teil der geplanten Wartungsoperationen sind, nicht weiter ausgeführt werden, sowie mit anderen Vorgehensweisen umgesetzt werden, die den Fachleuten bekannt sind.
  • Das beispielhafte Verfahren von 6 umfasst des Weiteren Ausführen (612) aller Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde. In dem Beispiel von 6 kann Ausführen (612) aller Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, beispielsweise durch Abrufen der Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, aus dem Cache-Speicher (237) umgesetzt werden. In solch einem Beispiel kann das Ausführen (612) aller Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, des Weiteren durch Versenden solcher Zugriffsanforderungen auf den Datenspeicher (522) zur Ausführung umgesetzt werden, nachdem die Zugriffsanforderungen auf den Datenspeicher (522) aus dem Cache-Speicher (237) abgerufen worden sind.
  • In dem beispielhaften Verfahren von 6 kann eine Zugriffsanforderung auf den Datenspeicher (522) als eine Schreiboperation ausgebildet sein. In solch einem Beispiel kann das Ausführen (612) aller Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Ausführen (614) aller Schreibanforderungen, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, umfassen. In dem Beispiel von 6 kann eine Zugriffsanforderung auf den Datenspeicher (522) auch als eine Leseoperation ausgebildet sein. In solch einem Beispiel kann das Ausführen (612) aller Zugriffsanforderungen auf den Datenspeicher (522), die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Ausführen (616) aller Leseanforderungen, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, umfassen.
  • Wie dies vorstehend erwähnt wurde, gilt eine Cloud-Datenverarbeitungsumgebung, die in Ausführungsformen der vorliegenden Erfindung nützlich ist, als serviceorientiert mit einem Hauptaugenmerk auf Statuslosigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Zentrum der Cloud-Datenverarbeitung steht eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten aufweist. Für eine weiterführende Erläuterung stellt 7 ein Blockschaltbild eines Beispiels eines Cloud-Datenverarbeitungsknotens dar, der gemäß Ausführungsformen der vorliegenden Erfindung nützlich ist. Der Cloud-Datenverarbeitungsknoten (10) ist lediglich ein Beispiel eines geeigneten Cloud-Datenverarbeitungsknotens und beabsichtigt keine Beschränkung im Hinblick auf den Nutzungsumfang oder die Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung. Ungeachtet dessen kann der Cloud-Datenverarbeitungsknoten (10) als jede beliebige der vorstehend beschriebenen Funktionalitäten implementiert werden und/oder diese ausführen.
  • Der Cloud-Datenverarbeitungsknoten (10) kann mit einer Vielzahl von anderen Universal- oder speziellen Datenverarbeitungssystem-Umgebungen oder solchen Konfigurationen betrieben werden. Beispiele gut bekannter Datenverarbeitungssysteme, -umgebungen, und/oder -konfigurationen, die für die Verwendung mit dem Cloud-Datenverarbeitungsknoten (10) geeignet sind, schließen ein, ohne darauf beschränkt zu sein, Personalcomputersysteme, Servercomputersysteme, dünne Clients, dicke Clients, Handheld- oder Laptopeinheiten, Multiprozessorsysteme, mikroprozessorbasierte Systeme, Set-Top-Boxes, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnercomputersysteme und verteilte Cloud-Datenverarbeitungsumgebungen, die jedes beliebige der vorstehend genannten Systeme oder Einheiten und Ähnliche umfassen.
  • Der Cloud-Datenverarbeitungsknoten (10) kann im allgemeinen Kontext von durch Computersysteme ausführbare Anweisungen beschrieben werden, wie beispielsweise Programmmodulen, die von einem Computersystem ausgeführt werden. Im Allgemeinen umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Der Cloud-Datenverarbeitungsknoten (10) kann in verteilten Cloud-Datenverarbeitungsumgebungen praktiziert werden, wo Tasks von fernen Datenverarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk miteinander verbunden sind. In einer verteilten Cloud-Datenverarbeitungsumgebung können sich Programmmodule in sowohl lokalen als auch fernen Computersystem-Speichermedien befinden, einschließlich Datenspeichereinheiten.
  • Wie dies in 7 dargestellt ist, wird der Cloud-Datenverarbeitungsknoten (10) in Form einer Universal-Datenverarbeitungseinheit dargestellt. Die Komponenten des Cloud-Datenverarbeitungsknotens (10) können, ohne darauf beschränkt zu sein, einen oder mehrere Prozessoren oder Datenverarbeitungseinheiten (16), einen Systemspeicher (28) und einen Bus (18) umfassen, der verschiedene Systemkomponenten einschließlich den Systemspeicher (28) mit dem Prozessor (16) verbindet.
  • Der Bus (18) stellt in dem Beispiel von 7 einen oder mehrere von beliebigen verschiedenen Typen von Busstrukturen, einschließlich einem Speicherbus oder Speicher-Controller, einem Peripheriebus, einem beschleunigten Grafikport und einem Prozessorbus oder lokalen Bus, der eine beliebige einer Reihe verschiedener Busarchitekturen verwendet, dar. Im Sinne eines Beispiels und nicht im einschränkenden Sinne umfassen solche Architekturen einen Industry-Standard-Architecture(,ISA')-Bus, einen Micro-Channel-Architecture(,MCA')-Bus, einen Enhanced-ISA(,EISA')-Bus, einen lokalen Video-Electronics-Standards-Association(,VESA')-Bus, und einen Peripheral-Component-Interconnects(,PCI')-Bus.
  • Der Cloud-Datenverarbeitungsknoten (10) von 7 umfasst oftmals eine Reihe verschiedener von Computersystemen lesbarer Medien. Solche Medien können jede beliebigen Medien sein, auf die der Cloud-Datenverarbeitungsknoten (10) zugreifen kann, und sie umfassen sowohl flüchtige als auch nicht flüchtige Medien, entnehmbare und nicht entnehmbare Medien.
  • Der Systemspeicher (28) in dem Beispiel von 7 kann von Computersystemen lesbare Medien in Form flüchtiger Speicher, wie beispielsweise Arbeitsspeicher (,RAM') (30) und/oder Cache-Speicher (32) umfassen. Der Cloud-Datenverarbeitungsknoten (10) kann des Weiteren andere entnehmbare/nicht entnehmbare, flüchtige/nicht flüchtige Computersystemspeichermedien umfassen. Im Sinne eines Beispiels kann ein Speichersystem (34) zum Lesen von und Schreiben auf ein nicht entnehmbares, nicht flüchtiges Magnetmedium (nicht dargestellt und typischerweise „Festplattenlaufwerk” genannt) bereitgestellt werden. Obgleich nicht dargestellt, kann ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine entnehmbare, nicht flüchtige magnetische Platte (z. B. Floppy Disk) und ein optisches Plattenlaufwerk zum Lesen von und Schreiben auf eine entnehmbare, nicht flüchtige optische Platte wie beispielsweise eine CD-ROM, DVD-ROM bereitgestellt werden, oder es wird ein anderes optisches Medium bereitgestellt. In solchen Fällen kann jedes mit dem Bus 18 durch eine oder mehrere Datenmedienschnittstellen verbunden sein. Wie dies im weiteren Verlauf dargestellt und beschrieben wird, kann der Speicher (28) wenigstens ein Programmprodukt umfassen, das einen Satz (z. B. wenigstens einen) an Programmmodulen umfasst, die so konfiguriert sind, dass sie die Funktionen der Ausführungsformen der Erfindung ausführen.
  • Das Beispiel von 7 umfasst ein Programm/Dienstprogramm (40), das einen Satz (wenigstens einen) von Programmmodulen (42) aufweist, die in dem Speicher (28) gespeichert werden können. Der Cloud-Datenverarbeitungsknoten (10) von 7 kann auch ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten umfassen. Jedes des Betriebsystems, eines oder mehrerer Anwendungsprogramme, anderer Programmmodule und Programmdaten oder eine Kombination davon kann eine Implementierung einer Netzwerkumgebung umfassen. Programmmodule (42) führen im Allgemeinen die Funktionen und/oder Methodiken der Ausführungsformen der Erfindung in ihrer hierin beschriebenen Form durch.
  • Der Cloud-Datenverarbeitungsknoten (10) von 7 kann auch mit einer oder mehreren externen Einheiten (14) wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige (24) und so weiter kommunizieren, mit denen ein Benutzer mit dem Cloud-Datenverarbeitungsknoten (10) interagieren kann. Der Cloud-Datenverarbeitungsknoten (10) kann des Weiteren jegliche beliebige Einheiten umfassen (z. B. Netzwerkkarte, Modem, usw.), mit denen der Cloud-Datenverarbeitungsknoten (10) mit einer oder mehreren Datenverarbeitungseinheiten kommunizieren kann. Solch eine Kommunikation kann beispielsweise über E/A-Schnittstellen (22) erfolgen. Des Weiteren kann der Cloud-Datenverarbeitungsknoten (10) über einen Netzwerkadapter (20) mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netzwerk (,LAN'), einem allgemeinen Weitverkehrsnetzwerk (,WAN') und/oder einem öffentlichen Netzwerk (z. B. dem Internet) kommunizieren. Wie dies dargestellt ist, kommuniziert der Netzwerkadapter (20) mit den anderen Komponenten des Cloud-Datenverarbeitungsknotens (10) über den Bus (18). Hierbei sollte beachtet werden, dass, obgleich dies nicht dargestellt ist, andere Hardware und/oder Softwarekomponenten zusammen mit dem Cloud-Datenverarbeitungsknoten (10) verwendet werden können. Beispiele sind einschließlich, jedoch nicht beschränkt auf, Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerkanordnungen, RAID-Systeme, Bandlaufwerke, Datenarchivspeichersysteme und so weiter.
  • Für eine weiterführende Erläuterung stellt 8 eine Zeichnung einer beispielhaften Cloud-Datenverarbeitungsumgebung (50) dar. Die Cloud-Datenverarbeitungsumgebung (50) von 8 umfasst einen oder mehrere Cloud-Datenverarbeitungsknoten (10), mit denen die lokalen Datenverarbeitungseinheiten, die von den Cloud-Nutzern verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Zellulartelefon (54A), Desktopcomputer (54B), Laptopcomputer (54C) und/oder Automobilcomputersystem (54N) kommunizieren kann. Die Cloud-Datenverarbeitungsknoten (10) können miteinander kommunizieren. Sie können physisch oder virtuell, in einem oder mehreren Netzwerken, wie beispielsweise Private, Community, Public oder Hybrid Clouds (nicht dargestellt), wie dies hierin vorstehend beschrieben wurde, oder als eine Kombination davon gruppiert werden. Dadurch wird der Cloud-Datenverarbeitungsumgebung (50) ermöglicht, Infrastruktur, Plattformen und/oder Software als Services anzubieten, für die ein Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit unterhalten muss. Es ist bekannt, dass die Typen von Datenverarbeitungseinheiten (54A bis N), die in 8 dargestellt sind, lediglich dem veranschaulichenden Zwecke dienen und dass Datenverarbeitungsknoten (10) und die Cloud-Datenverarbeitungsumgebung (50) mit jedem beliebigen Typ von computerisierter Einheit über jeden beliebigen Typ von Netzwerk und/oder netzwerkadressierbarer Verbindung (z. B. unter Verwendung eines Webbrowsers) kommunizieren kann.
  • Für eine weiterführende Erläuterung stellt 9 eine Zeichnung dar, die einen beispielhaften Satz funktionaler Abstraktionsebenen, der von einer Cloud-Datenverarbeitungsumgebung (50 in 8) bereitgestellt wird, zeigt. Es sollte vorab beachtet werden, dass die Komponenten, Ebenen und Funktionen, die in 9 dargestellt sind, lediglich dem veranschaulichenden Zweck dienen und die Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dies dargestellt ist, werden die folgenden Ebenen und entsprechenden Funktionen bereitgestellt:
    Das Beispiel von 9 umfasst eine Hardware- und Software-Ebene (60). Die Hardware- und Software-Ebene (60) in dem Beispiel von 9 umfasst Hardware- und Softwarekomponenten. Beispiele von Hardwarekomponenten umfassen Großrechner, in einem Beispiel IBM® zSeries®-Systeme; auf RISC(Reduced Instruction Set Computer)-Architektur basierende Server, in einem Beispiel IBM pSeries®-Systeme; IBM xSeries®-Systeme; IBM BladeCenter®-Systeme; Speichereinheiten; Netzwerke und Netzwerkkomponenten. Beispiele von Softwarekomponenten umfassen Netzwerk-Anwendungsserversoftware, in einem Beispiel IBM WebSphere®-Anwendungsserversoftware; und Datenbanksoftware, in einem Beispiel IBM DB2®-Datenbanksoftware. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, und DB2 sind Marken der International Business Machines Corporation, die weltweit in vielen Jurisdiktionen eingetragen sind).
  • Das Beispiel von 9 umfasst eine Virtualisierungsebene (62). Die Virtualisierungsebene (62) von 9 stellt eine Abstraktionsebene bereit, von der die folgenden Beispiele an virtuellen Entitäten bereitgestellt werden können: virtuelle Server; virtuelle Speicher; virtuelle Netzwerke, einschließlich virtueller privater Netzwerke; virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients.
  • Das Beispiel von 9 umfasst des Weiteren eine Verwaltungsebene (64). Die Verwaltungsebene (64) kann die nachstehend beschriebenen Funktionen bereitstellen. Mit der Ressourcenbereitstellung wird eine dynamische Beschaffung von Datenverarbeitungsressourcen und anderen Ressourcen, die zum Durchführen von Aufgaben innerhalb der Cloud-Datenverarbeitungsumgebung verwendet werden, gewährleistet. Messen und Preisfestsetzung gewährleisten Kostennachverfolgung, da Ressourcen innerhalb der Cloud-Datenverarbeitungsumgebung verwendet werden, und Rechnungslegung oder Abrechnung für den Verbrauch dieser Ressourcen. In einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Sicherheit gewährleistet Identitätsüberprüfung für Cloud-Nutzer und Tasks, ebenso wie Schutz für Daten und andere Ressourcen. Benutzerportal gewährleistet Zugriff auf die Cloud-Datenverarbeitungsumgebung für Nutzer und Systemverwalter. Serviceebenen-Verwaltung gewährleistet Ressourcenzuteilung für Cloud-Datenverarbeitung und Verwaltung, so dass die erforderlichen Serviceebenen erfüllt werden. Service-Level-Agreement(SLA)-Planung und Erfüllung gewährleisten die Vor-Anordnung und Beschaffung von Cloud-Datenverarbeitungsressourcen, für die eine zukünftige Anforderung gemäß einer SLA antizipiert wird.
  • Das Beispiel von 9 umfasst des Weiteren eine Workflow-Ebene (66). Die Workflow-Ebene (66) von 9 liefert Beispiele von Funktionalität, für die die Cloud-Datenverarbeitungsumgebung verwendet werden kann. Beispiele von Workflows und Funktionen, die von dieser Ebene bereitgestellt werden können, umfassen: Abbilden und Navigation; Softwareentwicklung und Lebensdauermanagement; Bereitstellung virtueller Klassenzimmerbildung; Datenanalyseverarbeitung und Transaktionsverarbeitung.
  • Die Workflow-Ebene (66) kann Funktionsübernahme-Operationen an einem Cluster von Computern ausführen, umfassend: Identifizieren, durch ein Funktionsübernahme-Haltemodul, eines fehlgeschlagenen Zugriffs auf einen Datenspeicher in dem Cluster von Computern; Verhindern der Ausführung sämtlicher an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde; Ausführen sämtlicher an den Datenspeicher gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in einen Cache-Speicher; Identifizieren, dass eine Funktionsübernahme auf alternative Datenspeicher abgeschlossen ist; Ausführen der gehaltenen Leseoperationen, einschließlich des Lesens von Daten von dem alternativen Datenspeicher; und Kopieren, aus dem Cache-Speicher auf den alternativen Datenspeicher, der Daten, die als Teil der Schreiboperationen in den Cache-Speicher geschrieben wurden.
  • Wie dies den Fachleuten bekannt ist, können Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt ausgebildet sein.
  • Dementsprechend können Aspekte der Erfindung als reine Hardware-Ausführungsform, reine Software-Ausführungsform (unter anderem Firmware, residente Software, Mikrocode, usw.) oder als eine Ausführungsform ausgebildet sein, die Software- und Hardware-Aspekte kombiniert, die hierin allesamt gemeinhin als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Erfindung als Computerprogrammprodukt ausgebildet sein, das in einem oder mehreren computerlesbaren Medium/Medien mit einem darin enthaltenen, computerlesbaren Programmcode, enthalten ist.
  • Es kann jede beliebige Kombination aus einem oder mehreren computerlesbaren Medium/Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann zum Beispiel unter anderem ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Vorrichtung oder Einheit oder jede beliebige geeignete Kombination der vorstehend Genannten sein. Konkretere Beispiele (eine ergänzbare Liste) des computerlesbaren Speichermediums würden die Folgenden umfassen: eine elektrischer Verbindung mit einer oder mehr Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Arbeitsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein elektronisch löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Memory), ein Lichtwellenleiter, ein tragbarer CD-Nur-Lesespeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige Kombination der vorstehend Genannten. Im Kontext dieses Dokumentes kann ein computerlesbares Speichermedium jegliches materielle Medium sein, das ein Programm zur Verwendung durch ein oder im Zusammenhang mit einem Befehlsausführungssystem, einer solchen Vorrichtung oder Einheit enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein weitergegebenes Datensignal mit einem darin enthaltenen, computerlesbaren Programmcode, beispielsweise im Basisband oder als Teil einer Trägerwelle sein. Solch ein weitergegebenes Signal kann jede beliebige einer Reihe verschiedener Formen, unter anderem elektromagnetische, optische oder jede beliebige geeignete Kombination daraus beinhalten. Ein computerlesbares Signalmedium kann jegliches computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder im Zusammenhang mit einem Befehlsausführungssystem, einer solcher Vorrichtung oder Einheit übertragen, weitergeben oder senden kann.
  • Ein in einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines jeden beliebigen geeigneten Mediums, unter anderem drahtlos, drahtgebunden, Lichtwellenleiter, HF usw. oder einer jeden beliebigen geeigneten Kombination der vorstehend Genannten übertragen werden.
  • Der Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder beliebigen Kombination aus einer oder mehreren Programmiersprachen, unter anderem einer objektorientierten Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder Ähnlichen und herkömmlichen prozeduralen Programmiersprachen wie beispielsweise die ”C”-Programmiersprache oder ähnlichen Programmiersprachen, geschrieben werden. Der Programmcode kann gänzlich auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als ein Stand-alone-Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder gänzlich auf dem fernen Computer oder Server ausgeführt werden. In dem letzten Szenario kann der ferne Computer über jede beliebige Art von Netzwerk, unter anderem ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann zu einem externen Computer (beispielsweise über das Internet unter Verwendung eines Internet-Service-Providers) hergestellt werden.
  • Vorstehend werden Aspekte der vorliegenden Erfindung in Bezug auf die Veranschaulichungen der Ablaufpläne und/oder die Blockschaltbilder der Verfahren, Vorrichtungen (Systeme) und Computerprogrammprodukte gemäß Ausführungsformen der Erfindung beschrieben. Es ist offensichtlich, dass jeder Block der Veranschaulichungen der Ablaufpläne und/oder der Blockschaltbilder sowie Kombinationen aus Blöcken in den Veranschaulichungen der Ablaufpläne und/oder der Blockschaltbilder von Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universal-Computers, Spezial-Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, und zwar so, dass mit den Anweisungen, die über den Prozessor des Computers oder die anderen Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zur Implementierung der in dem Ablaufplan und/oder dem Block oder den Blöcken der Blockschaltbilder spezifizierten Funktionen/Schritte geschaffen werden.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden und leiten einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten an, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel produzieren, der die Anweisungen enthält, mit denen die/der in dem Ablaufplan und/oder dem Block oder den Blöcken der Blockschaltbilder spezifizierte Funktion/Schritt implementiert wird.
  • Die Computerprogrammanweisungen können auch auf einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten geladen werden, um eine Reihe von Arbeitsschritten zu veranlassen, die auf dem Computer, anderen programmierbaren Datenverarbeitungsvorrichtungen oder andere Einheiten auszuführen sind, um ein computerimplementiertes Verfahren so zu schaffen, dass die Anweisungen, die auf dem Computer oder anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zum Implementieren der in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaltbildes spezifizierten Funktionen/Schritte bereitstellen.
  • Die Flussdiagramme und Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität, und Betriebsweise möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder Blockschaltbild ein Modul, Segment, oder Codeabschnitt darstellen, der eine oder mehrere computerausführbare Anweisungen zum Implementieren der spezifizierten logischen Funktion(en) umfasst. Es sollte ebenfalls beachtet werden, dass in einigen alternativen Implementierungen die in dem Block angemerkten Funktionen außerhalb der in den Figuren dargestellten Reihenfolge erscheinen kann. So können beispielsweise zwei Blöcke, die aufeinanderfolgend dargestellt sind, im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können mitunter in umgekehrter Reihenfolge, je nach der beteiligten Funktionalität, ausgeführt werden. Darüber hinaus sollte beachtet werden, dass jeder Block der Blockschaltbilder und/oder Veranschaulichung der Flussdiagramme und Kombinationen aus Blöcken in den Blockschaltbildern und/oder Veranschaulichungen der Flussdiagramme von speziellen hardwarebasierten Systemen implementiert werden können, die die spezifizierten Funktionen oder Schritte ausführen, oder durch Kombinationen aus spezieller Hardware- und Computeranweisungen.
  • Anhand der vorstehenden Beschreibung ist offensichtlich, dass an den verschiedenen Ausführungsformen der vorliegenden Erfindung Modifizierungen und Änderungen vorgenommen werden können. Die Beschreibungen in dieser Spezifikation dienen lediglich Veranschaulichungszwecken und sind nicht in einem beschränkenden Sinne zu erachten. Der Umfang der vorliegenden Erfindung wird lediglich durch die Sprache der folgenden Ansprüche begrenzt.

Claims (14)

  1. Verfahren zum Verwalten von Funktionsübernahme-Operationen in einem Cluster von Computern, wobei das Verfahren aufweist: Identifizieren, durch ein Funktionsübernahme-Haltemodul, eines fehlgeschlagenen Zugriffs auf einen Datenspeicher in dem Cluster von Computern; Verhindern des Ausführens sämtlicher an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf einen Datenspeicher identifiziert wurde; und Ausführen sämtlicher an den Datenspeicher gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf einen Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in einen Cache-Speicher; Identifizieren, dass eine Funktionsübernahme auf einen alternativen Datenspeicher vollständig ist; Kopieren, von einem Cache-Speicher auf den alternativen Datenspeicher, der Daten, die als Teil der Schreiboperationen in den Cache-Speicher geschrieben wurden; und Ausführen gehaltener Leseoperationen, einschließlich des Lesens von Daten von dem alternativen Datenspeicher.
  2. Verfahren nach Anspruch 1, wobei das Identifizieren eines fehlgeschlagenen Zugriffs auf einen Datenspeicher Identifizieren, dass eine Leseoperation fehlgeschlagen ist und/oder Identifizieren, dass eine Schreiboperation fehlgeschlagen ist umfasst, und/oder, Identifizieren eines fehlgeschlagenen Zugriffs auf ein Dateisystem und/oder Identifizieren eines fehlgeschlagenen Zugriffs auf eine Datenbank umfasst.
  3. Verfahren zum Verwalten der Wartung eines Clusters von Computern, wobei das Verfahren aufweist: Identifizieren, durch ein Funktionsübernahme-Modul, einer oder mehrerer geplanter Wartungsoperationen, die an dem Cluster von Computern durchgeführt werden sollen; Initiieren der Ausführung der geplanten Wartungsoperationen; Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde; Bestimmen, dass die geplanten Wartungsoperationen abgeschlossen sind; und Ausführen sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  4. Verfahren nach Anspruch 3, wobei das Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, des Weiteren Speichern, in einem Cache-Speicher, sämtlicher Zugriffsanforderungen auf den Datenspeicher aufweist, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  5. Verfahren nach Anspruch 3 oder 4, wobei das Ausführen sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Ausführen sämtlicher Schreibanforderungen umfasst, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert würde.
  6. Verfahren nach Anspruch 3, 4 oder 5, wobei das Ausführen sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Ausführen sämtlicher Leseanforderungen umfasst, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  7. Verfahren nach einem beliebigen der Ansprüche 3 bis 6, wobei die eine oder mehreren geplanten Wartungsoperationen, die an dem Cluster von Computern durchgeführt werden soll, Sicherung der Datenspeicherung an dem Cluster von Computern umfasst.
  8. Vorrichtung zum Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern, wobei die Vorrichtung einen Computerprozessor, einen Computerspeicher, der operativ mit dem Computerprozessor verbunden ist, aufweist, wobei der Computerspeicher Computerprogrammanweisungen in sich angeordnet hat, die, wenn diese von dem Computerprozessor ausgeführt werden, den Computerprozessor dazu veranlassen, die Schritte auszuführen des: Identifizierens, durch ein Funktionsübernahme-Modul, eines fehlgeschlagenen Zugriffs auf einen Datenspeicher in dem Cluster von Computern; Verhinderns der Ausführung sämtlicher an den Datenspeicher gerichteten Leseoperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde; und Ausführens sämtlicher an den Datenspeicher gerichteten Schreiboperationen, die empfangen wurden, nachdem der fehlgeschlagene Zugriff auf den Datenspeicher identifiziert wurde, einschließlich des Schreibens von Daten in einen Cache-Speicher; Identifizierens, dass eine Funktionsübernahme auf einen alternativen Datenspeicher abgeschlossen ist; Kopierens, von einem Cache-Speicher auf den alternativen Datenspeicher, der Daten, die als Teil der Schreiboperationen in den Cache-Speicher geschriebenen wurden; und Ausführens der gehaltenen Leseoperationen, einschließlich des Lesens von Daten aus dem alternativen Datenspeicher.
  9. Vorrichtung nach Anspruch 11, wobei Identifizieren eines fehlgeschlagenen Zugriffs auf den Datenspeicher Identifizieren, dass eine Leseoperation fehlgeschlagen ist und/oder Identifizieren, dass eine Schreiboperation fehlgeschlagen ist und/oder Identifizieren, dass ein Zugriff auf ein Dateisystem fehlgeschlagen ist und/oder Identifizieren, dass ein Zugriff auf eine Datenbank fehlgeschlagen ist, umfasst.
  10. Vorrichtung zum Verwalten einer Wartung eines Clusters von Computern, wobei die Vorrichtung einen Computerprozessor, einen Computerspeicher, der operativ mit dem Computerprozessor verbunden ist, aufweist, wobei der Computerspeicher Computerprogrammanweisungen in sich angeordnet hat, die, wenn diese von dem Computerprozessor ausgeführt werden, den Computer veranlassen, die Schritte durchzuführen, des: Identifizierens, durch ein Funktionsübernahme-Modul, eines oder mehrerer geplanter Wartungsoperationen, die an dem Cluster von Computern ausgeführt werden sollen; Initiierens der Ausführung der geplanten Wartungsoperationen; Verhinderns der Ausführung sämtlicher Zugriffsanforderungen auf einen Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde; Bestimmens, dass die geplanten Wartungsoperationen abgeschlossen sind; und Ausführens sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  11. Vorrichtung nach Anspruch 10, wobei Verhindern der Ausführung sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, des Weiteren Speichern, in einem Cache-Speicher, sämtlicher Zugriffsanforderungen auf den Datenspeicher aufweist, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  12. Vorrichtung nach Anspruch 10 oder 11, wobei Ausführen sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Ausführen sämtlicher Schreibanforderungen umfasst, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  13. Vorrichtung nach Anspruch 10, 11 oder 12, wobei Ausführen sämtlicher Zugriffsanforderungen auf den Datenspeicher, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde, Ausführen sämtlicher Leseanforderungen umfasst, die empfangen wurden, nachdem die Ausführung der geplanten Wartungsoperationen initiiert wurde.
  14. Vorrichtung nach einem beliebigen der Ansprüche 10 bis 13, wobei die eine oder mehreren geplanten Wartungsoperationen, die an dem Cluster von Computern ausgeführt werden sollen, Sichern der Datenspeicher an dem Cluster von Computern umfasst.
DE102012218329.9A 2011-10-18 2012-10-09 Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern Active DE102012218329B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/275,394 US8726065B2 (en) 2011-10-18 2011-10-18 Managing failover operations on a cluster of computers
US13/275,394 2011-10-18

Publications (2)

Publication Number Publication Date
DE102012218329A1 true DE102012218329A1 (de) 2013-04-18
DE102012218329B4 DE102012218329B4 (de) 2021-04-08

Family

ID=47294431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012218329.9A Active DE102012218329B4 (de) 2011-10-18 2012-10-09 Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern

Country Status (3)

Country Link
US (2) US8726065B2 (de)
DE (1) DE102012218329B4 (de)
GB (1) GB2495824A (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726065B2 (en) 2011-10-18 2014-05-13 International Business Machines Corporation Managing failover operations on a cluster of computers
US20130159487A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
US8856583B1 (en) * 2012-01-20 2014-10-07 Google Inc. Failover operation on a replicated distributed database system while maintaining access invariance
US9904689B2 (en) * 2012-07-13 2018-02-27 Facebook, Inc. Processing a file system operation in a distributed file system
US9607001B2 (en) 2012-07-13 2017-03-28 Facebook, Inc. Automated failover of a metadata node in a distributed file system
US9026846B2 (en) * 2013-03-15 2015-05-05 Lsi Corporation Data recovery in a raid controller by offloading contents of DRAM to a flash module on an SAS switch
US20140325261A1 (en) * 2013-04-26 2014-10-30 Lsi Corporation Method and system of using a partition to offload pin cache from a raid controller dram
US9600374B2 (en) 2013-06-21 2017-03-21 Lexmark International Technology Sarl System and methods of managing content in one or more repositories
US9826054B2 (en) 2013-06-21 2017-11-21 Kofax International Switzerland Sarl System and methods of pre-fetching content in one or more repositories
EP3011488B8 (de) * 2013-06-21 2020-09-30 Hyland Switzerland Sàrl System und verfahren zum verwalten von inhalten in einem oder mehreren speichern
US10180881B2 (en) 2016-08-19 2019-01-15 Bank Of America Corporation System for increasing inter-application processing efficiency by transmitting failed processing work over a processing recovery network for resolution
US10459811B2 (en) * 2016-08-19 2019-10-29 Bank Of America Corporation System for increasing intra-application processing efficiency by transmitting failed processing work over a processing recovery network for resolution
US10270654B2 (en) 2016-08-19 2019-04-23 Bank Of America Corporation System for increasing computing efficiency of communication between applications running on networked machines
US10459849B1 (en) * 2018-08-31 2019-10-29 Sas Institute Inc. Scheduling operations in an access-controlled region of memory
US11695853B1 (en) * 2022-04-07 2023-07-04 T-Mobile Usa, Inc. Content management systems providing zero recovery point objective

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1354448A2 (de) * 2001-01-11 2003-10-22 Nortel Networks Limited Verteilungsverarbeitung und kriteriengestützte dynamische modifikation einer datenflussliste
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US20040210656A1 (en) * 2003-04-16 2004-10-21 Silicon Graphics, Inc. Failsafe operation of storage area network
US8250577B2 (en) 2008-04-16 2012-08-21 International Business Machines Corporation Mechanism to enable and ensure failover integrity and high availability of batch processing
US8090907B2 (en) 2008-07-09 2012-01-03 International Business Machines Corporation Method for migration of synchronous remote copy service to a virtualization appliance
US8127182B2 (en) 2008-09-16 2012-02-28 Lsi Corporation Storage utilization to improve reliability using impending failure triggers
JP5608811B2 (ja) * 2010-09-17 2014-10-15 株式会社日立製作所 情報処理システムの管理方法、及びデータ管理計算機システム
US8726065B2 (en) 2011-10-18 2014-05-13 International Business Machines Corporation Managing failover operations on a cluster of computers

Also Published As

Publication number Publication date
US20130097457A1 (en) 2013-04-18
GB2495824A (en) 2013-04-24
US20130097456A1 (en) 2013-04-18
DE102012218329B4 (de) 2021-04-08
US8726065B2 (en) 2014-05-13
GB201217987D0 (en) 2012-11-21
US8788872B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
DE102012218329B4 (de) Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern
US10558684B2 (en) Auditing database access in a distributed medical computing environment
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
US9104985B2 (en) Processing system using metadata for administering a business transaction
US9704207B2 (en) Administering medical digital images in a distributed medical digital image computing environment with medical image caching
US9734476B2 (en) Dynamically allocating data processing components
DE112012004036T5 (de) Definieren des Geltungsbereichs und Verwalten der Rollenentwicklung
US20090287504A1 (en) Methods, systems and a platform for managing medical data records
US20120221346A1 (en) Administering Medical Digital Images In A Distributed Medical Digital Image Computing Environment
DE112012004544T5 (de) Schützen vertraulicher Daten in einer Übertragung
DE112010001870T5 (de) Verfahren und system zum verwalten und anzeigen von medizinischen daten
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE112010004651T5 (de) 1Dynamische Zugangskontrolle für Dokumente in elektronischen Datenübertragungsvorgängen in einer Cloud-Computing-Umgebung
DE112013007597T5 (de) Verbesserter Webserver für die Speicherung grosser Dateien
DE112011104787B4 (de) Nutzung von Inhalten über persönliche Clouds
DE112012005032T5 (de) Entfernen der Datenremanenz in deduplizierten Speicher-Clouds
DE102014103279A1 (de) Pivot-Facets für Text-Mining und Suche
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE112011100934T5 (de) Kontextbewusster Datenschutz
DE102013204186A1 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112020001683T5 (de) Eine plattform zur auswertung medizinischer informationen und verfahren zu deren verwendung
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE112018004008T5 (de) Auf dateisysteminhalten beruhende sicherheit
DE112018002266T5 (de) Kognitives Datenfiltern für Speicherumgebungen
WO2015043640A1 (de) Verfahren und system zur verwaltung und bearbeitung von daten einer medizinischen einrichtung

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