KR20230131486A - 게재 파일 시스템 및 방법 - Google Patents

게재 파일 시스템 및 방법 Download PDF

Info

Publication number
KR20230131486A
KR20230131486A KR1020237027605A KR20237027605A KR20230131486A KR 20230131486 A KR20230131486 A KR 20230131486A KR 1020237027605 A KR1020237027605 A KR 1020237027605A KR 20237027605 A KR20237027605 A KR 20237027605A KR 20230131486 A KR20230131486 A KR 20230131486A
Authority
KR
South Korea
Prior art keywords
server
data
paragraph
read
orchestrator
Prior art date
Application number
KR1020237027605A
Other languages
English (en)
Inventor
조나단 아미트
Original Assignee
볼루메즈 테크놀로지스 엘티디.
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 볼루메즈 테크놀로지스 엘티디. filed Critical 볼루메즈 테크놀로지스 엘티디.
Publication of KR20230131486A publication Critical patent/KR20230131486A/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • 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/061Improving I/O performance
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0622Securing storage systems in relation to access
    • 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
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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/0658Controller construction arrangements
    • 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
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

지정된 오케스트레이터는 지정된 독출 서버(들)에 노출되도록 구성되는 다수의 스냅샷 데이터 버전을 게재하도록 구성되고 따라서 이전의 데이터 스냅샷이 반복되는 동안 동시적으로 수행될 수 있는 멀티-태스크 데이터 기입 능력을 허용한다.

Description

게재 파일 시스템 및 방법
본 발명은 컴퓨터 데이터 렌더링 및 처리 시스템 및 방법에 관한 것으로, 보다 상세하게는 관련 데이터의 제어된 노출을 관리 및 수행하도록 구성되는 지정된 오케스트레이터(orchestrator)의 사용에 관한 것이다.
현재의 컴퓨팅 시스템은, 로컬, 원격 또는 클라우드 컴퓨팅-기반(컨테이너, 프라이빗/퍼블릭 클라우드, 멀티-클라우드 등)이든, 실제 사용과 조건부적(contingent) 사용을 위해 대량의 데이터 스토리지가 필요하다. 이러한 데이터 제공 및 관리는 일반적으로 지정된 데이터 센터에서 이루어진다. 전통적으로, 사용되었거나 사용이 예상되는 데이터의 제공은, 예컨대 하이브리드 하드 드라이브(HHD), 솔리드 스테이트 드라이브(SSD) 등 물리적인 데이터 저장 디바이스를 스태킹(stacking)함으로써 가능하게 된다.
이러한 스태킹은 블록-기반 스토리지, 파일-기반 스토리지, 객체 스토리지 등을 위한 데이터 스토리지 시스템인 '디스크 어레이' 또는 '스토리지 어레이'라고 명명되는 것을 생성한다. 스토리지 어레이는, 서버에 데이터를 저장하는 것이 아니라, 상당한 양의 데이터를 저장할 수 있고 로컬 중앙 제어 시스템에 의해 제어될 수 있는 집합적인 다수의 스토리지 미디어를 사용한다.
전통적으로, 스토리지 어레이 제어 시스템은 용량, 공간 할당, 볼륨 관리, 스냅샷 생성, 오류 식별 및 추적, 암호화, 압축, 및/또는 기타 서비스를 유지하기 위해 다수의 스토리지 서비스를 제공한다. 이러한 유형의 서비스에는 컴퓨팅 용량, 메타데이터 분류, 데이터 스토리지, 가속기 등이 필요하므로 - 따라서 상당한 인프라스트럭처와 예산 용량 및 리소스의 지정을 요구한다.
스토리지 어레이는, 일반적으로, 전용 하드웨어 상에서 시스템 및 애플리케이션 작동을 구현하는 시스템 서버 운영성(operability)과 분리된다.
전통적인 스토리지 어레이에 의해 제공되는 서비스 중 하나는, 장애 발생 시 데이터를 보호하기 위해 다수의 HHD 또는 SSD 상의 서로 다른 위치에 동일한 데이터를 저장하는 방법으로서 RAID(Redundant Arrays of Independent Disks)를 제공하는 것이다. 상이한 RAID 레벨이 있으며, 이들은 전체 성능을 향상시키고 시스템의 스토리지 용량을 증대시키는 데 중점을 둘 수 있기는 하지만 그들 모두가 리던던시를 제공하는 것을 목표로 갖는 것은 아니다.
보통의(common) 하드웨어 아키텍처는, 일반적으로, 서버 스택, 스토리지 어레이 스택 및 미디어 I/O 디바이스를 포함한다. I/O 디바이스는 스토리지 스택을 통해 서버와 통신한다.
보통의 하드웨어의 운영의 공통성(communality)을 가능하게 하기 위해, 데이터 스토리지 리소스가, 아래에 놓인(underlying) 물리적 스토리지 미디어 하드웨어로부터 추상화되고(abstracted) 따라서 이용할 수 있는(available) 하드웨어 및 데이터 스토리지의 유연한 활용을 제공하는 데이터 관리에 대한 공통 접근 방식으로서 SDS(Software-Defined Storage)의 관행이 확립되었다.
당업계에서 SDS는, 전형적으로 상용의 기성품 서버 상에서 실행되는 HCI(Hyper-Converged Infrastructure)라고도 한다. 종래의 인프라스트럭처와 HCI 사이의 주요 차이점은, HCI에서는, 스토리지 영역 네트워크와 아래에 놓인 스토리지 추상화부(abstractions)가 하드웨어에서 물리적이 아니라 소프트웨어에서 가상으로 구현된다는 것이다.
스토리지 어레이 및 SDS 솔루션은, 일반적으로, 데이터 스토리지 및 그의 트래픽의 관리 및 제어를 위한 통합 스토리지 소프트웨어 스택을 포함한다.
이러한 통합 소프트웨어 스택은 데이터 보호(예컨대, 백업, 리던던시, 복구 등), 고가용성, 공간 할당, 데이터 축소, 데이터 백업, 데이터 복구 등과 같은 스토리지 메인터넌스 서비스를 제공한다. 사실상, 통합 소프트웨어 스택은 그의 제어, 관리, 집행(administration) 및 메인터넌스에 스토리지 어레이 리소스의 전용(dedication)을 필요로 한다.
이러한 리소스는 스토리지 스택 코드, 제어 프로토콜, 노드 상호연결(interconnect) 프로토콜, 장애 도메인, 성능, 스택 모델, 클러스터의 노드 수 등과 같은 이슈들에 대처해야 한다. 이러한 서비스 및 요구사항은 전통적으로 스토리지 어레이별로 로컬로 제공되며 일반적으로 업데이트, 관리 및 전반적인 집행(administration)을 필요로 한다.
통합 소프트웨어 스택을 구축하고 유지관리하는 것은, 무엇보다 제공해야 할 서비스의 많음과 많은 양의 클라이언트(미디어 쪽과 서버 쪽 모두)로 인해 높은 비용을 부담할 수 있으며, 신뢰도가 매우 높아야 하고, 코드가 효율적이어야 하며, 기타의 충실도 고려사항이 고려되어야 한다. 결과적으로, 현재의 스토리지 어레이는 그들의 신뢰성, 품질 및 성능과 관련하여 문제에 면해 있다.
중앙 스토리지 어레이는 일반적으로 다수의 클라이언트에게 서비스를 제공하도록 구성되고, 따라서 커다란 컴퓨팅 능력(computing power)이 그에 기인하더라도, 이러한 능력은 상기 다수의 클라이언트 간에서 분할되게 된다. 그의 중심성으로 인해, 스토리지 어레이 또는 스택 클러스터 오류 또는 오작동은 전체 성능에 즉시 영향을 미친다. 데이터 스토리지에 전용된 스토리지 어레이 또는 스택 클러스터의 량/수는 서버 시스템에 전용된 리소스에 비해 상당히 작고 가용성이 낮고, 따라서 사실은 업계는 데이터 스토리지를 서비스하는 것보다 서버를 서비스하는 것으로 훨씬 더 많은 '실적(track record)'을 얻었다(예컨대, 서버 관련 코드가 더 자주 디버깅되고 더 효율적이어서 오류가 적게 발생함으로 이어짐). 또한 이러한 통합 소프트웨어의 유지관리에는 기술 발전에 따른 지속적인 유지 및 업데이트가 필요하다. 결과적으로, 통합 소프트웨어 스택 운영의 현재의 품질과 성능이 충분히 높지 않다.
리눅스(Linux) 및 윈도우즈 서버(Windows Server)와 같은 최신 운영 시스템은 내부 스토리지 구성요소의 견고한 모음[(직접 부착 스토리지-(DAS)]을 포함하고 있고, 이는 중앙 스토리지 시스템이, 설계 요구사항으로 인해서 또는 스토리지 어레이 또는 데이터 스택 클러스터에 기인한 결함으로 인해 필요하지 않거나 요구되지 않을 때 (암호화, 압축, RAID 등과 같은) 직접 로컬 서비스를 가능하게 한다.
스토리지 구성요소는 일반적으로 커널 계층에서 구현되며, 즉각적인 액세스를 보장하고 이에 의해 높은 OS 및/또는 애플리케이션 성능을 보장한다. DAS는, DAS에 저장된 데이터에 대한 액세스 가능성(accessibility)을 직접적으로 방해하는 서버 통신 장애의 직접적인 악영향으로 인한 그의 본질적 결함으로 인해, 주로, 중요하지 않은 애플리케이션으로 제한된다. 따라서, 대체적으로, 기업은 중요한 애플리케이션에 DAS를 사용하지 않는다. 그럼에도 불구하고, 현재의 최신 서버 및 운영 시스템은 DAS 기능을 지원하는 데 필요한 서비스를 포함하도록 설계되었다.
운영 시스템 성숙도는 DAS 안정성 제한으로 인해 스토리지 어레이에 대한 의존도가 여전히 높은 우선순위 고려 사항이지만 기업에서 사용할 안정적인 구성요소를 제공한다.
상기 직접 로컬 서비스(예컨대, 암호화, 압축, RAID 등)를 용이하게 하기 위해 OS 서버 시스템에 포함된 원시(raw) 구성요소는, 오늘날, 기본 운영 시스템 DAS 사용에만 사용된다. 그럼에도 불구하고, 서비스를 가능하게 하는 이러한 많은 구성요소가 OS 서버에 존재하지만, 요즘에는 기존의 스토리지 어레이 시스템에서 입수할 수 있는 데이터 관리 및 제어 서비스의 완전한 묶음을 가능하게 하지 않는다.
AI 및 빅 데이터 애플리케이션의 요구사항에 의해 제시된 것과 같은 최신의 파일 워크로드는 매우 높은 대역폭과 매우 높은 IOPS(Input-Output Operations Per Second) 사양을 설정한다. 현재 네트워크-부착 스토리지(Network-Attached Storage)클러스터 파일 시스템(Clustered File System)이라는 두 가지 솔루션 그룹이 존재한다.
NAS(Network-Attached Storage)는 이종의 클라이언트 그룹에 대한 데이터 액세스를 제공하는 컴퓨터 네트워크에 연결된 파일-레벨의 컴퓨터 데이터 스토리지 서버이다.
이러한 NAS를 용이하게 하는 데 사용되는 현재 일반적인 컨트롤러-기반 아키텍처는, 드라이브와 네트워크 컴퓨터 간의 병목 현상으로 되고, 따라서 대역폭과 IOPS를 매우 낮은 수치로 효과적으로 제한한다.
클러스터 파일 시스템은 다수의 서버에 동시에 장착됨으로써 공유되는 파일 시스템이다. 이러한 구성 하에서, 둘 이상의 클라이언트가 동일한 파일에 액세스하고 해당 동일한 파일의 업데이트를 시도할 때 동시성 제어가 이슈로 된다. 따라서, 한 클라이언트로부터의 파일 업데이트가 다른 클라이언트의 액세스 및 업데이트를 방해하지 않도록 조율되어야 한다. 이 문제는 일반적으로 동시성 제어 또는 락킹 프로토콜에 의해 처리된다. 이러한 락 및 언락 동작은 상대적으로 많은 시간을 소비하며 대역폭과 IOPS를 낮은 수치로 줄임으로써 악영향을 끼친다. 이러한 상대적으로 많은 시간과 리소스 소모는 작은 파일에 대한 랜덤 액세스를 수행할 때 줄어들 수 있다.
따라서, 현재 입수하여 사용 가능한 파일 시스템의 제시된 결점은, 다양한 조건과 관심사에 맞는 유연성과 함께 신뢰할 수 있는 데이터 렌더링 및 오케스트레이션을 제공하고, 그리고 이로 인하여 사용자의 다양한 요구에 맞추어 만든 실시간 동작을 제공할 수 있는, 신뢰가능하고, 신속하고, 비용 효율적이며 포괄적인 솔루션을 제공하는 훨씬 더 효율적인 파일 관리 시스템 및 방법을 제공할 여지를 남겨 둔다.
본 발명은, 락이 없으며 동작하는 데 컨트롤러가 필요하지 않은 낮은 레이턴시의 파일 게재 시스템 컨피겨레이션을 제공한다. 또한, 시스템의 고유의 특성으로 인해 높은-읽기 집약적 워크로드를 제공하고 다양한 복합 애플리케이션을 효율적으로 수행할 수 있게 한다.
본 발명은 또한, 지정된 독출(reader) 서버(들)에 노출되도록 구성되는 다수의 스냅샷 데이터 버전을 게재하도록 구성된 지정된 오케스트레이터를 제공하고 따라서 이전의 데이터 스냅샷이 반복(iteration)되는 동안 동시적으로 수행될 수 있는 멀티-태스크 데이터 기입 능력을 허용한다. 따라서, 본 발명은 효율적인 데이터 렌더링 및 처리 능력뿐만 아니라 다양한 조건 및 관심사에 적응된 유연성을 제공할 수 있는, 신뢰할 수 있고, 신속하고, 비용 효율적이며, 포괄적인 파일 관리 솔루션을 제공한다.
다음의 실시형태 및 그 양태는, 범위를 한정하지 않고 예시적이고 도해적일 것을 의도한 시스템, 디바이스 및 방법과 연계하여 설명 및 도시된다. 여러 실시형태에서, 전술한 문제 중 하나 이상이 감소되거나 제거되었으며, 다른 실시형태는 다른 이점 또는 개선에 관한 것이다.
본 발명의 일 양태는 게재 파일 시스템 또는 방법에 관한 것으로, 시스템은: 데이터 평면(DP; Data Plane) 네트워크의 제어 평면(CP; Control Plane)을 제어하도록 지정된 적어도 하나의 오케스트레이터(orchestrator); 데이터를 기입하고 운영 시스템를 실행하고 오케스트레이터를 제어하도록 구성된 기입(writer) 서버; 기입 서버에 의해 생성되고 DP 네트워크를 통해 액세스 가능한 데이터를 호스팅하도록 지정된 적어도 하나의 스토리지 미디어; 및 DP 네트워크를 통해 스토리지 미디어에 대한 읽기-전용(read-only) 액세스를 갖도록 지정된 적어도 하나의 독출 서버를 포함하고, 기입 서버에 의해 수행되도록 구성된 기입 절차는 적어도 하나의 데이터 스냅샷 버전을 결과로서 가져오고, 오케스트레이터는 독출 서버가 DP 네트워크에 액세스하고 데이터 스냅샷 버전을 노출하도록 허용하는 게재 커맨드(command)를 받아들이도록 구성되며, 그리고 새로운 데이터 버전이 기입 서버에 의해 업데이트될 수 있으며 다른 게재 커맨드가 상기 오케스트레이터에 의해 받아들여지기까지 독출 서버로부터 은닉된다. 독출 서버는 서로 다른 개소에 위치될 수 있으며, 여기서 오케스트레이션 할당은 서로 다른 복원성 도메인(resiliency domain)을 고려할 수 있고 이에 따라 시스템 밸런스 유지를 추가로 고려할 수 있음을 인식하면서 서로 다른 복원성 도메인에 걸쳐 오케스트레이션이 할당된다.
본 발명의 일부 실시형태에 따르면, DP 네트워크를 통해 데이터 스냅샷을 노출시키는 것은 즉각적인 시스템 응답 및 감소된 레이턴시를 허용한다. 추가적으로, 적어도 하나의 미디어 스토리지는 읽기-전용 미디어 스토리지 스택일 수 있고/있거나 데이터는 적어도 2개의 미디어 스토리지에 백업된다.
본 발명의 일부 실시형태에 따르면, 독출 서버가 DP 네트워크를 통해 이미 게재된 다른 데이터 스냅샷 버전에 노출되는 동안 다수의 데이터 스냅샷 버전이 기입될 수 있다.
본 발명의 일부 실시형태에 따르면, 오케스트레이터는 기입 서버에 의해 만들어진 특정 스냅샷 데이터 버전을 인식하도록 구성되고 따라서, DP 네트워크를 거쳐서 다수의 독출 서버에 대해 균일하고 신뢰가능한 데이터 스택을 제공하도록 구성된다. 본 발명의 일부 실시형태에 따르면, 오케스트레이터에 의해 새로운 데이터 스냅샷 버전을 게재할 때, 독출 서버는 할당 메타데이터를 리프레쉬하도록 구성된다. 본 발명의 일부 실시형태에 따르면, 시스템 또는 방법은, 데이터 스냅샷 버전을 생성하고 단일의 기입 서버를 사용하여 다수의 독출 서버(들)에 의한 병렬 읽기를 가능하게 하기 위해 LVM을 사용하도록 추가로 구성된다. 본 발명의 일부 실시형태에 따르면, 기입 서버는 다중경로(multipath) 연결을 사용하여 적어도 2개의 독출 서버와 상호작용하도록 구성될 수 있다. 그렇지 않으면 DP 네트워크를 거쳐 액세스할 수 있는 독출 또는 기입 서버와 오케스트레이터 사이의 통신은 상기 디바이스 각각에 설치된 지정된 소프트웨어 구성요소를 사용하여 이루어진다.
본 발명의 일부 실시형태에 따르면, 시스템의 일반적 용도는 독출 서버(들)에 의해 수행되는 AI 트레이닝 또는 다른 대량 계산의 수행을 행하기 위해 활용되도록 구성된다.
본 발명의 일부 실시형태에 따르면, 미디어 스토리지로의 경로는 직접적이며 각 미디어 스토리지는 RAID, 암호화, LVM(Logical Volume Manager), 데이터 축소 등과 같은 요구되는 스토리지 스택 서비스를 실행하도록 구성된다. 본 발명의 일부 실시형태에 따르면, 기입 서버는 스토리지 미디어의 다수의 지정된 부분으로부터 유래된 데이터 리던던시를 제공하도록 구성된 RAID 스토리지 스택 구성요소(SSC)를 활용하도록 구성될 수 있다.
본 발명의 일부 실시형태에 따르면, 독출 서버는 감소된 레이턴시를 제공하기 위해 메타데이터 및 데이터를 RAM에 캐싱하도록 구성된다. 본 발명의 일부 실시형태에 따르면, 데이터 스냅샷을 생성하고 단일의 기입 서버를 사용하여 다수의 독출 서버(들)에 의한 병렬 읽기를 가능하게 하기 위해 씬 프로비저닝 계층을 사용하도록 추가의 컨피겨레이션이 이루어진다.
본 발명의 일부 실시형태에 따르면, 오케스트레이터는 집행(administration) 프로토콜을 사용하여 각 서버와 상호작용하도록 구성될 수 있다; 스토리지 미디어는 SSD(Solid-State Drive) 기반일 수 있다; 스토리지 미디어는 스토리지 클래스 메모리(SCM; Storage Class Memory) 기반이다; 스토리지 미디어는 RAM(Random Access Memory) 기반일 수 있다; 스토리지 미디어는 하드 디스크 드라이브(HHD) 기반일 수 있다; 오케스트레이터는 물리적 구성요소일 수 있다; 오케스트레이터는 클라우드-기반 서비스(SaaS)일 수 있다; 및/또는 각 서버에서의 동작은 데이터 처리 유닛(DPU)에 의해 전체적 또는 부분적으로 구현될 수 있다.
여기서 첨부 도면을 참조하여 본 발명의 일부 실시형태를 설명한다. 도면과 연계한 설명은, 일부 실시형태를 실시할 수 있는 방법을, 당업자에게 명확해지도록 한다. 도면은, 예시적인 설명을 위한 것으로, 본 발명의 기본적 이해를 위해 필요한 것보다도 더 상세하게, 일 실시형태의 구조적 세부사항을 나타내려는 시도는 하지 않는다.
도면 중에서:
도 1은 NAS(Network Attached Storage)의 개략도를 이룬다.
도 2는 CFS(Clustered File System)의 개략도를 이룬다.
도 3은 본 발명의 일부 실시형태에 따른, PFS(Published File System)의 개략도를 이룬다.
도 4는 본 발명의 일부 실시형태에 따른, PFS' 일반 아키텍처의 개략도를 이룬다.
다음의 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다수의 구체적인 세부사항이 제시된다. 그러나 당업자라면, 본 발명이 이들 특정 세부사항 없이 실시될 수 있음을 이해할 것이다. 다른 경우에, 잘 알려진 방법, 절차 및 구성요소, 모듈, 유닛 및/또는 회로는 본 발명을 모호하게 하지 않기 위해 상세하게 설명되지 않았다. 하나의 실시형태와 관련하여 설명된 일부 특징 또는 요소는, 다른 실시형태와 관련하여 설명된 특징 또는 요소와 결합될 수 있다. 명확성을 위해, 동일하거나 유사한 특징 또는 요소에 대한 설명은 반복되지 않을 수 있다.
본 발명의 실시형태는 이와 관련하여 제한되지 않지만, 예를 들어 "처리함", "연산함", "계산함", "결정함", "확립함", "분석함", "확인함", "설정함", "수신함" 등과 같은 용어를 활용한 논의는, 컴퓨터의 레지스터 및/또는 메모리 내에서 물리(예컨대, 전자)량으로서 표현된 데이터를 컴퓨터의 레지스터 및/또는 메모리 내에서 물리량으로서 유사하게 표현된 다른 데이터로 조작(manipulate) 및/또는 변환하는 컨트롤러, 컴퓨터, 컴퓨팅 플랫폼, 컴퓨팅 시스템 또는 다른 전자 컴퓨팅 디바이스의 동작(들) 및/또는 프로세스(들) 또는 동작 및/또는 프로세스를 수행하기 위한 지시를 저장할 수 있는 기타 정보 비일시적 스토리지 미디어를 지칭할 수 있다.
명시적으로 언급되지 않는 한, 본원에 설명된 방법 실시형태는 특정 순서 또는 시퀀스로 제한되지 않는다. 추가적으로, 설명된 방법 실시형태 또는 그의 요소 중 일부는 동시적으로, 동일한 시점에서, 또는 동시에 일어나거나 수행될 수 있다.
본 명세서에서 사용되는 용어 "컨트롤러"는 중앙 처리 유닛(CPU) 또는 마이크로프로세서와 함께 제공될 수 있고, 그리고 수개의 입/출력(I/O) 포트와 함께 제공될 수 있는 임의의 유형의 컴퓨팅 플랫폼 또는 구성요소를 의미한다.
이제 도 1을 참조하면, 도 1은 종래의 NAS(Network Attached Storage)(10)를 개략적으로 도시한 것이다. 도시된 바와 같이, NAS(10)는 서버(들)(100)와 스토리지 미디어/들(104) 사이의 연결을 중재(mediate), 규제(regulate) 및 관리(manage)하도록 지정된 적어도 하나의 컨트롤러(102)를 포함한다. 파일 서비스는 컨트롤러(102)에 의해 제공되며, 이는 예를 들어 스토리지 미디어(104)에 저장된 임의의 특정 파일을 찾고(locate), 파일을 압축/추출하고, 서버(100)로/로부터 파일을 전송하거나 또는 파일 렌더링 및 제어에 관련한 임의의 요구되는 연산을 수행할 수 있다. 컨트롤러(102)는 일정하고 빠른 데이터 전송 속도를 제공하는 그의 능력이 제한되고, 그리하여 NAS(10)의 성능을 감소시키는 "병목-현상" 구성요소로서 기능한다.
이제 종래의 클러스터 파일 시스템(CFS)(20)을 개략적으로 설명하는 도 2를 참조한다. 도시된 바와 같이, CFS(20)는 블록 스토리지(202) 내에 스택될 수 있으며 적어도 하나의 서버(200)에 연결될 수 있는 적어도 하나의 스토리지 미디어(들)(204)를 포함한다. CFS(20)는 다수의 서버가 동일한 DP 네트워크에서 동시에 동작하는 것을 가능하게 할 수 있다. 이러한 동시 동작을 가능하게 하기 위해, CFS(20)는 "락(locks)"의 복잡한 프로토콜을 관리하는데, 환언하면, CFS(20)에 의해 수행되었거나 수행 중인 모든 동작이 조율되었음(coordinated)을 보장하도록 지정된 특정 락을 해제하고나서야 데이터가 수정되거나/읽혀질 수 있다. 상기 시스템은 일반적으로 고성능 컴퓨팅(HPC) 컨피겨레이션으로 구현되며 적절한 성능을 제공한다. 그럼에도 불구하고, 이러한 시스템은 AI 트레이닝 및 복잡한 분석을 규제하고 조율하는 데 덜 효과적인데, 왜냐하면 락을 빈번히 생성해야 하는 요구사항으로 인해 상당한 레이턴시가 발생하기 때문이다. 게다가, 참여하는 모든 서버로부터 락킹 권한을 요청하고 얻어야 하기 때문에 상당한 량의 컴퓨팅 리소스가 필요하고, 이에 따라 CFS(20)의 성능과 속도(rate)가 감소한다.
이제, 일부 실시형태에 따른, 본 발명의 주제인 게재 파일 시스템(PFS)(30)을 개략적으로 도시하는 도 3을 참조한다. 도시된 바와 같이, PFS(30)는 적어도 하나의 미디어 스토리지(308), 읽기-전용(read-only) 컨피겨레이션으로 구성된 적어도 하나의 독출 서버(300), 적어도 하나의 오케스트레이터(306)를 제어하도록 구성된 기입 서버(302)를 포함하며, 상기 오케스트레이터는 다시 PFS(30)의 다양한 구성요소 간의 데이터를 중재하고 규제하고 관리하도록 지정된다. 일부 실시형태에 따르면, PFS(30)는 동작하는 데 컨트롤러가 필요하지 않으며 락 없는(lock-free) 낮은 레이턴시 컨피겨레이션을 가능하게 한다. 게다가, 시스템의 고유의 컨피겨레이션에 의해 높은-읽기 집약적 워크로드 용량이 제공되고 다양한 복합적 애플리케이션이 효율적으로 수행될 수 있게 한다.
일부 실시형태에 따르면, 독출 서버(300)들 사이의 통신은 오케스트레이터(306)를 사용하여 수행되며 각각의 독출 서버(300) 사이에는 어떠한 통신도 가능하지 않다. 위에서 개시한 바와 같이, 독출 서버(300)는 읽기-전용 컨피겨레이션으로 구성되며 새로운 데이터를 기입할 수 없다. 이 컨피겨레이션은, 예를 들어, AI 모델을 방대한 데이터 세트에 노출시키고 다수의 반복 처리를 행하여 당해 AI 모델을 트레이닝시키는 것을 허용할 수 있다.
일부 실시형태에 따르면, 오케스트레이터(306)는 독출 서버(들)(300)에 액세스 가능한 데이터 평면(DP) 네트워크의 제어 평면(CP)을 제어하도록 지정될 수 있다. 일부 실시형태에 따르면, 기입 서버(302)는 운영 시스템를 실행하도록 구성될 수 있으며, 예를 들어 데이터 관리 및 데이터 조율에 관련한 여러 다양한 작업을 수행하도록 오케스트레이터(306)에 지시함으로써 오케스트레이터(306)를 제어한다.
일부 실시형태에 따르면, 오케스트레이터(306)는 물리적 컨트롤러 디바이스일 수 있거나 클라우드-기반 서비스(SaaS)일 수 있고 그리고 오케스트레이터(306)가 물리적 디바이스인지 또는 아닌지의 여부와 무관하게 데이터 스토리지 및 상호접속된 서버들에서의 트래픽을 커맨드(command)하고 배열(arrange)하도록 구성될 수 있다.
일부 실시형태에 따르면, 사용자(304)는 기입 서버(302)를 사용하여 데이터를 기입할 수 있는데, 예를 들어, 사용자(304)는 독출 서버(들)(300) 등을 사용하여 AI 모델을 트레이닝시키도록 지정된 참조 데이터 세트를 생성하기 위해 다양한 이미지를 레이블링(label) 할 수 있다.
일부 실시형태에 따르면, 적어도 하나의 스토리지 미디어(308)는 기입 서버(302)에 의해 생성되고 DP 네트워크를 거쳐 액세스 가능한 호스트 데이터로 지정된다. 일부 실시형태에 따르면, 스토리지 미디어(308)는 SSD(Solid-State Drive) 기반, 클래스 메모리(SCM; Class Memory) 기반, RAM(Random Access Memory) 기반, HHD(Hard Disk Drive) 기반 등일 수 있다.
일부 실시형태에 따르면, 기입 서버(302)는 데이터를 기입하고 적어도 하나의 데이터 스냅샷 버전을 형성하도록 구성될 수 있는데, 예를 들어, 사용자(304)는 기입 서버(302)를 사용하여 데이터 레이블링을 수행하고 기입되고 준비된 현재의 데이터의 스냅샷 버전을 기록하는 등을 할 수 있다.
일부 실시형태에 따르면, 오케스트레이터(306)는 기입 서버(300)에 의해 전송된 게재 커맨드를 받아들이도록 구성될 수 있는데, 여기서 상기 커맨드는 독출 서버(들)(300)이 DP 네트워크에 액세스하도록 허용할 수 있고, 이런 이유로, 이제 스토리지 미디어(308)에 저장된 상기 데이터 스냅샷 버전에 노출될 수 있다.
일부 실시형태에 따르면, 독출 서버(들)(300)는 DP 네트워크를 통해 스토리지 미디어(308)에 대한 읽기-전용 액세스를 갖도록 지정되며, 예를 들어 다수의 독출 서버(300)가 Al 모델 트레이닝 등의 일부로서 미디어 스토리지(308)에 저장된 데이터에 기초하여 다수의 반복된 반복 처리를 샘플링하고 수행할 수 있다.
일부 실시형태에 따르면, 새로운 데이터 버전이 기입 서버(302)에 의해 업데이트될 수 있고 오케스트레이터(306)에 의해 다른 게재 커맨드가 받아들여질 때까지 독출 서버(300)로부터 은닉될 수 있다. 일부 실시형태에 따르면, 상기 절차는 최소 레이턴시로 수행될 수 있으며 즉각적인 반응으로 이어지고, 이는 다시 시스템의 성능을 향상시키고 매우 높은 데이터 독출 속도(reading rate)를 제공할 수 있다.
일부 실시형태에 따르면, 적어도 하나의 미디어 스토리지(308)는, 스토리지 어레이(310)(또는 디스크 어레이)로도 지칭될 수 있으며 블록-기반 스토리지, 파일-기반 스토리지, 객체 스토리지 등에 사용될 수 있는 읽기-전용 미디어 스토리지 스택이다. 데이터를 서버 상에 저장하기 보다는, 스토리지 어레이(310)는 상당한 양의 데이터를 저장할 수 있는 집합적인 다수의 스토리지 미디어(308)를 사용할 수 있다.
일부 실시형태에 따르면 그리고 이전에 개시된 바와 같이, 스토리지 미디어(308)는 스토리지 어레이(310)를 형성하도록 스택될 수 있으며 상이한 종류의 미디어 상에 디지털 데이터를 보관하거나 아카이빙(archiving)하는 작업을 수행할 수 있다. 스토리지 미디어의 주요 유형은 하드 디스크 드라이브(HDD), 솔리드 스테이트 디스크(SSD), 광학 스토리지, 테이프 등을 포함하며, 여기서 HDD는 마그네틱 매체로 코팅된 회전 디스크에 데이터를 기입하고 읽을 수 있도록 구성되며 SSD는 데이터를 비휘발성 플래시 메모리 칩에 저장하며 움직이는 부품이 없다. 광 데이터 스토리지는 레이저를 사용하여 광 미디어(전형적으로는 회전하는 광 디스크)에 데이터를 저장하고 이로부터 데이터를 취출(retrieve)하며 테이프 스토리지는 마그네틱 테이프에 데이터를 기록한다.
전통적으로, 스토리지 어레이는 용량, 공간 할당, 볼륨 관리, 스냅샷 생성, 오류 식별 및 추적, 암호화, 압축 등을 유지하기 위해 다수의 스토리지 서비스를 제공하는 제어 시스템을 관리하도록 구성된다. 이러한 유형의 서비스는 상당한 컴퓨팅 용량, 메타데이터, 데이터 스토리지, 가속기 등을 요구한다.
일반적으로, 스토리지 어레이는 시스템 서버의 운영성(operability)과 분리되어 있으며 전용 하드웨어 상에서 시스템 및 애플리케이션 동작을 구현하도록 구성된다. 예를 들어, 보통의 스토리지 어레이 하드웨어 아키텍처는 서버 스택, 스토리지 어레이 스택 및 미디어 I/O 디바이스를 포함할 수 있다. I/O 디바이스는 스토리지 스택을 통해 서버와 통신하도록 구성된다.
일부 실시형태에 따르면, 스토리지 스택(310)은 오케스트레이터(306)에 의해 제어되고 관리되도록 구성되며, 이로 인하여 위에서 개시된 바와 같이 막대한 리소스를 필요로 하는 통합 제어 시스템을 필요로 하지 않는다.
일부 실시형태에 따르면, 기입 서버(302)에 의해 생성된 스냅샷 버전(들)은 적어도 2개의 미디어 스토리지(308)에 백업될 수 있다. 이러한 리던던시는 증가된 레벨의 데이터 무결성을 가능하게 하고 어떠한 데이터 손실의 경우라도 적절한 완화(mitigation) 수단을 제공한다.
일부 실시형태에 따르면, 독출 서버(들)(300)가 DP 네트워크를 통해 이미 게재된 다른 데이터 스냅샷 버전에 노출되는 동안, 다수의 데이터 버전이 기입 서버(302)에 의해 기입될 수 있다. 예를 들어, 데이터 과학자(304)는 AI 모델을 트레이닝하도록 지정된 반복 볼륨을 제공하기 위해 다수의 이미지를 레이블링하고 데이터 세트를 준비할 수 있으며, 그러면 기입 서버(302)는 상기 데이터 세트의 스냅샷 버전을 캡처하고 오케스트레이터(306)에게 DP 네트워크를 통해 상기 버전을 게재하도록 커맨드(command)할 수 있고, 그러면 서버(들)(300)는, 데이터 과학자가 기입 서버(302)를 자유롭게 활용하여 다른 태스크 - 상기 다른 태스크는 적절한 시기에, 스냅샷이 또한 생성되고 그리고 게재하도록 지정된 새로운 스냅샷 버전을 생성할 것임 - 를 수행하는 동안 상기 버전에 노출될 수 있다.
일부 실시형태에 따르면, 오케스트레이터(306)는 기입 서버(302)에 의해 작성된 특정 기입 데이터 버전을 인식하도록 구성될 수 있으며, 따라서 오케스트레이터(306)는 DP 네트워크를 거쳐서 다수의 독출 서버(300)에 액세스할 수 있는 균일하고 데이터 신뢰가능 스토리지 스택을 제공하고 관리하도록 구성될 수 있다.
일부 실시형태에 따르면, 파일이 스토리지 미디어(308) 및/또는 스토리지 스택(310)에 저장되는 방법을 정의하기 위해 할당 방법이 사용될 수 있다. 서로 다른 파일 또는 많은 파일이 동일한 디스크에 저장되거나 다른 디스크에 예비되어 저장된다. 생각이 떠오르는 주요 문제는, 이러한 파일의 위치를 어떻게 할당하여 미디어 스토리지의 활용이 효율적이게 되고 또한 신속한 액세스가 가능하도록 할지이다.
일부 실시형태에 따르면, 오케스트레이터(306)에 의해 새로운 데이터 스냅샷 버전을 게재할 때, 독출 서버(들)(300)는 할당 메타데이터를 리프레쉬(refresh)하도록 구성될 수 있고, 이로 인하여 업데이트된 스냅샷 버전에서 관련 파일의 위치에 관한 업데이트된 메타데이터를 제공받을 수 있다.
일부 실시형태에 따르면, 미디어 스토리지(308)는, 각 미디어 스토리지(308)가 RAID, 암호화, 로직 볼륨 관리자(LVM), 데이터 축소 등과 같은 필요한 스토리지 스택 서비스를 실행하도록 구성된 직접 경로를 가질 수 있다.
일부 실시형태에 따르면, 독출 서버(302)는 감소된 레이턴시를 제공하기 위해 메타데이터 및 데이터를 RAM에 캐시하도록 구성된다.
일부 실시형태에 따르면, PFS(30)는 데이터 스냅샷을 수행하기 위해 LVM을 사용할 수 있으며, 이는 차례로 단일의 기입 서버(302)와의 병렬 읽기를 가능하게 할 것이다. 일부 실시형태에 따르면, PFS(30)는 데이터 스냅샷을 수행하고 단일의 기입 서버와의 병렬 읽기를 가능하게 하기 위해 씬 프로비저닝 계층(thin provisioning layer)을 사용하도록 구성될 수 있다.
일부 실시형태에 따르면 그리고 위에 개시된 바와 같이, 기입 서버(302)는 다중경로 연결을 사용하여 적어도 2개의 타겟 서버(300)와 상호작용하도록 구성된다. 일부 실시형태에 따르면, 더 넓은 대역폭을 제공하는 데 있어서 연결 신뢰성을 향상 및 개선시키기 위해 다중경로 연결이 사용될 수 있다.
일부 실시형태에 따르면, 오케스트레이터(306) 사이 및 기입 서버(302) 또는 독출 서버(300) 사이의 통신은, 상기 서버 각각에 설치된 지정된 소프트웨어 구성요소를 활용함으로써 DP 네트워크를 거쳐서 수행될 수 있다.
일부 실시형태에 따르면, 기입 서버(302)는, 스토리지 미디어(308)의 다수의 지정된 부분으로부터 유래된 데이터 리던던시를 제공하도록 구성된 RAID(Redundant Array of Independent Disks) 스토리지 스택 구성요소(SSC)를 활용하도록 지정될 수 있다. 일부 실시형태에 따르면, RAID SSC는 조합된 다수의 개시자(initiator) 경로로부터 유래된 데이터 리던던시를 제공하도록 추가로 구성된다.
일부 실시형태에 따르면, 오케스트레이터(306)는 집행 프로토콜을 사용하여 서버/들(300/302)와 상호작용하도록 구성될 수 있다. 일부 실시형태에 따르면, 스토리지 미디어(308)의 지정된 부분은 로직 볼륨 관리자(LVM) SSC를 사용하여 할당될 수 있다. 일부 실시형태에 따르면, 스토리지 미디어(308)는 SSD(Solid-State Drive) 기반, SCM(Class Memory) 기반, RAM(Random Access Memory) 기반, HHD(Hard Disk Drive) 기반 등일 수 있다.
일부 실시형태에 따르면, 적어도 2개의 독출 서버(300)가 상이한 방, 건물 또는 심지어 국가와 같은 서로 다른 개소에 위치될 수 있다. 이 경우, 오케스트레이터(306)에 의해 수행되는 오케스트레이션 절차는 서로 다른 복원성 도메인에 걸쳐 할당된다. 예를 들어, 오케스트레이터(306)는 사이버 보안, 자연 재해, 재무 예측 등에 관한 다양한 매개변수를 고려할 수 있고 그에 따라 데이터 흐름을 전환할 수 있다. 일부 실시형태에 따르면, 오케스트레이터(306)에 의해 수행되고 서버의 할당을 활용하도록 구성된 상기 오케스트레이션 절차는, 받아들일 수 있는 시스템 밸런스 매개변수를 유지하는 것을 고려하여 수행된다.
일부 실시형태에 따르면, 오케스트레이터(306)는, 컨트롤러 디바이스와 같은 물리적 구성요소일 수 있거나 또는 클라우드-기반 서비스(SaaS)일 수 있으며, 오케스트레이터(306)가 물리적 디바이스인지 여부에 관계없이, 상호연결된 서버에서 트래픽 및 데이터 스토리지를 커맨드하고 배열하도록 구성될 수 있다.
일부 실시형태에 따르면, 각각의 서버(들)(300/302)에 대한 동작은 전체적으로 또는 부분적으로 데이터 처리 유닛(DPU)에 의해 구현될 수 있으며, 여기서 상기 DPU는 가속 카드와 같은 가속 하드웨어일 수 있으며 그리고 여기서 하드웨어 가속은 범용 중앙 처리 유닛(CPU)에서 실행되는 소프트웨어와 비교할 때 특정 기능을 보다 효율적으로 수행하기 위해 사용될 수 있으며, 이로 인해 일반 CPU에서 실행되는 소프트웨어에서 계산될 수 있는 임의의 데이터 변환 또한 주문-제작(custom-made) 하드웨어 또는 둘의 어떤 혼합에 의해 계산될 수 있다.
이제, 일부 실시형태에 따라, PFS(30)의 일반 아키텍처(400)를 개략적으로 도시하는 도 4를 참조한다. 도시된 것처럼, 다양한 구성요소가 상호작용하고 DP 네트워크를 통해 분리된 스냅샷 버전을 게재하는 능력을 제공하도록 구성된다. 예를 들어, 오케스트레이션 잡은 다양한 스택 구성요소에 영향을 미칠 수 있으며, 이는 차례로 SSH, PSRP, 아마존(Amazon) AWS, 마이크로소프트(Microsoft) Azure 및 구글(Google) 클라우드와 같은 다양한 애플리케이션 프로그래밍 인터페이스/암호화 네트워크 프로토콜/클라우드 컴퓨팅 플랫폼을 통해 변환되고 활용된다.
특정 실시형태를 참조하여 본 발명을 설명하였지만, 이러한 설명은 제한된 의미로 해석되는 것을 의미하지 않는다. 개시된 실시형태의 다양한 수정 및 본 발명의 대안적인 실시형태는, 본 발명의 설명을 참조하면 당업자에게 명백하게 된다. 따라서, 첨부된 청구범위는 본 발명의 범위 내에 속하는 이러한 수정을 포함하는 것으로서 상정된다.

Claims (26)

  1. 게재 파일 시스템(published file system)으로서,
    (i) 데이터 평면(DP) 네트워크의 제어 평면(CP)을 제어하도록 지정된 적어도 하나의 오케스트레이터(orchestrator),
    (ii) 데이터를 기입하고 운영 시스템를 실행하고 상기 오케스트레이터를 제어하도록 구성된 기입(writer) 서버,
    (iii) 상기 기입 서버에 의해 생성되고 상기 DP 네트워크를 통해 액세스 가능한 데이터를 호스팅하도록 지정된 적어도 하나의 스토리지 미디어, 및
    (iv) 상기 DP 네트워크를 통해 상기 스토리지 미디어에 대한 읽기-전용(read-only) 액세스를 갖도록 지정된 적어도 하나의 독출(reader) 서버
    를 포함하고,
    상기 기입 서버에 의해 수행되도록 구성된 상기 기입 절차는 적어도 하나의 데이터 스냅샷 버전을 결과로서 가져오고,
    상기 오케스트레이터는 상기 독출 서버가 상기 DP 네트워크에 액세스하고 상기 데이터 스냅샷 버전을 노출하도록 허용하는 게재 커맨드(command)를 받아들이도록 구성되며, 그리고 새로운 데이터 버전이 상기 기입 서버에 의해 업데이트될 수 있으며 다른 게재 커맨드가 상기 오케스트레이터에 의해 받아들여지기까지 상기 독출 서버로부터 은닉되는, 게재 파일 시스템.
  2. 제1항에 있어서,
    상기 DP 네트워크를 통해 데이터 스냅샷을 노출시키는 것은 즉각적인 시스템 응답 및 감소된 레이턴시를 허용하는, 시스템.
  3. 제1항에 있어서,
    적어도 하나의 미디어 스토리지는 읽기-전용 미디어 스토리지 스택인, 시스템.
  4. 제1항에 있어서,
    상기 데이터는 적어도 2개의 미디어 스토리지에 백업되는, 시스템.
  5. 제1항에 있어서,
    상기 독출 서버가 상기 DP 네트워크를 통해 이미 게재된 다른 데이터 스냅샷 버전에 노출되는 동안 다수의 데이터 스냅샷 버전이 기입될 수 있는, 시스템.
  6. 제1항에 있어서,
    상기 오케스트레이터는 상기 기입 서버에 의해 만들어지는 특정 스냅샷 데이터 버전을 인식하도록 구성되고, 따라서 상기 DP 네트워크를 거쳐서 다수의 독출 서버에 대해 균일하고 신뢰가능한 데이터 스택을 제공하도록 구성되는, 시스템.
  7. 제1항에 있어서,
    상기 오케스트레이터에 의해 새로운 데이터 스냅샷 버전을 게재할 때, 상기 독출 서버는 할당 메타데이터를 리프레쉬하도록 구성되는, 시스템.
  8. 제1항에 있어서,
    상기 시스템의 일반적 용도는 상기 독출 서버에 의해 수행되는 AI 트레이닝을 수행하기 위해 활용되도록 구성되는, 시스템.
  9. 제1항에 있어서,
    상기 미디어 스토리지로의 경로는 직접적이며 각각의 미디어 스토리지는 필요한 스토리지 스택 서비스를 실행하도록 구성되는, 시스템.
  10. 제1항에 있어서,
    상기 독출 서버는 감소된 레이턴시를 제공하기 위해 메타데이터 및 데이터를 RAM에 캐싱하도록 구성되는, 시스템.
  11. 제1항에 있어서,
    데이터 스냅샷 버전을 생성하고 단일의 기입 서버를 사용하여 다수의 독출 서버(들)에 의한 병렬 읽기를 가능하게 하기 위해 LVM을 사용하도록 추가로 구성되는, 시스템.
  12. 제11항에 있어서,
    데이터 스냅샷을 생성하고 단일의 기입 서버를 사용하여 다수의 독출 서버(들)에 의한 병렬 읽기를 가능하게 하기 위해 씬 프로비저닝 계층(thin provisioning layer)을 사용하도록 추가로 구성되는, 시스템.
  13. 제1항에 있어서,
    상기 기입 서버는 다중경로 연결을 사용하여 적어도 2개의 독출 서버와 상호작용하도록 구성되는, 시스템.
  14. 제1항에 있어서,
    상기 DP 네트워크를 통해 액세스 가능한 독출 또는 기입 서버와 상기 오케스트레이터 사이의 통신은, 상기 디바이스 각각에 설치된 지정된 소프트웨어 구성요소를 사용하여 이루어지는, 시스템.
  15. 제1항에 있어서,
    상기 기입 서버는 상기 스토리지 미디어의 다수의 지정된 부분으로부터 유래된 데이터 리던던시를 제공하도록 구성된 RAID 스토리지 스택 구성요소(SSC)를 활용하도록 구성되는, 시스템.
  16. 제1항에 있어서,
    적어도 2개의 독출 서버가 서로 다른 개소에 위치되고, 상기 오케스트레이션은 서로 다른 복원성 도메인에 걸쳐 할당되는, 시스템.
  17. 제16항에 있어서,
    서로 다른 복원성 도메인을 고려하면서 할당된 상기 오케스트레이션은 시스템 밸런스 유지를 추가로 고려하는, 시스템.
  18. 제1항에 있어서,
    상기 오케스트레이터는 집행 프로토콜을 사용하여 각각의 서버와 상호작용하도록 구성되는, 시스템.
  19. 제1항에 있어서,
    상기 스토리지 미디어는 솔리드-스테이트 드라이브(SSD) 기반인, 시스템.
  20. 제1항에 있어서,
    상기 스토리지 미디어는 스토리지 클래스 메모리(SCM) 기반인, 시스템.
  21. 제1항에 있어서,
    상기 스토리지 미디어는 랜덤 액세스 메모리(RAM) 기반인, 시스템.
  22. 제1항에 있어서,
    상기 스토리지 미디어는 하드 디스크 드라이브(HHD) 기반인, 시스템.
  23. 제1항에 있어서,
    상기 오케스트레이터는 물리적 구성요소인, 시스템.
  24. 제1항에 있어서,
    상기 오케스트레이터는 클라우드-기반 서비스(SaaS)인, 시스템.
  25. 제1항에 있어서,
    각각의 서버에서의 동작은, 전체적으로 또는 부분적으로, 데이터 처리 유닛(DPU)에 의해 구현될 수 있는, 시스템.
  26. 게재 파일 시스템을 운영하는 방법으로서, 상기 방법은:
    (i) 데이터 평면(DP) 네트워크의 제어 평면(CP)을 제어하도록 지정된 적어도 하나의 오케스트레이터를 사용하는 단계,
    (ii) 데이터 기입, 운영 시스템 실행 및 상기 오케스트레이터 제어를 위한 기입 서버를 컨피겨레이션하는 단계,
    (iii) 컨피겨레이션된 기입 서버에 의해 생성된 데이터를 호스팅하도록 적어도 하나의 스토리지 미디어를 지정하고 상기 DP 네트워크를 통해 이를 액세스 가능하게 하는 단계, 및
    (iv) 상기 DP 네트워크를 통해 상기 스토리지 미디어에 대한 읽기-전용 액세스를 갖도록 적어도 하나의 독출 서버를 지정하는 단계를 포함하고,
    상기 기입 절차의 구성은 상기 기입 서버에 의해 수행되어 적어도 하나의 데이터 스냅샷 버전을 결과로서 가져오고,
    상기 오케스트레이터의 지정은 상기 독출 서버가 상기 DP 네트워크에 액세스하고 상기 데이터 스냅샷 버전을 노출시키도록 허용하는 게재 커맨드를 받아들이도록 구성되며, 그리고
    새로운 데이터 버전의 업데이트는 상기 기입 서버에 의해 취득될 수 있으며 다른 게재 커맨드가 상기 오케스트레이터에 의해 받아들여질 때까지 상기 독출 서버로부터 은닉될 수 있는, 방법.
KR1020237027605A 2021-01-25 2022-01-25 게재 파일 시스템 및 방법 KR20230131486A (ko)

Applications Claiming Priority (31)

Application Number Priority Date Filing Date Title
US202163141151P 2021-01-25 2021-01-25
US202163141263P 2021-01-25 2021-01-25
US202163141133P 2021-01-25 2021-01-25
US202163141267P 2021-01-25 2021-01-25
US202163141227P 2021-01-25 2021-01-25
US202163141213P 2021-01-25 2021-01-25
US202163141194P 2021-01-25 2021-01-25
US202163141155P 2021-01-25 2021-01-25
US202163141245P 2021-01-25 2021-01-25
US202163141257P 2021-01-25 2021-01-25
US202163141162P 2021-01-25 2021-01-25
US202163141236P 2021-01-25 2021-01-25
US202163141205P 2021-01-25 2021-01-25
US202163141179P 2021-01-25 2021-01-25
US202163141139P 2021-01-25 2021-01-25
US63/141,267 2021-01-25
US63/141,162 2021-01-25
US63/141,139 2021-01-25
US63/141,133 2021-01-25
US63/141,205 2021-01-25
US63/141,194 2021-01-25
US63/141,155 2021-01-25
US63/141,257 2021-01-25
US63/141,236 2021-01-25
US63/141,151 2021-01-25
US63/141,245 2021-01-25
US63/141,263 2021-01-25
US63/141,179 2021-01-25
US63/141,213 2021-01-25
US63/141,227 2021-01-25
PCT/IL2022/050099 WO2022157782A1 (en) 2021-01-25 2022-01-25 Published file system and method

Publications (1)

Publication Number Publication Date
KR20230131486A true KR20230131486A (ko) 2023-09-13

Family

ID=82549363

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237027605A KR20230131486A (ko) 2021-01-25 2022-01-25 게재 파일 시스템 및 방법
KR1020237027562A KR20230132529A (ko) 2021-01-25 2022-01-25 운영 시스템 기반 스토리지 방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237027562A KR20230132529A (ko) 2021-01-25 2022-01-25 운영 시스템 기반 스토리지 방법 및 시스템

Country Status (6)

Country Link
US (11) US20240095129A1 (ko)
EP (11) EP4281849A1 (ko)
JP (2) JP2024504171A (ko)
KR (2) KR20230131486A (ko)
IL (11) IL304418A (ko)
WO (11) WO2022157785A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115309538A (zh) * 2021-05-08 2022-11-08 戴尔产品有限公司 存储资源之间的基于多指标的工作负荷平衡

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793219A (ja) * 1993-09-20 1995-04-07 Olympus Optical Co Ltd 情報処理装置
US7546333B2 (en) * 2002-10-23 2009-06-09 Netapp, Inc. Methods and systems for predictive change management for access paths in networks
US9489150B2 (en) * 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
JP4383132B2 (ja) * 2003-09-02 2009-12-16 株式会社日立製作所 仮想化制御装置及び計算機システム
US20050114595A1 (en) * 2003-11-26 2005-05-26 Veritas Operating Corporation System and method for emulating operating system metadata to provide cross-platform access to storage volumes
US7633955B1 (en) * 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US7843906B1 (en) * 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US7549048B2 (en) * 2004-03-19 2009-06-16 Microsoft Corporation Efficient and secure authentication of computing systems
US7350046B2 (en) * 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions
JP4568574B2 (ja) * 2004-10-15 2010-10-27 株式会社日立製作所 ストレージ装置の導入方法、プログラム並びに管理計算機
JP4836533B2 (ja) * 2005-09-27 2011-12-14 株式会社日立製作所 ストレージシステムにおけるファイルシステムマイグレーション方法、ストレージシステム及び管理計算機
US9032164B2 (en) * 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
JP4975396B2 (ja) * 2006-08-24 2012-07-11 株式会社日立製作所 記憶制御装置及び記憶制御方法
US20090265510A1 (en) * 2008-04-17 2009-10-22 Dell Products L.P. Systems and Methods for Distributing Hot Spare Disks In Storage Arrays
US8103825B2 (en) * 2008-09-30 2012-01-24 Netapp, Inc. System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
US8566281B2 (en) * 2008-12-18 2013-10-22 Lsi Corporation Method for implementing multi-array consistency groups using a write queuing mechanism
US8762642B2 (en) * 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
US9207984B2 (en) * 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US11277598B2 (en) * 2009-07-14 2022-03-15 Cable Television Laboratories, Inc. Systems and methods for network-based media processing
US8751533B1 (en) * 2009-11-25 2014-06-10 Netapp, Inc. Method and system for transparently migrating storage objects between nodes in a clustered storage system
WO2011111089A1 (ja) * 2010-03-08 2011-09-15 株式会社日立製作所 Raid1系のraidグループを有するストレージ装置、及び、raid1系のraidグループへの書込みの制御方法
US8775868B2 (en) * 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US8782238B2 (en) * 2010-11-05 2014-07-15 Verizon Patent And Licensing Inc. Server clustering in a computing-on-demand system
US9172587B2 (en) * 2012-10-22 2015-10-27 International Business Machines Corporation Providing automated quality-of-service (‘QoS’) for virtual machine migration across a shared data center network
US20140215147A1 (en) * 2013-01-25 2014-07-31 Hewlett-Packard Development Company, L.P. Raid storage rebuild processing
US9081683B2 (en) * 2013-02-08 2015-07-14 Nexenta Systems, Inc. Elastic I/O processing workflows in heterogeneous volumes
US9411523B2 (en) * 2013-07-03 2016-08-09 Globalfoundries Inc. Redundant array of independent disks (RAID) system backup management
US9569139B1 (en) * 2013-09-26 2017-02-14 EMC IP Holding Company LLC Methods and apparatus for shared service provisioning
US9405483B1 (en) * 2014-03-11 2016-08-02 Amazon Technologies, Inc. Optimized write performance at block-based storage during volume snapshot operations
US9201735B1 (en) * 2014-06-25 2015-12-01 Igneous Systems, Inc. Distributed storage data repair air via partial data rebuild within an execution path
US9112890B1 (en) * 2014-08-20 2015-08-18 E8 Storage Systems Ltd. Distributed storage over shared multi-queued storage device
US11144397B2 (en) * 2014-09-12 2021-10-12 Microsoft Technology Licensing, Llc Data recovery using bitmap data structure
JP6450598B2 (ja) * 2015-01-19 2019-01-09 東芝メモリ株式会社 情報処理装置、情報処理方法およびプログラム
US9990224B2 (en) * 2015-02-23 2018-06-05 International Business Machines Corporation Relaxing transaction serializability with statement-based data replication
US9740440B2 (en) * 2015-05-21 2017-08-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
US9465548B1 (en) * 2015-07-22 2016-10-11 Netapp, Inc. Methods and systems using model based techniques for determining performance capacity of a resource of a networked storage environment
US9846545B2 (en) * 2015-09-23 2017-12-19 Netapp, Inc. Methods and systems for using service level objectives in a networked storage environment
US9880903B2 (en) * 2015-11-22 2018-01-30 International Business Machines Corporation Intelligent stress testing and raid rebuild to prevent data loss
US9613046B1 (en) * 2015-12-14 2017-04-04 Netapp, Inc. Parallel optimized remote synchronization of active block storage
EP3404527B1 (en) * 2016-02-18 2023-08-30 Huawei Technologies Co., Ltd. Data updating technique
US10210023B2 (en) * 2016-04-05 2019-02-19 Netapp, Inc. Methods and systems for managing service level objectives in a networked storage environment
US10884622B2 (en) * 2016-10-17 2021-01-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume
US10210048B2 (en) * 2016-10-25 2019-02-19 Commvault Systems, Inc. Selective snapshot and backup copy operations for individual virtual machines in a shared storage
US10241877B2 (en) * 2016-12-12 2019-03-26 International Business Machines Corporation Data storage system employing a hot spare to proactively store array data in absence of a failure or pre-failure event
US10228964B2 (en) * 2016-12-21 2019-03-12 Netapp, Inc. Storage layer based orchestration method for virtual machine migration across disparate virtualization environments
US10509601B2 (en) * 2016-12-28 2019-12-17 Amazon Technologies, Inc. Data storage system with multi-tier control plane
CN109213618B (zh) * 2017-06-30 2022-04-12 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
US20190044809A1 (en) * 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
US10782997B1 (en) * 2017-10-31 2020-09-22 EMC IP Holding Company, LLC Storage management system and method
US20190163374A1 (en) * 2017-11-28 2019-05-30 Entit Software Llc Storing data objects using different redundancy schemes
US10642779B2 (en) * 2018-03-26 2020-05-05 Microsoft Technology Licensing, Llc Group-based data replication in multi-tenant storage systems
US11599479B2 (en) * 2018-05-09 2023-03-07 Intel Corporation Technology for fine-grain encryption and secure key injection on self-encrypting drives
WO2019241404A1 (en) * 2018-06-15 2019-12-19 Orock Technologies, Inc. Secure on-premise to cloud communication
US11182258B2 (en) * 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US11288286B2 (en) * 2019-01-22 2022-03-29 EMC IP Holding Company LLC Storage system with data consistency checking in synchronous replication using active snapshot set
JP6764175B2 (ja) * 2019-02-15 2020-09-30 株式会社日立製作所 データベース管理システム、及び、データベース管理方法
WO2020190558A1 (en) * 2019-03-15 2020-09-24 Fungible, Inc. Providing scalable and concurrent file systems
US11073996B2 (en) * 2019-04-30 2021-07-27 EMC IP Holding Company LLC Host rescan for logical volume migration
US11615001B2 (en) * 2019-06-27 2023-03-28 Netapp, Inc. Incremental restore of a virtual machine
EP4006914A4 (en) * 2019-07-31 2023-08-16 Nikon Corporation INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, IMAGE CAPTURE DEVICE, INFORMATION PROCESSING METHOD, IMAGE CAPTURE METHOD AND PROGRAM
US11729091B2 (en) * 2020-12-10 2023-08-15 Amazon Technologies, Inc. Highly available data-processing network functions for radio-based networks

Also Published As

Publication number Publication date
EP4281872A1 (en) 2023-11-29
US20240103986A1 (en) 2024-03-28
US20240095129A1 (en) 2024-03-21
WO2022157784A1 (en) 2022-07-28
IL304388A (en) 2023-09-01
WO2022157790A1 (en) 2022-07-28
WO2022157791A1 (en) 2022-07-28
US20240106894A1 (en) 2024-03-28
EP4281851A1 (en) 2023-11-29
IL304424A (en) 2023-09-01
US20230384939A1 (en) 2023-11-30
IL304396A (en) 2023-09-01
WO2022157789A1 (en) 2022-07-28
US20240095211A1 (en) 2024-03-21
EP4281870A1 (en) 2023-11-29
US11853557B2 (en) 2023-12-26
IL304397A (en) 2023-09-01
JP2024506524A (ja) 2024-02-14
WO2022157786A1 (en) 2022-07-28
WO2022157782A1 (en) 2022-07-28
EP4281871A1 (en) 2023-11-29
EP4281866A1 (en) 2023-11-29
EP4281849A1 (en) 2023-11-29
IL304422A (en) 2023-09-01
IL304420A (en) 2023-09-01
IL304387A (en) 2023-09-01
US20240086080A1 (en) 2024-03-14
EP4281873A1 (en) 2023-11-29
IL304425A (en) 2023-09-01
US20240106892A1 (en) 2024-03-28
IL304389A (en) 2023-09-01
IL304418A (en) 2023-09-01
EP4281870A4 (en) 2024-07-03
US20240111418A1 (en) 2024-04-04
US20240086084A1 (en) 2024-03-14
KR20230132529A (ko) 2023-09-15
US20240106895A1 (en) 2024-03-28
WO2022157793A1 (en) 2022-07-28
EP4281852A1 (en) 2023-11-29
EP4281866A4 (en) 2024-07-10
EP4281853A1 (en) 2023-11-29
US20240143209A1 (en) 2024-05-02
EP4281879A1 (en) 2023-11-29
EP4281850A1 (en) 2023-11-29
WO2022157792A1 (en) 2022-07-28
WO2022157785A1 (en) 2022-07-28
WO2022157787A1 (en) 2022-07-28
IL304395A (en) 2023-09-01
JP2024504171A (ja) 2024-01-30
WO2022157788A1 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
US20190278506A1 (en) Offloading data storage to a decentralized storage network
US11853587B2 (en) Data storage system with configurable durability
CN115867884A (zh) 提供数据管理即服务
US11681443B1 (en) Durable data storage with snapshot storage space optimization
US11733874B2 (en) Managing replication journal in a distributed replication system
US20190034092A1 (en) Methods for managing distributed snapshot for low latency storage and devices thereof
US20240095211A1 (en) Published File System And Method
US11372918B2 (en) Methods for performing input-output operations in a storage system using artificial intelligence and devices thereof
US20210334025A1 (en) Methods for handling storage devices with different zone sizes and devices thereof
US11966294B2 (en) Journal barrier consistency determination
US11561856B2 (en) Erasure coding of replicated data blocks
US11258877B2 (en) Methods for managing workloads in a storage system and devices thereof
US11537312B2 (en) Maintaining replication consistency during distribution instance changes
CN118626432A (zh) 数据处理方法、存储系统、网络接口设备及存储介质
WO2024182639A1 (en) System having dynamic power management
CN117693731A (zh) 利用分配份额改进分区驱动器存储系统中的并行性