KR101635238B1 - 분산형 데이터 스토리지 - Google Patents
분산형 데이터 스토리지 Download PDFInfo
- Publication number
- KR101635238B1 KR101635238B1 KR1020117011630A KR20117011630A KR101635238B1 KR 101635238 B1 KR101635238 B1 KR 101635238B1 KR 1020117011630 A KR1020117011630 A KR 1020117011630A KR 20117011630 A KR20117011630 A KR 20117011630A KR 101635238 B1 KR101635238 B1 KR 101635238B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage
- storage node
- nodes
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 복수의 스토리지 노드를 포함하는 분산형 데이터 스토리지 시스템에 관한 것이다. 유니캐스트 및 멀티캐스트 전송을 사용하여, 서버 애플리케이션은 스토리지 시스템의 데이터를 독출하고 기록할 수 있다. 각각의 스토리지 노드는 시스템 상의 독출 및 기록 동작 뿐만 아니라 다른 스토리지 노드의 상태를 모니터링할 수 있다. 이러한 방식으로, 스토리지 노드는 시스템 상의 파일 복제에 대한 요구를 검출할 수 있고, 올바른 버전의 파일의 카피가 충분한 개수만큼 지리적으로 다양한 위치에 저장되도록 유지하는 복제 프로세스를 수행할 수 있다.
Description
본 발명은 복수의 데이터 스토리지 노드를 포함하는 데이터 스토리지 시스템에서 데이터를 기록하고 유지하는 방법에 관한 것으로, 상기 방법은 데이터 스토리지 시스템의 서버 및 스토리지 노드에 도입된다. 본 발명은 이러한 방법을 수행할 NT 있는 스토리지 노드 또는 서버에 더 관련된다.
데이터 스토리지 시스템에서 데이터를 기록하고 유지하는 방법은 예컨대 미국 특허공개번호 2005/0246393 A1에 개시되어 있다. 상기 방법은 지리적으로 다른 위치에 있는 복수의 스토리지 센터를 사용하는 시스템에 대하여 개시된다. 분산된 오브젝트 스토리지 관리자는 저장된 데이터에 관한 정보를 유지하기 위해 포함된다.
이러한 시스템의 문제점은 데이터 유지보수뿐만 아니라 단순하면서 강건하고 신뢰성 있는 기록을 달성하는 방법에 관련된다.
본 발명의 목적은, 시스템에서 취약한 링크에 해당하는 중앙집중형 유지보수 서버를 사용하지 않고도 분산형 스토리지 시스템에서 데이터의 강건한 기록 또는 유지보수를 구현하는 것이다.
이러한 목적은 스토리지 노드에서 달성되는 처음 언급된 종류의 방법에 의해 달성되며, 상기 방법은: 데이터 스토리지 시스템에서 수행되는 동작을 기록할 뿐만 아니라, 시스템 내 다른 스토리지 노드의 상태를 모니터링하는 단계; 상기 모니터링을 기반으로, 데이터 스토리지 시스템의 노드들 간의 데이터의 복제(replication)를 필요로 하는 데이터 스토리지 시스템의 상태를 검출하는 단계; 및 그러한 상태가 검출되는 경우, 복제 프로세스를 개시하는 단계를 포함한다. 복제 프로세스는 복수의 스토리지 노드로 멀티캐스트 메시지를 송신하는 단계를 포함하며, 상기 메시지는 상기 스토리지 노드 중 어느 것이 특정 데이터를 저장하고 있는지 질의한다.
이러한 방법에 의해, 각각의 스토리지 노드는 전체 시스템의 데이터를 유지함으로써 능동(active) 상태로 있을 수 있다. 스토리지 노드가 고장나는 경우, 그 데이터는 시스템 내 다른 노드에 의해 복원될 수 있으며, 따라서 시스템은 자기-치유성(self-healing)을 갖는 것으로 간주될 수 있다.
모니터링 단계는 시스템 내 다른 스토리지 노드로부터 하트비트(heartbeat) 신호를 듣는 단계를 포함할 수 있다. 복제를 필요로 하는 상태는 스토리지 노드가 고장을 일으키는 것이다.
데이터는 파일을 포함하고, 복제를 필요로 하는 상태는 파일 삭제 또는 파일 불일치 중 하나일 수 있다.
복제를 필요로 하는 파일을 포함하는 복제 리스트는 유지될 수 있고, 우선순위를 포함할 수 있다.
복제 프로세스는: 스토리지 노드 중 어느 것이 특정 데이터를 저장하고 있는지 질의하도록 멀티캐스트 메시지를 복수의 스토리지 노드로 송신하는 단계; 상기 특정 데이터를 포함하는 스토리지 노드로부터 응답을 수신하는 단계; 상기 특정 데이터가 충분한 개수의 스토리지 노드에 저장되어 있는지 여부를 결정하는 단계; 및 충분한 개수의 스토리지 노드에 저장되어 있지 않은 경우, 적어도 하나의 추가적인 스토리지 노드를 선택하고, 상기 특정 데이터를 스토리지 노드로 전송하는 단계를 포함할 수 있다. 나아가, 구 버전의 데이터를 포함하는 스토리지 노드의 특정 데이터는 업데이트될 수 있다.
추가적으로, 복제 프로세스는, 시스템 내 모든 스토리지 노드 중 복제될 파일에 대한 마스터쉽(mastership)을 획득하도록 시도하는 스토리지 노드에서 시작할 수 있다.
모니터링 단계는 데이터 스토리지 시스템에서 수행되는 독출 동작을 모니터링하는 단계를 더 포함할 수 있다.
본 발명은 상기 방법에 대응하여 데이터의 유지보수를 수행하는 데이터 스토리지 노드에 더 관련된다. 스토리지 노드는 일반적으로 상기 방법의 동작을 수행하는 수단을 포함한다.
또한, 본 발명의 목적은 처음에 언급된 종류의 데이터 스토리지 시스템에 데이터를 기록하는 방법에 의해 달성되며, 상기 방법은 데이터 스토리지 시스템 내의 데이터에 액세스하는 애플리케이션을 실행하는 서버에서 수행된다. 상기 방법은: 복수의 스토리지 노드로 멀티캐스트 스토리지 쿼리(multicast storage query)를 송신하는 단계; 상기 스토리지 노드의 서브셋으로부터 복수의 응답을 수신하는 단계로서, 상기 응답은 각각의 서버의 지리적 위치에 관한 지리적 데이터를 포함하는 단계; 상기 응답을 기반으로 서브셋에서 적어도 두 개의 스토리지 노드를 선택하는 단계; 및 선택된 스토리지 노드로 데이터 및 상기 데이터에 대응하는 데이터 식별자를 송신하는 단계를 포함한다.
이러한 방법은 지리적 다양성(geographic diversity)이 효율적인 방식으로 구현되도록 데이터의 강건한 기록을 달성한다.
지리적 위치는 질의된 스토리지 노드의 위도 및 경도를 포함할 수 있으며, 응답은 질의된 스토리지 노드에 대한 시스템 로드 및/또는 시스템 연령을 더 포함할 수 있다.
멀티캐스트 스토리지 쿼리는 저장될 데이터를 식별하는 데이터 식별자를 포함할 수 있다.
일반적으로, 적어도 세 개의 노드가 저장을 위해 선택될 수 있고, 성공적으로 데이터를 저장하는 스토리지 노드의 리스트는 선택된 스토리지 노드로 송신될 수 있다.
본 발명은 상기 방법에 대응하여 데이터의 기록을 수행하는 서버에 더 관련된다. 서버는 일반적으로 상기 방법의 동작을 수행하는 수단을 포함한다.
도 1은 분산형 데이터 스토리지 시스템을 도시한다.
도 2a 내지 도 2c 및 도 3은 데이터 독출 프로세스를 도시한다.
도 4a 내지 도 4c 및 도 5는 데이터 기록 프로세스를 도시한다.
도 6은 많은 파일들이 많은 데이터 스토리지 노드들 중에서 저장되는 상황을 개략적으로 도시한다.
도 7은 하트비트 신호의 전송을 도시한다.
도 8은 데이터 유지보수 프로세스의 개략도이다.
도 2a 내지 도 2c 및 도 3은 데이터 독출 프로세스를 도시한다.
도 4a 내지 도 4c 및 도 5는 데이터 기록 프로세스를 도시한다.
도 6은 많은 파일들이 많은 데이터 스토리지 노드들 중에서 저장되는 상황을 개략적으로 도시한다.
도 7은 하트비트 신호의 전송을 도시한다.
도 8은 데이터 유지보수 프로세스의 개략도이다.
본 발명은 복수의 스토리지 노드를 포함하는 분산형 데이터 스토리지 시스템에 관한 것이다. 시스템의 구조 및 그것이 사용되는 전후 사정이 도 1에 도시된다.
사용자의 컴퓨터(1)는 인터넷(3)을 통해 서버(7)에서 실행되는 애플리케이션(5)에 액세스한다. 여기에 기술되는 사용자는 일반적인 클라이언트-서버 구조이며, 이는 그 자체로 잘 알려져 있다. 그러나, 설명될 데이터 스토리지 시스템은 다른 구조에서도 유용할 수 있을 것이다.
도시된 실시예에서, 두 개의 애플리케이션(5, 9)이 서버(7)에서 실행된다. 물론, 애플리케이션의 개수는 달라질 수 있다. 각각의 애플리케이션은 분산형 데이터 스토리지 시스템(13)에 관한 인터페이스를 제공하고서버에서 실행되는 애플리케이션으로부터의 요청(일반적으로 기록 및 독출 요청)을 지원하는 API(Application Programming Interface)(11)를 포함한다. 애플리케이션의 관점에서, 데이터 스토리지 시스템(13)으로부터의 독출 정보 또는 데이터 스토리지 시스템에 대한 기록 정보는 임의의 다른 타입의 스토리지 솔루션, 예컨대 파일 서버 또는 단순한 하드 드라이브를 사용하는 것과 상이할 필요는 없다.
각각의 API(11)는 데이터 스토리지 시스템(13) 내의 스토리지 노드(15)와 통신하고, 스토리지 노드는 상호 간에 통신한다. 이러한 통신은 TCP(Transmission Control Protocol) 및 UDP(User Datagram Protocol)을 기반으로 한다. 이러한 컨셉은 통상의 기술자에게 잘 알려져 있으며, 여기에 더 설명되지는 않는다.
동일한 서버(7) 상의 서로 다른 API(11)는 서로 다른 세트의 스토리지 노드(15)에 액세스할 수 있다. 각각의 스토리지 노드(15)에 액세스하는 하나보다 많은 서버(7)가 존재할 수도 있다. 그러나, 이는 후술되는 바와 같이 스토리지 노드가 동작하는 방식에 큰 영향을 미치지는 않는다.
분산형 데이터 스토리지 시스템의 구성요소는 스토리지 노드(15) 및 상기 스토리지 노드(15)에 액세스하는 서버(7)의 API(11)이다. 따라서, 본 발명은 서버(7) 및 스토리지 노드(15)에서 수행되는 방법에 관련된다. 이러한 방법은 주로 서버 및 스토리지 노드에서 실행되는 소프트웨어로 각각 구현될 것이며, 이들은 함께 전체 분산형 데이터 스토리지 시스템의 동작 및 성질을 결정한다.
스토리지 노드(15)는 일반적으로 다수의 기능 블록들이 제공되는 파일 서버에 의해 구현될 수 있다. 따라서, 스토리지 노드는 저장 매체(17)를 포함할 수 있으며, 상기 저장 매체는 일반적으로 다수의 하드드라이브들로 구성되며, 선택적으로 RAID(Redundant Array of Independent Disk) 시스템으로 구성된다. 그러나, 다른 타입의 저장 매체가 도출가능하다.
스토리지 노드(15)는 디렉토리(19)를 더 포함할 수 있으며, 상기 디렉토리는 데이터 엔티티/스토리지 노드의 관계에 대한 리스트를 호스트 리스트로 포함하며, 이는 이하에서 기술될 것이다.
호스트 리스트에 추가하여, 각각의 스토리지 노드는 스토리지 노드의 세트 또는 그룹 내의 모든 스토리지 노드의 IP 어드레스를 포함하는 노드 리스트를 더 포함한다. 그룹 내 스토리지 노드의 개수는 몇 개에서 수백 개의 스토리지 노드까지 다양할 수 있다. 노드 리스트는 버전 번호를 더 포함할 수 있다.
추가적으로, 스토리지 노드(15)는 복제 블록(21) 및 클러스터 모니터 블록(23)을 포함할 수 있다. 복제 블록(21)은 스토리지 노드 API(25)를 포함하고, 복제 프로세스에 대한 요구를 식별하고 복제 프로세스를 수행하는 기능을 실행하도록 구성되며, 이는 이하 상세하게 기술될 것이다. 복제 프로세스가 대부분 독출 및 기록 동작 도중 서버(7)에 의해 수행되는 동작에 대응하는 동작을 포함하기 때문에, 복제 블록(21)의 스토리지 노드 API(25)는 대부분 서버(7)의 스토리지 노드 API(11)의 코드에 대응하는 코드를 포함할 수 있다. 예를 들어, 복제 도중 수행되는 기록 동작은 대부분 서버(7)에 의해 수행되는 기록 동작에 대응한다. 클러스터 모니터 블록(232)은 데이터 스토리지 시스템(13) 내의 다른 스토리지 노드를 모니터링하는 단계를 수행하도록 구성되며, 이는 이하 보다 상세하게 기술될 것이다.
분산형 데이터 스토리지 시스템의 스토리지 노드(15)는 동일한 계층 레벨에 존재하는 것으로 고려될 수 있다. 저장된 데이터 엔티티의 디렉토리를 유지하고 데이터의 일관성을 모니터링하는 것과 같은 프로세스를 수행할 책임이 있는 임의의 마스터 스토리지 노드를 지명할 필요가 없다. 그 대신, 모든 스토리지 노드(15)가 동등하게 고려되고, 가끔씩 시스템 내 다른 스토리지 노드에 대하여 데이터 관리 동작을 수행할 수 있다. 이러한 동등성은 시스템이 강건하게 되는 것을 보장한다. 스토리지 노드의 고장 시, 시스템 내 다른 노드가 상기 고장난 노드를 보완할 것이며, 신뢰성 있는 데이터 저장을 보장할 것이다.
시스템의 동작은 다음과 같은 순서로 기술될 것이다: 데이터의 독출, 데이터의 기록 및 데이터의 유지보수. 이러한 방법이 매우 잘 수행되더라도, 이들은 이론적으로 서로 독립적으로 수행될 수도 있음이 주목될 것이다. 다시 말해, 예를 들어 본 발명의 데이터 기록 방법이 사용되지 않더라도 데이터 독출 방법은 우수한 성질을 제공할 수 있으며, 그 역 또한 같다.
이제 도 2a 내지 도 2c 및 도 3을 참조하여 독출 방법이 설명되고, 도 3은 상기 방법을 설명하는 흐름도이다.
독출 뿐만 아니라 시스템 내 다른 기능은 복수의 스토리지 노드와 동시에 통신하기 위해 멀티캐스트 통신을 이용한다. 여기에서 멀티캐스트 또는 IP 멀티캐스트는, 메시지를 멀티캐스트 애플리케이션을 위해 예약된 IP 어드레스로 송신함으로써 달성되는 일대다(a point-to-multipoint) 통신을 의미한다.
예를 들어, 메시지(일반적으로 요청)는 이러한 IP 어드레스(예컨대, 244.0.0.1)로 송신되고, 다수의 수신 서버가 상기 IP 어드레스에 대한 가입자로 등록되어 있다. 수신 서버 각각은 그 고유한 IP 어드레스를 갖는다. 네트워크 내의 스위치는 244.0.0.1로 전달된 메시지를 수신하고, 상기 스위치는 메시지를 가입자로 등록된 각각의 서버의 IP 어드레스로 전달한다.
이론적으로, 오직 하나의 서버만이 멀티캐스트 어드레스에 가입자로 등록될 수 있으며, 이 경우 일대일 통신이 달성된다. 그러나, 그럼에도 불구하고, 본 발명에서는 멀티캐스트 구조가 도입되므로, 이러한 통신은 멀티캐스트 통신으로 간주된다.
유니캐스트 통신이 또한 하나의 수신자와의 통신을 나타내기 위해 도입된다.
도 2a 및 도 3을 참조하면, 데이터 스토리지 시스템으로부터 데이터를 검색하는 방법은 복수의 스토리지 노드(15)로 멀티캐스트 쿼리(multicast query)를 송신하는 단계(31)를 포함한다. 도시된 실시예에는 다섯 개의 스토리지 노드가 있으며, 각각의 노드는 IP(Internet Protocol) 어드레스 192.168.1.1, 192.168.1.2 등을 갖는다. 스토리지 노드의 개수는 말할 것도 없이 예시적인 것이다. 쿼리는 데이터 식별자 "2B0B4A97-76E5-499E-A21A6D7932DD7927"을 포함하며, 이는 예를 들어 그 자체로 잘 알려진 UUID(Universally Unique Identifier)일 수 있다.
스토리지 노드는 식별자에 대응하는 데이터를 위해 그들 자신을 스캔한다. 이러한 데이터가 발견되는 경우, 스토리지 노드는 응답을 송신하며, 상기 응답은 서버(7)에 의해 수신된다(33)(도 3 참조). 도시된 바와 같이, 응답은 선택적으로 스토리지 노드가 관련 데이터의 카피를 갖고 있음을 나타내는 정보를 더 포함한다. 구체적으로, 응답은 데이터를 포함하는 다른 스토리지 노드에 대한 스토리지 노드 디렉토리로부터의 정보, 스토리지 노드에 어떤 버전의 데이터가 포함되어 있는지에 대한 정보 및 스토리지 노드가 현재 어떤 부하에 노출되어 있는지에 대한 정보를 포함할 수 있다.
응답에 기초하여, 서버는 데이터가 검색될 하나 또는 그 이상의 스토리지 노드를 선택하고(35), 상기 스토리지 노드로 데이터를 위한 유니캐스터 요청을 송신한다(37)(도 2c 참조).
데이터 요청에 응답하여, 스토리지 노드/노드들은 데이터를 수신한(39) 서버로 유니캐스트를 사용하여 관련 데이터를 송신한다. 도시된 실시예에서는, 오직 하나의 스토리지 노드가 선택된다. 이것만으로도 충분하지만, 일관성에 대한 검사를 가능하게 하는 두 세트의 데이터를 수신하기 위해, 하나보다 많은 스토리지 노드를 선택하는 것도 가능하다. 데이터의 전송이 실패하는 경우, 서버는 검색을 위해 다른 스토리지 노드를 선택할 수 있다.
스토리지 노드의 선택은, 전체 시스템의 우수한 성능을 달성하기 위해 다수의 요소들을 고려하는 알고리즘을 기반으로 수행될 수 있다. 일반적으로, 최신 데이터 버전 및 가장 낮은 로드를 갖는 스토리지 노드가 선택될 것이지만, 다른 컨셉이 도출될 수도 있다.
선택적으로, 상기 동작은 관련된 모든 스토리지 노드로 리스트를 송신하는 서버에 의해 결정될 수 있으며, 어떤 노드가 데이터를 포함하고 어떤 버전의 데이터를 포함하는지 지시한다. 이러한 정보를 기반으로, 스토리지 노드는 이하 설명될 복제 프로세스에 의해 그들 자신이 적절하게 데이터를 유지할 수 있다.
도 4a 내지 도 4c 및 도 5는 분산형 데이터 스토리지 시스템에 대한 데이터 기록 프로세스를 도시한다.
도 4a 및 도 5를 참조하면, 상기 방법은 복수의 스토리지 노드로 멀티캐스트 스토리지 쿼리를 송신하는(41) 서버를 포함한다. 스토리지 쿼리는 데이터 식별자를 포함하고, 기본적으로 수신하는 스토리지 노드가 이러한 파일을 저장할 수 있는지 여부에 대한 질문으로 구성된다. 선택적으로, 스토리지 노드는 이들의 내부 디렉토리를 사용하여, 이들이 이미 이러한 이름의 파일을 갖고 있는지 여부를 확인할 수 있고, 서버가 파일의 이름을 변경하는 경우와 같은 있을 것 같지 않은 경우에 서버(7)에 이를 알릴 수 있다.
어떤 경우에는, 적어도 스토리지 노드의 서브셋이 서버(7)로 유니캐스트 전송을 함으로써 응답을 제공할 것이다. 일반적으로, 기결정된 최소 여유 디스크 공간을 갖는 스토리지 노드가 질의에 대답할 것이다. 서버(7)는 각각의 서버의 지리적 위치에 관한 지리적 데이터를 포함하는 응답을 수신한다(43). 예를 들어, 도 4b에 도시된 바와 같이, 지리적 데이터는 각각의 서버의 위도, 경도 및 고도를 포함할 수 있다. 그러나, 다른 타입의 지리적 데이터, 예컨대 우편번호 등이 사용될 수도 있다.
지리적 데이터에 더하여, 추가적인 정보가 스토리지 노드 선택 프로세스에 대한 입력으로 서버에 제공될 수 있다. 도시된 예에서, 각각의 스토리지 노드에서의 여유 공간의 크기가 스토리지 노드의 시스템 연령에 대한 지시 및 스토리지 노드가 현재 경험하고 있는 로드에 대한 지시와 함께 제공된다.
수신된 응답을 기반으로, 서버는 데이터를 저장하기 위한 서브셋에서 적어도 두 개(일반적인 실시예에서는 세 개)의 스토리지 노드를 선택한다(45). 스토리지 노드의 선택은 상이한 데이터를 고려하는 알고리즘에 의해 수행된다. 선택은 어떤 종류의 지리적 다양성을 달성하기 위해 수행된다. 적어도 바람직하게, 동일한 랙(rack)의 파일 서버만이 스토리지 노드로 선택되는 것이 방지될 것이다. 일반적으로, 큰 지리적 다양성이 달성될 수 있으며, 심지어 다른 대륙에 있는 스토리지 노드가 선택될 수도 있다. 지리적 다양성에 더하여, 다른 파라미터가 선택 알고리즘에 포함될 수 있다. 최소 지리적 다양성이 달성되는 한, 여유 공간, 시스템 연령 및 현재 로드가 고려될 수도 있다.
스토리지 노드가 선택된 경우, 저장될 데이터 및 대응하는 데이터 식별자는 각각의 선택된 노드로 송신되며, 일반적으로 유니캐스트 전송을 사용하여 송신된다.
선택적으로, 상기 동작은 각각의 스토리지 노드에 의해 결정될 수 있으며, 상기 스토리지 노드는 기록 동작, 서버에 확인응답(acknowledgement)을 송신하는 것을 성공적으로 수행한다. 그리고 나서, 서버는 관련된 모든 스토리지 노드로 리스트를 송신하여, 어떤 노드가 데이터를 성공적으로 기록하였으며 어떤 노드가 기록하지 못하였는지 지시한다. 이러한 정보를 기반으로, 스토리지 노드는 이하 설명될 복제 프로세스에 의해 스스로 적절하게 데이터를 유지할 수 있다. 예를 들어, 하나의 스토리지 노드의 기록이 실패하는 경우, 상기 파일을 저장하는 스토리지 노드의 요구되는 개수를 달성하기 위해, 하나 또는 그 이상의 스토리지 노드에 파일을 복제할 필요가 생긴다.
이러한 데이터 기록 방법은 우수한 지리적 다양성이 제공될 수 있으므로, 서버(7)의 API가 데이터를 매우 강건한 방식으로 저장할 수 있도록 한다.
기록 및 독출 동작에 더하여, 서버(7)의 API는 파일을 삭제하고 파일을 업데이트하는 동작을 수행할 수 있다. 이러한 프로세스는 이하의 데이터 유지보수 프로세스와 함께 기술될 것이다.
데이터 유지보수 프로세스의 목적은 적절한 개수의 고장나지 않은 스토리지 노드 각각이 최신 버전의 각 파일을 저장하는 것을 보장하기 위한 것이다. 추가적으로, 삭제된 파일이 임의의 스토리지 노드에 저장되지 않는 기능을 제공할 수 있다. 유지보수는 스토리지 노드 그 자체에 의해 수행된다. 따라서, 데이터 저장의 유지보수에 대한 책임을 갖는 지정된 "마스터"에 대한 요구가 존재하지 않는다. "마스터"가 시스템에서 취약한 지점에 해당될 것이므로, 이는 개선된 신뢰성을 보장한다.
도 6은 다수의 파일들이 다수의 데이터 스토리지 노드 중에 저장되는 상황을 개략적으로 도시한다. 도시된 실시예에서, 192.168.1.1에서 192.168.1.12까지 연속적으로 숫자가 부여된 IP 어드레스를 갖는 12 개의 노드가 설명을 위해 도시된다. 그러나, 말할 필요도 없이, IP 어드레스의 숫자는 모두 동일한 범위에 있을 필요는 없다. 노드는 설명을 단순화하기 위해 원형적인 순서로 배치되며, 즉, 노드는 임의의 특정한 순서를 가질 필요는 없다. 각각의 노드는 단순함을 위해 문자 A 내지 F로 식별된 하나 또는 두 개의 파일을 저장한다.
도 8을 참조하면, 데이터 유지보수 방법은 데이터 저장 시스템 내의 노드들 간에 데이터의 복제를 필요로 하는 데이터 스토리지 시스템의 상태를 검출하는 단계(51) 및 복제 프로세스(53)를 포함한다. 검출 프로세스(51)의 결과는 복제에 대한 요구가 식별된 파일의 리스트(55)이다. 리스트는 서로 다른 복제 요구의 우선순위에 관련된 데이터를 더 포함할 수 있다. 상기 리스트를 기반으로, 복제 프로세스(53)가 수행된다.
분산형 스토리지의 강건함은 적정한 개수의 각 파일의 카피 및 정확한 버전이 시스템에 저장되어 있는지 여부에 달려 있다. 도시된 실시예에서, 각 파일의 세 개의 카피가 저장되어 있다. 그러나, 예를 들어 주소 192.168.1.5의 스토리지 노드가 고장난 경우, 파일 "B" 및 "C"에 대한 저장된 카피의 요구되는 개수가 부족하게 될 것이다.
따라서, 복제 요구를 유발하는 일 이벤트는 시스템 내 스토리지 노드의 고장이다.
시스템 내 각각의 스토리지 노드는 시스템 내 다른 스토리지 노드의 상태를 모니터링할 수 있다. 이는 도 7에 도시된 바와 같이, 각각의 스토리지 노드가 규칙적인 간격으로 소위 하트비트 신호라 불리는 신호를 발산하도록 함으로써 수행될 수 있다. 도시된 실시예에서, 어드레스 192.168.1.7의 스토리지 노드는 시스템 내 다른 스토리지 노드로 멀티캐스트 신호(57)를 발산하여, 상기 스토리지 노드가 제대로 작동함을 지시한다. 이 신호는 하트비트 모니터링(59)(도 8 참조)을 수행하는 시스템 내 다른 모든 작동하는 스토리지 노드 또는 그 서브셋에 의해 수신될 수 있다. 그러나, 어드레스 192.168.1.5의 스토리지 노드의 경우, 이 노드는 고장난 상태이며, 임의의 하트비트 신호를 발산하지 않는다. 따라서, 다른 스토리지 노드는 이 노드에서 장시간 동안 하트비트 신호가 발산되지 않았음을 인지할 것이며, 이는 질의된 스토리지 노드가 다운된 상태임을 나타낸다.
스토리지 노드의 어드레스에 더하여, 하트비트 신호는 그 노드 리스트 버전 번호를 포함할 수 있다. 그리고 나서, 하트비트 신호를 듣고 전송 스토리지 노드가 후 버전의 노드 리스트를 갖는 것을 발견한 다른 스토리지 노드는, 전송 스토리지 노드가 그 노드 리스트를 전송할 것을 요청할 수 있다. 이는 스토리지 노드의 추가 및 제거가, 단순히 스토리지 노드의 추가 또는 제거 그리고 하나의 스토리지 노드로 새로운 노드 리스트 버전을 송신함으로써 간단하게 달성될 수 있음을 의미한다. 그리고 나서, 이러한 노드 리스트는 시스템 내 다른 모든 스토리지 노드로 분산될 것이다.
다시 도 8을 참조하면, 각각의 스토리지 노드는 고장난 스토리지 노드에 의해 저장된 파일에 대한 내부 디렉토리를 검색한다(61). 그 스스로 파일 "B" 및 "C"를 저장한 스토리지 노드는 고장난 스토리지 노드를 발견할 것이며, 그 결과 리스트(55)에 대응하는 파일을 추가할 수 있다.
그러나, 검출 프로세스는 파일 복제를 요구하는 다른 상태를 나타낼 수도 있다. 일반적으로 이러한 상태는 불일치(inconsistencies)이며, 즉 하나 또는 그 이상의 스토리지 노드가 구 버전의 파일을 갖고 있을 수 있다. 또한, 복제 프로세스가 파일을 실제로 물리적으로 삭제할 수 있으므로, 삭제 동작은 복제 프로세스를 함축한다. 그리고 나서, 서버의 삭제 동작은 오직 스토리지 노드가 질의된 파일에 대해 삭제 플래그를 설정함을 확인하는 것만이 필요하다. 따라서, 각각의 노드는 데이터 스토리지 시스템에서 수행되는 독출 및 기록 동작을 모니터링할 수 있다. 독출 및 기록 동작의 결과로 서버(7)에 의해 제공되는 정보는 각각, 하나의 스토리지 노드가 구 버전의 파일을 포함하고 있거나(독출 동작의 경우) 스토리지 노드가 기록 동작을 성공적으로 수행하지 못했음을 지시할 수 있다. 두 경우 모두, 유지보수 프로세스의 전체 목적이 만족되도록 복제에 의해 데이터를 유지할 필요가 있다.
기본적인 독출 및 기록 동작(63, 65)에 더하여, 적어도 두 개의 추가적인 프로세스, 즉 삭제(67) 및 업데이트(69) 프로세스가 복제에 대한 요구가 존재함을 지시할 수 있으며, 이에 대한 간단한 설명이 기술될 것이다.
삭제 프로세스는 서버(7)에 의해 개시된다(도 1 참조). 독출 프로세스와 유사하게, 서버는 어떤 스토리지 노드가 특정 데이터 식별자를 갖는 데이터를 갖고 있는지 찾기 위해 모든 스토리지 노드에 대해 멀티캐스팅을 함으로써 쿼리를 송신한다. 스토리지 노드는 관련된 식별자를 갖는 데이터를 위해 자기 자신을 스캔하고, 이들이 질의된 데이터를 갖고 있는 경우, 유니캐스트 전송을 통해 응답한다. 응답은 스토리지 노드 디렉토리로부터, 데이터를 포함하는 다른 스토리지 노드의 리스트를 포함할 수 있다. 그리고 나서, 서버(7)는 파일(상기 파일은 삭제될 것임)을 저장하고 있는 것으로 간주되는 스토리지 노드로 유니캐스트 요청을 송신한다. 각각의 스토리지 노드는 파일에 관련된 플래그를 설정하고 상기 파일은 삭제되어야 함을 지시한다. 그리고 나서, 파일은 복제 리스트에 추가되고, 확인응답이 서버로 송신된다. 그리고 나서, 복제 프로세스는 설명되는 바와 같이 물리적으로 파일을 삭제한다.
업데이트 프로세스는 삭제 프로세스 중 하나와 유사한 검색 기능 및 기록 프로세스에서 수행되는 것과 유사한 기록 기능을 갖는다. 서버는 어떤 스토리지 노드가 특정 데이터 식별자를 갖는 데이터를 갖고 있는지 찾기 위해, 모든 스토리지 노드에 대해 멀티캐스팅함으로써 쿼리를 송신한다. 스토리지 노드는 관련된 식별자를 갖는 데이터를 위해 자기 자신을 스캔하고, 이들이 질의된 데이터를 갖는 경우, 유니캐스트 전송을 사용하여 응답한다. 응답은 스토리지 노드 디렉토리로부터의 데이터를 포함하는 다른 스토리지 노드의 리스트를 포함할 수 있다. 그리고 나서, 서버(7)는 유니캐스트 요청을 송신하고, 스토리지 노드에게 데이터를 업데이트하도록 말한다. 물론 요청은 업데이트된 데이터를 포함한다. 데이터를 업데이트하는 스토리지 노드는 서버로 확인응답을 송신하며, 상기 서버는 데이터를 성공적으로 업데이트한 스토리지 노드 및 그렇지 못한 스토리지 노드로 구성된 리스트를 포함하는 유니캐스트 전송을 송신함으로써 응답한다. 다시, 이 리스트는 유지보수 프로세스에 의해 사용될 수 있다.
다시 도 8을 참조하면, 독출(63), 기록(65), 삭제(67) 및 업데이트(69) 동작 모두는 복제에 대한 요구가 존재함을 지시할 수 있다. 이들은 하트비트 모니터링(59)을 위해 적용된다. 따라서, 전체적인 삭제 프로세스(51)는 어떤 파일이 복제될 필요가 있는지에 대한 데이터를 생성한다. 예를 들어, 독출 또는 업데이트 동작은 특정 스토리지 노드가 구 버전의 파일을 포함하는 것을 나타낼 수 있다. 삭제 프로세스는 특정 파일에 대해 삭제 플래그를 설정할 수 있다. 하트비트 모니터링은 고장난 스토리지 노드에 저장된 다수의 파일들이 새로운 스토리지 노드에 복제될 필요가 있음을 나타낼 수 있다.
각각의 스토리지 노드는 모든 파일들에 대한 복제 요구를 모니터링하며, 복제 리스트(55)를 저장하고 유지한다. 따라서, 복제 리스트(55)는 복제될 필요가 있는 다수의 파일들을 포함한다. 파일은 각각의 복제에 대한 우선순위에 대응하여 정렬될 수 있다. 일반적으로, 세 가지 서로 다른 우선순위 레벨이 있을 수 있다. 가장 높은 레벨은 스토리지 노드가 그 가장 마지막 온라인 카피를 보유하는 파일을 위해 예약된다. 이러한 파일은 신속하게 다른 스토리지 노드에 복제되어, 적절한 레벨의 리던던시(redundancy)가 달성될 필요가 있다. 중간 레벨의 우선순위는 버전이 스토리지 노드 중 불일치하는 파일에 관련될 수 있다. 낮은 레벨의 우선순위는 고장난 스토리지 노드에 저장된 파일에 관련될 수 있다.
스토리지 노드는 그들의 우선순위 레벨에 따라 복제 리스트(55) 상의 파일을 다룬다. 이제, 복제 프로세스는 여기에서 동작 스토리지 노드로 불리는 스토리지 노드에 대해 기술되지만, 모든 스토리지 노드가 이러한 방식으로 동작할 수 있다.
유지 프로세스의 복제 부분(53)은 동작 스토리지 노드가 복제하고자 하는 파일에 대해 마스터가 되도록 시도(71)하는 것부터 시작한다. 동작 스토리지 노드는, 질의된 파일을 저장하는 것으로 알려진 다른 스토리지 노드로, 마스터가 되기 위한 유니캐스트 요청을 송신한다. 디렉토리(19)(도 1 참조)는 어떤 스토리지 노드가 질의될 지에 대한 정보를 포함하는 호스트 리스트를 제공한다. 예를 들어, 스토리지 노드 중 하나가 긍정적으로 응답하지 않는 요청 충돌의 경우, 파일은 당분간 리스트로 다시 이동되고, 대신 리스트 상의 다음 파일에 대해 시도가 이루어진다. 그렇지 않은 경우, 동작 스토리지 노드는 이 파일의 마스터가 되도록 고려되고, 다른 스토리지 노드는 동작 스토리지 노드가 질의된 파일에 대한 마스터임을 지시하는 플래그를 설정한다.
다음 단계는 분산형 스토리지 시스템에서 질의된 파일의 모든 카피를 찾는다(73). 이는 모든 스토리지 노드로 멀티캐스트 쿼리를 송신하는 동작 스토리지 노드에 의해 수행될 수 있어, 이들 중 어느 것이 파일을 갖고 있는지 질의한다. 파일을 갖고 있는 스토리지 노드는 요청에 대해 응답을 제공하며, 상기 응답은 상기 스토리지 노드의 호스트 리스트(즉, 각각의 스토리지 노드의 디렉토리에 보유된 관련 파일을 포함하는 스토리지 노드의 리스트)뿐만 아니라 이들이 보유하고 있는 파일의 버전도 포함한다. 그리고 나서, 이러한 호스트 리스트는 동작 스토리지 노드에 의해 병합되어(75), 모든 검색된 호스트 리스트가 통합된 마스터 호스트 리스트가 형성된다. 동작 스토리지 노드가 마스터가 되도록 시도된 경우 질의되지 않았던 추가적인 스토리지 노드가 발견되는 경우, 상기 단계는 추가적인 스토리지 노드에 대해 반복될 수 있다. 마스터 호스트 리스트는 어떤 버전의 파일이 서로 다른 스토리지 노드에 보유되고, 전체 스토리지 시스템 내의 파일의 상태를 설명하는 정보를 포함한다.
동작 스토리지 노드가 질의된 파일의 최신 버전을 갖고 있지 않은 경우, 이 파일은 최신 버전을 갖고 있는 스토리지 노드 중 하나로부터 검색된다(77).
그리고 나서, 동작 스토리지 노드는 호스트 리스트가 변경될 필요가 있는지 여부를 결정하며(79), 일반적으로 이는 추가적인 스토리지 노드가 더해지는 경우이다. 변경될 필요가 있는 경우, 동작 스토리지 노드는 서버에 의해 수행되고 도 4a 내지 도 4c 및 도 5와 관련하여 기술된 바와 같은 기록 프로세스와 매우 유사한 프로세스를 수행할 수 있다. 이 프로세스의 결과는 파일이 새로운 스토리지 노드에 기록되는 것이다.
버전이 불일치하는 경우, 동작 스토리지 노드는 다른 스토리지 노드에 저장된 파일의 카피를 업데이트하여(81), 저장된 모든 파일이 올바른 버전을 갖도록 할 수 있다.
저장된 파일의 불필요한 카피는 삭제될 수 있다(83). 복제 프로세스가 삭제 동작에 의해 개시되는 경우, 프로세스는 이 단계로 직접 건너 뛰어질 수 있다. 그리고 나서, 모든 스토리지 노드가 파일의 삭제를 승인하자마자, 동작 스토리지 노드는 유니캐스트를 사용하여 질의된 파일을 물리적으로 삭제하도록 모든 스토리지 노드에 요청한다. 스토리지 노드는 파일이 삭제되었음을 확인응답한다.
이 상태에 더하여, 파일의 마스터 호스트 리스트가 업데이트된다. 그리고 나서, 복제 요구가 더 이상 존재하지 않음을 확인하기 위해, 선택적으로 단계(73) 내지 단계(83)가 반복될 수 있다. 이러한 반복은 단계(85)에서 업데이트될 필요가 없는 일관된 마스터 호스트 리스트를 유발한다.
그 후, 상기 파일에 대한 복제 프로세스는 종료되고, 동작 스토리지 노드는 호스트 리스트 상의 다른 모든 스토리지 노드로 대응하는 메시지를 송신함으로써, 파일의 마스터로서의 상태를 해제할 수 있다(87).
각각의 스토리지 노드가 그의 저장된 모든 파일을 스토리지 노드의 세트에 걸쳐 유지하는데 책임을 갖는 시스템은 우수한 신뢰성을 갖는 자기-복구(스토리지 노드가 고장난 경우), 자기-여과(파일의 불일치 또는 삭제될 파일이 있는 경우) 시스템을 제공한다. 상기 시스템은 용이하게 확장 축소가 가능하며(scalable), 많은 수의 상이한 애플리케이션을 위한 파일을 동시에 저장할 수 있다.
본 발명은 설명된 특정 예로 제한되지 않으며, 첨부된 청구항의 범위 내에서 다른 방식으로 변경되거나 변형될 수 있다.
1: 컴퓨터 3: 인터넷
7: 서버 13: 데이터 스토리지 시스템
15: 스토리지 노드
7: 서버 13: 데이터 스토리지 시스템
15: 스토리지 노드
Claims (18)
- 복수의 데이터 스토리지 노드를 포함하는 데이터 스토리지 시스템에서 데이터를 유지하기 위해, 상기 데이터 스토리지 시스템 내의 스토리지 노드에서 사용되는 데이터 유지 방법에 있어서,
상기 데이터 스토리지 시스템에서 수행되는 동작(65, 67, 69)을 기록할 뿐만 아니라, 상기 시스템 내의 다른 스토리지 노드의 상태를 모니터링하는 단계(59)로서, 상기 스토리지 노드는 데이터 엔티티를 저장하는 스토리지 노드를 포함하는 호스트 리스트에 대한 액세스 권한을 갖는 단계;
상기 모니터링을 기반으로, 상기 데이터 스토리지 시스템 내의 노드들 간에 데이터의 복제에 대한 요구를 나타내는 상기 데이터 스토리지 시스템의 상태를 검출하는 단계; 및
상기 상태가 검출되는 경우, 복제 프로세스(53)를 개시하는 단계를 포함하며,
상기 복제 프로세스는 복수의 스토리지 노드로 멀티캐스트 메시지를 송신하는 단계를 포함하고, 상기 메시지는 상기 스토리지 노드 중 어느 것이 특정 데이터를 저장하고 있는지 질의하는 것을 특징으로 하는 데이터 유지 방법. - 제 1항에 있어서,
상기 모니터링하는 단계는 상기 시스템 내의 다른 스토리지 노드로부터 하트비트 신호를 듣는 단계(59)를 포함하고,
복제에 대한 요구를 나타내는 상태는 스토리지 노드가 고장난 상태인 것을 특징으로 하는 데이터 유지 방법. - 제 1항 또는 제 2항에 있어서,
상기 데이터는 파일을 포함하고,
상태는 파일 삭제 또는 파일 불일치 중 하나인 것을 특징으로 하는 데이터 유지 방법. - 제 1항에 있어서,
복제가 요구되는 파일을 포함하는 복제 리스트가 유지되는 것을 특징으로 하는 데이터 유지 방법. - 제 4항에 있어서,
상기 복제 리스트는 우선순위를 포함하는 것을 특징으로 하는 데이터 유지 방법. - 제 1항에 있어서,
상기 복제 프로세스는:
상기 특정 데이터를 포함하는 스토리지 노드로부터 응답을 수신하는 단계;
상기 특정 데이터가 충분한 개수의 스토리지 노드에 저장되어 있는지 여부를 결정하는 단계; 및
상기 특정 데이터가 충분한 개수의 스토리지 노드에 저장되어 있지 않은 경우, 적어도 하나의 추가적인 저장 노드를 선택하고, 상기 특정 데이터를 상기 선택된 스토리지 노드로 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터 유지 방법. - 제 6항에 있어서,
구 버전의 데이터를 포함하는 스토리지 노드 상의 상기 특정 데이터를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 데이터 유지 방법. - 제 1항에 있어서,
상기 복제 프로세스는, 상기 시스템 내의 모든 스토리지 노드 중, 복제될 파일에 대한 마스터쉽을 획득하도록 시도하는 스토리지 노드에서 시작되는 것을 특징으로 하는 데이터 유지 방법. - 제 1항에 있어서,
상기 모니터링하는 단계는 상기 데이터 스토리지 시스템에서 수행되는 독출 동작(63)을 모니터링하는 단계를 더 포함하는 것을 특징으로 하는 데이터 유지 방법. - 복수의 데이터 스토리지 노드를 포함하는 데이터 스토리지 시스템에서 데이터를 유지하는 데이터 스토리지 노드에 있어서,
상기 데이터 스토리지 시스템에서 수행되는 동작을 기록할 뿐만 아니라, 상기 시스템 내의 다른 스토리지 노드의 상태를 모니터링하는 수단으로서, 상기 모니터링은 데이터 엔티티를 저장하는 스토리지 노드를 포함하는 호스트 리스트를 기반으로 수행되는 수단;
상기 모니터링을 기반으로, 상기 데이터 스토리지 시스템 내의 노드들 간에 데이터의 복제에 대한 요구를 나타내는 상기 데이터 스토리지 시스템의 상태를 검출하는 수단; 및
상기 상태가 검출되는 경우, 복제 프로세스를 개시하는 수단을 포함하고,
상기 복제 프로세스는 복수의 스토리지 노드로 멀티캐스트 메시지를 송신하는 단계를 포함하고, 상기 메시지는 상기 스토리지 노드 중 어느 것이 특정 데이터를 저장하고 있는지 질의하는 것을 특징으로 하는 데이터 스토리지 노드. - 복수의 데이터 스토리지 노드를 포함하는 데이터 스토리지 시스템에 데이터를 기록하기 위해, 상기 데이터 스토리지 시스템의 데이터에 액세스하는 애플리케이션을 실행하는 서버에서 사용되는 데이터 기록 방법에 있어서,
복수의 스토리지 노드로 멀티캐스트 스토리지 쿼리를 송신하는 단계(41);
상기 스토리지 노드의 서브셋으로부터 복수의 응답을 수신하는 단계로서, 상기 응답은 각각의 스토리지 노드의 지리적 위치에 관한 지리적 데이터를 포함하는 단계(43);
상기 응답을 기반으로, 상기 서브셋에서 적어도 두 개의 스토리지 노드를 선택하는 단계(45); 및
상기 선택된 스토리지 노드로 데이터, 상기 데이터에 대응하는 데이터 식별자 및 상기 데이터를 성공적으로 저장한 스토리지 노드의 리스트를 송신하는 단계(47)를 포함하는 것을 특징으로 하는 데이터 기록 방법. - 제 11항에 있어서,
상기 지리적 위치는 질의된 상기 스토리지 노드의 위도 및 경도를 포함하는 것을 특징으로 하는 데이터 기록 방법. - 제 12항에 있어서,
상기 응답은 질의된 상기 스토리지 노드의 시스템 연령을 더 포함하는 것을 특징으로 하는 데이터 기록 방법. - 제 12항 또는 제 13항에 있어서,
상기 응답은 질의된 상기 스토리지 노드에 대한 시스템 로드를 더 포함하는 것을 특징으로 하는 데이터 기록 방법. - 제 12항에 있어서,
상기 멀티캐스트 스토리지 쿼리는 저장될 데이터를 식별하는 데이터 식별자를 포함하는 것을 특징으로 하는 데이터 기록 방법. - 제 12항에 있어서,
적어도 세 개의 노드가 선택되는 것을 특징으로 하는 데이터 기록 방법. - 복수의 데이터 스토리지 노드를 포함하는 데이터 스토리지 시스템에 데이터를 기록하도록 구성된 서버에 있어서,
복수의 스토리지 노드로 멀티캐스트 스토리지 쿼리를 송신하는 수단;
상기 스토리지 노드의 서브셋으로부터 복수의 응답을 수신하는 수단으로서, 상기 응답은 각각의 스토리지 노드의 지리적 위치에 관한 지리적 데이터를 포함하는 수단;
상기 응답을 기반으로, 상기 서브셋에서 적어도 두 개의 스토리지 노드를 선택하는 수단; 및
상기 선택된 스토리지 노드로 데이터, 상기 데이터에 대응하는 데이터 식별자 및 상기 데이터를 성공적으로 저장한 스토리지 노드의 리스트를 송신하는 수단을 포함하는 것을 특징으로 하는 서버. - 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE0802277A SE533007C2 (sv) | 2008-10-24 | 2008-10-24 | Distribuerad datalagring |
SE0802277-4 | 2008-10-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110086114A KR20110086114A (ko) | 2011-07-27 |
KR101635238B1 true KR101635238B1 (ko) | 2016-06-30 |
Family
ID=41404359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117011630A KR101635238B1 (ko) | 2008-10-24 | 2009-10-21 | 분산형 데이터 스토리지 |
Country Status (15)
Country | Link |
---|---|
US (7) | US8688630B2 (ko) |
EP (3) | EP3617897B1 (ko) |
JP (1) | JP5553364B2 (ko) |
KR (1) | KR101635238B1 (ko) |
CN (1) | CN102301367B (ko) |
AU (1) | AU2009306386B2 (ko) |
BR (1) | BRPI0914437A2 (ko) |
CA (1) | CA2741477C (ko) |
DK (1) | DK2342663T3 (ko) |
EA (1) | EA201100545A1 (ko) |
ES (1) | ES2538129T3 (ko) |
MX (1) | MX2011004240A (ko) |
SE (1) | SE533007C2 (ko) |
WO (1) | WO2010046393A2 (ko) |
ZA (1) | ZA201103754B (ko) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8458290B2 (en) * | 2011-02-01 | 2013-06-04 | Limelight Networks, Inc. | Multicast mapped look-up on content delivery networks |
US20150207888A1 (en) * | 2008-09-19 | 2015-07-23 | Limelight Networks, Inc. | Multicast mapped look-up on content delivery networks |
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US9164494B2 (en) * | 2010-01-11 | 2015-10-20 | Innovation Timing Systems, LLC | Sports timing system (STS) integrated communication system and method |
EP2387200B1 (en) | 2010-04-23 | 2014-02-12 | Compuverde AB | Distributed data storage |
US11726955B2 (en) | 2010-06-19 | 2023-08-15 | Hewlett Packard Enterprise Development Lp | Methods and apparatus for efficient container location database snapshot operation |
US9323775B2 (en) | 2010-06-19 | 2016-04-26 | Mapr Technologies, Inc. | Map-reduce ready distributed file system |
US8392368B1 (en) | 2010-08-27 | 2013-03-05 | Disney Enterprises, Inc. | System and method for distributing and accessing files in a distributed storage system |
US8768981B1 (en) * | 2010-08-27 | 2014-07-01 | Disney Enterprises, Inc. | System and method for distributing and accessing files in a distributed storage system |
US8290919B1 (en) | 2010-08-27 | 2012-10-16 | Disney Enterprises, Inc. | System and method for distributing and accessing files in a distributed storage system |
EP2439908A1 (en) * | 2010-09-20 | 2012-04-11 | Thomson Licensing | Method of data replication in a distributed data storage system and corresponding device |
JP2012088955A (ja) * | 2010-10-20 | 2012-05-10 | Nec Corp | データ複製システム、データ複製サーバ、データ複製方法、及び、データ複製プログラム |
US9710344B1 (en) | 2010-12-13 | 2017-07-18 | Amazon Technologies, Inc. | Locality based quorum eligibility |
US8473775B1 (en) | 2010-12-14 | 2013-06-25 | Amazon Technologies, Inc. | Locality based quorums |
RU2595493C2 (ru) | 2011-01-10 | 2016-08-27 | Стороун Лтд. | Крупномасштабная система хранения данных |
US20120185433A1 (en) * | 2011-01-14 | 2012-07-19 | International Business Machines Corporation | Priority-based asynchronous data replication |
US8521813B2 (en) | 2011-02-01 | 2013-08-27 | Limelight Networks, Inc. | Content replication workflow in content delivery networks |
US8478858B2 (en) | 2011-02-01 | 2013-07-02 | Limelight Networks, Inc. | Policy management for content storage in content delivery networks |
US8615577B2 (en) | 2011-02-01 | 2013-12-24 | Limelight Networks, Inc. | Policy based processing of content objects in a content delivery network using mutators |
US8396970B2 (en) | 2011-02-01 | 2013-03-12 | Limelight Networks, Inc. | Content processing between locations workflow in content delivery networks |
ES2723781T3 (es) * | 2011-08-03 | 2019-09-02 | Amadeus Sas | Método y sistema para mantener consistencia fuerte de contenidos replicados distribuidos en un sistema de cliente/servidor |
US9338019B2 (en) | 2013-01-23 | 2016-05-10 | Nexenta Systems, Inc. | Scalable transport method for multicast replication |
US9910904B2 (en) * | 2011-08-30 | 2018-03-06 | International Business Machines Corporation | Replication of data objects from a source server to a target server |
US9626378B2 (en) * | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US8650365B2 (en) | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US9021053B2 (en) * | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
JP5910117B2 (ja) * | 2012-01-30 | 2016-04-27 | 富士通株式会社 | ファイルシステム |
CN103294675B (zh) * | 2012-02-23 | 2018-08-03 | 上海盛大网络发展有限公司 | 一种分布式存储系统中的数据更新方法及装置 |
CN102694863B (zh) * | 2012-05-30 | 2015-08-26 | 电子科技大学 | 基于负载调整和系统容错的分布式存储系统的实现方法 |
CN102821045B (zh) * | 2012-08-03 | 2015-07-22 | 中兴通讯股份有限公司 | 多播报文复制方法及装置 |
US8589659B1 (en) * | 2012-11-08 | 2013-11-19 | DSSD, Inc. | Method and system for global namespace with consistent hashing |
US9479587B2 (en) | 2013-01-23 | 2016-10-25 | Nexenta Systems, Inc. | Scalable object storage using multicast transport |
JP5711772B2 (ja) * | 2013-01-29 | 2015-05-07 | 日本電信電話株式会社 | クラスタシステム |
US10452284B2 (en) | 2013-02-05 | 2019-10-22 | International Business Machines Corporation | Storage system based host computer monitoring |
US9171042B1 (en) | 2013-02-25 | 2015-10-27 | Emc Corporation | Parallel processing database tree structure |
US9984083B1 (en) * | 2013-02-25 | 2018-05-29 | EMC IP Holding Company LLC | Pluggable storage system for parallel query engines across non-native file systems |
KR102092921B1 (ko) | 2013-06-28 | 2020-03-24 | 삼성전자주식회사 | 시뮬레이션 장치 및 분산 시뮬레이션 시스템 |
CN103731505A (zh) * | 2014-01-17 | 2014-04-16 | 中国联合网络通信集团有限公司 | 一种数据分布式存储方法及系统 |
CN104320452B (zh) * | 2014-10-22 | 2017-12-26 | 南京市测绘勘察研究院股份有限公司 | 一种地理数据采集\成图\管理云服务系统及其方法 |
CN104360915B (zh) * | 2014-10-31 | 2017-08-01 | 北京思特奇信息技术股份有限公司 | 一种基于分布式存储的数据恢复方法及装置 |
US10148748B2 (en) * | 2015-02-26 | 2018-12-04 | Microsoft Technology Licensing, Llc | Co-locating peer devices for peer matching |
US10725708B2 (en) | 2015-07-31 | 2020-07-28 | International Business Machines Corporation | Replication of versions of an object from a source storage to a target storage |
US10306005B1 (en) * | 2015-09-30 | 2019-05-28 | EMC IP Holding Company LLC | Data retrieval system and method |
US10341181B2 (en) * | 2016-03-07 | 2019-07-02 | International Business Machines Corporation | Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems |
US10628399B2 (en) * | 2016-04-29 | 2020-04-21 | International Business Machines Corporation | Storing data in a dispersed storage network with consistency |
CN106250055A (zh) * | 2016-07-12 | 2016-12-21 | 乐视控股(北京)有限公司 | 一种数据存储方法及系统 |
CN106652153B (zh) * | 2016-10-17 | 2019-03-26 | 深圳市穗彩科技开发有限公司 | 可扩展的彩票检索派彩方法及系统 |
CN108255640B (zh) * | 2017-12-15 | 2021-11-02 | 云南省科学技术情报研究院 | 分布式存储中冗余数据快速恢复方法及装置 |
CN108235751B (zh) * | 2017-12-18 | 2020-04-14 | 华为技术有限公司 | 识别对象存储设备亚健康的方法、装置和数据存储系统 |
US11216420B2 (en) * | 2018-07-31 | 2022-01-04 | Nutanix, Inc. | System and method for high replication factor (RF) data replication |
JP2020046927A (ja) | 2018-09-19 | 2020-03-26 | キオクシア株式会社 | ストレージ装置、ストレージシステム、および方法 |
US11005825B2 (en) | 2018-11-13 | 2021-05-11 | Seagate Technology Llc | Sensor nodes and host forming a tiered ecosystem that uses public and private data for duplication |
US11388136B2 (en) | 2019-06-18 | 2022-07-12 | Nutanix, Inc. | Dynamic distributed service location discovery |
CN114830105A (zh) * | 2020-02-04 | 2022-07-29 | 华为技术有限公司 | 一种数据读取方法以及终端 |
US11893064B2 (en) * | 2020-02-05 | 2024-02-06 | EMC IP Holding Company LLC | Reliably maintaining strict consistency in cluster wide state of opened files in a distributed file system cluster exposing a global namespace |
US11544258B2 (en) | 2020-02-05 | 2023-01-03 | Ebay Inc. | Selecting a host based on quality of stored data |
JP7452840B2 (ja) * | 2020-02-10 | 2024-03-19 | Necソリューションイノベータ株式会社 | 情報処理方法 |
US11544147B2 (en) | 2020-05-22 | 2023-01-03 | Vmware, Inc. | Using erasure coding across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage |
US11556423B2 (en) | 2020-05-22 | 2023-01-17 | Vmware, Inc. | Using erasure coding in a single region to reduce the likelihood of losing objects maintained in cloud object storage |
US11481319B2 (en) * | 2020-05-22 | 2022-10-25 | Vmware, Inc. | Using data mirroring across multiple regions to reduce the likelihood of losing objects maintained in cloud object storage |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002044835A2 (en) | 2000-11-28 | 2002-06-06 | Gingerich Gregory L | A method and system for software and hardware multiplicity |
US7266556B1 (en) | 2000-12-29 | 2007-09-04 | Intel Corporation | Failover architecture for a distributed storage system |
JP2008527547A (ja) | 2005-01-07 | 2008-07-24 | トムソン グローバル リソーシーズ | データベースの分散ロードのためのシステム、方法およびソフトウェア |
Family Cites Families (274)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707707A (en) | 1970-11-12 | 1972-12-26 | Cipher Data Prod | Digital cassette magnetic tape recorder and reproducer |
JPS5628707A (en) | 1979-08-20 | 1981-03-20 | Hitachi Ltd | Hair dryer |
JPS6348527Y2 (ko) | 1984-09-19 | 1988-12-14 | ||
JP3139884B2 (ja) * | 1993-06-14 | 2001-03-05 | 株式会社東芝 | 多重要素処理システム |
US5713017A (en) | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
JPH103421A (ja) | 1995-11-20 | 1998-01-06 | Matsushita Electric Ind Co Ltd | 仮想ファイル管理システム |
US5787247A (en) | 1996-07-12 | 1998-07-28 | Microsoft Corporation | Replica administration without data loss in a store and forward replication enterprise |
US5924094A (en) | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6021118A (en) | 1997-02-10 | 2000-02-01 | Lucent Techologies Inc. | Synchronization methods for distributed processing systems having replicated data |
US6003065A (en) | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US6259701B1 (en) | 1997-09-11 | 2001-07-10 | At&T Corp. | Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session |
US6055543A (en) | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
CA2318908C (en) | 1998-01-23 | 2007-04-03 | Filepool N.V. | Content addressable information encapsulation, representation, and transfer |
JPH11249874A (ja) | 1998-02-27 | 1999-09-17 | Toshiba Corp | コンピュータシステム、同システムにおける同期処理方法および記録媒体 |
US6510162B1 (en) | 1998-05-27 | 2003-01-21 | 3Com Corporation | System and method for managing channel usage in a data over cable system |
JP4146983B2 (ja) | 1999-02-26 | 2008-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム |
US6658016B1 (en) | 1999-03-05 | 2003-12-02 | Broadcom Corporation | Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control |
US7774469B2 (en) * | 1999-03-26 | 2010-08-10 | Massa Michael T | Consistent cluster operational data in a server cluster using a quorum of replicas |
US6401120B1 (en) * | 1999-03-26 | 2002-06-04 | Microsoft Corporation | Method and system for consistent cluster operational data in a server cluster using a quorum of replicas |
US6389432B1 (en) | 1999-04-05 | 2002-05-14 | Auspex Systems, Inc. | Intelligent virtual volume access |
JP2000322292A (ja) | 1999-05-10 | 2000-11-24 | Nec Corp | クラスタ型データサーバシステム及びデータ格納方法 |
US6952741B1 (en) | 1999-06-30 | 2005-10-04 | Computer Sciences Corporation | System and method for synchronizing copies of data in a computer system |
US7634453B1 (en) | 1999-08-13 | 2009-12-15 | Storage Technology Corporation | Distributed file data location |
US6976165B1 (en) | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US6499090B1 (en) | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
US6546388B1 (en) | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US6542972B2 (en) | 2000-01-31 | 2003-04-01 | Commvault Systems, Inc. | Logical view and access to physical storage in modular data and storage management system |
US6738766B2 (en) | 2000-02-02 | 2004-05-18 | Doongo Technologies, Inc. | Apparatus and methods for providing personalized application search results for wireless devices based on user profiles |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US6952737B1 (en) | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US7428540B1 (en) * | 2000-03-03 | 2008-09-23 | Intel Corporation | Network storage system |
US6470420B1 (en) | 2000-03-31 | 2002-10-22 | Western Digital Ventures, Inc. | Method for designating one of a plurality of addressable storage devices to process a data transfer request |
WO2001082678A2 (en) | 2000-05-02 | 2001-11-08 | Sun Microsystems, Inc. | Cluster membership monitor |
US8281022B1 (en) * | 2000-06-30 | 2012-10-02 | Emc Corporation | Method and apparatus for implementing high-performance, scaleable data processing and storage systems |
US6826564B2 (en) | 2000-07-10 | 2004-11-30 | Fastforward Networks | Scalable and programmable query distribution and collection in a network of queryable devices |
US6732237B1 (en) | 2000-08-29 | 2004-05-04 | Oracle International Corporation | Multi-tier caching system |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation in a distributed segmented file system |
US6782389B1 (en) | 2000-09-12 | 2004-08-24 | Ibrix, Inc. | Distributing files across multiple, permissibly heterogeneous, storage devices |
US20040236798A1 (en) | 2001-09-11 | 2004-11-25 | Sudhir Srinivasan | Migration of control in a distributed segmented file system |
WO2002035359A2 (en) | 2000-10-26 | 2002-05-02 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
SE520129C2 (sv) | 2000-10-27 | 2003-05-27 | Terraplay Systems Ab | Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer |
US6985956B2 (en) * | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
US7165096B2 (en) | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
EP1349982A1 (de) | 2000-12-27 | 2003-10-08 | BSH Bosch und Siemens Hausgeräte GmbH | Verfahren und vorrichtung zum glätten von kleidungsstücken |
US6768871B2 (en) | 2001-01-30 | 2004-07-27 | The Regents Of The University Of California | Optical layer multicasting using a multicast switch to effect survivability and security |
US6865603B2 (en) | 2001-01-31 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Correcting for network address changes |
US7069295B2 (en) | 2001-02-14 | 2006-06-27 | The Escher Group, Ltd. | Peer-to-peer enterprise storage |
US20020156912A1 (en) | 2001-02-15 | 2002-10-24 | Hurst John T. | Programming content distribution |
US7062490B2 (en) | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US6839815B2 (en) | 2001-05-07 | 2005-01-04 | Hitachi, Ltd. | System and method for storage on demand service in a global SAN environment |
US6918013B2 (en) | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7039622B2 (en) | 2001-09-12 | 2006-05-02 | Sas Institute Inc. | Computer-implemented knowledge repository interface system and method |
US7054867B2 (en) * | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
GB2381427A (en) | 2001-10-27 | 2003-04-30 | Hewlett Packard Co | Spanning tree in peer to peer networks |
WO2003039071A1 (en) * | 2001-10-29 | 2003-05-08 | Sun Microsystems, Inc. | Method to manage high availability equipments |
US7054910B1 (en) | 2001-12-20 | 2006-05-30 | Emc Corporation | Data replication facility for distributed computing environments |
US6917941B2 (en) | 2001-12-28 | 2005-07-12 | Channel Intelligence, Inc. | Method and apparatus for creation and maintenance of database structure |
JP4202026B2 (ja) * | 2002-01-31 | 2008-12-24 | 株式会社アンソナ | ストレージシステムおよびストレージ装置 |
US7243103B2 (en) * | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
JP4198920B2 (ja) * | 2002-02-26 | 2008-12-17 | エイディシーテクノロジー株式会社 | バックアップシステム、バックアップ用プログラムおよびバックアップ方法 |
US7020665B2 (en) | 2002-03-07 | 2006-03-28 | Microsoft Corporation | File availability in distributed file storage systems |
JP2003271316A (ja) | 2002-03-14 | 2003-09-26 | Hitachi Ltd | ストレージシステム、その動作プログラム及びその運用方法、情報処理端末及びその動作プログラム、データ管理システム |
US7257645B2 (en) | 2002-05-01 | 2007-08-14 | Bea Systems, Inc. | System and method for storing large messages |
US7305585B2 (en) | 2002-05-23 | 2007-12-04 | Exludus Technologies Inc. | Asynchronous and autonomous data replication |
US7117294B1 (en) * | 2002-05-28 | 2006-10-03 | Oracle International Corporation | Method and system for archiving and compacting data in a data storage array |
US7574488B2 (en) | 2002-05-31 | 2009-08-11 | Hitachi, Ltd. | Method and apparatus for peer-to-peer file sharing |
US6732171B2 (en) | 2002-05-31 | 2004-05-04 | Lefthand Networks, Inc. | Distributed network storage system with virtualization |
US20030233455A1 (en) | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
US7631313B2 (en) | 2002-06-17 | 2009-12-08 | David Mayhew | System and method for transferring data |
US8060598B1 (en) | 2002-07-01 | 2011-11-15 | Sprint Communications Company L.P. | Computer network multicasting traffic monitoring and compensation |
JP4240930B2 (ja) | 2002-07-15 | 2009-03-18 | 株式会社日立製作所 | 複数ネットワークストレージの仮送想一元化方法及び装置 |
DE10237875A1 (de) | 2002-08-19 | 2004-03-04 | Siemens Ag | Vorrichtung, insbesondere Automatisierungsgerät, mit in Datei gespeicherter Dateiverzeichnisstruktur |
US7363346B2 (en) * | 2002-09-07 | 2008-04-22 | Appistry, Inc. | Reliably storing information across multiple computers such as in a hive of computers |
JP2005538470A (ja) | 2002-09-10 | 2005-12-15 | イグザグリッド システムズ, インコーポレイテッド | ノーダルフェイルオーバを用いるプライマリーデータバックアップおよびリモートデータバックアップ |
JP4254178B2 (ja) * | 2002-09-11 | 2009-04-15 | 富士ゼロックス株式会社 | 分散格納制御装置及び方法 |
US7206836B2 (en) | 2002-09-23 | 2007-04-17 | Sun Microsystems, Inc. | System and method for reforming a distributed data system cluster after temporary node failures or restarts |
US7146499B2 (en) * | 2002-09-30 | 2006-12-05 | International Business Machines Corporation | Security system for replicated storage devices on computer networks |
US7774325B2 (en) | 2002-10-17 | 2010-08-10 | Intel Corporation | Distributed network attached storage system |
US20060031439A1 (en) | 2002-10-29 | 2006-02-09 | Saffre Fabrice T | Method and apparatus for network management |
US7328243B2 (en) | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
US7565419B1 (en) | 2002-11-22 | 2009-07-21 | Symantec Operating Corporation | Conflict resolution in a peer to peer network |
US20040139167A1 (en) | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
US7624158B2 (en) | 2003-01-14 | 2009-11-24 | Eycast Inc. | Method and apparatus for transmission and storage of digital medical data |
US7320009B1 (en) | 2003-03-28 | 2008-01-15 | Novell, Inc. | Methods and systems for file replication utilizing differences between versions of files |
US7328256B2 (en) | 2003-06-02 | 2008-02-05 | Apple Inc. | Method and apparatus for distributing computer files across a network to multiple clients |
US20040260775A1 (en) | 2003-06-20 | 2004-12-23 | Xerox Corporation | System and method for sending messages |
US7694086B1 (en) | 2003-06-30 | 2010-04-06 | Symantec Operating Corporation | Method and system for incremental backup of data volumes |
US7523217B2 (en) | 2003-07-15 | 2009-04-21 | Hewlett-Packard Development Company, L.P. | System and method having improved efficiency and reliability for distributing a file among a plurality of recipients |
US20050015461A1 (en) | 2003-07-17 | 2005-01-20 | Bruno Richard | Distributed file system |
JP2005044003A (ja) | 2003-07-23 | 2005-02-17 | Fujitsu Ltd | 認証装置、方法、及びプログラム |
US6983429B2 (en) | 2003-09-30 | 2006-01-03 | Bull Hn Information Systems Inc. | Formal proof methods for analyzing circuit loading problems under operating conditions |
US20130097302A9 (en) | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
WO2005042713A2 (en) | 2003-10-28 | 2005-05-12 | The Johns Hopkins University | Quantitative multiplex methylation-specific pcr |
US7340510B1 (en) * | 2003-11-18 | 2008-03-04 | Cisco Technology, Inc. | Content delivery network (CDN) replication status reporter |
JP2005165516A (ja) * | 2003-12-01 | 2005-06-23 | Hitachi Ltd | ストレージ制御装置、ストレージシステム、及びストレージシステムの制御方法 |
US7376945B1 (en) | 2003-12-02 | 2008-05-20 | Cisco Technology, Inc. | Software change modeling for network devices |
US7039661B1 (en) | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
US7822711B1 (en) | 2003-12-31 | 2010-10-26 | Symantec Operating Corporation | Conflict resolution for a distributed file sharing system |
US8566446B2 (en) * | 2004-01-28 | 2013-10-22 | Hewlett-Packard Development Company, L.P. | Write operation control in storage networks |
US7383463B2 (en) * | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US7385978B1 (en) * | 2004-02-19 | 2008-06-10 | Cisco Technology, Inc. | Method and apparatus for reliable multicast distribution |
US9160571B2 (en) | 2004-03-11 | 2015-10-13 | Hewlett-Packard Development Company, L.P. | Requesting a service from a multicast network |
JP4448719B2 (ja) | 2004-03-19 | 2010-04-14 | 株式会社日立製作所 | ストレージシステム |
JP2005276094A (ja) * | 2004-03-26 | 2005-10-06 | Hitachi Ltd | 分散ストレージ装置のファイル管理方法及び分散ストレージシステム並びにプログラム |
US7503052B2 (en) | 2004-04-14 | 2009-03-10 | Microsoft Corporation | Asynchronous database API |
US20060023969A1 (en) | 2004-04-30 | 2006-02-02 | Lara Eyal D | Collaboration and multimedia authoring |
ATE390013T1 (de) | 2004-05-18 | 2008-04-15 | British Telecomm | Peer-to-peer-netze |
US7490089B1 (en) | 2004-06-01 | 2009-02-10 | Sanbolic, Inc. | Methods and apparatus facilitating access to shared storage among multiple computers |
US7634566B2 (en) | 2004-06-03 | 2009-12-15 | Cisco Technology, Inc. | Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality |
US7330997B1 (en) * | 2004-06-03 | 2008-02-12 | Gary Odom | Selective reciprocal backup |
US7873650B1 (en) | 2004-06-11 | 2011-01-18 | Seisint, Inc. | System and method for distributing data in a parallel processing system |
US20050278552A1 (en) * | 2004-06-14 | 2005-12-15 | Vincent Delisle | Secure virtual account |
US20060031230A1 (en) | 2004-07-21 | 2006-02-09 | Kumar Sinha M | Data storage systems |
US20060047776A1 (en) | 2004-08-31 | 2006-03-02 | Chieng Stephen S | Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link |
US20060080574A1 (en) * | 2004-10-08 | 2006-04-13 | Yasushi Saito | Redundant data storage reconfiguration |
US8090776B2 (en) | 2004-11-01 | 2012-01-03 | Microsoft Corporation | Dynamic content change notification |
JP4222295B2 (ja) | 2004-11-19 | 2009-02-12 | パナソニック株式会社 | ビデオサーバおよびこれを用いた映像配信システム |
US7631023B1 (en) | 2004-11-24 | 2009-12-08 | Symantec Operating Corporation | Performance-adjusted data allocation in a multi-device file system |
JP4451293B2 (ja) | 2004-12-10 | 2010-04-14 | 株式会社日立製作所 | 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 |
US7320088B1 (en) * | 2004-12-28 | 2008-01-15 | Veritas Operating Corporation | System and method to automate replication in a clustered environment |
JP4843976B2 (ja) * | 2005-03-25 | 2011-12-21 | 日本電気株式会社 | レプリケーションシステムと方法 |
US7454426B2 (en) | 2005-04-12 | 2008-11-18 | International Business Machines Corporation | Referential integrity across a distributed directory |
JP2006293864A (ja) * | 2005-04-13 | 2006-10-26 | Hitachi Ltd | ストレージシステム、データ移動管理システム、及びデータ移動管理方法 |
US7631016B2 (en) | 2005-05-04 | 2009-12-08 | Oracle International Corporation | Providing the latest version of a data item from an N-replica set |
US7698391B2 (en) * | 2005-05-16 | 2010-04-13 | Oracle International Corporation | Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate |
WO2006124911A2 (en) | 2005-05-18 | 2006-11-23 | Ibrix, Inc. | Balanced computer architecture |
CN101305350A (zh) | 2005-06-09 | 2008-11-12 | 惠而浦公司 | 与家用电器内的至少一个部件通信以及对其进行管理的软件体系系统和方法 |
US7523146B2 (en) | 2005-06-21 | 2009-04-21 | Apple Inc. | Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment |
US8401997B1 (en) | 2005-06-30 | 2013-03-19 | Symantec Operating Corporation | System and method for replication using consistency interval markers in a distributed storage environment |
US7631045B2 (en) | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US7574443B2 (en) | 2005-07-25 | 2009-08-11 | Parascale, Inc. | Scalable clustered storage system |
US9305011B2 (en) * | 2005-07-27 | 2016-04-05 | Hitachi Data Systems Corporation | Method for improving mean time to data loss (MTDL) in a fixed content distributed data storage |
US7568069B2 (en) | 2005-07-29 | 2009-07-28 | Lsi Corporation | Method for creating a large-scale storage array system out of multiple mid-range storage arrays |
US20070028291A1 (en) * | 2005-07-29 | 2007-02-01 | Bit 9, Inc. | Parametric content control in a network security system |
JP4747733B2 (ja) | 2005-08-22 | 2011-08-17 | ブラザー工業株式会社 | ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム |
US20070055703A1 (en) | 2005-09-07 | 2007-03-08 | Eyal Zimran | Namespace server using referral protocols |
US9996413B2 (en) | 2007-10-09 | 2018-06-12 | International Business Machines Corporation | Ensuring data integrity on a dispersed storage grid |
US7752211B1 (en) * | 2005-09-30 | 2010-07-06 | Emc Corporation | Adaptive index processing |
US7558859B2 (en) | 2005-10-17 | 2009-07-07 | Microsoft Corporation | Peer-to-peer auction based data distribution |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
CA2627436A1 (en) | 2005-11-04 | 2007-05-18 | Thomson Licensing | Method and apparatus for managing media storage devices |
BRPI0619070B1 (pt) | 2005-11-23 | 2019-07-30 | Envisionit Llc | Sistema de radiodifusão de mensagem, e, métodos de transferência de mensagens por radiodifusão para uma área alvo de radiodifusão, e de controle de admissão para autorizar uma submissão de uma mensagem de radiodifusão para uma área alvo de radiodifusão |
EP1798934A1 (en) | 2005-12-13 | 2007-06-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for organizing nodes in a network |
US8554758B1 (en) * | 2005-12-29 | 2013-10-08 | Amazon Technologies, Inc. | Method and apparatus for monitoring and maintaining health in a searchable data service |
US7778972B1 (en) | 2005-12-29 | 2010-08-17 | Amazon Technologies, Inc. | Dynamic object replication within a distributed storage system |
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US7546484B2 (en) * | 2006-02-08 | 2009-06-09 | Microsoft Corporation | Managing backup solutions with light-weight storage nodes |
US7623474B2 (en) | 2006-02-14 | 2009-11-24 | Cisco Technology, Inc. | Techniques for distributing information using multicast subsets |
US7552148B2 (en) * | 2006-02-28 | 2009-06-23 | Microsoft Corporation | Shutdown recovery |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US7778183B2 (en) | 2006-03-31 | 2010-08-17 | International Business Machines Corporation | Data replica selector |
US7480817B2 (en) | 2006-03-31 | 2009-01-20 | International Business Machines Corporation | Method for replicating data based on probability of concurrent failure |
US20070288638A1 (en) | 2006-04-03 | 2007-12-13 | British Columbia, University Of | Methods and distributed systems for data location and delivery |
EP2158542B1 (en) | 2006-04-04 | 2019-06-05 | Red Hat, Inc. | Storage assignment and erasure coding technique for scalable and fault tolerant storage system |
US20070255763A1 (en) | 2006-04-27 | 2007-11-01 | International Business Machines Corporation | Database replication method and system |
US20080126357A1 (en) | 2006-05-04 | 2008-05-29 | Wambo, Inc. | Distributed file storage and transmission system |
US8255420B2 (en) | 2006-05-23 | 2012-08-28 | Noryan Holding Corporation | Distributed storage |
WO2007134918A1 (en) | 2006-05-23 | 2007-11-29 | Noryan Holding Corporation | Distributed storage |
US20080005195A1 (en) | 2006-06-30 | 2008-01-03 | Microsoft Corporation | Versioning synchronization for mass p2p file sharing |
US8117155B2 (en) | 2006-06-30 | 2012-02-14 | Microsoft Corporation | Collection-based object replication |
US7546486B2 (en) | 2006-08-28 | 2009-06-09 | Bycast Inc. | Scalable distributed object management in a distributed fixed content storage system |
US20080077635A1 (en) | 2006-09-22 | 2008-03-27 | Digital Bazaar, Inc. | Highly Available Clustered Storage Network |
US7840992B1 (en) * | 2006-09-28 | 2010-11-23 | Emc Corporation | System and method for environmentally aware data protection |
US7680048B2 (en) | 2006-10-06 | 2010-03-16 | International Business Machiens Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamically adjusting local routing strategies |
US8176265B2 (en) | 2006-10-30 | 2012-05-08 | Nvidia Corporation | Shared single-access memory with management of multiple parallel requests |
US8094585B2 (en) | 2006-10-31 | 2012-01-10 | International Business Machines Corporation | Membership management of network nodes |
US8555335B2 (en) | 2006-11-01 | 2013-10-08 | Microsoft Corporation | Securing distributed application information delivery |
US8190561B1 (en) | 2006-12-06 | 2012-05-29 | At&T Mobility Ii Llc | LDAP replication priority queuing mechanism |
US7590672B2 (en) | 2006-12-11 | 2009-09-15 | Bycast Inc. | Identification of fixed content objects in a distributed fixed content storage system |
GB2445986A (en) | 2007-01-17 | 2008-07-30 | Connect Spot Ltd | Database Update Systems for Wireless communications Systems |
US8756253B2 (en) * | 2007-01-22 | 2014-06-17 | Xerox Corporation | Two-level structured overlay design for cluster management in a peer-to-peer network |
WO2008102195A1 (en) * | 2007-02-22 | 2008-08-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Consistent and fault tolerant distributed hash table (dht) overlay network |
US8635691B2 (en) | 2007-03-02 | 2014-01-21 | 403 Labs, Llc | Sensitive data scanner |
US7584294B2 (en) | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
JP2008234445A (ja) * | 2007-03-22 | 2008-10-02 | Brother Ind Ltd | コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム |
US8150800B2 (en) * | 2007-03-28 | 2012-04-03 | Netapp, Inc. | Advanced clock synchronization technique |
JP2008250773A (ja) | 2007-03-30 | 2008-10-16 | Brother Ind Ltd | 情報配信システム、管理装置用プログラム及び情報処理装置用プログラム |
JP4696089B2 (ja) | 2007-03-30 | 2011-06-08 | 三菱電機インフォメーションシステムズ株式会社 | 分散ストレージシステム |
US7975115B2 (en) | 2007-04-11 | 2011-07-05 | Dot Hill Systems Corporation | Method and apparatus for separating snapshot preserved and write data |
US20080263183A1 (en) * | 2007-04-20 | 2008-10-23 | Lisa Midori Nishiyama | Management of Kernel configurations for nodes in a clustered system |
US8706914B2 (en) | 2007-04-23 | 2014-04-22 | David D. Duchesneau | Computing infrastructure |
TWI483584B (zh) | 2007-06-04 | 2015-05-01 | Graco Minnesota Inc | 分配式監視及控制流體處理系統 |
US7676704B2 (en) | 2007-06-29 | 2010-03-09 | Symantec Corporation | Resource management for scalable file system recovery |
US8332375B2 (en) | 2007-08-29 | 2012-12-11 | Nirvanix, Inc. | Method and system for moving requested files from one storage location to another |
WO2009031915A1 (fr) | 2007-09-03 | 2009-03-12 | Obschestvo S Ogranichennoi Otvetstvennostiyu 'meralabs' | Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés |
US8533256B2 (en) | 2007-10-09 | 2013-09-10 | Cleversafe, Inc. | Object interface to a dispersed data storage network |
US8185614B2 (en) | 2007-10-09 | 2012-05-22 | Cleversafe, Inc. | Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry |
US7913030B2 (en) | 2007-12-28 | 2011-03-22 | Sandisk Il Ltd. | Storage device with transaction logging capability |
US7979662B2 (en) | 2007-12-28 | 2011-07-12 | Sandisk Il Ltd. | Storage device with transaction indexing capability |
US7899850B2 (en) | 2008-02-22 | 2011-03-01 | Bycast, Inc. | Relational objects for the optimized management of fixed-content storage systems |
US20090228669A1 (en) | 2008-03-10 | 2009-09-10 | Microsoft Corporation | Storage Device Optimization Using File Characteristics |
US20090249222A1 (en) | 2008-03-25 | 2009-10-01 | Square Products Corporation | System and method for simultaneous media presentation |
US8577957B2 (en) | 2008-04-01 | 2013-11-05 | Litl Llc | System and method for streamlining user interaction with electronic content |
JP2009259007A (ja) | 2008-04-17 | 2009-11-05 | Nippon Telegr & Teleph Corp <Ntt> | 分散格納方法、分散格納システム及び分散格納装置 |
WO2009134772A2 (en) | 2008-04-29 | 2009-11-05 | Maxiscale, Inc | Peer-to-peer redundant file server system and methods |
US20100010975A1 (en) * | 2008-07-10 | 2010-01-14 | Morris Robert P | Methods And Systems For Resolving A Query Region To A Network Identifier |
US7869383B2 (en) * | 2008-07-24 | 2011-01-11 | Symform, Inc. | Shared community storage network |
US8255430B2 (en) | 2008-08-26 | 2012-08-28 | Caringo, Inc. | Shared namespace for storage clusters |
US8458128B2 (en) | 2008-08-26 | 2013-06-04 | Microsoft Corporation | Minimal extensions required for multi-master offline and collaboration for devices and web services |
WO2010037117A1 (en) | 2008-09-29 | 2010-04-01 | Nirvanix, Inc. | Client application program interface for network-attached storage system |
WO2010045109A1 (en) | 2008-10-17 | 2010-04-22 | Azuki Systems, Inc. | Method and apparatus for efficient http data streaming |
US9781148B2 (en) | 2008-10-21 | 2017-10-03 | Lookout, Inc. | Methods and systems for sharing risk responses between collections of mobile communications devices |
US8347386B2 (en) | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US8443062B2 (en) * | 2008-10-23 | 2013-05-14 | Microsoft Corporation | Quorum based transactionally consistent membership management in distributed storage systems |
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US8898236B2 (en) | 2008-10-31 | 2014-11-25 | Netapp, Inc. | Automated conversion of versioned data collections |
KR101285113B1 (ko) | 2008-10-31 | 2013-07-17 | 에스케이플래닛 주식회사 | 컨텐츠 전달 시스템, 방법, 서비스 서버, 이동통신단말기 및 저장 매체 |
US8561052B2 (en) | 2008-12-08 | 2013-10-15 | Harris Corporation | Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method |
EP2377294B1 (en) | 2008-12-18 | 2017-05-17 | Scality, SA | Multipurpose storage system based upon a distributed hashing mechanism with transactional support and failover capability |
US20100185693A1 (en) | 2009-01-20 | 2010-07-22 | Murty Venkataesh V | Methods and apparatus for creating an audit trail |
US8832023B2 (en) | 2009-01-30 | 2014-09-09 | Apple Inc. | System for managing distributed assets and metadata |
US8165122B2 (en) | 2009-05-26 | 2012-04-24 | Alcatel Lucent | System and method for converting unicast client requests into multicast client requests |
US8533151B2 (en) | 2009-05-26 | 2013-09-10 | Microsoft Corporation | Generating a local copy of a virtualized application package from a local installation |
US20130254314A1 (en) | 2009-06-09 | 2013-09-26 | Edmond K. Chow | Digital content delivery |
US8504797B2 (en) | 2009-06-02 | 2013-08-06 | Hitachi, Ltd. | Method and apparatus for managing thin provisioning volume by using file storage system |
US10108492B2 (en) | 2009-07-30 | 2018-10-23 | International Business Machines Corporation | Rebuilding data stored in a dispersed storage network |
US8458287B2 (en) | 2009-07-31 | 2013-06-04 | Microsoft Corporation | Erasure coded storage aggregation in data centers |
US20110035540A1 (en) | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US9189244B2 (en) | 2009-08-18 | 2015-11-17 | Adobe Systems Incorporated | Methods and systems for managing data service specifications |
US20110047413A1 (en) | 2009-08-20 | 2011-02-24 | Mcgill Robert E | Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer |
US8745170B2 (en) | 2009-08-27 | 2014-06-03 | Apple Inc. | Dynamic file streaming |
EP2480974B1 (en) | 2009-09-21 | 2018-09-05 | Qualcomm Incorporated | Distributed content storage and retrieval |
US8745342B2 (en) | 2009-09-24 | 2014-06-03 | Hitachi Ltd. | Computer system for controlling backups using wide area network |
US8620879B2 (en) | 2009-10-13 | 2013-12-31 | Google Inc. | Cloud based file storage service |
CN101710339B (zh) | 2009-11-20 | 2012-02-01 | 中国科学院计算技术研究所 | 控制机群文件系统中数据存储方法和系统及创建文件方法 |
US8190578B2 (en) | 2009-12-17 | 2012-05-29 | International Business Machines Corporation | Migration of versioned data between configuration management systems |
US9135268B2 (en) | 2009-12-30 | 2015-09-15 | Symantec Corporation | Locating the latest version of replicated data files |
US8683119B2 (en) | 2010-03-15 | 2014-03-25 | Cleversafe, Inc. | Access control in a dispersed storage network |
EP2548122B1 (en) | 2010-03-16 | 2021-06-09 | BlackBerry Limited | Highly scalable and distributed data de-duplication |
US20110238909A1 (en) | 2010-03-29 | 2011-09-29 | Pankaj Kumar | Multicasting Write Requests To Multiple Storage Controllers |
EP2387200B1 (en) | 2010-04-23 | 2014-02-12 | Compuverde AB | Distributed data storage |
US9552299B2 (en) | 2010-06-11 | 2017-01-24 | California Institute Of Technology | Systems and methods for rapid processing and storage of data |
US8468214B1 (en) | 2010-06-15 | 2013-06-18 | Proximetry, Inc. | Systems and methods for distributing content using attributes |
WO2011161849A1 (ja) | 2010-06-22 | 2011-12-29 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
CN101909058B (zh) | 2010-07-30 | 2013-01-16 | 天维讯达无线电设备检测(北京)有限责任公司 | 一种适合可信连接架构的平台鉴别策略管理方法及系统 |
US8495472B1 (en) | 2010-08-06 | 2013-07-23 | Amazon Technologies, Inc. | Method and system for performing financial reconciliation between two systems using checksums |
GB2544888A (en) | 2010-09-08 | 2017-05-31 | Saffron Digital Ltd | Delivering a file from a content provider to a client |
US9253199B2 (en) | 2010-09-09 | 2016-02-02 | Red Hat, Inc. | Verifying authenticity of a sender of an electronic message sent to a recipient using message salt |
US8504758B1 (en) | 2010-09-21 | 2013-08-06 | Amazon Technologies, Inc. | System and method for logical deletion of stored data objects |
US8660986B2 (en) | 2010-10-27 | 2014-02-25 | Microsoft Corporation | Preserving user intent in merging ordered objects |
KR20170016034A (ko) | 2010-11-05 | 2017-02-10 | 인터디지탈 패튼 홀딩스, 인크 | 장치 유효성 확인, 재난 표시, 및 복원 |
US9471593B1 (en) | 2010-12-30 | 2016-10-18 | Emc Corporation | Method and apparatus for ensuring consistent ordering of writes in a distributed database storage system |
US8949828B2 (en) | 2011-01-11 | 2015-02-03 | International Business Machines Corporation | Single point, scalable data synchronization for management of a virtual input/output server cluster |
US9020996B2 (en) | 2011-06-24 | 2015-04-28 | Stephen P. LORD | Synthetic view |
US9268665B2 (en) | 2011-07-26 | 2016-02-23 | Trimble Navigation Limited | System and method for identifying fault prone computer code files |
US8650365B2 (en) | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US9626378B2 (en) | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US9275063B1 (en) | 2011-09-30 | 2016-03-01 | Emc Corporation | Replication optimizated IO |
US9225780B2 (en) | 2012-02-24 | 2015-12-29 | Xyratex Technology Limited | Data integrity in a networked storage system |
US20130268632A1 (en) | 2012-04-05 | 2013-10-10 | Canon Kabushiki Kaisha | Server assisted authenticated device |
US8972478B1 (en) | 2012-05-23 | 2015-03-03 | Netapp, Inc. | Using append only log format in data storage cluster with distributed zones for determining parity of reliability groups |
US9256765B2 (en) | 2012-06-29 | 2016-02-09 | Kip Sign P1 Lp | System and method for identifying software changes |
US9344521B2 (en) | 2012-12-13 | 2016-05-17 | Red Hat, Inc. | Pluggable infrastructure for cloud provider selection |
US9367448B1 (en) | 2013-06-04 | 2016-06-14 | Emc Corporation | Method and system for determining data integrity for garbage collection of data storage systems |
US10025673B1 (en) | 2013-09-20 | 2018-07-17 | Amazon Technologies, Inc. | Restoring partitioned database tables from backup |
US9280678B2 (en) | 2013-12-02 | 2016-03-08 | Fortinet, Inc. | Secure cloud storage distribution and aggregation |
WO2015104833A1 (ja) | 2014-01-10 | 2015-07-16 | 株式会社日立製作所 | 情報システム及びi/o処理方法 |
US20150288659A1 (en) | 2014-04-03 | 2015-10-08 | Bitdefender IPR Management Ltd. | Systems and Methods for Mutual Integrity Attestation Between A Network Endpoint And A Network Appliance |
US9864874B1 (en) | 2014-05-21 | 2018-01-09 | Amazon Technologies, Inc. | Management of encrypted data storage |
JP6708948B2 (ja) | 2016-01-21 | 2020-06-10 | 日本電気株式会社 | ブロックストレージ |
US10102356B1 (en) | 2016-03-09 | 2018-10-16 | EMC IP Holding Company LLC | Securing storage control path against unauthorized access |
JP6348527B2 (ja) | 2016-03-10 | 2018-06-27 | 本田技研工業株式会社 | 車体後部構造 |
KR102527992B1 (ko) | 2016-03-14 | 2023-05-03 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10810088B1 (en) | 2016-05-13 | 2020-10-20 | NortonLifeLock Inc. | System and method of dynamic backup policy generation |
US10567406B2 (en) | 2016-08-16 | 2020-02-18 | International Business Machines Corporation | Cloud computing environment activity monitoring |
US10846137B2 (en) | 2018-01-12 | 2020-11-24 | Robin Systems, Inc. | Dynamic adjustment of application resources in a distributed computing system |
US11106810B2 (en) | 2018-07-30 | 2021-08-31 | EMC IP Holding Company LLC | Multi-tenant deduplication with non-trusted storage system |
US10877683B2 (en) | 2019-04-09 | 2020-12-29 | International Business Machines Corporation | Tiered storage optimization and migration |
-
2008
- 2008-10-24 SE SE0802277A patent/SE533007C2/sv not_active IP Right Cessation
-
2009
- 2009-10-21 MX MX2011004240A patent/MX2011004240A/es active IP Right Grant
- 2009-10-21 EP EP19191885.3A patent/EP3617897B1/en active Active
- 2009-10-21 US US13/125,524 patent/US8688630B2/en active Active
- 2009-10-21 CN CN200980142022.9A patent/CN102301367B/zh not_active Expired - Fee Related
- 2009-10-21 JP JP2011532619A patent/JP5553364B2/ja active Active
- 2009-10-21 DK DK09740675.5T patent/DK2342663T3/da active
- 2009-10-21 EP EP09740675.5A patent/EP2342663B1/en active Active
- 2009-10-21 BR BRPI0914437A patent/BRPI0914437A2/pt active Search and Examination
- 2009-10-21 EA EA201100545A patent/EA201100545A1/ru unknown
- 2009-10-21 WO PCT/EP2009/063796 patent/WO2010046393A2/en active Application Filing
- 2009-10-21 CA CA2741477A patent/CA2741477C/en not_active Expired - Fee Related
- 2009-10-21 ES ES09740675.5T patent/ES2538129T3/es active Active
- 2009-10-21 AU AU2009306386A patent/AU2009306386B2/en not_active Ceased
- 2009-10-21 KR KR1020117011630A patent/KR101635238B1/ko active IP Right Grant
- 2009-10-21 EP EP15153108.4A patent/EP2908257B1/en not_active Not-in-force
-
2011
- 2011-05-23 ZA ZA2011/03754A patent/ZA201103754B/en unknown
- 2011-06-28 US US13/170,672 patent/US9329955B2/en not_active Expired - Fee Related
- 2011-06-28 US US13/170,735 patent/US9026559B2/en active Active
-
2014
- 2014-01-31 US US14/169,699 patent/US9495432B2/en active Active
-
2016
- 2016-03-29 US US15/084,445 patent/US10650022B2/en active Active
-
2019
- 2019-05-13 US US16/410,688 patent/US11468088B2/en active Active
-
2022
- 2022-09-28 US US17/955,165 patent/US11907256B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002044835A2 (en) | 2000-11-28 | 2002-06-06 | Gingerich Gregory L | A method and system for software and hardware multiplicity |
US7266556B1 (en) | 2000-12-29 | 2007-09-04 | Intel Corporation | Failover architecture for a distributed storage system |
JP2008527547A (ja) | 2005-01-07 | 2008-07-24 | トムソン グローバル リソーシーズ | データベースの分散ロードのためのシステム、方法およびソフトウェア |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101635238B1 (ko) | 분산형 데이터 스토리지 | |
JP5612195B2 (ja) | 分散データストレージ | |
US8843710B2 (en) | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190619 Year of fee payment: 4 |