DE112017000220T5 - Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt - Google Patents
Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt Download PDFInfo
- Publication number
- DE112017000220T5 DE112017000220T5 DE112017000220.6T DE112017000220T DE112017000220T5 DE 112017000220 T5 DE112017000220 T5 DE 112017000220T5 DE 112017000220 T DE112017000220 T DE 112017000220T DE 112017000220 T5 DE112017000220 T5 DE 112017000220T5
- Authority
- DE
- Germany
- Prior art keywords
- data
- random key
- key
- generate
- secure packet
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0781—Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/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/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063116—Schedule adjustment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Administration of product repair or maintenance
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
Description
- TECHNISCHES GEBIET
- Diese Erfindung bezieht sich allgemein auf Computernetzwerke und insbesondere auf das Verstreuen von fehlercodierten Daten.
- HINTERGRUND
- Es ist bekannt, dass Datenverarbeitungseinheiten Daten übertragen, Daten verarbeiten und/oder Daten speichern. Derartige Datenverarbeitungseinheiten reichen von drahtlosen Smartphones, Laptops, Tablets, Personal Computern (PCs), Arbeitsstationen und Videospieleinheiten bis hin zu Datenzentren, die täglich Millionen von Websuchen, Börsengeschäften oder Online-Käufen unterstützen. Im Allgemeinen enthält eine Datenverarbeitungseinheit eine Zentraleinheit (CPU), ein Speichersystem, Benutzer-Eingabe/Ausgabe-Schnittstellen, Schnittstellen von Peripherieeinheiten und eine Verbindungsbusstruktur.
- Es ist weiterhin bekannt, dass ein Computer seine CPU effektiv erweitern kann, indem er „Cloud Computing“ verwendet, um eine oder mehrere Datenverarbeitungsfunktionen (z.B. einen Dienst, eine Anwendung, einen Algorithmus, eine arithmetische Logikfunktion usw.) im Auftrag des Computers auszuführen. Ferner kann Cloud Computing für umfangreiche Dienste, Anwendungen und/oder Funktionen von mehreren Cloud-Computing-Ressourcen in einer verteilten Weise ausgeführt werden, um die Antwortzeit bei der Ausführung des Dienstes, der Anwendung und/oder der Funktion zu verbessern. Bei Hadoop handelt es sich beispielsweise um ein Open-Source-Softwareframework, das verteilte Anwendungen unterstützt, wobei die Anwendungsausführung durch Tausende von Computern möglich ist.
- Zusätzlich zum Cloud Computing kann ein Computer einen „Cloud-Speicher“ als Teil seines Speichersystems verwenden. Wie bekannt ist, ermöglicht der Cloud-Speicher einem Benutzer, über seinen Computer Dateien, Anwendungen usw. auf einem Internet-Speichersystem zu speichern. Das Internet-Speichersystem kann ein RAID-System (redundantes Array von unabhängigen Platten) und/oder ein verstreutes Speichersystem enthalten, das beim Codieren von Daten zum Speichern ein Fehlerkorrekturschema verwendet.
- Herkömmliche geheime Teilungsschemata bieten einige Sicherheitsvorteile. Im Allgemeinen erfordern diese Schemata mindestens eine Schwellenwertzahl von Verstößen, bevor Daten offengelegt werden können. Dies ist in einigen Fällen weitaus sicherer als Verschlüsselung, zumindest wenn man die Hardware steuert, die diese Anteile speichert. In anderen Fällen muss der Besitzer der Daten, wenn die Speicherhardware nicht seiner Steuerung unterliegt, darauf vertrauen, dass die Entität, die die Hardware steuert, ihre Position nicht für den Zugriff auf eine Schwellenwertzahl der Anteile verwendet.
- Um die Notwendigkeit eines vollständigen Vertrauens in den Hardware-Verwahrer zu verringern, verwenden herkömmliche Systeme möglicherweise eine herkömmliche Verschlüsselung mittels Schlüssel zum Verschlüsseln der Daten, bevor sie gesendet werden, um in der Hardware gespeichert zu werden. Daher wird üblicherweise ein Prozess verwendet, der zwei getrennte Verschlüsselungsschritte verwendet: 1) eine anfängliche Verschlüsselung der zu speichernden Daten vor dem Senden der Daten zum Speichern; und 2) einen zweiten separaten Verschlüsselungsschritt, der die verschlüsselten Daten erneut unter Verwendung eines geheimen Teilungsschemas zum Speichern der Datenteile in der Speicherhardware verschlüsselt. Der herkömmliche zweistufige Prozess ist jedoch hinsichtlich des Berechnungsaufwands teuer, da an den Daten zwei separate Verschlüsselungsoperationen ausgeführt werden.
- Figurenliste
- Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
-
1 eine schematische Blockdarstellung einer Ausführungsform eines verstreuten oder verteilten Speichernetzwerks (DSN) gemäß der vorliegenden Erfindung ist; -
2 eine schematische Blockdarstellung einer Ausführungsform eines Datenverarbeitungskerns gemäß der vorliegenden Erfindung ist; -
3 eine schematische Blockdarstellung eines Beispiels einer verstreuten Speicherfehlercodierung von Daten gemäß der vorliegenden Erfindung ist; -
4 eine schematische Blockdarstellung eines generischen Beispiels einer Fehlercodierfunktion gemäß der vorliegenden Erfindung ist; -
5 eine schematische Blockdarstellung eines spezifischen Beispiels einer Fehlercodierfunktion gemäß der vorliegenden Erfindung ist; -
6 eine schematische Blockdarstellung eines Beispiels einer Datenabschnittbezeichnung eines codierten Datenabschnitts (encoded data slice, EDS) gemäß der vorliegenden Erfindung ist; -
7 eine schematische Blockdarstellung eines Beispiels einer verstreuten Speicherfehlerdecodierung von Daten gemäß der vorliegenden Erfindung ist; -
8 eine schematische Blockdarstellung eines generischen Beispiels einer Fehlerdecodierfunktion gemäß der vorliegenden Erfindung ist; -
9 eine schematische Blockdarstellung einer weiteren Ausführungsform eines verstreuten Speichernetzwerks gemäß der vorliegenden Erfindung ist; und -
10 ein Ablaufplan ist, der ein Beispiel eines sicheren Speicherns von Daten gemäß der vorliegenden Erfindung darstellt. - GENAUE BESCHREIBUNG
-
1 ist eine schematische Blockdarstellung einer Ausführungsform eines verstreuten oder verteilten Speichernetzwerks (DSN)10 , das eine Mehrzahl von Datenverarbeitungseinheiten12 bis16 , eine Verwaltungseinheit18 , eine Integritätsverarbeitungseinheit20 und einen DSN-Speicher22 enthält. Die Komponenten des DSN10 sind mit einem Netzwerk24 verbunden, das ein oder mehrere drahtlose und/oder leitungsgebundene Datenübertragungssysteme; ein oder mehrere nichtöffentliche Intranetsysteme und/oder öffentliche Internetsysteme; und/oder ein oder mehrere lokale Netzwerke (LAN) und/oder Weitverkehrsnetzwerke (WAN) enthalten kann. - Der DSN-Speicher
22 enthält eine Mehrzahl von Speichereinheiten36 , die an geografisch unterschiedlichen Standorten (z.B. eine in Chicago, eine in Milwaukee usw.), an einer gemeinsamen Stelle oder einer Kombination davon angeordnet sein können. Bei einem Beispiel enthält der DSN-Speicher22 acht Speichereinheiten36 , die jeweils an unterschiedlichen Standorten angeordnet sind. Bei einem weiteren Beispiel enthält der DSN-Speicher22 acht Speichereinheiten36 , die sich alle an dem gleichen Standort befinden. Bei noch einem weiteren Beispiel enthält der DSN-Speicher22 acht Speichereinheiten36 , von denen sich ein erstes Paar an einem ersten gemeinsamen Standort, ein zweites Paar an einem zweiten gemeinsamen Standort, ein drittes Paar an einem dritten gemeinsamen Standort und ein viertes Paar an einem vierten gemeinsamen Standort befinden. Es ist zu berücksichtigen, dass ein DSN-Speicher22 mehr oder weniger als acht Speichereinheiten36 enthalten kann. Ferner ist zu berücksichtigen, dass jede Speichereinheit36 einen Datenverarbeitungskern (wie in2 gezeigt oder Komponenten davon) und eine Mehrzahl von Speichereinheiten zum Speichern verstreuter fehlercodierter Daten enthält. - Jede der Datenverarbeitungseinheiten
12 bis16 , die Verwaltungseinheit18 und die Integritätsverarbeitungseinheit20 enthalten einen Datenverarbeitungskern26 , der Netzwerkschnittstellen30 bis33 enthält. Bei den Datenverarbeitungseinheiten12 bis 16 kann es sich jeweils um eine tragbare Datenverarbeitungseinheit und/oder eine feststehende Datenverarbeitungseinheit handeln. Bei einer tragbaren Datenverarbeitungseinheit kann es sich um eine Einheit eines sozialen Netzwerks, eine Spieleinheit, ein Mobiltelefon, ein Smartphone, einen digitalen Assistenten, eine digitale Musikwiedergabeeinheit, eine digitale Videowiedergabeeinheit, ein Laptop, einen tragbaren Computer, ein Tablet oder einen Videospiel-Controller und/oder jede andere tragbare Einheit handeln, die einen Datenverarbeitungskern enthält. Bei einer feststehenden Datenverarbeitungseinheit kann es sich um einen Computer (PC), einen Computerserver, eine Kabel-Set-Top-Box, einen Satellitenempfänger, ein Fernsehgerät, einen Drucker, ein Faxgerät, eine Heimunterhaltungseinheit, eine Videospielkonsole und/oder jede Art von Heim- oder Büro-Datenverarbeitungsausrüstung handeln. Es ist zu berücksichtigen, dass es sich sowohl bei der Verwaltungseinheit18 als auch bei der Integritätsverarbeitungseinheit 20 um separate Datenverarbeitungseinheiten, um eine gewöhnliche Datenverarbeitungseinheit handeln kann und/oder sie können in eine oder mehrere der Datenverarbeitungseinheiten12 bis16 und/oder in eine oder mehrere Datenverarbeitungseinheiten der Speichereinheiten36 integriert sein. - Jede Schnittstelle
30 ,32 und33 enthält Software und Hardware, um eine oder mehrere Datenübertragungsverbindungen über das Netzwerk24 indirekt und/oder direkt zu unterstützen. Die Schnittstelle30 unterstützt beispielsweise eine Datenübertragungsverbindung (z.B. leitungsgestützt, drahtlos, direkt, über ein LAN, über das Netzwerk24 usw.) zwischen den Datenverarbeitungseinheiten14 und16 . In einem weiteren Beispiel unterstützt die Schnittstelle32 Datenübertragungsverbindungen (z. B. eine leitungsgestützte Verbindung, eine drahtlose Verbindung, eine LAN-Verbindung und/oder jede andere Art von Verbindung zu/von dem Netzwerk24 ) zwischen den Datenverarbeitungseinheiten12 und16 und dem DSN-Speicher22 . In einem nochmals weiteren Beispiel unterstützt die Schnittstelle33 eine Datenübertragungsverbindung für jede der Verwaltungseinheiten18 und der Integritätsverarbeitungseinheit20 mit dem Netzwerk24 . - Die Datenverarbeitungseinheiten
12 und16 enthalten ein verstreutes Speicher- (DS-) Clientmodul34 , das es der Datenverarbeitungseinheit ermöglicht, Speicherfehlercodierungs- und -decodierungsdaten (z.B. Daten40 ) zu verstreuen, wie nachfolgend mit Bezug auf eine oder mehrere der3 bis8 beschrieben wird. In dieser beispielhaften Ausführungsform fungiert die Datenverarbeitungseinheit 16 als ein verstreuter Speicherverarbeitungsagent für die Datenverarbeitungseinheit 14. Die Datenverarbeitungseinheit16 für verstreute Speicherfehler codiert und decodiert in dieser Rolle Daten im Auftrag der Datenverarbeitungseinheit14 . Beim Verwenden der verstreuten Speicherfehlercodierung und -decodierung toleriert das DSN10 eine beträchtliche Anzahl von Speichereinheitsfehlern (die Anzahl von Fehlern beruht auf Parametern der Codierfunktion von verstreuten Speicherfehlern) ohne Datenverlust und ohne Notwendigkeit von redundanten oder Sicherungskopien der Daten. Ferner speichert das DSN10 Daten für einen unbestimmten Zeitraum ohne Datenverlust und auf sichere Weise (das System ist z.B. sehr resistent gegen unautorisierte Zugriffsversuche auf die Daten). - Im Betrieb führt die Verwaltungseinheit
18 DS-Verwaltungsdienste aus. Zum Beispiel richtet die Verwaltungseinheit18 verteilte Datenspeicherparameter (z.B. eine Depoterstellung, verteilte Speicherparameter, Sicherheitsparameter, Abrechnungsinformationen, Benutzerprofilinformationen usw.) für die Datenverarbeitungseinheiten12 bis14 einzeln oder als Teil einer Gruppe von Benutzereinheiten ein. Als ein spezifisches Beispiel koordiniert die Verwaltungseinheit18 ein Erzeugen eines Depots (z.B. eines virtuellen Speicherblocks, der einem Teil eines gesamten Namensraums des DSN zugeordnet ist) in dem DSN-Speicher22 für eine Benutzereinheit, eine Gruppe von Einheiten oder für öffentlicher Zugriff und legt pro Depot DS-Fehlercodierungsparameter für ein Depot fest. Die Verwaltungseinheit18 erleichtert das Speichern von DS-Fehlercodierungsparametern für jedes Depot durch Aktualisieren von Registrierungsinformationen des DSN10 , wobei die Registrierungsinformationen in dem DSN-Speicher22 , einer Datenverarbeitungseinheit12 bis16 , der Verwaltungseinheit18 und/oder der Integritätsverarbeitungseinheit20 gespeichert sein können. - Die Verwaltungseinheit
18 erzeugt und speichert Benutzerprofilinformationen (z.B. eine Zugriffssteuerungsliste (ACL)) im lokalen Speicher und/oder im Speicher des DSN-Speichers22 . Zu den Benutzerprofilinformationen gehören Berechtigungsprüfungsinformationen, Berechtigungen und/oder die Sicherheitsparameter. Die Sicherheitsparameter können ein Verschlüsselung/Entschlüsselungs-Schema, einen oder mehrere Verschlüsselungsschlüssel, ein Schlüsselerzeugungsschema und/oder ein Daten-Codierung/Decodierungs-Schema enthalten. - Die Verwaltungseinheit
18 erzeugt Abrechnungsinformationen für einen bestimmten Benutzer, eine Benutzergruppe, einen Depot-Zugriff, einen öffentlichen Depot-Zugriff usw. Zum Beispiel verfolgt die Verwaltungseinheit18 die Häufigkeit, wie oft ein Benutzer auf ein nichtöffentliches Depot und/oder öffentliche Depots zugreift, die verwendet werden kann, um Abrechnungsinformationen pro Zugriff zu erzeugen. In einem anderen Fall verfolgt die Verwaltungseinheit18 die Menge an Daten, die von einer Benutzereinheit und/oder einer Benutzergruppe gespeichert und/oder abgerufen werden, die verwendet werden können, um Abrechnungsinformationen pro Datenmenge zu erzeugen. - In einem weiteren Beispiel führt die Verwaltungseinheit
18 Netzwerkoperationen, Netzwerkverwaltung und/oder Netzwerkwartung durch. Zu Netzwerkoperationen gehören Berechtigungsprüfungen von Benutzerdatenzuordnungsanforderungen (z.B. Lesen und/oder Schreiben von Anforderungen), Verwalten der Erstellung von Depots, Einrichten von Berechtigungsprüfungsdaten für Benutzereinheiten, Hinzufügen/Löschen von Komponenten (z.B. Benutzereinheiten, Speichereinheiten und/oder Datenverarbeitungseinheiten bei einem DS-Client-Modul34 ) zu/von dem DSN10 und/oder zum Einrichten von Berechtigungsprüfungsdaten für die Speichereinheiten36 . Netzwerkverwaltung beinhaltet Überwachungseinrichtungen und/oder Einheiten für Ausfälle, Verwaltung von Depotinformationen, Ermitteln des Einrichtungs- und/oder Einheitenaktivierungsstatus, Ermitteln der Einrichtungs- und/oder Einheitsbelastung und/oder Ermitteln jeder anderen Operation auf Systemebene, die den Leistungszustand des DSN beeinflusst 10. Netzwerkwartung beinhaltet Erleichtern des Ersetzens, Aktualisierens, Reparierens und/oder Erweiterns einer Einrichtung und/oder einer Einheit des DSN10 . - Die Integritätsverarbeitungseinheit
20 führt ein Wiederherstellen von „schadhaften“ oder fehlenden codierten Datenabschnitten durch. Grundsätzlich führt die Integritätsverarbeitungseinheit20 ein Wiederherstellen durch, indem sie periodisch versucht, codierte Datenabschnitte und/oder Datenabschnittbezeichnungen der codierten Datenabschnitte aus dem DSN-Speicher22 abzurufen/aufzulisten. Abgerufene codierte Datenabschnitte werden auf Fehler aufgrund von Datenbeschädigung, veralteter Version usw. überprüft. Wenn ein Segment einen Fehler enthält, wird es als „schadhaftes“ Segment markiert. Codierte Datenabschnitte, die nicht empfangen und/oder nicht aufgelistet wurden, werden als fehlende Datenabschnitte markiert. Schadhafte und/oder fehlende Datenabschnitte werden anschließend unter Verwendung anderer abgerufener codierter Datenabschnitte neu erstellt, die als gültige Datenabschnitte angesehen werden, um neu erzeugte Datenabschnitte zu erzeugen. Die neu erzeugten Datenabschnitte werden in dem DSN-Speicher22 gespeichert. -
2 ist eine schematische Blockdarstellung einer Ausführungsform eines Datenverarbeitungskerns26 , der ein Verarbeitungsmodul50 , eine Speichersteuerung52 , einen Hauptspeicher54 , eine Videografikverarbeitungseinheit 55, eine Eingabe/Ausgabe- (EA-) Steuerung56 , eine Periphere-CompuNet-Interconnect- (PCI-) Schnittstelle58 , ein E/A-Schnittstellenmodul 60, wenigstens ein E/A-Einheiten-Schnittstellenmodul 62, ein Festwertspeicher- (ROM-) Basiseingabe/Ausgabe-System (BIOS)64 und ein oder mehrere Speicherschnittstellenmodule enthält. Das eine oder die mehreren Speicherschnittstellenmodule enthalten ein oder mehrere universelle serielle Bus-(USB-) Schnittstellenmodule66 , Hostbusadapter- (HBA-) Schnittstellenmodule68 , Netzwerkschnittstellenmodule70 , Flash-Schnittstellenmodule72 , Festplatten-Schnittstellenmodule74 und DSN-Schnittstellenmodule76 . - Das DSN-Schnittstellenmodul
76 dient dazu, eine herkömmliche Betriebssystem-(BS-) Dateisystemschnittstelle (z.B. Netzwerkdateisystem (NFS), Flash-Dateisystem (FFS), Platten-Dateisystem (DFS), Datenübertragungsprotokoll (FTP), webgestütztes verteiltes Authoring and Versioning (WebDAV) usw.) und/oder eine Blockspeicherschnittstelle (z.B. Kleincomputersystemschnittstelle (SCSI), Internet-Kleincomputersystemschnittstelle (iSCSI) usw.) nachzuahmen. Das DSN-Schnittstellenmodul76 und/oder das Netzwerkschnittstellenmodul70 können als eine oder mehrere der Schnittstellen30 bis33 von1 fungieren. Es ist zu beachten, dass das EA-Einheiten-Schnittstellenmodul62 und/oder die Speicherschnittstellenmodule66 bis76 gemeinsam oder einzeln als EA-Anschlüsse bezeichnet werden können. -
3 ist eine schematische Blockdarstellung eines Beispiels einer verstreuten Speicherfehlercodierung von Daten. Wenn eine Datenverarbeitungseinheit12 oder 16 Daten hat, die gespeichert werden sollen, werden verstreute Speicherfehlerdaten gemäß einem verstreuten Speicherfehlercodierprozess auf der Grundlage von verstreuten Speicherfehlercodierparametern codiert. Die verstreuten Speicherfehlercodierparameter enthalten eine Codierfunktion (z.B. Informationsverteilungsalgorithmus, Reed-Solomon, Cauchy Reed-Solomon, systematische Codierung, nichtsystematische Codierung, Online-Codes usw.), ein Datensegmentierungsprotokoll (z.B. Datensegmentgröße feststehend, variabel usw.) und Codierwerte pro Datensegment. Die Codierwerte pro Datensegment enthalten eine Gesamtzahl oder eine Stützweite (pillar width), Anzahl (T) von codierten Datenabschnitten pro Codierung eines Datensegments (d.h. in einem Satz von codierten Datenabschnitten); eine Decodierschwellenzahl (D) von codierten Datenabschnitten eines Satzes von codierten Datenabschnitten, die benötigt werden, um das Datensegment wiederherzustellen; eine Leseschwellwertzahl (R) von codierten Datenabschnitten, um eine Anzahl von codierten Datenabschnitten pro Satz anzuzeigen, die zum Decodieren des Datensegments aus dem Speicher zu lesen sind; und/oder eine Schreibschwellenzahl (W), um eine Anzahl von codierten Datenabschnitten pro Satz anzuzeigen, die exakt gespeichert werden müssen, bevor das codierte Datensegment als ordnungsgemäß gespeichert angesehen wird. Die verstreuten Speicherfehlercodierparameter können ferner Datenabschnittbildungs-Informationen (Slicing-Informationen) (z.B. die Anzahl der codierten Datenabschnitte, die für jedes Datensegment erzeugt werden) und/oder Datenabschnitt-Sicherheitsinformationen (z.B. pro codierter Datenabschnitt Verschlüsselung, Komprimierung, Integritätsprüfsumme usw.) enthalten. - In dem vorliegenden Beispiel wurde Cauchy Reed-Solomon als die Codierfunktion ausgewählt (ein generisches Beispiel ist in
4 gezeigt, und ein spezifisches Beispiel ist in5 gezeigt); das Datensegmentierungsprotokoll besteht darin, das Datenobjekt in Datensegmente fester Größe zu unterteilen; und die Codierwerte pro Datensegment enthalten: eine Stützweite von 5, einen Decodierschwellenwert von 3, einen Leseschwellenwert von 4 und einen Schreibschwellenwert von 4. Gemäß dem Datensegmentierungsprotokoll teilt die Datenverarbeitungseinheit12 oder16 die Daten (z.B. eine Datei (z.B. Text, Video, Audio usw.), ein Datenobjekt oder eine andere Datenanordnung) in eine Mehrzahl von Datensegmenten fester Größe (z.B. 1 bis Y mit einer festen Größe im Bereich von Kilobyte bis Terabyte oder größer). Die Anzahl der erzeugten Datensegmente hängt vom Umfang der Daten und dem Datensegmentierungsprotokoll ab. - Die Datenverarbeitungseinheit
12 oder16 für verstreute Speicherfehler codiert dann ein Datensegment unter Verwendung der ausgewählten Codierfunktion (z.B. Cauchy Reed-Solomon), um einen Satz codierter Datenabschnitte zu erzeugen.4 zeigt eine generische Cauchy Reed-Solomon-Codierfunktion, die eine Codiermatrix (EM), eine Datenmatrix (DM) und eine codierte Matrix (CM) enthält. Die Größe der Codiermatrix (EM) hängt von der Stützweitenzahl (T) und der Decodierschwellenzahl (D) der ausgewählten Codierwerte pro Datensegment ab. Um die Datenmatrix (DM) zu erzeugen, wird das Datensegment in eine Mehrzahl von Datenblöcken unterteilt, und die Datenblöcke werden in D Zeilen mit Z Datenblöcken pro Zeile angeordnet. Es ist zu beachten, dass Z eine Funktion der Anzahl der Datenblöcke ist, die aus dem Datensegment und der Decodierschwellenzahl (D) erstellt wurden. Die codierte Matrix wird durch Matrix-Multiplikation der Datenmatrix mit der Codiermatrix erzeugt. -
5 zeigt ein spezifisches Beispiel einer Cauchy Reed-Solomon-Codierung mit einer Stützzahl (T) von fünf und einer Decodierschwellenzahl von drei. In diesem Beispiel ist ein erstes Datensegment in zwölf Datenblöcke (D1 bis D12) unterteilt. Die codierte Matrix enthält fünf Zeilen von codierten Datenblöcken, wobei die erste Zeile von X11 bis X14 eines ersten codierten Datenabschnitts (EDS 1_1) entspricht, die zweite Zeile von X21 bis X24 entspricht einem zweiten codierten Datenabschnitt (EDS 2_1), die dritte Zeile von X31 bis X34 entspricht einem dritten codierten Datenabschnitt (EDS 3_1), die vierte Zeile von X41 bis X44 entspricht einem vierten codierten Datenabschnitt (EDS 4_1) und die fünfte Zeile von X51 bis X54 entspricht einem fünften codierten Datenabschnitt (EDS 5_1). Es ist zu beachten, dass die zweite Zahl der EDS-Bezeichnung der Datensegmentnummer entspricht. - Zurückkehrend zu der Erläuterung von
3 erzeugt die Datenverarbeitungseinheit außerdem eine Datenabschnittbezeichnung (Slice Name, SN) für jeden codierten Datenabschnitt (EDS) in dem Satz von codierten Datenabschnitten. Ein typisches Format für eine Datenabschnittbezeichnung80 ist in6 gezeigt. Wie gezeigt, enthält die Datenabschnittbezeichnung (slice name, SN) 80 eine Stützzahl des codierten Datenabschnitts (z.B. eine von 1 bis T), eine Datensegmentnummer (z.B. eine von 1 bis Y), eine Depotkennung (ID), eine Datenobjektkennung (ID) und kann ferner Referenzinformationen der codierten Datenabschnitte enthalten. Die Datenabschnittbezeichnung fungiert zumindest als ein Teil einer DSN-Adresse für den codierten Datenabschnitt zum Speichern und Abrufen von dem DSN-Speicher 22. - Als Ergebnis des Codierens erzeugt die Datenverarbeitungseinheit
12 oder16 eine Mehrzahl von Sätzen von codierten Datenabschnitten, die mit ihren jeweiligen Datenabschnittbezeichnungen den Speichereinheiten zur Speicherung bereitgestellt werden. Wie gezeigt, enthält der erste Satz von codierten Datenabschnitten EDS 1_1 bis EDS 5_1 und der erste Satz von Datenabschnittbezeichnungen enthält SN 1_1 bis SN 5_1 und der letzte Satz von codierten Datenabschnitten enthält EDS 1_Y bis EDS 5_Y und der letzte Satz von Datenabschnittbezeichnungen enthält SN 1_Y bis SN 5_Y. -
7 ist eine schematische Blockdarstellung eines Beispiels einer verstreuten Speicherfehlerdecodierung eines Datenobjekts, das in dem Beispiel von4 bei einem verstreuten Speicherfehler codiert und gespeichert wurde. In diesem Beispiel ruft die Datenverarbeitungseinheit12 oder16 von den Speichereinheiten mindestens die Decodierschwellenzahl von codierten Datenabschnitten pro Datensegment ab. Bei einem spezifischen Beispiel ruft die Datenverarbeitungseinheit eine Leseschwellwertzahl von codierten Datenabschnitten ab. - Um ein Datensegment aus einer Decodierschwellenzahl von codierten Datenabschnitten wiederherzustellen, verwendet die Datenverarbeitungseinheit eine Decodierfunktion, wie in 8 gezeigt. Wie gezeigt, ist die Decodierfunktion im Wesentlichen eine Umkehrung der Codierfunktion von
4 . Die codierte Matrix enthält eine Decodierschwellenzahl von Zeilen (z.B. drei in diesem Beispiel) und die Decodiermatrix ist eine Umkehrung der Codiermatrix, die die entsprechenden Zeilen der codierten Matrix enthält. Wenn beispielsweise die codierte Matrix die Zeilen1 ,2 und4 enthält, wird die Codiermatrix auf die Zeilen1 ,2 und4 reduziert und dann invertiert, um die Decodiermatrix zu erzeugen. - Unter Bezugnahme auf die
9 und10 werden verschiedene Ausführungsformen erläutert, die verwendet werden können, um Daten unter Verwendung eines Geheimschlüssels effizient in sichere Datenabschnitte zu verschlüsseln. In mindestens einigen Ausführungsformen wird nur ein einzelner Verschlüsselungsschritt benötigt, um die Vorteile des Verwendens von zwei separaten Verschlüsselungsschritten bereitzustellen, der jedoch weniger Datenverarbeitungsressourcen als beim Durchführen von zwei separaten Verschlüsselungsschritten benötigt. In verschiedenen Ausführungsformen, wie nachstehend erörtert, werden zwei Eingaben als Eingabe für eine Verschlüsselungseinheit bereitgestellt: ein geheimer Schlüssel S und Eingabedaten D. Die Einheit selbst kann einen Zufallsschlüssel erzeugen oder der Zufallsschlüssel R kann außerdem als Eingabe bereitgestellt werden. Ein Sollwert V kann optional an D angehängt werden, und dann wird das Ergebnis mit einem Zufallsschlüssel R verschlüsselt, um verschlüsselte Daten E zu erhalten. Ein Keyed-Hash (Schlüssel-Hashwert) (z.B. Keyed-Hash-Nachrichtenberechtigungsprüfungscode HMAC (E, S) oder alternativ (Hash(E) XOR S) oder irgendeine ähnliche Hash-Funktion, die unter Verwendung eines Schlüssels berechnet wird), wird aus den verschlüsselten Daten E berechnet, um einen Keyed-Hash H zu erzielen. - Der Keyed-Hash H wird dann mit dem Zufallsschlüssel R verknüpft (z.B. durch XOR oder modulare Addition oder irgendeine reversible Art, die ohne Kenntnis von H schwer zu invertieren ist), um einen maskierten Schlüssel M zu erhalten, der angehängt werden kann (oder den verschlüsselten Daten E vorangestellt oder anderweitig hinzugefügt wird), um die Codierung zu beenden und den Endwert F zu erhalten. Der Endwert F kann durch einen Informationsverteilungsalgorithmus (IDA) oder Löschcodealgorithmus aufgeteilt oder verarbeitet werden. Das Ergebnis kann lediglich mit mindestens einer Schwellenzahl von Datenabschnitten und Kenntnis von S decodiert werden. Angesichts dieser Tatsache funktioniert das Decodieren wie folgt: mindestens ein IDA-Schwellenwert von Datenabschnitten wird decodiert, um F wiederherzustellen; F wird in E und M aufgeteilt; S wird verwendet, um den Keyed-Hash von E neu zu berechnen, bei dem es sich um H handelt; H wird von M getrennt, um den zufälligen Verschlüsselungsschlüssel R wiederherzustellen; R wird verwendet, um E zu entschlüsseln und die ursprünglichen Daten D wiederherzustellen (optional mit einem angehängten Sollwert V); und der Sollwert V wird gegebenenfalls überprüft und entfernt. D wird zurückgegeben, wenn V gültig ist oder nicht hinzugefügt wurde.
-
9 ist eine schematische Blockdarstellung einer weiteren Ausführungsform eines verteilten Speichernetzwerks (DSN), das ein Verschlüsselungsmodul84 , ein Keyed-Hash-Modul86 , ein Maskierungsmodul106 , ein Verknüpfungsmodul87 , ein verteiltes Speicher- und Aufgaben- (DST-) Client-Modul88 , den DSN-Speicher22 von1 , der gelegentlich als DSTN-Modul (Distributed Task Network-Modul) bezeichnet wird, ein DST-Client-Modul89 , ein Trennungsmodul90 , ein Keyed-Hash-Modul91 , ein Demaskierungsmodul114 und ein Entschlüsselungsmodul94 enthält. Alle Module, das Verschlüsselungsmodul84 , die Keyed-Hash-Module1 bis2 , das Maskierungsmodul106 , das Verknüpfungsmodul88 , das Trennungsmodul90 , das Demaskierungsmodul114 und das Entschlüsselungsmodul94 , können jeweils unter Verwendung eines Datenverarbeitungskerns26 von2 implementiert werden. Die DST-Client-Module88 und89 können unter Verwendung des DST-Client-Moduls 34 von1 implementiert werden. Das DSN dient zum sicheren Speichern von Daten. - In einem Beispiel des Betriebs zum sicheren Speichern der Daten verwendet das Entschlüsselungsmodul
94 einen Zufallsschlüssel102 , um die Daten82 zu verschlüsseln, um verschlüsselte Daten85 zu erzeugen. Das Keyed-Hash-Modul86 nutzt einen geheimen Schlüssel98 , um eine sichere Hash-Funktion an den verschlüsselten Daten85 durchzuführen, um einen Hash-Wert104 zu erzeugen. Zum Beispiel führt das Keyed-Hash-Modul86 eine auf einem Hashwert beruhende Nachrichtenberechtigungsprüfungscode- (HMAC-) Funktion an den verschlüsselten Daten85 unter Verwendung des geheimen Schlüssels98 durch, um den Hash-Wert 104 zu erzeugen. Das Maskierungsmodul106 maskiert den Zufallsschlüssel unter Verwendung des Hash-Wertes104 , um einen maskierten Zufallsschlüssel108 zu erzeugen. Das Maskieren beinhaltet eine modulare Addition wie beispielsweise die Exklusiv-ODER-Funktion. Das Verknüpfungsmodul87 verknüpft die verschlüsselten Daten85 und den maskierten Zufallsschlüssel108 , um ein sicheres Paket96 zu erzeugen. Das Verknüpfen kann Anhängen und/oder Verschachteln beinhalten. Das DST-Clientmodul88 für verstreute Speicherfehler codiert das sichere Paket96 , um einen Satz von codierten Datenabschnitten1 bis n zum Speichern in dem DSN-Speicher22 zu erzeugen. - Beim Wiederherstellen der Daten decodiert das DST-Client-Modul
89 für verstreute Speicherfehler eine Decodierschwellenzahl von codierten Datenabschnitten des Satzes von codierten Datenabschnitten1 bis n, um das sichere Paket96 wiederherzustellen. Das Trennungsmodul90 trennt das sichere Paket96 , um den maskierten Zufallsschlüssel108 und die verschlüsselten Daten85 wiederherzustellen. Das Keyed-Hash-Modul91 verwendet den geheimen Schlüssel 98, um die sichere Hash-Funktion an den wiederhergestellten verschlüsselten Daten 85 durchzuführen, um den Hashwert104 wiederherzustellen. Das Demaskierungsmodul114 demaskiert den maskierten Zufallsschlüssel108 unter Verwendung des Hash-Wertes104 , um einen wiederhergestellten Zufallsschlüssel 116 zu erzeugen. Zum Beispiel führt das Demaskierungsmodul114 die Exklusiv-ODER-Funktion an dem maskierten Zufallsschlüssel108 und dem Hashwert104 aus, um den wiederhergestellten Zufallsschlüssel116 zu erzeugen. Das Entschlüsselungsmodul94 verwendet den wiederhergestellten Zufallsschlüssel116 , um die verschlüsselten Daten85 zu entschlüsseln, um wiederhergestellte Daten100 zu erzeugen. Daher führt das DSN eine Systemleistungsverbesserung durch, die lediglich einen Verschlüsselungsverarbeitungsschritt der Daten erfordert, anstatt zwei, so dass eine Decodierschwellenzahl von codierten Datenabschnitten jedes Satzes von codierten Datenabschnitten und der geheime Schlüssel erforderlich sind, um die Daten wiederherzustellen. -
10 ist ein Ablaufplan, der ein Beispiel zum sicheren Speichern von Daten darstellt. Das Verfahren enthält den Block118 , in dem ein Verarbeitungsmodul (z.B. ein verteiltes Speicher- und Aufgaben- (DST-) Client-Modul) Daten unter Verwendung eines Zufallsschlüssels verschlüsselt, um verschlüsselte Daten zu erzeugen. Das Verfahren wird im Block120 fortgesetzt, in dem das Verarbeitungsmodul eine sichere Hash-Funktion an den verschlüsselten Daten unter Verwendung eines geheimen Schlüssels ausführt, um einen Hash-Wert zu erzeugen. Das Verfahren wird im Block122 fortgesetzt, in dem das Verarbeitungsmodul den Zufallsschlüssel unter Verwendung des Hash-Wertes maskiert, um einen maskierten Zufallsschlüssel zu erzeugen. Das Verfahren wird im Block124 fortgesetzt, in dem das Verarbeitungsmodul die verschlüsselten Daten und den maskierten Zufallsschlüssel verknüpft, um ein sicheres Paket zu erzeugen. Das Verknüpfen kann Anhängen und/oder Verschachteln beinhalten. Das Verfahren wird im Block 126 fortgesetzt, in dem das Verarbeitungsmodul das sichere Paket codiert, um einen Satz codierter Datenabschnitte zum Speichern in einem Satz von Speichereinheiten zu erzeugen. - Wenn die Daten wiederhergestellt werden, wird das Verfahren im Block
128 fortgesetzt, in dem das Verarbeitungsmodul eine Decodierschwellenzahl von codierten Datenabschnitten des Satzes codierter Datenabschnitten decodiert, die von dem Satz von Speichereinheiten erhalten wurden, um das sichere Paket wiederherzustellen. Das Verfahren wird im Block130 fortgesetzt, in dem das Verarbeitungsmodul das sichere Paket trennt, um den maskierten Zufallsschlüssel und die verschlüsselten Daten wiederherzustellen. Das Verfahren wird im Block132 fortgesetzt, in dem das Verarbeitungsmodul die sichere Hash-Funktion an den reproduzierten verschlüsselten Daten durchführt, um den Hash-Wert zu reproduzieren. Das Verfahren wird im Block134 fortgesetzt, in dem das Verarbeitungsmodul den maskierten Zufallsschlüssel unter Verwendung des Hash-Wertes demaskiert, um einen wiedergewonnenen Zufallsschlüssel zu erzeugen. Zum Beispiel führt das Verarbeitungsmodul die Exklusiv-ODER-Funktion (XOR-Funktion) für den maskierten Zufallsschlüssel und den Hash-Wert durch, um den wiederhergestellten Zufallsschlüssel zu erzeugen. Das Verfahren wird im Block136 fortgesetzt, in dem das Verarbeitungsmodul die reproduzierten verschlüsselten Daten unter Verwendung des wiederhergestellten Zufallsschlüssels entschlüsselt, um reproduzierte Daten zu erzeugen. - Es ist anzumerken, dass Terminologien, die möglicherweise hierin verwendet wurden, wie Bitstrom, Strom, Signalfolge usw. (oder ihre Ersetzungen) austauschbar verwendet wurden, um digitale Informationen zu beschreiben, deren Inhalt irgendeinem von mehreren gewünschten Typen (z.B. Daten, Video, Sprache, Audio usw.) entspricht, von denen jeder im Allgemeinen als „Daten“ bezeichnet werden kann.
- Die hier verwendeten Ausdrücke „im Wesentlichen“ und „ungefähr“ stellen eine von der Industrie akzeptierte Toleranz für ihren entsprechenden Ausdruck und/oder die Beziehung zwischen Elementen bereit. Eine solche von der Industrie akzeptierte Toleranz liegt im Bereich von weniger als 1 % bis 50% und entspricht, ist aber nicht beschränkt auf, Komponentenwerte, Prozessschwankungen von integrierten Schaltungen, Temperaturschwankungen, Anstiegs- und Abfallzeiten und/oder thermisches Rauschen. Eine derartige Beziehung zwischen Elementen reicht von einem Unterschied von einigen Prozent bis zu Größenordnungen. Der bzw. die hierin außerdem verwendeten Ausdrücke „konfiguriert zum“, „funktionsmäßig verbunden mit“, „verbunden mit“ und/oder „verbindet“ beinhalten eine direkte Verbindung zwischen Elementen und/oder eine indirekte Verbindung zwischen Elementen über einen dazwischenliegenden Gegenstand (z.B. enthält ein Gegenstand eine Komponente, ein Element, eine Schaltung und/oder ein Modul, ist aber nicht darauf beschränkt), wobei beispielsweise bei einer indirekten Verbindung der dazwischenliegende Gegenstand die Information eines Signals nicht modifiziert, aber möglicherweise den Stromwert, Spannungswert und/oder Leistungswert ändert. Der ferner hierin verwendete Ausdruck abgeleitete Verbindung (inferred coupling) (d.h., wenn ein Element durch Inferenz mit einem anderen Element verbunden ist) beinhaltet eine direkte und indirekte Verbindung zwischen zwei Elementen in der gleichen Weise wie „verbunden mit“. Sogar der hierin weiterhin außerdem verwendete Ausdruck „konfiguriert zum“, „betreibbar für“, „verbunden mit“ oder „betriebsfähig verbunden mit“ gibt an, dass ein Gegenstand eine oder mehrere von Leistungsverbindungen, Eingabe(n), Ausgabe(n) usw. enthält, um bei seinem Aktivieren eine oder mehrere seiner entsprechenden Funktionen auszuführen, und kann ferner eine abgeleitete Verbindung mit einem oder mehreren anderen Elementen beinhalten. Der hierin noch weiter verwendete Ausdruck „zugehörig zu“ bedeutet eine direkte und/oder indirekte Verbindung von separaten Elementen und/oder einem Element, das in ein anderes Element eingebettet ist.
- Der hierin verwendete der Ausdruck „im Vergleich günstig“ gibt an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. eine gewünschte Beziehung bereitstellt. Wenn beispielsweise die gewünschte Beziehung darin besteht, dass das Signal
1 einen größeren Wert als das Signal2 aufweist, kann ein günstiger Vergleich erzielt werden, wenn der Wert des Signals1 größer ist als der des Signals2 oder wenn der Wert des Signals2 kleiner ist als der des Signals1 . Der hier verwendete Ausdruck „unvorteilhafter Vergleich“ gibt an, dass ein Vergleich zwischen zwei oder mehr Elementen, Signalen usw. nicht die gewünschte Beziehung liefert. - Bei den außerdem hierin verwendeten Ausdrücken „Verarbeitungsmodul“, „Verarbeitungsschaltung“, „Prozessor“ und/oder „Verarbeitungseinheit“ kann es sich um eine einzelne Verarbeitungseinrichtung oder eine Mehrzahl von Verarbeitungsvorrichtungen handeln. Bei einer derartigen Verarbeitungseinrichtung kann es sich um einen Mikroprozessor, einen Mikrocontroller, einen digitalen Signalprozessor, einen Mikrocomputer, eine Zentraleinheit, ein vor Ort programmierbares Gate-Array, eine programmierbare Logikeinheit, eine Zustandsmaschine, eine Logikschaltung, eine Analogschaltung, eine Digitalschaltung und/oder jede Einheit handeln, die (analoge und/oder digitale) Signale manipuliert beruhend auf einer harten Codierung der Schaltungsanordnungen und/oder Betriebsanweisungen. Bei dem Verarbeitungsmodul, dem Modul, der Verarbeitungsschaltung und/oder der Verarbeitungseinheit kann es sich um einen Speicher und/oder ein integriertes Speicherelement handeln oder sie können diese enthalten, wobei es sich bei diesen um eine einzelne Speichereinheit, eine Mehrzahl von Speichereinheiten und/oder eine eingebettete Schaltungsanordnung aus einem weiteren Verarbeitungsmodul, Modul, Verarbeitungsschaltung und/oder Verarbeitungseinheit handeln kann. Eine derartige Speichereinheit kann ein Festwertspeicher, ein Direktzugriffsspeicher, ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein statischer Speicher, ein dynamischer Speicher, ein Flash-Speicher, ein Cachespeicher und/oder jede Einheit sein, die digitale Informationen speichert. Es ist zu beachten, dass, wenn das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung und/oder die Verarbeitungseinheit mehr als eine Verarbeitungseinheit enthält, die Verarbeitungseinheiten zentral angeordnet sein können (z.B. über eine leitungsgestützte und/oder drahtlose Busstruktur direkt miteinander verbunden sein können) oder dezentral angeordnet sein (z.B. Cloud Computing über indirekte Verbindung über ein lokales Netzwerk und/oder ein Weitbereichsnetzwerk). Ferner sei angemerkt, dass, wenn das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung und/oder die Verarbeitungseinheit eine oder mehrere seiner Funktionen über eine Zustandsmaschine, eine Analogschaltung, eine Digitalschaltung und/oder eine Logikschaltung implementiert wird, der Speicher und/oder das Speicherelement, das die entsprechenden Betriebsanweisungen speichert, innerhalb oder außerhalb der Schaltungsanordnung eingebettet sein können, die die Zustandsmaschine, analoge Schaltkreise, digitale Schaltkreise und/oder logische Schaltkreise aufweist. Es ist weiterhin anzumerken, dass das Speicherelement festcodierte und/oder Betriebsanweisungen speichern kann und das Verarbeitungsmodul, das Modul, die Verarbeitungsschaltung und/oder die Verarbeitungseinheit diese ausführt, die mindestens einigen der Schritte und/oder Funktionen entsprechen, die in einer oder mehreren der Figuren dargestellt sind. Eine derartige Speichervorrichtung oder ein derartiges Speicherelement kann in einem Herstellungsgegenstand enthalten sein.
- Eine oder mehrere Ausführungsformen wurden oben mit Hilfe von Verfahrensschritten beschrieben, die die Leistung spezifizierter Funktionen und deren Beziehungen veranschaulichen. Die Grenzen und die Abfolge dieser funktionellen Bausteine und Verfahrensschritte wurden hier zur Vereinfachung der Beschreibung willkürlich definiert. Alternative Grenzen und Abfolgen können definiert werden, solange die angegebenen Funktionen und Beziehungen ordnungsgemäß ausgeführt werden. Alle derartigen alternativen Grenzen oder Abfolgen liegen somit im Umfang und Geist der Ansprüche. Ferner wurden die Grenzen dieser funktionellen Bausteine zur Vereinfachung der Beschreibung willkürlich definiert. Alternative Grenzen könnten definiert werden, solange die bestimmten signifikanten Funktionen ordnungsgemäß ausgeführt werden. In ähnlicher Weise können hier außerdem Blöcke des Ablaufplans willkürlich definiert worden sein, um bestimmte signifikante Funktionen zu veranschaulichen.
- In dem verwendeten Umfang können Blockgrenzen und Abfolge des Ablaufplans anders definiert worden sein und dennoch die bestimmte signifikante Funktionalität ausführen. Derartige alternative Definitionen sowohl von funktionellen Bausteinen als auch von Blöcken und Abfolgen des Ablaufplans liegen somit im Umfang und Geist der Ansprüche. Ein Fachmann wird außerdem erkennen, dass die funktionalen Bausteine und andere hier dargestellte veranschaulichende Blöcke, Module und Komponenten in der dargestellten Weise oder durch diskrete Komponenten, anwendungsspezifische integrierte Schaltungen, Prozessoren, die geeignete Software und dergleichen ausführen, oder durch jede Kombination hiervon implementiert werden können.
- Außerdem kann ein Ablaufplan eine Angabe „Start“ und/oder „Fortsetzen“ enthalten. Die Angaben „Start“ und „Fortsetzen“ geben wieder, dass die dargestellten Schritte optional in andere Routinen integriert oder in anderen Routinen anderweitig verwendet werden können. In diesem Zusammenhang bezeichnet „Start“ den Beginn des ersten dargestellten Schritts und kann anderen Aktivitäten vorausgehen, die nicht speziell dargestellt sind. Ferner gibt die Angabe „Fortsetzen“ wieder, dass die dargestellten Schritte mehrere Male durchgeführt werden können und/oder anderen Aktivitäten, die nicht speziell gezeigt sind, folgen können. Während ein Ablaufplan eine bestimmte Reihenfolge von Schritten angibt, sind ferner auch andere Reihenfolgen möglich, vorausgesetzt, dass Kausalitätsprinzipien eingehalten werden.
- Die eine oder die mehreren Ausführungsformen werden hierin verwendet, um einen oder mehrere Aspekte, ein oder mehrere Merkmale, ein oder mehrere Konzepte und/oder ein oder mehrere Beispiele zu veranschaulichen. Eine physische Ausführungsform einer Vorrichtung, eines Herstellungsgegenstands, einer Maschine und/oder eines Prozesses kann einen oder mehrere der Aspekte, Merkmale, Konzepte, Beispiele usw. enthalten, die unter Bezugnahme auf eine oder mehrere der hier erläuterten Ausführungsformen beschrieben wurden. Ferner können die Ausführungsformen von Figur zu Figur die gleichen oder ähnlich benannte Funktionen, Schritte, Module usw. beinhalten, die dieselben oder unterschiedliche Bezugszeichen verwenden können, und daher können die Funktionen, Schritte, Module usw. die gleichen sein, ähnliche Funktionen, Schritte, Module usw. oder andere sein.
- Wenn nicht ausdrücklich anders angegeben, können Signale zu, von und/oder zwischen Elementen in einer Figur von irgendeiner der hier dargestellten Figuren analog oder digital, zeitkontinuierlich oder zeitdiskret und referenzbezogen oder differenziell sein. Wenn zum Beispiel ein Signalpfad als ein referenzbezogener Pfad gezeigt ist, repräsentiert er außerdem einen differenziellen Signalpfad. In ähnlicher Weise stellt, wenn ein Signalweg als differenzieller Pfad gezeigt ist, dieser außerdem einen referenzbezogenen Signalpfad dar. Während hierin eine oder mehrere bestimmte Architekturen beschrieben sind, können in ähnlicher Weise andere Architekturen implementiert werden, die einen oder mehrere Datenbusse, die nicht ausdrücklich gezeigt sind, eine direkte Verbindung zwischen Elementen und/oder eine indirekte Verbindung zwischen weiteren Elementen verwenden, wie von Fachleuten erkannt wird.
- Der Begriff „Modul“ wird in der Beschreibung von einer oder mehreren Ausführungsformen verwendet. Ein Modul implementiert eine oder mehrere Funktionen über eine Einheit wie beispielsweise einen Prozessor oder eine andere Verarbeitungseinheit oder andere Hardware, die möglicherweise einen Speicher enthält oder mit diesem betrieben wird, der Betriebsanweisungen speichert. Ein Modul kann unabhängig und/oder in Verbindung mit Software und/oder Firmware arbeiten. Wie hierin außerdem verwendet, kann ein Modul ein oder mehrere Untermodule enthalten, bei denen es sich jeweils um ein oder mehrere Module handeln kann.
- Wie weiter hierin verwendet, enthält ein durch einen Computer lesbarer Speicher ein oder mehrere Speicherelemente. Bei dem Speicherelement kann es sich um eine separate Speichereinheit, mehrere Speichereinheiten oder eine Gruppe von Speicherorten in einer Speichereinheit handeln. Bei einer derartigen Speichereinheit kann es sich um einen Festwertspeicher, einen Direktzugriffsspeicher, einen flüchtigen Speicher, einen nichtflüchtigen Speicher, einen statischen Speicher, einen dynamischen Speicher, einen Flash-Speicher, einen Cachespeicher und/oder jede Einheit handeln, die digitale Informationen speichert. Die Speichereinheit kann in Form eines Halbleiterspeichers, eines Festplattenspeichers, eines Cloud-Speichers, eines USB-Datenträgers, eines Server-Speichers, eines Datenverarbeitungseinheit-Speichers und/oder eines anderen physischen Mediums zum Speichern von digitalen Informationen vorliegen.
- Zwar wurden hier ausdrücklich bestimmte Kombinationen von verschiedenen Funktionen und Merkmalen der einen oder mehreren Ausführungsformen beschrieben, es sind jedoch weitere Kombinationen dieser Merkmale und Funktionen gleichfalls möglich. Die vorliegende Offenbarung ist nicht auf die hierin offenbarten speziellen Beispiele beschränkt und beinhaltet ausdrücklich diese weiteren Kombinationen.
Claims (20)
- Verfahren zum Verwenden in einem verstreuten Speichernetzwerk, wobei das Verfahren aufweist: Verschlüsseln von Startdaten unter Verwendung eines Zufallsschlüssels, um verschlüsselte Daten zu erzeugen; Durchführen einer sicheren Hash-Funktion an den verschlüsselten Daten unter Verwendung eines geheimen Schlüssels, um einen Hash-Wert zu erzeugen; Maskieren des Zufallsschlüssels unter Verwendung des Hash-Werts, um einen maskierten Zufallsschlüssel zu erzeugen; Verknüpfen der verschlüsselten Daten und des maskierten Zufallsschlüssels, um ein sicheres Paket zu erzeugen; Codieren des sicheren Pakets, um einen Satz codierter Datenabschnitte zu erzeugen, wobei der geheime Schlüssel und eine Decodierschwellenzahl der codierten Datenabschnitte, die in dem Satz codierter Datenabschnitte enthalten sind, ausreichen, um das sichere Paket und die Startdaten wiederherzustellen, und wobei die Decodierschwellenzahl größer als eins und kleiner als eine Gesamtanzahl von codierten Datenabschnitten in dem Satz von codierten Datenabschnitten ist; und Speichern des Satzes von codierten Datenabschnitten in einem Satz von Speichereinheiten.
- Verfahren nach
Anspruch 1 , das ferner aufweist: Wiederherstellen des sicheren Pakets durch Decodieren der Decodierschwellenzahl der codierten Datenabschnitte; und Wiederherstellen der Startdaten aus dem sicheren Paket unter Verwendung des geheimen Schlüssels. - Verfahren nach
Anspruch 2 , wobei das Wiederherstellen der Startdaten ferner aufweist: Trennen des sicheren Pakets in die verschlüsselten Daten und den maskierten Zufallsschlüssel. - Verfahren nach
Anspruch 3 , das ferner aufweist: Verwenden des geheimen Schlüssels, um den Hash-Wert wiederherzustellen; Verwenden des Hash-Wertes zum Demaskieren des maskierten Zufallsschlüssels und Erzeugen eines wiederhergestellten Zufallsschlüssels; und Entschlüsseln der verschlüsselten Daten unter Verwendung des wiederhergestellten Zufallsschlüssels. - Verfahren nach
Anspruch 1 , wobei das Maskieren des Zufallsschlüssels aufweist: Durchführen einer Exklusiv-ODER- (XOR-) Funktion oder einer Modulo-Addition. - Verfahren nach
Anspruch 1 , wobei das Kombinieren beinhaltet: entweder Anhängen oder Voranstellen oder Einfügen oder Verschachteln. - Verfahren nach
Anspruch 1 , wobei das Codieren des sicheren Pakets zum Erzeugen eines Satzes codierter Datenabschnitte ein Verwenden eines Löschcodealgorithmus enthält. - Verstreutes Speichernetzwerk, das aufweist: ein Verschlüsselungsmodul, das unter Verwendung eines Prozessors und eines zugehörigen Speichers implementiert ist, wobei das Verschlüsselungsmodul zum Verschlüsseln von Startdaten unter Verwendung eines Zufallsschlüssels konfiguriert ist, um verschlüsselte Daten zu erzeugen; ein Hash-Modul, das unter Verwendung des Prozessors und des zugehörigen Speichers implementiert ist, wobei das Hash-Modul zum Ausführen einer sicheren Hash-Funktion an den verschlüsselten Daten unter Verwendung eines geheimen Schlüssels konfiguriert ist, um einen Hash-Wert zu erzeugen; eine Verarbeitungsschaltungsanordnung, die zum Maskieren des Zufallsschlüssels unter Verwendung des Hash-Werts konfiguriert ist, um einen maskierten Zufallsschlüssel zu erzeugen; wobei die Verarbeitungsschaltungsanordnung ferner zum Verknüpfen der verschlüsselten Daten und des maskierten Zufallsschlüssels konfiguriert ist, um ein sicheres Paket zu erzeugen; ein verteiltes Speicher- und Aufgabenmodul, das zum Codieren des sicheren Pakets zum Erzeugen eines Satzes codierter Datenabschnitte konfiguriert ist, wobei der geheime Schlüssel und eine Decodierschwellenzahl der codierten Datenabschnitte, die in dem Satz codierter Datenabschnitten enthalten sind, ausreichen, um das sichere Paket und die Startdaten wiederherzustellen, und wobei die Decodierschwellenzahl größer als eins und kleiner als eine Gesamtanzahl von codierten Datenabschnitten in dem Satz von codierten Datenabschnitten ist; und wobei die Verarbeitungsschaltungsanordnung zum Speichern des Satzes von codierten Datenabschnitten in einem Satz von Speichereinheiten konfiguriert ist.
- Verstreutes Speichernetzwerk nach
Anspruch 8 , das ferner eine Verarbeitungsschaltungsanordnung aufweist, die konfiguriert ist zum: Wiederherstellen des sicheren Pakets durch Decodieren der Decodierschwellenzahl der codierten Datenabschnitte; und Wiederherstellen der Startdaten aus dem sicheren Paket unter Verwendung des geheimen Schlüssels. - Verstreutes Speichernetzwerk nach
Anspruch 9 , wobei die Verarbeitungsschaltungsanordnung, die zum Wiederherstellen der Startdaten konfiguriert ist, ferner konfiguriert ist zum: Trennen des sicheren Pakets in die verschlüsselten Daten und den maskierten Zufallsschlüssel. - Verstreutes Speichernetzwerk nach
Anspruch 10 , wobei die Verarbeitungsschaltungsanordnung, die zum Wiederherstellen der Startdaten konfiguriert ist, ferner konfiguriert ist zum: Verwenden des geheimen Schlüssels, um den Hash-Wert wiederherzustellen; Verwenden des Hash-Wertes, um den maskierten Zufallsschlüssel zu demaskieren und einen wiederhergestellten Zufallsschlüssel zu erzeugen; und Entschlüsseln der verschlüsselten Daten unter Verwendung des wiederhergestellten Zufallsschlüssels. - Verstreutes Speichernetzwerk nach
Anspruch 8 , wobei die Verarbeitungsschaltungsanordnung, die zum Maskieren des Zufallsschlüssels konfiguriert ist, ferner konfiguriert ist zum: Ausführen einer Exklusiv-ODER- (XOR-) Funktion oder einer Modulo-Addition. - Verstreutes Speichernetzwerk nach
Anspruch 8 , wobei die Verarbeitungsschaltungsanordnung, die zum Kombinieren konfiguriert ist, ferner konfiguriert ist, eine der folgenden Aktionen durchzuführen: Anfügen des maskierten Zufallsschlüssels an die verschlüsselten Daten; Voranstellen des maskierten Zufallsschlüssels an die verschlüsselten Daten; Einfügen des maskierten Zufallsschlüssels in die verschlüsselten Daten; oder Verschachteln des maskierten Zufallsschlüssels in den verschlüsselten Daten. - Verstreutes Speichernetzwerk nach
Anspruch 8 , wobei das verteilte Speicher- und Aufgabenmodul einen Löschcodealgorithmus zum Codieren des sicheren Pakets zum Erzeugen eines Satzes codierter Datenabschnitte verwendet. - Verfahren zum Verwenden in einem verstreuten Speichernetzwerk, wobei das Verfahren aufweist: Verschlüsseln von Startdaten unter Verwendung eines Zufallsschlüssels, um verschlüsselte Daten zu erzeugen; Durchführen einer sicheren Hash-Funktion an den verschlüsselten Daten unter Verwendung eines geheimen Schlüssels, um einen Hash-Wert zu erzeugen; Maskieren des Zufallsschlüssels unter Verwendung des Hash-Wertes, um einen maskierten Zufallsschlüssel zu erzeugen; Verknüpfen der verschlüsselten Daten und des maskierten Zufallsschlüssels, um ein sicheres Paket zu erzeugen; Codieren des sicheren Pakets, um einen Satz codierter Datenabschnitte zu erzeugen, wobei der geheime Schlüssel und eine Decodierschwellenzahl der codierten Datenabschnitte, die in dem Satz codierter Datenabschnitte enthalten sind, ausreichen, um das sichere Paket und die Startdaten wiederherzustellen, und wobei die Decodierschwellenzahl größer als eins und kleiner als eine Gesamtanzahl von codierten Datenabschnitten in dem Satz von codierten Datenabschnitten ist; Speichern des Satzes von codierten Datenabschnitten in einem Satz von Speichereinheiten; und Wiederherstellen der Startdaten unter Verwendung von mindestens der Decodierschwellenzahl der codierten Datenabschnitte und des geheimen Schlüssels.
- Verfahren nach
Anspruch 15 , das ferner aufweist: Wiederherstellen des sicheren Pakets durch Decodieren der Decodierschwellenzahl der codierten Datenabschnitte; und Wiederherstellen der Startdaten aus dem sicheren Paket unter Verwendung des geheimen Schlüssels. - Verfahren nach
Anspruch 16 , wobei das Wiederherstellen der Startdaten ferner aufweist: Trennen des sicheren Pakets in die verschlüsselten Daten und den maskierten Zufallsschlüssel. - Verfahren nach
Anspruch 17 , das ferner aufweist: Verwenden des geheimen Schlüssels, um den Hash-Wert wiederherzustellen; Verwenden des Hash-Wertes zum Demaskieren des maskierten Zufallsschlüssels und Erzeugen eines wiederhergestellten Zufallsschlüssels; und Entschlüsseln der verschlüsselten Daten mit dem wiederhergestellten Zufallsschlüssel. - Verfahren nach
Anspruch 15 , wobei das Verknüpfen beinhaltet: entweder Anhängen oder Voranstellen oder Einfügen oder Verschachteln. - Verfahren nach
Anspruch 15 , wobei das Codieren des sicheren Pakets zum Erzeugen eines Satzes von codierten Datenabschnitten das Verwenden eines Löschcode-Algorithmus beinhaltet.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662301214P | 2016-02-29 | 2016-02-29 | |
US62/301,214 | 2016-02-29 | ||
US15/410,329 US10326740B2 (en) | 2016-02-29 | 2017-01-19 | Efficient secret-key encrypted secure slice |
US15/410,329 | 2017-01-19 | ||
PCT/IB2017/051010 WO2017149410A1 (en) | 2016-02-29 | 2017-02-22 | Efficient secret-key encrypted secure slice |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112017000220T5 true DE112017000220T5 (de) | 2018-08-09 |
Family
ID=59678482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112017000220.6T Withdrawn DE112017000220T5 (de) | 2016-02-29 | 2017-02-22 | Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt |
Country Status (4)
Country | Link |
---|---|
US (13) | US10089178B2 (de) |
CN (1) | CN108701197A (de) |
DE (1) | DE112017000220T5 (de) |
WO (1) | WO2017149410A1 (de) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447474B2 (en) * | 2009-04-20 | 2019-10-15 | Pure Storage, Inc. | Dispersed data storage system data decoding and decryption |
CN107533623A (zh) * | 2015-09-14 | 2018-01-02 | 慧与发展有限责任合伙企业 | 安全存储器系统 |
US10277490B2 (en) * | 2016-07-19 | 2019-04-30 | International Business Machines Corporation | Monitoring inter-site bandwidth for rebuilding |
EP3520038A4 (de) * | 2016-09-28 | 2020-06-03 | D5A1 Llc | Lerntrainer für maschinelles lernsystem |
US10262751B2 (en) * | 2016-09-29 | 2019-04-16 | Intel Corporation | Multi-dimensional optimization of electrical parameters for memory training |
US10481977B2 (en) * | 2016-10-27 | 2019-11-19 | International Business Machines Corporation | Dispersed storage of error encoded data objects having multiple resolutions |
US10762417B2 (en) * | 2017-02-10 | 2020-09-01 | Synaptics Incorporated | Efficient connectionist temporal classification for binary classification |
US11100932B2 (en) * | 2017-02-10 | 2021-08-24 | Synaptics Incorporated | Robust start-end point detection algorithm using neural network |
US11080600B2 (en) * | 2017-02-10 | 2021-08-03 | Synaptics Incorporated | Recurrent neural network based acoustic event classification using complement rule |
US11087213B2 (en) * | 2017-02-10 | 2021-08-10 | Synaptics Incorporated | Binary and multi-class classification systems and methods using one spike connectionist temporal classification |
US10762891B2 (en) * | 2017-02-10 | 2020-09-01 | Synaptics Incorporated | Binary and multi-class classification systems and methods using connectionist temporal classification |
US11853884B2 (en) * | 2017-02-10 | 2023-12-26 | Synaptics Incorporated | Many or one detection classification systems and methods |
CN108427615B (zh) * | 2017-02-13 | 2020-11-27 | 腾讯科技(深圳)有限公司 | 一种消息监控方法及装置 |
US10762427B2 (en) * | 2017-03-01 | 2020-09-01 | Synaptics Incorporated | Connectionist temporal classification using segmented labeled sequence data |
US10437691B1 (en) * | 2017-03-29 | 2019-10-08 | Veritas Technologies Llc | Systems and methods for caching in an erasure-coded system |
JP6959155B2 (ja) * | 2017-05-15 | 2021-11-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 検証方法、検証装置およびプログラム |
US10379979B2 (en) * | 2017-05-31 | 2019-08-13 | Western Digital Technologies, Inc. | Power fail handling using stop commands |
US10409667B2 (en) * | 2017-06-15 | 2019-09-10 | Salesforce.Com, Inc. | Error assignment for computer programs |
US11157194B2 (en) * | 2018-01-12 | 2021-10-26 | International Business Machines Corporation | Automated predictive tiered storage system |
US11321612B2 (en) | 2018-01-30 | 2022-05-03 | D5Ai Llc | Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights |
CN108319545B (zh) * | 2018-02-01 | 2021-07-16 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN108459922A (zh) * | 2018-03-12 | 2018-08-28 | 北京理工大学 | 一种爆轰数值仿真并行程序中断续算方法 |
CN108388748A (zh) * | 2018-03-12 | 2018-08-10 | 北京理工大学 | 一种爆轰数值仿真串行程序中断续算方法 |
US11412041B2 (en) | 2018-06-25 | 2022-08-09 | International Business Machines Corporation | Automatic intervention of global coordinator |
CN110659069B (zh) * | 2018-06-28 | 2022-08-19 | 赛灵思公司 | 用于执行神经网络计算的指令调度方法及相应计算系统 |
CN109034413A (zh) * | 2018-07-11 | 2018-12-18 | 广东人励智能工程有限公司 | 基于神经网络模型的智能制造设备故障预测方法及系统 |
US10606479B2 (en) | 2018-08-07 | 2020-03-31 | International Business Machines Corporation | Catastrophic data loss prevention by global coordinator |
CN109344036A (zh) * | 2018-10-08 | 2019-02-15 | 郑州云海信息技术有限公司 | 应用于存储系统的告警展示方法及系统 |
CN111124793A (zh) * | 2018-11-01 | 2020-05-08 | 中国移动通信集团浙江有限公司 | 磁盘阵列控制器性能异常检测方法及系统 |
KR20200053886A (ko) * | 2018-11-09 | 2020-05-19 | 삼성전자주식회사 | 뉴럴 프로세싱 유닛, 뉴럴 프로세싱 시스템, 및 어플리케이션 시스템 |
US11023307B2 (en) | 2019-01-03 | 2021-06-01 | International Business Machines Corporation | Automatic remediation of distributed storage system node components through visualization |
US10970149B2 (en) * | 2019-01-03 | 2021-04-06 | International Business Machines Corporation | Automatic node hardware configuration in a distributed storage system |
CN109739213A (zh) * | 2019-01-07 | 2019-05-10 | 东莞百宏实业有限公司 | 一种故障预测系统以及预测方法 |
US11275672B2 (en) * | 2019-01-29 | 2022-03-15 | EMC IP Holding Company LLC | Run-time determination of application performance with low overhead impact on system performance |
US10880377B2 (en) * | 2019-04-05 | 2020-12-29 | Netapp, Inc. | Methods and systems for prioritizing events associated with resources of a networked storage system |
US20200327025A1 (en) * | 2019-04-10 | 2020-10-15 | Alibaba Group Holding Limited | Methods, systems, and non-transitory computer readable media for operating a data storage system |
CN110058820B (zh) * | 2019-04-23 | 2022-05-17 | 武汉汇迪森信息技术有限公司 | 基于固态盘阵列的数据安全写入、删除、读取方法及装置 |
CN110162923B (zh) * | 2019-06-03 | 2020-04-03 | 北京卫星环境工程研究所 | 面向航天器总装的柔性电缆工艺数字样机构建系统及方法 |
FI129028B (fi) * | 2019-06-19 | 2021-05-31 | Elisa Oyj | Huoltoprioriteetti kommunikaatioverkossa |
US11205319B2 (en) | 2019-06-21 | 2021-12-21 | Sg Gaming, Inc. | System and method for synthetic image training of a neural network associated with a casino table game monitoring system |
SG10201906806XA (en) * | 2019-07-23 | 2021-02-25 | Mastercard International Inc | Methods and computing devices for auto-submission of user authentication credential |
US10691528B1 (en) | 2019-07-23 | 2020-06-23 | Core Scientific, Inc. | Automatic repair of computing devices in a data center |
NO20220090A1 (en) * | 2019-08-23 | 2022-01-21 | Landmark Graphics Corp | Ai/ml based drilling and production platform |
WO2021040764A1 (en) * | 2019-08-23 | 2021-03-04 | Landmark Graphics Corporation | Ai/ml based drilling and production platform |
CN110493247B (zh) * | 2019-08-29 | 2022-08-02 | 南方电网科学研究院有限责任公司 | 一种配电终端通信检测方法、系统、设备及计算机介质 |
JP2021118370A (ja) * | 2020-01-22 | 2021-08-10 | キオクシア株式会社 | メモリシステム、情報処理装置、および情報処理システム |
JP7428016B2 (ja) * | 2020-03-05 | 2024-02-06 | 京セラドキュメントソリューションズ株式会社 | ファイル送信装置 |
CN112053726B (zh) * | 2020-09-09 | 2022-04-12 | 哈尔滨工业大学 | 一种基于Er态阈值电压分布的闪存误擦除数据恢复方法 |
WO2022076352A1 (en) | 2020-10-05 | 2022-04-14 | Redcom Laboratories, Inc. | zkMFA: ZERO-KNOWLEDGE BASED MULTI-FACTOR AUTHENTICATION SYSTEM |
CN112468494B (zh) * | 2020-11-26 | 2022-05-17 | 湖北航天信息技术有限公司 | 一种内外网互联网数据传输方法及装置 |
CN112764677B (zh) * | 2021-01-14 | 2022-12-23 | 杭州电子科技大学 | 一种在云存储中增强数据迁移安全性的方法 |
EP4092963B1 (de) * | 2021-05-20 | 2024-05-08 | Ovh | Verfahren und system zur wartung von netzwerkvorrichtungen in rechenzentren |
US11722146B1 (en) * | 2022-01-21 | 2023-08-08 | Nxp B.V. | Correction of sigma-delta analog-to-digital converters (ADCs) using neural networks |
CN114785484B (zh) * | 2022-04-06 | 2023-05-09 | 重庆葵林信息科技有限公司 | 一种大数据安全传输方法及系统 |
Family Cites Families (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092732A (en) | 1977-05-31 | 1978-05-30 | International Business Machines Corporation | System for recovering data stored in failed memory unit |
US5485474A (en) | 1988-02-25 | 1996-01-16 | The President And Fellows Of Harvard College | Scheme for information dispersal and reconstruction |
US5454101A (en) | 1992-09-15 | 1995-09-26 | Universal Firmware Industries, Ltd. | Data storage system with set lists which contain elements associated with parents for defining a logical hierarchy and general record pointers identifying specific data sets |
US5987622A (en) | 1993-12-10 | 1999-11-16 | Tm Patents, Lp | Parallel computer system including parallel storage subsystem including facility for correction of data in the event of failure of a storage device in parallel storage subsystem |
US6175571B1 (en) | 1994-07-22 | 2001-01-16 | Network Peripherals, Inc. | Distributed memory switching hub |
JP3180940B2 (ja) * | 1994-11-28 | 2001-07-03 | 京セラミタ株式会社 | 画像形成装置のメンテナンス管理装置 |
US5848230A (en) | 1995-05-25 | 1998-12-08 | Tandem Computers Incorporated | Continuously available computer memory systems |
US5774643A (en) | 1995-10-13 | 1998-06-30 | Digital Equipment Corporation | Enhanced raid write hole protection and recovery |
US5809285A (en) | 1995-12-21 | 1998-09-15 | Compaq Computer Corporation | Computer system having a virtual drive array controller |
US6012159A (en) | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
US5802364A (en) | 1996-04-15 | 1998-09-01 | Sun Microsystems, Inc. | Metadevice driver rename/exchange technique for a computer system incorporating a plurality of independent device drivers |
US5890156A (en) | 1996-05-02 | 1999-03-30 | Alcatel Usa, Inc. | Distributed redundant database |
US6058454A (en) | 1997-06-09 | 2000-05-02 | International Business Machines Corporation | Method and system for automatically configuring redundant arrays of disk memory devices |
US6088330A (en) | 1997-09-09 | 2000-07-11 | Bruck; Joshua | Reliable array of distributed computing nodes |
US5991414A (en) | 1997-09-12 | 1999-11-23 | International Business Machines Corporation | Method and apparatus for the secure distributed storage and retrieval of information |
US6272658B1 (en) | 1997-10-27 | 2001-08-07 | Kencast, Inc. | Method and system for reliable broadcasting of data files and streams |
JPH11161505A (ja) | 1997-12-01 | 1999-06-18 | Matsushita Electric Ind Co Ltd | メディア送出装置 |
JPH11167443A (ja) | 1997-12-02 | 1999-06-22 | Casio Comput Co Ltd | インターフェイス装置 |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
WO2000011554A1 (en) | 1998-08-19 | 2000-03-02 | Boris Nikolaevich Vilkov | A system and method for identification of transformation of memory device addresses |
US6356949B1 (en) | 1999-01-29 | 2002-03-12 | Intermec Ip Corp. | Automatic data collection device that receives data output instruction from data consumer |
US6578144B1 (en) | 1999-03-23 | 2003-06-10 | International Business Machines Corporation | Secure hash-and-sign signatures |
US6609223B1 (en) | 1999-04-06 | 2003-08-19 | Kencast, Inc. | Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter |
US6671824B1 (en) * | 1999-04-19 | 2003-12-30 | Lakefield Technologies Group | Cable network repair control system |
US6434715B1 (en) * | 1999-06-14 | 2002-08-13 | General Electric Company | Method of detecting systemic fault conditions in an intelligent electronic device |
US6571282B1 (en) | 1999-08-31 | 2003-05-27 | Accenture Llp | Block-based communication in a communication services patterns environment |
US6516425B1 (en) * | 1999-10-29 | 2003-02-04 | Hewlett-Packard Co. | Raid rebuild using most vulnerable data redundancy scheme first |
US6826711B2 (en) | 2000-02-18 | 2004-11-30 | Avamar Technologies, Inc. | System and method for data protection with multidimensional parity |
US6718361B1 (en) | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
US20160078695A1 (en) * | 2000-05-01 | 2016-03-17 | General Electric Company | Method and system for managing a fleet of remote assets and/or ascertaining a repair for an asset |
US6496814B1 (en) * | 2000-07-19 | 2002-12-17 | International Business Machines Corporation | Method and system for integrating spatial analysis, and scheduling to efficiently schedule and monitor infrastructure maintenance |
DE60131900T2 (de) | 2000-10-26 | 2008-12-04 | Flood, James C. jun., Portland | Verfahren und system zur verwaltung von verteilten inhalten und verwandten metadaten |
US8176563B2 (en) | 2000-11-13 | 2012-05-08 | DigitalDoors, Inc. | Data security system and method with editor |
US7146644B2 (en) | 2000-11-13 | 2006-12-05 | Digital Doors, Inc. | Data security system and method responsive to electronic attacks |
US7140044B2 (en) | 2000-11-13 | 2006-11-21 | Digital Doors, Inc. | Data security system and method for separation of user communities |
US7103915B2 (en) | 2000-11-13 | 2006-09-05 | Digital Doors, Inc. | Data security system and method |
GB2369206B (en) | 2000-11-18 | 2004-11-03 | Ibm | Method for rebuilding meta-data in a data storage system and a data storage system |
US6785783B2 (en) | 2000-11-30 | 2004-08-31 | International Business Machines Corporation | NUMA system with redundant main memory architecture |
US7080101B1 (en) | 2000-12-01 | 2006-07-18 | Ncr Corp. | Method and apparatus for partitioning data for storage in a database |
US20030084020A1 (en) | 2000-12-22 | 2003-05-01 | Li Shu | Distributed fault tolerant and secure storage |
US6857059B2 (en) | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
US20020161846A1 (en) | 2001-01-29 | 2002-10-31 | Ulrich Thomas R. | Data path controller architecture |
US20030037261A1 (en) | 2001-03-26 | 2003-02-20 | Ilumin Corporation | Secured content delivery system and method |
US6879596B1 (en) | 2001-04-11 | 2005-04-12 | Applied Micro Circuits Corporation | System and method for systolic array sorting of information segments |
US7024609B2 (en) | 2001-04-20 | 2006-04-04 | Kencast, Inc. | System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files |
GB2377049A (en) | 2001-06-30 | 2002-12-31 | Hewlett Packard Co | Billing for utilisation of a data storage array |
US6944785B2 (en) | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7636724B2 (en) | 2001-08-31 | 2009-12-22 | Peerify Technologies LLC | Data storage system and method by shredding and deshredding |
US20050021359A1 (en) * | 2001-11-02 | 2005-01-27 | Mckinney Jerry L. | Monitoring system and method |
US7024451B2 (en) | 2001-11-05 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | System and method for maintaining consistent independent server-side state among collaborating servers |
US7003688B1 (en) | 2001-11-15 | 2006-02-21 | Xiotech Corporation | System and method for a reserved memory area shared by all redundant storage controllers |
US7171493B2 (en) | 2001-12-19 | 2007-01-30 | The Charles Stark Draper Laboratory | Camouflage of network traffic to resist attack |
WO2004012337A2 (en) | 2002-07-29 | 2004-02-05 | Robert Halford | Multi-dimensional data protection and mirroring method for micro level data |
US7051155B2 (en) | 2002-08-05 | 2006-05-23 | Sun Microsystems, Inc. | Method and system for striping data to accommodate integrity metadata |
US20040122917A1 (en) | 2002-12-18 | 2004-06-24 | Menon Jaishankar Moothedath | Distributed storage system for data-sharing among client computers running defferent operating system types |
EP1618478A4 (de) | 2003-03-13 | 2007-10-03 | Drm Technologies L L C | Sicherer strömungsbehälter |
US7185144B2 (en) | 2003-11-24 | 2007-02-27 | Network Appliance, Inc. | Semi-static distribution technique |
GB0308262D0 (en) | 2003-04-10 | 2003-05-14 | Ibm | Recovery from failures within data processing systems |
GB0308264D0 (en) | 2003-04-10 | 2003-05-14 | Ibm | Recovery from failures within data processing systems |
US7415115B2 (en) | 2003-05-14 | 2008-08-19 | Broadcom Corporation | Method and system for disaster recovery of data from a storage device |
US7613945B2 (en) | 2003-08-14 | 2009-11-03 | Compellent Technologies | Virtual disk drive system and method |
US7373559B2 (en) * | 2003-09-11 | 2008-05-13 | Copan Systems, Inc. | Method and system for proactive drive replacement for high availability storage systems |
US7899059B2 (en) | 2003-11-12 | 2011-03-01 | Agere Systems Inc. | Media delivery using quality of service differentiation within a media stream |
US8332483B2 (en) | 2003-12-15 | 2012-12-11 | International Business Machines Corporation | Apparatus, system, and method for autonomic control of grid system resources |
US7206899B2 (en) | 2003-12-29 | 2007-04-17 | Intel Corporation | Method, system, and program for managing data transfer and construction |
US7222133B1 (en) | 2004-02-05 | 2007-05-22 | Unisys Corporation | Method for reducing database recovery time |
US7240236B2 (en) | 2004-03-23 | 2007-07-03 | Archivas, Inc. | Fixed content distributed data storage using permutation ring encoding |
US7231578B2 (en) | 2004-04-02 | 2007-06-12 | Hitachi Global Storage Technologies Netherlands B.V. | Techniques for detecting and correcting errors using multiple interleave erasure pointers |
JP2005326935A (ja) * | 2004-05-12 | 2005-11-24 | Hitachi Ltd | 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法 |
US7594063B1 (en) * | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
JP4446839B2 (ja) | 2004-08-30 | 2010-04-07 | 株式会社日立製作所 | ストレージ装置及びストレージ管理装置 |
JP2006107080A (ja) * | 2004-10-05 | 2006-04-20 | Hitachi Ltd | ストレージ装置システム |
US7680771B2 (en) | 2004-12-20 | 2010-03-16 | International Business Machines Corporation | Apparatus, system, and method for database provisioning |
US7386758B2 (en) | 2005-01-13 | 2008-06-10 | Hitachi, Ltd. | Method and apparatus for reconstructing data in object-based storage arrays |
US7305579B2 (en) * | 2005-03-22 | 2007-12-04 | Xiotech Corporation | Method, apparatus and program storage device for providing intelligent rebuild order selection |
US7672930B2 (en) | 2005-04-05 | 2010-03-02 | Wal-Mart Stores, Inc. | System and methods for facilitating a linear grid database with data organization by dimension |
US7574623B1 (en) * | 2005-04-29 | 2009-08-11 | Network Appliance, Inc. | Method and system for rapidly recovering data from a “sick” disk in a RAID disk group |
US8190588B1 (en) * | 2005-09-19 | 2012-05-29 | Amazon Technologies, Inc. | Providing a distributed transaction information storage service |
US7574579B2 (en) | 2005-09-30 | 2009-08-11 | Cleversafe, Inc. | Metadata management system for an information dispersed storage system |
US7953937B2 (en) | 2005-09-30 | 2011-05-31 | Cleversafe, Inc. | Systems, methods, and apparatus for subdividing data for storage in a dispersed data storage grid |
US7904475B2 (en) | 2007-10-09 | 2011-03-08 | Cleversafe, Inc. | Virtualized data storage vaults on a dispersed data storage network |
US8171101B2 (en) | 2005-09-30 | 2012-05-01 | Cleversafe, Inc. | Smart access to a dispersed data storage network |
US9632872B2 (en) * | 2012-06-05 | 2017-04-25 | International Business Machines Corporation | Reprioritizing pending dispersed storage network requests |
US7574570B2 (en) | 2005-09-30 | 2009-08-11 | Cleversafe Inc | Billing system for information dispersal system |
US7546427B2 (en) | 2005-09-30 | 2009-06-09 | Cleversafe, Inc. | System for rebuilding dispersed data |
US8285878B2 (en) | 2007-10-09 | 2012-10-09 | Cleversafe, Inc. | Block based access to a dispersed data storage network |
EP1798934A1 (de) * | 2005-12-13 | 2007-06-20 | Deutsche Thomson-Brandt Gmbh | Verfahren und Gerät zum Organisieren von Knoten in einem Netzwerk |
US20070214285A1 (en) | 2006-03-08 | 2007-09-13 | Omneon Video Networks | Gateway server |
US7386827B1 (en) * | 2006-06-08 | 2008-06-10 | Xilinx, Inc. | Building a simulation environment for a design block |
JP2008103936A (ja) * | 2006-10-18 | 2008-05-01 | Toshiba Corp | 秘密情報管理装置および秘密情報管理システム |
US9697171B2 (en) * | 2007-10-09 | 2017-07-04 | Internaitonal Business Machines Corporation | Multi-writer revision synchronization in a dispersed storage network |
US9084937B2 (en) * | 2008-11-18 | 2015-07-21 | Gtech Canada Ulc | Faults and performance issue prediction |
US8260750B1 (en) * | 2009-03-16 | 2012-09-04 | Quest Software, Inc. | Intelligent backup escalation system |
US10104045B2 (en) | 2009-04-20 | 2018-10-16 | International Business Machines Corporation | Verifying data security in a dispersed storage network |
US9256560B2 (en) * | 2009-07-29 | 2016-02-09 | Solarflare Communications, Inc. | Controller integration |
US9558059B2 (en) * | 2009-07-30 | 2017-01-31 | International Business Machines Corporation | Detecting data requiring rebuilding in a dispersed storage network |
US9661356B2 (en) * | 2009-10-29 | 2017-05-23 | International Business Machines Corporation | Distribution of unique copies of broadcast data utilizing fault-tolerant retrieval from dispersed storage |
US9098376B2 (en) * | 2009-10-30 | 2015-08-04 | Cleversafe, Inc. | Distributed storage network for modification of a data object |
US8819452B2 (en) * | 2009-11-25 | 2014-08-26 | Cleversafe, Inc. | Efficient storage of encrypted data in a dispersed storage network |
US8990585B2 (en) * | 2009-12-29 | 2015-03-24 | Cleversafe, Inc. | Time based dispersed storage access |
US9152489B2 (en) * | 2009-12-29 | 2015-10-06 | Cleversafe, Inc. | Revision synchronization of a dispersed storage network |
US8959366B2 (en) * | 2010-01-28 | 2015-02-17 | Cleversafe, Inc. | De-sequencing encoded data slices |
US8954667B2 (en) * | 2010-01-28 | 2015-02-10 | Cleversafe, Inc. | Data migration in a dispersed storage network |
US10447767B2 (en) * | 2010-04-26 | 2019-10-15 | Pure Storage, Inc. | Resolving a performance issue within a dispersed storage network |
US9092386B2 (en) * | 2010-04-26 | 2015-07-28 | Cleversafe, Inc. | Indicating an error within a dispersed storage network |
US9898373B2 (en) * | 2010-04-26 | 2018-02-20 | International Business Machines Corporation | Prioritizing rebuilding of stored data in a dispersed storage network |
US8683205B2 (en) * | 2010-05-19 | 2014-03-25 | Cleversafe, Inc. | Accessing data utilizing entity registration in multiple dispersed storage networks |
US9311615B2 (en) * | 2010-11-24 | 2016-04-12 | International Business Machines Corporation | Infrastructure asset management |
CN103827723B (zh) * | 2011-01-10 | 2016-03-02 | 斯托尔万有限公司 | 大规模存储系统 |
US8996910B2 (en) * | 2011-05-09 | 2015-03-31 | Cleversafe, Inc. | Assigning a dispersed storage network address range in a maintenance free storage container |
US10042709B2 (en) * | 2011-06-06 | 2018-08-07 | International Business Machines Corporation | Rebuild prioritization during a plurality of concurrent data object write operations |
US8782439B2 (en) | 2011-06-06 | 2014-07-15 | Cleversafe, Inc. | Securing a data segment for storage |
US9521725B2 (en) * | 2011-07-26 | 2016-12-13 | Hunter Industries, Inc. | Systems and methods for providing power and data to lighting devices |
US9852017B2 (en) * | 2011-07-27 | 2017-12-26 | International Business Machines Corporation | Generating dispersed storage network event records |
US8549518B1 (en) * | 2011-08-10 | 2013-10-01 | Nutanix, Inc. | Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment |
US9274864B2 (en) * | 2011-10-04 | 2016-03-01 | International Business Machines Corporation | Accessing large amounts of data in a dispersed storage network |
US9015556B2 (en) * | 2011-12-12 | 2015-04-21 | Cleversafe, Inc. | Transforming data in a distributed storage and task network |
US9146810B2 (en) * | 2012-01-31 | 2015-09-29 | Cleversafe, Inc. | Identifying a potentially compromised encoded data slice |
US8719320B1 (en) * | 2012-03-29 | 2014-05-06 | Amazon Technologies, Inc. | Server-side, variable drive health determination |
US9380032B2 (en) * | 2012-04-25 | 2016-06-28 | International Business Machines Corporation | Encrypting data for storage in a dispersed storage network |
US9761229B2 (en) * | 2012-07-20 | 2017-09-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for audio object clustering |
US20140101298A1 (en) * | 2012-10-05 | 2014-04-10 | Microsoft Corporation | Service level agreements for a configurable distributed storage system |
US9811533B2 (en) * | 2012-12-05 | 2017-11-07 | International Business Machines Corporation | Accessing distributed computing functions in a distributed computing system |
US10055441B2 (en) * | 2013-02-05 | 2018-08-21 | International Business Machines Corporation | Updating shared group information in a dispersed storage network |
US9679615B2 (en) * | 2013-03-15 | 2017-06-13 | Micron Technology, Inc. | Flexible memory system with a controller and a stack of memory |
US20150039660A1 (en) * | 2013-07-31 | 2015-02-05 | Cleversafe, Inc. | Co-locate objects request |
US9720758B2 (en) * | 2013-09-11 | 2017-08-01 | Dell Products, Lp | Diagnostic analysis tool for disk storage engineering and technical support |
US9264494B2 (en) * | 2013-10-21 | 2016-02-16 | International Business Machines Corporation | Automated data recovery from remote data object replicas |
US9900316B2 (en) * | 2013-12-04 | 2018-02-20 | International Business Machines Corporation | Accessing storage units of a dispersed storage network |
US9435101B2 (en) * | 2014-04-24 | 2016-09-06 | Topcon Positioning Systems, Inc. | Semi-automatic control of a joystick for dozer blade control |
US9075773B1 (en) * | 2014-05-07 | 2015-07-07 | Igneous Systems, Inc. | Prioritized repair of data storage failures |
US20150356305A1 (en) * | 2014-06-05 | 2015-12-10 | Cleversafe, Inc. | Secure data access in a dispersed storage network |
US20160028419A1 (en) * | 2014-07-22 | 2016-01-28 | Lsi Corporation | Systems and Methods for Rank Independent Cyclic Data Encoding |
US10120739B2 (en) * | 2014-12-02 | 2018-11-06 | International Business Machines Corporation | Prioritized data rebuilding in a dispersed storage network |
US10078472B2 (en) * | 2015-02-27 | 2018-09-18 | International Business Machines Corporation | Rebuilding encoded data slices in a dispersed storage network |
US10079887B2 (en) * | 2015-03-31 | 2018-09-18 | International Business Machines Corporation | Expanding storage capacity of a set of storage units in a distributed storage network |
US10601658B2 (en) * | 2015-04-08 | 2020-03-24 | Cisco Technology, Inc. | Maintenance of consumable physical components of a network |
US10067998B2 (en) * | 2015-04-30 | 2018-09-04 | International Business Machines Corporation | Distributed sync list |
US10528540B2 (en) * | 2015-05-11 | 2020-01-07 | AtScale, Inc. | Dynamic aggregate generation and updating for high performance querying of large datasets |
US10410135B2 (en) * | 2015-05-21 | 2019-09-10 | Software Ag Usa, Inc. | Systems and/or methods for dynamic anomaly detection in machine sensor data |
SG11202006382VA (en) * | 2018-01-16 | 2020-08-28 | Nchain Holdings Ltd | Computer implemented method and system for obtaining digitally signed data |
-
2017
- 2017-01-04 US US15/398,540 patent/US10089178B2/en active Active
- 2017-01-09 US US15/401,377 patent/US20170249228A1/en not_active Abandoned
- 2017-01-10 US US15/402,378 patent/US10248505B2/en active Active
- 2017-01-11 US US15/403,425 patent/US10476849B2/en active Active
- 2017-01-12 US US15/404,560 patent/US20170249212A1/en not_active Abandoned
- 2017-01-19 US US15/410,329 patent/US10326740B2/en not_active Expired - Fee Related
- 2017-02-06 US US15/425,553 patent/US10120757B2/en not_active Expired - Fee Related
- 2017-02-07 US US15/426,380 patent/US10678622B2/en active Active
- 2017-02-22 US US15/439,092 patent/US10824495B2/en active Active
- 2017-02-22 CN CN201780008333.0A patent/CN108701197A/zh active Pending
- 2017-02-22 DE DE112017000220.6T patent/DE112017000220T5/de not_active Withdrawn
- 2017-02-22 WO PCT/IB2017/051010 patent/WO2017149410A1/en active Application Filing
-
2018
- 2018-06-26 US US16/019,505 patent/US10673828B2/en active Active
-
2020
- 2020-04-24 US US16/857,719 patent/US11204822B1/en active Active
-
2021
- 2021-11-30 US US17/538,771 patent/US11704184B2/en active Active
-
2023
- 2023-06-08 US US18/331,283 patent/US20230315557A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20180307561A1 (en) | 2018-10-25 |
US11704184B2 (en) | 2023-07-18 |
US10673828B2 (en) | 2020-06-02 |
US20170249205A1 (en) | 2017-08-31 |
US10089178B2 (en) | 2018-10-02 |
US20170249086A1 (en) | 2017-08-31 |
US20170250809A1 (en) | 2017-08-31 |
US20170250965A1 (en) | 2017-08-31 |
US11204822B1 (en) | 2021-12-21 |
US20170249212A1 (en) | 2017-08-31 |
US10678622B2 (en) | 2020-06-09 |
WO2017149410A1 (en) | 2017-09-08 |
US10476849B2 (en) | 2019-11-12 |
US10248505B2 (en) | 2019-04-02 |
US10120757B2 (en) | 2018-11-06 |
US10824495B2 (en) | 2020-11-03 |
US20230315557A1 (en) | 2023-10-05 |
US20170249084A1 (en) | 2017-08-31 |
US10326740B2 (en) | 2019-06-18 |
US20170249228A1 (en) | 2017-08-31 |
CN108701197A (zh) | 2018-10-23 |
US20170249551A1 (en) | 2017-08-31 |
US20170249203A1 (en) | 2017-08-31 |
US20220083415A1 (en) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112017000220T5 (de) | Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt | |
DE112018000193B4 (de) | Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern | |
US11157366B1 (en) | Securing data in a dispersed storage network | |
US10656998B2 (en) | End-to-end secure data storage in a dispersed storage network | |
US10073658B2 (en) | Optimized caching of slices by a DS processing unit | |
US10298683B2 (en) | Consolidating data access in a dispersed storage network | |
DE112018000227B4 (de) | Verfahren zum teilweisen Aktualisieren von Dateninhalten in einem verteilten Speichernetzwerk | |
US20180351740A1 (en) | Slice-level keyed encryption with support for efficient rekeying | |
DE112017002940T5 (de) | Standard- und Nicht-Standard-Datenzugriff auf verstreute Speichernetzwerke | |
US10015152B2 (en) | Securing data in a dispersed storage network | |
US11455100B2 (en) | Handling data slice revisions in a dispersed storage network | |
US20190005261A1 (en) | Secure shared vault with encrypted private indices | |
US20180004449A1 (en) | Managing configuration updates in a dispersed storage network | |
US10901650B2 (en) | Using a master encryption key to sanitize a dispersed storage network memory | |
US11237904B2 (en) | Tracking data access in a dispersed storage network | |
DE112017002144T5 (de) | Manipulieren eines verteilten Vereinbarungsprotokolls zum Identifizieren einer gewünschten Gruppe von Speichereinheiten | |
US10671746B2 (en) | Controlling access when processing intents in a dispersed storage network | |
US10534666B2 (en) | Determining storage requirements based on licensing right in a dispersed storage network | |
US11157362B2 (en) | Elastic storage in a dispersed storage network | |
DE112017000530T5 (de) | Konsistentes Speichern von Daten in einem verstreuten Speichernetzwerk | |
DE112021002747T5 (de) | Sicheres wiederherstellen von geheimen schlüsseln | |
US20190007380A1 (en) | De-duplication of data streams | |
US11782789B2 (en) | Encoding data and associated metadata in a storage network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: MARKS & CLERK LLP, GB Representative=s name: PROCK, THOMAS, DR., GB |
|
R081 | Change of applicant/patentee |
Owner name: PURE STORAGE, INC. (N.D.GES.D. STAATES DELAWAR, US Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, N.Y., US Owner name: PURE STORAGE, INC. (N.D.GES.D. STAATES DELAWAR, US Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, NY, US |
|
R082 | Change of representative |
Representative=s name: MARKS & CLERK LLP, GB Representative=s name: PROCK, THOMAS, DR., GB |
|
R082 | Change of representative |
Representative=s name: PROCK, THOMAS, DR., GB |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |