KR20100038133A - 극히 큰 파일 시스템에 대한 hsm 상호 고아 조정 - Google Patents

극히 큰 파일 시스템에 대한 hsm 상호 고아 조정 Download PDF

Info

Publication number
KR20100038133A
KR20100038133A KR1020090064969A KR20090064969A KR20100038133A KR 20100038133 A KR20100038133 A KR 20100038133A KR 1020090064969 A KR1020090064969 A KR 1020090064969A KR 20090064969 A KR20090064969 A KR 20090064969A KR 20100038133 A KR20100038133 A KR 20100038133A
Authority
KR
South Korea
Prior art keywords
file
file system
queue
storage
server
Prior art date
Application number
KR1020090064969A
Other languages
English (en)
Other versions
KR101127304B1 (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 KR20100038133A publication Critical patent/KR20100038133A/ko
Application granted granted Critical
Publication of KR101127304B1 publication Critical patent/KR101127304B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Abstract

본 발명의 한 양태는, 수십억개의 파일을 관리하는 계층적 스토리지 관리(HSM) 시스템과 같은 지극히 큰 파일 시스템에 대한 상호 고아 조정 방법을 제공함으로써 스토리지 환경에서 데이터 일치성을 유지하고 잃어버린 공간을 회복하기 위한 동작을 제공한다. 이와 같은 고도로 스케일가능하고 병렬화가능한 고아 식별 프로세스는, 상호 파일 고아 검사의 실행을 가능케하기 위해 HSM 제어형 환경에서 사용될 수 있다. 한 실시예에서, 이러한 고아 검사는, 스토리지 저장소 서버 상의 이전된 파일들의 목록을 포함하는 큐를, 파일 시스템 상의 스터브 파일들의 목록을 포함하는 큐와 비교함으로써 파일 시스템 클라이언트 고아와 서버 객체 고아를 싱글 패스로 식별한다. 만일 큐 요소들이 정합하지 않는다면, 파일 시스템 고아 또는 서버 객체 고아는 적절하게 식별될 수 없다.
파일 고아, 큐 요소, 서터브 파일, 계층적 스토리지

Description

극히 큰 파일 시스템에 대한 HSM 상호 고아 조정{HSM TWO-WAY ORPHAN RECONCILIATION FOR EXTREMELY LARGE FILE SYSTEMS}
본 발명은 대체로 데이터 스토리지 및 관리 분야에 관한 것으로, 구체적으로는, 계층적 스토리지 관리(HSM) 제어형 스토리지 환경과 같은, 지극히 큰 파일 시스템에 대한 상호 고아 조정 방법을 제공함으로써 잃어버린 공간을 회복하고 데이터 일치성을 유지하기 위한 방법 및 시스템에 관한 것이다.
HSM 애플리케이션은, 온라인 스토리지 및 다양한 형태의 오프라인 스토리지와 같은, 스토리지 저장소 내의 스토리지 장치들의 계층 사이에서 데이터의 효율적 저장을 관리하고 파일들을 이전하기 위해 사용된다. HSM 관리되는 파일들은 쌍을 이룬 객체로서, 로컬 스터브 파일은 파일 컨텐츠를 포함하는 서버 상의 연관된 객체와 쌍을 이룬다. 로컬 스터브 파일은, 파일이 그 원래 스토리지 위치로부터 상이한 스토리지 위치로 이전한 후에 이전된 파일을 대체하여 남는다.
스터브 파일은, 저장소 스토리지 위치에서 이전된 파일 컨텐츠의 위치를 파악하는데 이용되는 정보와 파일 속성을 포함한다. 스터브 파일은 로케이터 정보(locator information)를 포함하는 데이터베이스에 대한 인덱스 뿐만 아니라 필 요한 파일 속성들 모두를 포함한다. HSM 애플리케이션은, 이전된 파일 컨텐츠가 새로운 저장소 스토리지 위치로 이동되는 경우에 스터브 파일을 업데이트된 상태로 유지하는 책임을 진다.
파일 시스템은 원래의 파일 컨텐츠에 액세스하기 위해 스터브 파일을 이용하며, 파일 컨텐츠의 후속된 이전 및 선이전을 사용자 및 그 파일에 액세스하는 애플리케이션들에 투명하게 유지한다. 이전된 파일에 대한 액세스 요청을 처리하는 것은 HSM 애플리케이션의 직무이다. HSM 애플리케이션은, 스토리지 저장소로부터 이전된 파일 컨텐츠를 회수하고 이를 그 초기 위치에 전달하기 위해 스터브 파일 내에 저장된 정보와 포인터를 이용한다.
시간이 경과함에 따라, 종종, 시스템 충돌 또는 시스템 구성 변경에 후속하는 데이터 손실의 결과로서, 로컬 스터브와 그 연관된 서버 객체의 쌍이룸이 깨지고, 그 결과, 파일 시스템 클라이언트 고아 및 서버 객체 고아가 발생할 수 있다. 서버 고아는 HSM 클라이언트측 상의 파일 시스템에서 스터브 파일의 삭제에 의해 생성되고, 이로 인해 소정의 서버 객체가 파일 시스템 HSM 클라이언트에 의해 더 이상 참조되지 않게 된다. 파일 시스템 클라이언트 고아는 서버측 상의 대응하는 객체의 삭제에 의해 생성되고, 이로 인해 스터브 파일은 더 이상 연관된 서버 객체를 갖지 않게 된다.
스토리지 시스템은 데이터 손실을 저감시키기 위해 파일 시스템의 데이터 백업을 이용하지만, 백업으로부터의 데이터 복구가 파일 시스템 붕괴를 없애지는 않는다. 파일 시스템의 내용은, 백업 이후 복구 이전의 기간에 거의 항상 변하므로, HSM 파일 시스템 내에서 불일치를 초래한다.
HSM 제어형 스토리지 환경은 파일 시스템 완전성을 보장하기 위해 주기적인 시스템 검사와 정례적인 유지보수를 요구한다. 시스템 충돌에 이어서 또는 파일 시스템의 임의의 일부가 백업으로부터 복구되었을 때, 파일 시스템은 데이터 일치성에 대해 검사되어야 한다. 각각의 스터브 파일은 유효한 파일 객체를 가리키고 있는지에 대해 검증받을 필요가 있으며, 각각의 서버 객체는 대응하는 스터브 파일을 갖고 있는지에 대해 검증받을 필요가 있다. 클라이언트 및 서버 고아 양자 모두에 대한 검사는 상호 고아 검사(two-way orphan check)라 불린다. 파일 시스템은 고아 서버 객체에 액세스하기 위한 포인터 정보를 포함하지 않기 때문에, 스토리지 공간 낭비를 피하기 위해 서버 고아는 제거되어야 한다. 마찬가지로, 만일 로컬 스터브 파일과 연관되어 있는 서버 객체가 없다면, 그 스터브 파일은 클라이언트 고아로서 플래그가 표시되어야 한다.
장시간 실행되는 파일 시스템 스캔을 피하기 위해, 기존 시스템은 파일 시스템 클라이언트 고아 및 서버 고아 모두에 대해 검사하는 다양한 접근법을 취한다. 일부 기존 시스템에서, 클라이언트 고아 및 서버 고아는 직렬로 식별되고, 각 클래스의 고아는 독립된 프로세스에서 식별된다. 다른 기존의 시스템에서, 독립된 고아 식별 프로세스가 병렬로 실행되지만, 싱글-패스 프로세스로 실행되는 것은 아니다.
기존 시스템에서의 또 다른 제한은, 고아를 식별하는데 이용되는 방법들은 파일 객체 포인터들의 전체 목록의 캐싱을 요구한다는 것이다. 파일 시스템 내의 파일들의 갯수가 더 커짐에 따라, 캐쉬의 크기와 그 캐쉬를 관리하는데 요구되는 시스템 자원들이 비례적으로 커지므로, 수십억개의 파일들을 포함하는 파일 시스템의 경우 기존의 고아 검사 시스템이 실제적으로 실행불가능하게 된다.
마지막으로, 기존 시스템들은 고아 검사 프로세스의 초기에 고아를 식별하는 능력에 있어서 제한된다. 조기 식별은 식별된 고아와 연관된 잠재적 복구 단계들에 대한 태스크의 병렬 실행을 허용할 것이다. 기존 시스템들은, 고아가 존재한다고 판정될 수 있기 이전에 파일 객체 포인터들의 전체 목록이 처리될 것을 요구한다.
본 분야에 필요한 것은, 지극히 큰 파일 시스템에서 서버 고아 및 파일 시스템 클라이언트 고아를 싱글 패스로 식별하는 방법이다. 또한, 식별 루틴은 파일 시스템 정보로부터 발생된 이전된 파일들의 목록을, 스토리지 저장소 정보로부터 발생된 이전된 파일들의 목록과 대조(matching)할 수 있어야 한다. 여기서, 각각의 목록은 이전 파일 고유 식별자와 같은 필드에 의해 분류된다.
본 발명의 한 양태는, 지극히 큰 파일 시스템 내에서 HSM 상호 고아 조정을 수행하기 위한 신규하고 고유한 동작을 제공함으로써, HSM 제어형 스토리지 환경에서 파일 시스템 완전성을 유지하기 위한 기술을 제공한다. 본 발명의 한 실시예는, 시스템 충돌, 시스템 구성 변경 등으로부터 발생할 수 있는 파일 시스템 및 서버 객체 고아 모두를 식별하기 위한 일반적 메커니즘을 포함한다. 이 실시예는, 파일 시스템 및 서버 객체 고아 모두를 싱글 패스로 식별할 뿐만 아니라, 병렬 처리를 위해 고아 식별 프로세스가 세그먼트화되는 것을 허용함으로써, 이 결과를 달성한다. 이 실시예에서 싱글 패스 식별 및 병렬 처리는, 파일 시스템 정보로부터 발생된 이전된 파일들의 목록을 스토리지 저장소 정보로부터 발생된 이전된 파일들의 목록과 대조하는 루틴을 이용함으로 가능하다. 여기서, 각각의 목록은 이전 파일 고유 식별자에 기초하여 정렬된다.
초기에, HSM 애플리케이션은, 파일 시스템 상에 존재하는 각각의 이전된 파 일 객체에 대해 이전된 파일 객체 고유 식별자를 발생하고 유지하는 책임을 진다. 이 고유 식별자는, 파일 시스템 스터브 파일 내에, 그리고, 스토리지 저장소 서버 상의 이전된 파일 객체와 함께 저장된다.
고아 식별 루틴의 실행에 앞서, HSM 애플리케이션 유틸리티는 파일 시스템 상에 존재하는 이전된 파일들의 목록을 발생하기 위해 파일 시스템 프로세스를 호출한다. 이 파일 시스템은 이전된 파일 객체 고유 식별자에 의해 정렬된 이전된 파일들의 목록을 생성한다. 그 다음, HSM 애플리케이션 유틸리티는 서버 상의 모든 이전된 객체들의 목록을 얻기 위해 질의어로 서버 프로세스를 호출한다. 서버는 이전된 파일 객체 고유 식별자에 의해 정렬된 이전된 객체들의 목록을 생성한다.
이전 파일 고유 식별자에 의해 오름차순으로 정렬된 2개 목록은 2개의 각각의 큐에 놓이고, 각 목록으로부터의 첫번째 요소를 판독함으로써 비교된다. 만일 요소들이 동일하다면, 어떠한 액션도 요구되지 않으며, 각 목록으로부터의 다음 요소들이 비교된다. 만일 파일 시스템 목록으로부터의 요소가 서버 객체 목록으로부터의 요소보다 작다면, 가능한 파일 시스템 고아가 식별된 것이다. 만일 서버 객체 목록으로부터의 요소가 파일 시스템 목록으로부터의 요소보다 작다면, 적절한 서버 고아가 식별된 것이다. 따라서, 더 작은 값을 갖는 요소가 고아이다. 고아들은 플래그가 표시되고 그에 따라 시스템 내에서 처리될 수 있다.
만일 고아가 식별되면, 동작은, 이전 비교로부터의 더 큰 요소와 다른 목록으로부터 다음 요소를 비교함으로써 더 많은 고아의 탐색을 계속한다. 이 동작은 양쪽 목록으로부터의 모든 요소들이 처리될때까지 요소들의 비교를 계속한다.
이러한 상호 고아 검사 루틴은 병렬화될 수 있는데, 이것은 양쪽 목록이 이전 파일 고유 식별자에 의해 정렬되기 때문이다. 나아가, 각각의 목록은 이전 파일 고유 식별자에 의해 세그먼트화될 수 있고, 다양한 범위의 요소들이 상이한 쓰레드에 의해 처리될 수 있다.
수십억개의 파일을 관리하는 계층적 스토리지 관리(HSM) 시스템과 같은 지극히 큰 파일 시스템에 대한 상호 고아 조정 방법을 제공함으로써 스토리지 환경에서 데이터 일치성을 유지하고 잃어버린 공간을 회복하기 위한 동작을 제공한다.
지극히 큰 파일 시스템에 대한 HSM 상호 고아 조정을 수행하는 현재 공개되는 동작은, 시스템 충돌 또는 시스템 구성 변경으로부터 초래될 수 있는 파일 시스템 클라이언트 고아 및 서버 객체 고아 모두를 싱글 패스로 식별하기 위한 일반적 메커니즘을 제공한다. 본 발명의 한 실시예는, 파일 시스템 클라이언트 고아 및 서버 객체 고아 모두를 싱글 패스 동작으로 식별함으로써 이 결과를 달성하며, 나아가, 병렬 처리를 위해 고아 식별 프로세스가 세그먼트화되는 것을 허용한다. 싱글 패스 고아 식별 및 병렬 처리 능력은, 파일 시스템 정보로부터 발생된 이전된 파일 목록을, 스토리지 저장소 정보로부터 발생된 이전된 파일의 목록과 대조하는 루틴을 이용함으로써 달성된다. 여기서, 각각의 목록은 이전 파일 고유 식별자에 기초하여 정렬된다.
따라서, 이 실시예는 수십억개의 파일을 포함하는 파일 시스템에서 파일 시스템 클라이언트 고아와 서버 객체 고아 모두를 신원파악하기 위한 고도로 스케일가능한 수단을 제공한다. 양쪽 목록은 이전 파일 고유 식별자에 기초하여 정렬되기 때문에, 어느 한쪽의 전체 목록을 캐싱해야할 필요없이 직접적인 비교를 행하는 것이 가능하다. 어떠한 이전 또는 선이전된 파일도 삭제되지 않은 초기 파일 시스템에서, 2개 목록 내의 엔트리들은 동일해야 한다. 따라서, 파일 시스템 클라이언트 고아와 서버 고아 모두는, 목록들 내의 갭을 식별함으로써 싱글 패스로 식별될 수 있다.
후속되는 설명 및 특정한 세부사항들은 본 발명의 철저한 이해를 제공하기 위해 개시되는 것이다. 그럼에도 불구하고, 본 발명의 다양한 양태들은 이들 특정한 세부사항없이도 실시될 수 있다. 추가적으로, 본 발명의 한 실시예에 따른 HSM 이전 동작을 설명하기 위해 본 명세서 전체를 통해 이하의 표기 용어들이 사용될 것이지만, 본 발명의 범위를 제한하기 위한 의도는 아니다.
도 1a를 참조하면, "데이터 파일"(110(A))은 사용자 또는 애플리케이션에 의해 제공된 데이터를 포함할 수 있는 볼륨(100) 상에 저장된 통상의 파일로서, 이전되지 않은 파일이다. 데이터 파일이 HSM 애플리케이션에 의해 그 원래 스토리지 위치로부터 이전될 때, 그 데이터 파일을 대체하여 스터브 파일이 남는다. 아직 절삭되지 않은 이전된 데이터 파일은 선이전 파일(premigrated file)이라고도 불린다.
"스터브 파일"(110(B))은 이전된 파일을 나타내는 물리적 파일이다. 데이터 파일이 그 원래의 스토리지 위치로부터 이전될 때, 이전된 데이터 파일을 나타내기 위해 원래의 스토리지 위치에 스터브 파일이 저장된다. 이 스터브 파일은 이전된 데이터 파일의 회수를 가능케하는 정보의 일부 또는 모두를 저장할 수 있다. 이전된 파일들의 위치를 파악하는데 이용되는 기타의 정보가 다른 데이터 구조로 저장될 수도 있으나, 스터브 파일은, 전형적으로, 사용자 및 애플리케이션이 원래의 이전된 파일 컨텐츠를 액세스하기 위해 이용하는 파일 시스템 내의 실체이다.
도 1b는, 본 발명의 한 실시예에 대한 예시적인 동작 환경의 블럭도로서, 네트워크(120)를 통해 동작하는 계층적 스토리지 관리(HSM) 제어형 환경을 예시하고 있다. HSM 제어형 환경은, 데이터 파일들이 그들의 생성이후에 저장되는 스토리지 구조(132) 및 볼륨(100)을 포함하는 파일 시스템(130)과, 이전된 파일들을 저장하기 위해 HSM 애플리케이션(150)에 의해 사용되는 스토리지 저장소 서버(160)를 포함한다. 스토리지 저장소 서버(160)는, 네트워크를 통해 접속된 유사한 타입의 스토리지 매체(170a, 170b, 170c) 또는 복수의 스토리지 디스크를 포함할 수 있는 스토리지 저장소(170)에 액세스한다. 주 스토리지 디스크(170a)는 이전된 파일들과 연관된 복수의 데이터 객체를 저장하는 볼륨(180)을 포함한다.
도 1a, 1c, 및 1d와 조합하여 도 1b의 HSM 제어형 환경을 참조하면, HSM 애플리케이션(150)은, 파일 시스템(130)과 스토리지 저장소 서버(160) 사이의 (110(A)와 같은) 데이터 파일들의 이전, 선이전, 및 회수에 대한 관리를 책임진다. 이 HSM 관리는, 각각의 이전된 파일에 대한 인덱스(153) 내에서의 이전 파일 고유 식별자의 생성과, 이전된 파일 객체에 대한 포인터 정보를 포함하는 (110(B)와 같 은) 스터브 파일의 생성을 수반하며, HSM 제어형 환경 전체를 통해 스토리지 저장소 볼륨(108) 상에 저장된 이전 파일 고유 식별자 인덱스 및 (180(A), 180(B), 및 180(C)와 같은) 이전된 파일 객체들의 위치를 추적하는 기타의 정보를 포함하는 스토리지 구조(152)를 갱신한다. 구현에 따라, HSM 애플리케이션은 또한, 이전된 파일 객체의 추적을 용이하게 하기 위해 파일 시스템 카탈로그(135) 내의 다른 정보를 업데이트할 수도 있다. 나아가, HSM 애플리케이션은, (110(A)와 같은) 데이터 파일의 스토리지 저장소 서버(160)로의 이전에 후속하여 파일 시스템(130) 내의 데이터 파일을 (110(B)와 같은) 스터브 파일로 대체한다.
도 1d는 본 발명의 예시적인 구현 환경을 도시한다. 본 발명의 한 양태는 HSM 상호 고아 검사를 수행하기 위해 HSM 애플리케이션(150)과 그 연관된 루틴(151, 154, 155, 156, 및 159)의 이용을 포함한다. 이하의 설명에서, 설명을 위해, 본 발명의 이해를 제공하도록 특정한 세부사항이 개시되지만, 본 발명은 다양한 단계들 및 컴포넌트들의 추가, 생략, 또는 재배치와 더불어 유사한 방식으로 실시될 수 있다.
도 1d를 참조하면, 본 발명의 한 실시예에서, 사용되는 컴포넌트들은, (a) 이전된 파일들(151)을 생성 및 관리하고; (b) 이전된 파일 목록 질의(154)를 스토리지 저장소 서버(160)에 전송하며; (c) 이전된 파일 목록 요청(155)을 파일 시스템(130)에 전송하고; (d) 각각의 큐로부터의 요소들의 비교(159)를 위해 사용되는 큐들(157 및 158)을 관리하는 책임을 지는 수개의 루틴들을 포함하는 HSM 애플리케이션(150)을 포함한다.
도시된 바와 같이, HSM 애플리케이션(150)은 이전된 파일들을 생성하고 관리하기 위한 루틴 및 데이터 구조(151)를 포함한다. 본 발명의 한 실시예에 따르면, HSM 애플리케이션은 각각의 이전된 파일에 대한 인덱스(153) 내에 이전 파일 고유 식별자를 생성한다. 파일 시스템(130)과 스토리지 저장소 서버(160) 양자 모두는 이전된 파일을 식별하고 추적하기 위해 이전 파일 고유 식별자를 이용한다. 한 실시예에서, 이전 파일 고유 식별자는 파일들의 고유 속성들로부터 발생된 대문자 16진 문자들만의 문자열을 포함하여, 파일들의 파일 시스템 목록과 스토리지 저장소 서버 목록 사이의 문자열 비교를 용이하게 해준다. 이들 목록들은 정렬되기 때문에, 어느 한쪽의 목록 전체를 메모리에 저장할 필요가 없고, 양쪽 목록들 모두는 한번에 하나의 버퍼에서 처리된다. 추가적으로, 추가 실시예에서, 이전 파일 고유 식별자는 내부적으로 2진 포멧으로 저장되며, 이들 2진 값들은 동일한 비교 결과를 생성하도록 복합문에서 개별적으로 비교될 수 있다.
도 2는 본 발명의 한 실시예에 따른 상호 고아 조정 대조 프로세스의 예시적 동작을 도시한다. 이 실시예에서, 이전 파일 고유 식별자에 의해 정렬된 목록들은, (객체(240)와 같은) 파일 시스템 고아와 (객체(250)와 같은) 서버 객체 고아를 식별하기 위해 큐들(210 및 220)에 푸시되고 동작들(230-235)에서 대조된다.
도 3은 상호 고아 조정을 수행하기 위한 예시적인 동작을 설명하는 작업흐름도이다. 도 1a, 1b, 1c, 1d, 및 도 2와 조합하여 도 3을 참조하면, 본 발명의 한 실시예에 따른 동작에 의해 사용되는 단계들은 다음과 같다.
이 동작의 수행에 대한 필요요건으로서, 파일들의 효율적인 스토리지를 관리 하고 다양한 스토리지 장치들 사이에서 파일들을 이전하기 위해, HSM 제어형 스토리지 환경이 존재한다. 이 프로세스는, 파일 시스템(130)에 저장된 데이터 파일(110(A))이 스토리지 저장소 서버(160)로 이전되어야 한다고 HSM 애플리케이션(150)이 결정할 때 개시된다.
먼저, 단계(301)에서, 향후 처리를 위해 필요한 인덱싱 및 데이터 구조가 적소에 있을 것을 보장하기 위한 중요 단계로서, HSM 애플리케이션(150)은 이전될 각각의 데이터 파일(110(A))에 대한 인덱스(153) 내에 이전 파일 고유 식별자를 발생하는 HSM 파일 인덱싱 프로세스를 수행한다. 이러한 이전 파일 고유 식별자는 파일 시스템(130) 상의 스터브 파일(110(B)) 내에, 그리고 스토리지 저장소 서버(160) 상의 이전된 데이터 객체(180(A))와 함께, 저장된다. 추가 실시예의 한 예에서, 이전 파일 고유 식별자는 후속 단계들에서의 직접적인 문자열 값 비교를 가능케하는 16진 문자열을 포함한다.
그 다음, 단계(302)에서와 같이, HSM 애플리케이션(150)의 한 컴포넌트인 HSM 상호 고아 검사 처리 동작은, 데이터 일치성에 대한 검사 요청의 수신시에 개시된다. 이 요청은, 파일 시스템 또는 다양한 시스템 유틸리티들(예를 들어, 시스템 기동 또는 백업-복구)의 관리자와 같은, 다양한 소스들로부터 수신될 수 있다. 한 실시예에서, 이 요청은, 후속 동작들에 요구되는 데이터를 입력하는 커맨드 라인 파라미터들을 공급하는 "dsmreconcile" 내의 명령과 같은, 커맨드 라인 실행가능한 인터페이스 내에서 개시될 수 있다.
단계(303)에서와 같이, HSM 애플리케이션(150)은 이전 파일 고유 식별 자(153)에 의해 정렬된 이전된 파일들의 서버 객체 목록(154(A))을 검색하기 위해 스토리지 저장소 서버(160)에 질의하는 서버 객체 검색 프로세스(154)를 개시한다. 그 질의의 결과는 서버 객체 큐(157)에 놓인다. 서버 질의는 또한, 만료되고 중복된 객체들을 전달한다.
단계(303)와 병렬로, 단계(304)는, HSM 애플리케이션(150)이 파일 시스템(130)에 액세스하여, 인덱스(153)로부터의 이전 파일 고유 식별자에 의해 정렬된 파일들의 파일 시스템 목록(155(A))을 검색하는 파일 시스템 검색 프로세스(155)를 개시하는 것을 포함한다. 이 목록 결과는 파일 시스템 큐(158)에 놓인다. 파일 시스템 목록은 또한, 이전되지 않은 데이터 파일들을 포함한다.
단계들(303 및 304)과 병렬로, 양쪽 큐들이 데이터를 포함하자마자, 싱글 패스 고아 식별 대조 프로세스를 개시하기 위해 HSM 애플리케이션(150)에 의해 단계(305)가 수행된다. 서버 객체 큐(157)로부터의 탑 요소와 파일 시스템 큐(158)로부터의 탑 요소가 판독되어 비교된다.
그 다음, 단계(306)에서와 같이, 판독된 큐 요소들의 정합 여부를 판정하기 위해 검사가 수행된다. 이것은, 스토리지 저장소 서버(160)로부터의 이전된 데이터 객체(180(A))의 만료 인터벌을 검사하여 만료 여부를 판정하는 것을 포함할 수 있다. 만일 만료되었다면, 스토리지 저장소 서버 상의 이전된 데이터 객체는 단순히 삭제되고, 그 요소는 서버 객체 큐로부터 제거될 수 있다. 이에 후속하여, 서버 객체 큐(157)로부터 새로운 탑 요소가 판독되고 단계(305)가 반복된다. 도 2에 도시된 바와 같이, 단계(306)는 각각의 큐(210 및 220)로부터 판독된 요소들을 비 교하는 것을 더 포함한다. 만일 이 요소들이 동일하다면, 양쪽 큐로부터 탑 요소들의 제거를 위해 동작은 단계(307)로 진행한다. 만일 각각의 큐로부터 판독된 요소들이 동일하지 않다면, 단계(309)에서와 같은 추가 처리가 수행된다.
단계(307)에서, 각각의 큐로부터의 탑 요소의 비교 결과가 정합이면, 고아는 존재하지 않고 어떠한 액션도 필요하지 않다. 만일 단계(308)에서와 같이 이제 양쪽 큐들이 비게 되면, 동작은 완료된다. 만일 추가 항목들이 남아 있다면, 단계(305)에서와 같이 각각의 큐로부터의 새로운 탑 요소가 판독되어 비교된다.
단계(309)는 각각의 큐로부터의 탑 요소의 비교 결과가 부정합일 때 발생한다. 만일 파일 시스템 큐(210)로부터의 요소가 서버 객체 큐(220)로부터의 요소보다 작다면(231), 단계(310)로 가서 가능한 파일 시스템 고아(240)가 식별되었는지의 여부가 판정된다. 만일 파일 시스템 큐로부터의 요소가 서버 객체 큐로부터의 요소보다 크거나(234), 파일 시스템 큐가 비어 있다면, 동작은 단계(311)로 가서 적절한 서버 고아(250)가 식별되었는지의 여부가 판정된다. 만일 단계(312a 또는 312b)에서와 같이 양쪽 큐들이 비어 있다면, 프로세스는 완료된다.
단계(310)에서, 파일 시스템 고아(240)가 존재한다고 판정하기 이전에 소정의 실시간 파일 시스템 검사가 요구된다. 먼저, 파일 시스템(160) 내에 파일이 존재하는지에 대한 검사가 수행된다. 두번째, 파일이 이전 또는 선이전된 파일인지에 대한 검사가 수행된다. 만일 파일이 존재하고 이전된 파일이라면, 파일 시스템 고아가 식별된 것이고 그 요소는 고아 로그 파일 내에 두어야 한다. 만일 파일이 존재하고 선이전 파일이라면, 그것은 데이터 파일이고 상주하도록 해야 한다. 만 일 파일이 파일 시스템 내에 존재하지 않는다면, 파일 시스템 목록(155(A))이 발생되고 서버 객체 목록(154(A))이 발생된 기간 사이에 그 파일이 삭제되었음이 분명하므로, 고아는 존재하지 않는다. 마지막으로, 단계(310)에서, 파일 시스템 큐로부터 탑 요소가 제거된다.
단계(311)에서, 서버 고아(250)가 존재한다고 판정하기 이전에 파일이 존재하는지를 검증하기 위해 유사한 실시간 파일 시스템 검사가 요구된다. 만일 파일이 존재하고 이전된 파일 또는 선이전된 파일이라면, 그 파일은 파일 시스템 목록(155(A))이 발생되고 서버 객체 목록(154(A))이 발생된 기간 사이에 생성되어 이전되었음이 분명하므로, 서버 고아는 존재하지 않는다. 만일 파일이 존재하지 않는다면, 서버 고아(250)가 식별된 것이다. 그 다음, 그 객체가 만료된 것으로 마크하기 위해, 스토리지 저장소 서버(160)로부터 서버 객체를 삭제하거나 다른 적절한 복구 액션을 취하는 것과 같은, 적절한 액션이 취해진다.
단계들(308, 312a, 및 312b) 각각에서 질의되는 바와 같이, 양쪽 큐들이 비어 있고 모든 요소들이 판독되어 각각의 큐로부터 처리되었다면, 고아 식별 프로세스는 완료된다. 그러나, 만일 어느 한 큐에 추가 요소들이 존재한다면, 고아 식별 프로세스는 계속된다. 단계(313)에서와 같이, 파일 시스템 큐(210)로부터 새로운 탑 요소가 판독되어 현재의 서버 객체 큐 요소와 비교되거나; 또는, 단계(314)에서와 같이, 서버 객체 큐로부터의 새로운 탑 요소가 판독되어 현재의 파일 시스템 큐 요소와 비교된다. 단계들(306-314)에 열거된 프로세스는 큐들이 빌때까지 반복된다.
앞서 제시된 바와 같이, 파일 시스템 고아 및 서버 객체 고아에 대해 수행되는 처리는 고아 객체의 인식시에 특정한 액션을 수행하도록 구성될 수 있다. 본 발명의 추가 실시예에서, 발견 후에, 서버 고아들은 직접 삭제된다. 본 발명의 또 다른 추가 실시예에서, 파일 시스템 고아의 발견은 로그 파일 내에 상술되고, 시스템 관리자는 메시지 또는 사용자 인터페이스 디스플레이를 통해 통보받는다.
또한, 본 발명의 추가 실시예는, 전술된 고아 검사 처리 동작의 동작 내에서 발생할 수 있는 미예상 상태들을 처리한다. 한 상태는, 파일이 생성된 후로서 서버 질의가 개시되기 이전에 파일들이 이전될 때 발생할 수 있다. 서버 목록은 이들 데이터 객체들을 포함하지만, 파일 목록은 그렇지 않을 것이다. 따라서, 전술된 프로세스의 동작은 서버 고아를 가정하고 서버 객체들을 삭제함으로써, 데이터 손실을 유발할 것이다. 이를 해결하기 위해, 대응하는 어떠한 스터브 파일도 없다는 것을 보장하기 위해, 임의의 서버 객체가 삭제되기 이전에 파일 질의가 실행될 수 있다.
고아 스터브 파일들이 파일 목록에 나타나지만 파일 시스템에서는 이미 삭제되어버린 추가의 미예상 상태가 발생할 수도 있다. 이들 파일들은 파일 시스템 내에 더 이상 존재하지 않지만 고아로서 잘못 보고될 수 있다. 이를 해결하기 위해, 고아 파일들이 파일 시스템에 여전히 존재한다는 것을 보장하기 위해 고아 파일들에 대해 파일 질의가 실행되어, 이 검사가 성공적인 경우에만 객체들이 고아로서 보고되도록 한다. 선이전 고아 파일의 경우, 이들은 상주하도록 할 수 있고, 고아로서 보고되지 않을 수 있다.
추가적으로, 추가 실시예에 따라, 체크포인트로부터 또는 시작점으로부터 고아 조정 프로세스가 재시작될 수 있다. 마지막 체크포인트로부터 전방으로 또는 시작점으로부터와 같이, 처리가 재수행될 필요가 있는 경우, 후속된 처리는 보다 적은 작업을 생성하는데, 이것은 모든 발견된 서버 고아들은 이미 처리되었고(즉, 삭제되었고) 후속하는 질의 결과에 포함되지 않을 것이지 때문이다. 파일 시스템 고아 처리에 대해 취해지는 단계들에 따라, 발견된 파일 시스템 고아들이 해결되어, 다음 패스에서 더 적은 엔트리들이 처리를 요구하도록 한다(그러나, 만일 파일 목록 고아들이 첫 실행에서 해결되지 않으면, 고아들은 2번째 실행에서 단순하게 로깅되거나 경고된다).
전술된 프로세스들은, 전형적인 컴포넌트 구성 상에서 지극히 큰 파일 시스템에 대한 HSM 상호 고아 조정에 대한 동작의 구현을 구성한다. 예를 들어 스토리지 관리 시스템 내의 수정된 컴포넌트들의 사용을 통해, 또는 이벤트 로깅이나 다양한 고아 복구 루틴들과 같은 추가 동작들의 수행을 통해, 당업자에 의해 본 발명의 추가 실시예들이 제공될 수 있다.
당업자라면 이해하겠지만, 본 발명은, 시스템, 방법, 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명은 완전히 하드웨어적 구현, (펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함한) 완전히 소프트웨어적 구현, 또는 본 명세서에서 모두 일반적으로 "회로", "모듈", 또는 "시스템"이라 언급될 수 있는 소프트웨어 및 하드웨어 양태를 결합한 구현의 형태를 취할 수도 있다. 나아가, 본 발명은, 매체로 구현된 컴퓨터 사용가능한 프로그램 코드를 갖는 표현식의 임의 의 유형의 매체로 구현된 컴퓨터 프로그램 제품의 형태를 취할 수도 있다.
하나 이상의 컴퓨터 사용가능하거나 컴퓨터 판독가능한 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터-사용가능하거나 컴퓨터-판독가능한 매체는, 예를 들어, 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 장치, 디바이스, 또는 전파 매체일 수 있지만, 이것으로만 한정되는 것은 아니다. 컴퓨터 판독가능한 매체의 더욱 특정적 예들(빠짐없이 열거된 목록은 아님)로는, 하나 이상의 와이어를 갖는 전기 접속, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거가능 프로그램가능 판독전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 컴팩트 디스크 판독전용 메모리(CDROM), 광학 스토리지 장치, 인터넷 또는 인트라넷을 지원하는 매체와 같은 전송 매체, 또는 자기 스토리지 장치가 포함될 수 있다. 주목할 점은, 프로그램은, 예를 들어, 종이나 기타 매체의 광학적 스캐닝을 통해 전자적으로 포착된 다음, 컴파일, 인터프리트, 또는 적절한 방식으로 기타 처리될 수 있고, 필요하다면, 컴퓨터 메모리 내에 저장될 수 있기 때문에, 컴퓨터-사용가능하거나 컴퓨터-판독가능한 매체는 심지어 종이일 수도 있고 프로그램이 인쇄될 수 있는 또 다른 적절한 매체일 수도 있다는 것이다. 본 명세서의 정황에서, 컴퓨터-사용가능하거나 컴퓨터-판독가능한 매체는 명령어 실행 시스템, 장치, 또는 디바이스에 의해 사용되거나 이들과 연계하여 사용하기 위한 프로그램들을 포함, 저장, 전달, 전파, 또는 수송할 수 있는 임의의 매체일 수 있다. 컴퓨터-사용가능한 매체는 기저대역에 또는 캐리어파의 일부로서 컴퓨터-사용가능한 프로그램 코드가 구현되어 있는 전파된 데이터 신호를 포함할 수 있다. 컴퓨터 사용가능한 프로그램 코드는, 무선, 유선, 광섬유 케이블, RF 등을 포함하지만, 이들만으로 제한되지 않는 임의의 적절한 매체를 이용하여 전송될 수도 있다.
본 발명의 동작들을 실행하기 위한 컴퓨터 프로그램 코드는, Java, Smalltalk, C++등과 같은 객체 지향형 프로그래밍 언어를 포함한 하나 이상의 프로그래밍 언어와, "C" 프로그래밍 언어 또는 그 유사한 프로그래밍 언어와 같은 종래의 절차 프로그래밍 언어와의 임의의 조합으로 기재될 수 있다. 프로그램 코드는, 단독형 소프트웨어 패키지로서, 전적으로 사용자의 컴퓨터 상에서 실행될 수도 있고, 부분적으로 사용자 컴퓨터 상에서 실행될 수도 있으며, 부분적으로 사용자 컴퓨터 상에서 그리고 부분적으로 원격 컴퓨터 상에서 실행되거나, 전적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는, 근거리 통신망(LAN) 또는 광역 네트워크(WAN)를 포함한 임의 타입의 네트워크를 통해 사용자의 컴퓨터에 접속되거나, 외부 컴퓨터에 대해 접속이 이루어질 수도 있다(예를 들어, 인터넷 서비스 제공자를 이용한 인터넷을 통해).
본 발명의 다양한 대표적인 실시예들이 소정의 특정성을 가지고 기술되었지만, 당업자에 의해 상세한 설명 및 특허청구범위에 개시된 발명의 주제의 사상과 범위로부터 벗어나지 않고 공개된 실시예에 대한 많은 변경들이 이루어질 수 있다.
도 1a는 본 발명의 한 실시예에서 이용되는 스토리지 볼륨의 예시적 상태를 도시한다.
도 1b는 본 발명의 한 실시예에 대한 예시적인 동작 환경을 도시한다.
도 1c는 본 발명의 한 실시예에서 이용되는 파일 시스템의 예시적 상태를 도시한다.
도 1d는 본 발명의 한 실시예에서 이용되는 HSM 애플리케이션에 대한 예시적인 동작 환경을 도시한다.
도 2는 본 발명의 한 실시예에 따른 예시적인 상호 고아 조정 대조 프로세스를 도시한다.
도 3은 본 발명의 한 실시예에 따른 지극히 큰 파일 시스템에 대한 싱글 패스 HSM 상호 고아 조정의 예시적 동작에 대한 플로차트를 도시한다.

Claims (10)

  1. 계층적 스토리지 관리(HSM) 제어형 스토리지 환경에서 상호 고아 조정을 수행하기 위한 방법에 있어서,
    분산된 스토리지 시스템―상기 분산된 스토리지 시스템은 네트워크를 통해 접속된 스토리지 저장소 서버와 파일 시스템을 포함함―상에서 HSM 애플리케이션 수트를 동작시키는 단계와;
    상기 HSM 애플리케이션 수트를 이용하여 상기 파일 시스템으로부터 상기 스토리지 저장소 서버로 복수의 데이터 파일을 이전시키는 단계와;
    이전시에 상기 복수의 데이터 파일들 각각에 대한 이전 파일 고유 식별자―상기 이전 파일 고유 식별자는 상기 파일 시스템 상의 스터브 파일과 상기 스토리지 저장소 서버 상의 이전된 데이터 파일에 저장됨―를 발생하기 위해 상기 HSM 애플리케이션 수트로 파일 인덱싱 처리를 수행하는 단계와;
    서버 객체 큐―상기 서버 객체 큐는 상기 이전된 데이터 파일들의 상기 이전 파일 고유 식별자에 의해 정렬됨―를 상기 스토리지 저장소 서버 상에 저장된 상기 이전된 데이터 파일들의 목록으로 채우는 단계와;
    파일 시스템 큐―상기 파일 시스템 큐는 상기 스터브 파일들의 이전 파일 고유 식별자에 의해 정렬됨―를 상기 파일 시스템 상의 스터브 파일들의 목록으로 채우는 단계와;
    서버 객체 큐 요소들의 이전 파일 고유 식별자를 파일 시스템 큐 요소들의 이전 파일 고유 식별자와 비교하는 싱글 패스 고아 식별 대조 프로세스를 상기 서버 객체 큐와 상기 파일 시스템 큐 상에서 실행함으로써 파일 시스템 고아와 서버 객체 고아를 식별하는 단계
    를 포함하는, 상호 고아 조정을 수행하기 위한 방법.
  2. 제1항에 있어서, 상기 파일 시스템 고아와 서버 객체 고아를 식별하는 단계는,
    양쪽 큐들이 비어 있다면 상기 식별 대조 프로세스를 완료하는 단계와;
    상기 서버 객체 큐로부터의 탑 요소의 이전 파일 고유 식별자가 상기 파일 시스템 큐로부터의 탑 요소의 이전 파일 고유 식별자와 정합하는지를 판정하는 단계와;
    상기 양쪽 큐들로부터의 탑 요소들의 이전 파일 고유 식별자들이 정합한다는 판정에 응답하여, 양쪽 큐들로부터 상기 탑 요소를 제거하고 나머지 큐 요소들에 대해 상기 식별 대조 프로세스를 반복하는 단계와;
    상기 파일 시스템 큐로부터의 상기 탑 요소가 상기 서버 객체 큐로부터의 상기 탑 요소보다 작은 이전 파일 고유 식별자를 포함하는지를 판정하는 단계와;
    상기 파일 시스템 큐가 더 작은 이전 파일 고유 식별자를 포함한다는 판정에 응답하여,
    상기 파일 시스템 큐의 상기 탑 요소를 파일 시스템 고아로서 식별하고;
    상기 파일 시스템 큐로부터 상기 탑 요소를 제거하여, 상기 파일 시스템 큐 내의 다음 요소를 상기 파일 시스템 큐의 상기 탑 요소로서 마크하며;
    나머지 큐 요소들에 대해 상기 식별 대조 프로세스를 반복하는 단계와;
    상기 파일 시스템 큐가 더 작은 이전 파일 고유 식별자를 포함하지 않는다는 판정에 응답하여,
    상기 서버 객체 큐의 상기 탑 요소를 서버 객체 고아로서 식별하고;
    상기 서버 객체 시스템 큐로부터 상기 탑 요소를 제거하여, 상기 서버 객체 큐 내의 다음 요소를 상기 파일 시스템 큐의 탑 요소로서 마크하며;
    나머지 큐 요소들에 대해 상기 식별 대조 프로세스를 반복하는 단계
    를 포함하는 것인, 상호 고아 조정을 수행하기 위한 방법.
  3. 제1항에 있어서, 상기 이전 파일 고유 식별자는 16진 문자열을 포함하는 것인, 상호 고아 조정을 수행하기 위한 방법.
  4. 제1항에 있어서, 상기 서버 객체 큐를 채우는 단계와 상기 파일 시스템 큐를 채우는 단계는 병렬로 실행되는 것인, 상호 고아 조정을 수행하기 위한 방법.
  5. 제1항에 있어서, 상기 싱글 패스 고아 식별 대조 프로세스는, 큐들의 순차적 범위를 분할하고 그 범위들을 상이한 쓰레드에 할당함으로써 병렬로 수행되는 것 인, 상호 고아 조정을 수행하기 위한 방법.
  6. 제1항에 있어서, 하나 이상의 고아를 식별하는 것에 응답하여, 복구 동작들이 론칭되는 것인, 상호 고아 조정을 수행하기 위한 방법.
  7. 시스템으로서,
    적어도 하나의 프로세서와;
    계층적 스토리지 관리(HSM) 제어형 스토리지 환경에서 상호 고아 조정을 수행하기 위해 상기 적어도 하나의 프로세서와 동작할 수 있는 명령어들을 저장하는 적어도 하나의 메모리
    를 포함하고, 상기 명령어들은,
    분산된 스토리지 시스템―상기 분산된 스토리지 시스템은 네트워크를 통해 접속된 스토리지 저장소 서버와 파일 시스템을 포함함―상에서 HSM 애플리케이션 수트를 동작시키는 단계와;
    상기 HSM 애플리케이션 수트를 이용하여 상기 파일 시스템으로부터 상기 스토리지 저장소 서버로 복수의 데이터 파일을 이전시키는 단계와;
    이전시에 상기 복수의 데이터 파일들 각각에 대한 이전 파일 고유 식별자―상기 이전 파일 고유 식별자는 상기 파일 시스템 상의 스터브 파일과 상기 스토리지 저장소 서버 상의 이전된 데이터 파일에 저장됨―를 발생하기 위해 상기 HSM 애플리케이션 수트로 파일 인덱싱 처리를 수행하는 단계와;
    서버 객체 큐―상기 서버 객체 큐는 상기 이전된 데이터 파일들의 상기 이전 파일 고유 식별자에 의해 정렬됨―를 상기 스토리지 저장소 서버 상에 저장된 상기 이전된 데이터 파일들의 목록으로 채우는 단계와;
    파일 시스템 큐―상기 파일 시스템 큐는 상기 스터브 파일들의 이전 파일 고유 식별자에 의해 정렬됨―를 상기 파일 시스템 상의 스터브 파일들의 목록으로 채우는 단계와;
    서버 객체 큐 요소들의 이전 파일 고유 식별자를 파일 시스템 큐 요소들의 이전 파일 고유 식별자와 비교하는 싱글 패스 고아 식별 대조 프로세스를 상기 서버 객체 큐와 상기 파일 시스템 큐 상에서 실행함으로써 파일 시스템 고아와 서버 객체 고아를 식별하는 단계
    를 위해 실행되는 것인, 시스템.
  8. 제7항에 있어서, 상기 서버 객체 큐를 채우는 단계와 상기 파일 시스템 큐를 채우는 단계는 병렬로 실행되는 것인, 시스템.
  9. 계층적 스토리지 관리(HSM) 제어형 스토리지 환경에서 상호 고아 조정을 수행하기 위한 컴퓨터 판독가능한 프로그램을 갖는 컴퓨터 사용가능한 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 판독가능한 프로그램은 컴퓨터 상에서 실행될 때 상기 컴퓨터로 하여금,
    분산된 스토리지 시스템―상기 분산된 스토리지 시스템은 네트워크를 통해 접속된 스토리지 저장소 서버와 파일 시스템을 포함함―상에서 HSM 애플리케이션 수트를 동작시키고;
    HSM 애플리케이션 수트를 이용하여 상기 파일 시스템으로부터 상기 스토리지 저장소 서버로 복수의 데이터 파일을 이전시키며;
    이전시에 상기 복수의 데이터 파일들 각각에 대한 이전 파일 고유 식별자―상기 이전 파일 고유 식별자는 상기 파일 시스템 상의 스터브 파일과 상기 스토리지 저장소 서버 상의 이전된 데이터 파일에 저장됨―를 발생하기 위해 상기 HSM 애플리케이션 수트로 파일 인덱싱 처리를 수행하고;
    서버 객체 큐―상기 서버 객체 큐는 상기 이전된 데이터 파일의 상기 이전 파일 고유 식별자에 의해 정렬됨―를 상기 스토리지 저장소 서버 상에 저장된 상기 이전된 데이터 파일의 목록으로 채우며;
    파일 시스템 큐―상기 파일 시스템 큐는 상기 스터브 파일들의 이전 파일 고유 식별자에 의해 정렬됨―를 상기 파일 시스템 상의 스터브 파일들의 목록으로 채우고;
    서버 객체 큐 요소들의 이전 파일 고유 식별자를 파일 시스템 큐 요소들의 이전 파일 고유 식별자와 비교하는 싱글 패스 고아 식별 대조 프로세스를 상기 서버 객체 큐와 상기 파일 시스템 큐상에서 실행함으로써 파일 시스템 고아와 서버 객체 고아를 식별하도록 유발하는 것인, 컴퓨터 프로그램 제품.
  10. 제9항에 있어서, 상기 이전 파일 고유 식별자는 16진 문자열을 포함하는 것 인, 컴퓨터 프로그램 제품.
KR1020090064969A 2008-10-03 2009-07-16 극히 큰 파일 시스템에 대한 hsm 상호 고아 조정 KR101127304B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/245,165 US8103621B2 (en) 2008-10-03 2008-10-03 HSM two-way orphan reconciliation for extremely large file systems
US12/245,165 2008-10-03

Publications (2)

Publication Number Publication Date
KR20100038133A true KR20100038133A (ko) 2010-04-13
KR101127304B1 KR101127304B1 (ko) 2012-04-12

Family

ID=42076575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090064969A KR101127304B1 (ko) 2008-10-03 2009-07-16 극히 큰 파일 시스템에 대한 hsm 상호 고아 조정

Country Status (3)

Country Link
US (1) US8103621B2 (ko)
JP (1) JP5466459B2 (ko)
KR (1) KR101127304B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941410B2 (en) * 2008-09-30 2011-05-10 Microsoft Corporation Method and system of managing conflicts for a set of synchronized folders
US8965938B2 (en) * 2010-09-30 2015-02-24 International Business Machines Corporation Orphan management in file systems
KR101257236B1 (ko) 2010-11-26 2013-04-29 주식회사 케이티 복합 상황이벤트의 이벤트 큐에서 유효시간 경과 이벤트를 삭제하는 u―서비스 방법 및 시스템
US9158464B2 (en) * 2012-12-31 2015-10-13 Futurewei Technologies, Inc. System and method for object integrity service
US8880838B2 (en) 2013-01-08 2014-11-04 Lyve Minds, Inc. Storage network data allocation
US9678678B2 (en) * 2013-12-20 2017-06-13 Lyve Minds, Inc. Storage network data retrieval
WO2015121982A1 (ja) * 2014-02-14 2015-08-20 富士通株式会社 ドキュメント管理プログラム、装置、および方法
US9811365B2 (en) * 2014-05-09 2017-11-07 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
JP6354501B2 (ja) * 2014-09-29 2018-07-11 富士通株式会社 比較プログラム、比較方法および情報処理装置
CN106484690A (zh) * 2015-08-24 2017-03-08 阿里巴巴集团控股有限公司 一种数据迁移的验证方法及装置
CN107766458A (zh) * 2017-09-27 2018-03-06 中国银行股份有限公司 文件对碰方法、装置、计算机设备及计算机可读存储介质
US10860527B2 (en) 2018-05-04 2020-12-08 EMC IP Holding Company, LLC Storage management system and method
US11258853B2 (en) 2018-05-04 2022-02-22 EMC IP Holding Company, LLC Storage management system and method
US10891257B2 (en) * 2018-05-04 2021-01-12 EMC IP Holding Company, LLC Storage management system and method
US11899544B2 (en) * 2020-05-19 2024-02-13 EMC IP Holding Company LLC Efficient synchronization of cloud enabled file system database during snapshot restore operation
US11775289B2 (en) 2021-07-12 2023-10-03 International Business Machines Corporation Source code development interface for storage management

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873103A (en) * 1994-02-25 1999-02-16 Kodak Limited Data storage management for network interconnected processors using transferrable placeholders
JP3745398B2 (ja) 1994-06-17 2006-02-15 富士通株式会社 ファイルのディスクブロック制御方式
JP3952518B2 (ja) * 1996-03-29 2007-08-01 株式会社日立製作所 多次元データ処理方法
SE9703629L (sv) 1997-03-03 1998-09-04 Telia Ab Förbättringar av, eller med avseende på, synkronisering
US6336120B1 (en) 1997-08-26 2002-01-01 International Business Machines Corporation Method and system for supporting hierarchical storage management (HSM) file system across multiple platforms
US5983239A (en) 1997-10-29 1999-11-09 International Business Machines Corporation Storage management system with file aggregation supporting multiple aggregated file counterparts
JP4292331B2 (ja) * 1998-04-27 2009-07-08 ソニー株式会社 データ記録再生装置及びその方法
US6718445B1 (en) 1999-03-26 2004-04-06 International Business Machines Corporation System and method for performing dynamic buffer management in an HFS (hierarchical file system DF/SMS)
US6886019B1 (en) * 2000-05-15 2005-04-26 International Business Machines Corporation Optimized selection and accessing of stored files to avoid mount and position thrashing
US6571261B1 (en) 2000-07-13 2003-05-27 International Business Machines Corporation Defragmentation utility for a shared disk parallel file system across a storage area network
US6976060B2 (en) 2000-12-05 2005-12-13 Agami Sytems, Inc. Symmetric shared file storage system
ATE361500T1 (de) * 2000-12-15 2007-05-15 Ibm Methode und system für skalierbare, hochperformante hierarchische speicherverwaltung
US6785693B2 (en) 2001-02-02 2004-08-31 International Business Machines Corporation Management of multiple links to a file in a file system
JP2003015917A (ja) * 2001-07-04 2003-01-17 Hitachi Ltd データマイグレーション処理方法及びプログラム
US7107298B2 (en) 2001-09-28 2006-09-12 Commvault Systems, Inc. System and method for archiving objects in an information store
US8041735B1 (en) * 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US20040163029A1 (en) 2002-12-02 2004-08-19 Arkivio, Inc. Data recovery techniques in storage systems
US7251668B2 (en) 2003-06-19 2007-07-31 International Business Machines Corporation Configuration management file rename utility
US7010721B2 (en) 2003-09-29 2006-03-07 International Business Machines Corporation File system journal management
JP4881132B2 (ja) * 2006-11-16 2012-02-22 キヤノン株式会社 画像再生装置及び画像再生装置の制御方法
US7953945B2 (en) * 2008-03-27 2011-05-31 International Business Machines Corporation System and method for providing a backup/restore interface for third party HSM clients
US20090319532A1 (en) * 2008-06-23 2009-12-24 Jens-Peter Akelbein Method of and system for managing remote storage

Also Published As

Publication number Publication date
US8103621B2 (en) 2012-01-24
KR101127304B1 (ko) 2012-04-12
US20100088271A1 (en) 2010-04-08
JP2010092464A (ja) 2010-04-22
JP5466459B2 (ja) 2014-04-09

Similar Documents

Publication Publication Date Title
KR101127304B1 (ko) 극히 큰 파일 시스템에 대한 hsm 상호 고아 조정
US20220197954A1 (en) System and methods for metadata management in content addressable storage
US9639542B2 (en) Dynamic mapping of extensible datasets to relational database schemas
US8255365B2 (en) Source classification for performing deduplication in a backup operation
CN105630864B (zh) 存储行标识符值的字典的强制排序
US9678976B2 (en) Distributed deduplication using locality sensitive hashing
US8620924B2 (en) Refreshing a full-text search index in a partitioned database
US20120179689A1 (en) Directory tree search
US10417265B2 (en) High performance parallel indexing for forensics and electronic discovery
US11487714B2 (en) Data replication in a data analysis system
US11042526B2 (en) Systems and/or methods for database storage using binary large objects to guarantee reduced complexity
WO2016079629A1 (en) Optimizing database deduplication
JP2009522677A (ja) ノードの番号付けによるファイル・システムのダンプ/復元のための方法、システム、およびデバイス
CN110352410A (zh) 跟踪索引节点的访问模式以及预提取索引节点
CN107004036B (zh) 用以搜索包含大量条目的日志的方法和系统
US9229935B2 (en) Simulating accesses for archived content
US11016933B2 (en) Handling weakening of hash functions by using epochs
WO2016155510A1 (en) Apparatus and method for creating user defined variable size tags on records in rdbms
US11055266B2 (en) Efficient key data store entry traversal and result generation
WO2015178554A1 (ko) 압축 방식을 이용한 데이터 소스 관리 장치 및 방법
US11385826B2 (en) Method, electronic device and computer program product for restoring orphan block via replication
US20210096763A1 (en) Method, device, and computer program product for managing storage system
JP2007156844A (ja) データ登録・検索システムおよびデータ登録・検索方法

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
LAPS Lapse due to unpaid annual fee