KR101221285B1 - 다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리 - Google Patents

다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리 Download PDF

Info

Publication number
KR101221285B1
KR101221285B1 KR1020107001857A KR20107001857A KR101221285B1 KR 101221285 B1 KR101221285 B1 KR 101221285B1 KR 1020107001857 A KR1020107001857 A KR 1020107001857A KR 20107001857 A KR20107001857 A KR 20107001857A KR 101221285 B1 KR101221285 B1 KR 101221285B1
Authority
KR
South Korea
Prior art keywords
primary
storage
group
storages
delete delete
Prior art date
Application number
KR1020107001857A
Other languages
English (en)
Other versions
KR20100042631A (ko
Inventor
스티븐 프란시스 에델
케네스 웨인 보이드
케네스 페어클러프 데이 3세
그레고리 에드워드 맥브라이드
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 KR20100042631A publication Critical patent/KR20100042631A/ko
Application granted granted Critical
Publication of KR101221285B1 publication Critical patent/KR101221285B1/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/2071Error 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 using a plurality of controllers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

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)
  • Computer And Data Communications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로 기록들을 카피하는 것을 관리하기 위한 방법, 시스템, 제조 물품이 제공된다. 정보는 적어도 하나의 주 스토리지, 적어도 하나의 주 디바이스(이는 상기 적어도 하나의 주 스토리지로의 I/O 접근을 관리함) 및 적어도 하나의 대응하는 부 스토리지(상기 적어도 하나의 주 스토리지로의 기록들은 여기에 카피됨)로 구성된 제1 그룹 및 적어도 하나의 주 스토리지, 적어도 하나의 주 디바이스(이는 상기 적어도 하나의 주 스토리지로의 I/O 접근을 관리함) 및 적어도 하나의 대응하는 부 스토리지(상기 적어도 하나의 주 스토리지로의 기록들은 여기에 카피됨)로 구성된 제2 그룹 상에 보존된다. 상기 주 디바이스로부터 상기 부 디바이스에 기록을 카피하는데 있어서의 오류에 관한 오류 통지가 상기 제1 또는 제2 그룹에서의 주 디바이스들 중 하나로부터 수신된다. 프리즈 명령은 제1 네트워크 프로토콜을 사용하여 제1 네트워크를 통해 상기 제1 그룹에서의 적어도 하나의 주 디바이스로 발(issue)해져 상기 대응하는 적어도 하나의 부 디바이스에 기록들을 카피하는 것을 중단한다. 프리즈 명령은 제2 네트워크 프로토콜을 사용하여 제2 네트워크를 통해 상기 제2 그룹에서의 적어도 하나의 주 디바이스로 발해져 상기 대응하는 적어도 하나의 부 디바이스에 기록들을 카피하는 것을 중단한다.

Description

