DE112019000309B4 - Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk - Google Patents

Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk Download PDF

Info

Publication number
DE112019000309B4
DE112019000309B4 DE112019000309.7T DE112019000309T DE112019000309B4 DE 112019000309 B4 DE112019000309 B4 DE 112019000309B4 DE 112019000309 T DE112019000309 T DE 112019000309T DE 112019000309 B4 DE112019000309 B4 DE 112019000309B4
Authority
DE
Germany
Prior art keywords
request
authorization
queue
utilization
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112019000309.7T
Other languages
English (en)
Other versions
DE112019000309T5 (de
Inventor
Amit Lamba
Brian Frederick Ober
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 DE112019000309T5 publication Critical patent/DE112019000309T5/de
Application granted granted Critical
Publication of DE112019000309B4 publication Critical patent/DE112019000309B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity

Abstract

Verfahren zur Ausführung durch eine verteilte Speicher- und Aufgaben-Verarbeitungseinheit, DST-Verarbeitungseinheit (910) eines verteilten Speichernetzwerks, DSN (10), das einen Prozessor umfasst, wobei das Verfahren umfasst:Ermitteln (1002) erster Systemauslastungsdaten;Empfangen (1004) einer ersten Operationsanforderung;Erzeugen (1006) einer ersten Anforderungswarteschlange (915), die eine erste Berechtigungsanforderung enthält, die der ersten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert ungünstig vergleicht;Ermitteln (1008) einer ersten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der ersten Anforderungswarteschlange (915) auf Grundlage der ersten Systemauslastungsdaten;Empfangen (1010) einer ersten nachfolgenden Operationsanforderung;Anhängen (1012) einer ersten nachfolgenden Berechtigungsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, an die erste Anforderungswarteschlange (915);Erzeugen (1014) einer ersten gestapelten Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) enthält, in Reaktion auf das Ermitteln, dass sich die erste Anforderungswarteschlange (915) mit der ersten Warteschlangenbegrenzungsbedingung ungünstig vergleicht;Senden (1016) der ersten gestapelten Berechtigungsanforderung an ein Identitäts- und Zugriffsverwaltungssystem, IAM-System (930);Empfangen (1018) einer ersten Vielzahl von Berechtigungsrückmeldungen von dem IAM-System (930), die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) entspricht;Ermitteln (1020) einer ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben;Erleichtern (1022) der Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht;Ermitteln (1024) zweiter Systemauslastungsdaten;Empfangen (1026) einer zweiten Operationsanforderung;Erzeugen (1028) einer zweiten Anforderungswarteschlange (915), die eine zweite Berechtigungsanforderung enthält, die der zweiten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das sich mit dem normalen Auslastungsschwellenwert ungünstig vergleicht, wobei sich das zweite Auslastungsniveau von dem ersten Auslastungsniveau unterscheidet;Ermitteln (1030) einer zweiten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der zweiten Anforderungswarteschlange (915) auf Grundlage der zweiten Systemauslastungsdaten, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet;Empfangen (1032) einer zweiten nachfolgenden Operationsanforderung;Anhängen (1034) einer zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange (915);Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange (915) enthält, in Reaktion (1036) auf das Ermitteln, dass sich die zweite Anforderungswarteschlange (915) mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; undSenden (1038, 1046) der zweiten gestapelten Berechtigungsanforderung an das IAM-System (930).

