DE112017000220T5 - Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt - Google Patents

Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt Download PDF

Info

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
Application number
DE112017000220.6T
Other languages
English (en)
Inventor
Jason Resch
Ilya Volvovski
Mark Duane Seaborn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pure Storage Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112017000220T5 publication Critical patent/DE112017000220T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0781Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0709Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0727Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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/2906Coding, 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/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

Ein Verschlüsselungsmodul (84) verschlüsselt Startdaten (82) unter Verwendung eines Zufallsschlüssels (102), um verschlüsselte Daten (85) zu erzeugen. Ein Hash-Modul (86) führt eine sichere Hash-Funktion an den verschlüsselten Daten (85) unter Verwendung eines geheimen Schlüssels (98) aus, um einen Hash-Wert (104) zu erzeugen. Eine Verarbeitungsschaltungsanordnung (106) maskiert den Zufallsschlüssel (102) unter Verwendung des Hash-Wertes (104), um einen maskierten Zufallsschlüssel (108) zu erzeugen, und verknüpft die verschlüsselten Daten (85) und den maskierten Zufallsschlüssel (108), um ein sicheres Paket (96) zu erzeugen. Ein verteiltes Speicher- und Aufgabenmodul (88) codiert das sichere Paket (96), um einen Satz von codierten Datenabschnitten zu erzeugen. Der geheime Schlüssel (98) und eine Decodierschwellenzahl der codierten Datenabschnitte, die in dem Satz von codierten Datenabschnitten enthalten sind, reichen aus, um das sichere Paket (96) und die Startdaten (82) wiederherzustellen. Der Satz von codierten Datenabschnitten wird in einem Satz von Speichereinheiten (22) gespeichert.

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 Datenverarbeitungseinheiten 12 bis 16, eine Verwaltungseinheit 18, eine Integritätsverarbeitungseinheit 20 und einen DSN-Speicher 22 enthält. Die Komponenten des DSN 10 sind mit einem Netzwerk 24 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 Speichereinheiten 36, 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-Speicher 22 acht Speichereinheiten 36, die jeweils an unterschiedlichen Standorten angeordnet sind. Bei einem weiteren Beispiel enthält der DSN-Speicher 22 acht Speichereinheiten 36, die sich alle an dem gleichen Standort befinden. Bei noch einem weiteren Beispiel enthält der DSN-Speicher 22 acht Speichereinheiten 36, 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-Speicher 22 mehr oder weniger als acht Speichereinheiten 36 enthalten kann. Ferner ist zu berücksichtigen, dass jede Speichereinheit 36 einen Datenverarbeitungskern (wie in 2 gezeigt oder Komponenten davon) und eine Mehrzahl von Speichereinheiten zum Speichern verstreuter fehlercodierter Daten enthält.
  • Jede der Datenverarbeitungseinheiten 12 bis 16, die Verwaltungseinheit 18 und die Integritätsverarbeitungseinheit 20 enthalten einen Datenverarbeitungskern 26, der Netzwerkschnittstellen 30 bis 33 enthält. Bei den Datenverarbeitungseinheiten 12 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 Verwaltungseinheit 18 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 Datenverarbeitungseinheiten 12 bis 16 und/oder in eine oder mehrere Datenverarbeitungseinheiten der Speichereinheiten 36 integriert sein.
  • Jede Schnittstelle 30, 32 und 33 enthält Software und Hardware, um eine oder mehrere Datenübertragungsverbindungen über das Netzwerk 24 indirekt und/oder direkt zu unterstützen. Die Schnittstelle 30 unterstützt beispielsweise eine Datenübertragungsverbindung (z.B. leitungsgestützt, drahtlos, direkt, über ein LAN, über das Netzwerk 24 usw.) zwischen den Datenverarbeitungseinheiten 14 und 16. In einem weiteren Beispiel unterstützt die Schnittstelle 32 Datenübertragungsverbindungen (z. B. eine leitungsgestützte Verbindung, eine drahtlose Verbindung, eine LAN-Verbindung und/oder jede andere Art von Verbindung zu/von dem Netzwerk 24) zwischen den Datenverarbeitungseinheiten 12 und 16 und dem DSN-Speicher 22. In einem nochmals weiteren Beispiel unterstützt die Schnittstelle 33 eine Datenübertragungsverbindung für jede der Verwaltungseinheiten 18 und der Integritätsverarbeitungseinheit 20 mit dem Netzwerk 24.
  • Die Datenverarbeitungseinheiten 12 und 16 enthalten ein verstreutes Speicher- (DS-) Clientmodul 34, das es der Datenverarbeitungseinheit ermöglicht, Speicherfehlercodierungs- und -decodierungsdaten (z.B. Daten 40) zu verstreuen, wie nachfolgend mit Bezug auf eine oder mehrere der 3 bis 8 beschrieben wird. In dieser beispielhaften Ausführungsform fungiert die Datenverarbeitungseinheit 16 als ein verstreuter Speicherverarbeitungsagent für die Datenverarbeitungseinheit 14. Die Datenverarbeitungseinheit 16 für verstreute Speicherfehler codiert und decodiert in dieser Rolle Daten im Auftrag der Datenverarbeitungseinheit 14. Beim Verwenden der verstreuten Speicherfehlercodierung und -decodierung toleriert das DSN 10 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 DSN 10 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 Verwaltungseinheit 18 verteilte Datenspeicherparameter (z.B. eine Depoterstellung, verteilte Speicherparameter, Sicherheitsparameter, Abrechnungsinformationen, Benutzerprofilinformationen usw.) für die Datenverarbeitungseinheiten 12 bis 14 einzeln oder als Teil einer Gruppe von Benutzereinheiten ein. Als ein spezifisches Beispiel koordiniert die Verwaltungseinheit 18 ein Erzeugen eines Depots (z.B. eines virtuellen Speicherblocks, der einem Teil eines gesamten Namensraums des DSN zugeordnet ist) in dem DSN-Speicher 22 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 Verwaltungseinheit 18 erleichtert das Speichern von DS-Fehlercodierungsparametern für jedes Depot durch Aktualisieren von Registrierungsinformationen des DSN 10, wobei die Registrierungsinformationen in dem DSN-Speicher 22, einer Datenverarbeitungseinheit 12 bis 16, der Verwaltungseinheit 18 und/oder der Integritätsverarbeitungseinheit 20 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-Speichers 22. 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 Verwaltungseinheit 18 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 Verwaltungseinheit 18 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-Modul 34) zu/von dem DSN 10 und/oder zum Einrichten von Berechtigungsprüfungsdaten für die Speichereinheiten 36. 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 DSN 10.
  • Die Integritätsverarbeitungseinheit 20 führt ein Wiederherstellen von „schadhaften“ oder fehlenden codierten Datenabschnitten durch. Grundsätzlich führt die Integritätsverarbeitungseinheit 20 ein Wiederherstellen durch, indem sie periodisch versucht, codierte Datenabschnitte und/oder Datenabschnittbezeichnungen der codierten Datenabschnitte aus dem DSN-Speicher 22 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-Speicher 22 gespeichert.
  • 2 ist eine schematische Blockdarstellung einer Ausführungsform eines Datenverarbeitungskerns 26, der ein Verarbeitungsmodul 50, eine Speichersteuerung 52, einen Hauptspeicher 54, eine Videografikverarbeitungseinheit 55, eine Eingabe/Ausgabe- (EA-) Steuerung 56, eine Periphere-CompuNet-Interconnect- (PCI-) Schnittstelle 58, 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-) Schnittstellenmodule 66, Hostbusadapter- (HBA-) Schnittstellenmodule 68, Netzwerkschnittstellenmodule 70, Flash-Schnittstellenmodule 72, Festplatten-Schnittstellenmodule 74 und DSN-Schnittstellenmodule 76.
  • 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-Schnittstellenmodul 76 und/oder das Netzwerkschnittstellenmodul 70 können als eine oder mehrere der Schnittstellen 30 bis 33 von 1 fungieren. Es ist zu beachten, dass das EA-Einheiten-Schnittstellenmodul 62 und/oder die Speicherschnittstellenmodule 66 bis 76 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 Datenverarbeitungseinheit 12 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 in 5 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 Datenverarbeitungseinheit 12 oder 16 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 oder 16 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 Datenabschnittbezeichnung 80 ist in 6 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 oder 16 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 von 4 bei einem verstreuten Speicherfehler codiert und gespeichert wurde. In diesem Beispiel ruft die Datenverarbeitungseinheit 12 oder 16 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 Zeilen 1, 2 und 4 enthält, wird die Codiermatrix auf die Zeilen 1, 2 und 4 reduziert und dann invertiert, um die Decodiermatrix zu erzeugen.
  • Unter Bezugnahme auf die 9 und 10 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üsselungsmodul 84, ein Keyed-Hash-Modul 86, ein Maskierungsmodul 106, ein Verknüpfungsmodul 87, ein verteiltes Speicher- und Aufgaben- (DST-) Client-Modul 88, den DSN-Speicher 22 von 1, der gelegentlich als DSTN-Modul (Distributed Task Network-Modul) bezeichnet wird, ein DST-Client-Modul 89, ein Trennungsmodul 90, ein Keyed-Hash-Modul 91, ein Demaskierungsmodul 114 und ein Entschlüsselungsmodul 94 enthält. Alle Module, das Verschlüsselungsmodul 84, die Keyed-Hash-Module 1 bis 2, das Maskierungsmodul 106, das Verknüpfungsmodul 88, das Trennungsmodul 90, das Demaskierungsmodul 114 und das Entschlüsselungsmodul 94, können jeweils unter Verwendung eines Datenverarbeitungskerns 26 von 2 implementiert werden. Die DST-Client-Module 88 und 89 können unter Verwendung des DST-Client-Moduls 34 von 1 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üssel 102, um die Daten 82 zu verschlüsseln, um verschlüsselte Daten 85 zu erzeugen. Das Keyed-Hash-Modul 86 nutzt einen geheimen Schlüssel 98, um eine sichere Hash-Funktion an den verschlüsselten Daten 85 durchzuführen, um einen Hash-Wert 104 zu erzeugen. Zum Beispiel führt das Keyed-Hash-Modul 86 eine auf einem Hashwert beruhende Nachrichtenberechtigungsprüfungscode- (HMAC-) Funktion an den verschlüsselten Daten 85 unter Verwendung des geheimen Schlüssels 98 durch, um den Hash-Wert 104 zu erzeugen. Das Maskierungsmodul 106 maskiert den Zufallsschlüssel unter Verwendung des Hash-Wertes 104, um einen maskierten Zufallsschlüssel 108 zu erzeugen. Das Maskieren beinhaltet eine modulare Addition wie beispielsweise die Exklusiv-ODER-Funktion. Das Verknüpfungsmodul 87 verknüpft die verschlüsselten Daten 85 und den maskierten Zufallsschlüssel 108, um ein sicheres Paket 96 zu erzeugen. Das Verknüpfen kann Anhängen und/oder Verschachteln beinhalten. Das DST-Clientmodul 88 für verstreute Speicherfehler codiert das sichere Paket 96, um einen Satz von codierten Datenabschnitten 1 bis n zum Speichern in dem DSN-Speicher 22 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 Datenabschnitten 1 bis n, um das sichere Paket 96 wiederherzustellen. Das Trennungsmodul 90 trennt das sichere Paket 96, um den maskierten Zufallsschlüssel 108 und die verschlüsselten Daten 85 wiederherzustellen. Das Keyed-Hash-Modul 91 verwendet den geheimen Schlüssel 98, um die sichere Hash-Funktion an den wiederhergestellten verschlüsselten Daten 85 durchzuführen, um den Hashwert 104 wiederherzustellen. Das Demaskierungsmodul 114 demaskiert den maskierten Zufallsschlüssel 108 unter Verwendung des Hash-Wertes 104, um einen wiederhergestellten Zufallsschlüssel 116 zu erzeugen. Zum Beispiel führt das Demaskierungsmodul 114 die Exklusiv-ODER-Funktion an dem maskierten Zufallsschlüssel 108 und dem Hashwert 104 aus, um den wiederhergestellten Zufallsschlüssel 116 zu erzeugen. Das Entschlüsselungsmodul 94 verwendet den wiederhergestellten Zufallsschlüssel 116, um die verschlüsselten Daten 85 zu entschlüsseln, um wiederhergestellte Daten 100 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 Block 118, 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 Block 120 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 Block 122 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 Block 124 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 Block 130 fortgesetzt, in dem das Verarbeitungsmodul das sichere Paket trennt, um den maskierten Zufallsschlüssel und die verschlüsselten Daten wiederherzustellen. Das Verfahren wird im Block 132 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 Block 134 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 Block 136 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 Signal 2 aufweist, kann ein günstiger Vergleich erzielt werden, wenn der Wert des Signals 1 größer ist als der des Signals 2 oder wenn der Wert des Signals 2 kleiner ist als der des Signals 1. 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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Verfahren nach Anspruch 1, wobei das Maskieren des Zufallsschlüssels aufweist: Durchführen einer Exklusiv-ODER- (XOR-) Funktion oder einer Modulo-Addition.
  6. Verfahren nach Anspruch 1, wobei das Kombinieren beinhaltet: entweder Anhängen oder Voranstellen oder Einfügen oder Verschachteln.
  7. Verfahren nach Anspruch 1, wobei das Codieren des sicheren Pakets zum Erzeugen eines Satzes codierter Datenabschnitte ein Verwenden eines Löschcodealgorithmus enthält.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. Verfahren nach Anspruch 15, wobei das Verknüpfen beinhaltet: entweder Anhängen oder Voranstellen oder Einfügen oder Verschachteln.
  20. Verfahren nach Anspruch 15, wobei das Codieren des sicheren Pakets zum Erzeugen eines Satzes von codierten Datenabschnitten das Verwenden eines Löschcode-Algorithmus beinhaltet.
DE112017000220.6T 2016-02-29 2017-02-22 Effektiver, mit einem Geheimschlüssel verschlüsselter sicherer Datenabschnitt Withdrawn DE112017000220T5 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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