KR101369048B1 - 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 기술 - Google Patents

컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 기술 Download PDF

Info

Publication number
KR101369048B1
KR101369048B1 KR1020107014507A KR20107014507A KR101369048B1 KR 101369048 B1 KR101369048 B1 KR 101369048B1 KR 1020107014507 A KR1020107014507 A KR 1020107014507A KR 20107014507 A KR20107014507 A KR 20107014507A KR 101369048 B1 KR101369048 B1 KR 101369048B1
Authority
KR
South Korea
Prior art keywords
data
sub
graph
data chunks
file
Prior art date
Application number
KR1020107014507A
Other languages
English (en)
Other versions
KR20100099231A (ko
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 KR20100099231A publication Critical patent/KR20100099231A/ko
Application granted granted Critical
Publication of KR101369048B1 publication Critical patent/KR101369048B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 컴퓨터 시스템의 디듀플리케이트된(de-duplicated) 컴퓨터 파일-시스템을 백업하는 방법 및 시스템을 제공한다. 일 실시예에서, 상기 방법 및 시스템은, (1) 상기 파일-시스템을 파티션들로 분할하는 단계, 및 (2) 상기 파티션들 각각을 분리된 스토리지 매체 상에 저장하는 단계를 포함한다.

Description

컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 기술{BACKING UP A DE-DUPLICATED COMPUTER FILE-SYSTEM OF A COMPUTER SYSTEM}
본 발명은 컴퓨터 시스템들과 관련되고, 특히 컴퓨터 시스템의 디듀플리케이트된(de-duplicated) 컴퓨터 파일-시스템을 백업하는 방법 및 시스템과 관련된다.
일반적으로 컴퓨터 시스템은 컴퓨터 파일-시스템을 포함한다. 상기 파일-시스템은 디듀플리케이트된 파일 시스템일 수 있다.
컴퓨터 시스템들(예, 서버 컴퓨터 시스템들)은 데이터에 대해 효율적인 데이터 디듀플리케이션을 수행하는 기능을 필요로 한다. 컴퓨터 파일-시스템에 대한 백업 솔루션들(backup solutions)은 몇 가지 형태의 데이터 "디듀플리케이션" 또는 데이터 "리던던시 제거(redundancy elimination)" 알고리즘들을 포함하는 것이었다. 이들 알고리즘들은 전체-파일에서 또는 서브-파일 레벨에서 사용될 수 있다.
서브-파일 디듀플리케이션에 대한 가장 흔한 접근법들 중 하나는 데이터 핑거프린팅 알고리즘(data fingerprinting algorithm)(예, 라빈 핑거프린팅(Rabin fingerprinting))을 사용하여 먼저 데이터 스트림들(파일들)을 청크들(chunks)로 쪼개는(break) 것이다. 데이터 핑거프린팅 알고리즘은 알고리즘의 파라미터들에 기초한 "예상 크기"의 청크들을 생성하도록 설정될 수 있다. 파일들이 청크들로 있는 경우, 이들 청크들 각각의 내용을 고유하게 식별하기 위해 해싱 알고리즘(hashing algorithm)이 사용된다. 그런 다음, 이들 고유의 식별자들은 쿼리가능한 인덱스(queryable index) 내에 놓여진다. 이미 파일-시스템에 존재하는 청크가 발견되는 경우(상기 인덱스를 쿼리하거나 삽입을 시도하고 충돌이 생김으로써 발견됨), 그 청크는 그 청크에 대한 참조에 의해 대체될 수 있고, "디듀플리케이션" 이 발생한다. 청크된 각각의 파일에 대해, 어떻게 그것의 구성 부분들로부터 그 파일을 재구성할지를 식별하는, "청사진(blueprint)" 또는 청크 리스트가 생성된다.
이러한 종류의 디듀플리케이트된 파일-시스템에서의 한 가지 이슈는, 디스조인트(disjoint) 스토리지 매체(예, 테이프 시스템들)에 백업할 경우, 데이터 스토리지 포맷이 이 디듀플리케이트된 상태를 유지하는 것을 매우 어렵도록 한다는 점이다. 상기 데이터의 상호연결된 특성(interconnected nature)(객체 "청사진들"은 다수의 청크들을 참조하고, 디듀플리케이트된 청크들은 다수의 객체들을 다시 가리킴(point back)) 때문에, 디듀플리케이트된 시스템을 디스조인트 스토리지 매체로 백업하는 것은 어렵다. 하나의 객체를 읽음에 있어서는, 그 객체에 대한 데이터를 읽기 위해 다수의 스토리지 매체를 마운트할 것을 필요로 한다.
이러한 이유로 인해, 디듀플리케이트된 파일-시스템을 디스조인트 스토리지 매체로 백업하기 위한 종래의 시스템들은 데이터를 리듀플리케이트(re-duplicate)한다. 그리하여, 그 데이터의 참조 로컬리티(referential locality)가 유지되도록 한다. 그러나, 도 1에 도시된 종래 기술과 같은 시스템들은 디듀플리케이트된 파일-시스템들을 디스조인트 매체로 백업하는 것이 가능하지 않은 한편, 상기 파일-시스템의 디듀플리케이트된 상태를 유지하고 참조 로컬리티를 유지한다. 현재, 종래 기술의 시스템들은 상기 디듀플리케이트된 파일 데이터 모두에 접근하기 위해, 디스조인트 스토리지 매체의 언마운팅(unmounting)/리마운팅(remounting)을 필요로 한다.
그러므로, 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 향상된 방법 및 시스템이 요구된다.
따라서, 본 발명은, 일 측면에서는, 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 방법을 제공한다. 상기 방법은, 상기 파일-시스템을 파티션들로 분할하는 단계; 및 상기 파티션들 각각을 분리된 스토리지 매체 상에 저장하는 단계를 포함한다. 상기 분할하는 단계는 그래프 파티셔닝 알고리즘(graph partitioning algorithm)을 사용하는 단계를 포함한다. 상기 사용하는 단계는 상기 파일-시스템을 상호연결(interconnectivity) 없는 서브-그래프들로 파티셔닝하는 단계를 포함한다. 상기 파티셔닝하는 단계는, 만약 상기 서브-그래프들 중 하나의 서브-그래프가 상기 분리된 스토리지 매체 상에 전부(entirely) 저장될 수 없으면, 상기 서브-그래프가 연결되도록 하는 데이터를 식별하는 단계; 및 상기 서브-그래프가 연결되도록 하는 데이터를 리듀플리케이트하는 단계를 포함한다. 상기 방법은 모든 참조 그래프 파티션들(referencing graph partitions)에 상기 리듀플리케이트된 데이터를 세이브(save)하는 단계를 포함한다.
바람직하게는, 상기 식별하는 단계는 상기 서브-그래프가 연결되도록 하는 데이터의 청크들의 최소 세트를 발견하는 단계를 포함한다.
바람직하게는, 상기 식별하는 단계는 높은 참조 카운트들(high reference counts)을 갖는 상기 데이터의 청크들을 선택하는 단계를 포함한다.
바람직하게는, 상기 저장하는 단계는 분리된 스토리지 매체 각각이 꽉 찰 때까지는 상기 분리된 스토리지 매체 상에 상기 파티션들을 결합시키는 단계를 포함한다.
바람직하게는, 상기 저장하는 단계는 상기 파티션들 사이의 그래프 상호연결이 최소량들(minimized amounts)인 분리된 스토리지 매체 상에 상기 파티션들을 세이브하는 단계를 포함한다.
바람직하게는, 상기 세이브하는 단계는, 상기 컴퓨터 시스템 상에 동시에 마운트될 수 있는 분리된 스토리지 매체의 수를 확인(account for)하는 단계; 및 상기 분리된 스토리지 매체의 디스마운팅(dismounting) 및 리마운팅(remounting)을 위해 성능 페널티(performance penalty)를 고려(consider)하는 단계를 포함한다.
제2 측면에서, 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 시스템이 제공되는데, 상기 시스템은, 상기 파일-시스템을 파티션들로 분할하도록 구성된 분할 모듈(dividing module); 및 분리된 스토리지 매체 상에 상기 파티션들 각각을 저장하도록 구성된 저장 모듈(storing module)을 포함한다. 상기 분할 모듈은 그래프 파티셔닝 알고리즘을 사용하도록 구성된 사용 모듈(using module)을 포함한다. 상기 사용 모듈은 상기 파일-시스템을 상호연결 없는 서브-그래프들로 파티셔닝하도록 구성된 파티셔닝 모듈(partitioning module)을 포함한다. 만약 상기 서브-그래프들 중 하나의 서브-그래프가 전부 저장될 수 없으면, 상기 파티셔닝 모듈은, 상기 서브-그래프가 연결되도록 하는 데이터를 식별하도록 구성된 식별 모듈(identifying module); 및 상기 서브-그래프가 연결되도록 하는 데이터를 리듀플리케이트하도록 구성된 리듀플리케이팅 모듈(re-duplicating module)을 포함한다. 상기 시스템은 모든 참조 그래프 파티션들에 상기 리듀플리케이트된 데이터를 세이브하도록 구성된 세이브 모듈(saving module)을 더 포함한다.
바람직하게는, 상기 식별 모듈은 상기 서브-그래프가 연결되도록 하는 데이터의 청크들의 최소 세트를 발견하도록 구성된 확인 모듈(finding module)을 포함한다.
바람직하게는, 상기 식별 모듈은 높은 참조 카운트들을 갖는 상기 데이터의 청크들을 선택하도록 구성된 선택 모듈(selecting module)을 포함한다.
바람직하게는, 상기 저장 모듈은 분리된 스토리지 매체 각각이 꽉 찰 때까지는 상기 분리된 스토리지 매체 상에 상기 파티션들을 결합하도록 구성된 결합 모듈(combining module)을 포함한다.
바람직하게는, 상기 저장 모듈은 상기 파티션들 사이의 그래프 상호연결이 최소량들인 분리된 스토리지 매체 상에 상기 파티션들을 세이브하도록 구성된 세이브 모듈(saving module)을 포함한다.
바람직하게는, 상기 세이브 모듈은, 상기 컴퓨터 시스템 상에 동시에 마운트될 수 있는 분리된 스토리지 매체의 수를 확인(account for)하도록 구성된 어카운팅 모듈(accounting module); 및 상기 분리된 스토리지 매체의 디스마운팅 및 리마운팅을 위해 성능 페널티를 고려하도록 구성된 고려 모듈(considering module)을 포함한다.
제3 측면에서, 컴퓨터 시스템 내에 로드되어 실행되는 경우, 상기 컴퓨터 시스템으로 하여금 상기 제1 측면에 따른 방법의 모든 단계들을 수행하도록 하기 위한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램이 제공된다.
상기 컴퓨터 프로그램은 프로그램가능한 컴퓨터 - 상기 프로그램가능한 컴퓨터는 상기 프로그램가능한 컴퓨터 내에 구현된 판독가능 프로그램 코드를 가짐 - 와 함께 사용가능한 컴퓨터 프로그램 제품 - 상기 컴퓨터 프로그램 제품은 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업함 - 으로 구현될 수 있는데, 상기 컴퓨터 프로그램 제품은, 상기 파일-시스템을 파티션들로 분할하기 위한 컴퓨터 판독가능 코드; 및 분리된 스토리지 매체 상에 상기 파티션들 각각을 저장하기 위한 컴퓨터 판독가능 코드를 포함한다.
본 발명은 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 전송하는 시스템에서 구현될 수 있는데, 상기 시스템은, 상기 파일-시스템을 파티션들로 분할하는 단계; 및 분리된 전송 채널에 대해 상기 파티션들 각각을 조립(assemble)하는 단계를 포함한다.
본 발명은 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 전송하는 시스템에서 구현될 수 있는데, 상기 시스템은, 상기 파일-시스템을 파티션들로 분할하도록 구성된 분할 모듈(dividing module); 및 분리된 전송 채널에 대해 상기 파티션들 각각을 조립하도록 구성된 조립 모듈(assembling module)을 포함한다.
본 발명의 실시예들은 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 방법 및 시스템을 제공한다. 예시적인 실시예에서, 상기 방법 및 시스템은, (1) 상기 파일-시스템을 파티션들로 분할하는 단계 및 (2) 분리된 스토리지 시스템 상에 상기 파티션들 각각을 저장하는 단계를 포함한다.
예시적인 실시예에서, 상기 분할하는 단계는 그래피 파티셔닝 알고리즘을 사용하는 단계를 포함한다. 예시적인 실시예에서, 상기 사용하는 단계는 상기 파일-시스템을 상호연결 없는 서브-그래프들로 파티셔닝하는 단계를 포함한다.
예시적인 실시예에서, 상기 파티셔닝 단계는, 상기 서브-그래프들 중 하나의 서브-그래프가 상기 분리된 스토리지 매체 상에 전부 저장될 수 없으면, (a) 상기 서브-그래프가 연결되도록 하는 데이터를 식별하는 단계, 및 (b) 상기 서브-그래프가 연결되도록 하는 리듀플리케이트하는 단계를 포함한다. 예시적인 실시예에서, 상기 파티셔닝 단계는 모든 참조 그래프 파티션들에 상기 리듀플리케이트된 데이터를 세이브하는 단계를 더 포함한다.
예시적인 실시예에서, 상기 식별하는 단계는 상기 서브-그래프가 연결되도록 하는 데이터의 청크들의 최소 세트를 발견하는 단계를 포함한다. 예시적인 실시예에서, 상기 식별하는 단계는 높은 참조 카운트들을 갖는 상기 데이터의 청크들을 선택하는 단계를 포함한다.
예시적인 실시예에서, 상기 저장하는 단계는 분리된 스토리지 매체 각각이 꽉 찰 때까지는 상기 분리된 스토리지 매체 상에 상기 파티션들을 결합시키는 단계를 포함한다. 예시적인 실시예에서, 상기 저장하는 단계는 상기 파티션들 사이의 그래프 상호연결이 최소량들인 분리된 스토리지 매체 상에 상기 파티션들을 세이브하는 단계를 포함한다. 예시적인 실시예에서, 상기 세이브하는 단계는, (a) 상기 컴퓨터 시스템 상에 동시에 마운트될 수 있는 분리된 스토리지 매체의 수를 확인(account for)하는 단계, 및 (b) 상기 분리된 스토리지 매체의 디스마운팅 및 리마운팅을 위해 성능 페널티를 고려하는 단계를 포함한다.
또한 본 발명은 프로그램가능한 컴퓨터 - 상기 프로그램가능한 컴퓨터는 상기 프로그램가능한 컴퓨터 내에 구현된 판독가능 프로그램 코드를 가짐 - 와 함께 사용가능한 컴퓨터 프로그램 제품 - 상기 컴퓨터 프로그램 제품은 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업함 - 을 제공한다. 예시적인 실시예에서, 상기 컴퓨터 프로그램 제품은, (1) 상기 파일-시스템을 파티션들로 분할하기 위한 컴퓨터 판독가능 코드, 및 (2) 분리된 스토리지 매체 상에 상기 파티션들 각각을 저장하기 위한 컴퓨터 판독가능 코드를 포함한다.
본 발명의 바람직한 실시예는 이제 첨부되는 도면들을 참조하여 기술될 것인데, 이러한 설명은 단지 본 발명을 예를 들어 설명하기 위한 것일 뿐이다.
도 1은 종래 기술의 흐름도이다.
도 2는 본 발명의 예시적인 실시예에 따른 흐름도이다.
도 3a는 본 발명의 예시적인 실시예에 따른 분할 단계에서의 흐름도이다.
도 3b는 본 발명의 예시적인 실시예에 따른 사용 단계에서의 흐름도이다.
도 3c는 디듀플리케이트된 시스템의 다이어그램이다.
도 3d는 본 발명의 예시적인 실시예에 따른 백업된 디듀플리케이트된 시스템의 다이어그램이다.
도 4a는 본 발명의 예시적인 실시예에 따른 파티셔닝 단계의 흐름도이다.
도 4b는 본 발명의 추가 실시예에 따른 파티셔닝 단계의 흐름도이다.
도 4c는 디듀플리케이트된 시스템의 다이어그램이다.
도 4d는 본 발명의 예시적인 실시예에 따른 백업된 디듀플리케이트된 시스템의 다이어그램이다.
도 5a는 본 발명의 예시적인 실시예에 따른 식별 단계의 흐름도이다.
도 5b는 본 발명의 예시적인 실시예에 따른 식별 단계의 흐름도이다.
도 6은 본 발명의 예시적인 실시예에 따른 저장 단계의 흐름도이다.
도 7a는 본 발명의 예시적인 실시예에 따른 저장 단계의 흐름도이다.
도 7b는 본 발명의 예시적인 실시예에 따른 세이브 단계(saving step)의 흐름도이다.
도 8은 본 발명의 예시적인 실시예에 따른 흐름도이다.
본 발명의 바람직한 실시예들은 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 방법 및 시스템을 제공한다. 예시적인 실시예에서, 상기 방법 및 시스템은 (1) 상기 파일-시스템을 파티션들로 분할하는 단계, (2) 분리된 스토리지 매체에 상기 파티션들 각각을 저장하는 단계를 포함한다.
도 2를 참조하면, 예시적인 실시예에서, 본 발명은 상기 파일-시스템을 파티션들로 분할하는 단계(212), 및 분리된 스토리지 매체 상에 상기 파티션들 각각을 저장하는 단계(214)를 포함한다. 본 발명은 상기 파일-시스템의 디듀플리케이트된 상태를 가능한 한 많이 유지한다. 상기 파일-시스템은 객체들(예, 컴퓨터 파일들)을 저장한다. 각각의 객체는 데이터의 적어도 하나의 청크를 포함한다. 상기 스토리지 매체는 자기 스토리지 매체(예, 테이프) 또는 광 스토리지 매체(예, DVD)일 수 있다. 예시적인 실시예에서, 저장 단계(214)는 다른 스토리지 매체 상의 데이터의 조각들(pieces of data)을 참조할 필요가 없다.
<파일-시스템을 분할하는 단계>
도 3a를 참조하면, 예시적인 실시예에서, 분할하는 단계(212)는 그래프 파티셔닝 알고리즘을 사용하는 단계(312)를 포함한다. 예를 들어, 본 발명은 디즈크스트라 알고리즘(Dijkstra's algorithm)을 사용할 수 있다. 본 발명은 상기 디듀플리케이트된 파일-시스템을 두 개 부분으로 구성된(bipartite)(두 개의 레벨의) 그래프로 보는데, 여기서, 객체들은 그것들의 구성 청크들에 연결되고, 청크들은 그것들의 멤버 객체들에 다시 연결된다.
<상호연결 없는 서브-그래프들>
도 3b를 참조하면, 예시적인 실시예에서, 사용하는 단계(312)는 상기 파일-시스템을 상호연결 없는 서브-그래프들로 파티셔닝하는 단계(322)를 포함한다. 예시적인 실시예에서, 상기 서브-그래프들은 파티션들이다.
도 3c를 참조하면, 예를 들어, 상기 디듀플리케이트된 파일-시스템은 객체 1(아이템 330) - 이 객체 1은 청크 1 및 2(각각 아이템 331 및 332)를 포함함 -, 객체 3(아이템 350) - 이 객체 3은 청크 3, 4 및 1(각각 아이템 351, 352 및 353)을 포함함 -, 객체 2(아이템 340) - 이 객체 2는 청크 5, 6 및 7(각각 아이템 341, 342 및 343)로 구성됨 -, 및 객체 4(아이템 360) - 이 객체 4는 청크 6, 7 및 8(각각 아이템 361, 362 및 363)로 구성됨 - 을 포함한다. 도 3c에 도시된 바와 같이, 상기 디듀플리케이트된 파일-시스템은 아이템 331 및 353에 의해 참조된 청크 1(아이템 371), 아이템 332에 의해 참조된 청크 2(아이템 372), 아이템(351)에 의해 참조된 청크 3(아이템 373), 아이템 352에 의해 참조된 청크 4(아이템 374), 아이템 341에 의해 참조된 청크 5(아이템 381), 아이템 342 및 361에 의해 참조된 청크 6(아이템 382), 아이템 343 및 362에 의해 참조된 청크 7(아이템 383), 아이템(363)에 의해 참조된 청크 8(아이템 384)를 포함한다. 도 3d를 참조하면, 예시적인 실시예에서, 파티셔닝하는 단계(322)는 도 3c에 도시된 디듀플리케이트된 파일-시스템을 파티션 1(아이템 370)(서브-그래프) 및 파티션 2(아이템 380)(또 다른 서브-그래프)로 파티션한다. 그리하여, 파티션 1(아이템 370) 및 파티션 2(아이템 380)이 상호연결을 갖지 않도록 한다.
<상호연결을 갖는 서브-그래프들>
도 4a를 참조하면, 예시적인 실시예에서, 파티셔닝하는 단계(322)는, 만약 상기 서브-그래프들 중 하나의 서브-그래프가 상기 분리된 스토리지 매체 상에 전부 저장될 수 없으면, 상기 서브-그래프가 연결되도록 하는 데이터를 식별하는 단계(412), 및 상기 서브-그래프가 연결되도록 하는 데이터를 리듀플리케이트하는 단계(414)를 포함한다. 예시적인 실시예에서, 서브-그래프는, 만약 그것이 분리된 스토리지 매체에 맞을(fit on) 수 있다면, 충분히 작다. 완전히 분리될 수 없는, 또는 분리된 스토리지 매체에 맞기에 충분히 작지 않은 그래프에 있어서, 그 그래프의 서브-그래프들이 연결되도록 하는 데이터의 조각들은, 각각의 참조 그래프 파티션으로 저장하기 위해 식별되고, 리듀플리케이트될 수 있다.
도 4b를 참조하면, 예시적인 실시예에서, 파티셔닝하는 단계(322)는 모든 참조 그래프 파티션들에 상기 리듀플리케이트된 데이터를 세이브하는 단계(422)를 더 포함한다. 예시적인 실시예에서, 본 발명은 상기 리듀플리케이트된 데이터를 백업 타겟으로 세이브한다. 각각의 그래프 파티션은 분리된 매체(예, 개별 자기 스토리지 매체(예, 테이프) 또는 개별 광 스토리지 매체(예, DVD)) 상에 저장될 수 있고, 각각의 그래프 파티션은 단지 그러한 그래프 파티션이 존재(reside)하는 하나의 분리된 매체(separate piece of media) 상에 포함된 데이터만을 참조할 것이다.
도 4c를 참조하면, 예를 들어, 상기 디듀플리케이트된 파일-시스템은 객체 1(아이템 430) - 이 객체 1은 청크 1 및 2(각각 아이템 431 및 432)를 포함함 -, 객체 3(아이템 450) - 이 객체 3은 청크 3, 4, 1(각각 아이템 451, 452 및 453)을 포함함 -, 객체 2(아이템 440) - 이 객체 2는 청크 5, 6 및 7(각각 아이템 441, 442 및 443)로 구성됨 -, 객체 4(아이템 460) - 이 객체 4는 청크 3, 6, 7 및 8(각각 아이템 461, 462, 463 및 464)로 구성됨 - 를 포함한다. 도 4c에 도시된 바와 같이, 상기 디듀플리케이트된 파일-시스템은 아이템 431 및 453에 의해 참조된 청크 1(아이템 471), 아이템 432에 의해 참조된 청크 2(아이템 472), 아이템 451 및 461(인스턴스 상호연결(instance interconnectivity))에 의해 참조된 청크 3(아이템 473), 아이템(452)에 의해 참조된 청크 4(아이템 474), 아이템(441)에 의해 참조된 청크 5(아이템 481), 아이템 442 및 462에 의해 참조된 청크 6(아이템 482), 아이템 443 및 463에 의해 참조된 청크 7(아이템 483), 및 아이템 464에 의해 참조된 청크 8(아이템 484)를 포함한다. 도 4d를 참조하면, 예시적인 실시예에서, 비록 도 4c의 디듀플리케이트된 파일-시스템이 결국 아이템 451 및 461에 의해 참조되고 있는 청크 3(아이템 473)이 되는 상호연결의 인스턴스를 포함하지만, 파티셔닝하는 단계(322)는 도 4c에 도시된 디듀플리케이트된 파일-시스템을 파티션 1(아이템 470)(서브-그래프) 및 파티션 2(아이템 480)(또 다른 서브-그래프)로 파티셔닝한다. 그리하여, 파티션 1(아이템 470) 및 파티션 2(아이템 480)이, 청크 3(아이템 485)으로 아이템 473을 리듀플리케이트하고, 청크 3(아이템 485)가 아이템 461에 의해 참조되도록 허용함에 의해, 상호연결을 갖지 않도록 한다.
<데이터를 식별하는 단계>
도 5a를 참조하면, 예시적인 실시예에서, 식별하는 단계(412)는 상기 서브-그래프가 연결되도록 하는 데이터의 청크들의 최소 세트를 발견하는 단계(512)를 포함한다. 본 발명은 상기 최소 컷(minimum cut)을 발견하기 위해 표준 그래프 알고리즘들을 사용함으로써 상기 발견하는 단계를 수행할 수 있다. 본 발명은 리듀플리케이트될 것을 필요로 하는 데이터의 최소량을 발견하기 위해 최소-컷 그래프 파티셔닝 알고리즘(minimum-cut graph partitioning algorithm)을 사용함으로써 상기 발견하는 단계를 수행할 수 있다. 도 5b를 참조하면, 예시적인 실시예에서, 식별하는 단계(412)는 높은 참조 카운트들을 갖는 상기 데이터의 특정 청크를 선택하는 단계(522)를 포함한다. 데이터의 특정 청크에 대한 참조 카운트(reference count)는 청크가 상기 파일-시스템의 객체들에 의해 참조되는 회수(the number of times)의 카운트이다. 데이터의 특정 청크에 대한 참조 카운트는 또한 그러한 청크를 참조하는 파일-시스템에서의 파일들의 수의 카운트이다.
<상기 파티션들 각각을 저장하는 단계>
도 6을 참조하면, 예시적인 실시예에서, 저장하는 단계(214)는 분리된 스토리지 매체 각각이 꽉 찰 때까지는 상기 분리된 스토리지 매체 상에 상기 파티션들을 결합하는 단계(610)를 포함한다. 상기 그래프 파티션들은 분리된 매체가 꽉 찰 때까지는 상기 분리된 매체의 하나의 인스턴스들 상에 결합될 수 있지만, 아무런 부분 파티션들(partial partions)도 하나의 분리된 매체 상에 저장되지 않을 것이다.
도 7a를 참조하면, 예시적인 실시예에서, 저장하는 단계(214)는 상기 파티션들의 그래프 상호연결이 최소량들인 분리된 스토리지 상에 상기 파티션들을 세이브하는 단계(712)를 포함한다. 도 7b를 참조하면, 예시적인 실시예에서, 세이브하는 단계(712)는 상기 컴퓨터 시스템 상에 동시에 마운트될 수 있는 분리된 스토리지 매체의 수를 확인(account for)하는 단계(722), 및 상기 분리된 스토리지 매체의 디스마운팅 및 리마운팅을 위해 성능 페널티를 고려하는 단계를 포함한다. 본 발명은, (i) 동시에 마운트될 수 있는 디스조인트 매체의 수, 및 (ii) 분리된 매체를 디스마운팅 및/또는 리마운팅하기 위한 성능 페널티에 의존하여, 그래프 상호연관성이 최소량들인 것을 용인할 수 있다.
<전송하는 단계>
본 발명은 또한 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 전송하는 방법 및 시스템을 제공한다. 예시적인 실시예에서, 상기 방법 및 시스템은, (1) 상기 파일-시스템을 파티션들로 분할하는 단계, 및 (2) 분리된 전송 채널에 대해 상기 파티션들 각각을 조립하는 단계를 포함한다. 도 8을 참조하면, 예시적인 실시예에서, 본 발명은 상기 파일-시스템을 파티션들로 분할하는 단계(812), 및 분리된 전송 채널에 대해 상기 파티션들 각각을 조립하는 단계(814)를 포함한다.
<일반론>
본 발명은 전적으로 하드웨어 구현의 형태를 취할 수 있고, 또는 전적으로 소프트웨어 구현의 형태를 취할 수도 있고, 또는 하드웨어와 소프트웨어 구성요소들 모두를 포함하는 구현의 형태를 취할 수도 있다. 예시적인 실시예에서, 본 발명은, 펌웨어, 상주 소프트웨어, 및 마이크로코드를 포함하는 소프트웨어로 구현된다. 그러나, 이러한 예로 한정되는 것은 아니다.
나아가, 본 발명은, 컴퓨터 시스템 또는 명령 실행 시스템에 의해 사용하기 위한, 또는 컴퓨터 시스템 또는 명령 실행 시스템과 연결하여 사용하기 위한, 컴퓨터-사용가능 또는 컴퓨터-판독가능 매체로부터 접근가능한 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 상기 컴퓨터 프로그램 코드는 본 발명의 방법을 구현하는 명령들을 포함한다. 컴퓨터-사용가능 또는 컴퓨터 판독가능 매체는 상기 명령 실행 시스템, 장치, 또는 디바이스에 의해 사용하기 위한 또는 상기 명령 실행 시스템, 장치, 또는 디바이스와 연결하여 사용하기 위한 프로그램을 보유, 저장, 전달, 전파, 또는 전송할 수 있는 장치일 수 있다. 상기 매체는 전기, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템(또는 장치 또는 디바이스) 또는 전파 매체일 수 있다. 컴퓨터-판독가능 매체의 예들에는, 반도체 또는 솔리드-스테이트 메모리(solid-state memory), 자기 테이프, 착탈식 컴퓨터 디스켓, RAM(random access memory), ROM(read-only memory), 리지드 자기 디스크(ridig magnetic disk), 광 디스크 등이 있다. 광 디스크들의 현재로서의 예들에는, 컴팩트 디스크-읽기 전용 메모리(CD-ROM), 컴팩트 디스크-읽기/쓰기(CD-R/W), 및 DVD 등이 있다.
프로그램 코드를 저장 및/또는 실행하기에 적합한 컴퓨터 시스템은 메모리 엘리먼트들에 직접 결합되거나, 시스템 버스를 통하여 간접적으로 결합된 적어도 하나의 프로세서를 포함할 수 있다. 상기 메모리 엘리먼트들은 상기 프로그램 코드의 실제 실행 동안 채용되는 로컬 메모리, 벌크 스토리지, 및 캐쉬 메모리들 - 이는 실행 동안 코드가 벌크 스토리지로부터 리트리브되는 회수를 감소시키기 위해 적어도 일부 프로그램 코드의 임시 스토리지를 제공함 - 을 포함한다. 입력/출력(I/O) 디바이스들(키보드들, 디스플레이들, 포인팅 디바이스들 등을 포함하나, 이러한 예들로 한정되는 것은 아님)은 직접적으로 또는 중간의 I/O 컨트롤러들을 통하여 컴퓨터 시스템에 결합될 수 있다. 또한, 중간의 사설 또는 공중 네트워크들을 통해 컴퓨터 시스템이 다른 컴퓨터 시스템들 또는 원격 프린터들 또는 스토리지 디바이스들에 결합될 수 있도록 하기 위해, 네트워크 어댑터들이 상기 컴퓨터 시스템에 결합될 수 있다. 모뎀들, 케이블 모뎀들, 및 이더넷 카드들은 현재로서 이용가능한 네트워크 어댑터들의 몇몇 유형들이다. 또한 상기 컴퓨터 시스템은 운영체계 및 컴퓨터 파일-시스템을 포함할 수 있다.

Claims (25)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 방법으로서,
    디듀플리케이트된 파일 시스템에 저장된 데이터 파일들을 데이터 청크들(chunks)과 파일 아이노드들(inodes)의 이분 그래프(bipartite graph)로 표시하는 단계 - 상기 이분 그래프에서 특정 파일 아이노드에 접속된 특정 데이터 청크는 상기 특정 파일 아이노드에 의해 기술된 파일의 일부임을 표시함 -;
    그래프 파티셔닝 알고리즘을 이용하여 상기 이분 그래프를 서브-그래프들 사이에 상호 연결성이 없는 복수의 서브-그래프들로 파티셔닝(partitioning) 하는 단계; - 여기서, 각각의 서브-그래프는 한 세트의 데이터 청크들, 및 상기 한 세트의 데이터 청크들 내의 데이터 청크들을 포함하는 모든 파일 아이노드들을 표시함 -
    상기 한 세트의 데이터 청크들과 파일 아이노드들을 저장 매체에 저장하고, 이에 의해 상기 파일 시스템을 백업하는 단계; - 여기서, 하나의 서브-그래프에 의해 표시되는 모든 데이터 청크들 및 파일 아이노드들은 단일 저장 매체 상에 함께 저장되고, 그리고, 하나의 서브-그래프에 의해 표시되는 데이터 청크들 및 파일 아이노드들의 특정 세트의 크기가 단일 저장 매체의 저장 용량을 초과하는 경우: 리듀플리케이트를 위해 상기 특정 세트 내의 데이터 청크들의 서브 세트를 식별하는 단계 - 상기 서브 세트를 나타내는 새로운 이분 그래프를 복수의 새로운 서브-그래프들로 파티셔닝하여, 각각의 새로운 서브-그래프가 분리된 단일 저장 매체의 저장 용량을 초과하지 않는 적어도 하나의 완전한 파일 객체를 위한 한 세트의 데이터 청크들을 표시함 -, 상기 새로운 서브-그래프에 의해 표시된 데이터 청크들을 리듀플리케이트 하는 단계, 상기 리듀플리케이트된 데이터 청크들을 적어도 하나의 분리된 단일 저장 매체 상에 저장하는 단계 - 새로운 서브-그래프들 중 하나의 서브-그래프에 의해 표시된 모든 데이터 청크는 적어도 하나의 분리된 단일 저장 매체 상에 함께 저장됨 -를 포함하는,
    디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 방법.
  15. 삭제
  16. 청구항 14에 있어서, 상기 저장하는 단계는
    적어도 하나의 단일의 분리된 저장 매체가 하나의 서브-그래프에 의해서 표시된 데이터 청크들의 적어도 하나의 추가 세트를 저장하기 위한 저장 용량을 갖지 않을 때까지, 하나의 서브-그래프에 의해서 표시된 모든 데이터 청크들의 각 세트를 상기 적어도 하나의 분리된 단일 저장 매체 상에 저장하는 단계를 포함하는
    디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 방법.
  17. 청구항 14에 있어서, 상기 데이터 청크들의 서브 세트를 식별하는 단계는,
    상기 세트가 분리된 단일 저장 매체의 용량을 초과하도록 하는 데이터 청크들의 최소 세트(minimum set)를 확인하는 단계(finding)를 포함하는
    디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 방법.
  18. 청구항 14에 있어서, 상기 데이터 청크들의 서브 세트를 식별하는 단계는,
    적어도 하나의 분리된 단일 저장 매체 상에 저장되었다면 특정 서브-그래프가 접속되도록 하는 상기 특정 서브-그래프에 의해서 표시된 데이터 청크들의 최소 세트(minimum set)를 확인하는 단계(finding)를 포함하는
    디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 방법.
  19. 청구항 14에 있어서, 상기 데이터 청크들의 서브 세트를 식별하는 단계는,
    상기 데이터 청크에 대한 참조 카운트들(reference counts)을 고려하여 상기 데이터 청크들의 서브 세트를 선택하는 단계를 포함하는
    디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 방법.
  20. 디듀플리케이트된 상태 및 참조 구역성을 유지하면서 디듀플리케이트된 파일 시스템에 저장된 데이터를 디스조인트 매체에 백업하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 컴퓨터 판독가능 프로그램 코드를 갖는 컴퓨터 판독가능 저장 매체를 포함하며,
    상기 프로그램 코드는,
    디듀플리케이트된 파일 시스템에 저장된 데이터 파일들을 데이터 청크들(chunks)과 파일 아이노드들(inodes)의 이분 그래프(bipartite graph)로 표시하는 단계 - 상기 이분 그래프에서 특정 파일 아이노드에 접속된 특정 데이터 청크는 상기 특정 파일 아이노드에 의해 기술된 파일의 일부임을 표시함 -;
    그래프 파티셔닝 알고리즘을 이용하여 상기 이분 그래프를 서브-그래프들 사이에 상호 연결성이 없는 복수의 서브-그래프들로 파티셔닝(partitioning) 하는 단계; - 여기서, 각각의 서브-그래프는 한 세트의 데이터 청크들, 및 상기 한 세트의 데이터 청크들 내의 데이터 청크들을 포함하는 모든 파일 아이노드들을 표시함 -
    상기 한 세트의 데이터 청크들과 파일 아이노드들을 저장 매체에 저장하고, 이에 의해 상기 파일 시스템을 백업하는 단계; - 여기서, 하나의 서브-그래프에 의해 표시되는 모든 데이터 청크들 및 파일 아이노드들은 단일 저장 매체 상에 함께 저장되고, 그리고, 하나의 서브-그래프에 의해 표시되는 데이터 청크들 및 파일 아이노드들의 특정 세트의 크기가 단일 저장 매체의 저장 용량을 초과하는 경우: 리듀플리케이트를 위해 상기 특정 세트 내의 데이터 청크들의 서브 세트를 식별하는 단계 - 상기 서브 세트를 나타내는 새로운 이분 그래프를 복수의 새로운 서브-그래프들로 파티셔닝하여, 각각의 새로운 서브-그래프가 분리된 단일 저장 매체의 저장 용량을 초과하지 않는 적어도 하나의 완전한 파일 객체를 위한 한 세트의 데이터 청크들을 표시함 -, 상기 새로운 서브-그래프에 의해 표시된 데이터 청크들을 리듀플리케이트 하는 단계, 상기 리듀플리케이트된 데이터 청크들을 적어도 하나의 분리된 단일 저장 매체 상에 저장하는 단계 - 새로운 서브-그래프들 중 하나의 서브-그래프에 의해 표시된 모든 데이터 청크는 적어도 하나의 분리된 단일 저장 매체 상에 함께 저장됨 -를 포함하는 방법을 컴퓨터에 의해 실행하는
    컴퓨터 프로그램 제품.
  21. 삭제
  22. 청구항 20에 있어서, 상기 저장하는 단계는,
    적어도 하나의 단일의 분리된 저장 매체가 하나의 서브-그래프에 의해서 표시된 데이터 청크들의 적어도 하나의 추가 세트를 저장하기 위한 저장 용량을 갖지 않을 때까지, 하나의 서브-그래프에 의해서 표시된 모든 데이터 청크들의 각 세트를 상기 적어도 하나의 분리된 단일 저장 매체 상에 저장하는 단계를 포함하는
    컴퓨터 프로그램 제품.
  23. 청구항 20에 있어서, 상기 데이터 청크들의 서브 세트를 식별하는 단계는,
    상기 세트가 분리된 단일 저장 매체의 용량을 초과하도록 하는 데이터 청크들의 최소 세트(minimum set)를 확인하는 단계(finding)를 포함하는
    컴퓨터 프로그램 제품.
  24. 청구항 20에 있어서, 상기 데이터 청크들의 서브 세트를 식별하는 단계는,
    적어도 하나의 분리된 단일 저장 매체 상에 저장되었다면 특정 서브-그래프가 접속되도록 하는 상기 특정 서브-그래프에 의해서 표시된 데이터 청크들의 최소 세트(minimum set)를 확인하는 단계(finding)를 포함하는
    컴퓨터 프로그램 제품.
  25. 청구항 20에 있어서, 상기 데이터 청크들의 서브 세트를 식별하는 단계는,
    상기 데이터 청크에 대한 참조 카운트들(reference counts)을 고려하여 상기 데이터 청크들의 서브 세트를 선택하는 단계를 포함하는
    컴퓨터 프로그램 제품.
KR1020107014507A 2008-01-04 2008-12-17 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 기술 KR101369048B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/969,517 US8447938B2 (en) 2008-01-04 2008-01-04 Backing up a deduplicated filesystem to disjoint media
US11/969,517 2008-01-04
PCT/EP2008/067724 WO2009087028A1 (en) 2008-01-04 2008-12-17 Backing up a de-duplicated computer file-system of a computer system

Publications (2)

Publication Number Publication Date
KR20100099231A KR20100099231A (ko) 2010-09-10
KR101369048B1 true KR101369048B1 (ko) 2014-02-28

Family

ID=40394373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014507A KR101369048B1 (ko) 2008-01-04 2008-12-17 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 기술

Country Status (6)

Country Link
US (1) US8447938B2 (ko)
EP (1) EP2240855A1 (ko)
JP (1) JP5398739B2 (ko)
KR (1) KR101369048B1 (ko)
CN (1) CN101911020B (ko)
WO (1) WO2009087028A1 (ko)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2325743B1 (en) 2003-01-31 2012-12-19 Good Technology Corporation Asynchronous real-time retrieval of data
US8108446B1 (en) * 2008-06-27 2012-01-31 Symantec Corporation Methods and systems for managing deduplicated data using unilateral referencing
US8660373B2 (en) * 2008-07-22 2014-02-25 Xerox Corporation PDF de-chunking and object classification
US8621166B1 (en) * 2009-02-09 2013-12-31 American Megatrends, Inc. Efficient backup of multiple versions of a file using data de-duplication
US8645334B2 (en) * 2009-02-27 2014-02-04 Andrew LEPPARD Minimize damage caused by corruption of de-duplicated data
US8140491B2 (en) 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
GB2471715A (en) * 2009-07-10 2011-01-12 Hewlett Packard Development Co Determining the data chunks to be used as seed data to restore a database, from manifests of chunks stored in a de-duplicated data chunk store.
US20110060882A1 (en) * 2009-09-04 2011-03-10 Petros Efstathopoulos Request Batching and Asynchronous Request Execution For Deduplication Servers
US8762338B2 (en) * 2009-10-07 2014-06-24 Symantec Corporation Analyzing backup objects maintained by a de-duplication storage system
US8689045B2 (en) 2009-11-10 2014-04-01 Lenovo (Singapore) Pte. Ltd. Apparatus and method for reloading software images
US8452739B2 (en) 2010-03-16 2013-05-28 Copiun, Inc. Highly scalable and distributed data de-duplication
US8407193B2 (en) * 2010-01-27 2013-03-26 International Business Machines Corporation Data deduplication for streaming sequential data storage applications
US8370297B2 (en) 2010-03-08 2013-02-05 International Business Machines Corporation Approach for optimizing restores of deduplicated data
US9053032B2 (en) 2010-05-05 2015-06-09 Microsoft Technology Licensing, Llc Fast and low-RAM-footprint indexing for data deduplication
US8935487B2 (en) 2010-05-05 2015-01-13 Microsoft Corporation Fast and low-RAM-footprint indexing for data deduplication
US20110276744A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
WO2012027472A2 (en) 2010-08-24 2012-03-01 Copiun, Inc. Constant access gateway and de-duplicated data cache server
US8682873B2 (en) * 2010-12-01 2014-03-25 International Business Machines Corporation Efficient construction of synthetic backups within deduplication storage system
US8316057B2 (en) * 2010-12-17 2012-11-20 International Business Machines Corporation Restoring deduplicated data objects from sequential backup devices
US9218343B2 (en) * 2010-12-20 2015-12-22 International Business Machines Corporation Partition file system for virtual machine memory management
US9110936B2 (en) 2010-12-28 2015-08-18 Microsoft Technology Licensing, Llc Using index partitioning and reconciliation for data deduplication
US9823981B2 (en) 2011-03-11 2017-11-21 Microsoft Technology Licensing, Llc Backup and restore strategies for data deduplication
US8538929B2 (en) 2011-07-07 2013-09-17 International Business Machines Corporation Archiving de-duplicated data on tape storage media using graph partitions
JP5735654B2 (ja) * 2011-10-06 2015-06-17 株式会社日立製作所 格納データの重複排除方法、格納データの重複排除装置、及び重複排除プログラム
US9489133B2 (en) * 2011-11-30 2016-11-08 International Business Machines Corporation Optimizing migration/copy of de-duplicated data
US9026503B2 (en) * 2012-02-29 2015-05-05 Netapp, Inc. Fragmentation control for performing deduplication operations
US9575978B2 (en) 2012-06-26 2017-02-21 International Business Machines Corporation Restoring objects in a client-server environment
US20140250078A1 (en) * 2013-03-01 2014-09-04 Storagecraft Technology Corporation Multiphase deduplication
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
US10423495B1 (en) 2014-09-08 2019-09-24 Veritas Technologies Llc Deduplication grouping
JP7171757B2 (ja) * 2018-04-30 2022-11-15 アマゾン テクノロジーズ インコーポレイテッド ブロックストレージシステムのための分散されたレプリカ
US11702207B2 (en) 2018-11-29 2023-07-18 Safran Seats Usa Llc Business class seats for a passenger vehicle
US11922042B2 (en) * 2021-10-29 2024-03-05 Scality, S.A. Data placement in large scale object storage system
US20230216690A1 (en) * 2021-12-30 2023-07-06 Gm Cruise Holdings Llc Data transfer acceleration via content-defined chunking

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040164252A1 (en) 2000-11-20 2004-08-26 Konica Corporation Radiation image radiographing cassette and radiation image reading apparatus
US20070088702A1 (en) 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection
US20070250674A1 (en) 2006-04-25 2007-10-25 Fineberg Samuel A Method and system for scaleable, distributed, differential electronic-data backup and archiving

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
EP0826181A4 (en) * 1995-04-11 2005-02-09 Kinetech Inc IDENTIFYING DATA IN A DATA PROCESSING SYSTEM
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6047297A (en) * 1997-01-13 2000-04-04 Microsoft Corporation Method and system for editing actual work records
JP3563907B2 (ja) * 1997-01-30 2004-09-08 富士通株式会社 並列計算機
US6374363B1 (en) * 1998-02-24 2002-04-16 Adaptec, Inc. Method for generating a footprint image file for an intelligent backup and restoring system
US6047294A (en) 1998-03-31 2000-04-04 Emc Corp Logical restore from a physical backup in a computer storage system
US6542975B1 (en) * 1998-12-24 2003-04-01 Roxio, Inc. Method and system for backing up data over a plurality of volumes
EP1269350A4 (en) * 2000-02-18 2006-08-16 Avamar Technologies Inc HASH FILE SYSTEM AND METHOD FOR USE IN A COMMONALITY FACTORING SYSTEM
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6675177B1 (en) * 2000-06-21 2004-01-06 Teradactyl, Llc Method and system for backing up digital data
US6788302B1 (en) * 2000-08-03 2004-09-07 International Business Machines Corporation Partitioning and load balancing graphical shape data for parallel applications
US7222132B2 (en) * 2001-03-20 2007-05-22 Swsoft Holdings, Ltd. Common template file system tree for virtual environments and virtual servers
US6985914B2 (en) * 2002-02-20 2006-01-10 Emc Corporation Cluster meta file system of file system cells managed by respective data movers of a network file server
US20040015522A1 (en) * 2002-06-13 2004-01-22 International Business Machines Corporation Apparatus, system and method of providing a stackable private write file system
WO2004023310A1 (ja) * 2002-09-05 2004-03-18 Hiroyuki Yasoshima ネットワーク構造によるファイル管理方法、操作対象表示制限プログラムおよび記録媒体
US7155465B2 (en) * 2003-04-18 2006-12-26 Lee Howard F Method and apparatus for automatically archiving a file system
US7222143B2 (en) * 2003-11-24 2007-05-22 Lenovo (Singapore) Pte Ltd. Safely restoring previously un-backed up data during system restore of a failing system
JP4810897B2 (ja) * 2005-06-24 2011-11-09 富士ゼロックス株式会社 積層体、電子写真感光体、画像形成装置及びプロセスカートリッジ
JP2007001168A (ja) * 2005-06-24 2007-01-11 Canon Inc 画像処理装置
US8539481B2 (en) * 2005-12-12 2013-09-17 Microsoft Corporation Using virtual hierarchies to build alternative namespaces
US7734603B1 (en) * 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US20070204011A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for offline access to video content of a web-site
US8190742B2 (en) * 2006-04-25 2012-05-29 Hewlett-Packard Development Company, L.P. Distributed differential store with non-distributed objects and compression-enhancing data-object routing
US7689566B1 (en) * 2006-12-12 2010-03-30 Sun Microsystems, Inc. Method for defining non-native operating environments
US7672981B1 (en) * 2007-02-28 2010-03-02 Emc Corporation Object classification and indexing of very large name spaces using grid technology
US7873809B2 (en) * 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
US8204866B2 (en) * 2007-05-18 2012-06-19 Microsoft Corporation Leveraging constraints for deduplication
US8315984B2 (en) * 2007-05-22 2012-11-20 Netapp, Inc. System and method for on-the-fly elimination of redundant data
US20090132616A1 (en) * 2007-10-02 2009-05-21 Richard Winter Archival backup integration
US7797279B1 (en) * 2007-12-31 2010-09-14 Emc Corporation Merging of incremental data streams with prior backed-up data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040164252A1 (en) 2000-11-20 2004-08-26 Konica Corporation Radiation image radiographing cassette and radiation image reading apparatus
US20070088702A1 (en) 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection
US20070250674A1 (en) 2006-04-25 2007-10-25 Fineberg Samuel A Method and system for scaleable, distributed, differential electronic-data backup and archiving

Also Published As

Publication number Publication date
KR20100099231A (ko) 2010-09-10
WO2009087028A1 (en) 2009-07-16
CN101911020A (zh) 2010-12-08
CN101911020B (zh) 2013-10-02
JP5398739B2 (ja) 2014-01-29
US8447938B2 (en) 2013-05-21
EP2240855A1 (en) 2010-10-20
JP2011509459A (ja) 2011-03-24
US20090177855A1 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
KR101369048B1 (ko) 컴퓨터 시스템의 디듀플리케이트된 컴퓨터 파일-시스템을 백업하는 기술
US8356017B2 (en) Replication of deduplicated data
US9773042B1 (en) Method and system for accelerating data movement using change information concerning difference between current and previous data movements
US8983952B1 (en) System and method for partitioning backup data streams in a deduplication based storage system
US9239843B2 (en) Scalable de-duplication for storage systems
US10261946B2 (en) Rebalancing distributed metadata
US11221992B2 (en) Storing data files in a file system
US11151030B1 (en) Method for prediction of the duration of garbage collection for backup storage systems
US20110010498A1 (en) Providing preferred seed data for seeding a data deduplicating storage system
US10437682B1 (en) Efficient resource utilization for cross-site deduplication
US8538929B2 (en) Archiving de-duplicated data on tape storage media using graph partitions
US10242021B2 (en) Storing data deduplication metadata in a grid of processors
CN108431815B (zh) 在处理器网格中的分布式数据的去重复数据
US9678971B2 (en) Packing deduplicated data in a self-contained deduplicated repository
US9361302B1 (en) Uniform logic replication for DDFS
Tan et al. SAFE: A source deduplication framework for efficient cloud backup services
Sengar et al. A Parallel Architecture for In-Line Data De-duplication
Gharaibeh et al. CloudDT: efficient tape resource management using deduplication in cloud backup and archival services
US11436108B1 (en) File system agnostic content retrieval from backups using disk extents
Kaurav An Investigation on Data De-duplication Methods And it’s Recent Advancements
Uehara 3 Tiers Storage Model for Low Throughput Off-Line Storage

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: 20170125

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 7