DE202014010886U1 - Programmatic selection of preferred storage parameters for files in large, distributed storage systems - Google Patents
Programmatic selection of preferred storage parameters for files in large, distributed storage systems Download PDFInfo
- Publication number
- DE202014010886U1 DE202014010886U1 DE202014010886.2U DE202014010886U DE202014010886U1 DE 202014010886 U1 DE202014010886 U1 DE 202014010886U1 DE 202014010886 U DE202014010886 U DE 202014010886U DE 202014010886 U1 DE202014010886 U1 DE 202014010886U1
- Authority
- DE
- Germany
- Prior art keywords
- file
- storage
- files
- preferred
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000010076 replication Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000012423 maintenance Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 description 43
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
System zur programmatischen Bestimmung der bevorzugten Speicherparameter für Dateien, die in einem großen, verteilten Speichersystem gespeichert sind, umfassend: ein oder mehrere Verarbeitungsgeräte und ein oder mehrere Speichergeräte, die Anweisungen speichern, dass bei Ausführung durch ein oder mehrere Verarbeitungsgeräte, ein oder mehrere Verarbeitungsgeräte Folgendes tun: das Empfangen der Anforderung zur gewünschten Dateizuverlässigkeit oder -verfügbarkeit; das Empfangen der Systemeigenschaften, die Statistiken zu Systemausfällen in einem Datencenter beinhalten; das Vorhersagen zukünftiger Ausfälle des Speichersystems basierend auf den Statistiken der Systemausfälle; das Empfangen der Dateiverschlüsselungs- oder Replizierungsinformation für mindestens eine Datei im Speichersystem; das Vorhersagen der Dateizuverlässigkeits- und Wartungskosten basierend auf vergangenen Systemversagen und den Informationen zur Dateiverschlüsselung und -replizierung; und das Bestimmen der bevorzugten Speicherparameter für mindestens eine Datei, um die Kosten zu senken und gleichzeitig die gewünschte Dateizuverlässigkeit oder -verfügbarkeit basierend auf der empfangenen Anforderung zu erzielen.A system for programmatically determining the preferred storage parameters for files stored in a large distributed storage system, comprising: one or more processing devices and one or more storage devices storing instructions that when executed by one or more processing devices, one or more processing devices do: receiving the request for desired file reliability or availability; receiving the system properties including statistics on system failures in a data center; predicting future failures of the storage system based on the statistics of the system failures; receiving the file encryption or replication information for at least one file in the storage system; predicting file reliability and maintenance costs based on past system failures and file encryption and replication information; and determining the preferred storage parameters for at least one file to reduce costs while achieving desired file reliability or availability based on the received request.
Description
HINTERGRUNDBACKGROUND
Wie in
Speichergeräte können Server in einem Datencenter mit Flash, Laufwerken und/oder RAM-Speicher beinhalten und können verschiedene Zugriffsformen auf die Dateien ermöglichen. Einige Speichergeräte bieten beispielsweise einen schnelleren Zugriff auf Dateien oder könnten eine höhere Verfügbarkeit ermöglichen.Storage devices can include servers in a data center with flash, drives, and / or RAM, and can provide various forms of access to the files. For example, some storage devices provide faster access to files or could allow for increased availability.
Datendateien, die in großen, verteilten Speichersystemen gespeichert werden, können sehr groß sein und möglicherweise mehrere Gigabyte in Größe erreichen. Um diese Dateien zu verwalten werden sie in der Regel in Blöcke mit festgelegter Größe unterteilt, wie veranschaulicht in
Bei der Speicherung von Dateien in großen, verteilten Speichersystemen, können Blöcke über mehrere Speichergeräte aufgeteilt werden. Dieses Data Striping ist eine Technik zur Zerlegung von logisch sequentiellen Dateien, sodass aufeinanderfolgende Segmente auf verschiedenen physischen Speichergeräten gespeichert werden können. Ein Streifen (Stripe) ist ein Segment einer Datei, die auf ein Speichergerät geschrieben wird. Die Größe jedes Streifens, oder Blocks, kann konfiguriert werden, sodass jedes Speichergerät die maximale Menge an Daten in möglichst kurzer Zeit bereitstellen kann. Die Streifenbreite ist die Anzahl paralleler Streifen, die gleichzeitig geschrieben oder abgelesen werden können. Das Striping eignet sich, wenn ein Client-Gerät Zugriff auf eine Datei fordert, der schneller sein muss als ein einzelnes Speichergerät ermöglichen könnte. Durch das Striping der Datei auf verschiedene Speichergeräte, kann ein Client-Gerät gleichzeitig auf mehrere Dateisegmente zugreifen.When storing files in large, distributed storage systems, blocks can be split across multiple storage devices. This data striping is a technique for decomposing logically sequential files so that consecutive segments can be stored on different physical storage devices. A stripe is a segment of a file that is written to a storage device. The size of each stripe, or block, can be configured so that each storage device can provide the maximum amount of data in as short a time as possible. The stripe width is the number of parallel stripes that can be written or read simultaneously. Striping is useful when a client device requires access to a file that may need to be faster than a single storage device could provide. By striping the file across different storage devices, a client device can simultaneously access multiple file segments.
Neben der Zerlegung in Blöcke und Streifen über mehrere Speichergeräte, können Dateien in einem großen, verteilten Speichersystem auch verschlüsselt werden, um Fehler zu korrigieren, die während der Dateiübertragung oder -speicherung aufgetreten sind. Die Reed-Solomon-Verschlüsselung könnte beispielsweise zusätzliche „redundante” Bits zu den Dateien hinzufügen, die zur Wiederherstellung der Originaldatei verwendet werden könnten, wenn diese Bits während der Dateiübertragung oder Speicherung verloren gehen.In addition to splitting into blocks and stripes across multiple storage devices, files in a large, distributed storage system can also be encrypted to correct errors that occurred during file transfer or storage. For example, Reed-Solomon encryption could add extra "redundant" bits to the files that could be used to restore the original file if those bits are lost during file transfer or storage.
Sobald eine Datei gespeichert ist, können Clients die Datei aus dem großen, verteilten Speichersystem abfragen. Wenn ein Client Zugriff auf eine Datendatei oder einen Teil einer Datendatei anfordert, wird ein großer, verteilter Speichersystemserver mit dem Standort der entsprechenden Datei antworten. In einigen großen Systemen könnte der Client ein Lease der Datei erwerben und dieses Lease halten, bis der Client die Datei wieder freigibt. Obwohl während der Lease-Zeit weiterhin mehrere Lesezugriffe für die Datei erteilt werden können, kann kein anderer Client die Datei beschreiben. Darüber hinaus könnte es wünschenswert sein, wenn mehrere Clients zur gleichen Zeit auf die gleiche Datei zugreifen wollen, die Daten zu replizieren, um ausreichend Leistung für den Zugriff von mehr als einem Client auf diesen speziellen Dateiblock zur gleichen Zeit zu ermöglichen. Zusätzlich oder alternativ können Dateien auch über mehrere Speichergeräte repliziert werden, um eine Verfügbarkeit mehrerer Dateiblöcke zu ermöglichen, selbst wenn eines der Speichergeräte versagt oder nicht verfügbar ist. Die Replizierungsebene eines bestimmten Blocks ist die Anzahl an Speichergeräten, auf denen eine duplizierte Datei gespeichert ist. Ein dreifach replizierter Streifen würde beispielsweise bedeuten, drei Blöcke der exakten Kopien von einander auf drei verschiedene Speichergeräte zu legen. Das Speichern von Dateien auf mehreren Systemen in mehreren Datencentern könnte recht kostspielig sein. Das Speichern von Dateien auf einem einzigen System oder Datencenter könnte jedoch zu Problemen führen, wenn es zu einem Ausfall des Systems oder Datencenters kommt und die Datei nicht verfügbar ist.Once a file is saved, clients can query the file from the large, distributed storage system. When a client requests access to a data file or part of a data file, a large, distributed storage system server will respond with the location of the corresponding file. In some large systems, the client could acquire a lease of the file and hold that lease until the client releases the file. Although multiple read accesses to the file can still be granted during the lease period, no other client can describe the file. In addition, it may be desirable for multiple clients at the same time to access the same file to replicate the data to provide sufficient power to access more than one client for that particular file block To allow time. Additionally or alternatively, files may be replicated across multiple storage devices to allow for multiple file blocks even if one of the storage devices fails or is unavailable. The replication level of a given block is the number of storage devices on which a duplicate file is stored. For example, a triple-replicated strip would mean placing three blocks of the exact copies of each other on three different storage devices. Saving files to multiple systems in multiple datacenters could be quite costly. Saving files to a single system or datacenter, however, could cause problems if the system or datacenter fails and the file is not available.
KURZDARSTELLUNGSUMMARY
Diese Spezifikation beschreibt die Technologien in Verbindung mit der Cloud-Speicherung im Allgemeinen und insbesondere die Verfahren und Systeme zur programmatischen Auswahl bevorzugter Konfigurationsparameter zum Speichern und der Bereitstellung von Dateien in einem großen, verteilten Speichersystem.This specification describes the technologies associated with cloud storage in general and, more particularly, the methods and systems for programmatically selecting preferred configuration parameters for storing and providing files in a large, distributed storage system.
Im Allgemeinen kann ein Aspekt des in dieser Spezifikation beschriebenen Gegenstands in einem System und einem Verfahren zur programmatischen Bestimmung der bevorzugten Speicherparameter für Dateien enthalten sein, die in einem großen, verteilten Speichersystem gespeichert sind. Ein exemplarisches System könnte eines oder mehrere Verarbeitungsgeräte beinhalten, sowie eines oder mehrere Speichergeräte, die Anweisungen zum Ausführen der Schritte eines exemplarischen Verfahrens umfassen. [0007] Ein exemplarisches Verfahren könnte Folgendes beinhalten: Empfang der gewünschten Anforderungen an die Dateizuverlässigkeit oder Verfügbarkeit; Empfang der Systemeigenschaften, die Statistiken zu Systemausfällen in Datencentern beinhalten; die Vorhersage zukünftiger Versagen der Speichersysteme basierend auf den Statistiken der Systemausfälle; Empfang der Informationen zur Dateiverschlüsselung oder Replizierung für mindestens eine Datei im Dateisystem; Vorhersage der Kosten zur Dateizuverlässigkeit und Wartung basierend auf den vorherigen Systemversagen sowie den Informationen zur Dateiverschlüsselung und Replizierung; und Bestimmung der bevorzugten Speicherparameter für mindestens eine Datei, um die Kosten zu senken und gleichzeitig die gewünschte Dateizuverlässigkeit oder -verfügbarkeit basierend auf den empfangenen Anforderungen zu erzielen.In general, one aspect of the subject matter described in this specification may be included in a system and method for programmatically determining the preferred storage parameters for files stored in a large, distributed storage system. An exemplary system could include one or more processing devices, as well as one or more storage devices that include instructions for performing the steps of an exemplary method. An exemplary method could include: receiving the desired file reliability or availability requirements; Receive system properties that include statistics on system failures in data centers; the prediction of future memory system failures based on the statistics of the system failures; Receiving the file encryption or replication information for at least one file in the file system; Predicting file reliability and maintenance costs based on the previous system failure, file encryption and replication information; and determining the preferred storage parameters for at least one file to reduce costs while achieving the desired file reliability or availability based on the requests received.
Ein zweites exemplarisches Verfahren könnte Folgendes beinhalten: Empfang der Anforderungen zur gewünschten Dateizuverlässigkeit oder -verfügbarkeit; Empfang der Systemeigenschaften, die Informationen über das Speichersystem, standortexterne Backups für die Speichersysteme und Dateizugriffsmuster für im Speichersystem gespeicherte Informationen beinhalten; Bestimmung der historischen Zuverlässigkeit des Systems, der Zuverlässigkeit der standortexternen Backups für das Speichersystem und der Zuverlässigkeit von Dateien, die über eine der möglichen Dateiverschlüsselungs- oder Replizierungsebenen im System gespeichert wurden; Vorhersage der zukünftigen Zuverlässigkeit des Systems basierend auf der Bestimmung der Zuverlässigkeit des Speichersystems; Vorhersage der zukünftigen Zuverlässigkeit der Dateien, die im Speichersystem für jede Dateiverschlüsselung- oder Replizierungsebene gespeichert sind; Bestimmung der Wahrscheinlichkeit des Verlusts sowohl des großen Systems als auch des standortexternen Backups mithilfe der vorhergesagten Zuverlässigkeit des Speichersystems und des standortexternen Backups; und Bestimmung eines bevorzugten Speicherparameters für mindestens eine Datei basierend auf der bestimmten Wahrscheinlichkeit zum Verlust von sowohl des Speichersystems als auch des standortexternen Backups, der vorhergesagten Zuverlässigkeit jeder Verschlüsselung- und Replizierungsebene und der empfangen Anforderungen für die gewünschte Dateizuverlässigkeit oder -verfügbarkeit.A second exemplary method could include: receiving requests for desired file reliability or availability; Receiving the system properties including information about the storage system, off-site backups for the storage systems, and file access patterns for information stored in the storage system; Determining the historical reliability of the system, the reliability of off-site storage system backups, and the reliability of files stored in the system through one of the possible file encryption or replication levels; Predicting the future reliability of the system based on the determination of the reliability of the storage system; Predicting the future reliability of the files stored in the storage system for each file encryption or replication level; Determining the likelihood of losing both the large system and the off-site backup using the predicted reliability of the storage system and the off-site backup; and determining a preferred storage parameter for at least one file based on the determined probability of losing both the storage system and the off-site backup, the predicted reliability of each encryption and replication level, and the received requests for the desired file reliability or availability.
Diese und andere Ausführungsformen können als Option eines oder mehrere der folgenden Merkmale beinhalten. Ein Speicherparameter könnte eine Streifenbreite, Streifengröße, eine Verschlüsselungs- oder Replizierungsebene, ein Backup-Zeitplan für große, verteilte Speichersysteme oder ein Standort zum Speichern einer Datei sein. Ein Standort könnte den Ablageort einer Datei auf einem Gerät in einem großen, verteilten Speichersystem definieren, oder der Standort könnte den Ablageort einer Datei auf einem Backup-Gerät eines großen, verteilten Speichersystems definieren. Die Dateieigenschaften können auf einem Dashboard angezeigt werden. Ein Nutzer könnte über einen bevorzugten Speicherparameter informiert werden. Ein erstellter, bevorzugter Speicherparameter könnte zur Speicherung einer Datei mit oder ohne Zustimmung des Nutzers verwendet werden.These and other embodiments may optionally include one or more of the following features. A storage parameter could be a stripe width, stripe size, an encryption or replication level, a backup schedule for large, distributed storage systems, or a location for storing a file. A location could define the location of a file on a device in a large, distributed storage system, or the location could define the location of a file on a backup device of a large, distributed storage system. The file properties can be viewed on a dashboard. A user could be informed of a preferred storage parameter. A created, preferred storage parameter could be used to store a file with or without the user's consent.
Im Allgemeinen kann ein Aspekt des in dieser Spezifikation beschriebenen Gegenstands in einem System und einem Verfahren zur programmatischen Bestimmung der bevorzugten Speicherparameter für Dateien enthalten sein, die in einem großen, verteilten Speichersystem gespeichert sind. Ein exemplarisches System könnte eines oder mehrere Verarbeitungsgeräte beinhalten, sowie eines oder mehrere Speichergeräte, die Anweisungen zum Ausführen der Schritte eines exemplarischen Verfahrens umfassen. Ein exemplarisches Verfahren könnte Folgendes beinhalten: Empfang von Trace-Daten, die den Zugriff auf Informationen über Dateien darstellen, die in großen, verteilten Speichersystemen gespeichert sind; Analyse der Trace-Daten zur Identifizierung von Dateizugriffsmustern; Empfang der Metadateninformationen in Verbindung mit den Daten, die im großen, verteilten Speichersystem gespeichert sind; und Erstellung eines bevorzugten Speicherparameters für mindestens eine der Dateien basierend auf den empfangenden Informationen und identifizierten Dateizugriffsmustern.In general, one aspect of the subject matter described in this specification may be included in a system and method for programmatically determining the preferred storage parameters for files stored in a large, distributed storage system. An exemplary system could include one or more processing devices, as well as one or more storage devices that include instructions for performing the steps of an exemplary method. An exemplary method could include receiving trace data that provide access to information about files stored in large, distributed storage systems; Analysis of trace data to identify file access patterns; Receiving the metadata information associated with the data stored in the large distributed storage system; and creating a preferred storage parameter for at least one of the files based on the receiving information and identified file access patterns.
Diese und andere Ausführungsformen können zusätzlich eine oder mehrere der folgenden Funktionen beinhalten: mindestens eine Eigenschaft eines Speichersystems könnte zusätzlich zu den empfangenen Informationen und identifizierten Dateizugriffsmustern erhalten und verwendet werden, um einen bevorzugten Speicherparameter zu erstellen; eine Systemeigenschaft könnte eine Systemausfallhistorie, Wartungsausfallhistorie oder Zeitplan, eine Systemgerätverfügbarkeit, Systemgeräteleistung oder I/O-Kapazität sein; und eine Anforderung an die Dateizuverlässigkeit und Verfügbarkeit kann zusätzlich zu den erhaltenen Informationen und identifizierten Dateizugriffsmustern empfangen und genutzt werden, um einen bevorzugten Speicherparameter zu erstellen. Die Analyse der Trace-Daten zur Identifizierung der Dateizugriffsmuster könnte den Empfang von Trace-Daten für eine Teilmenge an Dateien in einem großen, verteilten Speichersystem; die Bestimmung der Eigenschaften der Teilmenge; und die Beurteilung der Verteilung der Eigenschaften für die Dateien in dem großen, verteilten Speichersystem beinhalten, basierend auf den bestimmten Eigenschaften der Teilmenge. Eine Eigenschaft für die Dateien könnte das Alter jeder Datei zum Zeitpunkt des letzten Zugriffs auf die Datei sein. Erstellen eines bevorzugten Speicherparameters für mindestens eine Datei könnte die Definition mindestens einer Dateigruppe basierend auf den identifizierten Dateizugriffsmustern, das Erstellen eines bevorzugten Speicherparameters für die Eigenschaften der Dateigruppe; und die Verwendung der erstellten Speicherparameter zur Speicherung von mindestens einer Datei in Verbindung mit der Dateigruppe beinhalten. Metadateninformationen in Verbindung mit der Datei können zusammen mit Informationen zur Dateizuverlässigkeit oder -verfügbarkeit der Datei erhalten werden. Diese Informationen können mit den Informationen einer definierten Dateigruppe im großen, verteilten Speichersystem verglichen werden. Wenn die Dateiinformationen den Informationen einer definierten Dateigruppe entsprechen, wird die Datei mit den Speicherparametern dieser entsprechenden Dateigruppe gespeichert. Wenn die Dateiinformationen nicht den Informationen einer definierten Dateigruppe entsprechen, wird eine neue Dateigruppe erstellt, basierend auf den Dateiinformationen, und die bevorzugten Speicherparameter können für die neue Dateigruppe auf Basis der Eigenschaften der Dateigruppe erstellt werden. Vor der Implementierung einer Dateigruppenrichtlinie für die Zuweisung von Speicherparametern zu Dateien basierend auf den generierten, bevorzugten Speicherparametern für eine neue Dateigruppe ist die Zustimmung des Nutzers erforderlich. Speicherparameter könnten Folgendes beinhalten: Streifenbreite, Streifengröße, Verschlüsselungs- oder Replizierungsebene, einen Backup-Zeitplan oder einen Standort. Ein Standort könnte den Ablageort einer Datei auf einem Gerät in einem großen, verteilten Speichersystem definieren, oder der Standort könnte den Ablageort einer Datei auf einem Backup-Gerät eines großen, verteilten Speichersystems definieren. Die Eigenschaften der Dateigruppe können auf einem Dashboard angezeigt werden und ein Benutzer könnte über die bevorzugten Speicherparameter informiert werden. Ein erstellter, bevorzugter Speicherparameter könnte automatisch oder nach Einverständnis des Nutzers zur Speicherung einer Datei verwendet werden. Ein Nutzer kann informiert werden, dass die Anwendung der bevorzugten Speicherparameter die Kosten der Dateispeicherung verbessert. Bevorzugte Speicherparameter können für eine Vielzahl an Dateien erstellt werden und Nutzer können über die bevorzugten Parameter für eine Teilmenge der gesamten Dateien informiert werden, wobei die Anwendung der bevorzugten Speicherparameter die Verfügbarkeit, Zuverlässigkeit oder Speicherkosten von Dateien verbessern würde.These and other embodiments may additionally include one or more of the following functions: at least one property of a memory system could be obtained in addition to the received information and identified file access patterns and used to create a preferred memory parameter; a system property could be a system failure history, maintenance failure history or schedule, system equipment availability, system equipment performance, or I / O capacity; and a file reliability and availability requirement may be received and used in addition to the obtained information and identified file access patterns to create a preferred storage parameter. Analyzing the trace data to identify the file access patterns could include receiving trace data for a subset of files in a large, distributed storage system; the determination of the properties of the subset; and assessing the distribution of the properties for the files in the large distributed storage system based on the particular properties of the subset. A property for the files could be the age of each file at the time of the last access to the file. Creating a preferred storage parameter for at least one file could be the definition of at least one fileset based on the identified file access patterns, creating a preferred storage parameter for the fileset properties; and include using the created storage parameters to store at least one file associated with the fileset. Metadata information associated with the file can be obtained along with file reliability or file availability information. This information can be compared to the information of a defined filegroup in the large, distributed storage system. If the file information matches the information of a defined filegroup, the file is saved with the storage parameters of that filegroup. If the file information does not match the information of a defined filegroup, a new filegroup is created based on the file information, and the preferred storage parameters can be created for the new filegroup based on the filegroup properties. Before implementing a filegroup policy for allocating storage parameters to files based on the generated preferred storage parameters for a new filegroup, the user's consent is required. Storage parameters could include: stripe width, stripe size, encryption or replication level, a backup schedule, or a location. A location could define the location of a file on a device in a large, distributed storage system, or the location could define the location of a file on a backup device of a large, distributed storage system. The properties of the fileset may be displayed on a dashboard, and a user may be notified of the preferred storage parameters. A created, preferred storage parameter could be used automatically or, upon the user's consent, to store a file. A user may be informed that the application of preferred storage parameters improves the cost of file storage. Preferred storage parameters can be created for a variety of files, and users can be informed of the preferred parameters for a subset of the entire files, with the application of preferred storage parameters improving the availability, reliability, or memory cost of files.
Die Einzelheiten von einer oder mehreren Ausführungsformen der Erfindung sind in den begleitenden Zeichnungen dargelegt, die der Veranschaulichung dienen, sowie in der nachstehenden Beschreibung. Andere Merkmale, Aspekte und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich. Entsprechende Referenznummern und Kennzeichnungen in den verschiedenen Zeichnungen zeigen entsprechende Elemente an.The details of one or more embodiments of the invention are set forth in the accompanying drawings, which are given by way of illustration, and in the description below. Other features, aspects and advantages of the invention will be apparent from the description, drawings and claims. Corresponding reference numbers and markings in the various drawings indicate corresponding elements.
KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Replizierung, Verschlüsselungsebene, Streifenbreite, Streifenlänge, Zeitplan des Speichersystem-Backup und Dateistandort sind alles konfigurierbare Speicherparameter, die sich im Sinne von Dateizugriff und Abfrage auf die Leistung des großen, verteilten Speichersystems auswirken können. Große, verteilte Speichersysteme sollten diese Parameter zum Speichern von Dateien verwenden, sodass die Systemressourcen optimiert und die Dateien so effektiv und schnell wie möglich abgefragt werden können.Replication, encryption level, stripe width, stripe length, storage system backup schedule, and file location are all configurable storage parameters that can affect the performance of the large, distributed storage system in terms of file access and query. Large, distributed storage systems should use these parameters to store files, so that system resources can be optimized and files can be retrieved as effectively and quickly as possible.
Die Optimierung großer, verteilter Speichersysteme könnte den Ausgleich der Kosten des Dateizugriffs, der allgemeinen Systemleistung und der Verfügbarkeit und Zuverlässigkeit von Dateien beinhalten. Die Optimierung könnte durch Veränderung der Dateispeicherungsparameter erzielt werden, einschließlich von Replizierung, Verschlüsselungsebene, Dateistreifenbreite, Streifengröße, Zeitplan des Speichersystem-Backups und Dateistandort basierend auf Faktoren wie den Dateieigenschaften und den Eigenschaften des Speichersystems.Optimizing large, distributed storage systems might involve balancing the cost of file access, overall system performance, and the availability and reliability of files. Optimization could be achieved by changing the file storage parameters, including replication, encryption level, file strip width, stripe size, storage system backup schedule, and file location based on factors such as file properties and storage system properties.
Obwohl kundenspezifische Systeme es Anwendungsentwicklern ermöglichen, Parameter zur Dateispeicherung auszuwählen, verstehen Anwendungsentwickler möglicherweise nicht die bevorzugten Speicherparameter, die ausgewählt werden sollen, oder sind sich nicht über die Interaktionsformen von Speicherparametern bewusst. Aspekte von innovativen Konzepten können bevorzugte Speicherparameter für einen bestimmten Satz an Dateien oder eine Arbeitslast in einem verteilten Speichersystem automatisch oder programmatisch auswählen oder empfehlen, basierend auf den Eigenschaften der Datei und/oder des Speichersystems, um das große Speichersystem zu optimieren.Although custom systems allow application developers to select file storage parameters, application developers may not understand the preferred storage parameters to select or are unaware of how storage parameters interact. Aspects of innovative concepts may automatically or programmatically select or recommend preferred storage parameters for a particular set of files or workload in a distributed storage system based on the characteristics of the file and / or the storage system to optimize the large storage system.
Insbesondere beim Versuch der Optimierung eines großen Speichersystems, sind die Art der Dateien, die das System speichert, sowie die Dateizugriffsmuster von Bedeutung. Die Dateiart kann angegeben werden, indem die Metadaten in Verbindung mit den Dateien analysiert werden. Metadaten können Dateieigenschaften wie Dateigröße, Dateiname, Dateialter und tatsächliche Art der Datei enthalten.In particular, when attempting to optimize a large storage system, the type of files the system stores and the file access patterns are important. The file type can be specified by parsing the metadata associated with the files. Metadata can include file properties such as file size, file name, file age, and actual file type.
Eine exemplarische Ausführungsform könnte die Telemetrie- oder Überwachungssysteme verwenden, um Telemetrie- und/oder Systemüberwachungsdaten zu erhalten (nachstehend Trace-Daten genannt). Diese erhaltenen Trace-Daten können zur Identifizierung der Dateizugriffsmuster für Dateien verwendet werden, die auf großen, verteilten Speichersystemen gespeichert sind. Überwachungssysteme könnten ein exemplarisches Speichersystem mit Trace-Daten in Log-Dateien oder anderen Formaten versorgen. Individuelle Ereignisse und Abfolgen von Ereignissen mit Zeitstempel in zeitlicher Abfolge, so genannte Traces, können in den Trace-Logdateien erfasst werden. Trace-Daten können Informationen über den Dateizugriff in einem großen Speichersystem beinhalten, wie Lese- und Schreibzugriffe, Aktualisierungen, Benutzer oder Anwendungen, die auf eine Datei zugreifen, die Häufigkeit des Dateizugriffs, die Dauer des Dateizugriffs, die Abfolge, in der auf verschiedene Teile der Datei zugegriffen wird, der Nutzer oder die Anwendung, die zuletzt auf die Datei zugegriffen hat und das Datum, an dem auf die Datei zuletzt mit anderen Informationen zugegriffen wurde.An exemplary embodiment could use the telemetry or monitoring systems to obtain telemetry and / or system monitoring data (hereafter referred to as trace data). These obtained trace data can be used to identify file access patterns for files stored on large, distributed storage systems. Surveillance systems could provide an exemplary storage system with trace data in log files or other formats. Individual events and sequences of events with timestamp in chronological order, so-called traces, can be recorded in the trace log files. Trace data may include information about file access in a large memory system, such as read and write access, updates, users or applications accessing a file, the frequency of file access, the length of file access, the sequence in which different parts the file being accessed, the user or application that last accessed the file, and the date the file was last accessed with other information.
Trace-Daten können von einem exemplarischen Speichersystem verwendet werden, um Dateizugriffsmuster für einzelne Dateien oder Abfolgen von Dateizugriffen zu bestimmen. Die Abfolge, in der auf Daten zugegriffen wird, könnte nützlich für die Caching-Analyse sein, die beispielsweise bei der Bestimmung helfen könnte, ob die Speicherung von Dateien auf einem Server mit erheblichem RAM-Cache oder auf einem Flash-Speicher bevorzugt ist. Ein exemplarisches Verfahren zur Erstellung bevorzugter Speicherparameter für Dateien, die in großen, verteilten Speichersystemen gespeichert sind, könnte mit dem Erhalt von Trace-Daten beginnen, die Zugriffsinformationen über Dateien darstellen, die in dem großen, verteilten Speichersystem gespeichert sind, wie in
In einigen Ausführungsformen beinhaltet die Analyse von Trace-Daten zur Identifizierung der Dateizugriffsmuster auch den Empfang von Trade-Daten für eine Teilmenge der Dateien des großen, verteilten Speichersystems. Damit kann eine Eigenschaft der Teilmenge bestimmt werden. Ein exemplarisches System kann anschließend die Verteilung der Eigenschaften oder die Eigenschaften selbst für die Dateien in dem großen, verteilten Speichersystem beurteilen, basierend auf der für die Teilmenge bestimmten Eigenschaft. Beispielsweise könnte das Alter jeder Datei zum Zeitpunkt des letzten Zugriffs auf die Datei basierend auf einer Teilemenge an Speichersystemdateien beurteilt werden.
Telemetrie- und/oder Überwachungssysteme können auch ein exemplarisches System bereitstellen, mit Informationen in Bezug auf die Eigenschaften des großen, verteilten Speichersystems. In einer Ausführungsform könnte ein exemplarisches Verfahren mindestens eine Speichersystemeigenschaft empfangen und diese Speichersystemeigenschaft zusätzlich zu anderen erhaltenen Informationen und identifizierten Dateizugriffsmustern nutzen, um den bevorzugten Speicherparameter zu generieren. Speichersystemeigenschaften könnten die Verfügbarkeit, Kapazität und Leistung von Speichergeräten beinhalten, einschließlich von Servern in einem großen, verteilten Speichersystem. Eine exemplarische Ausführungsform könnte Statistiken über die Geräteausfälle und die Zuverlässigkeit von Speichergeräten in einem Speichersystem sowie von standortexternen Backups einholen. Standortexterne Backups könnten sekundäre Instanzen eines verteilten Speichersystems sein, das in anderen Datencentern als dem Datencenter liegt, in dem sich das primäre, verteilte Speichersystem befindet. Ein standortexternes Backup könnten auch standortexterne Kühlspeichergeräte sein. Ein bevorzugtes Speichersystem könnte der Standort der Datei im großen, verteilten Speichersystem sein. Der Standort könnte die Bestimmung eines Gerätes in einem großen, verteilten Speichersystem beinhalten, auf dem eine Datei gespeichert werden soll; oder die Bestimmung der Dateiablage auf einem Backup-Gerät des großen, verteilten Speichersystems. Alternativ könnte ein bevorzugter Speicherparameter ein Backup-Zeitplan sein, der bestimmt, wie häufig Daten des großen, verteilten Systems auf den Backup-Systemen gespeichert werden und ob es sich dabei um vollständige oder inkrementelle Backups handelt.Telemetry and / or surveillance systems may also provide an exemplary system with information regarding the characteristics of the large, distributed storage system. In one embodiment, an exemplary method could receive at least one storage system property and use that storage system property in addition to other received information and identified file access patterns to generate the preferred storage parameter. Storage system properties could include the availability, capacity, and performance of storage devices, including servers in a large, distributed storage system. An exemplary embodiment could obtain statistics on device failures and reliability of storage devices in a storage system as well as off-site backups. Off-site backups could be secondary instances of a distributed storage system located in datacenters other than the data center where the primary distributed storage system resides. A site-external backup could also be site-external cooling storage devices. A preferred storage system could be the location of the file in the large, distributed storage system. The location could include determining a device in a large, distributed storage system to which a file is to be stored; or determining file storage on a backup device of the large, distributed storage system. Alternatively, a preferred storage parameter could be a backup schedule that determines how often data from the large, distributed system is stored on the backup systems and whether these are full or incremental backups.
Eine exemplarische Ausführungsform könnte die gewünschten Anforderungen an die Dateizuverlässigkeit und -verfügbarkeit als Eingabe durch einen Nutzer oder eine Anwendung erhalten. Ein exemplarisches System müsste eventuell verstehen können, ob die Datei einen extrem zuverlässigen Zugriff benötigt oder ob eine gewisse Ausfallwahrscheinlichkeit zulässig ist. Die Anforderung an die Dateiverfügbarkeit oder -zuverlässigkeit könnte zusammen mit anderen erhaltenen Informationen oder identifizierten Dateizugriffsmustern verwendet werden, um einen bevorzugten Speicherparameter zu erstellen.An exemplary embodiment could obtain the desired file reliability and availability requirements as input by a user or an application. An exemplary system might need to understand if the file requires extremely reliable access or if some probability of failure is allowed. The file availability or reliability requirement could be used along with other received information or identified file access patterns to create a preferred storage parameter.
Trace-Daten von Überwachungssystemen könnten Informationen bereitstellen, sodass ein exemplarisches System Namensmuster und/oder andere Gruppenarten für Dateien von einer bestimmten Anwendung oder einem Prozess bestimmen kann. Namensmuster können mit anderen Dateieigenschaften kombiniert werden, sowie dem aktuellen Nutzer oder der Anwendung, die auf die Datei zugreift, der Tageszeit, zu der die Datei erstellt wurde, ob der Benutzer oder die Anwendung eine Verschlüsselungs- oder Replizierungsebene vorgegeben haben, die Verschlüsselungs- oder Replizierungsebene, sofern eine verwendet wird, und/oder die Berechtigungen in Verbindung mit der Datei. Dateieigenschaften und/oder Dateizugriffsmuster können verwendet werden, um Dateien zu finden, die zusammen gruppiert werden könnten. Die Gruppierung könnte manuell oder per maschineller Lernklassifizierung oder Clustering-Algorithmus erfolgen.Monitoring system trace data could provide information so that an exemplary system can determine name patterns and / or other types of files for files from a particular application or process. Naming patterns can be combined with other file properties, such as the current user or application accessing the file, the time of day the file was created, whether the user or application specified an encryption or replication level, encryption or encryption Replication level, if one is used, and / or the permissions associated with the file. File properties and / or file access patterns can be used to find files that could be grouped together. The grouping could be done manually or by machine learning classification or clustering algorithm.
Zwei Techniken zur Gruppierung von Dateien sind: (1) Klassifizierung von Dateien und (2) Clustering von Dateien. Die Klassifizierung beinhaltet das Gruppieren von Dateien basierend auf bekannten Kriterien, wie bestimmten Metadatenfunktionen. Clustering beinhaltet das Gruppieren von Dateien mit ähnlichen Zugriffsmustern oder Eigenschaften. Eine Anzahl an Eigenschaften kann zum Clustering von Dateien verwendet werden. Ein Beispiel einer Clustering-Technik ist „k-means”, es gibt aber auch viele andere Klassifizierungen des maschinellen Lernens und Clustering-Techniken zum Data-Mining. Diese Technik kann zum Clustering von Dateien in k-Gruppen mit ähnlichen Eigenschaften verwendet werden, indem heuristische Funktionen erstellt werden, die den Abstand zwischen Dateien basierend auf den Eigenschaften definieren. Klassifizierungstechniken, wie „Klassifizierungsbäume” oder „Regressionsbäume” könnten verwendet werden, um Dateigruppen zu bilden, die laut Voraussage einige Eigenschaften auf Basis der zuvor gesehenen Muster haben könnten. Gruppen an Dateien können laut Vorhersage beispielsweise für einen Zeitraum von drei Monaten einem intensiven Zugriff unterliegen, der anschließend vollständig aufhört, da diese Zugriffsmuster für diese Dateigruppe in der Vergangenheit beobachtet wurden. Der Regressionsbaum-Klassifikator könnte einige Dateien erhalten, die dieses Zugriffsmuster haben, sowie andere, die dieses Muster nicht haben. Der Klassifikator kann anschließend mit einem Kriterium aufkommen, das dieses Zugriffsmusterverhalten von vornherein vorhersagen kann.Two techniques for grouping files are: (1) classifying files and (2) clustering files. Classification involves grouping files based on known criteria, such as specific metadata functions. Clustering involves grouping files with similar access patterns or properties. A number of properties can be used to cluster files. An example of a clustering technique is "k-means", but there are many other classifications of machine learning and clustering techniques for data mining. This technique can be used to cluster files in k groups with similar properties by creating heuristic functions that define the distance between files based on their properties. Classification techniques, such as classification trees or Regression trees "could be used to form filesets that predicted to have some properties based on the patterns previously seen. For example, groups of files may be subject to intensive access for a period of three months, which will then cease altogether, as these access patterns for this filegroup have been observed in the past. The regression tree classifier could get some files that have this access pattern, as well as others that do not have this pattern. The classifier can then come up with a criterion that can predict this access pattern behavior from the outset.
Dateien können in bestimmte Kategorien klassifiziert werden, einschließlich: (1) wichtig, häufig zugegriffene Dateien mit hohen Verfügbarkeits- und geringen Latenzanforderungen; (2) wichtig, selten zugegriffene Dateien mit hohen Verfügbarkeitsanforderungen aber ohne Latenzanforderungen; (3) unwichtig, häufig zugegriffene Dateien; und (4) unwichtig, selten zugegriffene Dateien. Dateien können mithilfe der Dateimetadaten und/oder Dateizugriffsmuster gruppiert werden. Diese Gruppen können mit den bevorzugten Speicherparametern in Verbindung gesetzt werden. Eine Anforderung für eine hohe Dateiverfügbarkeit könnte beispielsweise eine größere Streifenbreit der Dateidaten abbilden, die eine höhere Redundanz im Fall von Speichergerätversagen bieten. Geringe Latenzanforderungen für eine Datei können eine höhere Replizierungsebene der Dateidaten abbilden, anstelle einer Reed-Solomon-Verschlüsselung, die zwar Redundanz bietet aber Rechenleistung erfordert und somit die Latenz erhöht, um fehlende Daten im Falle eines Speichergeräteversagens wiederherstellen zu können. Eine Kategorie für selten zugegriffene, unwichtige Dateien könnte auf Verschlüsselungsmöglichkeiten mit geringeren Replizierungskosten hinweisen, um die Kosten der Dateispeicherung zu senken. Eine Datei könnte beispielsweise über mehrere Datencenter auf verschiedenen Kontinenten repliziert werden. Auf die Datei könnte mehrfach aus jedem Kontinent zugegriffen werden. Der Zugriff auf eine Datei aus verschiedenen Kontinenten ist teuer, sodass die Replizierung Sinn macht. Sobald die Zugriffsraten für eine Datei zurückgehen, oder bestimmt werden kann, das der Zugriff auf eine bestimmte Datei gering sein wird, kann die Datei in den Datencentern zur Reed Solomon-Verschlüsselung verschoben werden. Diese Verschlüsselung erhält eine Verfügbarkeit, selbst wenn ein Datencenter nicht verfügbar ist; das führt zu höheren Kosten pro Zugriff aber geringeren Speicherkosten.Files can be classified into specific categories, including: (1) important, frequently accessed files with high availability and low latency requirements; (2) important, infrequently accessed files with high availability requirements but no latency requirements; (3) unimportant, frequently accessed files; and (4) unimportant, infrequently accessed files. Files can be grouped using the file metadata and / or file access patterns. These groups can be associated with the preferred memory parameters. For example, a high file availability requirement could map a larger stripe width of file data that provides greater redundancy in the case of storage device failure. Low latency requirements for a file may reflect a higher replication level of file data, rather than Reed-Solomon encryption, which, while providing redundancy, requires computational power and thus increases latency to recover missing data in the event of a storage device failure. A category of infrequently accessed, unimportant files could indicate encryption capabilities with lower replication costs to reduce the cost of file storage. For example, a file could be replicated across multiple datacenters on different continents. The file could be accessed multiple times from each continent. Accessing a file from different continents is expensive, so replication makes sense. As soon as the access rates for a file go down, or it can be determined that access to a particular file will be low, the file in the data centers can be moved to Reed Solomon encryption. This encryption gets availability even if a datacenter is not available; this leads to higher costs per access but lower storage costs.
Dateien können auch in Gruppen mit ähnlichen Zugriffseigenschaften geclustert werden. In Abhängigkeit mit dem Nutzer oder der Anwendung, die auf eine bestimmte Datei zugreift, könnte es Muster in der Dateinutzung geben. In einer elektronischen Anwendung zum Aufbau von Büchern könnte es beispielsweise eine Reihe an Text- und Bilddateien geben, die letztendlich zur Vermarktung in ein eBook-Format, wie *.epub, konvertiert werden. Nach der Konvertierung wird nur noch selten auf die Originaldateien zugegriffen. Ähnlich könnte eine Datenbank, die auf einem großen, verteilten Speichersystem läuft, Zwischenformate von Dateien mit bestimmten, erkennbaren Namensmustern speichern. Diese Dateien können nach der Erstellung nur für einen beschränkten Zeitraum verwendet werden, aber während dieses Zeitraums könnte es zu einer intensiven Nutzung kommen. Clustering beinhaltet die Auswahl einer Funktion oder eines Funktionssatzes, auf dem die Dateien gruppiert oder geclustert werden. Zugriffsmuster für eine bestimmte Datei im Cluster können basierend auf den bestimmten Zugriffsmustern anderer Dateien des Clusters beurteilt werden. Bevorzugte Speicherparameter, wie die Verschlüsselungs- oder Replizierungsebene und der Standort werden basierend auf den beurteilten Zugriffsmustern bestimmt, sowie auf Systemeigenschaften, wie Serverzuverlässigkeit und Geschwindigkeit.Files can also be clustered in groups with similar access properties. Depending on the user or application accessing a particular file, there might be patterns in file usage. For example, in an electronic book-building application, there could be a number of text and image files that will eventually be converted into an eBook format, such as * .epub, for marketing. After conversion, the original files are rarely accessed. Similarly, a database running on a large, distributed storage system could store intermediate formats of files with certain recognizable name patterns. These files may be used for a limited period of time after creation, but intensive use may occur during this period. Clustering involves selecting a function or set of functions to group or cluster the files into. Access patterns for a particular file in the cluster can be assessed based on the particular access patterns of other files in the cluster. Preferred storage parameters such as encryption or replication level and location are determined based on the assessed access patterns, as well as system properties such as server reliability and speed.
Eine Anwendung könnte zum Beispiel mehrere temporäre Dateien während der Ausführung erstellen, die alle in einem großen, verteilten Speichersystem gespeichert sind. Diese temporären Dateien können mit dem Präfix „TEMP.” versehen werden. Mithilfe von Trace-Daten aus dem Überwachungssystem könnte ein exemplarisches Speichersystem die Trace-Daten analysieren und bestimmen, dass diese temporären Dateien während der Anwendungsausführung verwendet werden können. Sobald die Anwendung jedoch mit der Ausführung fertig ist, werden die temporären Dateien nicht länger gebraucht. Trace-Daten können ein exemplarisches System darüber informieren, dass temporäre Dateien nach ihrer Erstellung nur für einen bestimmten Zeitraum verwendet werden, aber dass die Nutzung in diesem beschränkten Zeitraum häufig sein könnte. Temporäre Dateien können beispielsweise häufig an dem Tag verwendet werden, an dem sie erstellt wurden, aber werden nach diesem Tag möglicherweise nie wieder verwendet. Die Anwendung könnte die temporären Dateien jedoch möglicherweise nicht aus dem Speichersystem löschen.For example, an application might create multiple temporary files during execution, all stored in a large, distributed storage system. These temporary files can be prefixed with "TEMP.". Using trace data from the monitoring system, an exemplary storage system could analyze the trace data and determine that these temporary files can be used during application execution. However, once the application finishes running, the temporary files are no longer needed. Trace data may inform an exemplary system that temporary files will only be used for a certain period of time after they are created, but that use in that limited time period may be common. For example, temporary files can often be used on the day they were created, but they may never be used again after that day. However, the application might not be able to delete the temporary files from the storage system.
Ein exemplarisches Verfahren könnte diese temporären Dateien mithilfe der Dateieigenschaften, wie Dateiname, Erstellungsdatum, letzter Zugriff und Zugriffsmustern in Cluster zusammenfassen. Dateien mit Dateinamen, die das Präfix „TEMP.” enthalten und deren letztes Zugriffsdatum innerhalb von einem Tag nach dem Erstellungsdatum liegt, können diesem Cluster zugewiesen werden. Das Cluster könnte einen Standort-Speicherparameter vorgeben, der die Datei mit dem Cluster in einem schnellen Speicher am Erstellungsdatum der Datei verbunden hält, da häufig auf diese Datei zugegriffen wird. Nach dem Erstellungsdatum kann das Cluster vorgeben, dass die temporäre Datei in einen langsameren Speicher verschoben werden sollte, da die Zugriffswahrscheinlichkeit nach dem Erstellungsdatum zurückgeht.An example technique might cluster these temporary files using file properties such as filename, creation date, last access, and access patterns. Files with filenames that have the prefix "TEMP." And whose last access date is within one day of the creation date can be assigned to this cluster. The cluster could specify a location storage parameter that keeps the file connected to the cluster in fast memory at the file's creation date, as this file is frequently accessed. After this Creation date, the cluster can specify that the temporary file should be moved to a slower memory, since the access probability after the creation date is reduced.
In einem anderen Beispiel, sofern auf Basis von Trace-Daten bestimmt wird, dass ein exemplarisches System die Anwendungsdateien für die erste Woche aktiv verwendet und die Daten anschließend kaum noch verwendet werden, könnte ein exemplarisches System nur so viel schnellen Speicher bereitstellen müssen, dass eine Woche an neuen Dateien für die Anwendung Platz in dem Speicher findet. Das exemplarische System könnte alle Dateien, die über eine Woche alt sind, auf einen langsameren Speicher verschieben; basierend auf den Dateizugriffsmustern, nach denen das System bestimmt hat, dass Dateien nach einer Woche nur noch selten verwendet werden.In another example, if it is determined on the basis of trace data that an example system actively uses the application files for the first week, and then the data is hardly ever used, an example system might need to provide only enough memory to cache one Week to find new files for the application space in memory. The exemplary system could move all files over a week old to a slower memory; based on the file access patterns, after which the system has determined that files are rarely used after one week.
Wenn ein exemplarisches System beobachtet, dass einige Dateimuster zeitliche Zugriffsmuster haben, wie z. B. dass Dateien nach einem bestimmten Zeitraum (zum Beispiel 30 Tage) nicht länger aufgerufen werden, könnte das System bestimmen, dass die Verschlüsselung dieser Dateien dem Dateimuster entsprechen muss, sobald die Datei ein bestimmtes Alter erreicht hat. Ein exemplarisches System könnte das Zugriffsmusterverhalten durch die Trace-Daten beobachten. Es könnte auch möglich sein, eine Überwachung für bestimmte Konditionen einzurichten. Die Überwachung könnte zählen und melden, wie viele Zugriffe eine bestimmte Dateiengruppe erhält, wenn die Gruppendefinition (oder das Dateimuster) vorab bekannt ist.When an exemplary system observes that some file patterns have temporal access patterns, such as: For example, if files are no longer called after a certain period of time (for example, 30 days), the system may determine that the encryption of those files must match the file pattern once the file reaches a certain age. An exemplary system might observe the access pattern behavior through the trace data. It might also be possible to set up monitoring for certain conditions. The monitor could count and report how many hits a particular set of files receives if the group definition (or file pattern) is known in advance.
Wenn eine Datei mit einer Streifenlänge N erstellt wurde, die Datei aber abgeschlossen und als unveränderlich markiert wurde, kann ein exemplarisches System die Gesamtgröße der Datei mit der vorgegebenen Streifenlänge vergleichen und die Daten erneut verschlüsseln, um eine Streifenlänge der Gesamtgröße der Datei zu verwenden, wenn die Gesamtgröße der Datei weniger als die vorgegebene Streifenlänge beträgt.If a file was created with a stripe length N, but the file was completed and marked as immutable, an exemplary system can compare the total size of the file with the given stripe length and re-encrypt the data to use a stripe length of the total size of the file, if the total size of the file is less than the default stripe length.
In einigen Ausführungsformen beinhaltet das Erstellen eines bevorzugten Speicherparameters für mindestens eine Datei die Definition mindestens einer Dateigruppe basierend auf den identifizierten Dateizugriffsmustern, das Erstellen eines bevorzugten Speicherparameters für die Eigenschaften der Dateigruppe; und die Verwendung der erstellten Speicherparameter zur Speicherung von mindestens einer Datei in Verbindung mit der Dateigruppe.In some embodiments, creating a preferred storage parameter for at least one file includes defining at least one fileset based on the identified file access patterns, creating a preferred storage parameter for the properties of the fileset; and using the created storage parameters to store at least one file associated with the filegroup.
Bei der anschließenden Speicherung der neuen Datei könnte ein exemplarisches System Metadateninformationen in Verbindung mit der Datei empfangen und Informationen/Anforderungen über die Dateizuverlässigkeit oder -verfügbarkeit in Verbindung mit der Datei erhalten. Das System könnte anschließend bestimmen, ob die erhaltenen Dateiinformationen den Informationen einer definierten Dateigruppe in einem großen, verteilten Speichersystem entsprechen. Wenn die Eigenschaften der neuen Datei den Eigenschaften einer definierten Gruppe entsprechen, kann die neue Datei mit den Speicherparametern dieser entsprechenden Dateigruppe gespeichert werden. Wenn die Dateieigenschaften nicht den Eigenschaften einer definierten Dateigruppe entsprechen, wird eine neue Dateigruppe erstellt, basierend auf den Dateiinformationen, und die bevorzugten Speicherparameter können für die neue Dateigruppe auf Basis der Eigenschaften der Dateigruppe erstellt werden. In einigen Ausführungsformen könnte vor der Implementierung einer Dateigruppenrichtlinie für die Zuweisung von Speicherparametern zu Dateien basierend auf den generierten, bevorzugten Speicherparametern für eine neue Dateigruppe, die Zustimmung des Nutzers erforderlich sein.Upon subsequent storage of the new file, an exemplary system could receive metadata information associated with the file and obtain information / requirements about file reliability or availability associated with the file. The system could then determine if the received file information matches the information of a defined filegroup in a large, distributed storage system. If the properties of the new file match the properties of a defined group, the new file can be saved with the storage parameters of that corresponding filegroup. If the file properties do not match the properties of a defined filegroup, a new filegroup is created based on the file information, and the preferred storage parameters can be created for the new filegroup based on the filegroup properties. In some embodiments, prior to implementing a filegroup policy for allocating storage parameters to files based on the generated preferred storage parameters for a new filegroup, the user's consent may be required.
In einigen Ausführungsformen könnte ein exemplarisches System die Speicherparameter bestimmen, so wie Dateiverschlüsselungen oder Replizierungen zur Minimierung der Kosten für die Dateispeicherung, während gleichzeitig eine angemessene Dateizuverlässigkeit/Verfügbarkeit basierend auf den empfangenden oder bestimmten Anforderungen für die Dateizuverlässigkeit/Verfügbarkeit bereitgestellt wird. Ein exemplarisches Verfahren zur Bestimmung der bevorzugten Speicherparameter für Dateien, die im großen, verteilten Speichersystem gespeichert sind, beginnt mit dem Erhalt der gewünschten Anforderungen an die Zuverlässigkeit und/oder Verfügbarkeit für eine Datei oder einen Satz an Dateien, wie veranschaulicht in
In anderen Ausführungsformen könnte ein exemplarisches System eine Information zur Dateiverschlüsselung oder Replizierung für die im System gespeicherten Informationen empfangen (
Um die gewünschte Dateizuverlässigkeit/-verfügbarkeit pro Datei zu erzielen, könnte ein systematisches Verfahren Systemeigenschaften, Dateieigenschaften und die gewünschte Dateizuverlässigkeit/-verfügbarkeit verwenden, um die bevorzugten Speicherparameter, wie Verschlüsselungs- und Replizierungsebene, zu bestimmen. Das Verfahren beginnt mit dem Erhalt der gewünschten Dateizuverlässigkeit oder Dateiverfügbarkeit gemäß
Andere kundenspezifische Verfahren, wie diejenigen, die in
Empfehlungen und/oder automatische Anpassungen von Speicherparametern, die aus den exemplarischen Verfahren resultieren, könnten einem Nutzer über das Dashboard oder eine andere Oberfläche oder API angezeigt werden. Ein Nutzer könnte über ein Dashboard, eine Benutzeroberfläche oder eine API auch die vorhergesagte Zuverlässigkeit, Verteilung der altersbedingten Zugriffsmuster sowie andere Datei- und Systemeigenschaften einsehen. Vor allem könnte ein Dashboard die nutzerrelevanten Zugriffseigenschaften und -muster in Bezug auf die Dateien anzeigen, sodass der Nutzer Zugriffsverhalten verstehen und verbessern kann. Der Nutzer oder die Nutzeranwendung könnten beispielsweise große Mengen sehr kleiner Lesezugriffe ausführen oder viele kleine Dateien erstellen, was beides kostspielig sein könnte. Ein Nutzer könnte auch beobachten, dass der Nutzer oder eine Anwendung in Verbindung mit dem Nutzer große Mengen an alten aber nicht genutzten Daten auf einem großen, verteilten Speichersystem speichert. Dieses Verhalten und/oder die Zugriffsmuster können kostspielig sein und der Nutzer könnte Wege finden, um diese Verhaltensmuster zu minimieren. Der Nutzer könnte Dateien basierend auf den durch das Dashboard empfangenen Informationen löschen.Recommendations and / or automatic adjustments of memory parameters resulting from the exemplary methods could be displayed to a user via the dashboard or other interface or API. A user could also view the predicted reliability, distribution of age-related access patterns, and other file and system properties through a dashboard, interface, or API. In particular, a dashboard could display the user-relevant access properties and patterns related to the files so that the user can understand and improve access behavior. For example, the user or the user application could run large amounts of very small read accesses or create many small files, both of which could be costly. A user might also observe that the user or an application in conjunction with the user stores large amounts of old but unused data on a large, distributed storage system. This behavior and / or the access patterns can be costly and the user could find ways to minimize these patterns of behavior. The user could delete files based on information received through the dashboard.
Empfehlungen können zusätzlich oder alternativ auch als Benachrichtigungen ausgegeben werden. Zusätzlich zu Empfehlungen in Bezug auf Konfigurationsparameter könnte ein exemplarisches Verfahren einem Nutzer auch die Löschung einer Datei empfehlen, wenn das Verfahren bestimmt, dass die Datei nicht länger benötigt oder verwendet wird. Ein exemplarisches System könnte das Datum des letzten Dateizugriffs nutzen, um einen Nutzer dazu anzuweisen, die Löschung einer Datei in Betracht zu ziehen. Wenn eine Datei beispielsweise in einem Zeitraum von 180 Tagen nicht mehr verwendet wurde, könnte das System den Nutzer in Bezug auf die Notwendigkeit der weiteren Speicherung der Datei fragen. Wenn die Daten einer bestimmten Datei oder eines Dateimusters nur selten gelesen werden; d. h. wenn es in den letzten 90 Tagen beispielsweise keine Zugriffe gab, könnte ein exemplarisches System einen Nutzer oder eine Anwendung benachrichtigen, dass die Daten auf platzsparendere Weise erneut verschlüsselt werden sollten. Für replizierte Daten könnte ein exemplarisches System beispielsweise die Anzahl an Repliken reduzieren. Wenn die Daten mit Reed-Solomon verschlüsselt wurden, kann ein exemplarisches System eine neue Verschlüsselung mit weniger Redundanzen bestimmen und so den erforderlichen Speicherplatz auf dem Laufwerk für die Datei reduzieren.Recommendations can be issued additionally or alternatively as notifications. In addition to recommendations regarding configuration parameters, an exemplary Method also recommend deleting a file to a user if the method determines that the file is no longer needed or used. An exemplary system could use the date of the most recent file access to instruct a user to consider deleting a file. For example, if a file was no longer used for a period of 180 days, the system might ask the user for the need to continue saving the file. When the data of a particular file or file pattern is rarely read; that is, if, for example, there were no accesses in the last 90 days, an exemplary system could notify a user or an application that the data should be re-encrypted in a more space-efficient manner. For example, for replicated data, an exemplary system might reduce the number of replicas. Once the data has been encrypted with Reed-Solomon, an exemplary system can determine new encryption with fewer redundancies, reducing the amount of disk space required for the file.
Exemplarische Benachrichtigungen könnten Folgendes beinhalten: (1) wenn eine Datei in einem Jahr nicht geöffnet wurde, wird der Nutzer zur Löschung oder Archivierung der Datei benachrichtigt; (2) wenn eine Datei in einem Monat nicht geöffnet wurde aber auf einem teuren Speichermedium, wie einem Flash-Speicher, gespeichert ist; wird der Nutzer benachrichtigt, dass die Datei auf einem teuren Speichermedium gespeichert ist aber nicht verwendet wird; (3) wenn eine Datei in einem Monat nicht geöffnet wurde aber in einem relativ teuren Format gespeichert ist, wie z. B. mit vier Repliken der Datei, wird der Nutzer benachrichtigt, dass eine platzsparendere Verschlüsselung der Datei empfehlenswert ist. Diese Benachrichtigungen sind lediglich Beispielbenachrichtigungen und sollen den Umfang dieser Anwendung in keiner Weise beschränken.Exemplary notifications could include: (1) if a file has not been opened in a year, the user will be notified to delete or archive the file; (2) if a file has not been opened in a month but is stored on an expensive storage medium, such as a flash memory; the user is notified that the file is stored on an expensive storage medium but is not used; (3) if a file was not opened in a month but is stored in a relatively expensive format, such as: For example, with four replicas of the file, the user is notified that a more space-efficient encryption of the file is recommended. These notifications are only example alerts and are not intended to limit the scope of this application in any way.
Ein exemplarisches System könnte einen Benutzer in Bezug auf die bevorzugten Speicherparameter benachrichtigen, um einen Nutzer auf Dateien aufmerksam zu machen, die aktuell schlechte Speicherkonfigurationen haben. Durch die Anwendung der bevorzugten Speicherparameter könnte ein Nutzer die Kosten der Dateispeicherung erheblich verbessern oder die Einhaltung der gewünschten Verfügbarkeits-/Zuverlässigkeitsanforderungen besser erfüllen. Ein exemplarisches System könnte einen Nutzer alternativ nur über die bevorzugten Speicherparameter für eine Teilmenge der Dateien informieren. Grundsätzlich könnte es so viele Dateien mit möglichen besseren Konfigurationen geben, dass ein Nutzer oder ein exemplarisches System die Korrekturen auf nur die Dateien beschränken, für die die erheblichsten Verbesserungen erzielt werden können. Ein exemplarisches System könnte die potentiellen Verbesserungen für Dateien vergleichen, wenn bevorzugte Speicherparameter zur Bestimmung der Teilmenge an Dateien angewandt werden sollen, über die ein Nutzer informiert werden soll. Ein Nutzer könnte über eine Teilmenge an Dateien benachrichtigt werden, für die die Anwendung der bevorzugten Speicherparameter eine erhebliche Verbesserung der Dateiverfügbarkeit und -zuverlässigkeit sowie der Speicherkosten bedeuten würde.An exemplary system could notify a user of the preferred storage parameters to alert a user to files that currently have bad storage configurations. By using the preferred storage parameters, a user could significantly improve the cost of file storage or better meet compliance with the desired availability / reliability requirements. An exemplary system could alternatively inform a user only about the preferred storage parameters for a subset of the files. Basically, there could be so many files with possibly better configurations that a user or an exemplary system would limit the fixes to only those files that could achieve the most significant improvements. An exemplary system could compare the potential improvements for files if preferred storage parameters are to be used to determine the subset of files that a user should be informed about. A user could be notified of a subset of files for which the application of the preferred storage parameters would result in a significant improvement in file availability and reliability as well as storage cost.
Bevorzugte Speicherparameter können automatisch implementiert werden, um Speicherkonfigurationsprobleme in einem großen, verteilten Speichersystem zu beheben. In einigen Ausführungsformen können die bevorzugten Speicherparameter nur zur Behebung von Speicherproblemen verwendet werden, nachdem die entsprechende Zustimmung eingeholt wurde. Bevorzugte Speicherparameter könnten zur Speicherung einer Datei bei der Dateierstellung oder zu einem späteren Zeitpunkt verwendet werden, sobald die Datei in einem großen, verteilten Speichersystem gespeichert wurde.Preferred memory parameters can be automatically implemented to resolve memory configuration issues in a large, distributed storage system. In some embodiments, the preferred memory parameters may only be used to resolve memory issues after obtaining the appropriate approval. Preferred memory parameters could be used to store a file at file creation or at a later time once the file has been stored in a large, distributed storage system.
Große Speichersysteme und der Zugriff können in einem verteilten Dateiverarbeitungs- und Speichersystem, wie einem Datencenter oder einem Netzwerk an Datencentern, gehandhabt werden. Große Internetdienste und die massive, parallele Computerinfrastruktur, die diese Dienste unterstützt, könnten beispielsweise Lagerhaus-große Computersysteme verwenden, die aus tausenden oder sogar zehntausenden Rechenknoten bestehen.Large storage systems and access can be handled in a distributed file processing and storage system, such as a data center or a network of data centers. For example, large-scale Internet services and the massive, parallel computer infrastructure that supports these services could use warehouse-sized computer systems consisting of thousands or even tens of thousands of compute nodes.
Das Datencenter (
In einigen Implementierungen könnten die Verarbeitungsmodule (
Das Datacenter (
Abhängig von der gewünschten Konfiguration kann der Prozessor (
Abhängig von der gewünschten Konfiguration kann der Systemspeicher (
Das Rechengerät (
Der Systemspeicher (
Die Telemetrie-/Überwachungssystemdaten (
Das Rechengerät (
Die vorstehende detaillierte Beschreibung hat verschiedene Ausführungsformen der Geräte und/oder Prozesse über die Verwendung von Blockdiagrammen, Flussdiagrammen und/oder Beispielen definiert. Insoweit wie solche Blockdiagramme, Flusscharts und/oder Beispiele eine oder mehrere Funktionen und/oder Operationen beinhalten, werden sie verstanden von denen in der Wissenschaft, das jede Funktion und/oder Operation mit solchen Blockdiagrammen, Flusscharts oder Beispielen implementiert werden können, individuell und/oder kollektiv, durch ein weites Angebot von Hardware, Software, Firmware der irgendeiner virtuellen Kombination davon. In einer Ausführungsform können einige Teile des hier beschriebenen Gegenstands über anwendungsspezifische integrierte Schaltungen (ASICs), Field Programmable Gate Arrays (FPGAs), digitale Signalprozessoren (DSPs) oder andere integrierte Formate implementiert werden. Dennoch werden die Fachkundigen feststellen, dass einige Aspekte der hier dargelegten Ausführungen, teilweise oder gänzlich, ebenso in integrierten Kreisläufen implementiert werden können, als ein oder mehrere Computerprogramme, die auf einem oder mehreren Computer ausgeführt werden, als ein oder mehrere Programme, die auf einem oder mehreren Prozessoren ausgeführt werden, als Firmware oder irgend eine Kombination davon; und dass ein Entwurf der Kreisläufe und/oder des Schreibens des Codes für die Software und/oder Firmware unter Berücksichtigung der vorliegenden Veröffentlichung eine große Leistung wäre. Außerdem werden Fachleute verstehen, dass die Mechanismen dieses hier beschriebenen Gegenstands in der Lage sind, als ein Programmprodukt in einer Vielzahl von Formen verteilt zu werden, und dass eine veranschaulichende Ausführungsform des hier beschriebenen Gegenstands unabhängig von der besonderen Art des nicht-flüchtigen signalführenden Mediums gilt, das für die tatsächliche Verteilung verwendet wird. Beispiele eines nicht-vorübergehenden Signalträgermediums umfassen, sind aber nicht hierauf beschränkt, folgendes: ein aufnahmefähiges Medium, wie z. B. eine Floppy-Disk, ein Festplattenlaufwerk, eine Compact Disk (CD), eine Digital Video Disk (DVD), ein digitales Band, einen Computerspeicher, usw.; und ein Übertragungsmedium wie ein digitales und/oder analoges Kommunikationsmedium, (z. B., ein optisches Glasfaserkabel, ein Wellenleiter, eine verdrahtete Kommunikationsverbindung, eine drahtlose Kommunikationsverbindung, usw.) The foregoing detailed description has defined various embodiments of the devices and / or processes through the use of block diagrams, flowcharts, and / or examples. To the extent that such block diagrams, flowcharts, and / or examples include one or more functions and / or operations, they will be understood by those in the science that any function and / or operation can be implemented with such block diagrams, flowcharts, or examples, individually and / or or collectively, through a wide range of hardware, software, firmware of any virtual combination thereof. In one embodiment, some portions of the subject matter described herein may be implemented via application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will appreciate that some aspects of the embodiments set forth herein may be implemented, in whole or in part, in integrated circuits as one or more computer programs executing on one or more computers as one or more programs running on one or more computers or multiple processors, as firmware or any combination thereof; and that a design of the circuits and / or the writing of the code for the software and / or firmware taking into account the present publication would be a great achievement. In addition, those skilled in the art will understand that the mechanisms of this subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular nature of the non-volatile signal carrying medium which is used for the actual distribution. Examples of a non-transient signal bearing medium include, but are not limited to: a receptive medium, such as a medium; A floppy disk, a hard disk drive, a compact disk (CD), a digital video disk (DVD), a digital tape, a computer memory, etc .; and a transmission medium such as a digital and / or analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.)
Im Hinblick auf die Verwendung von wesentlichen beliebigen pluralen und/oder singulären Ausdrücken können die Fachleute aus dem Plural in den Singular und/oder aus dem Singular in den Plural übersetzen, wenn dies für den Kontext und/oder die Anwendung geeignet ist. Die verschiedenen Singular-/Plural-Permutationen können hierin ausdrücklich aus Gründen der Klarheit dargelegt.With respect to the use of substantially any plural and / or singular expressions, those skilled in the art can translate from plural to singular and / or singular to plural, as appropriate to the context and / or application. The various singular / plural permutations may be expressly set forth herein for the sake of clarity.
Folglich wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Weitere Ausführungsformen gehören zum Umfang der folgenden Ansprüche. In einigen Fällen können die in den Ansprüchen beschriebenen Handlungen in einer anderen Reihenfolge ausgeführt werden und dennoch erwünschte Ergebnisse erzielen. Zusätzlich erfordern die in den beigefügten Figuren dargestellten Prozesse nicht notwendigerweise die bestimmte gezeigte Reihenfolge oder aufeinanderfolgende Reihenfolge, um erwünschte Ergebnisse zu erzielen. Bei bestimmten Implementierungen können Multitasking und eine Parallelbearbeitung vorteilhaft sein.Thus, certain embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the acts described in the claims may be performed in a different order and still achieve desirable results. In addition, the processes illustrated in the attached figures do not necessarily require the particular order shown or sequential order to achieve desired results. In certain implementations, multitasking and parallel processing may be beneficial.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte Nicht-PatentliteraturCited non-patent literature
- „Designing Dependable Storage Solutions for Shared Application Environments”, Shravan Gaonkar et al., 2006 [0046] "Designing Dependable Storage Solutions for Shared Application Environments", Shravan Gaonkar et al., 2006 [0046]
Claims (51)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/033,255 | 2013-09-20 | ||
US14/033,255 US9477679B2 (en) | 2013-09-20 | 2013-09-20 | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems |
US14/034,183 US9411817B2 (en) | 2013-09-23 | 2013-09-23 | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems based on desired file reliability or availability |
US14/034,183 | 2013-09-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE202014010886U1 true DE202014010886U1 (en) | 2017-01-16 |
Family
ID=51688434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE202014010886.2U Expired - Lifetime DE202014010886U1 (en) | 2013-09-20 | 2014-09-22 | Programmatic selection of preferred storage parameters for files in large, distributed storage systems |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3047377A1 (en) |
DE (1) | DE202014010886U1 (en) |
WO (1) | WO2015042531A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078455B2 (en) | 2016-01-20 | 2018-09-18 | Microsoft Technology Licensing, Llc | Predicting solid state drive reliability |
CN111007821B (en) * | 2019-12-20 | 2020-12-29 | 韩山师范学院 | Shop scheduling method with batch processing time double bound by total weight and maximum size |
CN114398006B (en) * | 2021-12-24 | 2024-11-05 | 中国电信股份有限公司 | A distributed storage mode control method, device, equipment and storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7076622B2 (en) * | 2003-09-30 | 2006-07-11 | International Business Machines Corporation | System and method for detecting and sharing common blocks in an object storage system |
EP2073120B1 (en) * | 2007-12-18 | 2017-09-27 | Sound View Innovations, LLC | Reliable storage of data in a distributed storage system |
US8732518B2 (en) * | 2011-04-13 | 2014-05-20 | Netapp, Inc. | Reliability based data allocation and recovery in a storage system |
-
2014
- 2014-09-22 DE DE202014010886.2U patent/DE202014010886U1/en not_active Expired - Lifetime
- 2014-09-22 EP EP14782016.1A patent/EP3047377A1/en not_active Withdrawn
- 2014-09-22 WO PCT/US2014/056799 patent/WO2015042531A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
„Designing Dependable Storage Solutions for Shared Application Environments", Shravan Gaonkar et al., 2006 |
Also Published As
Publication number | Publication date |
---|---|
EP3047377A1 (en) | 2016-07-27 |
WO2015042531A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112018000193B4 (en) | Store data sequentially in zones on a distributed storage network | |
US11880340B2 (en) | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems | |
DE102016013248A1 (en) | Reference block accumulation in a reference quantity for deduplication in storage management | |
DE112020005227T5 (en) | MEMORY HEALTH MONITORING FOR DIFFERENT DATA RECOVERY CONFIGURATIONS | |
DE202019005484U1 (en) | Incremental feature development and workload recording in database systems | |
DE202009019139U1 (en) | Asynchronous distributed deduplication for replicated content-addressed storage clusters | |
DE112019000321T5 (en) | Transaction operations in distributed multi-master data management systems | |
DE102014114108B4 (en) | Method and computer-readable storage medium for process control systems | |
DE102013206744A1 (en) | DEDUPLICATING STORAGE WITH IMPROVED DETECTION OF COMMON STOPS | |
DE112018003081T5 (en) | OPTIMIZE USER SATISFACTION IN SCHOOLING A COGNITIVE HIERARCHIC MEMORY MANAGEMENT SYSTEM | |
DE102012219098A1 (en) | Management of sub data segments in dual-cache systems | |
DE202015009260U1 (en) | Efficient data readings from distributed storage systems | |
DE102013215009A1 (en) | Method and system for optimizing data transmission | |
DE112020004116T5 (en) | DYNAMIC CHANGING THE PARALLELITY OF A TASK IN A PIPELINE | |
DE102021006293A1 (en) | Determination of digital personas using data-driven analytics | |
DE102013205069A1 (en) | INCREASED EFFICIENCY IN INLINE DEDUPLICATIONS | |
DE112019000143T5 (en) | VERSIONING VALIDATION FOR DATA TRANSFER BETWEEN HETEROGENIC DATA MEMORIES | |
DE112013006646B4 (en) | Computer, system and computer-readable storage medium for identifying workload and sizing buffers for volume replication purposes | |
DE102016010277A1 (en) | METHOD AND SYSTEMS FOR IMPROVING STORAGE JOURNALING | |
DE112011103290T5 (en) | Intelligent write cache operation for sequential data tracks | |
DE112018002500T5 (en) | Storage array for hybrid data | |
DE112022002586T5 (en) | MAKING DECISIONS TO PLACE DATA INTO A MULTI-TENANT CACHE | |
DE112019000756T5 (en) | Data migration in a hierarchical storage management system | |
DE102019103279A1 (en) | TECHNIQUES FOR INFORMATIONGRAPHIC COMPRESSION | |
DE112017002940T5 (en) | Standard and non-standard data access to scattered storage networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R207 | Utility model specification | ||
R150 | Utility model maintained after payment of first maintenance fee after three years | ||
R081 | Change of applicant/patentee |
Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US |
|
R082 | Change of representative |
Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE |
|
R081 | Change of applicant/patentee |
Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US Free format text: FORMER OWNER: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUNTAIN VIEW, CALIF., US |
|
R082 | Change of representative |
Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE |
|
R151 | Utility model maintained after payment of second maintenance fee after six years | ||
R152 | Utility model maintained after payment of third maintenance fee after eight years | ||
R071 | Expiry of right |