다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리{MANAGING THE COPYING OF WRITES FROM PRIMARY STORAGES TO SECONDARY STORAGES ACROSS DIFFERENT NETWORKS}
본 발명은 다른 네트워크들에 걸쳐 주 스토리지들(primary storages)에서 부 스토리지들(secondary storages)로 기록들(writes)을 카피하는 것을 관리하기 위한 방법, 시스템, 제조 물품과 관련된다.
재난 복구 시스템들은 일반적으로 두 종류의 오류들(failures)을 처리하는데, 이러한 두 종류의 재난들에는 한 시점(point-in-time)에서의 급작스런 엄청난 재난 또는 어떤 시간 구간 동안의 데이터 손실이 있다. 두 번째 종류의 완만한 재난에서는, 볼륨들에 대한 업데이트들(updates to volumes)이 손실될 수 있다. 데이터 업데이트들의 복구를 지원하기 위해, 원격 위치에서 데이터의 카피가 제공될 수 있다. 그러한 듀얼(dual) 또는 쉐도우(shadow) 카피들은 일반적으로 어플리케이션 시스템이 새로운 데이터를 주(primary) 스토리지 디바이스에 기록하고 있을 때 만들어진다. 데이터의 원격 카피들을 부(secondary) 사이트에 보존(maintain)하기 위해 여러 카피 기술들이 사용될 수 있는데, 이러한 카피 기술들의 예로서는, IBM(International Business Machine Corporation)의 확장된 원격 카피(Extended Remote Copy, XRC), 커플드(coupled) XRC(CXRC), 글로벌 카피, 및 글로벌 미러 카피(Global Mirror Copy) 등이 있다.
데이터 미러링 시스템들(data mirroring systems)에서, 데이터는 볼륨 페어들(volume pairs)로 보존된다. 볼륨 페어는 주 스토리지 디바이스에서의 볼륨 및 부 스토리지 디바이스에서의 대응하는 볼륨으로 구성되는데, 상기 부 스토리지 디바이스에서의 대응하는 볼륨은 상기 주 볼륨에 보존되는 데이터의 동일한 카피를 포함한다. 주 및 부 스토리지 컨트롤러들이 사용되어 상기 주 및 부 스토리지 디바이스들로의 접근을 제어할 수 있다.
데이터베이스 시스템들과 같은 많은 응용 프로그램들에서, 특정 기록들(writes)은 만약 이전의 기록(previous write)이 발생하지 않는 한 발생할 수 없다. 만약 그렇지 않고 발생하였다면, 데이터 인테그리티(data integrity)가 위험해질 것이다. 인테그리티가 이전의 데이터 기록들의 발생에 의존하는 그러한 데이터 기록은 의존적인 기록(dependent write)으로서 알려져 있다. 상기 주 및 부 스토리지들에서의 볼륨들은, 모든 기록들이 그것들의 논리적 순서(logical order)로 전송되었을 때, 즉 모든 기록들이 그것에 대해 의존적인 기록들 전에 먼저 전송되었을 때, 컨시스턴트(consistent)하다. 컨시스턴시 그룹(consistency group)은 상기 주 볼륨들에 대한 업데이트들의 집합(collection)으로서, 의존적인 기록들이 컨시스턴트한 방식으로 확보되도록 한다. 컨시스턴시 시간(consistency time)은 시스템이 상기 부 볼륨들에 대한 업데이트들이 컨시스턴트하다고 보장하는 가장 최근의 시간이다. 상기 컨시스턴시 그룹은, 모든 의존적인 기록들이 상기 주 디바이스들에 기록된 순서로 상기 원격 또는 부 사이트에 기록된 한 시점에서의 그것들을 포함한다. 또한 컨시스턴시 그룹은 컨시스턴시 타임 스탬프(consistency time stamp)와 동일하거나 더 이른(earlier) 시간 스탬프를 갖는 컨시스턴시 그룹으로의 모든 데이터 기록들을 위한 컨시스턴시 시간을 갖는다. 컨시스턴시 그룹들은 볼륨들 및 스토리지 디바이스들에 걸쳐 데이터 컨시스턴시(data consistency)을 유지한다. 따라서, 데이터가 상기 부 볼륨들로부터 복구될 때, 상기 복구되는 데이터는 상기 컨시스턴시 그룹의 시점에서 컨시스턴트할 것이다.
컨시스턴시 그룹들은 세션(session) 내에 형성된다. 하나의 세션에 할당된 모든 볼륨 페어들은 동일한 컨시스턴시 그룹으로 보존되는 자신들의 업데이트들을 가질 것이다. 따라서, 상기 세션들은 컨시스턴시 그룹으로 함께 그룹지어질 볼륨들을 결정하기 위해 사용된다. 컨시스턴시 그룹들은 저널(journal) 디바이스 또는 볼륨 내에 형성된다. 상기 저널로부터, 컨시스턴시 그룹을 형성하기 위해 수집된(gathered) 업데이트들은 상기 부 볼륨에 적용된다. 만약 상기 저널로부터의 업데이트들이 부 볼륨에 적용되고 있을 때 상기 시스템이 요류(fail)가 생긴다면, 복구 동작들 동안, 상기 부 볼륨으로의 기록을 완료하지 않은 업데이트들은 상기 저널로부터 복구될 수 있고 상기 부 볼륨에 적용될 수 있다.
다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로 기록들을 카피하는 것을 관리하기 위한 방법, 시스템, 및 제조 물품 및 컴퓨터 프로그램 제품이 제공된다. 정보는, 적어도 하나의 주 스토리지, 적어도 하나의 주 디바이스(이는 상기 적어도 하나의 주 스토리지로의 입력/출력(I/O) 접근을 관리함) 및 적어도 하나의 대응하는 부 스토리지(상기 적어도 하나의 주 스토리지로의 기록들은 여기에 카피됨)로 구성된 제1 그룹, 및 적어도 하나의 주 스토리지, 적어도 하나의 주 디바이스(이는 상기 적어도 하나의 주 스토리지로의 I/O 접근을 관리함) 및 적어도 하나의 대응하는 부 스토리지(상기 적어도 하나의 주 스토리지로의 기록들은 여기에 카피됨)로 구성된 제2 그룹 상에 보존된다. 상기 주 디바이스에서 상기 부 디바이스로 기록을 카피하는데 있어서의 오류에 관한 오류 통지(failure notification)는 상기 제1 또는 제2 그룹에서의 주 디바이스들 중 하나로부터 수신된다. 프리즈 명령(freeze command)은, 제1 네트워크 프로토콜을 사용하여, 제1 네트워크를 통해, 상기 제1 그룹에서의 적어도 하나의 주 디바이스에 발(issue)해져, 상기 대응하는 적어도 하나의 부 디바이스에 기록들을 카피하는 것을 중단한다. 프리즈 명령은, 제2 네트워크 프로토콜을 사용하여, 제2 네트워크를 통해, 상기 제2 그룹에서의 적어도 하나의 주 디바이스에 발해져, 상기 대응하는 적어도 하나의 부 디바이스에 기록들을 카피하는 것을 중단한다.
추가 실시예에서, 상기 제1 및 제2 그룹들에서의 주 스토리지들로의 의존적인 기록들이, 상기 제1 및 제2 그룹에서의 주 스토리지들 중 어떤 것에 상기 의존적인 기록들이 기록된 순서로 상기 대응하는 부 스토리지들에 카피되도록, 상기 제1 및 제2 그룹에서의 주 스토리지들은 적어도 하나의 컨시스턴시 그룹(consistency group)으로 보존된다.
추가 실시예에서, 상기 제1 및 제2 그룹에서의 주 스토리지들로의 기록들이, 상기 대응하는 부 스토리지에서 상기 기록들이 완료되었다는 확인신호(acknowledgment)가 수신될 때까지 완료되지 않도록, 데이터는 상기 제1 및 제2 그룹에서의 주 스토리지들에 그리고 상기 대응하는 부 스토리지들에 동시적으로(synchronously) 기록된다.
추가 실시예에서, 기록을 로그(log)하기 위한 요청(request to log a write)은 상기 제1 또는 제2 네트워크를 통해 상기 주 디바이스들 중 하나로부터 수신된다. 상기 기록은 기록 로그(write log)에 로그된다. 상기 제1 및 제2 그룹에서의 어떤 주 디바이스에 대한 어떤 미결의(pending) 로그된 기록들이 있는지의 여부에 관한 결정이 이루어진다. 로그 완료(log complete)는, 상기 로그 완료가 리턴된 기록보다 더 이른 시점(earlier point-in-time)을 갖는 상기 제1 및 제2 그룹에서의 주 디바이스들에 대한 기록 로그에 어떠한 미결의 로그된 기록들도 없다고 결정하는 것에 응답하여, 상기 제1 또는 제2 네트워크를 통해 상기 주 디바이스로 리턴되어, 상기 주 디바이스가 상기 대응하는 부 디바이스로 기록을 카피할 수 있게 한다. 하나의 로그된 기록은, 상기 기록이 상기 대응하는 부 디바이스에 카피되었다는 통지를 수신하는 것에 응답하여, 상기 기록 로그로부터 제거된다.
추가 실시예에서, 상기 제1 및 제2 네트워크 프로토콜을 사용하여, 상기 제1 및 제2 그룹에서의 주 디바이스들로부터, 상기 프리즈 명령이 수신되었다는 확인신호들이 수신된다. 실행 명령(run command)은, 상기 프리즈 명령이 보내진 상기 제1 및 제2 그룹에서의 모든 디바이스들로부터 확인신호들을 수신하는 것에 응답하여, 상기 주 디바이스에 기록들을 완료하고 변경 레코딩 데이터 구조(change recording data structure)에 상기 완료된 기록들을 표시하도록 상기 주 디바이스에게 신호를 보내기 위해, 상기 제1 그룹에서의 적어도 하나의 주 디바이스에, 상기 제1 네트워크 프로토콜을 사용하여 발해진다. 실행 명령은, 상기 프리즈 명령이 보내진 상기 제1 및 제2 그룹에서의 모든 디바이스들로부터 확인신호들을 수신하는 것에 응답하여, 상기 주 디바이스에 기록들을 완료하고 변경 레코딩 데이터 구조에 상기 완료된 기록들을 표시하도록 상기 주 디바이스에게 신호를 보내기 위해, 상기 제2 그룹에서의 적어도 하나의 주 디바이스에 상기 제1 네트워크 프로토콜을 사용하여 발해진다. 상기 제1 및 제2 그룹에서의 주 디바이스들은 상기 제1 및 제2 네트워크 프로토콜 각각을 사용하여 신호를 받아, 상기 오류 통지를 야기한 오류로부터의 복구에 응답하여 그것들의 대응하는 부 디바이스들에 상기 변경 레코딩 데이터 구조들에 표시된 기록들을 카피한다.
추가 실시예에서, 상기 제1 그룹 및 상기 제2 그룹에서의 디바이스들은 이종의(heterogeneous) 디바이스들을 포함한다.
다른 네트워크들에 걸쳐 주 스토리지들로부터 부 스토리지들로 기록들을 카피하기 위한 방법, 시스템, 제조 물품 및 컴퓨터 프로그램 제품이 제공된다. 오류 통지는, 제1 네트워크 프로토콜을 사용하여, 제1 그룹의 적어도 하나의 주 디바이스 및 적어도 하나의 대응하는 주 스토리지(이는 상기 적어도 하나의 주 디바이스에 의해 관리됨)에서의 주 디바이스에서 제어 시스템으로, 상기 주 스토리지로의 기록이 대응하는 부 스토리지에 카피될 수 없다고 상기 주 디바이스가 결정하는 것에 응답하여, 전달된다. 오류 통지는, 제2 네트워크 프로토콜을 사용하여, 제2 그룹의 적어도 하나의 주 디바이스 및 적어도 하나의 대응하는 주 스토리지(이는 상기 적어도 하나의 주 디바이스에 의해 관리됨)에서의 주 디바이스에서 상기 제어 시스템으로, 상기 대응하는 주 스토리지로의 기록이 대응하는 부 스토리지에 카피될 수 없다고 상기 주 디바이스가 결정하는 것에 응답하여, 전달된다. 프리즈 명령은, 상기 제1 그룹에서의 적어도 하나의 주 디바이스에서 상기 제1 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 수신된다. 프리즈 명령은, 상기 제2 그룹에서의 적어도 하나의 주 디바이스에서 상기 제2 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 수신된다. 상기 제1 및 제2 그룹에서의 주 스토리지들에서 상기 대응하는 부 스토리지들로 기록들을 카피하는 것은 상기 프리즈 명령들을 수신하는 것에 응답하여 중단(suspend)된다.
추가 실시예에서, 상기 제1 그룹 및 제2 그룹들에서의 어떤 주 스토리지들로의 의존적인 기록들의 순서가 상기 대응하는 부 스토리지들로의 상기 의존적인 기록들의 카피에 보존되도록, 상기 제1 및 제2 그룹에서의 주 스토리지들로의 기록들은 카피된다.
추가 실시예에서, 상기 제1 및 제2 그룹에서의 상기 주 스토리지들로의 기록들이, 상기 대응하는 부 스토리지들에서 상기 기록들이 완료되었다는 확인신호가 수신될 때까지 완료되지 않도록, 데이터는 상기 제1 및 제2 그룹에서의 주 디바이스들에서 상기 대응하는 부 스토리지들로 동시적으로 카피된다.
추가 실시예에서, 기록 요청(write request)은 상기 제1 그룹에서의 상기 주 디바이스들 중 하나에 의해 수신된다. 메시지는 상기 제1 네트워크 프로토콜을 사용하여 상기 제1 네트워크를 통해 보내져 상기 제어 시스템에 상기 기록을 로그하며, 여기서 상기 제1 그룹에서의 상기 주 디바이스는, 상기 대응하는 부 스토리지로의 기록을, 상기 제1 네트워크를 통해 상기 제어 시스템으로부터 상기 기록이 로그되었다는 확인신호를 수신할 때까지 카피하지 않는다. 메시지는 상기 제2 네트워크 프로토콜을 사용하여 상기 제1 네트워크를 통해 보내져 상기 제어 시스템에 상기 기록을 로그하며, 여기서 상기 제2 그룹에서의 상기 주 디바이스는, 상기 대응하는 부 스토리지로의 기록을, 상기 제2 네트워크를 통해 상기 제어 시스템으로부터 상기 기록이 로그되었다는 확인신호를 수신할 때까지 카피하지 않는다. 상기 제1 및 제2 그룹에서의 상기 주 디바이스들은, 더 이른 시점을 갖는 기록들이 상기 제1 및 제2 그룹에서의 상기 주 디바이스들에 의해 그것들의 대응하는 부 스토리지들에 카피되기 전에, 그것들의 대응하는 부 스토리지들로의 의존적인 기록들을 카피하지 않는다.
추가 실시예에서, 기록 완료 메시지(write complete message)는, 상기 대응하는 부 스토리지로 기록을 카피하는 것을 완료하는 것에 응답하여, 상기 제1 네트워크 프로토콜을 사용하여 상기 제1 네트워크를 통해 상기 제어 시스템으로 보내진다. 기록 완료 메시지는, 상기 대응하는 부 스토리지로 기록을 카피하는 것을 완료하는 것에 응답하여, 상기 제2 네트워크 프로토콜을 사용하여 상기 제2 네트워크를 통해 상기 제어 시스템으로 보내진다.
추가 실시예에서, 상기 프리즈 명령을 수신하는 것에 응답하여, 상기 프리즈 명령이 상기 제1 네트워크를 통해 상기 제1 네트워크 프로토콜을 사용하여 수신되었다는 확인신호가 상기 제어 시스템으로 보내진다. 상기 프리즈 명령을 수신하는 것에 응답하여, 상기 프리즈 명령이 상기 제2 네트워크를 통해 상기 제2 네트워크 프로토콜을 사용하여 수신되었다는 확인신호가 상기 제어 시스템으로 보내진다. 실행 명령(run command)은, 상기 제어 시스템이 상기 프리즈 명령이 상기 제1 및 제2 그룹에서의 모든 주 디바이스들로부터 수신되었다는 확인신호들을 수신하는 것에 응답하여, 상기 제1 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 수신된다. 실행 명령은, 상기 제어 시스템이 상기 프리즈 명령이 상기 제1 및 제2 그룹에서의 모든 주 디바이스들로부터 수신되었다는 확인신호들을 수신하는 것에 응답하여, 상기 제2 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 수신된다. 기록들은 상기 실행 명령을 수신하는 것에 응답하여, 상기 제1 및 제2 그룹에서의 대응하는 주 스토리지들에 완료된다. 상기 기록을 완료하는 것에 응답하여 변경 레코딩 데이터 구조(change recording data structure)에 하나의 완료된 기록에 관한 표시(indication)가 수행된다.
추가 실시예에서, 상기 제1 그룹에서의 적어도 하나의 주 디바이스 및 주 스토리지는, 상기 제2 그룹에서의 적어도 하나의 주 디바이스 및 적어도 하나의 주 스토리지에 대해 이종의(heterogeneous) 디바이스들을 포함하며, 상기 제1 및 제2 그룹은 이종의 스토리지 매니저 프로그램들을 포함하여, 상기 오류 통지를 전달하고, 상기 프리즈 명령을 수신하고, 상기 기록들의 카피를 중단하는 동작들을 수행한다.
본 발명의 바람직한 실시예들은 이제 단지 예로서, 다음의 도면들을 참조하여 기술될 것이다.
도 1은 네트워크 컴퓨팅 환경의 일 실시예를 도시한다.
도 2는 컨시스턴시 그룹 멤버 정보의 일 실시예를 도시한다.
도 3은 기록 로그 엔트리 정보의 일 실시예를 도시한다.
도 4는 기록 요청을 처리하기 위한 동작들의 일 실시예를 도시한다.
도 5는 기록이 완료되었다는 확인신호를 처리하기 위한 동작들의 일 실시예를 도시한다.
도 6은 하나의 부 디바이스의 이용에서의 오류를 처리하기 위한 동작들의 일 실시예를 도시한다.
도 7은 프리즈 명령을 수신하는 것의 확인신호를 처리하기 위한 동작들의 일 실시예를 도시한다.
도 8은 상기 실시예들의 기술된 특정 측면들이 구현되는 컴퓨터 구조의 블록도를 도시한다.
도 1은 네트워크 컴퓨팅 환경의 일 실시예를 도시한다. 제1 그룹의 하나 또는 그 이상의 주 디바이스들(2)은 각각 주 스토리지(4)로의 입력/출력(I/O) 접근을 관리하고, 각각의 부 디바이스(6)(제1 그룹의)는 부 스토리지(8)로의 I/O 접근을 관리한다. 각각의 주 디바이스(2)는, 상기 결합된 주 스토리지(4)로의 기록들(writes)을 대응하는 부 디바이스(6)에 미러링(mirror)하여, 대응하는 부 디바이스(6)의 부 스토리지(8)에 저장한다. 제1 그룹의 주 디바이스들(2) 및 대응하는 부 디바이스들(6)은 제1 네트워크 프로토콜을 사용하여 제1 네트워크(10)를 통해 통신한다. 제2 그룹의 하나 또는 그 이상의 주 디바이스들(12) 각각은 주 스토리지(14)(하나 또는 그 이상의 주 볼륨들(primary volumes)(16)을 가짐)로의 I/O 접근을 관리하고, 각각의 부 디바이스(18)(제2 그룹의)는 부 스토리지(20)(하나 또는 그 이상의 부 볼륨들(secondary volumes)을 가짐)로의 I/O 접근을 관리한다. 제2 그룹에서의 각각의 주 디바이스(12)는 대응하는 부 디바이스(18)에 포함된 결합된 볼륨들(16)에 기록들을 미러링하여, 대응하는 부 디바이스(18)의 대응하는 부 볼륨(22)에 저장한다. 제2 그룹의 주 디바이스들(12) 및 대응하는 부 디바이스들(18)은 제2 네트워크 프로토콜을 사용하여 제2 네트워크(24)를 통해 통신한다.
네트워크들(10 및 24)에 결합된 제어 시스템(26)은 제어 소프트웨어(28)를 포함하는데, 이 제어 소프트웨어(28)는, 다른 네트워크들(10 및 24)에서의 주 스토리지들(4) 및 주 볼륨들(16) 중 어떤 것으로의 어떤 기록들이든 한 시점에서 컨시스턴트하도록, 하나의 컨시스턴시 그룹으로 주 스토리지들(4) 및 주 볼륨들(16)을 관리한다. 이러한 방법으로, 주 스토리지들(4) 또는 주 볼륨들(16)로의 의존적인 기록들은 그것들이 상기 주 사이트에 기록된 순서로 그것들의 대응하는 부 스토리지들(8) 및 부 볼륨들(22)에 미러링된다. 상기 컨시스턴시 그룹에서의 제1 및 제2 그룹에서의 어떤 주 디바이스(2 및 12)에서의 어디서든 더 늦은 의존적인 기록들은, 상기 컨시스턴시 그룹에서의 어떤 주 디바이스(2 및 12)에서의 어디서든 더 이른 기록이 완료되기 전에, 대응하는 부 디바이스들(6 및 18)에 카피되지 않는다. 제어 소프트웨어(26)는 제1 및 제2 네트워크 프로토콜을 사용하여 각각 제1 및 제2 네트워크들(10 및 24) 상에서 통신하는 것이 가능하다.
제어 소프트웨어(28)는 컨시스턴시 그룹 정보(30)를 보존하는데, 이 컨시스턴시 그룹 정보(30)는 하나의 컨시스턴시 그룹에 포함된, 각각의 주 볼륨(16)/부 볼륨(22) 및 주 스토리지(4)/부 스토리지(8) 페어에 관한 정보를 갖는다. 제어 소프트웨어(28)는 기록 로그(32)에서 미결의 주 볼륨들(16) 및 주 스토리지들(4)로의 기록들에 관한 정보를 더 로그한다. 일 실시예에서, 주 디바이스들(2 및 12)은 동시적으로 그들의 주 스토리지(4) 및 주 볼륨(16)에 데이터를 기록한다. 그래서, 상기 기록은 상기 주 디바이스들(2 및 12)이 상기 기록이 대응하는 부 스토리지(8, 20)에 성공적으로 미러링된다는 것을 확인할 때까지 완료되지 않는다.
네트워크들(10 및 24)은 SAN(Storage Area Network), LAN(Local Area Network), 인트라넷, 인터넷, WAN(Wide Area Network), 피어-투-피어(peer-to-peer) 네트워크, 무선 네트워크, 아비트레이티드 루프 네트워크(arbitrated loop network) 등을 포함할 수 있다. 기술된 실시예들에서, 다른 네트워크 통신 프로토콜들이 사용되어 제1(10) 및 제2 네트워크들(24) 상에서 통신할 수 있다. 예를 들어, 일 실시예에서, 이더넷 및 TCP/IP와 같은 패킷 또는 상태 비보존형(stateless) 통신 프로토콜이 사용되어 제1 네트워크(10) 상에서 통신할 수 있고, 파이버 채널(Fibre Channel), SAS(Serial Attached SCSI) 등과 같은 스토리지 디바이스 통신 프로토콜이 사용되어 제2 네트워크(24) 상에서 통신할 수 있다.
주 디바이스들(2, 12) 및 부 디바이스들(6, 18)은 각각 운영 체계(34, 36, 38 및 40)를 포함한다. 제1 그룹의 주 디바이스들(2) 및 그들의 대응하는 부 디바이스들(8)은 각각 스토리지 디바이스 드라이버(42 및 44)를 포함하여 제어 소프트웨어(28)와 통신하고, 주 스토리지(12)로의 기록 요청들 및 부 스토리지(18)로의 그들의 미러링을 관리한다. 주 디바이스 드라이버(42) 및 스토리지 매니저(46)는 변경 레코딩 비트맵(change recording bitmap)(50 및 52)을 보존하여, 대응하는 부 디바이스들(6 및 18)로의 연결이 이용불가능할 때(예를 들어, 프리즈(FREEZE)/실행(RUN) 모드에서 동작할 때), 주 스토리지(4) 및 볼륨들(16)에 완료된 기록들을 나타낸다.
스토리지들(4, 8, 14, 및 20)은 하드 디스크 드라이브, 플래쉬 메모리 등과 같은 하나의 스토리지 디바이스, 또는 JBOD(Just a Bunch of Disks), NAS(Network Attached Storage), 하드 디스크 드라이브, DASD(Direct Access Storage Device), RAID(Redundant Array of Independent Disks) 어레이, 가상 디바이스(virtualization device), 테이프 스토리지, 플래쉬 메모리 등과 같은 스토리지 디바이스들의 어레이를 포함할 수 있다. 주 디바이스들(2 및 12)은 하나의 시스템에 구현된 가상 프로세서들(virtual processors) 또는 다수의 논리적 파티션들(logical partitions, LPARs) 중 하나를 포함할 수 있다.
일 실시예에서, 상기 제1 그룹에서의 주 디바이스들(2) 및 대응하는 부 디바이스들(6)은 서버를 포함할 수 있으며, 스토리지들(4 및 8)은 디바이스들(2, 6)에게 로컬인 하드 디스크 드라이브를 포함할 수 있으며, 이 하드 디스크 드라이브는 내부 또는 외부 버스, 직렬 인터페이스, 범용 직렬 버스(Universal Serial Bus, USB), 파이어와이어 인터페이스(Firewire interface) 등을 통해 디바이스(2, 6)에 연결된다. 이와는 달리, 상기 제1 그룹에서의 디바이스들(2, 6)과 스토리지들(4, 8)의 조합은 NAS(Network Attached Storage)를 포함할 수 있다. 일 실시예에서, 상기 제2 그룹에서의 디바이스들(12 및 18)은 기업 스토리지 서버를 포함할 수 있고 이 기업 스토리지 서버는 RAID 어레이, JBOD 등과 같은 다수의 논리적 볼륨들(16 및 22)을 구현하는 인터커넥트된(interconnected) 스토리지 디바이스들을 포함하는 스토리지 시스템(14 및 22)로의 접근을 유지한다.
나아가, 일 실시예에서, 상기 제1 그룹에서의 디바이스들(2, 6)과 함께 사용된 하나 또는 그 이상의 운영 체계들(34, 38) 및/또는 스토리지들(4, 8)은 상기 제2 그룹에서의 디바이스들(12 및 18)과 함께 사용된 운영 체계들(36, 38) 및/또는 스토리지들(14, 20)에 비해 이종(heterogeneous)이다. 일 실시예에서, 데이터를 기록하고 미러링하는 것을 관리하기 위해 사용된 스토리지 매니저 코드는 어태치된 스토리지(4, 8)를 위해 디바이스 드라이버(42)에 구현된다. 일 실시예에서, 스토리지 매니저 코드(46 및 48)는 기업 스토리지 서버에서 사용된 하드웨어 및 소프트웨어의 조합을 포함할 수 있다.
도 2는 상기 컨시스턴시 그룹으로 관리되는 주/부 스토리지 페어를 위해 컨시스턴시 그룹 정보(30)에서의 컨시스턴시 그룹 멤버 엔트리(70)에 포함될 수 있는 정보의 일 예를 도시한다. 엔트리(70)는 상기 컨시스턴시 그룹에서의 주 스토리지(74)로의 접근을 관리하는 주 디바이스(72), 주 스토리지(74)로의 기록들이 미러링되는 대응하는 부 스토리지(78)로의 접근을 관리하는 부 디바이스(76), 주 디바이스(72)의 네트워크 어드레스(80), 주 디바이스(72)와 통신하기 위해 사용되는 네트워크 프로토콜(82)을 포함한다.
도 3은 기록 로그(32)에서의 기록 로그 엔트리(90)에 포함될 수 있는 정보의 일 예를 보여주며, 주 디바이스(90)는 주 스토리지(92)로의 기록 및 한 시점의 기록을 수행한다.
도 4는 상기 제1 및 제2 그룹에서의 주 디바이스들(2, 12)에서의 디바이스 드라이버(42) 및 스토리지 매니저(46) 및 기록 요청을 처리하기 위한 제어 소프트웨어(28)에 의해 수행되는 동작들의 일 실시예를 보여준다. 기록 요청을 수신하자마자(블록 100에서), 디바이스 드라이버(42)/스토리지 매니저(46)는 제어 소프트웨어(28)로의 기록을 로그하기 위해 상기 주 디바이스에 의해 사용된 네트워크(10 또는 24)를 통해 메시지를 보낸다(블록 102에서). 상기 기록을 로그하기 위해 상기 메시지를 수신하는 것에 응답하여(블록 104에서), 상기 제어 소프트웨어(28)는 상기 요청된 기록에 대한 기록 로그(32)에 로그 엔트리(도 3의 90)를 추가한다(블록 106에서). 만약 더 이른 시점(96)을 갖는 제1 및 제2 그룹에서의 어떤 주 디바이스에 대해 어떠한 미결의 로그된 기록들도 없다면(블록 108에서), 제어 소프트웨어(28)는 로그 완료로 리턴한다(블록 110에서). 그렇지 않고, 만약 완료되지 않은 더 이른 시점을 갖는 미결의 기록들이 있다면(블록 108에서), 제어는 완료로 리턴하지 않고 종료되어, 주 디바이스(2)는 시간에서의 이른 기록들이 그들 각각의 부 스토리지들(8) 또는 볼륨들(22)에 카피될 때까지 카피할 수 없다. 로그 완료를 수신하는 것에 응답하여, 디바이스 드라이버(42)/스토리지 매니저(46)는 대응하는 부 스토리지(8)로의 접근을 관리하는 부 디바이스(6)를 통해 주 스토리지(4) 및 대응하는 부 스토리지(8)에 로그된 기록을 카피할 수 있다(블록 112에서).
특정 실시예들에서, 데이터가 대응하는 부 스토리지(8)에 성공적으로 카피될 때까지 기록이 완료되지 않도록, 주 스토리지 디바이스(4)는 동시적으로 데이터를 기록할 수 있다. 일 실시예에서, 기록 데이터가 부 스토리지(8)에 저장될 때까지 기록은 완료되지 않는다. 다른 실시예에서, 만약 기록 데이터가 부 스토리지(8)에 기록되기 전에 대응하는 부 스토리지(8)로의 접근을 관리하는 부 디바이스(6)의 캐쉬에 저장된다면 기록은 완료될 수 있다.
도 5는 부 스토리지(8)로의 기록의 완료를 처리하기 위해 제1 및 제2 그룹에서의 주 디바이스들(2, 12)에서의 디바이스 드라이버(42)/스토리지 매니저(46) 및 제어 소프트웨어(28)에 의해 수행되는 동작들의 일 실시예를 보여준다. 디바이스 드라이버(42)/스토리지 매니저(46)가 대응하는 부 디바이스로의 기록의 카피가 완료되었다는 확인신호를 수신하자마자, 디바이스 드라이버(42)/스토리지 매니저(46)는 기록이 완료된 제어 소프트웨어(28)로 주 디바이스에 의해 사용된 네트워크(10, 24)를 통해 메시지를 보낸다(블록 152). 기록이 완료되었다는 확인신호를 수신하는 것에 응답하여(블록 154에서), 제어 소프트웨어(28)는 기록 로그(32)로부터 완료된 기록을 위해 로그 엔트리(90)를 삭제한다(블록 156에서). 제어 소프트웨어(28)는 가장 이른 시점(96)을 갖는 기록 로그(32)에서의 로그된 기록(90)을 결정하고(블록 158에서), 필드(92)에 표시된 것과 같이 결정된 로그된 기록의 주 디바이스(2, 12)로 로그 완료를 리턴하여(블록 160에서), 주 디바이스(2, 12)가 부 디바이스(6, 18)로의 기록을 카피하도록 허용한다. 이들 동작들은 제1 및 제2 그룹에서의 주 스토리지들(4) 및 볼륨들(16) 중 어떤 것으로의 더 나중의 기록들이 그것들의 대응하는 부 스토리지(8) 또는 부 볼륨들(22)로 순서없이(out of order) 카피되지 않도록 보장한다. 다른 실시예들에서, 데이터가 순서없이 기록되지 않도록 보장하기 위해 다른 기술들이 사용(예를 들어, 확장된 롱 비지 구간들(extended long busy periods)의 사용)되어, 주 디바이스가 확장된 롱 비지 구간 동안 기록을 카피하는 것을 지연시켜, 다른 주 디바이스들 시간이 그것들의 더 이른 기록들을 완료하도록 허용한다.
도 6은 부 디바이스(6, 18)와 통신하기 위해 주 디바이스(2, 12)의 불능(inability)을 표시하는 오류 통지를 처리하기 위해, 제1 및 제1 그룹들에서의 주 디바이스들(2, 12)에서의 디바이스 드라이버(42)/스토리지 매니저(46) 및 제어 소프트웨어(28)에 의해 수행되는 동작들의 일 예를 보여준다. 주 디바이스(2, 12)가 부 디바이스(6, 18)와 통신하는 기능(ability)에서의 오류에 관해 주 디바이스(2) 하드웨어에 의한 검출 또는 통지를 하자마자(블록 200에서), 디바이스 드라이버(42)/스토리지 매니저(46)는 제어 소프트웨어(28)로 주 디바이스(2, 12)에 의해 사용된 네트워크(10, 24)를 통해 오류 통지를 보낸다(블록 202에서). 그 오류는 주 디바이스(2, 12)와 부 디바이스(6, 18) 사이의 네트워크 연결에서의 오류, 또는 부 사이트에서의 오류, 즉 부 디바이스(6, 18) 또는 부 스토리지(8, 20)의 오류의 결과일 수 있다. 오류 통지(이는 제1(10) 및 제2 네트워크(24)를 통한 제1 및 제2 그룹에서의 주 디바이스들(2, 12) 중 어떤 것으로부터일 수 있음)를 수신하자마자(블록 204에서), 제어 소프트웨어(28)는 제1 네트워크 프로토콜을 사용하여 제1 그룹에서의 각각의 주 디바이스(2)에 프리즈 명령을 발하여, 부 스토리지(8, 20)로 기록들을 카피하는 것을 중단한다. 제어 소프트웨어(28)는 제2 네트워크 프로토콜을 사용하여 제2 그룹에서의 각각의 주 디바이스(12)에 프리즈 명령을 더 발하여, 대응하는 적어도 하나의 부 디바이스로 기록들을 카피하는 것을 중단한다. 제어 소프트웨어(28)는 컨시스턴시 그룹 정보(30)에서의 엔트리(70)로부터 사용하기 위해 주 디바이스들(도 2의 72) 및 네트워크 프로토콜들(82)을 결정할 수 있다.
프리즈 명령을 수신하자마자(블록 210에서), 디바이스 드라이버(42)/스토리지 매니저(46)는 대응하는 부 스토리지(8) 또는 부 볼륨(22)으로 기록들을 카피하는 것을 중단한다(블록 212에서). 디바이스 드라이버(42)/스토리지 매니저(46)는 프리즈 명령이 그 프리즈 명령을 보낸 주 디바이스(2, 12)에게 수신되었다는 확인신호를 보낸다(블록 214에서).
도 7을 참조하면, 제어 소프트웨어(28)는 주 디바이스들(2, 12) 중 하나로부터 프리즈 명령의 확인신호를 수신하자마자(블록 250에서), 제어 소프트웨어(28)는 제1(10) 및 제2 네트워크(24)를 통해 컨시스턴시 그룹에서의 모든 주 디바이스들(2, 12)로부터 확인신호가 수신되었는지의 여부를 결정한다(블록 252에서). 만약 아니라면, 제어는 종료할 수도 있고, 또는 만약 확인신호가 모든 주 디바이스들(2, 12)로부터 수신되지 않는다면 다른 적절한 조치를 취할 수 있다. 그렇지 않고, 만약 확인신호가 모든 주 디바이스들(2, 12)로부터 수신되었다면, 제어 소프트웨어(28)는, 제1 네트워크 프로토콜을 사용하여 제1 그룹에서의 각각의 주 디바이스(2)에 실행 명령을 발하여(블록 254에서), 대응하는 부 디바이스(6, 18)로 기록들을 카피하는 것을 중단한다. 제어 소프트웨어(28)는 제2 네트워크 프로토콜을 사용하여 두 번째의 제1 그룹(the second first group)에서의 각각의 주 디바이스(12)에 실행 명령을 발하여(블록 256에서), 대응하는 부 디바이스(18)로 기록들을 카피하는 것을 중단한다. 제어 소프트웨어(28)는 컨시스턴시 그룹 정보(30)로부터 실행 명령을 위한 두 디바이스들을 결정할 수 있다.
실행 명령을 수신하자마자(블록 258에서), 디바이스 드라이버(42)/스토리지 매니저(46)는 주 스토리지(4) 또는 주 볼륨(16)에 기록들을 완료하고(블록 260에서), 변경 레코딩 데이터 구조(50, 52)에 완료된 기록들을 표시한다(블록 262에서). 부 디바이스(6, 18) 및/또는 스토리지(8, 20)가 복구한 후, 주 디바이스(2, 12)는 주 스토리지들(4, 14) 및 부 스토리지들(8, 20)을 일치(synchronize)시키기 위해 변경 레코딩 비트맵(50, 52)에 표시된 기록들에 대해 카피할 수 있다.
기술된 실시예들은, 다른 네트워크 통신 프로토콜들을 사용하는 다른 네트워크들을 통해, 주 스토리지 또는 볼륨들로의 기록들의 부 스토리지 또는 볼륨들(분산(distributed)되어 있는)로의 카피를 관리한다. 나아가, 기술된 실시예들은 다른 네트워크 프로토콜들을 사용하여 다른 네트워크들에서의 주 디바이스들을 관리함에 의해 부 사이트에서의 오류를 처리한다. 더 나아가 실시예들은 한 시점에서 컨시스턴트한 다른 네트워크들에서의 부 스토리지에서 데이터를 보존한다.
기술된 동작들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기술들을 사용하는 방법, 장치 또는 제조 물품으로 구현될 수 있다. 기술된 동작들은 "컴퓨터 판독가능 매체"에 보존되는 코드로서 구현될 수 있는데, 프로세서는 이 컴퓨터 판독가능 매체로부터 코드를 읽어서 실행할 수 있다. 컴퓨터 판독가능 매체는, 자기 스토리지 매체(예, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광 스토리지(CD-ROMs, DVDs, 광 디스크 등), 휘발성 및 비휘발성 메모리 디바이스(예, EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, 플래쉬 메모리, 펌웨어, 프로그램가능 로직 등)과 같은 매체를 포함할 수 있다. 기술된 동작들을 구현하는 코드는, 하드웨어 로직(예, 집적회로 칩, PGA(Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 등)에서 더 구현될 수 있다. 더 나아가, 기술된 동작들을 구현하는 코드는 "전송 신호들" 로 구현될 수 있는데, 이 전송 신호들은 공간을 통해 또는 전송 매체(예를 들어, 광 섬유, 구리 선 등)를 통해 전파될 수 있다. 코드 또는 로직이 인코딩되는 전송 신호들은 무선 신호, 위성 전송, 전파(radio waves), 적외선 신호들, 블루투스 등을 더 포함할 수 있다. 코드 또는 로직이 인코딩되는 전송 신호들은 송신국에 의해 전송되고 수신국에 의해 수신될 수 있으며, 이러한 전송 신호에 인코딩된 코드 또는 로직은 수신국 및 송신국 또는 디바이스들에서 하드웨어 또는 컴퓨터 판독가능 매체에 디코딩되어 저장될 수 있다. "제조 물품(article of manufacture)"은 컴퓨터 판독가능 매체, 하드웨어 로직, 및/또는 전송 신호들(코드가 구현될 수 있는)을 포함한다. 기술된 동작들의 실시예들을 구현하는 코드가 인코딩되는 디바이스는 컴퓨터 판독가능 매체 또는 하드웨어 로직을 포함할 수 있다. 물론, 당해 기술 분야에서 숙련된 자들은 본 발명의 범위로부터 벗어남이 없이 이러한 구성에 대한 많은 개조들이 행해질 수 있다는 것, 그리고 제조 물품이 당해 기술 분야에서 알려진 적절한 정보 저장 매체를 포함할 수 있다는 것을 알 것이다.
만약 특별히 다르게 명시하지 않는다면, "일 실시예", "실시예", "실시예들", "상기 실시예", "상기 실시예들", "하나 또는 그 이상의 실시예들", "일부 실시예들", 및 "하나의 실시예"는, "본 발명(들)의 하나 또는 그 이상의(모두가 아니라) 실시예들을 의미한다.
만약 특별히 다르게 명시하지 않는다면, "포함하는", "갖는" 및 이들의 변형들은, "포함하지만 이것들로 한정되는 것은 아님"을 의미한다.
만약 특별히 다르게 명시하지 않는다면, 항목들의 열거된 리스트는, 그 항목들의 일부 또는 모두가 상호간에 서로 배타적임을 의미하지는 않는다.
만약 특별히 다르게 명시하지 않는다면, "하나의", "한" 및 "상기"는, "하나 또는 그 이상"을 의미한다.
만약 특별히 다르게 명시하지 않는다면, 서로 간에 통신하는 디바이스들은 서로 간에 계속해서 통신할 필요는 없다. 또한, 서로 간에 통신하는 디바이스들은 직접적으로 통신할 수도 있고, 또는 하나 또는 그 이상의 중간 매체들을 통해 간접적으로 통신할 수도 있다.
서로 간에 통신하는 몇몇의 컴포넌트들을 갖는 일 실시예의 설명은 그 모든 컴포넌트들이 필요하다는 것을 의미하지는 않는다. 그와는 반대로 다양한 선택적인 컴포넌트들이 폭 넓은 가능한 본 발명의 실시예들을 설명하기 위해 기술된다.
나아가, 비록 처리 단계들, 방법 단계들, 알고리즘들 등이 순차적인 순서로 기술될 수 있지만, 그러한 프로세서들, 방법들 및 알고리즘들은 다른 순서들로 작용하도록 구성될 수 있다. 바꿔 말하면, 기술되는 단계들의 어떤 순서 또는 차례는 반드시 그 단계들이 그 순서로 수행될 것을 요구한다는 것을 나타내는 것은 아니다. 본 명세서에서 기술되는 처리들의 단계들은 실제로 어떤 다른 순서로 수행될 수 있다. 나아가, 몇몇 단계들은 동시에 수행될 수도 있다.
본 명세서에서 하나의 디바이스 또는 물품이 기술될 때, 그것은 하나의 디바이스/물품 대신에 하나 이상의 디바이스/물품(그것들이 협력하든 아니든 간에)이 사용될 수 있다는 것은 쉽게 알 수 있을 것이다. 이와 유사하게, 본 명세서에서 하나 이상의 디바이스 또는 물품이 기술되는 경우, 하나의 디바이스/물품이 하나 이상의 디바이스 또는 물품을 대신하여 상용될 수도 있고, 또는 다른 개수의 디바이스들/물품들이 도시된 개수의 디바이스들 또는 프로그램들 대신에 사용될 수 있다는 것은 쉽게 알 수 있을 것이다. 디바이스의 기능 및/또는 특징들은 그러한 기능/특징들을 갖는 것으로 분명하게 기술되지 않은 하나 또는 그 이상의 다른 디바이스들에 의해 다르게 구현될 수도 있다. 따라서, 본 발명의 다른 실시예들은 그 디바이스 자체를 포함할 필요가 없다.
도 4, 5, 6 및 7의 도시된 동작들은 특정 순서로 일어나는 특정 이벤트들을 보여준다. 다른 실시예들에서, 특정 동작들이 다른 순서로, 또는 변형되어, 또는 일부 순서를 빼고 수행될 수도 있다. 더욱이, 단계들은 상기 로직에 추가될 수 있고, 이는 그 기술된 실시예들을 여전히 따를 수 있다. 나아가, 본 명세서에 기술된 동작들은 순차적으로 일어날 수 있으며, 또는 특정 동작들은 병렬로 처리될 수 있다. 더 나아가, 동작들은 하나의 처리 유닛에 의해, 또는 분산된 처리 유닛들에 의해 수행될 수도 있다.
도 8은 구현될 수 있는 디바이스들(도 1의 2, 6, 12, 18, 및 26)의 전체 또는 일부에서의 컴퓨팅 시스템 구조(300)의 일 실시예를 보여준다. 구조(300)는 하나 또는 그 이상의 프로세서들(302)(예, 마이크로프로세서), 메모리(304)(예, 휘발성 메모리 디바이스), 및 스토리지(306)(예, 자기 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브와 같은 비휘발성 스토리지)를 포함할 수 있다. 스토리지(306)는 내부 스토리지 디바이스 또는 어태치되거나 네트워크 접근가능 스토리지를 포함할 수 있다. 스토리지(306)에서의 프로그램들은 메모리(304) 내에 로드되어 당해 기술분야에서 알려진 방법으로 프로세서(들)(302)에 의해 실행된다. 구조(300)는 네트워크를 통해 통신을 가능하게 하기 위한 하나 또는 그 이상의 어댑터들(308)을 더 포함한다. 입력 디바이스(310)는 프로세서(302)로 사용자 입력을 제공하기 위해 사용될 수 있으며, 키보드, 마우스, 펜 스타일러스(pen-stylus), 마이크로폰, 터치 센서티브 디스플레이 스크린(touch sensitive display screen), 또는 당해 기술 분야에서 알려진 어떤 다른 활성화 또는 입력 메커니즘을 포함할 수 있다. 출력 디바이스(312)는 프로세서(302), 또는 디스플레이 모니터, 프린터, 스토리지 등과 같은 다른 컴포넌트로부터 전송된 정보를 렌더링(rendering)할 수 있다.
본 발명의 다양한 실시예들에 관한 앞서의 설명은 예시 및 설명의 목적으로 제공된다. 실시예들은 본 발명을 하나도 빠짐없이 다 예시하려는 의도는 아니며, 개시된 정확한 형태로 본 발명을 한정하려는 의도도 아니다. 상기 가르침에 비추어서 많은 개조들 및 변형들이 가능하다. 본 발명의 범위는 이러한 상세한 설명에 의해 한정되는 것이 아니라 여기에 첨부되는 청구항들에 의해 한정되어야 할 것이다. 위의 설명, 예들 및 데이터는 본 발명의 구성의 사용 및 제조의 완전한 설명을 제공한다. 본 발명의 많은 실시예들은 본 발명의 사상 및 범위로부터 벗어나지 않고서 만들어질 수 있으며, 발명은 이후에 첨부되는 청구항들로 한정된다.

Claims (40)

  1. 적어도 하나의 주 스토리지, 적어도 하나의 주 디바이스 - 이는 상기 적어도 하나의 주 스토리지로의 입력/출력(I/O) 접근을 관리함 -, 및 적어도 하나의 대응하는 부 스토리지 - 상기 적어도 하나의 주 스토리지로의 기록들은 여기에 카피됨 - 로 구성된 제1 그룹, 및 적어도 하나의 주 스토리지, 적어도 하나의 주 디바이스 - 이는 상기 적어도 하나의 주 스토리지에 대한 I/O 접근을 관리함 -, 및 적어도 하나의 대응하는 부 스토리지 - 상기 적어도 하나의 주 스토리지로의 기록들은 여기에 카피됨 - 로 구성된 제2 그룹, 상에 정보를 보존(maintain)하는 단계;
    상기 주 디바이스에서 부 디바이스로 기록들을 카피하는데 있어서의 오류에 관하여, 상기 제1 또는 제2 그룹에서의 주 디바이스들 중 하나로부터 오류 통지를 수신하는 단계;
    제1 네트워크 프로토콜을 사용하여, 제1 네트워크를 통해, 상기 제1 그룹에서의 적어도 하나의 주 디바이스에 프리즈 명령(freeze command)을 발(issue)하여, 상기 대응하는 적어도 하나의 부 디바이스에 기록들을 카피하는 것을 중단하는 단계; 및
    제2 네트워크 프로토콜을 사용하여, 제2 네트워크를 통해, 상기 제2 그룹에서의 적어도 하나의 주 디바이스에 프리즈 명령을 발하여, 상기 대응하는 적어도 하나의 부 디바이스에 기록들을 카피하는 것을 중단하는 단계를 포함하는,
    방법.
  2. 청구항 1에 있어서,
    상기 제1 및 제2 그룹들에서의 주 스토리지들로의 의존적인 기록들(dependent writes)이, 상기 제1 및 제2 그룹에서의 주 스토리지들 중 어떤 것에 상기 의존적인 기록들이 기록된 순서로 상기 대응하는 부 스토리지들에 카피되도록, 상기 제1 및 제2 그룹에서의 주 스토리지들을 적어도 하나의 컨시스턴시 그룹(consistency group)으로 보존하는 단계를 더 포함하는,
    방법.
  3. 청구항 2에 있어서,
    상기 제1 및 제2 그룹에서의 주 스토리지들로의 기록들이, 상기 대응하는 부 스토리지에서 상기 기록들이 완료되었다는 확인신호가 수신될 때까지 완료되지 않도록, 데이터는 상기 제1 및 제2 그룹에서의 주 스토리지들에 그리고 상기 대응하는 부 스토리지들에 동시적으로 기록되는,
    방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 컴퓨터 판독가능 매체, 프로세서 및 제어 프로그램들을 포함하는 시스템에 있어서,
    상기 컴퓨터 판독가능 매체는 청구항 1에 기재된 제1 그룹 및 제2 그룹에 관한 정보를 저장하고, 상기 제어 프로그램들은 상기 프로세서에 의해 실행되되, 상기 프로그램은 청구항 1 내지 3 중 어느 한 항에 기재된 방법의 각 단계를 수행하도록 할 수 있는,
    시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 코드를 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록매체로서, 상기 코드는 컴퓨터에 의해 실행될 때,
    청구항 1 내지 3 중 어느 한 항에 기재된 방법의 각 단계를 수행할 수 있는,
    컴퓨터 판독가능 기록매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 컴퓨터 코드 수단을 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 컴퓨터 상에서 실행될 때,
    청구항 1 내지 3 중 어느 한 항에 기재된 방법의 각 단계를 수행할 수 있는,
    컴퓨터 판독가능 기록매체.
  20. 제1 네트워크 프로토콜을 사용하여, 제1 그룹의 적어도 하나의 주 디바이스 및 적어도 하나의 대응하는 주 스토리지 - 이는 상기 적어도 하나의 주 디바이스에 의해 관리(manage)됨 - 에서의 주 디바이스로부터 제어 시스템으로, 오류 통지(failure notification)를, 상기 주 디바이스가 상기 주 스토리지로의 기록이 대응하는 부 스토리지에 카피될 수 없다는 것을 결정하는 것에 응답하여, 전달하는 단계;
    제2 네트워크 프로토콜을 사용하여, 제2 그룹의 적어도 하나의 주 디바이스 및 적어도 하나의 대응하는 주 스토리지 - 이는 상기 적어도 하나의 주 디바이스에 의해 관리됨 - 에서의 주 디바이스로부터 상기 제어 시스템으로, 오류 통지를, 상기 주 디바이스가 상기 대응하는 주 스토리지로의 기록이 대응하는 부 스토리지로 카피될 수 없다는 것을 결정하는 것에 응답하여, 전달하는 단계;
    상기 제1 그룹에서의 적어도 하나의 주 디바이스에서 상기 제1 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 프리즈 명령(freeze command)을 수신하는 단계;
    상기 제2 그룹에서의 적어도 하나의 주 디바이스에서 상기 제2 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 프리즈 명령을 수신하는 단계; 및
    상기 프리즈 명령들을 수신하는 것에 응답하여, 상기 제1 및 제2 그룹들에서의 주 스토리지들에서 상기 대응하는 부 스토리지들로 기록들을 카피하는 것을 중단하는 단계를 포함하는,
    방법.
  21. 청구항 20에 있어서,
    상기 제1 및 제2 그룹에서의 주 스토리지들 중 어떤 것으로의 의존적인 기록들의 순서가 상기 대응하는 부 스토리지들로의 상기 의존적인 기록들의 카피에 보존되도록, 상기 제1 및 제2 그룹에서의 주 스토리지들로의 기록들을 카피하는 단계를 더 포함하는,
    방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 제어 시스템, 제1 네트워크, 제2 네트워크, 및 부 스토리지들로 동작가능한 시스템에 있어서,
    제1 그룹의 적어도 하나의 주 디바이스 및 적어도 하나의 대응하는 주 스토리지 - 상기 제1 그룹에서의 적어도 하나의 대응하는 주 스토리지로의 기록들은 적어도 하나의 대응하는 부 스토리지에 카피됨 -;
    제2 그룹의 적어도 하나의 주 디바이스 및 적어도 하나의 대응하는 주 스토리지 - 상기 제2 그룹에서의 적어도 하나의 대응하는 주 스토리지로의 기록들은 적어도 하나의 대응하는 부 스토리지에 카피됨 -;
    상기 제1 그룹에서의 적어도 하나의 주 디바이스에 의해 실행되는 제1 스토리지 매니저 - 여기서 상기 제1 스토리지 매니저는 상기 제1 그룹에서의 적어도 하나의 주 디바이스로 하여금, 상기 대응하는 주 스토리지로의 기록이 상기 대응하는 부 스토리지에 카피될 수 없다고 상기 제1 그룹에서의 주 디바이스가 결정하는 것에 응답하여 상기 제1 네트워크 프로토콜을 사용하여 상기 제1 네트워크를 통해 상기 제어 시스템으로 고장 통지를 전달하는 것, 상기 제1 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 상기 제1 그룹에서의 적어도 하나의 주 디바이스에서 프리즈 명령을 수신하는 것, 상기 제어 시스템으로부터 상기 프리즈 명령을 수신하는 것에 응답하여 상기 제1 그룹에서의 적어도 하나의 대응하는 주 스토리지로부터 상기 적어도 하나의 대응하는 부 스토리지에 기록들의 카피를 중단하는 것을 포함하는, 동작들을 수행하도록 함 -; 및
    상기 제2 그룹에서의 적어도 하나의 주 디바이스에 의해 실행되는 제2 스토리지 매니저 - 여기서 상기 제2 스토리지 매니저는 상기 제2 그룹에서의 적어도 하나의 주 디바이스로 하여금, 상기 대응하는 주 스토리지로의 기록이 상기 대응하는 부 스토리지에 카피될 수 없다고 상기 제2 그룹에서의 주 디바이스가 결정하는 것에 응답하여 상기 제2 네트워크 프로토콜을 사용하여 상기 제2 네트워크를 통해 상기 제어 시스템으로 고장 통지를 전달하는 것, 상기 제2 네트워크 프로토콜을 사용하여 상기 제어 시스템으로부터 상기 제1 그룹에서의 적어도 하나의 주 디바이스에서 프리즈 명령을 수신하는 것, 상기 제어 시스템으로부터 상기 프리즈 명령을 수신하는 것에 응답하여 상기 제2 그룹에서의 적어도 하나의 대응하는 주 스토리지로부터 상기 적어도 하나의 대응하는 부 스토리지에 기록들의 카피를 중단하는 것을 포함하는, 동작들을 수행하도록 함 - 를 포함하는,
    시스템.
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 제1 스토리지 매니저 및 제2 스토리지 매니저를 포함하는 컴퓨터 프로그램 기록매체에 있어서, 상기 제1 스토리지 매니저는 적어도 하나의 대응하는 주 스토리지를 더 포함하는 제1 그룹에서의 적어도 하나의 주 디바이스에 의해 실행되며, 상기 제1 그룹에서의 적어도 하나의 대응하는 주 스토리지로의 기록들은 대응하는 부 스토리지에 카피되고, 상기 제2 스토리지 매니저는 적어도 하나의 대응하는 주 스토리지를 더 포함하는 제2 그룹에서의 적어도 하나의 주 디바이스에 의해 실행되며, 상기 제2 그룹에서의 적어도 하나의 대응하는 주 스토리지로의 기록들은 대응하는 부 스토리지에 카피되고, 상기 제1 및 제2 스토리지 매니저는 제어 시스템과 통신하고,
    상기 주 스토리지로의 기록이 대응하는 부 스토리지에 카피될 수 없다고 결정하는 것에 응답하여, 제1 네트워크 프로토콜을 사용하여, 상기 제1 스토리지 매니저에 의해, 오류 통지를 상기 제어 시스템으로 전달하는 것;
    상기 대응하는 주 스토리지로의 기록이 대응하는 부 스토리지에 카피될 수 없다고 결정하는 것에 응답하여, 제2 네트워크 프로토콜을 사용하여, 상기 제2 스토리지 매니저에 의해, 오류 통지를 상기 제어 시스템으로 전달하는 것;
    상기 제1 네트워크 프로토콜을 사용하여 상기 제1 스토리지 매니저에 의해 상기 제어 시스템으로부터 상기 제1 그룹에서의 적어도 하나의 주 디바이스에서 프리즈 명령을 수신하는 것;
    상기 제2 네트워크 프로토콜을 사용하여 상기 제2 스토리지 매니저에 의해 상기 제어 시스템으로부터 상기 제2 그룹에서의 적어도 하나의 주 디바이스에서 프리즈 명령을 수신하는 것; 및
    상기 프리즈 명령들을 수신하는 것에 응답하여 상기 제1 및 제2 스토리지 매니저에 의해 상기 제1 및 제2 그룹들에서의 주 스토리지들로부터 상기 대응하는 부 스토리지들에 기록들을 카피하는 것을 중단하는 것을 포함하는 동작들을 하도록 실행되는,
    컴퓨터 프로그램 기록매체.
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020107001857A 2007-07-19 2008-07-16 다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리 KR101221285B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/780,454 US7822892B2 (en) 2007-07-19 2007-07-19 Managing the copying of writes from primary storages to secondary storages across different networks
US11/780,454 2007-07-19
PCT/EP2008/059305 WO2009010532A2 (en) 2007-07-19 2008-07-16 Managing the copying of writes from primary storages to secondary storages across different networks

Publications (2)

Publication Number Publication Date
KR20100042631A KR20100042631A (ko) 2010-04-26
KR101221285B1 true KR101221285B1 (ko) 2013-01-10

Family

ID=40260133

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107001857A KR101221285B1 (ko) 2007-07-19 2008-07-16 다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리

Country Status (8)

Country Link
US (1) US7822892B2 (ko)
EP (1) EP2188720B1 (ko)
JP (1) JP5147941B2 (ko)
KR (1) KR101221285B1 (ko)
CN (1) CN101755257B (ko)
AT (1) ATE508410T1 (ko)
DE (1) DE602008006743D1 (ko)
WO (1) WO2009010532A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
US7725605B2 (en) * 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US8380674B1 (en) * 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US8331221B2 (en) * 2008-04-30 2012-12-11 Centurylink Intellectual Property Llc Automatic outage alert system
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
CA2826047C (en) 2011-01-28 2016-08-30 The Dun And Bradstreet Corporation Inventory data access layer
JP5699852B2 (ja) * 2011-08-12 2015-04-15 富士通株式会社 情報処理装置、ストレージ制御方法およびプログラム
US20140040349A1 (en) * 2011-09-14 2014-02-06 Hitachi, Ltd. Server computer, server computer system, and server computer control method
US8898515B1 (en) * 2012-06-28 2014-11-25 Emc International Company Synchronous replication using multiple data protection appliances across multiple storage arrays
US9678673B2 (en) 2013-03-28 2017-06-13 Hewlett Packard Enterprise Development Lp Coordinating replication of data stored in a non-volatile memory-based system
US9904607B2 (en) 2015-11-13 2018-02-27 International Business Machines Corporation Logical to physical table restoration from stored journal entries
US10572357B2 (en) * 2017-03-29 2020-02-25 International Business Machines Corporation Switching over from using a first primary storage to using a second primary storage when the first primary storage is in a mirror relationship
US10565068B1 (en) * 2017-04-19 2020-02-18 EMC IP Holding Company LLC Primary array data dedup/compression using block backup statistics
CN109657819A (zh) * 2018-12-26 2019-04-19 国网黑龙江省电力有限公司 基于智能评判的二次设备智能远程巡检方法及装置
CN113961150B (zh) * 2021-10-29 2024-04-02 苏州浪潮智能科技有限公司 一种分布式持久性内存文件系统保持数据一致性的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168713A1 (en) 2005-12-13 2007-07-19 Kern Robert F Managing failures in mirrored systems

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH05341918A (ja) * 1992-05-12 1993-12-24 Internatl Business Mach Corp <Ibm> 二重化デイスク記憶装置システムを構成するための接続装置
US5712970A (en) * 1995-09-28 1998-01-27 Emc Corporation Method and apparatus for reliably storing data to be written to a peripheral device subsystem using plural controllers
US6199074B1 (en) 1997-10-09 2001-03-06 International Business Machines Corporation Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption
US6976080B1 (en) 1998-03-27 2005-12-13 Hewlett-Packard Development Company, L.P. Multiple-protocol communication subsystem controller
US6308284B1 (en) 1998-08-28 2001-10-23 Emc Corporation Method and apparatus for maintaining data coherency
US6763436B2 (en) 2002-01-29 2004-07-13 Lucent Technologies Inc. Redundant data storage and data recovery system
US7103884B2 (en) 2002-03-27 2006-09-05 Lucent Technologies Inc. Method for maintaining consistency and performing recovery in a replicated data storage system
US7590667B2 (en) 2003-01-30 2009-09-15 Hitachi, Ltd. File replication method for distributed file systems
US7178055B2 (en) * 2003-06-06 2007-02-13 Hewlett-Packard Development Company, L.P. Method and system for ensuring data consistency after a failover event in a redundant data storage system
US7043665B2 (en) * 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7376859B2 (en) * 2003-10-20 2008-05-20 International Business Machines Corporation Method, system, and article of manufacture for data replication
JP4629342B2 (ja) * 2004-01-09 2011-02-09 株式会社日立製作所 ストレージ装置およびその制御方法
JP4382602B2 (ja) * 2004-04-23 2009-12-16 株式会社日立製作所 リモートコピーシステム
US8055745B2 (en) 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
GB0416074D0 (en) 2004-07-17 2004-08-18 Ibm Controlling data consistency guarantees in storage apparatus
JP4575059B2 (ja) 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置
JP4401895B2 (ja) * 2004-08-09 2010-01-20 株式会社日立製作所 計算機システム、計算機及びそのプログラム。
US7370261B2 (en) * 2005-05-09 2008-05-06 International Business Machines Corporation Convolution-encoded raid with trellis-decode-rebuild
US7702851B2 (en) * 2005-09-20 2010-04-20 Hitachi, Ltd. Logical volume transfer method and storage network system
US7366808B2 (en) * 2005-11-23 2008-04-29 Hitachi, Ltd. System, method and apparatus for multiple-protocol-accessible OSD storage subsystem
US7552295B2 (en) 2006-01-03 2009-06-23 International Business Machines Corporation Maintaining consistency when mirroring data using different copy technologies
US7577867B2 (en) 2006-02-17 2009-08-18 Emc Corporation Cross tagging to data for consistent recovery
US7603581B2 (en) * 2006-03-17 2009-10-13 International Business Machines Corporation Remote copying of updates to primary and secondary storage locations subject to a copy relationship
US7877628B2 (en) * 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US7904682B2 (en) * 2007-07-19 2011-03-08 International Business Machines Corporation Copying writes from primary storages to secondary storages across different networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168713A1 (en) 2005-12-13 2007-07-19 Kern Robert F Managing failures in mirrored systems

Also Published As

Publication number Publication date
US20090024676A1 (en) 2009-01-22
ATE508410T1 (de) 2011-05-15
US7822892B2 (en) 2010-10-26
CN101755257A (zh) 2010-06-23
DE602008006743D1 (de) 2011-06-16
CN101755257B (zh) 2013-02-27
WO2009010532A2 (en) 2009-01-22
JP5147941B2 (ja) 2013-02-20
WO2009010532A3 (en) 2009-04-02
JP2010533911A (ja) 2010-10-28
EP2188720B1 (en) 2011-05-04
EP2188720A2 (en) 2010-05-26
KR20100042631A (ko) 2010-04-26

Similar Documents

Publication Publication Date Title
KR101221285B1 (ko) 다른 네트워크들에 걸쳐 주 스토리지들에서 부 스토리지들로의 기록들의 카피 관리
US8055865B2 (en) Managing write requests to data sets in a primary volume subject to being copied to a secondary volume
JP5396166B2 (ja) 異種レプリケーションエンジンを用いた整合性グループの管理
US7734883B2 (en) Method, system and program for forming a consistency group
US7673173B2 (en) System and program for transmitting input/output requests from a first controller to a second controller
KR101054962B1 (ko) 페일오버 및 페일백 환경에서 버추얼 카피의 사용
US7627775B2 (en) Managing failures in mirrored systems
US8250323B2 (en) Determining whether to use a repository to store data updated during a resynchronization
US8341366B2 (en) Splitting writes between a storage controller and replication engine
US20050071710A1 (en) Method, system, and program for mirroring data among storage sites
US7904682B2 (en) Copying writes from primary storages to secondary storages across different networks
US8024534B2 (en) Replication engine communicating with a splitter to split writes between a storage controller and replication engine

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee