KR20100099153A - 재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대한 결정 - Google Patents

재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대한 결정 Download PDF

Info

Publication number
KR20100099153A
KR20100099153A KR1020107012428A KR20107012428A KR20100099153A KR 20100099153 A KR20100099153 A KR 20100099153A KR 1020107012428 A KR1020107012428 A KR 1020107012428A KR 20107012428 A KR20107012428 A KR 20107012428A KR 20100099153 A KR20100099153 A KR 20100099153A
Authority
KR
South Korea
Prior art keywords
storage device
secondary storage
repository
records
primary
Prior art date
Application number
KR1020107012428A
Other languages
English (en)
Inventor
마이클 토마스 벤하스
샤차르 파이엔블리트
매튜 조셉 칼로스
게일 안드레아 스페어
소니 얼 윌리엄스
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20100099153A publication Critical patent/KR20100099153A/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation

Abstract

재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대해 결정하는 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다. 1차 저장 장치에 대한 기록물이 2차 저장 장치에 전송된다. 한 시점에 2차 저장 장치의 논리적 복사본이 수립된다. 시점 후의 논리적 복사 지속 기간 동안 1차 저장 장치로부터 수신된 논리적 복사본 내의 2차 저장 장치에 대한 기록물이 논리적 복사본 내의 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장된다. 2차 저장 장치에 대한 기록물 전송이 보류된다. 보류 동안 1차 저장 장치에 대한 기록물이 비동기 데이터 구조로 표시된다. 1차 저장 장치로부터 2차 저장 장치로의 기록물 전송의 보류를 종료하는 것에 응답하여 비동기 데이터 구조로부터 기록물을 전송하면서 레포지토리 내의 이용 가능한 저장 공간이 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정된다. 비동기 데이터 구조로 표시된 기록물을 전송하면서 레포지토리 내의 이용 가능한 저장 공간이 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정하는 것에 응답하여 보류의 종료에 후속하여 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 데이터를 한 시점에 2차 저장 장치에 저장하도록 레포지토리가 사용된다.

Description

재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대한 결정{DETERMINING WHETHER TO USE A REPOSITORY TO STORE DATA UPDATED DURING A RESYNCHRONIZATION}
본 발명은 재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리(repository)를 사용할 지에 대해 결정하는 방법, 시스템 및 프로그램에 관한 것이다.
재난 복구 시스템은 전형적으로 두 유형의 고장인, 단일의 시점(point in time)에서 갑작스런 치명적인 고장 또는 소정의 시간 구간 상에서의 데이터 손실을 다룬다. 제 2 유형의 점진적인 재해에서, 볼륨에 대한 업데이트가 손실될 수 있다. 데이터 업데이트의 복구를 지원하기 위해, 원격 위치에 데이터의 복사본이 제공될 수 있다. 애플리케이션 시스템이 1차 저장 장치에 새로운 데이터를 기록함에 따라 이러한 이중 또는 셰도우(shadow) 복사가 전형적으로 행해진다. 상이한 복사 기술은 IBM(International Business Machines Corporation)사의 XRC(Extended Remote Copy), CXRC(Coupled XRC), Global Copy 및 Global Mirror Copy와 같은 2차 사이트에서 데이터의 원격 복사를 유지하기 위해 사용될 수 있다.
데이터 미러링(mirroring) 시스템에서, 데이터는 볼륨 쌍으로 유지된다. 볼륨 쌍은 1차 저장 장치 내의 볼륨 및 1차 볼륨에서 유지된 데이터의 동일한 복사본을 포함하는 2차 저장 장치 내의 대응하는 볼륨으로 구성된다. 1차 및 2차 저장 제어기는 1차 및 2차 저장 장치에 대한 액세스를 제어하도록 사용될 수 있다. 특정의 데이터 미러링 시스템에서, 상이한 애플리케이션에 의해 상이한 1차 저장 장치에 대해 기록된 업데이트는 일관적인 TOD(time-of-day) 값을 타임 스탬프로서 사용한다. 호스트 운영 체제 또는 애플리케이션은 1차 저장 장치 내의 볼륨에 데이터 세트를 기록할 때 이러한 하나의 데이터 세트 또는 한 세트의 데이터 세트에 대한 업데이트를 타임 스탬프(time stamp)할 수 있다. 데이터 업데이트의 무결성은 1차 볼륨 상에서 행해진 것과 동일한 순서로 볼륨 쌍 내의 2차 볼륨에서 업데이트가 행해지는 것을 보장하는 것과 관련된다. 애플리케이션 프로그램에 의해 제공된 타임 스탬프는 데이터 업데이트의 논리적 시퀀스를 결정한다.
데이터베이스 시스템과 같은 다수의 애플리케이션 프로그램에서, 이전의 기록물이 발생되지 않는 한 특정의 기록물이 발생될 수 없으며, 그렇지 않는 경우 데이터 무결성이 위태롭게 된다. 무결성이 이전의 데이터 기록물의 발생에 의존하는 이러한 데이터 기록물은 종속적 기록물로서 알려져 있다. 1차 및 2차 저장 장치 내의 볼륨은 모든 기록물이 그들의 논리적 순서로 전송될 때 일관적이며, 즉, 모든 종속적인 기록물은 그에 종속되는 기록물 이전에 먼저 전송된다. 일관적인 그룹은 일관적인 타임 스탬프와 동등하거나 이보다 빠른 타임 스탬프를 갖는 일관적인 그룹 내의 모든 데이터 기록물에 대해 일관적인 시간을 갖는다. 일관적인 그룹은 종속적인 기록물이 일관적인 방식으로 보장되도록 1차 볼륨에 대한 업데이트의 집합체가 된다. 일관적인 시간은 시스템이 2차 볼륨에 대한 업데이트가 일관적인 것을 보장하는 가장 최근의 시간이 된다. 일관적인 그룹은 볼륨 및 저장 장치 상에서의 데이터 일관성을 유지한다. 따라서, 2차 볼륨으로부터 데이터가 복구될 때, 복구된 데이터는 일관적으로 될 것이다.
데이터의 일관적인 시점 복사본(a consistent point-in-time copy)을 제공하는 하나의 기법은 1차 저장 장치에 대한 모든 기록물을 보류하고 그 다음에 기록물이 보류되는 동안 2차 저장 장치 또는 백업 장치로 미러링하도록 모든 데이터를 복사하는 것이다. 이 기법의 단점은 데이터의 시점 복사본을 생성하기 위한 시간 동안 호스트 기록물이 보류되어, 호스트에서 프로세스하는 애플리케이션에 악 영향을 줄 수 있다는 것이다. 다른 기법은 단지 2초 또는 2회와 같은 매우 짧은 시간 구간이 소모되는 동안 1차 저장 장치 타겟에서 데이터의 논리적 복사를 수립하는 것이다. 따라서, 논리적 복사를 수립하는 시간 동안 1차 저장 장치에 대해 호스트 기록물을 보류하는 것은, 모든 소스 데이터를 타겟 볼륨에 복사하는 시간 동안 호스트 기록물이 보류되는 경우에 발생하는 것보다 호스트 애플리케이션 프로세싱에 훨씬 덜 지장을 준다. 논리적 복사를 수립한 후에, 타겟 볼륨이 업데이트 이전에 논리적 복사가 수립된 시점에 데이터를 갖도록, 업데이트되는 소스 볼륨 데이터가 타겟 볼륨에 복사된다. 이것은 업데이트가 수신될 때까지 물리적 복사를 보류한다. 이 논리적 복사 동작은 타겟 및 소스 볼륨이 액세스 불가능한 동안의 시간을 최소화하도록 수행된다. 시점 복사는 소스 볼륨 내의 데이터와 업데이트에 의해 중복 기록될 데이터의 조합을 포함한다. 하나의 이러한 논리적 복사 동작은 FlashCopy®으로서 알려져 있다(FlashCopy®는 International Business Machines, Corp. 또는 "IBM"의 등록된 트레이드마크임). FlashCopy는 상이한 장치 상에서 1차 볼륨과 2차 볼륨 사이의 논리적 시점 복사 관계를 수립하는 것을 수반한다. 일단 논리적 관계가 수립되면, 호스트는 1차 및 2차 볼륨 상에서 데이터에 대해 즉시 액세스할 수 있고, 데이터는 배경 동작의 일부분으로서 복사될 수 있다. 데이터는 1차 볼륨으로부터 2차 볼륨으로 배경 동작의 일부분으로서 복사된다. 데이터가 복사 완료되는 동안, 복사 완료되지 않은 2차 트랙 상에서의 임의의 데이터 판독은 FlashCopy® 동작의 시점에서 존재하였던 소스로부터 2차 타겟이 복사본을 갖도록 데이터가 1차 장치로부터 2차 장치로 복사되도록 한다. 또한, 복사 완료되지 않은 1차 저장 장치 상에서의 트랙에 대한 임의의 기록물은 1차 저장 장치 상에서의 트랙 상에 중복 기록될 데이터가 2차 저장 장치에 복사되도록 한다.
논리적 복사 동작을 수행하기 위해, 전체 타겟 볼륨은 1차 볼륨에 업데이트를 저장하도록 2차 저장 장치에서 할당될 수 있고, 이는 소스 볼륨에 대해 1차 저장 장치에 할당되는 바와 같이 타겟 볼륨에 대해 동일한 양의 저장 공간이 2차 저장 장치 상에서 할당될 것을 필요로 한다. 2차 저장 공간 상에서의 공간을 절약하기 위해, 당 분야에서 알려진 특정의 공간 효율적인 논리적 복사 기법은 논리적 복사 구간 동안 업데이트에 의해 중복 기록될 데이터를 소스 볼륨에 저장하도록 레포지토리를 할당하며, 다수의 경우에서 타겟에 복사되어야 하는 논리적 복사 지속 기간 동안 소스 볼륨 상에서 업데이트된 데이터가 전체 소스 볼륨의 저장 공간보다 실질적으로 작기 때문에 레포지토리 공간은 소스 뷸륨의 전체 볼륨 크기보다 실질적으로 작다.
동기화 환경에서, 1차 저장 제어기는 1차 저장 장치에 대한 기록물을 2차 저장 장치로 미러링할 수 있다. 2차 저장 장치를 관리하는 2차 저장 제어기는 2차 저장 장치 내의 데이터가 한 시점에 레포지토리 또는 전체 볼륨 백업에 백업되도록 일관적인 그룹을 형성하기 위한 2차 저장 장치의 가상 복사본을 또한 형성할 수 있다.
따라서, 논리적 복사 동작이 수행될 전체 소스 볼륨보다 크기가 적은 레포지토리를 이용하는 공간 효율적인 논리적 복사 동작을 이용하도록 지속될 개선의 필요가 있다.
재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대해 결정하는 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다. 1차 저장 장치에 대한 기록물이 2차 저장 장치에 전송된다. 하나의 시점에 2차 저장 장치의 논리적 복사본이 수립된다. 시점 후의 논리적 복사 지속 기간 동안 1차 저장 장치로부터 수신된 논리적 복사본 내의 2차 저장 장치에 대한 기록물이 논리적 복사본 내의 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장된다. 2차 저장 장치에 대한 기록물 전송이 보류된다. 보류 동안 1차 저장 장치에 대한 기록물이 비동기 데이터 구조로 표시된다. 1차 저장 장치로부터 2차 저장 장치로의 기록물 전송의 보류를 종료하는 것에 응답하여 비동기 데이터 구조로부터의 기록물을 전송하는 동안 2차 저장 장치로부터 전송된 기록물을 저장하는데 레포지토리 내의 이용 가능한 저장 공간이 충분한지에 대해 결정된다. 비동기 데이터 구조로 표시된 기록물을 전송하는 동안 2차 저장 장치로부터 전송된 기록물을 저장하는데 레포지토리 내의 이용 가능한 저장 공간이 충분하다는 결정에 응답하여 보류의 종료에 후속하여, 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 시점에 2차 저장 장치에 데이터를 저장하도록 레포지토리가 사용된다.
다른 실시예에서, 레포지토리 내의 이용 가능한 저장 공간이 충분한지에 대해 결정할 때에 보류 이전에 복사된 2차 저장 장치로부터의 데이터는 레포지토리에 포함된다.
다른 실시예에서, 논리적 복사본은 제 1 논리적 복사본을 포함하고, 레포지토리는 제 1 레포지토리를 포함한다. 비동기 데이터 구조로 표시된 기록물을 2차 저장 장치로의 전송을 완료하는 것에 응답하여 2차 저장 장치의 제 2 논리적 복사본이 제 2 시점에 수립된다. 제 2 논리적 복사본에 대해 제 2 레포지토리가 수립된다. 제 2 시점 이후에 1차 저장 장치로부터 2차 저장 장치에 전송된 기록물은 레포지토리에 복사될 데이터가 2차 저장 장치에 중복 기록되도록 한다.
다른 실시예에서, 보류를 종료하는 것에 응답하여 보류를 종료한 후에 비동기 데이터 구조로 표시된 기록물 및 1차 저장 장치에서 수신된 기록물이 2차 저장 장치에 전송된다. 보류를 종료하는 것에 응답하여 비동기 데이터 구조로 표시된 기록물을 전송하는 동안 레포지토리 내의 이용 가능한 저장 공간이 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 것은 비동기 데이터 구조로 표시된 기록물을 전송하는 동안 레포지토리 내의 이용 가능한 저장 공간이 비동기 데이터 구조로 표시된 기록물 및 1차 저장 장치에서 수신된 새로운 기록물을 저장하는데 충분한지를 추정하는 것을 포함한다.
다른 실시예에서, 레포지토리 내의 이용 가능한 저장 공간이 충분한지를 추정하는 것은 비동기 데이터 구조로 표시된 기록물의 크기를 고려하여 비동기 데이터 구조로 표시된 모든 기록물을 전송하기 위한 시간 및 보류를 종료한 후에 비동기 데이터 구조로 표시된 모든 기록물을 전송하는 동안 1차 저장 장치에서 새로운 기록물이 수신되는 레이트를 추정하고, 레포지토리 내의 이용 가능한 저장 공간이 비동기 데이터 구조로 표시된 기록물 및 추정된 시간 동안 수신된 새로운 기록물을 저장하는데 충분한지를 결정하는 것을 포함한다.
다른 실시예에서, 비동기 데이터 구조로 표시된 기록물을 전송하면서 레포지토리 내의 이용 가능한 저장 공간이 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분하지 않다고 결정하는 것에 응답하여 보류 후에 업데이트된 2차 저장 장치에 데이터를 저장하도록 2차 저장 장치와 크기가 동등한 3차 저장 장치가 사용된다. 3차 저장 장치는 기록물의 보류 이전에 레포지토리에 복사된 데이터를 추가적으로 저장한다.
다른 실시예에서, 레포지토리 내의 기록물이 2차 저장 장치에 복사된다. 2차 저장 장치의 제 2 가상 복사본이 레포지토리로부터 기록물을 복사하는 것에 응답하여, 3차 저장 장치에 대해 수립되며, 3차 저장 장치는 2차 저장 장치와 크기가 동등하다. 1차 저장 장치가 2차 저장 장치에 대해 동기화되며, 1차 저장 장치로부터의 데이터에 의해 중복 기록될 2차 저장 장치 내의 데이터는 3차 저장 장치에 복사된다.
다른 실시예에서, 복수의 1차 저장 장치 및 2차 저장 장치 쌍이 존재한다. 기록물을 전송하고, 논리적 복사본을 수립하며, 기록물의 전송을 보류하고, 보류 이후에 업데이트된 데이터를 2차 저장 장치에 저장하도록 레포지토리 또는 3차 저장 장치를 사용하는지에 대해 결정하는 것은 각각의 1차 저장 장치 및 2차 저장 장치 쌍에 대해 수행된다.
다른 실시예에서, 적어도 하나의 1차 저장 장치 및 2차 저장 장치 쌍은 1차 저장 장치 및 2차 저장 장치 쌍에 대한 레포지토리를 사용하고, 적어도 하나의 1차 저장 장치 및 2차 저장 장치 쌍은 1차 저장 장치 및 2차 저장 장치 쌍에 대한 3차 저장 장치를 사용한다.
1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 방법, 시스템 및 프로그램이 또한 제공된다. 2차 저장 장치의 논리적 복사본이 하나의 시점에 수립된다. 시점 후의 논리적 복사 지속 기간 동안 1차 저장 장치로부터 수신된 논리적 복사본 내의 2차 저장 장치에 대한 기록물이 논리적 복사본 내의 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장된다. 2차 저장 장치에 대한 기록물 전송이 보류된다. 보류 동안, 1차 저장 장치에 대한 기록물이 비동기 데이터 구조로 표시된다. 논리적 복사본 및 레포지토리는 보류를 종료하는 것에 응답하여 삭제된다. 비동기 데이터 구조로 표시된 기록물이 복사본을 삭제하는 것에 응답하여 2차 저장 장치에 전송된다.
다른 실시예에서, 보류를 종료하는 것에 응답하여 백업 저장 장치에 대한 레포지토리에 논리적 복사본 및 기록물이 백업된다. 논리적 복사본 및 레포지토리는 논리적 복사본 및 기록물을 레포지토리에 백업하는 것에 응답하여 삭제된다.
제 1 측면의 관점으로부터, 본 발명은 재동기화 동안 데이터 업데이트를 저장하기 위한 레포지토리를 사용할지를 결정하는 방법으로서, 1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 단계와, 한 시점에 상기 2차 저장 장치의 논리적 복사본을 수립하되, 상기 시점 후의 논리적 복사 지속 기간 동안 상기 1차 저장 장치로부터 수신된 상기 논리적 복사본 내의 상기 2차 저장 장치에 대한 기록물은 상기 논리적 복사본 내의 상기 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장되는 단계와, 상기 2차 저장 장치로의 상기 기록물 전송을 보류하되, 상기 보류 동안 상기 1차 저장 장치에 대한 기록물은 비동기 데이터 구조로 표시되는 단계와, 상기 1차 저장 장치로부터 상기 2차 저장 장치로의 상기 기록물 전송의 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로부터 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 단계와, 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정하는 것에 응답하여 상기 보류의 종료에 후속하여 상기 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 상기 시점에 상기 2차 저장 장치에 데이터를 저장하도록 상기 레포지토리를 사용하는 단계를 포함하는 방법을 제공한다.
바람직하게, 본 발명은 레포지토리 내의 이용 가능한 저장 공간이 충분한지에 대해 결정할 때에 보류 이전에 복사된 2차 저장 장치로부터의 데이터를 레포지토리에 포함하는 방법을 제공한다.
바람직하게, 본 발명은 상기 논리적 복사본은 제 1 논리적 복사본을 포함하고, 상기 레포지토리는 제 1 레포지토리를 포함하고, 상기 비동기 데이터 구조로 표시된 상기 기록물을 상기 2차 저장 장치로의 전송을 완료하는 것에 응답하여 상기 2차 저장 장치의 제 2 논리적 복사본을 제 2 시점에 수립하는 단계와, 상기 제 2 논리적 복사본에 대해 제 2 레포지토리를 수립하는 단계를 더 포함하며, 제 2 시점 이후에 상기 1차 저장 장치로부터 상기 2차 저장 장치에 전송된 기록물이 상기 레포지토리에 복사될 상기 데이터가 상기 2차 저장 장치에 중복 기록되도록 하는 방법을 제공한다.
바람직하게, 본 발명은 상기 보류를 종료하는 것에 응답하여 상기 보류를 종료한 후에 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 기록물을 상기 2차 저장 장치에 전송하는 단계를 더 포함하며, 상기 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 단계는 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 새로운 기록물을 저장하는데 충분한지를 추정하는 단계를 포함하는 방법을 제공한다.
바람직하게, 본 발명은 레포지토리 내의 이용 가능한 저장 공간이 충분한지를 추정하는 것은 비동기 데이터 구조로 표시된 기록물의 크기를 고려하여 비동기 데이터 구조로 표시된 모든 기록물을 전송하기 위한 시간 및 보류를 종료한 후에 비동기 데이터 구조로 표시된 모든 기록물을 전송하면서 1차 저장 장치에서 새로운 기록물이 수신되는 레이트를 추정하고, 레포지토리 내의 이용 가능한 저장 공간이 비동기 데이터 구조로 표시된 기록물 및 추정된 시간 동안 수신된 새로운 기록물을 저장하는데 충분한지를 결정하는 것을 포함하는 방법을 제공한다.
바람직하게, 본 발명은 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분하지 않다고 결정하는 것에 응답하여 상기 보류 후에 업데이트된 데이터를 상기 2차 저장 장치에 저장하도록 상기 2차 저장 장치와 크기가 동등한 3차 저장 장치를 사용하는 단계를 더 포함하며, 상기 3차 저장 장치는 상기 기록물의 보류 이전에 상기 레포지토리에 복사된 데이터를 추가적으로 저장하는 방법을 제공한다.
바람직하게, 본 발명은 상기 레포지토리 내의 상기 기록물을 상기 2차 저장 장치에 복사하는 단계와, 상기 2차 저장 장치의 제 2 가상 복사본을 상기 레포지토리로부터 상기 기록물을 복사하는 것에 응답하여, 3차 저장 장치에 대해 수립하되, 상기 3차 저장 장치는 상기 2차 저장 장치와 크기가 동등한 단계와, 상기 1차 저장 장치를 상기 2차 저장 장치에 대해 재동기화하는 단계를 더 포함하며, 상기 1차 저장 장치로부터의 데이터에 의해 중복 기록될 상기 2차 저장 장치 내의 데이터는 상기 3차 저장 장치에 복사되는 방법을 제공한다.
바람직하게, 본 발명은 복수의 1차 저장 장치 및 2차 저장 장치 쌍이 존재하며, 기록물을 전송하고, 논리적 복사본을 수립하며, 기록물의 전송을 보류하고, 보류 이후에 업데이트된 데이터를 2차 저장 장치에 저장하도록 레포지토리 또는 3차 저장 장치를 사용할 지에 대해 결정하는 것은 각각의 1차 저장 장치 및 2차 저장 장치 쌍에 대해 수행되는 방법을 제공한다.
바람직하게, 본 발명은 적어도 하나의 1차 저장 장치 및 2차 저장 장치 쌍은 1차 저장 장치 및 2차 저장 장치 쌍에 대한 레포지토리를 사용하고, 적어도 하나의 1차 저장 장치 및 2차 저장 장치 쌍은 1차 저장 장치 및 2차 저장 장치 쌍에 대한 3차 저장 장치를 사용하는 방법을 제공한다.
제 2 측면의 관점으로부터, 본 발명은 재동기화 동안 데이터 업데이트를 저장하기 위한 레포지토리를 사용할지를 결정하기 위해 1차 저장 장치와 2차 저장 장치와 통신하는 시스템으로서, 프로세서와, 동작을 수행하는 상기 프로세서에 의해 실행된 코드를 포함하는 컴퓨터 판독 가능한 매체를 포함하며, 상기 동작은, 1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 동작과, 한 시점에 상기 2차 저장 장치의 논리적 복사본을 수립하되, 상기 시점 후의 논리적 복사 지속 기간 동안 상기 1차 저장 장치로부터 수신된 상기 논리적 복사본 내의 상기 2차 저장 장치에 대한 기록물은 상기 논리적 복사본 내의 상기 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장되는 동작과, 상기 2차 저장 장치에 대한 상기 기록물 전송을 보류하되, 상기 보류 동안 상기 1차 저장 장치에 대한 기록물은 비동기 데이터 구조로 표시되는 동작과, 상기 1차 저장 장치로부터 상기 2차 저장 장치로의 상기 기록물 전송의 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로부터 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 동작과, 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정하는 것에 응답하여 상기 보류의 종료에 후속하여 상기 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 데이터를 상기 시점에 상기 2차 저장 장치에 저장하도록 상기 레포지토리를 사용하는 동작을 포함하는 시스템을 제공한다.
바람직하게, 본 발명은 레포지토리 내의 이용 가능한 저장 공간이 충분한지에 대해 결정할 때에 보류 이전에 복사된 2차 저장 장치로부터의 데이터를 레포지토리에 포함하는 시스템을 제공한다.
바람직하게, 본 발명은 상기 보류를 종료하는 것에 응답하여 상기 보류를 종료한 후에 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 기록물을 상기 2차 저장 장치에 전송하는 것을 더 포함하며, 상기 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 것은 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 새로운 기록물을 저장하는데 충분한지를 추정하는 것을 포함하는 시스템을 제공한다.
바람직하게, 본 발명은 레포지토리 내의 이용 가능한 저장 공간이 충분한지를 추정하는 것은 비동기 데이터 구조로 표시된 기록물의 크기를 고려하여 비동기 데이터 구조로 표시된 모든 기록물을 전송하기 위한 시간 및 보류를 종료한 후에 비동기 데이터 구조로 표시된 모든 기록물을 전송하면서 1차 저장 장치에서 새로운 기록물이 수신되는 레이트를 추정하고, 레포지토리 내의 이용 가능한 저장 공간이 비동기 데이터 구조로 표시된 기록물 및 추정된 시간 동안 수신된 새로운 기록물을 저장하는데 충분한지를 결정하는 것을 포함하는 시스템을 제공한다.
바람직하게, 본 발명은 상기 2차 저장 장치와 크기가 동등한 3차 저장 장치와 더 통신하고, 상기 동작은, 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분하지 않다고 결정하는 것에 응답하여 상기 보류 후에 업데이트된 데이터를 상기 2차 저장 장치에 저장하도록 상기 2차 저장 장치와 크기가 동등한 3차 저장 장치를 사용하는 동작을 더 포함하며, 상기 3차 저장 장치는 상기 기록물의 보류 이전에 상기 레포지토리에 복사된 데이터를 추가적으로 저장하는 시스템을 제공한다.
바람직하게, 본 발명은 상기 레포지토리 내의 상기 기록물을 상기 2차 저장 장치에 복사하는 동작과, 상기 2차 저장 장치의 제 2 가상 복사본을 상기 레포지토리로부터 상기 기록물을 복사하는 것에 응답하여, 3차 저장 장치에 대해 수립하되, 상기 3차 저장 장치는 상기 2차 저장 장치와 크기가 동등한 동작과, 상기 1차 저장 장치를 상기 2차 저장 장치에 대해 동기화하는 동작을 더 포함하며, 상기 1차 저장 장치로부터의 데이터에 의해 중복 기록될 상기 2차 저장 장치 내의 데이터가 상기 3차 저장 장치에 복사되는 시스템을 제공한다.
다른 측면의 관점으로부터, 본 발명은 디지털 컴퓨터의 내부 메모리에 로드 가능한 컴퓨터 프로그램 제품으로서, 청구항 제 1 항 내지 제 5 항 중 어느 한 항에 따른 발명을 수행하기 위해, 상기 제품이 컴퓨터 상에서 실행될 때 수행하는 소프트웨어 코드 부분을 포함하는 컴퓨터 프로그램 제품을 제공한다.
다른 측면의 관점으로부터, 본 발명은 1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 단계와, 한 시점에 2차 저장 장치의 논리적 복사본을 수립하되, 시점 후의 논리적 복사 지속 기간 동안 1차 저장 장치로부터 수신된 논리적 복사본 내의 2차 저장 장치에 대한 기록물이 논리적 복사본 내의 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장하는 단계와, 2차 저장 장치에 대한 기록물 전송을 보류하되, 보류 동안 1차 저장 장치에 대한 기록물이 비동기 데이터 구조로 표시되는 단계와, 보류를 종료하는 것에 응답하여 논리적 복사본 및 레포지토리를 삭제하는 단계와, 복사본을 삭제하는 것에 응답하여 비동기 데이터 구조로 표시된 기록물을 2차 저장 장치에 전송하는 단계를 포함하는 방법을 제공한다.
바람직하게, 본 발명은 보류를 종료하는 것에 응답하여 백업 저장 장치에 대한 레포지토리에 논리적 복사본 및 기록물을 백업하는 단계를 더 포함하며, 논리적 복사본 및 기록물을 레포지토리에 백업하는 것에 응답하여 논리적 복사본 및 레포지토리가 삭제되는 방법을 제공한다.
다른 측면의 관점으로부터, 본 발명은 1차 저장 장치와 2차 저장 장치와 통신하는 시스템으로서, 프로세서와, 동작을 수행하는 상기 프로세서에 의해 실행된 코드를 포함하는 컴퓨터 판독 가능한 매체를 포함하며, 상기 동작은, 1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 단계와, 한 시점에 2차 저장 장치의 논리적 복사본을 수립하되, 시점 후의 논리적 복사 지속 기간 동안 1차 저장 장치로부터 수신된 논리적 복사본 내의 2차 저장 장치에 대한 기록물이 논리적 복사본 내의 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장되는 단계와, 2차 저장 장치에 대한 기록물 전송을 보류하되, 보류 동안 1차 저장 장치에 대한 기록물이 비동기 데이터 구조로 표시되는 단계와, 보류를 종료하는 것에 응답하여 논리적 복사본 및 레포지토리를 삭제하는 단계와, 복사본을 삭제하는 것에 응답하여 비동기 데이터 구조로 표시된 기록물을 2차 저장 장치에 전송하는 단계를 포함하는 시스템을 제공한다.
바람직하게, 본 발명은 백업 저장 장치와 또한 통신하는 시스템으로서, 보류를 종료하는 것에 응답하여 백업 저장 장치에 대한 레포지토리에 논리적 복사본 및 기록물을 백업하는 동작을 더 포함하며, 논리적 복사본 및 기록물을 레포지토리에 백업하는 것에 응답하여 논리적 복사본 및 레포지토리가 삭제되는 시스템을 제공한다.
다른 측면의 관점으로부터, 본 발명은 동작을 수행하도록 로직을 갖는 하드웨어 디바이스 및 1차 저장 장치와 2차 저장 장치와 통신하는 코드를 갖는 컴퓨터 판독 가능한 저장 매체 중 적어도 하나를 포함하는 제조 물품으로서, 상기 동작은, 1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 단계와, 한 시점에 상기 2차 저장 장치의 논리적 복사본을 수립하되, 상기 시점 후의 논리적 복사 지속 기간 동안 상기 1차 저장 장치로부터 수신된 상기 논리적 복사본 내의 상기 2차 저장 장치에 대한 기록물은 상기 논리적 복사본 내의 상기 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장되는 단계와, 상기 2차 저장 장치로의 상기 기록물 전송을 보류하되, 상기 보류 동안 상기 1차 저장 장치에 대한 기록물은 비동기 데이터 구조로 표시되는 단계와, 상기 1차 저장 장치로부터 상기 2차 저장 장치로의 상기 기록물 전송의 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로부터 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 단계와, 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정하는 것에 응답하여 상기 보류의 종료에 후속하여 상기 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 상기 시점에 상기 2차 저장 장치에 데이터를 저장하도록 상기 레포지토리를 사용하는 단계를 포함하는 제조 물품을 제공한다.
바람직하게, 본 발명은 레포지토리 내의 이용 가능한 저장 공간이 충분한지에 대해 결정할 때에 보류 이전에 복사된 2차 저장 장치로부터의 데이터가 레포지토리에 포함되는 제조 물품을 제공한다.
바람직하게, 본 발명은 상기 논리적 복사본은 제 1 논리적 복사본을 포함하고, 상기 레포지토리는 제 1 레포지토리를 포함하고, 상기 비동기 데이터 구조로 표시된 상기 기록물을 상기 2차 저장 장치로의 전송을 완료하는 것에 응답하여 상기 2차 저장 장치의 제 2 논리적 복사본을 제 2 시점에 수립하는 단계와, 상기 제 2 논리적 복사본에 대해 제 2 레포지토리를 수립하는 단계를 더 포함하며, 제 2 시점 이후에 상기 1차 저장 장치로부터 상기 2차 저장 장치에 전송된 기록물은 상기 레포지토리에 복사될 상기 데이터가 상기 2차 저장 장치에 중복 기록되도록 하는 제조 물품을 제공한다.
바람직하게, 본 발명은 상기 보류를 종료하는 것에 응답하여 상기 보류를 종료한 후에 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 기록물을 상기 2차 저장 장치에 전송하는 단계를 더 포함하며, 상기 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 단계는 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 새로운 기록물을 저장하는데 충분한지를 추정하는 단계를 포함하는 제조 물품을 제공한다.
바람직하게, 본 발명은 레포지토리 내의 이용 가능한 저장 공간이 충분한지를 추정하는 것은 비동기 데이터 구조로 표시된 기록물의 크기를 고려하여 비동기 데이터 구조로 표시된 모든 기록물을 전송하기 위한 시간 및 보류를 종료한 후에 비동기 데이터 구조로 표시된 모든 기록물을 전송하면서 1차 저장 장치에서 새로운 기록물이 수신되는 레이트를 추정하고, 레포지토리 내의 이용 가능한 저장 공간이 비동기 데이터 구조로 표시된 기록물 및 추정된 시간 동안 수신된 새로운 기록물을 저장하는데 충분한지를 결정하는 것을 포함하는 제조 물품을 제공한다.
바람직하게, 본 발명은 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분하지 않다고 결정하는 것에 응답하여 상기 보류 후에 업데이트된 데이터를 상기 2차 저장 장치에 저장하도록 상기 2차 저장 장치와 크기가 동등한 3차 저장 장치를 사용하는 단계를 더 포함하며, 상기 3차 저장 장치가 상기 기록물의 보류 이전에 상기 레포지토리에 복사된 데이터를 추가적으로 저장하는 제조 물품을 제공한다.
바람직하게, 본 발명은 상기 레포지토리 내의 상기 기록물을 상기 2차 저장 장치에 복사하는 단계와, 상기 2차 저장 장치의 제 2 가상 복사본을 상기 레포지토리로부터 상기 기록물을 복사하는 것에 응답하여, 3차 저장 장치에 대해 수립하되, 상기 3차 저장 장치는 상기 2차 저장 장치와 크기가 동등한 단계와, 상기 1차 저장 장치를 상기 2차 저장 장치에 대해 동기화하는 단계를 더 포함하며, 상기 1차 저장 장치로부터의 데이터에 의해 중복 기록될 상기 2차 저장 장치 내의 데이터가 상기 3차 저장 장치에 복사되는 제조 물품을 제공한다.
바람직하게, 본 발명은 복수의 1차 저장 장치 및 2차 저장 장치 쌍이 존재하며, 기록물을 전송하고, 논리적 복사본을 수립하며, 기록물의 전송을 보류하고, 보류 이후에 업데이트된 데이터를 2차 저장 장치에 저장하도록 레포지토리 또는 3차 저장 장치를 사용하는지에 대해 결정하는 것은 각각의 1차 저장 장치 및 2차 저장 장치 쌍에 대해 수행되는 제조 물품을 제공한다.
바람직하게, 본 발명은 적어도 하나의 1차 저장 장치 및 2차 저장 장치 쌍은 1차 저장 장치 및 2차 저장 장치 쌍에 대한 레포지토리를 사용하고, 적어도 하나의 1차 저장 장치 및 2차 저장 장치 쌍은 1차 저장 장치 및 2차 저장 장치 쌍에 대한 3차 저장 장치를 사용하는 제조 물품을 제공한다.
다른 측면의 관점으로부터, 본 발명은 동작을 수행하도록 로직을 갖는 하드웨어 디바이스 및 1차 저장 장치와 2차 저장 장치와 통신하는 코드를 갖는 컴퓨터 판독 가능한 저장 매체 중 적어도 하나를 포함하는 제조 물품으로서, 상기 동작은, 1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 단계와, 한 시점에 2차 저장 장치의 논리적 복사본을 수립하되, 시점 후의 논리적 복사 지속 기간 동안 1차 저장 장치로부터 수신된 논리적 복사본 내의 2차 저장 장치에 대한 기록물이 논리적 복사본 내의 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장하는 단계와, 2차 저장 장치에 대한 기록물 전송을 보류하되, 보류 동안 1차 저장 장치에 대한 기록물이 비동기 데이터 구조로 표시되는 단계와, 보류를 종료하는 것에 응답하여 논리적 복사본 및 레포지토리를 삭제하는 단계와, 복사본을 삭제하는 것에 응답하여 비동기 데이터 구조로 표시된 기록물을 2차 저장 장치에 전송하는 단계를 포함하는 제조 물품을 제공한다.
바람직하게, 본 발명은 보류를 종료하는 것에 응답하여 백업 저장 장치에 대한 레포지토리에 논리적 복사본 및 기록물을 백업하는 단계를 더 포함하며, 논리적 복사본 및 기록물을 레포지토리에 백업하는 것에 응답하여 논리적 복사본 및 레포지토리가 삭제되는 제조 물품을 제공한다.
본 발명의 실시예는 단지 예시로서 이하 첨부 도면을 참조하여 상세하게 기술되며, 도면에서
도 1 및 도 10은 컴퓨팅 환경의 실시예를 도시하고,
도 2는 소스 미러 관계 정보의 실시예를 도시하며,
도 3은 볼륨 복사 관계 정보의 실시예를 도시하고,
도 4는 1차 저장 장치와 2차 저장 장치 간의 업데이트를 전송하기 위한 미러 동작을 초기화하도록 1차 저장 제어기에 대한 동작의 실시예를 도시하고,
도 5는 2차 저장 장치의 논리적 복사본을 수립하도록 2차 저장 제어기에 의해 수행된 동작의 실시예를 도시하며,
도 6은 미러 관계에서 기록물 전송의 보류를 초래하는 이벤트를 처리하도록 1차 저장 제어기에 의해 수행된 동작의 실시예를 도시하고,
도 7 및 도 9는 1차 저장 장치로부터 2차 저장 장치로의 기록물의 재동기화를 표시하는 재동기화 메시지를 처리하도록 2차 저장 제어기에 의해 수행된 동작의 실시예를 도시하며,
도 8은 업데이트가 수행될 2차 저장 장치에 데이터를 저장하기 위한 3차 저장 장치보다 크기가 작은 레포지토리 대신에 3차 저장 장치를 이용하여 스위칭하도록 2차 저장 제어기에 의해 수행된 동작의 실시예를 도시하는 도면이다.
도 1은 네트워크 컴퓨팅 환경의 실시예를 도시한다. 1차 저장 제어기(2)는 하나 이상의 호스트 시스템(4)으로부터 볼륨과 같은 1차 저장 장치(8)가 구성되는 1차 저장 시스템(6)으로의 입/출력(I/O) 요청을 관리한다. 1차 저장 제어기(2)는 미러 관계에서 1차 저장 장치(8)에 대한 업데이트가 대응하는 2차 저장 장치(12), 예를 들어, 2차 저장 시스템(16) 내의 볼륨에 복사되도록, 1차 저장 장치(8)에 대한 I/O 요청을 관리하고 1차 저장 장치(8)에 대한 미러 관계를 유지할 수 있는 1차 저장 관리자(10) 프로그램을 포함한다. 2차 저장 제어기(18)는 2차 저장 시스템(16)에 대한 I/O 액세스를 관리하도록 2차 저장 관리자(20) 프로그램을 포함한다.
1차 저장 제어기(2) 및 2차 저장 제어기(18)는 그들의 대응하는 저장 시스템(6 및 16)에 대한 판독 및 기록 데이터를 버퍼링하도록 캐쉬(22 및 24)를 각각 포함한다. 1차 저장 제어기(2) 및 2차 저장 제어기(18)의 각각은 호스트 시스템(4)으로부터 판독 및 기록 요청을 수신할 수 있다. 다른 실시예에서, 기록물은 2차 또는 타겟 장치에 대해 금지될 수 있다.
1차 저장 관리자(10)는 2차 저장 시스템(16) 내의 대응하는 2차 저장 장치(12)에 데이터가 미러링되는 1차 저장 장치(6) 상에서 정보를 갖는 미러 관계 정보(26)를 유지할 수 있다. 2차 저장 관리자(20)는 2차 저장 장치(12), 예를 들어, 그 데이터가 논리적 복사본이 생성될 때 시점에 레포지토리(30) 또는 3차 저장 장치(32)에 유지되는 볼륨의 논리적 복사본 상에서 정보를 제공하는 논리적 복사 정보(28)를 유지한다. 3차 저장 장치(32)는 논리적 복사에 종속되는 2차 저장 장치(12)와 크기가 동등하며 2차 저장 장치(12) 내의 각각의 트랙 또는 데이터 유닛에 대한 대응하는 트랙 또는 데이터 유닛을 포함한다.
1차 저장 관리자(10)는 변화 기록 데이터 구조(34) 및 비동기(our-of-synch : OOS) 데이터 구조(36)를 또한 유지한다. 비동기 데이터 구조(36)는 대응하는 2차 저장 장치(12)에 복사하도록 미러 관계에서 1차 저장 장치(8)에 기록물을 표시한다. 일관성 그룹을 형성하기 위해, 1차 저장 제어기(2)는 프리즈(freeze) 커맨드를 송출한다. 프리즈 커맨드에 후속하여 캐시(22)에서 유지되는 비동기(OOS) 데이터 구조(36)에 표시된 데이터는 대응하는 2차 저장 장치에 복사되고 1차 저장 장치(8)에 대한 새로운 기록물은 변화 기록 데이터 구조(34)에 표시된다. OOS(36)를 드레인한 후, 즉, OOS(36)에 표시된 모든 기록물을 2차 저장 장치(12)에 전송한 후에, 2차 저장 제어기(18)는 다음 일관성 그룹의 일부분으로서 전송될 새로운 기록물을 기록하도록 새로운 프리즈 커맨드를 송출하고, 변화 기록 데이터 구조(32), OOS(36)를 형성하며, 변화 기록 데이터 구조(34)로서 서버에 대해 OOS(36)를 클리어함으로써 다음 일관성 그룹을 형성할 수 있다.
1차 저장 제어기(2)와 2차 저장 제어기(18) 및 호스트 시스템(4)은 네트워크(38)를 통해 통신할 수 있다. 네트워크(38)는 SAN(Storage Area Network), LAN(Local Area Network), 인트라넷, 인터넷, WAN(Wide Area Network), 피어 투 피어 네트워크, 무선 네트워크, 중재 루프 네트워크 등을 포함할 수 있다. 1차 저장 시스템(6)과 2차 저장 시스템(16)은 JBOD(Just a Bunch of Disks), DASD(Direct Access Storage device), RAID(Redundant Array of Independent Disks) 어레이, 가상 디바이스, 테이프 저장 장치, 플로피 메모리 등과 같은 저장 디바이스의 어레이를 각각 포함할 수 있다.
특정의 실시예에서, 1차 저장 장치(8)와 2차 저장 장치(12) 및 1차 저장 시스템(6)과 2차 저장 시스템(16)은 하나 이상의 세션에 할당된 볼륨을 포함할 수 있다. 볼륨은 논리적 서브시스템(LSS)에서 동작할 수 있고, 1차 저장 제어기(2)에 의해 유지된 LSS 내의 볼륨이 세션에 할당될 수 있다.
도 2는 소스 미러 관계 정보(50)의 실시예를 도시하며, 미러 관계 정보(26)는 각각의 1차 저장 장치(8), 예를 들어, 미러 관계의 볼류 쌍과 2차 저장 장치(12), 예를 들어, 미러 관계의 볼류 쌍에 대해 소스 미러 관계 정보의 인스턴스를 포함한다. 소스 미러 관계 정보(50)는 2차 저장 장치(12)를 포함할 수 있는 표시된 타겟 저장 장치(54)에 그 데이터가 결합되는 관계에 종속되는 소스 저장 장치(52) 또는 1차 저장 장치(8), 타겟 저장 장치(54)에 복사하도록 소스 저장 장치(52)에 대한 기록물을 식별하는 비동기 데이터 구조(OOS)(56), 및 소스 저장 장치(52)에 대해 수신된 기록물을 표시하면서 OOS(56)에 표시된 소스(1차) 저장 장치(52)에 대한 기록물을 일관성 그룹에 있는 타겟(2차) 저장 장치(54)에 드레인하거나 전송하는 변환 기록 데이터 구조(58)를 표시한다.
도 3은 볼륨 복사 관계 정보(70)의 실시예를 도시하고, 논리적 복사 정보(28)는 FlashCopy®와 같은 논리적 복사 관계에 포함된 각각의 2차 저장 장치(12)에 대해 볼륨 복사 관계 정보(70)의 인스턴스를 포함한다(FLASHCOPY는 미국 및 다른 국가에서 International Business Machines Corp.의 등록된 트레이드마크임). 하나의 2차 저장 장치(12)에 대한 논리적 복사 정보(70)는 논리적 복사 관계에 종속되는 소스 저장 장치(72)를 표시한다. 소스 저장 장치(72), 예를 들어, 업데이트가 수행될 2차 저장 장치(12) 볼륨 내의 시점(point-in-time) 데이터를 저장하도록 전체 볼륨보다 적은 볼륨이 할당되는 것을 의미하는 공간 효율적인 논리적 복사본이 사용되면, 레포지토리(repository) 필드(74)는 2차 저장 시스템(16) 내의 레포지토리(30)를 식별하고, 레포지토리 인덱스(76)는 소스 저장 장치(72), 예를 들어, 트랙 또는 다른 데이터 유닛으로부터의 복사된 시점 데이터가 식별된 레포지토리(74)에 저장되는 것을 식별한다. 소스 저장 장치(72)와 크기가 동등한 전체 타겟(제 3) 저장 장치(32)가 업데이트되는 시점 데이터를 저장하도록 사용되면, 레포지토리 필드(74 및 74)는 널(null)이고 대응하는 타겟 저장 필드(78)는 논리적 복사 지속 기간 동안 업데이트가 수행될 데이터를 소스 저장 장치(72)에 저장하도록 3차 저장 장치(32), 예를 들어, 백업 공간에 할당된 볼륨을 표시한다. 기술된 실시예에 의해, 논리적 복사 관계에서 소스 저장 장치(72)를 포함하는 2차 저장 장치(12)는 레포지토리 또는 전체 저장 장치를 백업 공간으로서 사용할 수 있으며, 상이한 2차 저장 장치(12)는 상이한 유형의 백업 공간, 예를 들어, 레포지토리 또는 전체 3차 저장 장치를 가질 수 있다.
도 4는 미러 관계(50)에서 1차 저장 장치(8)에 대한 기록물을 대응하는 2차 저장 장치(12)에 복사하도록 1차 저장 관리자(10)에 의해 수행된 동작의 실시예를 도시한다. 미러 관계 정보(50)에 표시된 바와 같이(도 2), 1차 저장 관리자(10)가 1차 저장 장치(8)와 대응하는 2차 저장 장치(12) 사이의 동작을 미러링하는 것을 초기화할 때에(블록(100)), 저장 관리자(10)는 OOS(36)에서 호스트 시스템(4)으로부터 수신된 기록물을 표시한다(블록(102)). 일관성 그룹을 형성하기 위해, 저장 관리자(10)는 변화 기록 데이터 구조(34)에 저장된 임의의 새로운 기록물을 갖고 OOS(36)에 표시되는 형성된 일관성 그룹의 시점에 기록물을 2차 저장 장치(12)에 계속해서 드레인(즉, 전송)하도록 프리즈 커맨드를 송출할 수 있다(블록(104)). OOS(36)에 표시된 모든 기록물의 전송을 완료할 때에, 1차 저장 관리자(10)는 일관성 그룹의 전송이 완료하였음을 표시하는 메시지를 2차 저장 제어기(18)에 전송한다(블록(106)). 이 시점에서, 저장 관리자(10)는 새로운 일관성 그룹을 형성하는 프리즈 커맨드의 시점 이후에 새로운 수신된 기록물을 표시하도록 또 다른 프리즈 커맨드를 송출하고, 변화 기록 데이터 구조(34), OOS(36)를 형성하며, 변화 기록 데이터 구조(34)로서 OOS(36)를 형성하는 현재의 OOS를 클리어함으로써 새로운 일관성 그룹을 형성할 수 있다.
도 5는 미러 관계에서 수반된 2차 저장 장치(12)의 논리적 복사본을 수립하도록 2차 저장 관리자(20)에 의해 수행된 동작의 실시예를 도시한다. 일관성 그룹 내의 모든 데이터가 복사된, 즉, OOS(36)가 드레인된 1차 저장 제어기(2)로부터 메시지를 수신할 때에(블록 (120)), 2차 저장 관리자(20)는 한 시점에 2차 저장 장치(12)의 논리적 복사본을 수립한다(블록(122)). 논리적 복사 지속 기간 동안 2차 저장 제어기(18)로부터 수신된 논리적 복사본 내의 2차 저장 장치(12)에 대한 기록물에 의해 중복 기록될 데이터는 논리적 복사본에서 2차 저장 장치(12)보다 적은 저장 공간을 포함하는 레포지토리(30)에 저장된다.
도 6은 네트워크(38) 접속에서의 고장 등과 같이, 미러 관계에서 1차 저장 장치(8)로부터 2차 저장 장치(12)로의 기록물 전송의 보류를 초래하는 이벤트를 처리하도록 저장 관리자(10)에 의해 수행된 동작의 실시예를 도시한다. 미러 관계에서 1차 저장 장치(8)로부터 2차 저장 장치(12)로의 기록물 전송을 방지하는 보류 이벤트의 생성을 검출할 때에(블록(150)), 저장 관리자(10)는 2차 저장 시스템(16)으로의 기록물의 전송을 보류한다(블록(152)).
보류 동안, 저장 관리자(10)는 미러 관계에서 1차 저장 장치(8)에 대한 새로운 기록물을 OOS(36)에 대해 표시하고(블록(154)) 1차 저장 장치(8)에 대해 비록을 버퍼링한다. 따라서, OOS(36)는 보류 이전에 및 보류 동안에 1차 저장 장치(8)에 대해 수신된 기록물을 표시한다. 보류가 종료되었음을 검출할 때에, 보류에 후속하여 기록물의 재동기화가 발생하는 것을 표시하는 메시지를 2차 저장 제어기(18)에 전송한다(블록(156)). 그 다음에 1차 저장 관리자(10)는 OOS(36)에 표시된 임의의 기록물을 전송하고 이와 동시에 OOS(36)가 드레인될 때까지, 즉, OOS(36)에 표시된 모든 기록물이 2차 저장 장치(12)에 전송될 때까지 대응하는 1차 저장 장치(12)를 위해 2차 저장 제어기(18)에 대해 임의의 새롭게 수신된 기록물을 전송한다(블록(158)). OOS(36)가 재동기화의 일부분으로서 드레인된 후에, 1차 저장 관리자(10)는 도 4의 블록(104)에서 새로운 일관성 그룹을 형성하도록 프리즈 커맨드를 송출할 수 있다(블록(160)).
도 7은 1차 저장 장치(8)/2차 저장 장치(12) 쌍에 대해 1차 저장 제어기(2)에 의해 초기화된 기록물의 재동기화에 응답하여 2차 저장 관리자(20)에 의해 수행된 동작의 실시예를 도시한다. 재동기화 메시지에 응답하여(블록(200)), 2차 저장 관리자(20)는 OOS에 표시된 기록물을 전송하면서 2차 저장 제어기에 전송된 데이터에 의해 중복 기록될 데이터를 저장하기 위해 레포지토리(30)에 이용 가능한 공간이 존재하는지를 결정하는 동작을 초기화한다(블록(202)). 일 실시예에서, 2차 저장 관리자(20)는 미러 관계에서 1차 저장 제어기(2)로부터 전송된 기록물에 의해 업데이트된 2차 저장 장치(12)에 데이터를 저장하기 위해 현재의 레포지토리(30)가 충분히 이용 가능한 저장 공간을 갖는지를 결정하는 동작을 수행할 수 있다(블록(204 및 206)).
블록(204)에서, 2차 저장 관리자(20)는 OOS(36)에 표시된 기록물의 크기를 고려하여 비동기(OOS) 데이터 구조(36)에 표시된 모든 기록물을 전송하기 위한 시간, 및 보류를 종료한 이후에 OOS(36)에 표시된 기록물을 전송하면서 1차 저장 장치(8)에서 새로운 기록물이 수신되는 레이트를 추정한다. 기술된 바와 같이, 재동기화 동안, 보류 동안에 발생한 OOS(36)에 표시된 기록물, 및 OOS(36)가 드레인되는 동안 수신되는 기록물은 2차 저장 장치(12)에 전송된다. 그 다음에 2차 저장 관리자(20)는 OOS(36)에 표시된 기록물 및 추정된 시간 동안 수신된 새로운 기록물을 저장하기 위해 레포지토리(30)에서 이용 가능한 저장 공간이 충분한지를 결정한다(블록(206)).
일 실시예에서, 2차 저장 관리자(20)는 다음과 같은 변수를 고려함으로써 OOS(36)에 표시된 기록물이 2차 저장 장치(12)에 드레인되는 동안 전송된 기록물을 저장하기 위해 레포지토리(30)가 충분히 이용 가능한 저장 공간을 갖는지를 추정할 수 있다.
FS - 레포지토리(30) 내의 이용 가능한 자유 공간, 여기서 레포지토리(30)는 데이터, 예를 들어, 보류 이전에 복사된 2차 저장 장치(12) 내의 트랙을 가질 수 있음
SR - 1차 저장 장치(8)에 대한 기록물이 네트워크(38)를 통해 2차 저장 제어기(18)에 전송되는 레이트(예를 들어, 초 당 트랙)인 동기화 레이트.
WB - 크기, 예를 들어, 재동기화 동안 2차 저장 장치(12)에 전송하는 보류 이전에 및 보류 동안에 축적된 OOS(36)에 표시된 기록물의 킬로바이트를 포함하는 기록 백로그.
NWR - 1차 저장 장치(8)에 대해 1차 저장 제어기(2)에서 새로운 기록물이 수신되는 레이트(예를 들어, 초 당 트랙)를 포함하는 새로운 기록 레이트.
상기 변수는 OOS(36)가 드레인되는 동안 레포지토리(30)에 전송될 데이터의 양을 추정하도록 사용될 수 있다. 기록물이 전송되는 레이트가 새로운 기록물이 수신되는, 즉, 전송 레이트를 상쇄하는 레이트만큼 감소되므로, OOS(36)가 드레인되고 SR - NWR을 포함하는 군집 레이트가 먼저 추정된다. 2차 저장 관리자(20)는 새로운 기록물이 OOS(36)에 표시된 기록물의 이 전송을 상쇄할 정도를 고려하여 OOS(36)에 표시된 모든 기록물을 전송하는 시간인 군집 레이트에 의해 나누어진 WB로서 OOS(36)(변수 "I")를 드레인하는 시간을 계산할 수 있다. 총 데이터량, 예를 들어, OOS(36)가 드레인되는 동안 전송된 바이트는 새로운 기록 레이트(NWR)를 OOS(36)에 표시된 모든 기록물을 전송하는 군집 시간에 곱한 것에 기록 백로그(WB), 즉, OOS(36) 내의 기록물을 추가함으로써 계산될 수 있다. 레포지토리(30) 내의 이용 가능한 저장 공간(FS)은 전송되는 데이터의 추정된 총 데이터량과 비교될 수 있으며, 즉, FS > (WB+NWR*T)이다.
OOS(36)가 드레인되는 동안 전송된 기록물을 저장하기 위해 레포지토리(30)가 충분히 이용 가능한 저장 공간을 가지면(블록(208)), 2차 저장 관리자(20)는 보류 이후에 업데이트된 2차 저장 장치(12)에 데이터를 저장하도록 현재의 레포지토리(30)를 사용한다(블록(210)). 한편, 레포지토리(30)가 충분한 저장 공간을 갖지 않으면, 2차 저장 관리자(20)는 보류 이후에 수신된 1차 저장 제어기(2)로부터의 새로운 기록물에 의해 업데이트된 2차 저장 장치 내의 데이터 및 보류 이후의 레포지토리(30) 내의 데이터를 저장하기 위해 2차 저장 장치(12)와 크기가 동등한 3차 저장 장치(32)를 사용한다(블록(212)).
도 8은 레포지토리(30)가 도 7의 블록(208)에서와 같이 추정된 기록물에 의해 업데이트된 데이터를 저장하기 위해 충분히 이용 가능한 공간을 갖지 않도록 추정되는 경우 동기화 동안에 업데이트된 데이터를 2차 저장 장치(12)에 저장하는 3차 저장 장치(32)를 이용하여 스위칭하도록 2차 저장 관리자(20)에 의해 수행된 동작의 실시예를 도시한다. 3차 저장 장치(32)를 이용하여 스위칭하기 위한 동작을 초기화하는 것에 응답하여(블록(250)), 2차 저장 관리자(20)는 레포지토리(30) 내의 기록물을 2차 저장 장치(12)에 복사한다(블록(252)). 2차 저장 관리자(20)는 레포지토리(30)로부터 기록물을 복사하는 것에 응답하여 2차 저장 장치(12)와 크기가 동등한 3차 저장 장치(32)에 대해 2차 저장 장치(12)의 새로운 논리적 복사본을 수립한다(블록(254)). 그 다음에 1차 저장 관리자(10)는 1차 저장 장치(8)를 2차 저장 장치(12)에 재동기화하고, 1차 저장 장치(8)로부터의 데이터에 의해 중복 기록될 2차 저장 장치(12) 내의 데이터가 3차 저장 장치(32)에 복사된다(블록(256)).
도 9는 보류에 후속하여 재동기화를 처리하도록 2차 저장 관리자(20)에 의해 수행된 동작의 다른 실시예를 도시한다. 1차 저장 제어기(2)로부터 재동기화 메시지를 수신할 때에(블록(300)), 2차 저장 관리자(20)는 재동기화 요청에 종속되는 2차 저장 장치(12)에 대한 논리적 복사본 및 레포지토리(30)를 삭제한다(블록(302)). 재동기화 동안 전송된 기록물(OOS(36)에 표시된 기록물 및 2차 저장 장치(8)에 대한 새로운 기록물을 포함함)은 2차 저장 장치(8)에 저장된다(블록(304)). 도 9의 실시예에 의해, 재동기화 동안 업데이트되는 2차 저장 장치(12)에서 논리적 복사본은 데이터를 보호하도록 사용되지 않으므로, 시스템은 2차 저장 장치(12)에 대한 기록물의 백업 보호를 갖지 않는다.
도 9의 동작의 다른 실시예에서, 논리적 복사본 및 레포지토리를 삭제하기 이전에(블록(302)), 논리적 복사본 및 논리적 복사본을 위한 레포지토리(32) 내의 기록물이 백업될 수 있다. 또한, 논리적 복사본 및 기록물은 논리적 복사본 및 레포지토리를 백업한 후에 삭제될 수 있다.
도 10은 1차 저장 시스템(402a, 402b,...402n)에 대한 액세스 및 1차 저장 장치(404a, 404b,...404n)에 대한 복사 기록물, 예를 들어, 2차 저장 장치(410a, 410b,...410n)에 저장하도록 대응하는 2차 저장 제어기(408a, 408b,...408n)에 대해 미러 관계에 있는 볼륨을 관리하는 복수의 1차 저장 제어기(400a, 400b,...400n)의 실시예를 도시한다. 모든 데이터가 동일한 시점에 일관적이 되도록, 1차 저장 장치(404a, 404b,...404n)는 동일한 일관성 그룹에 있을 수 있다. 1차 저장 제어기(400a, 400b,...400n) 및 2차 저장 제어기(408a, 408b,...408n)는 도 1의 1차 저장 제어기(2)의 인스턴스를 포함할 수 있고 2차 저장 제어기(408a, 408b,...408n)는 도 1의 2차 저장 제어기(18)의 인스턴스를 각각 포함할 수 있다.
전역적 일관성 그룹 내의 2차 저장 제어기(408a, 408b,...408n)는 그들 각각의 1차 저장 제어기(400a, 400b,...400n)로부터의 기록물의 동기화 및 재동기화에 대해 도 5, 도 6, 도 7 및 도 8에 대해 기술된 2차 저장 제어기(18)의 동작을 독립적으로 수행할 수 있다.
기술된 실시예는 동기화 동안 1차 저장 장치에서 수신된 기록물 및 재동기화 동안 수신된 기록물이 2차 저장 장치에 전송될 때 재동기화 이벤트 동안 업데이트된 2차 저장 데이터를 저장하도록 공간 효율적인 레포지토리가 사용될 수 있는지를 결정하기 위한 기법을 제공한다.
추가적인 실시예 세부 사항
기술된 동작은 소프트웨어, 펌웨어, 하드웨어, 또는 임의의 그 조합을 생성하는 표준 프로그래밍 및/또는 엔지니어링 기법을 이용하는 방법, 장치 또는 제조 물품으로서 구현될 수 있다. 기술된 동작은 "컴퓨터 판독 가능한 저장 매체"에서 유지된 코드로서 구현될 수 있으며, 여기서 프로세서는 컴퓨터 판독 가능한 저장 매체로부터 코드를 판독하고 실행할 수 있다. 컴퓨터 판독 가능한 저장 매체는 자기 저장 매체(예를 들어, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광학 저장 장치(CD-ROMs, DVDs, 광학 디스크 등), 휘발성 및 비휘발성 메모리 다바이스(예를 들어, EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, 플래시 메모리, 펌웨어, 프로그램 가능한 로직 등) 등과 같은 저장 매체를 포함할 수 있다. 기술된 동작을 구현하는 코드는 하드웨어 디바이스(예를 들어, 집적 회로 칩, PGA(Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 등)로 구현된 하드웨어 로직으로 또한 구현될 수 있다. 또한, 기술된 동작을 구현하는 코드는 "전송 매체"로 구현될 수 있으며, 여기서 전송 매체는 공간을 통해, 또는 광 섬유, 구리 와이어 등과 같은 전송 매체를 통해 전파할 수 있다. 코드 또는 로직이 인코딩되는 전송 매체는 무선 신호, 위성 전송, 무선 파형, 적외선 신호, 블루투스 등을 더 포함할 수 있다. "제조 물품"은 코드 또는 로직이 실행되는 전송 신호를 송신하고 수신하는 송신국 및/또는 수신국을 포함할 수 있으며, 전송 신호로 인코딩된 코드 또는 로직이 송신국 및 수신국 또는 디바이스에서 하드웨어 또는 컴퓨터 판독 가능한 저장 매체에 디코딩되고 저장될 수 있다. "제조 물품"은 코드 또는 로직이 구현될 수 있는 컴퓨터 판독 가능한 저장 매체, 하드웨어 디바이스, 및/또는 전송 송신기 또는 수신기를 포함할 수 있다. 당 분야에서 통상의 지식을 가진 자라면 본 발명의 범위로부터 벗어나지 않고 이 구성에 대해 다수의 변경이 행해질 수 있고, 제조 물품은 당 분야에서 알려진 매체를 갖는 적절한 정보를 포함할 수 있음을 이해할 것이다.
기술된 실시예에서, 2차 저장 관리자(20)는 2차 저장 장치(12)에 대한 현재의 레포지토리(30)를 이용하여 재동기화 동안 업데이트된 데이터를 계속할지를 결정하기 위한 동작을 수행한다. 대안적인 실시예에서, 1차 저장 관리자(10)는 2차 저장 장치(12)에서 수신된 업데이트를 위한 레포지토리(30)를 이용하여 재동기화 동안 계속할지를 결정하기 위한 동작을 수행하고 재동기화 동안 업데이트된 데이터를 시점 2차 저장 장치(12)에 저장하기 위해 현재의 레포지토리(30)를 이용하여 계속하거나 또는 전체 3차 저장 장치(32)를 이용하여 스위칭하도록 지시할 수 있다.
용어 "하나의 실시예", "실시예", "실시예들", "그 실시예", "그 실시예들", "하나 이상의 실시예", "몇몇 실시예들" 및 "일 실시예"는 달리 명시적으로 지정하지 않는 한, "본 발명의 하나 이상의 실시예(모든 실시예는 아님)"를 의미한다.
용어 "포함하는", "구비하는", "갖는" 및 그 변형은 달리 명시적으로 지정하지 않는 한, "포함하되 이로만 제한되지 않는"을 의미한다.
항목의 열거된 리스트는 달리 명시적으로 지정하지 않는 한, 임의의 항목 또는 모든 항목이 상호 배타적임을 암시하지 않는다.
용어 "a", "an" 및 "the"는 달리 명시적으로 지정하지 않는 한, "하나 이상"을 의미한다.
서로에 대해 통신하는 디바이스는 달리 명시적으로 지정하지 않는 한, 서로에 대해 연속적으로 통신할 필요는 없다. 또한, 서로에 대해 통신하는 디바이스는 하나 이상의 중간 매체를 통해 직접적으로 또는 간접적으로 통신할 수 있다.
서로에 대해 통신하는 몇몇 구성요소를 갖는 실시예의 설명은 모든 이러한 구성요소가 요구됨을 암시하지 않는다. 오히려 다양한 선택적 구성요소는 본 발명의 폭넓은 가능한 실시예를 예시하도록 기술된다.
또한, 프로세스 단계, 방법 단계, 알고리즘 등은 순차적인 순서로 기술될 수 있으나, 이러한 프로세스, 방법 및 알고리즘은 다른 순서로 작동하도록 구성될 수 있다. 즉, 기술될 수 있는 임의의 단계의 시퀀스 또는 순서는 단계가 해당 순서대로 수행된다는 요건을 반드시 나타내지 않는다. 본 명세서에서 기술된 프로세스의 단계는 임의의 실시 순서로 수행될 수 있다. 또한, 몇몇 단계는 동시에 수행될 수 있다.
본 명세서에서 단일의 디바이스 또는 물품이 기술될 때, 2 이상의 디바이스/물품은 (이들이 협력하는지 여부에 따라) 단일의 디바이스/물품 대신에 사용될 수 있음이 용이하게 명백해질 것이다. 마찬가지로, 본 명세서에서 2 이상의 디바이스/물품이 기술될 때, 단일의 디바이스/물품은 (이들이 협력하는지 여부에 따라) 2 이상의 디바이스나 물품 또는 상이한 수의 디바이스/물품 대신에 사용될 수 있음이 용이하게 명백해질 것이다. 이와 달리 디바이스의 기능 및/또는 특징은 이러한 기능/특징을 갖는 것으로서 명시적으로 기술되지 않는 하나 이상의 다른 디바이스에 의해 실현될 수 있다. 따라서, 본 발명의 다른 실시예는 디바이스 자체를 포함할 필요는 없다.
도 4 내지 도 9의 도시된 동작은 특정의 순서로 발생하는 특정의 이벤트를 도시한다. 다른 실시예에서, 특정의 동작은 상이한 순서로 수행되거나, 변경되거나 제거될 수 있다. 또한, 상기 기술된 로직에 단계가 추가될 수 있고 기술된 실시예에 또한 부합할 수 있다. 또한, 본 명세서에서 기술된 동작은 순차적으로 발생하거나 또는 특정의 동작은 병렬적으로 프로세스될 수 있다. 또한, 동작은 단일의 프로세싱 유닛에 의해 또는 분배된 프로세싱 유닛에 의해 수행될 수 있다.
본 발명의 각종 실시예의 전술한 설명은 예시 및 기술을 위해 제공되었다. 본 발명을 개시된 정확한 형태로 배타적이 되도록 하거나 제한하도록 의도되지 않는다. 상기 개시 내용의 관점에서 다수의 변경 및 변형이 가능하다. 본 발명의 범위는 이 상세한 설명에 의해 제한되지 않으며, 그 대신에 첨부된 특허 청구 범위에 의해 제한되는 것으로 의도된다. 상기 사양, 예 및 데이터는 본 발명의 제조물의 완전한 설명 및 조성물의 사용을 제공한다. 본 발명의 다수의 실시예는 본 발명의 범위로부터 벗어나지 않고 행해질 수 있으며, 본 발명은 본 명세서에 첨부된 특허 청구 범위에 존재한다.

Claims (10)

  1. 재동기화 동안 데이터 업데이트를 저장하기 위한 레포지토리(repository)를 사용할지를 결정하는 방법으로서,
    1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 단계와,
    한 시점에 상기 2차 저장 장치의 논리적 복사본을 수립하는 단계-상기 시점 후의 논리적 복사 지속 기간 동안 상기 1차 저장 장치로부터 수신된 상기 논리적 복사본 내의 상기 2차 저장 장치에 대한 기록물은 상기 논리적 복사본 내의 상기 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장됨-와,
    상기 2차 저장 장치에 대한 상기 기록물 전송을 보류하는 단계-상기 보류 동안 상기 1차 저장 장치에 대한 기록물은 비동기(out-of-synch) 데이터 구조로 표시됨-와,
    상기 1차 저장 장치로부터 상기 2차 저장 장치로의 상기 기록물 전송의 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로부터 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 단계와,
    상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 상기 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정하는 것에 응답하여 상기 보류의 종료에 후속하여 상기 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 상기 시점에 상기 2차 저장 장치에 데이터를 저장하도록 상기 레포지토리를 사용하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 논리적 복사본은 제 1 논리적 복사본을 포함하고, 상기 레포지토리는 제 1 레포지토리를 포함하고,
    상기 비동기 데이터 구조로 표시된 상기 기록물을 상기 2차 저장 장치로의 전송을 완료하는 것에 응답하여 상기 2차 저장 장치의 제 2 논리적 복사본을 제 2 시점에 수립하는 단계와,
    상기 제 2 논리적 복사본에 대해 제 2 레포지토리를 수립하는 단계를 더 포함하며,
    제 2 시점 이후에 상기 1차 저장 장치로부터 상기 2차 저장 장치에 전송된 기록물은 상기 레포지토리에 복사될 상기 2차 저장 장치에 상기 데이터가 중복 기록되도록 하는
    방법.
  3. 제 1 항에 있어서,
    상기 보류를 종료하는 것에 응답하여 상기 보류를 종료한 후에 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 기록물을 상기 2차 저장 장치에 전송하는 단계를 더 포함하며,
    상기 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 단계는 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 상기 이용 가능한 저장 공간이 상기 비동기 데이터 구조로 표시된 상기 기록물 및 상기 1차 저장 장치에서 수신된 새로운 기록물을 저장하는데 충분한지를 추정하는 단계를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 상기 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분하지 않다고 결정하는 것에 응답하여 상기 보류 후에 업데이트된 상기 2차 저장 장치에 데이터를 저장하도록 상기 2차 저장 장치와 크기가 동등한 3차 저장 장치를 사용하는 단계를 더 포함하며, 상기 3차 저장 장치는 상기 기록물의 보류 이전에 상기 레포지토리에 복사된 데이터를 추가적으로 저장하는
    방법.
  5. 제 4 항에 있어서,
    상기 레포지토리 내의 상기 기록물을 상기 2차 저장 장치에 복사하는 단계와,
    상기 2차 저장 장치의 제 2 가상 복사본을 상기 레포지토리로부터 상기 기록물을 복사하는 것에 응답하여, 3차 저장 장치에 대해 수립하는 단계-상기 3차 저장 장치는 상기 2차 저장 장치와 크기가 동등함-와,
    상기 1차 저장 장치를 상기 2차 저장 장치에 대해 재동기화하는 단계를 더 포함하며,
    상기 1차 저장 장치로부터의 데이터에 의해 중복 기록될 상기 2차 저장 장치 내의 데이터는 상기 3차 저장 장치에 복사되는
    방법.
  6. 재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할지를 결정하기 위해 1차 저장 장치와 2차 저장 장치와 통신하는 시스템으로서,
    프로세서와,
    동작을 수행하는 상기 프로세서에 의해 실행된 코드를 포함하는 컴퓨터 판독 가능한 매체를 포함하며, 상기 동작은,
    1차 저장 장치에 대한 기록물을 2차 저장 장치에 전송하는 동작과,
    한 시점에 상기 2차 저장 장치의 논리적 복사본을 수립하는 동작-상기 시점 후의 논리적 복사 지속 기간 동안 상기 1차 저장 장치로부터 수신된 상기 논리적 복사본 내의 상기 2차 저장 장치에 대한 기록물은 상기 논리적 복사본 내의 상기 2차 저장 장치보다 적은 저장 공간을 포함하는 레포지토리에 저장됨-과,
    상기 2차 저장 장치에 대한 상기 기록물 전송을 보류하는 동작-상기 보류 동안 상기 1차 저장 장치에 대한 기록물은 비동기 데이터 구조로 표시됨-과,
    상기 1차 저장 장치로부터 상기 2차 저장 장치로의 상기 기록물 전송의 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로부터 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 동작과,
    상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 상기 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지에 대해 결정하는 것에 응답하여 상기 보류의 종료에 후속하여 상기 1차 저장 장치로부터 전송된 기록물에 의해 업데이트될 데이터를 상기 시점에 상기 2차 저장 장치에 저장하도록 상기 레포지토리를 사용하는 동작을 포함하는
    시스템.
  7. 제 6 항에 있어서,
    상기 보류를 종료하는 것에 응답하여 상기 보류를 종료한 후에 상기 비동기 데이터 구조로 표시된 기록물 및 상기 1차 저장 장치에서 수신된 기록물을 상기 2차 저장 장치에 전송하는 동작을 더 포함하며,
    상기 보류를 종료하는 것에 응답하여 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분한지를 결정하는 동작은 상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 상기 이용 가능한 저장 공간이 상기 비동기 데이터 구조로 표시된 상기 기록물 및 상기 1차 저장 장치에서 수신된 새로운 기록물을 저장하는데 충분한지를 추정하는 동작을 포함하는
    시스템.
  8. 제 6 항에 있어서,
    상기 2차 저장 장치와 크기가 동등한 3차 저장 장치와 더 통신하고, 상기 동작은,
    상기 비동기 데이터 구조로 표시된 상기 기록물을 전송하면서 상기 레포지토리 내의 상기 이용 가능한 저장 공간이 상기 2차 저장 장치로부터 전송된 기록물을 저장하는데 충분하지 않다고 결정하는 것에 응답하여 상기 보류 후에 업데이트된 데이터를 상기 2차 저장 장치에 저장하도록 상기 3차 저장 장치를 사용하는 동작을 더 포함하며, 상기 3차 저장 장치는 상기 기록물의 보류 이전에 상기 레포지토리에 복사된 데이터를 추가적으로 저장하는
    시스템.
  9. 제 7 항에 있어서,
    상기 레포지토리 내의 상기 기록물을 상기 2차 저장 장치에 복사하는 동작과,
    상기 2차 저장 장치의 제 2 가상 복사본을 상기 레포지토리로부터 상기 기록물을 복사하는 것에 응답하여, 3차 저장 장치에 대해 수립하는 동작-상기 3차 저장 장치는 상기 2차 저장 장치와 크기가 동등함-과,
    상기 1차 저장 장치를 상기 2차 저장 장치에 대해 재동기화하는 동작을 더 포함하며,
    상기 1차 저장 장치로부터의 데이터에 의해 중복 기록될 상기 2차 저장 장치 내의 데이터는 상기 3차 저장 장치에 복사되는
    시스템.
  10. 디지털 컴퓨터의 내부 메모리에 로드 가능한 컴퓨터 프로그램 제품으로서,
    청구항 제 1 항 내지 제 5 항 중 어느 한 항에 따른 발명을 수행하기 위해, 상기 제품이 컴퓨터 상에서 실행될 때 수행하는 소프트웨어 코드 부분을 포함하는
    컴퓨터 프로그램 제품.
KR1020107012428A 2007-12-06 2008-12-03 재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대한 결정 KR20100099153A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/952,025 2007-12-06
US11/952,025 US8250323B2 (en) 2007-12-06 2007-12-06 Determining whether to use a repository to store data updated during a resynchronization

Publications (1)

Publication Number Publication Date
KR20100099153A true KR20100099153A (ko) 2010-09-10

Family

ID=40513991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107012428A KR20100099153A (ko) 2007-12-06 2008-12-03 재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대한 결정

Country Status (6)

Country Link
US (1) US8250323B2 (ko)
EP (2) EP2902907B1 (ko)
JP (1) JP5295263B2 (ko)
KR (1) KR20100099153A (ko)
CN (1) CN101889268B (ko)
WO (1) WO2009071575A1 (ko)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250323B2 (en) * 2007-12-06 2012-08-21 International Business Machines Corporation Determining whether to use a repository to store data updated during a resynchronization
US20110276768A1 (en) * 2010-05-10 2011-11-10 Kaminario Technologies Ltd. I/0 command handling in backup
WO2012117434A1 (en) * 2011-02-28 2012-09-07 Hitachi, Ltd. Method for ensuring consistency between mirrored copies of control information
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
GB2514947B (en) * 2012-05-04 2015-06-17 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occured via a cloud-enabled platform
US9430343B1 (en) * 2012-05-07 2016-08-30 Emc Corporation Using affinity to mediate bias in a distributed storage system
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9195403B2 (en) * 2012-09-12 2015-11-24 International Business Machines Corporation Replicating tracks from a first storage site to a second and third storage sites
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
EP2784717A1 (en) 2012-10-17 2014-10-01 Box, Inc. Remote key management in a cloud-based environment
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
CN104348842B (zh) * 2013-07-23 2019-03-15 腾讯科技(深圳)有限公司 分布式存储系统路由方法、路由管理服务器及系统
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US9423973B2 (en) 2014-11-19 2016-08-23 International Business Machines Corporation Asynchronous tape backup and restore from tape backup in a disk storage environment
US10033810B2 (en) 2015-12-03 2018-07-24 International Business Machines Corporation Recovery point objective via dynamic usage of bind segments in a global mirror environment
US9632716B1 (en) 2016-01-13 2017-04-25 International Business Machines Corporation Method, system, and computer program product for consistent asynchronous replication of local backup
US10884884B2 (en) * 2017-03-23 2021-01-05 International Business Machines Corporation Reversal of the direction of replication in a remote copy environment by tracking changes associated with a plurality of point in time copies
US10824604B1 (en) * 2017-05-17 2020-11-03 Palantir Technologies Inc. Systems and methods for data entry
US10223210B2 (en) * 2017-07-29 2019-03-05 International Business Machines Corporation Asynchronous local and remote generation of consistent point-in-time snap copies in consistency groups
US10712953B2 (en) * 2017-12-13 2020-07-14 International Business Machines Corporation Management of a data written via a bus interface to a storage controller during remote copy operations
US10705927B2 (en) * 2018-07-19 2020-07-07 Hewlett Packard Enterprise Development Lp Freeze a volume of a replication set and unfreeze the volume based on at least one of a snapshot permit message, a snapshot abort message, and expiration of a timeout
US10664188B2 (en) * 2018-08-25 2020-05-26 International Business Machines Corporation Data set allocations taking into account point-in-time-copy relationships
US10664189B2 (en) * 2018-08-27 2020-05-26 International Business Machines Corporation Performance in synchronous data replication environments
US11194676B2 (en) 2019-03-26 2021-12-07 International Business Machines Corporation Data synchronization in high availability storage environments

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203732B2 (en) 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
JP2004005222A (ja) 2002-05-31 2004-01-08 Internatl Business Mach Corp <Ibm> 格納形式が異なる記録装置のためのバックアップ技術
JP2004013547A (ja) 2002-06-07 2004-01-15 Hitachi Ltd データ割当方法、情報処理システム
US7134044B2 (en) * 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
US6996586B2 (en) 2003-06-18 2006-02-07 International Business Machines Corporation Method, system, and article for incremental virtual copy of a data block
US20050010731A1 (en) * 2003-07-08 2005-01-13 Zalewski Stephen H. Method and apparatus for protecting data against any category of disruptions
US7188272B2 (en) 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US7188222B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system, and program for mirroring data among storage sites
US7133986B2 (en) * 2003-09-29 2006-11-07 International Business Machines Corporation Method, system, and program for forming a consistency group
US7039661B1 (en) 2003-12-29 2006-05-02 Veritas Operating Corporation Coordinated dirty block tracking
JP4551096B2 (ja) * 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
US7085907B2 (en) 2004-02-17 2006-08-01 International Business Machines Corporation Dynamic reconfiguration of memory in a multi-cluster storage control unit
US20060161810A1 (en) 2004-08-25 2006-07-20 Bao Bill Q Remote replication
US7549029B2 (en) 2005-05-06 2009-06-16 International Business Machines Corporation Methods for creating hierarchical copies
JP2007140746A (ja) 2005-11-16 2007-06-07 Hitachi Ltd 計算機システム及び管理計算機並びにリカバリ管理方法
US7552295B2 (en) * 2006-01-03 2009-06-23 International Business Machines Corporation Maintaining consistency when mirroring data using different copy technologies
US8250323B2 (en) * 2007-12-06 2012-08-21 International Business Machines Corporation Determining whether to use a repository to store data updated during a resynchronization

Also Published As

Publication number Publication date
EP2902907B1 (en) 2018-11-21
EP2902907A1 (en) 2015-08-05
WO2009071575A1 (en) 2009-06-11
CN101889268B (zh) 2013-07-24
EP2232371B8 (en) 2015-04-08
CN101889268A (zh) 2010-11-17
JP5295263B2 (ja) 2013-09-18
US20090150627A1 (en) 2009-06-11
EP2232371A1 (en) 2010-09-29
EP2232371B1 (en) 2015-02-18
US8250323B2 (en) 2012-08-21
JP2011507062A (ja) 2011-03-03

Similar Documents

Publication Publication Date Title
KR20100099153A (ko) 재동기화 동안 업데이트된 데이터를 저장하기 위한 레포지토리를 사용할 지에 대한 결정
US7188222B2 (en) Method, system, and program for mirroring data among storage sites
US7225307B2 (en) Apparatus, system, and method for synchronizing an asynchronous mirror volume using a synchronous mirror volume
US5720029A (en) Asynchronously shadowing record updates in a remote copy session using track arrays
US7734883B2 (en) Method, system and program for forming a consistency group
US7552295B2 (en) Maintaining consistency when mirroring data using different copy technologies
US7039661B1 (en) Coordinated dirty block tracking
US6463501B1 (en) Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
EP1455275B1 (en) Data restoring apparatus using journal data and identification information
JP3149325B2 (ja) 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
US8521694B1 (en) Leveraging array snapshots for immediate continuous data protection
US20060136685A1 (en) Method and system to maintain data consistency over an internet small computer system interface (iSCSI) network
US7747576B2 (en) Incremental update control for remote copy
KR101221285B1 (ko) 다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리
JPH07239799A (ja) 遠隔データ・シャドーイングを提供する方法および遠隔データ二重化システム
US8327095B2 (en) Maintaining information of a relationship of target volumes comprising logical copies of a source volume
US7904682B2 (en) Copying writes from primary storages to secondary storages across different networks
US7587466B2 (en) Method and computer system for information notification

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application