Description

  • TECHNISCHES GEBIET
  • Diese Erfindung bezieht sich im Allgemeinen auf Computernetzwerke und im Besonderen auf das Verteilen von fehlerencodierten Daten.
  • HINTERGRUND
  • Rechengeräte sind dafür bekannt, Daten zu kommunizieren, Daten zu verarbeiten und/oder Daten zu speichern. Solche Rechengeräte reichen von drahtlosen Smartphones, Laptops, Tablets, Personalcomputern (PC), Arbeitsstationen und Videospielgeräten bis hin zu Datenzentren, die täglich Millionen von Internetsuchen, Börsengeschäften oder Online-Einkäufen unterstützen. Im Allgemeinen umfasst ein Rechengerät eine zentrale Verarbeitungseinheit (CPU), ein Speichersystem, Ein-/Ausgabeschnittstellen für Benutzer, Schnittstellen für Peripheriegeräte und eine verbindende Busstruktur.
  • Ferner ist bekannt, dass ein Computer seine CPU effektiv erweitern kann, indem er „Cloud Computing“ verwendet, um eine oder mehrere Rechenfunktionen (z.B. einen Dienst, eine Anwendung, einen Algorithmus, eine arithmetisch-logische Funktion usw.) im Auftrag des Computers auszuführen. Ferner kann bei großen Diensten, Anwendungen und/oder Funktionen Cloud Computing von mehreren Cloud Computing-Ressourcen in verteilter Weise durchgeführt werden, um die Reaktionszeit für die Fertigstellung des Dienstes, der Anwendung und/oder Funktion zu verbessern. Beispielhaft ist Hadoop ein Open-Source-Software-Rahmenwerk, das verteilte Anwendungen unterstützt und die Ausführung von Anwendungen durch Tausende von Computern ermöglicht.
  • Zusätzlich zum Cloud Computing kann ein Computer „Cloud Storage“ als Teil seines Speichersystems verwenden. Bekanntlich ermöglicht es der Cloud-Storage einem Benutzer, über seinen Computer Dateien, Anwendungen usw. auf einem Internet-Speichersystem zu speichern. Das Internet-Speichersystem kann ein RAID-System (Redundant Array of Independent Disks) und/oder ein verteiltes Speichersystem umfassen, das ein Fehlerkorrekturschema verwendet, um Daten für die Speicherung zu encodieren.
  • Die Anmeldung US20170060459A1 der Anmelderin offenbart ein Verfahren zur Ausführung durch eine DST-Ausführungseinheit, das umfasst: Empfangen einer Zugriffsanforderung, die ein Berechtigungs-Token von einem Rechengerät über ein Netzwerk enthält, Erzeugen von Berechtigungsdaten auf Grundlage der Zugriffsanforderung, Ausführen der Zugriffsanforderungen und Übertragen eines Ergebnisses der Zugriffsanforderung an das Rechengerät über das Netzwerk, wenn die Berechtigungsdaten einen Verifizierungsindikator angeben. Eine Ungültig-Token-Benachrichtigung wird zur Übertragung an das Rechengerät erzeugt, wenn die Berechtigungsdaten einen Ungültig-Token-Indikator enthalten.
  • Die Anmeldung US20170315735A1 der Anmelderin offenbart eine Auswahl einer ersten ordnungsgemäßen Teilmenge von verteilten Speicher- und Aufgaben-(DST-)Verarbeitungseinheiten eines verteilten Speichernetzwerks (DSN) durch ein Verarbeitungssystem. Das Verarbeitungssystem verarbeitet stapelweise Zugriffsanforderungen über eine Zeitperiode in Übereinstimmung mit der ersten ordnungsgemäßen Teilmenge der DST-Ausführungseinheiten des DSN, um die Zugriffsanforderungen auf die erste ordnungsgemäße Teilmenge der DST-Ausführungseinheiten des DSN während der Zeitperiode zu beschränken.
  • Das US-Patent US9798621B2 der Anmelderin offenbart eine Verwaltungseinheit, die mit einem Netzwerk verbunden ist, das sichere Zugriffskontrolllisteninformationen über das Netzwerk als eine Nachricht an alle Geräte sendet und aktualisiert. Wenn ein Zielgerät die Nachricht empfängt, erstellt und sendet das Zielgerät eine Benachrichtigung über die Änderung der Zugriffskontrollliste an alle anderen Systemgeräte, die die gleiche Nachricht hätten empfangen müssen, wenn die Übertragung eine gültige Anforderung zur Aktualisierung der Zugriffskontrolllisteninformationen ist. Das Zielgerät wartet auf Rückmeldungen von den anderen Systemgeräten, um zu bestätigen, dass die Benachrichtigung ordnungsgemäß an eine bestimmte Anzahl anderer Systemgeräte gesendet wurde, bevor es Maßnahmen zur operationellen Änderung lokaler Daten in Übereinstimmung mit der Benachrichtigung ergreift.
  • Die Einschränkungen und Nachteile herkömmlicher und traditioneller Herangehensweisen werden einem Fachmann von durchschnittlicher Fachkenntnis durch den Vergleich solcher Systeme mit der vorliegenden Offenlegung deutlich.
  • ZUSAMMENFASSUNG
  • Gemäß einem Aspekt der Erfindung wird ein Verfahren zur Ausführung durch eine verteilte Speicher- und Aufgaben-(DST-)Verarbeitungseinheit eines verteilten Speichernetzwerks (DSN) bereitgestellt, das einen Prozessor umfasst, wobei das Verfahren umfasst: Ermitteln erster Systemauslastungsdaten; Empfangen einer ersten Operationsanforderung; Erzeugen einer ersten Anforderungswarteschlange, die eine erste Berechtigungsanforderung enthält, die der ersten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert ungünstig vergleicht; Ermitteln einer ersten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der ersten Anforderungswarteschlange auf Grundlage der ersten Systemauslastungsdaten; Empfangen einer ersten nachfolgenden Operationsanforderung; Anhängen einer ersten nachfolgenden Berechtigungsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, an die erste Anforderungswarteschlange; Erzeugen einer ersten gestapelten Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange enthält, in Reaktion auf das Ermitteln, dass sich die erste Anforderungswarteschlange mit der ersten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; Senden der ersten gestapelten Berechtigungsanforderung an ein Identitäts- und Zugriffsverwaltungssystem (IAM-System); Empfangen einer ersten Vielzahl von Berechtigungsrückmeldungen von dem IAM-System, die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange entspricht; Ermitteln einer ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben; Erleichtern der Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht; Ermitteln zweiter Systemauslastungsdaten; Empfangen einer zweiten Operationsanforderung; Erzeugen einer zweiten Anforderungswarteschlange, die eine zweite Berechtigungsanforderung enthält, die der zweiten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das sich mit dem normalen Auslastungsschwellenwert ungünstig vergleicht, wobei sich das zweite Auslastungsniveau von dem ersten Auslastungsniveau unterscheidet; Ermitteln einer zweiten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der zweiten Anforderungswarteschlange auf Grundlage der zweiten Systemauslastungsdaten, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet; Empfangen einer zweiten nachfolgenden Operationsanforderung; Anhängen einer zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange; Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange enthält, in Reaktion auf das Ermitteln, dass sich die zweite Anforderungswarteschlange mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; und Senden der zweiten gestapelten Berechtigungsanforderung an das IAM-System.
  • Figurenliste
    • 1 ist ein schematisches Blockdiagramm einer Ausführungsform eines verteilten oder verstreuten Speichernetzwerks (DSN) gemäß der vorliegenden Erfindung;
    • 2 ist ein schematisches Blockdiagramm einer Ausführungsform eines Rechenkerns gemäß der vorliegenden Erfindung;
    • 3 ist ein schematisches Blockdiagramm eines Beispiels für eine Fehlerencodierung für verteilte Speicherung von Daten gemäß der vorliegenden Erfindung;
    • 4 ist ein schematisches Blockdiagramm eines generischen Beispiels einer Fehlerencodierungsfunktion gemäß der vorliegenden Erfindung;
    • 5 ist ein schematisches Blockdiagramm eines spezifischen Beispiels einer Fehlerencodierungsfunktion gemäß der vorliegenden Erfindung;
    • 6 ist ein schematisches Blockdiagramm eines beispielhaften Datenausschnittnamens eines encodierten Datenausschnitts (EDS) gemäß der vorliegenden Erfindung;
    • 7 ist ein schematisches Blockdiagramm eines Beispiels für eine Fehlerdecodierung für verteilte Speicherung von Daten gemäß der vorliegenden Erfindung;
    • 8 ist ein schematisches Blockdiagramm eines generischen Beispiels für eine Fehlerdecodierungsfunktion gemäß der vorliegenden Erfindung;
    • 9A ist ein schematisches Blockdiagramm einer Ausführungsform eines verstreuten oder verteilten Speichernetzwerks (DSN) gemäß der vorliegenden Erfindung;
    • 9B ist ein schematisches Blockdiagramm einer Ausführungsform eines verstreuten oder verteilten Speichernetzwerks (DSN) gemäß der vorliegenden Erfindung;
    • 9C ist ein schematisches Blockdiagramm einer Ausführungsform eines Netzwerk-Switches gemäß der vorliegenden Erfindung;
    • 9D ist ein schematisches Blockdiagramm einer Ausführungsform eines verstreuten oder verteilten Speichernetzwerks (DSN) gemäß der vorliegenden Erfindung;
    • 10A ist ein Logikdiagramm eines beispielhaften Verfahrens zum Batching von Berechtigungen gemäß der vorliegenden Erfindung;
    • 10B ist ein Logikdiagramm eines beispielhaften Verfahrens zum Batching von Berechtigungen gemäß der vorliegenden Erfindung; und
    • 10C ist ein Logikdiagramm eines beispielhaften Verfahrens zum Batching von Berechtigungen gemäß der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein schematisches Blockdiagramm einer Ausführungsform eines verstreuten oder verteilten Speichernetzwerks (DSN) 10, das eine Vielzahl von Rechengeräten 12 - 16, eine Verwaltungseinheit 18, eine Integritätsverarbeitungseinheit 20 und einen DSN-Speicher 22 umfasst. Die Komponenten des DSN 10 sind an ein Netzwerk 24 gekoppelt, das ein oder mehrere drahtlose und/oder drahtgebundene Kommunikationssysteme, ein oder mehrere nichtöffentliche Intranetsysteme und/oder öffentliche Internetsysteme und/oder ein oder mehrere lokale Netzwerke (LAN) und/oder Weitverkehrsnetzwerke (WAN) umfassen kann.
  • Der DSN-Speicher 22 umfasst eine Vielzahl von Speichereinheiten 36, die sich an geographisch verschiedenen Standorten (z.B. einer in Chicago, einer in Milwaukee usw.), an einem gemeinsamen Standort oder einer Kombination davon befinden können. Zum Beispiel, wenn der DSN-Speicher 22 acht Speichereinheiten 36 umfasst, befindet sich jede Speichereinheit an einem anderen Standort. Ein weiteres Beispiel: Wenn der DSN-Speicher 22 acht Speichereinheiten 36 umfasst, befinden sich alle acht Speichereinheiten am selben Standort. Ein weiteres Beispiel: Wenn der DSN-Speicher 22 acht Speichereinheiten 36 umfasst, befindet sich ein erstes Paar Speichereinheiten an einem ersten gemeinsamen Standort, ein zweites Paar Speichereinheiten an einem zweiten gemeinsamen Standort, ein drittes Paar Speichereinheiten an einem dritten gemeinsamen Standort und ein viertes Paar Speichereinheiten an einem vierten gemeinsamen Standort. Es ist zu beachten, dass ein DSN-Speicher 22 mehr oder weniger als acht Speichereinheiten 36 umfassen kann. Es ist ferner zu beachten, dass jede Speichereinheit 36 einen Rechenkern (wie in 2 dargestellt, oder Komponenten davon) und eine Vielzahl von Speichergeräten zur Speicherung verteilter fehlerencodierter Daten umfasst.
  • In verschiedenen Ausführungsformen arbeitet jede der Speichereinheiten als eine verteilte Speicher- und Aufgaben-(DST-)Ausführungseinheit und ist in der Lage, verstreut fehlerencodierte Daten zu speichern und/oder eine oder mehrere Aufgaben an Daten verteilt auszuführen. Bei den Aufgaben kann es sich um eine einfache Funktion (z.B. eine mathematische Funktion, eine logische Funktion, eine Ermitteln-Funktion, eine Suchen-Funktion, eine Suchmaschinen-Funktion, eine Ersetzen-Funktion usw.), eine komplexe Funktion (z.B. Komprimierung, Übersetzung in menschliche und/oder Computersprache, Text-zu-Sprache-Umwandlung, Sprache-zu-Text-Umwandlung usw.), mehrere einfache und/oder komplexe Funktionen, einen oder mehrere Algorithmen, eine oder mehrere Anwendungen usw. handeln. Im Folgenden kann eine Speichereinheit austauschbar als eine verteilte Speicher- und Aufgaben-(DST-)Ausführungseinheit und eine Menge von Speichereinheiten austauschbar als eine Menge von DST-Ausführungseinheiten bezeichnet werden.
  • Jedes der Rechengeräte 12-16, die Verwaltungseinheit 18 und die Integritätsverarbeitungseinheit 20 umfassen einen Rechenkern 26, der die Netzwerkschnittstellen 30-33 umfasst. Bei den Rechengeräten 12-16 kann es sich jeweils um ein tragbares Rechengerät und/oder ein stationäres Rechengerät handeln. Ein tragbares Rechengerät kann ein Gerät für soziale Netzwerke, ein Spielgerät, ein Mobiltelefon, ein Smartphone, ein digitaler Assistent, ein digitaler Musikspieler, ein digitaler Videospieler, ein Laptop-Computer, ein Handheld-Computer, ein Tablett, ein Videospiel-Controller und/oder jedes andere tragbare Gerät sein, das einen Rechenkern umfasst. Ein stationäres Rechengerät kann ein Computer (PC), ein Computerserver, eine Kabel-Set-Top-Box, ein Satellitenempfänger, ein Fernsehgerät, ein Drucker, ein Faxgerät, ein Unterhaltungsgerät, eine Videospielkonsole und/oder jede Art von Computerausrüstung für zu Hause oder im Büro sein. Es ist zu beachten, dass jede Verwaltungseinheit 18 und die Integritätsverarbeitungseinheit 20 separate Rechengeräte sein können, ein gemeinsames Rechengerät sein können und/oder in eines oder mehrere der Rechengeräte 12-16 und/oder in eine oder mehrere der Speichereinheiten 36 integriert sein können. In verschiedenen Ausführungsformen können die Rechengeräte 12-16 Benutzergeräte umfassen und/oder von einer anfordernden Einheit verwendet werden, die Zugriffsanforderungen erzeugt, die auch Anforderungen zum Lesen oder Schreiben von Daten in Speichereinheiten im DSN umfassen können.
  • Jede Schnittstelle 30, 32 und 33 umfasst Software und Hardware zur Unterstützung eines oder mehrerer Kommunikations-Links über das Netzwerk 24 indirekt und/oder direkt. Zum Beispiel unterstützt die Schnittstelle 30 eine Kommunikationsverbindung (z.B. verdrahtet, drahtlos, direkt, über ein LAN, über das Netzwerk 24 usw.) zwischen den Rechengeräten 14 und 16. Ein weiteres Beispiel ist Schnittstelle 32, die Kommunikationsverbindungen (z.B. eine drahtgebundene Verbindung, eine drahtlose Verbindung, eine LAN-Verbindung und/oder jede andere Art von Verbindung zum/vom Netzwerk 24) zwischen den Rechengeräten 12 & 16 und dem DSN-Speicher 22 unterstützt. Ein weiteres Beispiel ist die Schnittstelle 33, die für jede der Verwaltungseinheit 18 und der Integritätsverarbeitungseinheit 20 einen Link zum Netzwerk 24 unterstützt.
  • Die Rechengeräte 12 und 16 umfassen ein DS-Clientmodul 34, das es dem Rechengerät ermöglicht, Daten für verteilte Speicherung zu fehlerencodieren und zu fehlerdecodieren, wie nachfolgend unter Bezugnahme auf eine oder mehrere der 3-8 beschrieben. In dieser beispielhaften Ausführungsform fungiert das Rechengerät 16 als ein Verarbeitungsagent für verteilte Speicherung für das Rechengerät 14. In dieser Rolle fehlerencodiert und fehlerdecodiert das Rechengerät 16 Daten für verteilte Speicherung im Auftrag des Rechengeräts 14. Durch die Verwendung der Codierung und Decodierung für verteilte Speicherung ist die DSN 10 tolerant gegenüber einer signifikanten Anzahl von Ausfällen von Speichereinheiten (die Anzahl der Ausfälle basiert auf Grundlagen von Parametern der Encodierungsfunktion für verteilte Speicherfehler) ohne Datenverlust und ohne die Notwendigkeit einer redundanten Kopie der Daten oder einer Sicherheitskopie der Daten. Ferner speichert der DSN 10 Daten für eine unbestimmte Zeitperiode ohne Datenverlust und auf sichere Art und Weise (z.B. ist das System sehr resistent gegen unberechtigte Zugriffsversuche auf die Daten).
  • Im Betrieb führt die Verwaltungseinheit 18 DS-Verwaltungsdienste aus. Zum Beispiel legt die Verwaltungseinheit 18 Parameter für die verteilte Datenspeicherung (z.B. Erstellung von Datendepots, verteilte Speicherparameter, Sicherheitsparameter, Abrechnungsinformationen, Benutzerprofilinformationen usw.) für die Rechengeräte 12-14 einzeln oder als Teil einer Gruppe von Benutzergeräten fest. Als spezifisches Beispiel koordiniert die Verwaltungseinheit 18 die Erstellung eines Datendepots (z.B. eines virtuellen Speicherblocks, der mit einem Teil eines Gesamtnamensraums des DSN verknüpft ist) innerhalb des DSN-Speichers 22 für ein Benutzergerät, eine Gruppe von Geräten oder für den öffentlichen Zugriff und legt pro Datendepot Verteilte- Speicherung(DS)-Fehlerencodierungsparameter für ein Datendepot fest. Die Verwaltungseinheit 18 erleichtert die Speicherung von DS-Fehlerencodierungsparametern für jedes Datendepot durch Aktualisierung der Registrierungsinformationen des DSN 10, wobei die Registrierungsinformationen im DSN-Speicher 22, einem Rechengerät 12-16, der Verwaltungseinheit 18 und/oder der Integritätsverarbeitungseinheit 20 gespeichert werden können.
  • Die DSN-Verwaltungseinheit 18 erstellt und speichert Benutzerprofilinformationen (z.B. eine Zugriffskontrollliste (ACL)) im lokalen Speicher und/oder im Speicher des DSN-Speichers 22. Die Benutzerprofilinformationen umfassen Authentifizierungsinformationen, Berechtigungen und/oder die Sicherheitsparameter. Die Sicherheitsparameter können Verschlüsselungs-/Entschlüsselungsschema, einen oder mehrere Verschlüsselungsschlüssel, Schlüsselerzeugungsschema und/oder Datenencodierungs-/Decodierungsschema umfassen.
  • Die DSN-Verwaltungseinheit 18 erstellt Abrechnungsinformationen für einen bestimmten Benutzer, eine Benutzergruppe, einen Datendepot-Zugang, den Zugang zum öffentlichen Datendepot usw. Beispielsweise verfolgt die DSN-Verwaltungseinheit 18 die Anzahl der Zugriffe eines Benutzers auf ein nicht öffentliches Datendepot und/oder öffentliche Datendepots, die zur Erzeugung von Abrechnungsinformationen pro Zugriff verwendet werden können. In einem anderen Fall verfolgt die DSN-Verwaltungseinheit 18 die Menge der von einem Benutzergerät und/oder einer Benutzergruppe gespeicherten und/oder abgerufenen Daten, die zur Erzeugung von Abrechnungsinformationen pro Datenmenge verwendet werden können.
  • Als weiteres Beispiel führt die Verwaltungseinheit 18 Netzwerkoperationen, Netzwerkadministration und/oder Netzwerkwartung aus. Die Netzwerkoperationen umfassen die Authentifizierung von Anforderungen für die Zuweisung von Benutzerdaten (z.B. Lese- und/oder Schreibanforderungen), die Verwaltung der Erstellung von Datendepots, die Erstellung von Authentifizierungsnachweisen für Benutzergeräte, das Hinzufügen/Löschen von Komponenten (z.B. Benutzergeräte, Speichereinheiten und/oder Rechengeräte mit einem DS-Client-Modul 34) zu/von DSN 10 und/oder die Erstellung von Authentifizierungsnachweisen für die Speichereinheiten 36. Die Netzwerkadministration umfasst die Überwachung von Geräten und/oder Einheiten auf Ausfälle, die Pflege von Datendepot-Informationen, die Ermittlung des Geräte- und/oder Einheitenaktivierungsstatus, die Ermittlung der Geräte- und/oder Einheitenauslastung und/oder die Ermittlung jedes anderen Vorgangs auf Systemebene, der das Leistungsniveau des DSN 10 beeinflusst. Die Netzwerkwartung umfasst Erleichterung des Austauschs, der Aufrüstung, Reparatur und/oder Erweiterung eines Geräts und/oder einer Einheit des DSN 10.
  • Die Integritätsverarbeitungseinheit 20 führt die Wiederherstellung von „schlechten“ oder fehlenden encodierten Datenausschnitten aus. Auf hoher Ebene führt die Integritätsverarbeitungseinheit 20 die Wiederherstellung aus, indem sie in regelmäßigen Zeitperioden versucht, encodierte Datenausschnitte und/oder Datenausschnittnamen der encodierten Datenausschnitte aus dem DSN-Speicher 22 abzurufen/aufzulisten. Bei abgerufenen encodierten Datenausschnitten werden diese auf Fehler aufgrund von Datenkorruption, veralteter Version usw. überprüft. Wenn ein Datenausschnitt einen Fehler umfasst, wird er als „schlechter“ Datenausschnitt gekennzeichnet. Für encodierte Datenausschnitte, die nicht empfangen und/oder nicht aufgelistet wurden, werden sie als fehlende Datenausschnitte gekennzeichnet. Schlechte und/oder fehlende Datenausschnitte werden anschließend unter Verwendung anderer abgerufener encodierter Datenausschnitte, die als gute Datenausschnitte angesehen werden, wiederhergestellt, um wiederhergestellte Datenausschnitte zu erzeugen. Die rekonstruierten Datenausschnitte werden im DSN-Speicher 22 gespeichert.
  • 2 ist ein schematisches Blockdiagramm einer Ausführungsform eines Rechenkerns 26, der ein Verarbeitungsmodul 50, einen Speicher-Controller 52, Hauptspeicher 54, eine Videografik-Verarbeitungseinheit 55, einen Ein-/Ausgabe-Controller 56, eine Peripheral Component Interconnect (PCI)-Schnittstelle 58, ein E/A-Schnittstellenmodul 60, mindestens ein E/A-Geräteschnittstellenmodul 62, ein ROM (Read Only Memory), ein BIOS (Basic Input Output System) 64 und ein oder mehrere Speicherschnittstellenmodule umfasst. Das eine oder die mehreren Speicherschnittstellenmodul(e) umfassen ein oder mehrere USB-Schnittstellenmodul(e) 66, ein Host-Bus-Adapter-Schnittstellenmodul 68, ein Netzwerk-Schnittstellenmodul 70, ein Flash-Schnittstellenmodul 72, ein Festplatten-Schnittstellenmodul 74 und ein DSN-Schnittstellenmodul 76.
  • Das DSN-Schnittstellenmodul 76 dient zur Nachahmung einer herkömmlichen Dateisystem-Schnittstelle des Betriebssystems (OS) (z.B. Netzwerk-Dateisystem (NFS), Flash-Dateisystem (FFS), Disk-Dateisystem (DFS), Dateiübertragungsprotokoll (FTP), webbasiertes verteiltes Authoring und Versionierung (WebDAV) usw.) und/oder einer Blockspeicherschnittstelle (z.B. Small Computer System Interface (SCSI), Internet Small Computer System Interface (iSCSI) usw.). Das DSN-Schnittstellenmodul 76 und/oder das Netzwerkschnittstellenmodul 70 können als eine oder mehrere der Schnittstellen 30-33 aus 1 fungieren. Es ist zu beachten, dass das IO-Schnittstellenmodul 62 des Geräts und/oder die Speicherschnittstellenmodule 66-76 kollektiv oder einzeln als IO-Anschlüsse bezeichnet werden können.
  • 3 ist ein schematisches Blockdiagramm eines Beispiels einer Fehlerencodierung für verteilte Speicherung von Daten. Wenn ein Rechengerät 12 oder 16 Daten zu speichern hat, encodiert ein Fehler für verteilte Speicherung die Daten gemäß einem Fehlerencodierungsverfahren für verteilte Speicherung auf der Grundlage von Encodierungsparametern für verteilte Speicherung. Das Rechengerät speichert hier das Datenobjekt 40, das eine Datei (z.B. Text, Video, Audio usw.) oder eine andere Datenanordnung umfassen kann. Die Fehlerencodierungsparameter für verteilte Speicherung umfassen eine Encodierungsfunktion (z.B. Information Dispersion Algorithmus (IDA), Reed-Solomon, Cauchy Reed-Solomon, systematische Encodierung, nichtsystematische Encodierung, Online-Kodes usw.), ein Datensegmentierungsprotokoll (z.B. Datensegmentgröße, fest, variabel usw.) und Encodierungswerte pro Datensegment. Die Encodierungswerte pro Datensegment umfassen eine Gesamtzahl (T) encodierter Datenausschnitte pro Encodierung eines Datensegments, d.h. in einem Satz encodierter Datenausschnitte); eine Decodierungsschwellenzahl (D) von encodierten Datenausschnitten eines Satzes von encodierten Datenausschnitten, die zur Wiederherstellung des Datensegments benötigt werden; eine Leseschwellenzahl (R) von encodierten Datenausschnitten, um eine Anzahl von encodierten Datenausschnitten pro Satz anzugeben, die zur Decodierung des Datensegments aus dem Speicher gelesen werden sollen; und/oder eine Schreibschwellenzahl (W), um eine Anzahl von encodierten Datenausschnitten pro Satz anzugeben, die genau gespeichert werden müssen, bevor das encodierte Datensegment als korrekt gespeichert gilt. Die Parameter für die Fehlerencodierung für verteilte Speicherung können ferner Slicing-Informationen (z.B. die Anzahl der encodierten Datenausschnitte, die für jedes Datensegment erzeugt werden) und/oder Sicherheitsinformationen für Datenausschnitte (z.B. Verschlüsselung, Komprimierung, Integritätsprüfsumme pro encodiertem Datenausschnitt usw.) umfassen.
  • Im vorliegenden Beispiel wurde Cauchy Reed-Solomon als Encodierungsfunktion ausgewählt (ein generisches Beispiel ist in 4 dargestellt und ein spezifisches Beispiel in 5 dargestellt); das Datensegmentierungsprotokoll soll das Datenobjekt in Datensegmente fester Größe unterteilen; und die Encodierungswerte pro Datensegment umfassen: eine Säulenbreite von 5, einen Decodierungsschwellwert von 3, einen Leseschwellwert von 4 und einen Schreibschwellwert von 4. In Übereinstimmung mit dem Datensegmentierungsprotokoll teilt das Rechengerät 12 oder 16 das Datenobjekt 40 in eine Vielzahl von Datensegmenten fester Größe (z.B. 1 bis Y einer festen Größe im Bereich von Kilobytes bis Terabytes oder mehr). Die Anzahl der erzeugten Datensegmente ist abhängig von der Größe der Daten und dem Datensegmentierungsprotokoll.
  • Das Rechengerät 12 oder 16, anschließend Fehler verteilter Speicherung, encodiert ein Datensegment unter Verwendung der gewählten Encodierungsfunktion (z.B. Cauchy Reed-Solomon), um einen Satz codierter Datenausschnitten zu erzeugen. 4 veranschaulicht eine generische Cauchy-Reed-Solomon-Encodierungsfunktion, die eine Encodierungsmatrix (EM), eine Datenmatrix (DM) und eine codierte Matrix (CM) umfasst. Die Größe der Encodierungsmatrix (EM) ist abhängig von der Säulenbreitenzahl (T) und der Decodierungsschwellenzahl (D) der pro Datensegment ausgewählten Encodierungswerte. Um die Datenmatrix (DM) zu erzeugen, wird das Datensegment in eine Vielzahl von Datenblöcken unterteilt, und die Datenblöcke werden in D Reihen mit Z Datenblöcken pro Reihe eingerichtet. Es ist zu beachten, dass Z eine Funktion der Anzahl der aus dem Datensegment erzeugten Datenblöcke und der Decodierungsschwellenzahl (D) ist. Die codierte Matrix wird durch Matrix-Multiplikation der Datenmatrix mit der Encodierungsmatrix erzeugt.
  • 5 veranschaulicht ein spezifisches Beispiel der Cauchy-Reed-Solomon-Encodierung mit einer Säulenzahl (T) von fünf und einer Decodierungsschwellenzahl von drei. In diesem Beispiel ist ein erstes Datensegment in zwölf Datenblöcke (D1 - D12) unterteilt. Die codierte Matrix umfasst fünf Reihen encodierter Datenblöcke, wobei die erste Reihe von X11 - X14 einem ersten encodierten Datenausschnitt (EDS 1_1) entspricht, die zweite Reihe von X21 - X24 einem zweiten encodierten Datenausschnitt (EDS 2_1), die dritte Zeile von X31 - X34 entspricht einem dritten encodierten Datenausschnitt (EDS 3_1), die vierte Zeile von X41 - X44 entspricht einem vierten encodierten Datenausschnitt (EDS 4_1) und die fünfte Zeile von X51 - X54 entspricht einem fünften encodierten Datenausschnitt (EDS 5_1). Es ist zu beachten, dass die zweite Nummer der EDS-Bezeichnung der Datensegmentnummer entspricht.
  • Zurückkehrend zur Diskussion von 3, erstellt das Gerät auch einen Datenausschnittnamen (SN) für jeden encodierten Datenausschnitt (EDS) in der Menge der encodierten Datenausschnitte. Ein typisches Format für einen Datenausschnittnamen 80 ist in 6 dargestellt. Wie gezeigt, umfasst der Datenausschnittnamen (SN) 80 eine Säulennummer des encodierten Datenausschnitts (z.B. eine von 1-T), eine Datensegmentnummer (z.B. eine von 1-Y), eine Kennung (ID) für das Datendepot, eine Kennung (ID) für das Datenobjekt und kann ferner Informationen über den Revisionsstand der encodierten Datenausschnitte enthalten. Der Datenausschnittname fungiert zumindest als Teil einer DSN-Adresse für den encodierten Datenausschnitt zur Speicherung und zum Abruf aus dem DSN-Speicher 22.
  • Als ein Ergebnis der Encodierung erzeugt das Rechengerät 12 oder 16 eine Vielzahl von Sätzen von encodierten Datenausschnitten, die mit ihren jeweiligen Datenausschnittnamen den Speichereinheiten zur Speicherung zur Verfügung gestellt werden. Wie gezeigt, umfasst der erste Satz codierter Datenausschnitte EDS 1_1 bis EDS 5_1 und der erste Satz von Datenausschnittnamen SN 1_1 bis SN 5_1 und der letzte Satz encodierter Datenausschnitte EDS 1_Y bis EDS 5_Y und der letzte Satz von Datenausschnittnamen SN 1_Y bis SN 5_Y.
  • 7 ist ein schematisches Blockdiagramm eines Beispiels für die Fehlerencodierung für verteilte Speicherung eines Datenobjekts, das im Beispiel von 4 für verteilte Speicherung fehlerencodiert und gespeichert wurde. In diesem Beispiel ruft das Rechengerät 12 oder 16 von den Speichereinheiten mindestens die Decodierungsschwellenzahl der encodierten Datenausschnitte pro Datensegment ab. Als spezifisches Beispiel ruft das Rechengerät eine Leseschwellenzahl von encodierten Datenausschnitten ab.
  • Um ein Datensegment aus einer Decodierungsschwellenanzahl encodierter Datenscheiben wiederherzustellen, verwendet das Rechengerät eine Decodierungsfunktion, wie in 8 dargestellt. Wie gezeigt, ist die Decodierungsfunktion im Wesentlichen eine Umkehrung der Encodierungsfunktion aus 4. Die codierte Matrix umfasst eine Decodierungsschwellenzahl von Zeilen (z.B. drei in diesem Beispiel) und die Decodierungsmatrix in einer Inversion der Codierungsmatrix, die die entsprechenden Zeilen der codierten Matrix umfasst. Wenn die codierte Matrix beispielsweise die Zeilen 1, 2 und 4 umfasst, wird die Encodierungsmatrix auf die Zeilen 1, 2 und 4 reduziert und dann invertiert, um die Decodierungsmatrix zu erzeugen.
  • 9A ist ein schematisches Blockdiagramm einer anderen Ausführungsform eines verteilten Speichernetzwerks (DSN), das eine DST-Verarbeitungseinheit 910, eine Vielzahl von Anforderern 920, eine Vielzahl von Speichereinheiten 1-n, ein Identitäts- und Zugriffsverwaltungssystem (IAM-System 930) und das Netzwerk 24 von 1 umfasst. Die DST-Verarbeitungseinheit 910, einige oder alle Anforderer 920, einige oder alle Speichereinheiten 1-n und das IAM-System 930 können die Schnittstelle 32 aus 1, den Rechenkern 26 aus 1 und/oder das DS-Client-Modul 34 aus 1 umfassen. Die DST-Verarbeitungseinheit 910 des DSN hat die Aufgabe, Netzwerküberlastung und Systemauslastung durch Batching von Authentifizierungen und/oder Authentifizierungsanforderungen, die an das IAM-System 930 gesendet werden, zu entlasten, und/oder kann dieses Verhalten dynamisch anpassen, um den Kompromiss zwischen Auslastung und Latenz zu optimieren.
  • Jede Speichereinheit kann unter Verwendung der Speichereinheit 36 des DSN-Speichers 22 aus 1 implementiert werden. Die DST-Verarbeitungseinheit 910 kann unter Verwendung des Rechengeräts 16 implementiert werden, indem beispielsweise ein verteilter Speicher-Verarbeitungsagent für das Rechengerät 14 wie zuvor beschrieben arbeitet, und/oder sie kann unter Verwendung einer oder mehrerer Speichereinheiten 36 implementiert werden, indem sie beispielsweise als verteilte Speicher- und Aufgabeneinheit arbeitet. Die DST-Verarbeitungseinheit kann auch unter Verwendung eines beliebigen Systems implementiert werden, das einen Prozessor und einen Speicher umfasst und die Erleichterung der Ausführung von Zugriffsanfragen und anderen Operationsanforderungen an einige oder alle Speichereinheiten 36 des DSN-Speichers 22, die Erleichterung der Überwachung der Auslastung des DSN-Speichers 22 und/oder die Erleichterung der Überwachung der Überlastung und/oder der Netzauslastung des Netzes 24 umfasst. Einige oder alle der Anforderer 920 können durch Verwendung der Rechengeräte 12, 14 oder 16 implementiert werden, können einem Benutzergerät entsprechen und/oder können durch Verwendung eines beliebigen Systems implementiert werden, das einen Prozessor und Speicher umfasst, die für das Senden von Operationsanforderungen an die DST-Verarbeitungseinheit über das Netz 24 verantwortlich sind. Das IAM-System 930 kann unter Verwendung des Rechengeräts 16, der Verwaltungseinheit 18 aus 1, der Integritätsverarbeitungseinheit 20 oder eines beliebigen mit dem Netzwerk 24 kommunizierenden Systems implementiert werden, das einen Prozessor und Speicher umfasst und so betrieben werden kann, dass es Operationsanforderungen an die DST-Verarbeitungseinheit 910 authentifiziert und/oder Berechtigungsanforderungen an die DST-Verarbeitungseinheit 910 sendet.
  • Wenn ein Anforderer 920 eine Operation im DSN-Speicher initiiert, muss dieser Anforderer berechtigt sein, um sicherzustellen, dass er eine solche Operation ausführen darf. Das IAM-System 930 ist in der Lage, eine solche Berechtigung auszuführen. Unter normalen Nutzungsbedingungen kann diese Berechtigung in Verbindung mit jeder Operation ausgeführt werden. Mit anderen Worten, wenn eine Operation ausgeführt wird, erfolgt die Berechtigung sofort.
  • Es können jedoch Umstände eintreten, unter denen eine Reduzierung des Datenverkehrs zum IAM-System vorteilhaft oder erforderlich ist, um eine Beeinträchtigung der Verfügbarkeit und/oder Zuverlässigkeit zu vermeiden. Ein Beispiel ist, wenn sich das IAM-System in einem überlasteten Zustand befindet und eine Reduzierung des Datenverkehrs zu einer geringeren Systemauslastung beitragen würde. Ein anderes Beispiel ist, wenn das Netzwerk eine anormale Überlastung aufweist und eine Reduzierung des Gesamtverkehrs im Netzwerk dazu beitragen würde, diese Überlastung zu verringern. Die Anwendung eines dynamischen Batching von Berechtigungen (Dynamic Authorization Batching), wie hier beschrieben, kann sich automatisch so einstellen, dass der Verkehr zu einem IAM-System unter solchen Bedingungen reduziert wird.
  • Die Anwendung eines dynamischen Batching Verarbeitung von Berechtigungen kann mindestens einen der folgenden Hauptaspekte umfassen: (1) der Prozess, durch den die DST-Verarbeitungseinheit 910 und/oder ein anderes Element des DSN-Speichers 22 ein Verständnis der aktuellen Kapazität und Systemauslastung gewinnt; (2) die Anwendung dieses Verständnisses zur Optimierung der Flusssteuerung zukünftiger Berechtigungsanforderungen; und (3) die Überwachung solcher Optimierungen, um ihren Nutzen quantifizierbar zu messen.
  • Als Teil des Verständnisses der aktuellen Systemkapazität und -auslastung kann sich die DST-Verarbeitungseinheit 910 zunächst der verschiedenen Systemkomponenten bewusst werden, die am Autorisierungsprozess teilnehmen, sowie ihrer potenziellen Kapazität, wie z.B. Netzwerk-Switches oder andere Routing-Komponenten von Netzwerk 24, das IAM-System 930, Speichereinheiten 1-n und/oder andere Komponenten des DSN. Solche Informationen könnten über die Ermittlung konfigurierter und/oder dynamischer Komponenten und Netzwerktopologien gewonnen werden.
  • Anschließend kann der DSN-Speicher dynamisch über die aktuelle Systemauslastung der einzelnen Systemkomponenten und deren Auswirkungen auf ihre Gesamtkapazität informiert werden. Beispielsweise kann die DST-Verarbeitungseinheit 910 über periodische Kapazitätsanzeigen dynamisch über die Kapazität und die prozentuale Systemauslastung eines IAM-Systems 930 informiert werden. Alternativ oder zusätzlich kann die DST-Verarbeitungseinheit 910 in regelmäßigen Zeitperioden die Überlastung und Auslastung einiger oder aller Netzwerk-Switches und/oder anderer verschiedener Netzelemente des Netzwerks 24 abfragen, die während des Berechtigungsprozesses durchlaufen werden.
  • Zum Beispiel können, wie in 9B dargestellt, Berechtigungsanforderungen von der DST-Verarbeitungseinheit 910 an das IAM-System 930 über eine Vielzahl von Netzwerk-Switches 1-n des Netzes 24 geleitet werden. Einige oder alle Netzwerk-Switches 1-n können durch Verwendung des Switch 960 in 9C implementiert werden, der mindestens eine Netzwerkschnittstelle 962, einen Speicher 964 und ein Verarbeitungssystem 966 umfasst, die alle über den Bus 968 verbunden sind. Die Switches 1-n können so betrieben werden, dass sie ausführbare Anweisungen im Speicher 964 speichern, die, wenn sie vom Verarbeitungssystem 966 ausgeführt werden, den Switch 960 veranlassen, über einen oder mehrere Anschlüsse der mindestens einen Netzwerkschnittstelle 962 Netzwerkverkehr über drahtgebundene und/oder drahtlose Verbindungen zu anderen Switches und/oder anderen Komponenten von Netzwerk 24 zu senden und zu empfangen. Einige oder alle Netzwerk-Switches 1-n können auch so betrieben werden, dass sie Auslastungsdaten überwachen und an die DST-Verarbeitungseinheit senden, zum Beispiel auf Grundlage des Netzwerkverkehrs und/oder der erfahrenen Überlastung. Alternativ kann der Netzverkehr und/oder die Überlastung einiger oder aller Netzwerk-Switches 1-n von anderen Einheiten des DSN überwacht und an die DST-Verarbeitungseinheit 910 übertragen werden.
  • In einigen Ausführungsformen erzeugt die DST-Verarbeitungseinheit aktuelle Auslastungsdaten auf der Grundlage einer Vielzahl von empfangenen Auslastungsniveaus von dem IAM-System und/oder Netzelementen, wobei die Auslastungsdaten beispielsweise auf Grundlage einer Summen-, Durchschnitts- und/oder Aggregatanalyse der empfangenen Auslastungsniveaus erzeugt werden. Die Vielzahl von Auslastungsniveaus kann in Reaktion auf eine Vielzahl von Auslastungsniveau-Anforderungen empfangen werden, die von der DST-Verarbeitungseinheit 910 erzeugt und an die Vielzahl von Komponenten des DSN-Speichers übertragen werden. Die DST-Verarbeitungseinheit 910 kann in Reaktion auf den Empfang einer Anforderung, in Reaktion auf die Feststellung, dass sich die Systemauslastung geändert hat, in Reaktion auf eine Anforderung oder andere vom IAM-System 930 empfangene Informationen und/oder durch eine auf anderen Faktoren basierende Ermittlung bestimmen, dass die Vielzahl von Auslastungsniveaus in vorbestimmten Zeitintervallen angefordert werden soll. Die DST-Verarbeitungseinheit 910 kann eine unterschiedliche Vielzahl von Komponenten bestimmen, von denen zu späteren Zeitpunkten bei späteren Ermittlungen der Nutzungsdaten Auslastungsniveaus angefordert werden können, z.B. in Reaktion auf die Feststellung, dass unterschiedliche Komponenten am Berechtigungsvorgang beteiligt sind. In verschiedenen Ausführungsformen sind ein oder mehrere andere Elemente des DSN für das Sammeln der gemeldeten Nutzungsdaten und/oder das Ermitteln der Nutzungsdaten verantwortlich, und die DST-Verarbeitungseinheit 910 kann die Nutzungsdaten anfordern und/oder anderweitig die Nutzungsdaten von dem einen oder den mehreren anderen Elementen empfangen.
  • Sobald die aktuelle Systemkapazität bekannt ist, kann der DSN-Speicher dieses Verständnis anwenden, um ein dynamisches Batching an Berechtigungsanforderungen auszuführen. Das Batching-Verfahren kann die Optimierung der vom Anforderer wahrgenommenen Latenz (auf Kosten der vom Anforderer wahrgenommenen Latenz) in Zeitperioden mit Systemüberlastung begünstigen. Alternativ oder zusätzlich kann das Batching-Verfahren aggressiver in Bezug darauf werden, wie viele Anforderungen zusammen gestapelt werden, je nach Schwere der Systemüberlastung.
  • In einem Beispiel einer Operation kann ein Anforderer 920 eine Operationsanforderung an die DST-Verarbeitungseinheit 910 senden, die eine Berechtigung erfordert. Die Operationsanforderung kann zum Beispiel eine Leseanforderung, eine Schreibanforderung, eine Zugriffsanforderung oder einen anderen Typ von Anforderung umfassen, die Datenobjekte enthält, die fehlerencodiert für verteilte Speicherung und in der Vielzahl von Speichereinheiten 1-n gespeichert sind. Die DST-Verarbeitungseinheit 910 kann bei Empfang der Operationsanforderung automatisch eine Berechtigungsrückmeldung an das IAM-System 930 senden, in Reaktion auf die Feststellung, dass sich das System innerhalb der normalen Systemauslastung befindet. Beispielsweise kann die DST-Verarbeitungseinheit 910 ein Systemauslastungsniveau der aktuellen Auslastungsdaten mit einem konfigurierten, normalen Auslastungsschwellenwert vergleichen und feststellen, dass das Systemauslastungsniveau eine normale Systemauslastung angibt, wenn sich das Systemauslastungsniveau mit dem normalen Auslastungsschwellenwert günstig vergleicht. Das IAM-System 930 kann auf Grundlage der empfangenen Berechtigungsanforderung ermitteln, ob die Operationsanforderung des Anforderers autorisiert ist, und kann als Reaktion darauf einen Autorisierungserfolg oder einen Autorisierungsfehler senden. Wenn ein Berechtigungserfolg von dem IAM-System 930 empfangen wird, kann die DST-Verarbeitungseinheit 910 die Operationsanforderung entsprechend ausführen. Wird eine Berechtigungsrückmeldung empfangen, kann die DST-Verarbeitungseinheit von der Ausführung der Anforderung absehen und/oder eine Berechtigungsrückmeldung zur Übermittlung an den Anforderer und/oder an Stellen erzeugen, die für die in der Operationsanforderung angegebenen Daten als verantwortlich gelten.
  • Im Laufe der Zeit kann die DST-Verarbeitungseinheit 910 feststellen, dass das System überlastet ist, und zwar auf der Grundlage nachfolgender Auslastungsdaten, die beispielsweise auf der Grundlage einer Vielzahl nachfolgender Auslastungsniveaus der Vielzahl von DSN-Komponenten erzeugt wurden. Beispielsweise kann die DST-Verarbeitungseinheit feststellen, dass sich die Systemauslastungsdaten mit der normalen Auslastungsschwelle ungünstig vergleicht, um festzustellen, dass das System überlastet ist. In Reaktion auf die Feststellung, dass das System überlastet ist, wenn neue Operationsanforderungen von einem oder mehreren Anforderern 920 an die DST-Verarbeitungseinheit gesendet werden, werden die entsprechenden Berechtigungsanforderungen in eine Anforderungswarteschlange gestellt und nicht direkt an das IAM-System 930 übertragen. Berechtigungsanforderungen können beispielsweise in der Anforderungswarteschlange 915 eines Cache-Speichers und/oder im lokalen Speicher, wie dem Speicher 54 des Rechenkerns der DST-Verarbeitungseinheit 910, gespeichert werden.
  • Die DST-Verarbeitungseinheit 910 kann später bestimmen, einige oder alle Berechtigungsanforderungen in der Warteschlange als gestapelte Anforderung zu senden. Die DST-Verarbeitungseinheit kann in Reaktion darauf eine einzelne gestapelte Anforderung erzeugen, die Berechtigungsanforderungsinformationen umfasst, die den Anforderungen in der Warteschlange entsprechen, und kann die einzelne gestapelte Anforderung an das IAM-System 930 senden. Die DST-Verarbeitungseinheit 910 kann diese Bestimmung zum Senden der Anforderungen in der Warteschlange auf Grundlage der Ermittlung einer im Vergleich zu einer Warteschlangenbegrenzungsbedingung ungünstigen Anforderungswarteschlange vornehmen. Beispielsweise kann die DST-Verarbeitungseinheit 910 die Berechtigungsrückmeldungen in der Warteschlange als gestapelte Anforderung senden, in Reaktion auf die Ermittlung der Anzahl von Berechtigungsanforderungen in der Warteschlange, die einen Schwellenwert für die Warteschlangengröße erreicht oder überschreitet. Alternativ oder zusätzlich kann die DST-Verarbeitungseinheit 910 bestimmen, dass die Berechtigungsrückmeldungen in der Warteschlange als Reaktion auf die Feststellung, dass eine Zeit seit dem Empfang der ersten Anforderung in der Warteschlange ein Warteschlangenzeitlimit erreicht oder überschreitet, als eine gestapelte Anforderung gesendet werden. In verschiedenen Ausführungsformen ermittelt die DST-Verarbeitungseinheit 910, die Berechtigungsrückmeldungen in der Warteschlange als eine gestapelte Anforderung als Reaktion auf das Eintreten einer dieser Bedingungen und/oder als Reaktion auf eine von mehreren Warteschlangenbegrenzungsbedingungen, die zuerst ausgelöst wird, zu senden. Wie hierin besprochen, kann diese Warteschlangenbegrenzungsbedingung, die automatisch das Batching und Übertragen der Anforderungswarteschlange auslöst, von der DST-Verarbeitungseinheit 910 auf Grundlage der aktuellen Systemauslastungsdaten ermittelt werden.
  • Das IAM-System 930 kann die Berechtigungsanforderungsinformationen für jede der entsprechenden Vielzahl von Anforderungen in der gestapelten Anforderung extrahieren, um Berechtigungserfolg oder -misserfolg für jede der Vielzahl von Anforderungen der gestapelten Anforderung zu ermitteln. Das IAM-System 930 kann eine gestapelte Rückmeldung erzeugen, die den Erfolg oder Misserfolg jeder der Vielzahl von Berechtigungsanforderungen der gestapelten Anforderungen anzeigt. Da zum Beispiel für jede Anforderung Berechtigungsrückmeldungen ermittelt werden, die den Erfolg oder Misserfolg angeben, können die Berechtigungsrückmeldungen vom IAM-System 930 in eine Anforderungswarteschlange gestellt werden. Das IAM-System 930 kann die Berechtigungsrückmeldungen in seiner Warteschlange als eine einzige, gestapelte Rückmeldung an die DST-Verarbeitungseinheit 910 zurücksenden, sobald die Berechtigungsrückmeldungen für jede der Anforderungen der gestapelten Anforderung erzeugt wurden. Alternativ kann das IAM-System 930 die Berechtigungsrückmeldungen in Reaktion auf ihre Erzeugung eine nach der anderen an die DST-Verarbeitungseinheit 910 zurücksenden.
  • In einigen Ausführungsformen kann das IAM-System 930 gestapelte Rückmeldungen auf Grundlage seiner eigenen Warteschlangenbegrenzungsbedingungen, wie z.B. seiner eigenen Größenschwelle und/oder Warteschlangenbegrenzungsbedingung, erzeugen. Beispielsweise kann das IAM-System 930 ermitteln, ob es eine gestapelte Rückmeldung an die DST-Verarbeitungseinheit 910 senden soll, die nur Antworten für einen Teil der Anforderungen in der gestapelten Anforderung angibt. Umgekehrt kann das IAM-System 930 ermitteln, dass die Antworten in der Warteschlange verbleiben, nachdem alle Anforderungen verarbeitet wurden, und ferner darauf warten, dass weitere gestapelte Anforderungen von der DST-Verarbeitungseinheit 910 empfangen und verarbeitet werden, um in die Warteschlange aufgenommen zu werden, und kann die mehreren gestapelten Anforderungen entsprechende Antwortschlange als eine einzige gestapelte Antwort senden.
  • Die DST-Verarbeitungseinheit 910 kann feststellen, dass das System zu einem normalen Auslastungsniveau zurückgekehrt ist, z.B. indem sie die Auslastungsdaten mit dem normalen Auslastungsschwellenwert vergleicht, und sie kann feststellen, dass Berechtigungsanforderungen erneut an das IAM-System gesendet werden müssen, nachdem sie die entsprechende Operationsanforderung von Anforderern empfangen hat, und zwar ohne Batching.
  • Die Effizienz des Batching kann von der DST-Verarbeitungseinheit oder einer oder mehreren anderen Einheiten im DSN gemessen werden, indem die Systemkapazität und andere Statistiken beobachtet werden, die von den Komponenten des DSN im Laufe der Zeit gemeldet werden. Beispielsweise kann die DST-Verarbeitungseinheit 910 die Rate der Berechtigungsanforderungen zwischen der DST-Verarbeitungseinheit 910 und dem IAM-System 930 überwachen. Alternativ oder zusätzlich kann die DST-Verarbeitungseinheit 910 fehlgeschlagene Berechtigungsanforderungen überwachen, die aufgrund von Staus oder staubedingten Ratenbeschränkungen auftreten. Alternativ oder zusätzlich kann die DST-Verarbeitungseinheit 910 die wahrgenommene Latenzzeit einiger oder aller Anforderer überwachen. Unter normalen Nutzungsbedingungen sollte die vom Anforderer wahrgenommene Latenz gering und die Rate der Berechtigungsanforderungen hoch sein. Bei höherer Systemauslastung sollte die vom Anforderer wahrgenommene Latenzzeit zunehmen und die Berechtigungsanforderungsrate abnehmen. Diese Selbstanpassung kann dazu beitragen, das System wieder zur normalen Nutzung, zur normalen, vom Benutzer wahrgenommenen Latenzzeit und/oder zur Aufrechterhaltung einer niedrigen Autorisierungsausfallrate zurückzuführen.
  • Um diese Selbstanpassung auszuführen, können die Warteschlangenbegrenzungsbedingungen, wie z.B. die Warteschlangengrößenschwelle und/oder das Warteschlangenzeitlimit der DST-Verarbeitungseinheit 910 und/oder des IAM-Systems 930, auf der Grundlage einer sich ändernden Systemauslastung auf unterschiedliche Werte eingestellt werden und somit eine Funktion der Nutzungsdaten sein, wenn aktualisierte Nutzungsdaten empfangen werden. In Reaktion auf die Feststellung, dass die Systemauslastung von einer großen Überauslastung auf eine nur geringfügig überhöhte Auslastung gesunken ist, kann die DST-Verarbeitungseinheit 910 beispielsweise damit beginnen, kleinere gestapelte Anforderungen zu senden und/oder gestapelte Anforderungen häufiger zu senden. Umgekehrt kann die DST-Verarbeitungseinheit 910 als Reaktion auf die Feststellung, dass die Systemauslastung von einer leichten Überauslastung auf eine starke Überauslastung angestiegen ist, damit beginnen, größere gestapelte Anforderungen zu senden und/oder weniger häufig gestapelte Anforderungen zu senden. In Reaktion auf die Feststellung, dass sich das System auf einem normalen Auslastungsniveau befindet, kann die DST-Verarbeitungseinheit Berechtigungsrückmeldungen sofort und ohne Batching senden. Das IAM-System 930 kann in ähnlicher Weise ermitteln, ob größere und kleinere gestapelte Rückmeldungen und/oder gestapelte Rückmeldungen mehr oder weniger häufig auf Grundlage einer sich ändernden Systemauslastung gesendet werden sollen. Wenn sich die Systemauslastung im Laufe der Zeit ändert, z.B. wenn neue Auslastungsniveaus von DSN-Komponenten gesammelt werden, um aktualisierte Auslastungsdaten zu erzeugen, kann der Schwellenwert für die Warteschlangengröße und/oder das Warteschlangenzeitlimit von der DST-Verarbeitungseinheit 910 und/oder dem IAM-System 930 in Reaktion darauf entsprechend aktualisiert werden.
  • In einigen Ausführungsformen können die Warteschlangenbegrenzungsbedingungen wie die Warteschlangengrößenschwelle und/oder die Warteschlangenzeitbegrenzung auch eine Funktion der gemessenen Effizienz des Systems, der wahrgenommenen Latenzanforderungen einiger oder aller Anforderer und/oder der Anzahl oder des Anteils fehlgeschlagener Berechtigungsanfragen sein, die z.B. aufgrund von Überlastung oder staubedingter Ratenbegrenzung auftreten. Wenn zum Beispiel ein Anteil der fehlgeschlagenen Berechtigungsanforderungen einen Schwellenwert überschreitet, kann die DST-Verarbeitungseinheit 910 ermitteln, ob der Schwellenwert für die Warteschlangengröße und/oder das Warteschlangenzeitlimit erhöht werden muss. Ein weiteres Beispiel: Wenn die vom Anforderer wahrgenommene Latenzzeit einiger oder aller Anforderer ein Latenzzeitlimit überschreitet, kann die DST-Verarbeitungseinheit ermitteln, dass der Schwellenwert für die Warteschlangengröße und/oder das Warteschlangenzeitlimit verringert werden muss. Die Warteschlangenbegrenzungsbedingungen können eine Funktion einiger oder aller dieser Faktoren sein, und diesen Faktoren können Gewichte zugewiesen werden, die sich im Laufe der Zeit als Teil dieser Selbstanpassung ändern können. In einigen Ausführungsformen kann das Ermitteln der Warteschlangenbegrenzungsbedingungen das Ausführen einer Optimierungsfunktion umfassen, um den Kompromiss zwischen der vom Anforderer wahrgenommenen Latenz, der Netzwerkauslastung, der IAM-Überlastung und/oder dem Anteil der fehlgeschlagenen Berechtigungsanforderungen durch Verwendung dieser zugewiesenen Gewichte entsprechend zu optimieren.
  • In einigen Ausführungsformen kann das Systemauslastungsniveau der Auslastungsdaten ermittelt werden, zum Beispiel durch Vergleich der Erfassung der gemeldeten Nutzung mit einer Vielzahl von Systemauslastungsniveau-Schwellenwerten. Beispielsweise kann durch Vergleich der Systemauslastungsdaten mit den N Systemauslastungsniveaus festgestellt werden, dass die Systemauslastung in eines von N Systemauslastungsniveaus mit zunehmender Nutzung fällt. Der Schwellenwert für die Warteschlangengröße und/oder das Warteschlangenzeitlimit kann eine zunehmende Funktion von N sein und/oder kann andernfalls eine zunehmende Funktion des Auslastungsniveaus des Systems sein. Ein unterstes Niveau kann einem normalen Auslastungsniveau entsprechen, wobei der Schwellenwert für die Warteschlangengröße auf eins gesetzt ist und/oder die Warteschlangenzeitbegrenzung angibt, die Berechtigungsanforderung zum Zeitpunkt des Empfangs der Operationsanforderung zu senden.
  • Alternativ oder zusätzlich kann das Auslastungsniveau einen Überauslastungswert des Systems angeben, der durch Berechnung einer Auslastungsdifferenz der Systemauslastungsdaten gegenüber dem normalen Auslastungsschwellenwert ermittelt werden kann. Zum Beispiel kann der normale Auslastungsschwellenwert von einem aggregierten Auslastungswert der Auslastungsdaten abgezogen werden, um die Auslastungsdifferenz zu berechnen, wobei der aggregierte Auslastungswert auf Grundlage der Vielzahl der empfangenen Auslastungsniveaus berechnet wird. Der Schwellenwert für die Warteschlangengröße und/oder das Warteschlangenzeitlimit kann eine zunehmende Funktion der Auslastungsdifferenz sein, wenn sich die Auslastungsdaten im Vergleich mit den normalen Auslastungsschwellenwert ungünstig vergleicht. Wenn sich die Auslastungsdaten mit dem normalen Auslastungsschwellenwert günstig vergleichen und normale Auslastungsniveaus anzeigen, kann der Schwellenwert für die Warteschlangengröße auf eins gesetzt werden und/oder das Warteschlangenzeitlimit kann angeben, die Berechtigungsanforderung zu dem Zeitpunkt zu senden, zu dem die Operationsanforderung empfangen wird. Die Überauslastung kann von der DST-Verarbeitungseinheit 910 als gewichtete Summe, gewichteter Mittelwert und/oder eine andere gewichtete Funktion der Vielzahl von Auslastungsniveaus berechnet werden, wobei das entsprechende Gewicht jedes der empfangenen Auslastungsniveaus auf Grundlage dessen ermittelt wird, wie sehr die entsprechende DSN-Komponente die Systemlatenz beeinflusst.
  • Die vom IAM-System 930 ermittelten Nutzungsdaten und/oder entsprechenden Warteschlangenbegrenzungsbedingungen können sich von der DST-Verarbeitungseinheit 910 beispielsweise aufgrund von Überlastungsfaktoren des IAM-Systems unterscheiden, die der DST-Verarbeitungseinheit entweder unbekannt oder für die DST-Verarbeitungseinheit irrelevant sind. Wie in 9D dargestellt, können einige Ausführungsformen beispielsweise mehrere DST-Verarbeitungseinheiten 910 umfassen, die Berechtigungsanforderungen an das IAM-System 930 senden. In solchen Ausführungsformen kann das IAM-System seine Systemauslastungsdaten auf Grundlage des von mehreren DST-Verarbeitungseinheiten 910 im System empfangenen Verkehrs ermitteln, die alle ihre eigenen gestapelten oder nicht gestapelten Berechtigungsanforderungen senden. Eine einzelne DST-Verarbeitungseinheit 910 kann diesen von anderen DST-Verarbeitungseinheiten 910 verursachten Verkehr bei der Ermittlung ihrer Warteschlangenbegrenzungsbedingungen möglicherweise nicht berücksichtigen und/oder verschiedene Faktoren wie unterschiedliche Stau- und/oder Nutzungsdaten, Prioritäten von Anforderern und/oder unterschiedliche wahrgenommene Anforderer-Latenzanforderungen oder andere Faktoren, die entweder dem IAM-System 930 unbekannt oder für das IAM-System 930 irrelevant sind, berücksichtigen, was zu unterschiedlichen Warteschlangengrößenschwellen und/oder unterschiedlichen Warteschlangenbegrenzungen führt. Alternativ kann das IAM-System 930 Kapazitätsinformationen, Netzwerkverkehrsdaten und/oder Stauinformationen auf Grundlage des Verkehrs von den mehreren DST-Verarbeitungseinheiten 910 an einige oder alle DST-Verarbeitungseinheiten 910 senden. Einige oder alle DST-Verarbeitungseinheiten 910 können bestimmen, diese Informationen bei der Ermittlung ihrer Nutzung zu verwenden. In solchen Ausführungsformen kann diese Strategie verwendet werden, um den Schwellenwert für die Warteschlangengröße und/oder das Warteschlangenzeitlimit zwischen dem IAM-System und einigen oder allen DST-Verarbeitungseinheiten 910 zu synchronisieren, zum Beispiel in Reaktion auf systemweite Nutzungsänderungen. Alternativ dazu kann das IAM-System 930 seine gestapelten Rückmeldungen standardmäßig so erzeugen, dass sie mit der Anzahl der gestapelten Anforderungen der entsprechenden DST-Verarbeitungseinheit übereinstimmen, so dass es seine eigenen Warteschlangenbegrenzungsbedingungen nicht ermitteln kann.
  • In einigen Ausführungsformen kann die DST-Verarbeitungseinheit 910 feststellen, dass die Berechtigungsrückmeldungen in der Warteschlange als Reaktion auf die Feststellung, dass eine oder mehrere Anforderungen in der Warteschlange einem dringenden oder anderweitig hoch priorisierten Operationstyp und/oder einem Anforderer hoher Priorität entsprechen, als gestapelte Anforderung gesendet werden. In einigen Ausführungsformen können Operationen mit hoher Priorität die Warteschlangenbegrenzungsbedingungen ersetzen, wobei einige oder alle Anforderungen in der Anforderungswarteschlange gestapelt und übertragen werden, bevor die Warteschlangenbegrenzungsbedingungen erreicht werden. Beispielsweise kann die DST-Verarbeitungseinheit 910 beim Empfang einer empfangenen Anforderung feststellen, ob diese hohe Priorität hat oder nicht. In Reaktion auf die Feststellung, dass die Anforderung hohe Priorität hat, kann die DST-Verarbeitungseinheit 910 feststellen, dass sie eine der Operation hoher Priorität entsprechende Berechtigungsrückmeldung zusammen mit den bereits in der Warteschlange für die Übertragung an das IAM-System befindlichen Berechtigungsanforderungen gestapelt senden muss, oder sie kann feststellen, dass sie die einzelne, der Operation hoher Priorität entsprechende Berechtigungsanforderung senden muss, wenn sich keine anderen Berechtigungsanforderungen in der Warteschlange befinden. Als weiteres Beispiel können einige oder alle Anforderungen in der Warteschlange eine entsprechende Operationsanforderung und/oder Berechtigungsanforderung haben, die von der DST-Verarbeitungseinheit ermittelt und/oder in der Anforderung enthalten ist. Die DST-Verarbeitungseinheit kann als Reaktion auf die Feststellung, dass eine beliebige Anforderung in der Berechtigungswarteschlange sich ihrer Operationsfrist und/oder ihrer Berechtigungsfrist nähert, und/oder als Reaktion auf eine andere Feststellung, dass die aktuelle Zeit im Vergleich zur Operationsfrist und/oder zur Berechtigungsfrist ungünstig ist, die gestapelte Berechtigungsanforderung mit allen Anforderungen in der Warteschlange erzeugen und die gestapelte Berechtigungsanforderung an das IAM-System senden.
  • Eine solche Priorisierung der Anforderer 920 kann in Ausführungsformen genutzt werden, wobei die vom Anforderer wahrgenommene Latenz ein Faktor ist, der bei der Ermittlung der Warteschlangenbegrenzungsbedingungen verwendet wird. Die Warteschlangenbegrenzungsbedingungen können eine Funktion der vom Anforderer wahrgenommenen Latenz der Vielzahl von Anforderern 920 sein, die durch eine dem Anforderer 920 zugewiesene Priorität und/oder eine Priorität gewichtet werden kann, die einer von dem Anforderer 920 gesendeten Operationsanforderung zugewiesen ist. Beispielsweise führt eine höhere Gewichtung, die einem Anforderer 920 mit höherer Priorität zugewiesen wird, zu einer stärkeren Verringerung des Schwellenwertes für die Warteschlangengröße und/oder der Warteschlangenzeitbegrenzung und damit zu einer stärkeren Verringerung der wahrgenommenen Latenz des Anforderers mit hoher Priorität (möglicherweise auf Kosten der Systemauslastung und/oder Überlastung des IAM-Systems 930). In der Zwischenzeit wird ein Anforderer mit niedrigerer Priorität möglicherweise nicht in der gleichen Weise bevorzugt, mit einer viel geringeren oder gar keiner Verbesserung der wahrgenommenen Latenz.
  • In verschiedenen Ausführungsformen umfasst ein Verarbeitungssystem einer verteilten Speicher- und Aufgaben-(DST)-Verarbeitungseinheit mindestens einen Prozessor und einen Speicher, der Betriebsanweisungen speichert, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das Verarbeitungssystem veranlassen, erste Systemauslastungsdaten zu ermitteln. Eine erste Operationsanforderung wird empfangen, und eine erste Anforderungswarteschlange, die eine erste Berechtigungsanforderung umfasst, die der ersten Operationsanforderung entspricht, wird in Reaktion auf die Feststellung erzeugt, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das im Vergleich zu einem normalen Auslastungsschwellenwert ungünstig ist. Eine erste Warteschlangenbegrenzungsbedingung wird in Reaktion auf die Erzeugung der ersten Anforderungswarteschlange auf der Grundlage der ersten Systemauslastungsdaten ermittelt. Eine erste nachfolgende Operationsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, wird empfangen und an die erste Anforderungswarteschlange angehängt. Eine erste gestapelte Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange umfasst, wird in Reaktion auf die Feststellung, dass die erste Anforderungswarteschlange im Vergleich zur ersten Warteschlangenbegrenzungsbedingung ungünstig ist, erzeugt. Die erste gestapelte Berechtigungsanforderung an ein IAM-System und eine erste Vielzahl von Berechtigungsrückmeldungen werden von dem IAM-System empfangen, die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange entsprechen. Eine erste Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben, wird ermittelt, und die Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht, wird erleichtert.
  • Zweite Systemauslastungsdaten werden ermittelt, und eine zweite Operationsanforderung wird empfangen. Eine zweite Anforderungswarteschlange, die eine zweite Berechtigungsanforderung entsprechend der zweiten Operationsanforderung umfasst, wird in Reaktion auf die Feststellung erzeugt, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das im Vergleich zum normalen Auslastungsschwellenwert ungünstig ist, wobei sich das zweite Auslastungsniveau vom ersten Auslastungsniveau unterscheidet. Eine zweite Warteschlangenbegrenzungsbedingung wird in Reaktion auf die Erzeugung der zweiten Anforderungswarteschlange auf Grundlage der zweiten Systemauslastungsdaten ermittelt, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet. Eine zweite nachfolgende Operationsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, wird empfangen und an die zweite Anforderungswarteschlange angehängt.
  • In verschiedenen Ausführungsformen wird als Reaktion auf die Feststellung, dass sich die zweite Anforderungswarteschlange im Vergleich mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, eine zweite gestapelte Berechtigungsanforderung erzeugt, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange umfasst, und die zweite gestapelte Berechtigungsanforderung wird an das IAM-System gesendet.
  • In verschiedenen Ausführungsformen werden dritte Systemauslastungsdaten ermittelt. Eine dritte Warteschlangenbegrenzungsbedingung wird auf Grundlage der dritten Systemauslastungsdaten ermittelt, wobei sich die dritte Warteschlangenbegrenzungsbedingung von der zweiten Warteschlangenbegrenzungsbedingung unterscheidet. Eine zweite gestapelte Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange umfasst, wird in Reaktion auf die Ermittlung der dritten Warteschlangenbegrenzungsbedingung und in Reaktion auf die Ermittlung, dass die zweite Anforderungswarteschlange mit der dritten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, erzeugt, wobei sich die zweite Anforderungswarteschlange mit der zweiten Warteschlangenbegrenzungsbedingung günstig vergleicht. Die zweite gestapelte Berechtigungsanforderung wird an das IAM-System gesendet.
  • Die 10A - 10C sind Flussdiagramme, die Beispiele für dynamisches Batching von Berechtigungen veranschaulichen. Insbesondere zeigt 10A ein Verfahren in Verknüpfung mit einer oder mehreren Funktionen und Merkmalen, die in Verbindung mit den 1-9D beschrieben sind, zur Ausführung durch eine verteilte Speicher- und Aufgaben-(DST-)Verarbeitungseinheit, die einen Prozessor umfasst, oder über ein anderes Verarbeitungssystem eines verteilten Speichernetzwerks, das mindestens einen Prozessor und Speicher umfasst, in dem Anweisungen gespeichert sind, die den Prozessor oder die Prozessoren zur Ausführung der unten beschriebenen Schritte konfigurieren.
  • Ein Schritt 1002 umfasst ein Ermitteln der ersten Systemauslastungsdaten. Ein Schritt 1004 umfasst ein Empfangen einer ersten Operationsanforderung. Ein Schritt 1006 umfasst die Erzeugung einer ersten Anforderungswarteschlange, die eine erste Berechtigungsanforderung umfasst, die der ersten Operationsanforderung entspricht, in Reaktion auf die Feststellung, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert ungünstig vergleicht. Ein Schritt 1008 umfasst die Ermittlung einer ersten Warteschlangenbegrenzungsbedingung als Reaktion auf die Erzeugung der ersten Anforderungswarteschlange auf Grundlage der ersten Systemauslastungsdaten.
  • Ein Schritt 1010 umfasst ein Empfangen einer ersten nachfolgenden Operationsanforderung. Ein Schritt 1012 umfasst ein Anhängen einer ersten nachfolgenden Berechtigungsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, an die erste Anforderungswarteschlange. Ein Schritt 1014 umfasst ein Erzeugen einer ersten gestapelten Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsrückmeldungen der ersten Anforderungswarteschlange umfasst, in Reaktion auf die Feststellung, dass die erste Anforderungswarteschlange im Vergleich zur ersten Warteschlangenbegrenzungsbedingung ungünstig ist. Ein Schritt 1016 umfasst ein Senden der ersten gestapelten Berechtigungsanforderung an ein Identitäts- und Zugriffsverwaltungssystem (IAM-System). Ein Schritt 1018 umfasst ein Empfangen einer ersten Vielzahl von Berechtigungsrückmeldungen von dem IAM-System, die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange entspricht. Ein Schritt 1020 umfasst ein Ermitteln einer ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben. Ein Schritt 1022 umfasst die Erleichterung der Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht.
  • Ein Schritt 1024 umfasst ein Ermitteln von zweiten Systemauslastungsdaten. Ein Schritt 1026 umfasst ein Empfangen einer zweiten Operationsanforderung. Ein Schritt 1028 umfasst ein Erzeugen einer zweiten Anforderungswarteschlange, die eine zweite Berechtigungsanforderung umfasst, die der zweiten Operationsanforderung entspricht, in Reaktion auf die Feststellung, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das im Vergleich zum normalen Auslastungsschwellenwert ungünstig ist, wobei sich das zweite Auslastungsniveau von dem ersten Auslastungsniveau unterscheidet. Ein Schritt 1030 umfasst ein Ermitteln einer zweiten Warteschlangenbegrenzungsbedingung in Reaktion auf die Erzeugung der zweiten Anforderungswarteschlange auf Grundlage der zweiten Systemauslastungsdaten, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet. Ein Schritt 1032 umfasst ein Empfangen einer zweiten nachfolgenden Operationsanforderung.
  • Nach dem Schritt 1032 in 10A kann das Verfahren, wie in 10B dargestellt, bis einem Schritt 1034 fortgesetzt werden. Ein Schritt 1034 umfasst ein Anhängen der zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange. Ein Schritt 1036 umfasst ein Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsrückmeldungen der zweiten Anforderungswarteschlange umfasst, in Reaktion auf die Feststellung, dass die zweite Anforderungswarteschlange im Vergleich zur zweiten Warteschlangenbegrenzungsbedingung ungünstig ist. Ein Schritt 1038 umfasst das Senden der zweiten gestapelten Berechtigungsanforderung an das IAM-System.
  • Wie in 10C dargestellt, kann das Verfahren von 10A in verschiedenen Ausführungsformen von dem Schritt 1032 von 10A bis einem Schritt 1034 fortgesetzt werden, welcher wiederum das Anhängen der zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange umfasst. Von dem Schritt 1034 kann das Verfahren bei einem Schritt 1040 fortgesetzt werden, welcher ein Ermitteln der dritten Systemauslastungsdaten umfasst. Ein Schritt 1042 umfasst ein Ermitteln einer dritten Warteschlangenbegrenzungsbedingung auf Grundlage der dritten Systemauslastungsdaten, wobei sich die dritte Warteschlangenbegrenzungsbedingung von der zweiten Warteschlangenbegrenzungsbedingung unterscheidet. Ein Schritt 1044 umfasst ein Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange in Reaktion auf die Feststellung umfasst, dass sich die zweite Anforderungswarteschlange mit der dritten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, wobei sich die zweite Anforderungswarteschlange mit der zweiten Warteschlangenbegrenzungsbedingung günstig vergleicht. Schritt 1046 umfasst das Senden der zweiten gestapelten Berechtigungsanforderung an das IAM-System.
  • In verschiedenen Ausführungsformen werden dritte Systemauslastungsdaten ermittelt und eine dritte Operationsanforderung empfangen wird. In Reaktion auf die Feststellung, dass die dritten Systemauslastungsdaten ein Auslastungsniveau angeben, das im Vergleich zu einem normalen Auslastungsschwellenwert günstig ist, wird bestimmt, dass eine dritte, der dritten Operationsanforderung entsprechende Berechtigungsanforderung als eine einzige Berechtigungsrückmeldung an das IAM-System gesendet wird. In Reaktion darauf wird eine einzige Berechtigungsrückmeldung von dem IAM-System empfangen, die der dritten Berechtigungsanforderung entspricht. Die Ausführung der dritten Operationsanforderung wird erleichtert, wenn die einzige Berechtigungsrückmeldung einen Berechtigungserfolg angibt.
  • In verschiedenen Ausführungsformen wird eine zweite Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die ein Berechtigungsfehler angeben, ermittelt, wobei eine Schnittmenge aus der zweiten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen und der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen null ist. Eine Teilmenge einer Vielzahl von Anforderern, die eine zweite Teilmenge der Vielzahl von Operationsanforderungen entsprechend der zweiten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen gesendet haben, wird identifiziert. Eine Berechtigungsfehlerbenachrichtigung wird zur Übermittlung an die Teilmenge der Vielzahl von Anforderern erzeugt.
  • In verschiedenen Ausführungsformen wird die erste Vielzahl von Berechtigungsrückmeldungen in einer ersten gestapelten, vom IAM-System erzeugten Berechtigungsrückmeldung empfangen. In verschiedenen Ausführungsformen wird mindestens eine erste Rückmeldung aus der ersten Vielzahl von Berechtigungsrückmeldungen in einer ersten Übertragung zu einem ersten Zeitpunkt empfangen, mindestens eine zweite Rückmeldung aus der ersten Vielzahl von Berechtigungsrückmeldungen wird in einer zweiten Übertragung zu einem zweiten Zeitpunkt empfangen, und der erste Zeitpunkt ist vom zweiten Zeitpunkt verschieden.
  • In verschiedenen Ausführungsformen umfasst die erste Operationsanforderung eine Leseanforderung, die ein Datenobjekt angibt, wobei eine Fehlerencodierungsfunktion verteilter Speicherung auf einem Datensegment des Datenobjekts ausgeführt wurde, um einen Satz encodierter Datenausschnitte zu erzeugen, die in einem Satz von Speichereinheiten der DSN gespeichert sind. Eine Berechtigungsrückmeldung, die der ersten Operationsanforderung entspricht, gibt einen Berechtigungserfolg an, und das Ausführen der ersten Operationsanforderung umfasst das Abrufen einer Leseschwellenzahl des Satzes encodierter Datenausschnitte aus dem Satz von Speichereinheiten sowie das Ausführen einer Fehlerdecodierungsfunktion verteilter Speicherung an der Leseschwellenzahl des Satzes encodierter Datenausschnitte, um das Datensegment wiederzuerzeugen.
  • In verschiedenen Ausführungsformen wird eine erste Vielzahl von Netzwerkauslastungsniveaus von einer Menge von Netzwerkkomponenten des DSN empfangen, und die ersten Systemauslastungsdaten werden auf Grundlage der ersten Vielzahl von Netzwerkauslastungsniveaus erzeugt. Eine zweite Vielzahl von Netzwerkauslastungsniveaus wird von dem Satz von Netzwerkkomponenten des DSN empfangen, und die zweiten Systemauslastungsdaten werden auf Grundlage der zweiten Vielzahl von Netzwerkauslastungsniveaus erzeugt. In verschiedenen Ausführungsformen ist der Satz von Netzwerkkomponenten des DSN eine Teilmenge einer Vielzahl von Netzwerkkomponenten des DSN. Die Menge der Netzwerkkomponenten wird auf Grundlage der Kennung derjenigen aus der Vielzahl von Netzwerkkomponenten des DSN ermittelt, die an der Berechtigung von Operationsanforderungen beteiligt sind. Eine erste Vielzahl von Anforderungen des Auslastungsniveaus des Netzwerks wird zur Übertragung an den Satz von Netzwerkkomponenten des DSN erzeugt, und die erste Vielzahl von Auslastungsniveaus des Netzwerks wird in Reaktion auf die erste Vielzahl von Anforderungen des Auslastungsniveaus des Netzwerks empfangen. In verschiedenen Ausführungsformen umfasst der Satz von Netzkomponenten eine Vielzahl von Netzwerk-Switches, die dazu bestimmt sind, Berechtigungsanforderungen von der DST-Verarbeitungseinheit an das IAM-System zu leiten.
  • In verschiedenen Ausführungsformen wird ein erstes IAM-Auslastungsniveau von dem IAM-System empfangen, und die ersten Systemauslastungsdaten werden auf Grundlage des ersten IAM-Auslastungsniveaus erzeugt. Ein zweites IAM-Auslastungsniveau wird von dem IAM-System empfangen, und die zweiten Systemauslastungsdaten werden auf Grundlage des zweiten IAM-Auslastungsniveaus erzeugt. Das erste IAM-Auslastungsniveau und das zweite IAM-Auslastungsniveau werden von dem IAM auf Grundlage des Netzwerkverkehrs zu dem IAM-System erzeugt.
  • In verschiedenen Ausführungsformen gibt die erste Warteschlangenbegrenzungsbedingung einen ersten Schwellenwert für die Warteschlangengröße an, und die zweite Warteschlangenbegrenzungsbedingung gibt einen zweiten Schwellenwert für die Warteschlangengröße an. Der erste Schwellenwert für die Warteschlangengröße ist größer als der zweite Schwellenwert für die Warteschlangengröße auf Grundlage des ersten Auslastungsniveaus, das eine stärkere Überauslastung als das zweite Auslastungsniveau angibt. In Reaktion darauf ist eine erste Anzahl der ersten Vielzahl von Berechtigungsanforderungen der ersten gestapelten Berechtigungsanforderung größer als eine zweite Anzahl der zweiten Vielzahl von Berechtigungsanforderungen der zweiten gestapelten Berechtigungsanforderung. In verschiedenen Ausführungsformen umfasst die Feststellung der ersten Warteschlangenbegrenzungsbedingung die Berechnung der ersten Warteschlangengrößenschwelle durch Ausführen einer Funktion auf dem ersten Auslastungsniveau, und die Feststellung der zweiten Warteschlangenbegrenzungsbedingung umfasst die Berechnung der zweiten Warteschlangengrößenschwelle durch Ausführen der Funktion auf dem zweiten Auslastungsniveau. Die Funktion berechnet den Schwellenwert für die Warteschlangengröße als eine monoton steigende Zunahme des Auslastungsniveaus.
  • In verschiedenen Ausführungsformen gibt die erste Warteschlangenbegrenzungsbedingung eine erste Warteschlangenzeitbegrenzung an, und die zweite Warteschlangenbegrenzungsbedingung gibt eine zweite Warteschlangenzeitbegrenzung an. Die erste Warteschlangenzeitbegrenzung ist kürzer als die zweite Warteschlangenzeitbegrenzung auf Grundlage des zweiten Auslastungsniveaus, das eine weniger starke Überauslastung als das erste Auslastungsniveau angibt. In Reaktion darauf ist die erste Zeit, die von der Erzeugung der ersten Anforderungswarteschlange bis zur Erzeugung der ersten gestapelten Berechtigungsanforderung verstrichen ist, kürzer als die zweite Zeit, die von der Erzeugung der zweiten Anforderungswarteschlange bis zur Erzeugung der zweiten gestapelten Berechtigungsanforderung verstrichen ist. In verschiedenen Ausführungsformen umfasst die Feststellung der ersten Warteschlangenbegrenzungsbedingung die Berechnung der ersten Warteschlangenzeitbegrenzung durch Ausführen einer Funktion auf dem ersten Auslastungsniveau, und die Feststellung der zweiten Warteschlangenbegrenzungsbedingung umfasst die Berechnung der zweiten Warteschlangenzeitbegrenzung durch Ausführen der Funktion auf dem zweiten Auslastungsniveau. Die Funktion berechnet die Warteschlangenzeitbegrenzung als eine monoton steigende Zunahme des Auslastungsniveaus. In verschiedenen Ausführungsformen umfasst die erste Warteschlangenbegrenzungsbedingung eine erste Warteschlangenzeitbegrenzung, die zweite Warteschlangenbegrenzungsbedingung umfasst eine zweite Warteschlangenzeitbegrenzung, und die zweite Warteschlangenzeitbegrenzung wird in Reaktion auf die Feststellung, dass die erste Warteschlangenzeitbegrenzung im Vergleich zu einer vom Anforderer wahrgenommenen Latenzanforderung ungünstig ist, als kürzer als die erste Warteschlangenzeitbegrenzung bestimmt.
  • In verschiedenen Ausführungsformen basiert die Bestimmung der zweiten Warteschlangenbegrenzungsbedingung ferner auf der Feststellung, dass ein Anteil der fehlgeschlagenen Berechtigungsrückmeldungen der ersten Vielzahl von Berechtigungsrückmeldungen im Vergleich zu einer fehlgeschlagenen Rückmeldung ungünstig ist.
  • In verschiedenen Ausführungsformen umfasst ein nicht flüchtiges computerlesbares Speichermedium mindestens einen Speicherabschnitt, der Betriebsanweisungen speichert, die, wenn sie von einem Verarbeitungssystem eines verteilten Speichernetzwerks (DSN) ausgeführt werden, das einen Prozessor und einen Speicher umfasst, das Verarbeitungssystem veranlassen, erste Systemauslastungsdaten zu ermitteln. Eine erste Operationsanforderung wird empfangen, und eine erste Anforderungswarteschlange, die eine erste Berechtigungsanforderung entsprechend der ersten Operationsanforderung umfasst, wird in Reaktion auf die Feststellung erzeugt, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das im Vergleich zu einem normalen Auslastungsschwellenwert ungünstig ist. Eine erste Warteschlangenbegrenzungsbedingung wird in Reaktion auf die Erzeugung der ersten Anforderungswarteschlange auf der Grundlage der ersten Systemauslastungsdaten ermittelt. Eine erste nachfolgende Operationsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, wird empfangen und an die erste Anforderungswarteschlange angehängt. Eine erste gestapelte Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange umfasst, wird in Reaktion auf die Feststellung, dass die erste Anforderungswarteschlange im Vergleich zur ersten Warteschlangenbegrenzungsbedingung ungünstig ist, erzeugt. Die erste gestapelte Berechtigungsanforderung an ein IAM-System und eine von dem IAM-System empfangene erste Vielzahl von Berechtigungsrückmeldungen entsprechen der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange. Eine erste Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben, wird ermittelt, und die Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht, wird erleichtert.
  • Zweite Systemauslastungsdaten werden ermittelt, und eine zweite Operationsanforderung wird empfangen. Eine zweite Anforderungswarteschlange, die eine zweite Berechtigungsanforderung entsprechend der zweiten Operationsanforderung umfasst, wird in Reaktion auf die Feststellung erzeugt, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau anzeigen, das im Vergleich zum normalen Auslastungsschwellenwert ungünstig ist, wobei sich das zweite Auslastungsniveau vom ersten Auslastungsniveau unterscheidet. Eine zweite Warteschlangenbegrenzungsbedingung wird in Reaktion auf die Erzeugung der zweiten Anforderungswarteschlange auf Grundlage der zweiten Systemauslastungsdaten ermittelt, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet. Eine zweite nachfolgende Operationsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, wird empfangen und an die zweite Anforderungswarteschlange angehängt.
  • In verschiedenen Ausführungsformen wird als Reaktion auf die Feststellung, dass sich die zweite Anforderungswarteschlange mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, eine zweite gestapelte Berechtigungsanforderung erzeugt, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange umfasst, und die zweite gestapelte Berechtigungsanforderung wird an das IAM-System gesendet.
  • In verschiedenen Ausführungsformen werden dritte Systemauslastungsdaten ermittelt. Eine dritte Warteschlangenbegrenzungsbedingung wird auf Grundlage der dritten Systemauslastungsdaten ermittelt, wobei sich die dritte Warteschlangenbegrenzungsbedingung von der zweiten Warteschlangenbegrenzungsbedingung unterscheidet. Eine zweite gestapelte Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange umfasst, wird in Reaktion auf die Bestimmung der dritten Warteschlangenbegrenzungsbedingung und in Reaktion auf die Feststellung, dass sich die zweite Anforderungswarteschlange mit der dritten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, erzeugt, wobei sich die zweite Anforderungswarteschlange mit der zweiten Warteschlangenbegrenzungsbedingung günstig vergleicht. Die zweite gestapelte Berechtigungsanforderung wird an das IAM-System gesendet.
  • Es ist zu beachten, dass Terminologien, wie sie hier verwendet werden können, wie Bitstream, Stream, Signalfolge usw. (oder deren Äquivalente) austauschbar verwendet wurden, um digitale Informationen zu beschreiben, deren Inhalt einem beliebigen einer Reihe von gewünschten Typen entspricht (z.B. Daten, Video, Sprache, Audio usw., von denen jeder allgemein als „Daten“ bezeichnet werden kann).
  • Wie hierin verwendet werden kann, stellen die Begriffe „wesentlich“ und „ungefähr“ eine von der Industrie akzeptierte Toleranz für den entsprechenden Begriff und/oder die Relativität zwischen den Elementen bereit. Eine solche industriell akzeptierte Toleranz reicht von weniger als einem Prozent bis zu fünfzig Prozent und entspricht, ist aber nicht beschränkt auf, Komponentenwerte, Prozessschwankungen der integrierten Schaltung, Temperaturschwankungen, Anstiegs- und Abfallzeiten und/oder thermisches Rauschen. Eine solche Relativität zwischen Elementen reicht von einer Differenz von wenigen Prozent bis hin zu Größenunterschieden. Wie hierin auch verwendet werden kann, schließt der Begriff (die Begriffe) „konfiguriert für“, „betriebsfähig gekoppelt an“, „gekoppelt an“ und/oder „Kopplung“ die direkte Kopplung zwischen Elementen und/oder die indirekte Kopplung zwischen Elementen über ein dazwischen liegendes Element ein (z.B. umfasst ein Element eine Komponente, ein Element, einen Schaltkreis und/oder ein Modul, ist aber nicht darauf beschränkt), wobei bei einem Beispiel der indirekten Kopplung das dazwischen liegende Element die Information eines Signals nicht ändert, jedoch dessen Strompegel, Spannungspegel und/oder Stromversorgung anpassen kann. Wie hier ferner verwendet werden kann, umfasst die abgeleitete Kopplung (d.h., wobei ein Element mit einem anderen Element durch Folgerung gekoppelt ist) direkte und indirekte Kopplung zwischen zwei Elementen in der gleichen Weise wie „gekoppelt an“. Wie hier ferner noch weiter verwendet werden kann, gibt der Begriff „konfiguriert an“, „betriebsbereit an“, „gekoppelt an“ oder „betriebsbereit gekoppelt an“ an, dass ein Element eine oder mehrere Stromversorgungen, Eingang(e), Ausgang(e) usw. umfasst, um, wenn aktiviert, eine oder mehrere seiner entsprechenden Funktionen auszuführen, und kann ferner eine abgeleitete Kopplung mit einem oder mehreren anderen Elementen umfassen. Wie hier ferner noch weiter verwendet werden kann, umfasst der Begriff „verknüpfen mit“ die direkte und/oder indirekte Verknüpfung separater Elemente und/oder ein Element, das in ein anderes Element eingebettet ist.
  • Der Begriff „vergleicht günstig“, wie er hierin verwendet werden kann, gibt an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. eine gewünschte Beziehung bereitstellt. Wenn die gewünschte Beziehung z.B. darin besteht, dass Signal 1 eine größere Größe als Signal 2 hat, kann ein günstiger Vergleich erreicht werden, wenn die Größe von Signal 1 größer als die von Signal 2 ist oder wenn die Größe von Signal 2 kleiner als die von Signal 1 ist. Wie hier verwendet werden kann, gibt der Begriff „ungünstig vergleicht“ an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. nicht die gewünschte Beziehung bereitstellt.
  • Wie hierin ebenfalls verwendet werden kann, können die Begriffe „Verarbeitungssystem“, „Verarbeitungsmodul“, „Verarbeitungsschaltung“, „Prozessor“ und/oder „Verarbeitungseinheit“ austauschbar verwendet werden und können ein einzelnes Verarbeitungsgerät oder eine Vielzahl von Verarbeitungsgeräten sein. Ein solches Verarbeitungsgerät kann ein Mikroprozessor, ein Mikrocontroller, ein digitaler Signalprozessor, ein Mikrocomputer, eine Zentraleinheit, ein programmierbares Gate-Array, ein programmierbares Logikgerät, eine Zustandsmaschine, ein Logikschaltkreis, ein analoger Schaltkreis, ein digitaler Schaltkreis und/oder jedes Gerät sein, das Signale (analog und/oder digital) auf der Grundlage einer harten Kodierung des Schaltkreises und/oder von Betriebsanweisungen manipuliert. Das Verarbeitungssystem, das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung und/oder die Verarbeitungseinheit kann ein Speicher und/oder ein integriertes Speicherelement sein oder ferner ein solches umfassen, bei dem es sich um eine einzelne Speichervorrichtung, eine Vielzahl von Speichervorrichtungen und/oder die integrierte Schaltung eines anderen Verarbeitungssystems, eines Verarbeitungsmoduls, eines Moduls, einer Verarbeitungsschaltung und/oder einer Verarbeitungseinheit handeln kann. Eine solche Speichervorrichtung kann ein Nur-Lese-Speicher, ein Speicher mit wahlfreiem Zugriff, ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein statischer Speicher, ein dynamischer Speicher, ein Flash-Speicher, ein Cache-Speicher und/oder eine beliebige Vorrichtung sein, die digitale Informationen speichert. Es ist zu beachten, dass, wenn das Verarbeitungssystem, das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung und/oder die Verarbeitungseinheit mehr als ein Verarbeitungsgerät umfasst, die Verarbeitungsgeräte zentral (z.B. direkt miteinander über eine verdrahtete und/oder drahtlose Busstruktur gekoppelt) oder verteilt (z.B. Cloud Computing über indirekte Kopplung über ein lokales Netzwerk und/oder ein Weitverkehrsnetzwerk) angeordnet sein können. Es ist ferner zu beachten, dass, wenn das Verarbeitungssystem, das Verarbeitungsmodul, das Modul, der Verarbeitungsschaltkreis und/oder die Verarbeitungseinheit eine oder mehrere ihrer Funktionen über eine Zustandsmaschine, einen analogen Schaltkreis, einen digitalen Schaltkreis und/oder einen logischen Schaltkreis implementiert, kann der Speicher und/oder das Speicherelement, das die entsprechenden Betriebsanweisungen speichert, innerhalb oder außerhalb des Schaltkreises eingebettet sein, der die Zustandsmaschine, den analogen Schaltkreis, den digitalen Schaltkreis und/oder den logischen Schaltkreis umfasst. Es ist ferner zu beachten, dass das Speicherelement hartkodierte Anweisungen und/oder Betriebsanweisungen, die mindestens einigen der in einer oder mehreren der Figuren veranschaulichten Schritte und/oder Funktionen entsprechen, speichern kann und das Verarbeitungssystem, das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung und/oder die Verarbeitungseinheit diese Anweisungen ausführt. Ein solches Speichergerät oder Speicherelement kann in einem Herstellungsgegenstand enthalten sein.
  • Eine oder mehrere Ausführungsformen wurden oben mit Hilfe von Verfahrensschritten beschrieben, die die Ausführung spezifizierter Funktionen und deren Beziehungen veranschaulichen. Die Grenzen und die Reihenfolge dieser Funktionsbausteine und Verfahrensschritte wurden hierin aus Gründen der Einfachheit der Beschreibung willkürlich festgelegt. Alternative Begrenzungen und Abfolgen können definiert werden, solange die spezifizierten Funktionen und Beziehungen angemessen ausgeführt werden. Alle derartigen alternativen Begrenzungen oder Abfolgen liegen somit innerhalb des Umfangs und des Geistes der Ansprüche. Ferner wurden die Begrenzungen dieser Funktionsbausteine aus Gründen der Einfachheit der Beschreibung willkürlich festgelegt. Alternative Begrenzungen könnten so lange definiert werden, wie die bestimmten wichtigen Funktionen angemessen ausgeführt werden. In ähnlicher Weise können hier auch Flussdiagramm-Blöcke willkürlich definiert worden sein, um bestimmte signifikante Funktionen zu veranschaulichen.
  • In dem verwendeten Umfang hätten die Grenzen und die Reihenfolge der Flussdiagramm-Blöcke auch anders definiert werden können und immer noch die bestimmte signifikante Funktionalität ausführen können. Solche alternativen Definitionen sowohl von Funktionsbausteinen als auch von Flussdiagrammblöcken und -sequenzen liegen somit im Rahmen und im Geist der Ansprüche. Ein durchschnittlicher Fachmann wird auch erkennen, dass die funktionellen Bausteine und andere veranschaulichende Blöcke, Module und Komponenten hierin wie dargestellt oder durch diskrete Komponenten, anwendungsspezifische integrierte Schaltungen, Prozessoren, die entsprechende Software ausführen, und dergleichen oder eine beliebige Kombination davon implementiert werden können.
  • Darüber hinaus kann ein Flussdiagramm eine „Start“- und/oder „Weiter“-Angabe umfassen. Die „Start“- und „Fortfahren“-Angaben geben an, dass die dargestellten Schritte wahlweise in andere Routinen integriert oder anderweitig in Verbindung mit anderen Routinen verwendet werden können. In diesem Zusammenhang gibt „Start“ den Beginn des ersten vorgestellten Schrittes an und kann anderen, nicht speziell dargestellten Aktivitäten vorangehen. Ferner gibt der Hinweis „Fortfahren‟ an, dass die vorgestellten Schritte mehrfach ausgeführt und/oder durch andere, nicht spezifisch dargestellte Aktivitäten ersetzt werden können. Ferner gibt ein Flussdiagramm zwar eine bestimmte Reihenfolge der Schritte an, doch sind auch andere Anordnungen möglich, sofern die Prinzipien der Kausalität eingehalten werden.
  • Die eine oder mehrere Ausführungsformen werden hier verwendet, um einen oder mehrere Aspekte, ein oder mehrere Merkmale, ein oder mehrere Konzepte und/oder ein oder mehrere Beispiele zu veranschaulichen. Eine physikalische Ausführungsform einer Vorrichtung, eines Herstellungsgegenstandes, einer Maschine und/oder eines Verfahrens kann einen oder mehrere der Aspekte, Merkmale, Konzepte, Beispiele usw. umfassen, die unter Bezugnahme auf eine oder mehrere der hierin besprochenen Ausführungsformen beschrieben werden. Ferner können die Ausführungsformen von Figur zu Figur die gleichen oder ähnlich benannten Funktionen, Schritte, Module usw. enthalten, die die gleichen oder verschiedene Bezugszeichen verwenden, und als solche können die Funktionen, Schritte, Module usw. die gleichen oder ähnliche Funktionen, Schritte, Module usw. oder verschiedene sein.
  • Sofern nicht ausdrücklich gegenteilig angegeben, können Signale zu, von und/oder zwischen Elementen in einer Figur einer der hier dargestellten Figuren analog oder digital, zeitkontinuierlich oder zeitdiskret und unsymmetrisch oder differentiell sein. Wenn zum Beispiel ein Signalpfad als unsymmetrischer Pfad dargestellt wird, stellt er auch einen differentiellen Signalpfad dar. In ähnlicher Weise stellt ein Signalpfad, der als differentieller Pfad dargestellt ist, ebenfalls einen unsymmetrischen Signalpfad dar. Während eine oder mehrere bestimmte Architekturen hier beschrieben werden, können auch andere Architekturen implementiert werden, die einen oder mehrere nicht ausdrücklich gezeigte Datenbusse, direkte Konnektivität zwischen Elementen und/oder indirekte Kopplung zwischen anderen Elementen verwenden, wie sie von einem durchschnittlichen Fachmann auf diesem Gebiet erkannt werden.
  • Der Begriff „Modul“ wird in der Beschreibung einer oder mehrerer der Ausführungsformen verwendet. Ein Modul implementiert eine oder mehrere Funktionen über ein Gerät, wie z.B. einen Prozessor oder ein anderes Verarbeitungsmodul oder eine andere Hardware, die einen Speicher, der Betriebsanweisungen speichert, umfassen oder in Verknüpfung mit diesem arbeiten kann. Ein Modul kann unabhängig und/oder in Verbindung mit Software und/oder Firmware arbeiten. Wie hier ebenfalls verwendet, kann ein Modul ein oder mehrere Untermodule enthalten, von denen jedes ein oder mehrere Module sein kann.
  • Wie ferner hierin verwendet werden kann, umfasst ein computerlesbarer Speicher ein oder mehrere Speicherelemente. Ein Speicherelement kann ein separates Speichergerät, mehrere Speichergeräte oder ein Satz von Speicherplätzen innerhalb eines Speichergeräts sein. Eine solche Speichervorrichtung kann ein Nur-Lese-Speicher, ein Speicher mit wahlfreiem Zugriff, ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein statischer Speicher, ein dynamischer Speicher, ein Flash-Speicher, ein Cache-Speicher und/oder eine beliebige Vorrichtung, die digitale Informationen speichert, sein. Das Gerät kann in Form eines Festkörperbauteils, eines Festplattenspeichers, eines Cloud-Speichers, eines Daumenlaufwerks, eines Server-Speichers, eines Rechengerätes, eines Cache-Speichers und/oder eines anderen physikalischen Mediums zur Speicherung digitaler Informationen vorliegen.

Claims (25)

  1. Verfahren zur Ausführung durch eine verteilte Speicher- und Aufgaben-Verarbeitungseinheit, DST-Verarbeitungseinheit (910) eines verteilten Speichernetzwerks, DSN (10), das einen Prozessor umfasst, wobei das Verfahren umfasst: Ermitteln (1002) erster Systemauslastungsdaten; Empfangen (1004) einer ersten Operationsanforderung; Erzeugen (1006) einer ersten Anforderungswarteschlange (915), die eine erste Berechtigungsanforderung enthält, die der ersten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert ungünstig vergleicht; Ermitteln (1008) einer ersten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der ersten Anforderungswarteschlange (915) auf Grundlage der ersten Systemauslastungsdaten; Empfangen (1010) einer ersten nachfolgenden Operationsanforderung; Anhängen (1012) einer ersten nachfolgenden Berechtigungsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, an die erste Anforderungswarteschlange (915); Erzeugen (1014) einer ersten gestapelten Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) enthält, in Reaktion auf das Ermitteln, dass sich die erste Anforderungswarteschlange (915) mit der ersten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; Senden (1016) der ersten gestapelten Berechtigungsanforderung an ein Identitäts- und Zugriffsverwaltungssystem, IAM-System (930); Empfangen (1018) einer ersten Vielzahl von Berechtigungsrückmeldungen von dem IAM-System (930), die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) entspricht; Ermitteln (1020) einer ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben; Erleichtern (1022) der Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht; Ermitteln (1024) zweiter Systemauslastungsdaten; Empfangen (1026) einer zweiten Operationsanforderung; Erzeugen (1028) einer zweiten Anforderungswarteschlange (915), die eine zweite Berechtigungsanforderung enthält, die der zweiten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das sich mit dem normalen Auslastungsschwellenwert ungünstig vergleicht, wobei sich das zweite Auslastungsniveau von dem ersten Auslastungsniveau unterscheidet; Ermitteln (1030) einer zweiten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der zweiten Anforderungswarteschlange (915) auf Grundlage der zweiten Systemauslastungsdaten, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet; Empfangen (1032) einer zweiten nachfolgenden Operationsanforderung; Anhängen (1034) einer zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange (915); Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange (915) enthält, in Reaktion (1036) auf das Ermitteln, dass sich die zweite Anforderungswarteschlange (915) mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; und Senden (1038, 1046) der zweiten gestapelten Berechtigungsanforderung an das IAM-System (930).
  2. Verfahren nach Anspruch 1, ferner umfassend: Ermitteln dritter Systemauslastungsdaten; Empfangen einer dritten Operationsanforderung; Bestimmen, eine dritte Berechtigungsanforderung, die der dritten Operationsanforderung entspricht, als eine einzige Berechtigungsrückmeldung an das IAM-System (930) zu senden, in Reaktion auf das Ermitteln, dass die dritten Systemauslastungsdaten ein Systemauslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert günstig vergleicht; Empfangen einer einzigen Berechtigungsrückmeldung von dem IAM-System (930), die der dritten Berechtigungsanforderung entspricht; und Erleichterung der Ausführung der dritten Operationsanforderung, wenn die einzige Berechtigungsrückmeldung einen Berechtigungserfolg angibt.
  3. Das Verfahren nach Anspruch 1, ferner umfassend: Ermitteln einer zweiten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungsfehler angeben, wobei eine Schnittmenge der zweiten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen und der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen null ist; Ermitteln einer Teilmenge einer Vielzahl von Anforderern (920), die eine zweite Teilmenge der Vielzahl von Operationsanforderungen, die der zweiten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht, gesendet haben; und Erzeugen einer Berechtigungsfehlerbenachrichtigung zur Übermittlung an die Teilmenge der Vielzahl von Anforderern (920).
  4. Verfahren nach Anspruch 1, wobei die erste Vielzahl von Berechtigungsrückmeldungen in einer ersten gestapelten Berechtigungsrückmeldung empfangen wird, die von dem IAM-System (930) erzeugt wird.
  5. Verfahren nach Anspruch 1, wobei mindestens eine erste Rückmeldung aus der ersten Vielzahl von Berechtigungsrückmeldungen in einer ersten Übertragung zu einem ersten Zeitpunkt empfangen wird, wobei mindestens eine zweite Rückmeldung aus der ersten Vielzahl von Berechtigungsrückmeldungen in einer zweiten Übertragung zu einem zweiten Zeitpunkt empfangen wird, und wobei der erste Zeitpunkt vom zweiten Zeitpunkt verschieden ist.
  6. Verfahren nach Anspruch 1, wobei die erste Operationsanforderung eine Leseanforderung enthält, die ein Datenobjekt (40) angibt, wobei eine Fehlerencodierungsfunktion verteilter Speicherung an einem Datensegment des Datenobjekts (40) durchgeführt wurde, um einen Satz von encodierten Datenausschnitten zu erzeugen, die in einem Satz von Speichereinheiten (36) des DSN (10) gespeichert sind, wobei eine Berechtigungsrückmeldung, die der ersten Operationsanforderung entspricht, einen Berechtigungserfolg angibt, und wobei die Ausführung der ersten Operationsanforderung enthält: Abrufen einer Leseschwellenzahl des Satzes von encodierten Datenausschnitten aus dem Satz von Speichereinheiten (36); und Ausführen einer Fehlerdecodierungsfunktion verteilter Speicherung für die Leseschwellenzahl des Satzes von encodierten Datenausschnitten, um das Datensegment wiederzuerzeugen.
  7. Das Verfahren nach Anspruch 1, ferner umfassend: Empfangen einer ersten Vielzahl von Netzwerk-Auslastungsniveaus von einem Satz von Netzwerkkomponenten des DSN (10); Erzeugen der ersten Systemauslastungsdaten auf Grundlage der ersten Vielzahl von Netzwerkauslastungsniveaus; Empfangen einer zweiten Vielzahl von Netzwerkauslastungsniveaus von dem Satz von Netzwerkkomponenten des DSN (10); und Erzeugen der zweiten Systemauslastungsdaten auf Grundlage der zweiten Vielzahl von Netzwerkauslastungsniveaus.
  8. Verfahren nach Anspruch 7, wobei der Satz von Netzwerkkomponenten des DSN (10) eine Teilmenge einer Vielzahl von Netzwerkkomponenten des DSN (10) ist, ferner umfassend: Ermitteln des Satzes von Netzwerkkomponenten auf Grundlage des Ermittelns derjenigen aus der Vielzahl von Netzwerkkomponenten des DSN (10), die an der Berechtigung von Operationsanforderungen teilnehmen; und Erzeugen einer ersten Vielzahl von Netzwerk-Auslastungsniveau-Anforderungen zur Übertragung an den Satz von Netzwerkkomponenten des DSN (10), wobei die erste Vielzahl von Netzwerk-Auslastungsniveaus in Reaktion auf die erste Vielzahl von Netzwerk-Auslastungsniveau-Anforderungen empfangen wird.
  9. Verfahren nach Anspruch 8, wobei der Satz von Netzkomponenten eine Vielzahl von Netzwerk-Switches (960) umfasst, die dazu bestimmt sind, Berechtigungsanforderungen von der DST-Verarbeitungseinheit (910) an das IAM-System (930) zu leiten.
  10. Verfahren nach Anspruch 1, ferner umfassend: Empfangen eines ersten IAM-Auslastungsniveaus von dem IAM-System (930); Erzeugen der ersten Systemauslastungsdaten auf Grundlage des ersten IAM-Auslastungsniveaus; Empfangen eines zweiten IAM-Auslastungsniveaus von dem IAM-System (930); und Erzeugen der zweiten Systemauslastungsdaten auf Grundlage des zweiten Auslastungsniveaus des IAM-Systems (930); wobei das erste IAM-Auslastungsniveau und das zweite IAM-Auslastungsniveau von dem IAM auf Grundlage des Netzwerkverkehrs zu dem IAM-System (930) erzeugt werden.
  11. Verfahren nach Anspruch 1, wobei die erste Warteschlangenbegrenzungsbedingung einen ersten Warteschlangengrößen-Schwellenwert angibt, wobei die zweite Warteschlangenbegrenzungsbedingung einen zweiten Warteschlangengrößen-Schwellenwert angibt, wobei der erste Warteschlangengrößen-Schwellenwert größer ist als der zweite Warteschlangengrößen-Schwellenwert auf Grundlage des ersten Auslastungsniveaus, das eine stärkere Überauslastung als das zweite Auslastungsniveau angibt, und wobei in Reaktion darauf eine erste Anzahl der ersten Vielzahl von Berechtigungsanforderungen der ersten gestapelten Berechtigungsanforderung größer ist als eine zweite Anzahl der zweiten Vielzahl von Berechtigungsanforderungen der zweiten gestapelten Berechtigungsanforderung.
  12. Verfahren nach Anspruch 11, wobei ein Ermitteln der ersten Warteschlangenbegrenzungsbedingung ein Berechnen des ersten Warteschlangengrößen-Schwellenwertes durch ein Ausführen einer Funktion auf dem ersten Auslastungsniveau umfasst, wobei ein Ermitteln der zweiten Warteschlangenbegrenzungsbedingung ein Berechnen des zweiten Warteschlangengrößen-Schwellenwertes durch ein Ausführen der Funktion auf dem zweiten Auslastungsniveau umfasst, und wobei die Funktion den Warteschlangengrößen-Schwellenwert als eine monoton ansteigende Funktion des Auslastungsniveaus berechnet.
  13. Verfahren nach Anspruch 1, wobei die erste Warteschlangenbegrenzungsbedingung eine erste Warteschlangenzeitbegrenzung angibt, wobei die zweite Warteschlangenbegrenzungsbedingung eine zweite Warteschlangenzeitbegrenzung angibt, wobei die erste Warteschlangenzeitbegrenzung kürzer ist als die zweite Warteschlangenzeitbegrenzung auf der Grundlage des zweiten Auslastungsniveaus, das eine weniger starke Überauslastung als das erste Auslastungsniveau angibt, und wobei in Reaktion darauf eine erste Zeit, die von der Erzeugung der ersten Anforderungswarteschlange (915) bis zur Erzeugung der ersten gestapelten Berechtigungsanforderung verstrichen ist, kürzer ist als eine zweite Zeit, die von der Erzeugung der zweiten Anforderungswarteschlange (915) bis zur Erzeugung der zweiten gestapelten Berechtigungsanforderung verstrichen ist.
  14. Verfahren nach Anspruch 13, wobei das Ermitteln der ersten Warteschlangenbegrenzungsbedingung ein Berechnen der ersten Warteschlangenzeitbegrenzung durch ein Ausführen einer Funktion auf dem ersten Auslastungsniveau umfasst, wobei das Ermitteln der zweiten Warteschlangenbegrenzungsbedingung ein Berechnen der zweiten Warteschlangenzeitbegrenzung durch ein Ausführen der Funktion auf dem zweiten Auslastungsniveau umfasst, und wobei die Funktion die Warteschlangenzeitbegrenzung als eine monoton steigende Funktion des Auslastungsniveaus berechnet.
  15. Verfahren nach Anspruch 13, wobei die erste Warteschlangenbegrenzungsbedingung eine erste Warteschlangenzeitbegrenzung einschließt, wobei die zweite Warteschlangenbegrenzungsbedingung eine zweite Warteschlangenzeitbegrenzung einschließt, und wobei die zweite Warteschlangenzeitbegrenzung als kürzere als die erste Warteschlangenzeitbegrenzung in Reaktion auf eine Feststellung ermittelt wird, dass sich die erste Warteschlangenzeitbegrenzung mit einer vom Anforderer (920) wahrgenommenen Latenzanforderung ungünstig vergleicht.
  16. Verfahren nach Anspruch 1, wobei das Ermitteln der zweiten Warteschlangenbegrenzungsbedingung ferner auf Grundlage einer Feststellung ermittelt wird, dass sich ein Anteil der fehlgeschlagenen Berechtigungsrückmeldungen der ersten Vielzahl von Berechtigungsrückmeldungen mit einem Schwellenwert für fehlgeschlagene Rückmeldungen ungünstig vergleicht.
  17. Verfahren nach Anspruch 1, weiterhin aufweisend: Ermitteln (1040) dritter Systemauslastungsdaten; Ermitteln (1042) einer dritten Warteschlangenbegrenzungsbedingung auf Grundlage der dritten Systemauslastungsdaten, wobei sich die dritte Warteschlangenbegrenzungsbedingung von der zweiten Warteschlangenbegrenzungsbedingung unterscheidet; wobei das Erzeugen der zweiten gestapelten Berechtigungsanforderung zusätzlich ausgeführt wird in Reaktion (1044) auf das Ermitteln der dritten Warteschlangenbegrenzungsbedingung und auf das Ermitteln, dass sich die zweite Anforderungswarteschlange (915) mit der dritten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, wobei sich die zweite Anforderungswarteschlange (915) mit der zweiten Warteschlangenbegrenzungsbedingung günstig vergleicht.
  18. Verarbeitungssystem einer verteilten Speicher- und Aufgaben-Verarbeitungseinheit, DST-Verarbeitungseinheit (910), umfassend: mindestens einen Prozessor; einen Speicher, der Betriebsanweisungen speichert, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das Verarbeitungssystem veranlassen zum: Ermitteln (1002) erster Systemauslastungsdaten; Empfangen (1004) einer ersten Operationsanforderung; Erzeugen (1006) einer ersten Anforderungswarteschlange (915), die eine erste Berechtigungsanforderung enthält, die der ersten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert ungünstig vergleicht; Ermitteln (1008) einer ersten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der ersten Anforderungswarteschlange (915) auf Grundlage der ersten Systemauslastungsdaten; Empfangen (1010) einer ersten nachfolgenden Operationsanforderung; Anhängen (1012) einer ersten nachfolgenden Berechtigungsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, an die erste Anforderungswarteschlange (915); Erzeugen (1014) einer ersten gestapelten Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) enthält, in Reaktion auf das Ermitteln, dass sich die erste Anforderungswarteschlange (915) mit der ersten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; Senden (1016) der ersten gestapelten Berechtigungsanforderung an ein Identitäts- und Zugriffsverwaltungssystem, IAM-System (930); Empfangen (1018) einer ersten Vielzahl von Berechtigungsrückmeldungen von dem IAM-System (930), die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) entspricht; Ermitteln (1020) einer ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben; Erleichtern (1022) der Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht; Ermitteln (1024) zweiter Systemauslastungsdaten; Empfangen (1026) einer zweiten Operationsanforderung; Erzeugen (1028) einer zweiten Anforderungswarteschlange (915) die eine zweite Berechtigungsanforderung enthält, die der zweiten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das sich mit dem normalen Auslastungsschwellenwert ungünstig vergleicht, wobei sich das zweite Auslastungsniveau von dem ersten Auslastungsniveau unterscheidet; Ermitteln (1030) einer zweiten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der zweiten Anforderungswarteschlange (915) auf Grundlage der zweiten Systemauslastungsdaten, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet; Empfangen (1032) einer zweiten nachfolgenden Operationsanforderung; Anhängen (1034) einer zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange (915); Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange (915) enthält, in Reaktion (1036) auf das Ermitteln, dass sich die zweite Anforderungswarteschlange (915) mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; und Senden (1038, 1046) der zweiten gestapelten Berechtigungsanforderung an das IAM-System (930).
  19. Verarbeitungssystem nach Anspruch 18, wobei die Betriebsanweisungen, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das Verarbeitungssystem ferner veranlassen zum: Ermitteln dritter Systemauslastungsdaten; Empfangen einer dritten Operationsanforderung; Bestimmen, eine dritte Berechtigungsanforderung, die der dritten Operationsanforderung entspricht, als eine einzige Berechtigungsrückmeldung an das IAM-System (930) zu senden, in Reaktion auf das Ermitteln, dass die dritten Systemauslastungsdaten ein Systemauslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert günstig vergleicht; Empfangen einer einzigen Berechtigungsrückmeldung von dem IAM-System (930), die der dritten Berechtigungsanforderung entspricht; und Erleichterung der Ausführung der dritten Operationsanforderung, wenn die einzige Berechtigungsrückmeldung einen Berechtigungserfolg angibt.
  20. Verarbeitungssystem nach Anspruch 18, wobei die Betriebsanweisungen, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das Verarbeitungssystem ferner veranlassen zum: Empfangen einer ersten Vielzahl von Netzwerk-Auslastungsniveaus von einem Satz von Netzwerkkomponenten des DSN (10); Erzeugen der ersten Systemauslastungsdaten auf Grundlage der ersten Vielzahl von Netzwerkauslastungsniveaus; Empfangen einer zweiten Vielzahl von Netzwerkauslastungsniveaus von dem Satz von Netzwerkkomponenten des DSN (10); und Erzeugen der zweiten Systemauslastungsdaten auf Grundlage der zweiten Vielzahl von Netzwerkauslastungsniveaus.
  21. Verarbeitungssystem nach Anspruch 18, wobei die Betriebsanweisungen, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das Verarbeitungssystem ferner veranlassen zum: Empfangen eines ersten IAM-Auslastungsniveaus von dem IAM-System (930); Erzeugen der ersten Systemauslastungsdaten auf Grundlage des ersten IAM-Auslastungsniveaus; Empfangen eines zweiten IAM-Auslastungsniveaus von dem IAM-System (930); und Erzeugen der zweiten Systemauslastungsdaten auf Grundlage des zweiten Auslastungsniveaus des IAM-Systems (930); wobei das erste IAM-Auslastungsniveau und das zweite IAM-Auslastungsniveau von dem IAM auf Grundlage des Netzwerkverkehrs zu dem IAM-System (930) erzeugt werden.
  22. Verarbeitungssystem nach Anspruch 18, wobei die erste Warteschlangenbegrenzungsbedingung einen ersten Warteschlangengrößen-Schwellenwert angibt, wobei die zweite Warteschlangenbegrenzungsbedingung einen zweiten Warteschlangengrößen-Schwellenwert angibt, wobei der erste Warteschlangengrößen-Schwellenwert größer ist als der zweite Warteschlangengrößen-Schwellenwert auf Grundlage des ersten Auslastungsniveaus, das eine stärkere Überauslastung als das zweite Auslastungsniveau angibt, und wobei in Reaktion darauf eine erste Anzahl der ersten Vielzahl von Berechtigungsanforderungen der ersten gestapelten Berechtigungsanforderung größer ist als eine zweite Anzahl der zweiten Vielzahl von Berechtigungsanforderungen der zweiten gestapelten Berechtigungsanforderung.
  23. Verarbeitungssystem nach Anspruch 18, wobei die erste Warteschlangenbegrenzungsbedingung eine erste Warteschlangenzeitbegrenzung angibt, wobei die zweite Warteschlangenbegrenzungsbedingung eine zweite Warteschlangenzeitbegrenzung angibt, wobei die erste Warteschlangenzeitbegrenzung kürzer ist als die zweite Warteschlangenzeitbegrenzung auf der Grundlage des zweiten Auslastungsniveaus, das eine weniger starke Überauslastung als das erste Auslastungsniveau angibt, und wobei in Reaktion darauf eine erste Zeit, die von der Erzeugung der ersten Anforderungswarteschlange (915) bis zur Erzeugung der ersten gestapelten Berechtigungsanforderung verstrichen ist, kürzer ist als eine zweite Zeit, die von der Erzeugung der zweiten Anforderungswarteschlange (915) bis zur Erzeugung der zweiten gestapelten Berechtigungsanforderung verstrichen ist.
  24. Verarbeitungssystem nach Anspruch 18, wobei die Betriebsanweisungen, wenn sie von dem mindestens einen Prozessor ausgeführt werden, das Verarbeitungssystem ferner veranlassen zum: Ermitteln (1040) dritter Systemauslastungsdaten; Ermitteln (1042) einer dritten Warteschlangenbegrenzungsbedingung auf Grundlage der dritten Systemauslastungsdaten, wobei sich die dritte Warteschlangenbegrenzungsbedingung von der zweiten Warteschlangenbegrenzungsbedingung unterscheidet; wobei das Erzeugen der zweiten gestapelten Berechtigungsanforderung zusätzlich ausgeführt wird in Reaktion (1044) auf das Ermitteln der dritten Warteschlangenbegrenzungsbedingung und auf das Ermitteln, dass sich die zweite Anforderungswarteschlange (915) mit der dritten Warteschlangenbegrenzungsbedingung ungünstig vergleicht, wobei sich die zweite Anforderungswarteschlange (915) mit der zweiten Warteschlangenbegrenzungsbedingung günstig vergleicht.
  25. Ein computerlesbares Speichermedium, umfassend: mindestens einen Speicherabschnitt, der Betriebsanweisungen speichert, die, wenn sie von einem Verarbeitungssystem eines verteilten Speichernetzwerks, DSN (10) ausgeführt werden, das einen Prozessor und einen Speicher enthält, das Verarbeitungssystem veranlassen zum: Ermitteln (1002) erster Systemauslastungsdaten; Empfangen (1004) einer ersten Operationsanforderung; Erzeugen (1006) einer ersten Anforderungswarteschlange (915), die eine erste Berechtigungsanforderung enthält, die der ersten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die ersten Systemauslastungsdaten ein erstes Auslastungsniveau angeben, das sich mit einem normalen Auslastungsschwellenwert ungünstig vergleicht; Ermitteln (1008) einer ersten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der ersten Anforderungswarteschlange (915) auf Grundlage der ersten Systemauslastungsdaten; Empfangen (1010) einer ersten nachfolgenden Operationsanforderung; Anhängen (1012) einer ersten nachfolgenden Berechtigungsanforderung, die der ersten nachfolgenden Operationsanforderung entspricht, an die erste Anforderungswarteschlange (915); Erzeugen (1014) einer ersten gestapelten Berechtigungsanforderung, die eine erste Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) enthält, in Reaktion auf das Ermitteln, dass sich die erste Anforderungswarteschlange (915) mit der ersten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; Senden (1016) der ersten gestapelten Berechtigungsanforderung an ein Identitäts- und Zugriffsverwaltungssystem, IAM-System (930); Empfangen (1018) einer ersten Vielzahl von Berechtigungsrückmeldungen von dem IAM-System (930), die der ersten Vielzahl von Berechtigungsanforderungen der ersten Anforderungswarteschlange (915) entspricht; Ermitteln (1020) einer ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen, die einen Berechtigungserfolg angeben; Erleichtern (1022) der Ausführung einer Teilmenge einer Vielzahl von Operationsanforderungen, die der ersten Teilmenge der ersten Vielzahl von Berechtigungsrückmeldungen entspricht; Ermitteln (1024) zweiter Systemauslastungsdaten; Empfangen (1026) einer zweiten Operationsanforderung; Erzeugen (1028) einer zweiten Anforderungswarteschlange (915), die eine zweite Berechtigungsanforderung enthält, die der zweiten Operationsanforderung entspricht, in Reaktion auf das Ermitteln, dass die zweiten Systemauslastungsdaten ein zweites Auslastungsniveau angeben, das sich mit dem normalen Auslastungsschwellenwert ungünstig vergleicht, wobei sich das zweite Auslastungsniveau von dem ersten Auslastungsniveau unterscheidet; Ermitteln (1030) einer zweiten Warteschlangenbegrenzungsbedingung in Reaktion auf das Erzeugen der zweiten Anforderungswarteschlange (915) auf Grundlage der zweiten Systemauslastungsdaten, wobei sich die zweite Warteschlangenbegrenzungsbedingung von der ersten Warteschlangenbegrenzungsbedingung unterscheidet; Empfangen (1032) einer zweiten nachfolgenden Operationsanforderung; Anhängen (1034) einer zweiten nachfolgenden Berechtigungsanforderung, die der zweiten nachfolgenden Operationsanforderung entspricht, an die zweite Anforderungswarteschlange (915); Erzeugen einer zweiten gestapelten Berechtigungsanforderung, die eine zweite Vielzahl von Berechtigungsanforderungen der zweiten Anforderungswarteschlange (915) enthält, in Reaktion (1036) auf das Ermitteln, dass sich die zweite Anforderungswarteschlange (915) mit der zweiten Warteschlangenbegrenzungsbedingung ungünstig vergleicht; und Senden (1038, 1046) der zweiten gestapelten Berechtigungsanforderung an das IAM-System (930).
DE112019000309.7T 2018-02-28 2019-02-07 Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk Active DE112019000309B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/907,785 US10592340B2 (en) 2018-02-28 2018-02-28 Dynamic authorization batching in a dispersed storage network
US15/907,785 2018-02-28
PCT/IB2019/050992 WO2019166895A1 (en) 2018-02-28 2019-02-07 Dynamic authorization batching in a dispersed storage network

Publications (2)

Publication Number Publication Date
DE112019000309T5 DE112019000309T5 (de) 2020-10-22
DE112019000309B4 true DE112019000309B4 (de) 2021-11-11

Family

ID=67685928

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000309.7T Active DE112019000309B4 (de) 2018-02-28 2019-02-07 Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk

Country Status (6)

Country Link
US (2) US10592340B2 (de)
JP (1) JP7167174B2 (de)
CN (1) CN111788560B (de)
DE (1) DE112019000309B4 (de)
GB (1) GB2584065B (de)
WO (1) WO2019166895A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592340B2 (en) 2018-02-28 2020-03-17 International Business Machines Corporation Dynamic authorization batching in a dispersed storage network
KR102654689B1 (ko) * 2019-05-24 2024-04-03 삼성에스디에스 주식회사 트랜잭션 실패 확률을 고려한 트랜잭션 가속 처리 장치 및 그 방법
US11165777B2 (en) 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11153315B2 (en) 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
KR20200139033A (ko) * 2019-06-03 2020-12-11 삼성에스디에스 주식회사 트랜잭션 가속 처리 장치 및 그 방법
CN113783786A (zh) * 2020-06-10 2021-12-10 深圳市中兴微电子技术有限公司 一种交换网络流量控制方法、设备及储存介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060459A1 (en) 2015-08-31 2017-03-02 International Business Machines Corporation Verifying authorized access in a dispersed storage network
US9798621B2 (en) 2009-08-27 2017-10-24 International Business Machines Corporation Dispersed storage network with slice rebuilding and methods for use therewith
US20170315735A1 (en) 2016-04-29 2017-11-02 International Business Machines Corporation Batching access requests in a dispersed storage network

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632722B2 (en) * 2010-05-19 2017-04-25 International Business Machines Corporation Balancing storage unit utilization within a dispersed storage network
JP5245934B2 (ja) * 2009-03-11 2013-07-24 富士通株式会社 管理装置の管理プログラム、管理装置、管理装置の管理方法およびストレージシステム
US8548913B2 (en) 2009-09-29 2013-10-01 Cleversafe, Inc. Method and apparatus to secure an electronic commerce transaction
US8554994B2 (en) 2009-09-29 2013-10-08 Cleversafe, Inc. Distributed storage network utilizing memory stripes
US9369526B2 (en) 2009-12-29 2016-06-14 International Business Machines Corporation Distributed storage time synchronization based on retrieval delay
US10353774B2 (en) 2015-10-30 2019-07-16 International Business Machines Corporation Utilizing storage unit latency data in a dispersed storage network
US8874868B2 (en) 2010-05-19 2014-10-28 Cleversafe, Inc. Memory utilization balancing in a dispersed storage network
US8549579B2 (en) * 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
US9229823B2 (en) 2011-08-17 2016-01-05 International Business Machines Corporation Storage and retrieval of dispersed storage network access information
US9430286B2 (en) * 2011-12-12 2016-08-30 International Business Machines Corporation Authorizing distributed task processing in a distributed storage network
US9515999B2 (en) * 2011-12-21 2016-12-06 Ssh Communications Security Oyj Automated access, key, certificate, and credential management
US9736034B2 (en) * 2012-09-19 2017-08-15 Oracle International Corporation System and method for small batching processing of usage requests
US10241866B2 (en) * 2013-01-04 2019-03-26 International Business Machines Corporation Allocating rebuilding queue entries in a dispersed storage network
US9043499B2 (en) 2013-02-05 2015-05-26 Cleversafe, Inc. Modifying a dispersed storage network memory data access response plan
US9405609B2 (en) 2013-05-22 2016-08-02 International Business Machines Corporation Storing data in accordance with a performance threshold
CN103491075B (zh) 2013-09-09 2016-07-06 中国科学院计算机网络信息中心 动态调整dns递归服务器缓存资源记录的方法和系统
US9495478B2 (en) * 2014-03-31 2016-11-15 Amazon Technologies, Inc. Namespace management in distributed storage systems
US9542239B2 (en) 2014-04-30 2017-01-10 International Business Machines Corporation Resolving write request conflicts in a dispersed storage network
US9363254B2 (en) * 2014-06-04 2016-06-07 Sonos, Inc. Cloud queue access control
US9838377B1 (en) * 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10878079B2 (en) * 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US10534666B2 (en) * 2016-07-14 2020-01-14 International Business Machines Corporation Determining storage requirements based on licensing right in a dispersed storage network
US10592340B2 (en) 2018-02-28 2020-03-17 International Business Machines Corporation Dynamic authorization batching in a dispersed storage network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798621B2 (en) 2009-08-27 2017-10-24 International Business Machines Corporation Dispersed storage network with slice rebuilding and methods for use therewith
US20170060459A1 (en) 2015-08-31 2017-03-02 International Business Machines Corporation Verifying authorized access in a dispersed storage network
US20170315735A1 (en) 2016-04-29 2017-11-02 International Business Machines Corporation Batching access requests in a dispersed storage network

Also Published As

Publication number Publication date
US10901849B2 (en) 2021-01-26
CN111788560A (zh) 2020-10-16
CN111788560B (zh) 2024-01-30
JP7167174B2 (ja) 2022-11-08
US20190340073A1 (en) 2019-11-07
GB2584065B (en) 2021-06-16
GB2584065A (en) 2020-11-18
JP2021515295A (ja) 2021-06-17
GB202014955D0 (en) 2020-11-04
WO2019166895A1 (en) 2019-09-06
US10592340B2 (en) 2020-03-17
DE112019000309T5 (de) 2020-10-22
US20190266052A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
DE112019000309B4 (de) Dynamisches batching von berechtigungen in einem verteilten speichernetzwerk
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
US10476849B2 (en) Monitoring and alerting for improper memory device replacement
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE102005051980B4 (de) System und Verfahren zur Netzwerkübertragung eines Informationsverarbeitungssystem-Images
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE112018000227B4 (de) Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk
DE112008004014T5 (de) Analysieren von Serverkopien von Clientdateien
US10901870B2 (en) Managing configuration updates in a dispersed storage network
DE112018001561B4 (de) Verteiltes speichernetzwerk
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE112017002144T5 (de) Manipulieren eines verteilten Vereinbarungsprotokolls zum Identifizieren einer gewünschten Gruppe von Speichereinheiten
DE112020005227T5 (de) Speicherzustandsüberwachung für differenziertedatenwiederherstellungskonfigurationen
US10649685B2 (en) Site-centric alerting in a distributed storage system
DE202023102700U1 (de) Datenaufnahmereplizierung und Notfallwiederherstellung
DE112012000780T5 (de) Verarbeiten von Berechtigungsprüfungsdaten
DE112019005042T5 (de) Ressourcenzuweisung unter verwendung von wiederherstellungsguthaben
DE112017000530T5 (de) Konsistentes Speichern von Daten in einem verstreuten Speichernetzwerk
DE112009004064T5 (de) Bereitstellen einer angabe einer veränderung an einernutzerschnittstellenvorrichtung über ein netzwerk zwischen computern
DE202021102315U1 (de) Flexibles Computing
DE102021109775A1 (de) Adaptive zeitfenster- basierte deduplizierung von protokollnachrichten
DE102017203239A1 (de) Verfahren und Speichersystem zum Speichern von einer Vielzahl von Dateneinheiten
DE112013006675T5 (de) Computersystem, Verfahren und Programm zur Computersystemverwaltung
US10761753B2 (en) Site-based coordination of distributed storage network memory
DE102021207788A1 (de) Verfahren und System zum Optimieren des Zugriffs auf Datenknoten eines Datenclusters unter Verwendung eines Datenzugriffs-Gateways

Legal Events

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