KR20070059095A - 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치 - Google Patents

통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치 Download PDF

Info

Publication number
KR20070059095A
KR20070059095A KR1020077005734A KR20077005734A KR20070059095A KR 20070059095 A KR20070059095 A KR 20070059095A KR 1020077005734 A KR1020077005734 A KR 1020077005734A KR 20077005734 A KR20077005734 A KR 20077005734A KR 20070059095 A KR20070059095 A KR 20070059095A
Authority
KR
South Korea
Prior art keywords
data
rdc
recovery
data center
data blocks
Prior art date
Application number
KR1020077005734A
Other languages
English (en)
Other versions
KR101200453B1 (ko
Inventor
기글리오 안드레아 디
라파엘레 지라르디
에우제니오 마리아 마피오네
Original Assignee
텔레콤 이탈리아 소시에떼 퍼 아찌오니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레콤 이탈리아 소시에떼 퍼 아찌오니 filed Critical 텔레콤 이탈리아 소시에떼 퍼 아찌오니
Publication of KR20070059095A publication Critical patent/KR20070059095A/ko
Application granted granted Critical
Publication of KR101200453B1 publication Critical patent/KR101200453B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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
    • G06F11/2076Synchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)

Abstract

지리적 통신 네트워크를 통하여 복구 데이터 센터(RDC)에 위치한 복구 저장 유닛(12) 내에 저장되고, 주 데이터 센터(PDC)와 관련된 적어도 하나의 프로세싱 시스템(10)에 의해 발생한 입력 데이터 블록들로 업데이트 되어야 하는 데이터 세트를 업데이트하기 위한 시스템으로서, 상기 복구 데이터 센터(RDC)는 상기 지리적 통신 네트워크를 통하여 상기 데이터 세트의 업데이트를 위하여 상기 프로세싱 시스템에 의해 발생한 입력 데이터 블록을 대응하는 저장 위치에 임시적으로 기록하기 위한 임시 저장 영역(27)이 제공된 장치(13)와 관련되고, 상기 프로세싱 시스템(10)의 일반적인 동작을 방해하거나 느리게 하지 않도록, 상기 데이터 블록들이 상기 임시 저장 영역(27)에 기록되자마자 상기 데이터 블록들의 상기 임시 저장 영역(27)에의 성공적 기록을 승인하는 제1 동기 승인 신호(3)가 상기 주 데이터 센터(PDC)로 제공되고, 상기 데이터 블록들에 의해 점유된 상기 임시 저장 영역(27)의 위치들은 상기 데이터 세트의 성공적인 업데이트를 승인하는 제2 승인 신호(6)를 수신할 때, 새로운 입력 데이터 블록들에 대하여 사용가능하게 되는 것을 특징으로 한다.
데이터 복구, 동기식 미러링 기술, 데이터 업데이트, 승인 신호

Description

통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법 및 장치{A SYSTEM, A METHOD AND A DEVICE FOR UPDATING A DATA SET THROUGH A COMMUNICATION NETWORK}
본 발명은 통신 네트워크를 통하여 데이터 세트를 업데이트하기 위한 시스템, 방법 및 장치에 관한 것이다.
구체적으로, 본 발명은 지리적 통신 네트워크를 통하여 동기식 모드로 주 데이터 센터(Primary Data Centre)에 위치한 제1 저장 유닛으로부터의 데이터 세트를 주 데이터 센터로부터 지리적으로 멀리 떨어진 복구 데이터 센터(Recovery Data Centre)에 위치한 제2 저장 유닛으로 업데이트하기 위한 시스템, 방법 및 장치에 관한 것으로, 여기서 복구 데이터 센터에 저장된 데이터는 주 데이터 센터와 관련된 재해 시나리오의 경우에 사용될 수 있다.
좀 더 구체적으로 본 발명은 데이터 세트를 보호하기 위한 동기식 미러링 기술에 관한 것이다.
고도의 이용가능한 계산 구조에서, 재해가 발생한 경우 손해 및 손실로부터 중요한 데이터를 보호하는 널리 알려진 방법은 미러링 기술로 나타난다. 상기 기술은 서로 다른 두 개의 사이트에 설치된 적어도 두 개의 다른 저장 유닛들에 저장된 중요한 정보의 적어도 두 개의 사본을 유지하는 것을 제공한다. 일반적으로 "작업 사본"으로 나타나는 제1 사본은 주 데이터 센터(Primary Data Centre; PDC)에 위치한 메인 컴퓨팅 시스템(컴퓨터)에서 동작하는 소프트웨어 어플리케이션에 의해 직접 사용되는 반면, 제2 사본은 원격 복구 데이터 센터(Recovery Data Centre; RDC)에 위치하고 메인 컴퓨팅 시스템 고장의 경우 재해 복구 프로세서의 영역 내에서 사용된다.
데이터 세트 복제를 수행하기 위한 다음과 같은 적어도 두 개의 방법들이 본 기술분야에서 알려져 있다:
제1 기술 또는 방법은 동기식 미러링(synchronous mirroring)으로 알려져 있으며, RDC에서 원격 사본의 업데이트가 PDC에서 로컬 사본에서 데이터 아이템의 변경을 수반한다.
제2 기술은 비동기식 미러링(asynchronous mirroring)으로 알려져 있으며, 원격 사본의 업데이트가 일괄적인 방식에 따라 일어난다.
본 발명의 기술과 관련된 동기식 미러링 기술은 일반적으로 다음과 같은 단계를 제공한다:
a) 로컬 저장 유닛 상에 데이터 아이템을 기록하는 단계;
b) 원격 저장 유닛 상에 데이터 아이템을 기록하는 단계;
c) 새로운 데이터 아이템을 다시 기록하는 것에 의하여 a) 및 b) 단계를 반복하기 전에 원격 디스크로부터 승인 신호(ACK)를 기다리는 단계.
동기식 미러링은 적어도 두 개의 저장 유닛들이 매 순간 완벽하게 동기화되 어 있기 때문에 고장, 데이터 손실 및 재해의 경우에 메인 컴퓨팅 시스템의 상태를 복구하는 것을 좀 더 보장한다.
재해의 경우, 동기식 미러링을 사용하는 것에 의하여 소위 목표 복구 시간(Recovery Time Objective) 또는 RTO 즉, 재앙 전 PDC에서 동작하던 어플리케이션과 동일한 소프트웨어 어플리케이션의 일반적인 작업을 복구하는데 필요한 시간 간격을 낮게 유지할 수 있다.
실제로, 동기식 미러링 기술을 적용하는 것에 의하여, 메인 데이터 세트 사이와 소프트웨어 어플리케이션을 다시 시작하는데 유용한 그것의 사본 사이의 편차를 이상적으로는 한 번의 처리로 감소시키는 것이 보장된다.
본 기술분야에서, 메인 데이터 세트와 그것의 사본 사이에서 시간으로 측정된 편차는 일반적으로 목표 복구 시점(Recovery Point Objective) 또는 RPO로 불린다.
동기식 미러링과 관련된 단계들의 시퀀스는 RDC에서 원격 저장 유닛에 의해 데이터 아이템의 기록 승인이 PDC에서 수신될 때까지 PDC에서 소프트웨어 어플리케이션이 자신의 소프트웨어 어플리케이션에 의한 데이터 아이템의 생성으로부터 소정 시간 간격 동안 잠겨 있을 것을 요구한다는 점이 주지되어야 한다. 이러한 시간 간격은 다음의 합으로 예상될 수 있다:
- 데이터 아이템의 직렬화 시간(serialization time);
- 왕복 시간(round trip time), 즉 메인 컴퓨팅 시스템과 원격 사본 사이의 연결에 따라 존재하는 장치에서 전파 지연, 프로세싱 및 대기 시간의 합;
- RDC으로의 디스크 상의 데이터 아이템의 기록 시간;
- 승인 신호의 생성 및 직렬화 시간, 상기 시간은 데이터 아이템의 직렬화 시간 및 왕복 시간에 비하여 무시할 수 있다.
일반적으로, 최소 왕복 시간은 사용되는 매체 내의 물리적 전파(전파 지연)와 관련된 시간 간격보다 작을 수 없으며, 상기 시간 간격은 주 데이터 센서(PDC)의 컴퓨터와 복구 데이터 센터(RDC)의 원격 저장 유닛 사이의 물리적 연결 거리에 직접 비례한다.
동기식 미러링이 동기식 복사(미러링)와 관련된 데이터를 생성하는 소프트웨어 어플리케이션의 성능을 느리게 한다는 것이 저장 산업계에서 잘 알려진 사실이며 저장 소프트웨어 및 하드웨어 판매업체에 의해 간행물로 전체적으로 문서화되어 있다. PDC 및 RDC 사이의 거리가 늘어남에 따라, 어플리케이션 성능도 비례하여 감소한다. 예를 들어, 영향을 주는 제한을 전파 지연만으로 가정하면, PDC 및 RDC 사이에서 10km에서 100km까지의 거리 증가는 기록 응답 시간(왕복 시간)을 10배 증가시키는 것으로 나타났고, 결과적으로, 어플리케이션의 처리량도 기록 동작의 비율에 따라 90%까지 감소한다.
어쨌든, 출원인은 사업의 종류 및 관련 소프트웨어 어플리케이션(기록 동작의 크기 및 주파수), 및 PDC 및 RDC 사이의 통신 네트워크의 물리적 특성(대역 폭, 기술 및 토폴로지(topology))에 전적으로 의존하기 때문에, 이러한 성능이 PDC에서 컴퓨팅 시스템의 일반적인 기능을 유지하기 위하여 수용가능한 거리 제한이 간단하고 유일한 방법으로 정의될 수 없다고 판단했다.
몇몇 문헌 출처들은 동기식 미러링에 관한 몇몇 거리 제한들을 나타낸다:
- Nortel Notworks 보고서 "저장 거리 확장: 네트워크화된 저장 어플리케이션들의 범위 및 유용성 증가"는 고대역폭 링크들을 사용할 때의 제한 거리로서 400km를 나타낸다.
- Hitachi 보고서 "사업 연속 솔루션 청사진 - 동기식 데이터 복제"는 50km를 가리키고, 거리 제한은 특히 어플리케이션 반응 속도에 의존한다고 기술한다.
- 동기식 미러링에 대한 독점 솔루션들은 데이터 복제를 관리하는 구체적인 소프트웨어 때문에 서로 다른 거리 제한을 나타낸다. 좀 더 구체적으로, IBM PPRC(보고서 "IBM and Cisco: Metro Optical Solution for Business Continuity and Storage Networking", Aug. 2003)는 거리 제한으로 40-100km를 나타낸다. EMC SPDF(보고서 "EMC and Cisco Metro Optical Storage Networking Solution", 27 June 2001)는 최대 거리 제한으로 80km를 나타낸다.
출원인은 고 대역폭의 존재로 직렬화 시간은 무시할 수 있고, 전용 회로 연결들의 존재로 왕복 시간이 최소로 감소될 수 있으며, 동기식 미러링 기술은 일반적으로 PDC 및 RDC 사이의 임의의 거리를 가진 연결에 적용될 수 없음을 알았다.
그러한 제한은 거대한 재해의 경우 높은 보호 레벨을 허용하기 위하여 큰 거리 예를 들면 작업 사본으로부터 수백 킬로미터에 위치한 사이트에 데이터의 복사본을 저장해야 할 필요에 따라 고 유용성 컴퓨팅 구조의 전형적인 요구와는 대조적이다.
동기식 미러링 기술에 내재한 상술한 문제를 해결하기 위하여, 다중 전 파(multi-hop) 디스크 미러링으로 알려진 기술이 제안되어 왔다. 그러한 기술은 예를 들면 2004년 6월 14일 웹사이트 "http://publib-b.boulder.ibm.com/Redbooks.nsf"에서 인터넷으로 사용가능해진 2003년 10월 15일 IBM Redbook-Hints & Tips의 "Asynchronous Cascading Implementations" 및 2004년 6월 14일 웹사이트 "http://italy.emc.com/local/it/IT/download/pdf/giugno2002/burns.pdf"에서 인터넷으로 사용가능해진 2002년 6월 10일 EMC의 "Remote Mirroring of Business Critical Information"에 개시되어 있다. 다중 전파 미러링 기술은 PDC에서 소프트웨어 어플리케이션에 의해 부과된 제한과 양립가능한 거리에 위치한 중간 사이트에서 동기식 미러링을 수행하는 것과 RDC 사이트를 향하여 비동기식으로 데이터를 복제하는 것을 제공한다.
출원인은 상기 다중 전파 미러링이 점 대 점(end-to-end) 연결(chain)로 복잡한 소자들을 도입하는 단점을 갖는다고 판단했다.
공지된 기술에 따른 다중 전파 미러링은 중간 사이트에 저장 유닛들을 도입할 것을 요구하며, 이것은 적어도 PDC의 저장 유닛과 동일한 능력을 가져야만 한다.
그러한 솔루션은 구조의 전제적인 신뢰성을 감소시킨다.
게다가, 중간 사이트로부터 복구 사이트(RDC)로의 업데이트는 전형적으로 비교적 낮은 주파수에서 일괄적인 방식으로 일어나기 때문에, 메인 데이터 세트와 복구된 데이터 세트 사이에서 관련 차이들이 발생할 수 있다.
따라서, 주 사이트(PDC)와 중간 사이트 모두를 포함하는 동작 반경을 가진 재해의 경우, 매우 작은 목표 복구 시점 또는 RPO를 달성하는 것이 불가능할 수 있다.
2004년 6월 14일 웹사이트 "http://www.falconstor.com/Whitepaters/MidrangeSSFSolutionWhitepater.pdf"에서 인터넷으로 사용가능해진 2002년 12월 10일 Falconstore의 문서 "Heterogeneous Midrange Storage with Local Mirroring and Remote IP 복제" 및 PCT 특허출원번호 WO 02/069159호는 PDC에 위치하고, 소프트웨어 어플리케이션이 동작하는 메인 컴퓨팅 장치와 로컬 저장 유닛 사이에 삽입된 장치가 제공된 미러링 기술을 개시한다. 원격 저장 유닛 상의 사본은 PDC에 위치한 장치를 통하여 항상 비동기식으로 일어난다.
요약하면, 출원인은 PDC 및PDC 사이의 거리로부터 독립적이고 매우 낮은 RPO를 갖는 동기식 미러링을 수행하기 위한 어떠한 솔루션도 종래 기술에 공지되어 있지 않다고 판단했다.
따라서, 본 발명의 목적은 거리 독립 동기식 미러링 기술의 구현을 가능하게 하는 통신 네트워크를 통한 데이터 세트의 업데이트 시스템, 방법 및 장치를 제공하기 위한 것이다.
본 발명의 다른 목적은 고객들이 집중 방식의 복구 데이터 센터의 동일한 도시 영역에 위치하지 않은 경우에도 예를 들면, 집중 방식의 복구 데이터 센터를 갖는 서비스 제공자가 개별적인 데이터 센터를 갖는 많은 수의 고객들 또는 클라이언트들에게 재해 복구 서비스를 제공하는 것을 허용하는 반면, 상기 고객들에게 동기식 미러링 기술과 견줄만한 RPO 및 RTO를 보장할 수 있도록 하기 위한 것이다.
본 발명의 다른 목적은 본 발명에 따른 방법을 구현하기 위하여 수행될 동작들을 관리할 수 있는 컴퓨터 프로그램 제품 또는 컴퓨터 프로그램 제품의 세트를 제공하고자 하는 것이다.
본 발명의 상술한 목적은 여기에 첨부된 청구의 범위에 청구된 바와 같은 시스템, 방법, 장치, 컴퓨터 프로그램 제품 및 네트워크를 통하여 달성된다.
본 발명에 따르면, 예를 들면 지리적으로 PDC로부터 먼 거리에 위치한 복구 데이터 센터(RDC)와 관련된 원격 디스크 또는 메모리 지원으로 주 데이터 센터(PDC)로부터의 데이터 세트의 동기식 업데이트를 수행하기 위한 시스템 및 방법이 제공되며, 여기서 예를 들어 상기 거리는 합리적인 제한 아래 RPO를 보장할 수 있는 거리보다 크다.
본 발명에 따르면, PDC에 의해 발생한 데이터 블록들을 저장하기 위하여 임시 저장 영역을 구비하고 예를 들면 PDC와 RDC 사이의 중간 사이트에 위치한 임시 저장 장치가 제공된다. 임시 저장 장치는 기설정된 저장 능력을 갖도록 구성되고 동기식으로 클라이언트 프로세싱 시스템 또는 PDC에 성공적인 기록 승인 신호 즉, 동기식 미러링 기술의 시간과 견주어 매우 짧은 시간 간격 내에 즉, 대략적으로 1ms 내에 승인 신호를 제공할 수 있는 지능 캐시 소프트웨어 프로그램을 포함한다.
본 발명에 따르면, 복수의 클라이언트 프로세싱 시스템들(클라이언트들) 및/또는 주 데이터 센터들이 임시 저장 장치의 저장 영역을 공유할 수 있다.
본 발명의 다른 특징에 따르면, 임시 저장 장치의 저장 영역에서 클라이언트에 할당된 캐시 크기는 업데이트될 데이터 양의 크기와 독립적으로 결정된다. 구체적으로, 본 발명의 바람직한 실시예에 따르면, 캐시 크기는 다음에 따라 결정된다:
- 클라이언트 프로세싱 시스템과 임시 저장 장치 사이에 사용되는 대역폭;
- 임시 저장 장치와 복구 사이트(RDC) 사이에 사용되는 대역폭;
- PDC에서 클라이언트 소프트웨어 어플리케이션에 의해 생성된 데이터율, 예를 들면, 데이터율은 단위 시간에 생성되거나 변경될 수 있는 데이터의 수로 측정될 수 있다.
요약하면, 본 발명은 공지된 종래 기술에 비하여 다음과 같은 장점을 제공한다:
- 주 데이터 센터(PDC)와 임시 저장 장치 사이의 거리, 즉 저장 장치가 손상되지 않았을 때의 거리보다 작은 관심 범위에서 고장 또는 손상을 위한 단일 전파 동기식 미러링 기술과 동일하게 제공되는 RPO 최적화;
- 중간 사이트에도 영향을 주는 사건에 대하여 0에 매우 가까운 RPO(어플리케이션의 몇몇 상호작용에 제한된 오차); 이 경우, 중간 사이트에 존재하고 원격 디스크로 아직 복사되지 않은 데이터는 손실되나, 본 발명에 개시된 데이터 전송 방법에 따르면, 손실된 데이터는 본질적으로 매우 제한된 양이다;
- 주 데이터 센터와 복구 데이터 센터 사이에 적용되는 동기식 디스크 미러링 기술에 의해 획득할 수 있는 RTO에 비하여 매우 낮은 RTO;
- 단일 전파 동기식 미러링 기술에서와 반대로 일어나는 반면 RPO 및 RTO 관점에서 동일한 신뢰성을 제공하기 때문에, 로컬 디스크와 원격 디스크 사이의 거리에 관한 제한이 없거나 거리로부터의 독립성;
- 본 발명에 의해 제안된 방법은 중간 사이트가 주 데이터 센터의 로컬 디스크의 전체 데이터 세트를 저장할 것을 요구하지 않기 때문에, 중간 사이트에 저장된 제한된 양의 데이터.
본 발명은 이제 본 발명의 바람직하지만 제한적이지 않은 실시예들의 첨부된 도면을 참조하여 이하에서 개시될 것이다.
도 1은 본 발명에 따른 디스크 미러링 시스템의 블록도를 나타낸다.
도 2는 본 발명에 따른 장치의 블록도이다.
도 3은 도 2의 장치의 제1 실시예의 블록도이다.
도 4는 도 2의 장치의 제2 실시예의 블록도이다.
도 5a, 5b 및 5c는 도 2의 장치에 의해 수행되는 디스테이징(destaging), 기록 및 판독 과정의 개별적인 흐름도들이다.
도 6은 도 1의 디스크 미러링 시스템의 가능한 고장 상태를 보여주는 흐름도이다.
도 7은 저장 서비스 제공자가 본 발명에 따른 미러링 서비스를 제공할 수 있는 시나리오를 개략적으로 도시한다.
도 8은 클라이언트 시스템의 가능한 고장 상태를 도시하는 흐름도이다.
도 9 및 10은 본 발명에 따른 미러링 서비스의 특성 파라미터들을 가리키는 네트워크를 도시한다.
도 11은 도매 모델에서 미러링 시스템이 제공되는 네트워크를 나타낸다.
전체적으로 모든 도면에서 동일한 참조 부호는 동일하거나 실질적으로 등가의 기능들을 수행하는 구성요소들을 가리키기 위하여 사용된다.
이제 디스크 미러링 기술을 참조하여 본 발명이 설명될 것이나, 동일한 기술 사상이 미러링 어플리케이션이 수행되지 않는 다른 환경에서, 예를 들면, 로컬 디스크의 고장의 경우나 데이터 세트의 로컬 사본이 제공되지 않는 어플리케이션들에서 성공적으로 구현될 수 있음이 주지되어야 한다.
도 1은 디스크 미러링 시스템을 도시하며, 본 발명에 따라, 디스크 미러링 시스템은 소프트웨어 어플리케이션이 동작 중인 프로세싱 시스템 또는 클라이언트 시스템(10)과 일 측의 주 데이터 센터(PDC)의 상대적인 로컬 디스크 유닛(11) 및 다른 측의 복구 데이터 센터(RDC)의 원격 디스크 유닛(12) 사이에 임시 데이터 저장 장치(13)가 게재되도록 제공된다. 장치(13)는 예를 들면 로컬 디스크(11)와 원격 디스크(12) 사이의 지리적 중간 사이트에 위치하며, 중간 사이트와 RDC 사이의 거리는 바람직하게는 PDC와 중간 사이트 사이의 거리보다 크다.
본 발명에 따르면, 거리라는 용어는 예를 들면, PDC를 중간 사이트에 연결시키기 위하여 그리고 중간 사이트를 RDC에 연결시키기 위하여 사용되는 광섬유 또는 통신 케이블의 길이를 나타낸다.
도 2를 참조하면, 모듈들(20-27)을 구비한 임시 저장 장치(13)의 구조가 상세하게 설명된다.
본 발명의 바람직한 실시예에 따르면, 모듈들(20-27)은 소프트웨어로 구현되나, 당업자에게 자명한 바와 같이, 그러한 모듈들은 집적 회로 또는 프로그램 가능한 로직 회로들로 구성된 하드웨어 모듈들에 의해 구현될 수 있다.
모듈 20 및 26은 주 데이터 센터(PDC) 및 복구 데이터 센터(RDC)를 각각 향하는 프론트-엔드를 구성한다. 모듈 20 및 26은 예를 들면, 네트워크 인터페이스 카드 또는 NIC와 같은 두 개의 동일한 객체, 예를 들어 단일 NIC와 같은 동일한 객체들, 또는 모듈 20은 NIC고 모듈 26은 호스트 버스 어댑터(Host Bus Adapter; HBA)이거나 반대인 다른 객체들일 수 있다. 모듈 20 및 26은 실제로 전송 프로토콜의 단말 장치들, 즉 네트워크를 가로지르는 정보의 변경을 관리하는 장치들이다.
모듈 20의 다음에 배치된 모듈 21은 데이터를 원격으로 미러링하기 위하여 사용되는 프로토콜의 목적 장치를 구성한다. 목적 장치(21)는 주 데이터 센터(PDC)로부터 I/O 명령들을 수신하며 모듈 22와 함께 동작한다. 목적 장치는 이니시에이터(initiator) 장치, 즉 I/O 프로세스를 요구하는 장치에 의해 요청된 동작들을 수행한다.
모듈 21의 다음에 배치된 모듈 22는 I/O 명령들을 인터셉트하여 상기 I/O 명령들을 캐시 시스템 모듈(27) 또는 나머지 모듈들(23-26)을 통하여 RDC로 전달할지 여부를 결정하는 소프트웨어 필터를 구현한다.
모듈 22의 다음에 배치된 모듈 23은 RDC에 존재하는 디스크 볼륨에 보유되는 물리적 저장 영역과 다른 RDC 로컬 저장 영역들에 존재하는 작업을 하는 가상 모듈이다.
모듈 23 다음에 배치된 모듈 24는 관련 어드레스 파라미터들을 구비한 데이터 블록을 수신하고 RDC 내의 저장 디스크의 관리를 위하여 보유된 명령어들 내부에 상기 관련 어드레스 파라미터들을 편입시키는 작업을 한다.
모듈 24 다음에 배치된 모듈 25는 모듈 26과 함께 동작하는 이니시에이터(initiator) 장치이다.
도 3을 참조하여, 데이터 블록들을 원격으로 전송하기 위하여 iSCSI/SCSI(Internet Small Computer System Interface/Small Computer System Interface) 프로토콜을 사용하는 경우, 본 발명에 따른 임시 데이터 저장 장치(13)의 제1 실시예가 설명될 것이다.
모듈 20 및 21은 NIC 같은 전송 프로토콜 단말기 및 iSCSI 목적 장치의 변경된 버전과 같은 데이터 원격 저장을 위한 프로토콜의 목적 장치로 각각 나타날 수 있다. 이 경우 모듈 22는 변경된 유료 또는 무료 버전의 SCSI 목적 장치이다. 상기 변경은 실질적으로 결정된 LUN(Logical Unit Number)을 위하여 SCSI 명령들을 인터셉트하는 소프트웨어 필터를 구축하고 RDC로 상기 명령들을 전달하기 위한 캐시 시스템(27) 또는 장치(13)의 나머지 모듈들(23-26)로 상기 명령들을 어드레싱한다.
이 상호작용하는 모듈들(23-26)의 연결은 리눅스 운영 시스템에 기반하여 구현되는 경우 논리적 볼륨 관리자(Logical Volum Manager; LVM)(23)로 구성된다. 다른 모듈들(24-26) 역시 일반적으로 사용가능한 표준 모듈들이며, 리눅스에서 그들 은 네이티브 SCSI 서브시스템 또는 iSCSI 표준 이니시에이터(initiator) 장치(25) 및 NIC(26)와 함께 동작하는 제어 유닛(24)으로 구성될 수 있다.
리눅스 환경에서 논리적 볼륨 관리자(23)를 사용하는 경우, 변경된 SCSI 목적 장치(22)는 논리적 볼륨 관리자(LVM)(23)와 호환가능한 I/O 블록 인터페이스를 제공할 필요가 있다.
본 발명의 다른 실시예에 따르며, 논리적 볼륨 관리자(23)는 생략될 수 있다.
그러나, 바람직한 실시예에 따르면, 논리적 볼륨 관리자(23)는 예를 들면 지리적으로 분리될 수 있는 복수의 복구 데이터 센터들에 속한 저장 영역들을 어드레싱하는 논리적 분할 영역들을 생성하도록 하기 때문에, 논리적 볼륨 관리자(23)의 의 존재를 제공하는 것이 바람직하다.
당업자가 이해할 수 있는 바와 같이, LVM(23)은 소프트웨어 가상 장치에 의해 대체될 수 있다.
도 3에 제안된 장치(13)에서, SCSI는 저장 관리 프로토콜이고 iSCSI는 섹션 PDC-장치 13 및 섹션 장치 13-RDC 모두에 데이터를 원격으로 저장하기 위한 프로토콜이나, 이는 장치(13)를 위하여 채용될 수 있는 가능한 프로토콜들의 일 예일 뿐이다.
도 4는 장치(13)의 제2 가능 구조를 도시한다. 이 버전에서 SCSI는 여전히 저장 관리 프로토콜이나 광섬유 채널 프로토콜이 데이터를 원격으로 전송하기 위하여 사용된다.
이 실시예에서, 네트워크 인터페이스들은 도 2에서 도시된 실시예와 관련된 NIC 및 iSCSI 목적/이니시에이터 장치의 세트의 기능적 관점을 대체하는 광섬유 채널 호스트 버스 어댑터(HBA)로 나타난다.
그러나, 하이브리드 솔루션(hybrid solution) 또한 가능하며, 상기 솔루션들은 장치(13)로부터 분리된 두 개의 네트워크 섹션들에서 데이터를 원격으로 저장하기 위한 다른 프로토콜들을 제공하거나 SCSI를 저장 장치들의 관리 프로토콜로서 사용하지 않고, RDC들이 하나 이상이고 다른 기술들로 관리되는 경유와 유사하게 많은 통신 기술들을 제공한다. 하이브리드 솔루션들은 또한 도 2의 모듈(24)에 의해 관리되는 프로토콜 타이폴로지(typology)에 영향을 준다.
장치(13)는 예를 들면, 라우터(router), 광학/디지털 교차 연결(ODXC), FC 스위치 등과 같이 전용 어플리케이션으로 또는 네트워크 장치들로의 기능들 또는 모듈들을 세트로 구현될 수 있다.
도 1을 다시 참조하면, 화살표는 수행되는 동작을 가리키며, 이제 디스크 미러링 시스템(20)이 어떻게 동작하는지가 설명된다. 이하에서, "데이터 블록"이라는 용어는 다음의 논리적 결합을 가리킨다:
- RDC에 저장될 정보(데이터);
- 목적 저장 시스템의 메모리 위치의 주소 또는 주소들의 세트와 같은 I/O 동작 속성들;
- 상기 정보와 함께 저장될 추가 데이터 속성들.
프로세싱 시스템(10) 상에서 동작하는 소프트웨어 어플리케이션에 의해 발생 된 I/O 요청(1)에 따라, 주 데이터 센터(PDC) 내에 설치된 미러링 소프트웨어(14)는 로컬 디스크(11) 및 장치(13) 모두로 I/O 요청의 응답(2)을 제공한다.
로컬 디스크(11) 및 임시 저장 장치(13)는 미러링 소프트웨어(14)로 적절한 승인 신호(3)를 전송하는 것에 의하여 I/O 요청(2)에 응답하고, 다음으로 미러링 소프트웨어(14)는 대응 승인 신호(4)를 프로세싱 시스템(10)으로 전송한다. 그런 후 임시 데이터 저장 장치(13)는 복구 데이터 센터의 원격 디스크(12)로 데이터 블록(5)을 전송하고 관련 승인 신호(6)를 관리하기 위한 부하를 갖게 된다.
따라서, 임시 데이터 저장 장치(13)는 다음의 작업을 갖는다:
- 상기 소프트웨어 어플리케이션의 일반적인 방식의 동작을 차단하거나 느리게 하지 않도록, 디스크 미러링 소프트웨어(14)를 통하여 소프트웨어 어플리케이션으로 장치(13) 내에 데이터 아이템의 수신 및 기록을 승인하는 신호(3)를 리턴하는 작업;
- 원격 디스크(12)로 전송될 데이터 블록을 임시적으로 저장하는 작업;
- 로컬 디스크(11)의 전체 데이터 세트가 복구되는 원격 디스크(12)로 데이터 블록(5)을 비동기식으로 전달하는 작업.
주 데이터 센터(PDC) 및 복구 데이터 센터(RDC)는 각각 전통적인 단일 전파 디스크 미러링 기술을 사용할 때 둘 모두가 갖는 동일한 기능을 각각 구비하며, 임시 데이터 저장 장치(13)의 도입은 일반적인 방식의 동작을 바꾸지 않고 따라서, 장치(13)는 소프트웨어 어플리케이션에 대하여 사실상 투명하다.
장치(13)는 주 데이터 센터(PDC) 및 복구 데이터 센터(RDC) 모두가 동일한 관리자 예를 들어 회사에 의해 관리되는 네트워크, 또는 RDC는 저장 서비스 제공자(Storage Service Provider; SSP)에 의해 관리되고 주 데이터 센터(PDC)는 서비스 제공자에 의한 데이터 복제 서비스를 구매하는 고객 회사에 의해 소유되는 서비스 시나리오에 적용될 수 있다.
게다가, 동일한 주 데이터 센터(PDC)와 연결된 복수의 클라이언트들은 동일한 임시 저장 장치(13)를 공유할 수 있다.
임시 데이터 저장 장치(13)(도 2) 및 관련 구조(도 1)가 연결됨에 따라, 메인 모드(또는 구간)는 다음과 같이 식별될 수 있다:
1. 설정 구간(set-up phase): 즉 새로운 클라이언트/어플리케이션을 수행하기 위하여 장치(13)의 일반적 구조의 설정;
2. 일반 동작 구간(normal operation phase): 디스테이징 프로세스 및 I/O 명령들을 필터링하는 것을 포함한다.
3. 고장 이벤트로부터 복구 구간(recovery from failure events phase).
새로운 클라이언트/어플리케이션이 본 발명에 따른 장치들을 사용할 수 있게 하기 위하여 필요한 모든 동작들을 포함하는 설정 구간이 이제 설명될 것이다. 적어도 두 개의 다른 단계들이 제공된다:
a) 임시 데이터 저장 장치(13)를 통하여 PDC 및 RDC에 대하여 투명한 방식으로, RDC 내에 존재하는 물리적 볼륨 디스크의 사용을 가능하게 하는 단계;
b) 동기식 미러링 기술이 PDC와 RDC 사이에서 구현된 경우에도 본 발명의 기능의 사용을 가능하게 하는 단계.
설정 구간의 단계 a)를 고려하면, 당업자에게 자명한 바와 같이, 새로운 클라이언트는 임시 데이터 저장 장치(13)의 적절한 설정 모듈(23)에 의해 접근할 수 있는 논리적 볼륨의 이미지를 인지한다.
논리적 볼륨이란 RDC 내에 존재하는 물리적 분할 영역들의 논리적 이미지를 말하며, 그것은 상기 논리적 볼륨에 접근하기 위하여 클라이언트 어플리케이션에 의해 사용되는 식별자와 관련이 있다. 구체적으로 장치(13) 내부 볼륨의 논리적 이미지는 최종 목적지로부터 부정적 응답을 기다리지 않고 잘못된 주소에 대한 에러 메시지를 전송하는데 유용할 수 있다.
단계 b)를 고려하면, 단계 b)는 클라이언트 어플리케이션이 장치(13)를 통하여 그것의 전제로 존재하는 디스크 볼륨의 동기식 이미지(로컬 사본)로서 원격 물리적 디스크 볼륨을 사용할 수 있도록 실현되며, 바람직한 실시예에서, 그것은 다음과 같은 것을 제공한다:
- 볼륨의 일관된 사본이 원격 사이트로 전송된다(제1 동기화);
- 저장 영역이 장치(12)의 캐시 시스템 모듈(27) 내의 클라이언트를 위하여 보유된다;
- 상기 저장 영역은 상기 클라이언트에 의해 어드레스되는 볼륨의 특성들을 설명하는 설정 데이터(주서 세트, 볼륨 크기, 블록 크기 등)를 참조하며, 상기 설정 데이터는 캐시 시스템 모듈(27)의 내부 데이터베이스(27b)에 저장된다;
- 그것은 모듈(22) 내부에서 클라이언트 미러링 소프트웨어에 의해 발행된 명령들의 필터링 프로세스를 가능하게 하며, 따라서, 원격 데이터 유닛들의 헤드들 을 제거하는 등과 같은 이러한 명령들의 일부는 모듈 체인(23-26)을 통하여 RDC로 전달되는 반면, 데이터를 기록하거나 데이터를 판독하는 것과 같은 일부 다른 명령어들은 인터셉트되어 캐시 시스템 모듈(27)로 전달된다.
- 캐시 제어 소프트웨어(27a)는 새로운 클라이언트가 활성화되어 있고 캐시 시스템 모듈(27) 내의 특정 저장 영역이 그 클라이언트에게 할당되었음을 알려준다.
일반 동작 구간은 설정 구간 후에 들어간다. 이 구간은 적어도 다음과 같은 두 개의 주 프로세스들을 포함한다.
1. 장치(13)의 캐시 내에 저장된 데이터를 RDC로 이동시키기 위한 디스테이징 프로세스;
2. 기록 및 판독 동작을 인터셉트하고 장치(13)의 캐시를 계속 관리하는 I/O 명령 필터링 프로세스.
도 5a, 5b 및 5c를 참조하여, 지금부터 캐시 시스템 모듈(27)에 관한 디스테이징/기록/판독 동작들을 제어하는 프로세스가 상세히 설명된다.
도 5a는 도 2의 캐시 제어 소프트웨어(27a) 내부에 구현된 디스테이징 프로세스가 어떻게 동작하는지를 나타내는 흐름도를 도시한다.
캐시 소프트웨어(27a)는 먼저 서로 다른 클라이언트들에 대응하는 모든 캐시 저장 영역들의 연속적인 폴링을 수행하고(단계 101), RDC로 아직 전달되지 않은 일부 데이터 블록들이 캐시(27) 내에 있는지 여부를 조사한다.
데이터 블록이 폴러(poller)에 의해 캐시 내에서 식별되면, 프로세스는 그 데이터 블록이 RDC로 전달되기 전의 최대 설정가능 시간(대기 시간)을 기다릴 수 있다. 폴링 기간, 대기 시간 및 장치(13)와 RDC 사이의 네트워크 연결을 통하여 데이터 블록을 전송하는데 필요한 시간(직렬화 시간)은 그들의 합이 안정 상태에 있게 될 캐시에 대한 두 개의 데이터 블록 사이의 평균 상호 도달 시간보다 적어야 하는 제한을 가지고 관리자에 의해 설정가능한 파라미터들이다.
게다가, RDC로의 데이터 블록의 전달은 예를 들면, 다른 것들 사이에서 특정 클라이언트들 또는 어플리케이션들에게 이득을 주기 위하여(우선권), 데이터 블록 디스테이징의 우선 순위를 변경하기 위하여 사용자에 의하여 정의된 정책을 따를 수 있다. 어쨌든, 우선 순위 정책은 디스테이징 지연에 대하여 상술한 고려사항들과 충돌되어서는 안 된다.
RDC로 전달되어야 하는 모든 블록들이 RDC로 전송된다(단계 103).
일단 데이터 블록이 전달되면, 그것은 캐시(27)로부터 문맥적으로 삭제되지 않지만, RDC에 의한 승인 신호가 데이터 블록이 실제로 도착하지 않거나 고장가 있는 것을 확인할 때만 삭제된다.
이 상태에서 데이터 블록은 "디스테이징 중"으로 표시되고, RDC로 전달될 데이터 블록을 선택하는 프로세스는 이미 "디스테이지 중"인 다른 데이터 블록과 동일한 주소를 가진 데이터 블록이 "디스테이지 중"에 놓이는 것을 피하도록 처리된다. 이것은 이하에서 설명될 기록 프로세스와의 간섭을 피하기 위하여 수행된다.
사실, 데이터의 손실을 방지하기 위하여, 데이터 블록은 RDC가 실제로 캐시로부터 전송된 데이터 블록을 저장할 때까지 캐시(27) 내에 저장된 채로 남아 있는 다. 다시 말해, 장치(13)로부터 RDC로 데이터 블록이 전송되는 동안 데이터의 손실을 방지하는 전달 제어의 정렬이 존재한다. 이 제어는 전송 블록(103) 아래에 배열된 블록들에 의해 도 5a에 도시된다.
어느 경우든, 장치 23 및/또는 24는 알려진 형식의 전달 제어의 일부 메커니즘을 채택하면, 간섭을 피하기 위하여 캐시에 의해 채택된 것과 조화를 이룰 것이다.
가능한 상태들을 분석해 보면, 데이터 블록은 다음과 같은 상태일 수 있다.
a) 에러 없이 RDC에 도달;
b) RDC에 전달되었으나, 고장를 포함함;
c) RDC에 도달되지 못함.
상술한 상태들 a), b) 및 c)을 인식하기 위하여, 캐시 제어 소프트웨어(27a)에 구현된 프로세서들은 다음을 제공한다:
- a)의 경우 긍정 승인 신호(ACK)(단계 111에서 화살표 아래쪽);
- b)의 경우, 부정 승인 신호(NACK)(단계 111에서 화살표 오른쪽), 만약 NACK 신호가 데이터를 원격으로 전달하기 위하여 사용되는 프로토콜에 의해 바르게 해석될 수 있다면;
- 상태 c)를 인식하기 위하여, 프로세서는 장치(13) 및 RDC 사이의 예상 왕복 시간보다 긴 타임아웃 지연을 설정한다; 타임아웃 지연이 경과되고(단계 109) 긍정 승인 신호(ACK) 는 부정 승인 신호(NACK)가 도달되지 않으면(단계 107에서 왼쪽으로), 캐시(27)에 의해 전송된 데이터 블록은 손실된 것으로 생각된다. 타임아 웃 지연은 데이터 블록의 전송시 시작한다(단계 105).
긍정 승인 신호(단계 111에서 화살표 아래쪽)에 따라 제어 블록들 111, 115 및 119가 상술한 c) 경우를 관리하고, 제어 블록들 111, 113 및 115가 b) 경우를 관리하는 반면, 타임아웃 지연의 제어는 제어 블록 109에 의해 수행되며, 기설정된 타임아웃 지연이 경과하면, 데이터 블록은 RDC에 의해 수신되지 않은 것으로 추정한다.
바람직한 실시예에서, 원격 사이트와 관련하여 고장를 포함하거나 손실된 연속적인 블록들의 최대 수(NMAX)에 대한 설정이 제공된다. 만약 최대 수(NMAX)에 도달되면(단계 117), 캐시(27)는 미러링 서비스가 중단되었음을 클라이언트에게 통지하고 그에 의하여 PDC로부터 캐시로 전달될 추가 데이터의 전송을 방지한다.
사실, RDC가 도달가능하지 않다면, 캐시(27)는 데이터를 RDC로 전달하지 않고 클라이언테에 의한 데이터를 수신하는 것을 계속하며, 따라서 캐시(27)는 빠르게 과부하될 것이다.
다른 실시예에서, 데이터를 원격으로 전달하기 위하여 사용되는 프로토콜이 부정 승인 신호(NACK)를 제공하지 않는 경우에, 고장를 포함하는 데이터 블록에 대한 타임아웃 지연의 동일한 프로세스가 적용된다. 즉, 고장를 포함하는 연속적인 블록들의 기 설정된 수에 도달한 후에 미러링 서비스는 중단된다.
도 2의 모듈 22에서 구현되는 I/O 명령 필터링 프로세스는:
- RDC로부터 RDC로의 명령들을 인터셉트하고;
- 사용되는 특정 프로토콜에 따라 하나 이상의 PDU들(프로토콜 데이터 유닛들; Protocol Data Units)을 고려하여 동작 형식(기록(WRITE), 판독(READ), 다른 동작들)을 식별한다.
기록 또는 판독과 다른 I/O 명령어들의 경우, 장치(13)는 그들을 RDC로 전달한다. 기록 또는 판독 명령어들의 경우, 제1 단계는 다음과 같이 I/O 동작의 파라미터들을 추출하는 것으로 구성된다:
- 기록 명령의 경우, 파라미터들은 예를 들면 전체 데이터 블록, 즉 저장될 데이터, 동작 속성들(예를 들면, 메모리 위치의 주소) 및 추가 데이터 속성들이다;
- 판독 명령의 경우, 데이터가 획득되어야 하기 때문에, 파라미터들은 예를 들면, 오직 동작 속성들이다.
상기 동작들은 아래에 설명되는 바와 같이 처리된다.
도 5b를 참조하여, 이제 도 1의 미러링 소프트웨어(14)에 의해 발생하고 도 1의 장치(13)로 전달된 기록 명령들이 캐시 소프트웨어(27a)에 의해 어떻게 관리되는지가 설명될 것이다.
장치(13)의 내부에서, 미러링 소프트웨어(14)에 의해 발생한 기록 명령들은 도 2의 블록 22에 의해 인터셉트되고 도 5b에서 설명된 프로세스에 따라 분석된다.
기록 명령이 캐시에 의해 인터셉트된 후에(단계 151), I/O 동작의 관련 파라미터들(데이터 블록)이 식별된다(단계 152).
바람직한 실시예에 따라, 캐시 내에 기록될 고려되는 데이터 블록들 및 캐시 내의 그것의 상태들에 대한 네 개의 가능 상태들이 제공된다. 당업자가 이해할 수 있는 바와 같이, 상태들의 수는 더 많거나 적을 수 있다.
구체적으로 바람직한 실시예에 따른 상태들은 다음과 같다:
- 경우 1): 만약 요청된 주소를 구비한 데이터 블록이 캐시(27) 내에 존재하지 않는다면(단계 153), 클라이언트에게 유용한 새로운 캐시 위치가 사용되고 데이터 블록이 그 새로운 위치에 기록된다(단계 161);
- 경우 2): 만약 요청된 주소를 구비한 데이터 블록이 캐시(27) 내에 이미 존재하고(단계 153) 그것이 "디스테이지 중"이 아니라면, 새로운 데이터 블록이 기존의 데이터 블록을 대체한다(단계 157).
- 경우 3): 만약 요청된 주소를 구비한 데이터 블록이 캐시(27) 내에 이미 존재하고(단계 153) 그것이 "디스테이지 중"이라면(단계 155), 즉, 시스템이 복구 데이터 센터(RDC)에 의한 승인 신호를 여전히 기다리고 있는 중이고, 동일한 주소를 구비한 제2 데이터 블록이 캐시(27) 내에 존재하지 않는다면(단계 159), 데이터 블록은 새로운 캐시 위치에 기록된다(단계 161).
- 경우 4): 만약 요청된 주소를 구비한 두 개의 데이터 블록이 캐시 내에 존재한다면(그들 중 하나가 "디스테이지 중"이고 다른 것은 그렇지 않다면), 새로운 데이터 블록이 "디스테이지 중"이 아닌 기존 데이터 블록을 대체한다(단계 157).
어떤 경우든, 데이터 블록의 기록이 완료된 후에, 기록 프로세스는 I/O 명령 필터(도 2의 모듈 22)로 성공적인 동작 신호를 전송하고, I/O 명령 필터는 현재 사용되는 I/O 프로토콜에 의해 요청되는 ACK 신호를 PDC 내의 미러링 소프트웨어로 리턴한다.
만약 데이터 블록이 어떤 이유로 캐시 내에 기록될 수 없다면, ACK는 리턴되지 않고, PDC에 의한 추가 기록 명령의 전송을 방해하며, 그에 의하여 캐시가 최대 용량을 초과하여 채워지고 데이터 블록들이 손실되는 것을 피한다.
도 5c는 도 2의 캐시 제어 소프트웨어(27a)에서 구현되는 프로세스들이 미러링 소프트웨어에 의해 RDC에 있는 원격 디스크로 발행되고 따라서 도 1의 장치(13)에 도착한 판독 명령들을 어떻게 관리하는지를 나타낸다.
캐시(27)로부터 데이터를 판독하는 것도 가능하지만, 캐시는 바람직하게는 RDC를 대체하는 작업을 하지 않음이 주지되어야 한다.
장치(13) 내부에서, 미러링 소프트웨어(14)에 의해 발행된 판독 명령들은 도 2의 블록 22에 의해 인터셉트되고 도 5c에 설명된 프로세서에 의해 분석된다.
판독 프로세서의 관리는 업데이트된 데이터가 캐시(27) 내에 있는 경우(디스테이징 구간에 있거나 아닌 경우)나 업데이트된 데이터가 RDC에만 있는 경우에 매 순간 도 1의 프로세싱 시스템(10)에서 동작하는 소프트웨어들이 업데이트된 데이터를 수신하는 것을 보장하는데 초점이 맞춰진다.
판독 명령이 캐시에 의해 인터셉트된 후(단계 201), I/O 동작들의 관련 파라미터들(예를 들면, 메모리 위치의 주소)이 식별된다(단계 202).
바람직한 실시예에 따르면, 판독될 데이터 블록에 관한 네 개의 가능한 상태들이 제공된다. 당업자에게 자명한 바와 같이, 상태들의 수는 더 적거나 많을 수 있다.
구체적으로:
- 경우 1): 요청된 주소를 구비한 데이터 블록이 캐시(27) 내에 존재하지 않는다면(단계 203), 판독 동작은 도 2의 모듈들(23-26)을 통하여 RDC로 전달된다;
- 경우 2): 요청된 주소를 구비한 데이터 블록이 캐시 내에 존재하고(단계 203) "디스테이징 중"이 아니라면(단계 205), 데이터 블록이 캐시로부터 판독되고 그 데이터는 PDC로 리턴된다(단계 207).
- 경우 3): 요청된 주소를 구비한 데이터 블록이 캐시 내에 존재하나(단계 203) "디스테이지 중"이라면(단계 205), 즉, 시스템이 아직 RDC에 의한 승인 신호를 기다리고 있고 동일한 주소를 가진 제2 데이터 블록이 캐시(27) 내에 존재하지 않는다면(단계 209), 판독 동작은 "디스테이지 중"인 데이터 블록의 데이터 컨텐츠를 리턴한다(단계 211);
- 경우 4): 요청된 주소를 구비한 데이터 블록이 캐시 내에 존재한다면(그들 중 하나가 "디스테이지 중"이고 다른 것은 그렇지 않다면), "디스테이지 중"이 아닌 데이터 블록의 데이터 컨텐츠가 리턴된다(단계 207).
고장 사건 구간으로부터의 복구가 도 6을 참조하여 이제 설명된다.
도 6은 가능한 고장 상태 및 그에 따라 채택될 수 있는 몇몇 행동들을 도시한다. 구체적으로, 일반 동작(블록 251)의 초기 상태로부터 적어도 두 개의 다음과 같은 예외 카테고리들이 관찰될 수 있다:
a) 클라이언트와 임시 데이터 저장 장치(13) 사이의 연결 고장 또는 장치(13) 자체의 고장, 그에 의하여 중간 사이트의 도 2의 캐시(27) 내에 기록하는 것이 불가능하다;
b) 장치(13)와 복구 데이터 센터(RDC) 사이의 연결 고장 또는 RDC 자체의 고장, 그에 의하여 RDC에 접속하는 것이 불가능하다.
경우 a)는 도 6의 흐름도의 왼쪽 가지로 상세히 설명되며, 선택적으로,
- 본 발명에 따른 동기식 전송이 절대적으로 요구되는 경우 디스크 미러링을 중단할 수 있거나(단계 257);
- 주 데이터 센터의 로컬 디스크에 데이터를 임시적으로 저장하고(단계 265) 연결이 복구되면 캐시(27) 그리고 RDC로의 데이터 블록 전송을 완료할 수 있거나(단계 267); 또는
- 사용가능하지 않은 캐시를 지나쳐서(by-pass) RDC로 직접 비동기식 미러링을 수행할 수 있다(단계 259).
경우 b)는 도 6의 흐름도의 오른쪽 가지에 자세히 설명되며,
- 캐시가 충분한 저장 능력을 갖고 사용가능하지 않은 시간이 비교적 짧다면, 도 5a의 디스테이징 프로세서를 사용하는 것에 의하여 RDC 내의 디스크를 정렬시키도록 복구될 연결을 기다리는 동안 동작하지 않고(단계 261) 캐시 내에 상호작용을 계속 저장할 수 있거나(단계 269);
- 선택적으로, 사용가능하지 않는 시간이 비교적 길다면 캐시를 포화시키지 않도록 캐시 내에 존재하는 데이터를 대체 사이트에 복사할 수 있다(단계 263).
도 3으로 다시 참조하면, SCSI는 저장 관리 프로토콜이고 iSCSI는 섹션 PDC-장치(13) 및 섹션 장치(13)-RDC 모두에 데이터를 원격으로 저장하기 위한 프로토콜이며, 클라이언트가 장치(13)를 사용하기 원할 때, 상기 장치(13)는 설정 구간 동 안, iSCSI 프로토콜을 통하여 접근할 수 있는 LVM 내의 논리적 볼륨의 이미지를 수신한다.
RDC 내에 존재하는 물리적 분할 영역에 근거한 논리적 이미지인 이 볼륨은, 클라이언트 어플리케이션에 의하여 그것에 접근하기 위하여 사용될 SCSI 기술에 따라 특정 LUN(Logical Unit Number)와 관련될 것이다.
이 점에서, 도 1에 도시된 바와 같이 미러링 소프트웨어(14)를 통하여 장치(13)와 상호작용하는 클라이언트 어플리케이션은 iSCSI/SCSI 프로토콜을 통하여 RDC의 원격 볼륨에 접근할 수 있다.
이 때, 어플리케이션이 장치(13)를 통하여 원격 볼륨을 PDC 내의 로컬 볼륨 디스크의 동기식 이미지로서 사용할 수 있도록 하기 위하여:
- 로컬 볼륨 디스크의 일관된 사본이 원격 사이트로 전달되고(제1 동기화);
- 클라이언트 어플리케이션의 LUN을 위한 저장 영역이 장치(13)의 캐시(27) 내에 보유되며;
- 상기 저장 영역이 상기 LUN 볼륨의 특성들을 설명하고 캐시 시스템 모듈(27)의 내부 데이터베이스(27a)에 저장된 설정 데이터(주소들의 세트, 볼륨 크기, 블록 크기 등)를 참조하고;
- 모듈 22 내부에서, 클라이언트 미러링 소프트웨어에 의해 발행된 SCSI 명령들의 필터링 프로세서가 활성화되어, 그 명령들 중 일부는 모듈 연결(23-26)을 통하여 복구 데이터 센터로 전달되는 반면, 일부 다른 명령들은 인터셉트되어 캐시 시스템 모듈(27)로 전달되게 하며;
- 캐시 제어 소프트웨어(27a)로, 새로운 클라이언트가 활성화되어 캐시 시스템 모듈(27) 내부의 특정 저장 영역 및 LUN 기술자(descriptor)가 상기 클라이언트에게 할당되었음이 알려지는 것이 바람직하다.
구체적으로, SCSI 프로토콜을 사용하는 것에 의하여 PDC로부터 RDC로의 기록 동작은 다음 네 단계로 구별될 것이다:
a) 이니시에이터 장치는 N개의 데이터 블록들을 기록하기 위하여 목적 장치로 기록 요청을 전송한다;
b) 목적 장치는 이니시에이터 장치로 승인 신호를 전송한다;
c) 승인 신호를 수신한 후에, 이니시에이터는 N개의 데이터 블록들을 전송한다;
d) 목적 장치는 N개의 데이터 블록의 성공적인 기록을 승인한다.
작업 b) 및 d)는 변경된 SCSI 목적 장치(22)에 의해 수행되어야 한다. 좀 더 구체적으로:
- 변경된 SCSI 목적 모듈(22)은 주 데이터 센터 내의 미러링 어플리케이션(및 그것에 통합된 SCSI 이니시에이터)으로부터 특정 수(N)의 데이터 블록들을 기록하기 위한 기록 요청을 수신한다;
- 모듈(22)은 기록 명령을 인터셉트하고, 기록 동작에서, 상기 명령이 캐시 시스템(27)에 관한 것들 중 하나임을 인식한다. 따라서, 캐시 시스템이 이러한 데이터 블록들을 저장할 수 있는지 여부가 확인되고, 긍정의 경우, 모듈(22)은 SCSI 표준에 따라 미러링 어플리케이션으로 데이터 요청 메시지를 전송하는 것으로 응답 한다;
- 미러링 어플리케이션은 N개의 데이터 블록들을 전송한다.
- 모듈(22)은 상기 데이터 블록들의 목적 주소를 검색하고, 그들을 데이터를 전송 중인 클라이언트 전용인 캐시(27)의 저장 영역으로 전환한다. 좀 더 구체적으로 모듈(22)은 이전에 지시된 것이 무엇이었는지에 따라 SCSI 프로토콜의 기록 명령의 헤더의 의미 정보(DPO(Disable Page Output), FUA(Force Unit Access) 등)를 SCSI 블록으로부터 추출하고 캐시에 저장해야 한다.
- 캐시 소프트웨어(27a)는 이미 설명된 바와 같이 디스테이징 프로세스를 수행하고 RDC로 기록 요청을 전송할 부하를 갖는다;
동일한 방법으로, 부정의 경우 RDC로부터 캐시(27) 내에 여전히 존재하기 때문에 업데이트되지 않은 데이터 아이템을 판독할 수 있기 때문에 기록 명령이 캐시(27)에 의해 인터셉트되어야 한다.
따라서, 기록 요청이 모듈(22)에 도달하면, 모듈(22)은 캐시 관리 소프트웨어(27a)를 통하여 도 5c에 설명된 과정에 따라 블록이 캐시 내에 존재하고 있는지 여부를 조사하기 위한 제어를 수행한다.
앞서 설명된 바와 같이, 캐시 크기는 클 필요가 없다; 대조적으로, 본 발명의 장점은 상당히 작게 유지될 수 있다. 이하의 설명은 전형적인 네트워크 파라미터가 사용되는 경우 클라이언트/어플리케이션에 할당될 필요한 캐시 크기를 추정하는 방법을 설명할 것이다.
이러한 추정은 장치(13)가 PDC로부터 하나 이상의 새로운 데이터의 도착 및 그들의 RDC로의 전달(디스테이징) 사이에서 평형 상태로 동작한다는 가정에 근거한다. 이러한 평형 상태는 상술한 기록 및 디스테이징 프로세스들에 의해 보장된다. 따라서 이러한 가정은 장치(13)를 설계하거나 차원결정을 하는데 유용하나, 안정된 동작을 위한 필수적인 조건은 아니다.
만약 캐시(27)와 복구 데이터 센터(RDC) 사이의 통신에서 데이터 블록이 손실되거나 고장이 발생하지 않는다면, 그것은 캐시와 RDC 사이의 왕복 시간에 직렬화 시간을 더하는 것에 의해 결정된 시간 간격 동안, 즉 RDC로부터 승인 신호를 수신하는데 필요한 시간 간격 동안 캐시(27) 내에 남아 있다. 상기 승인 신호가 수신된 후, 데이터 블록은 RDC에 성공적으로 저장되었기 때문에 캐시(27)로부터 지워질 수 있다.
단일 클라이언트/어플리케이션에 대하여 캐시 내에 존재하는 데이터 블록의 예상 평균 수(PDC 기록 동작의 결과로서)는 예를 들면, 다음과 같이 결정될 수 있다.
N CHCHED = [( T TR2 + T S )/(1/R)]+[ T MAX /(1/R)]+[ T RT1 /(1/R)]
여기서 사각 괄호들은 결과가 큰 정수로 올림됨을 가리킨다(이 공식에서 다른 파라미터들의 의미는 이하에서 정의된다). 파라미터들의 변동을 고려하기 위하여 적절한 허용오차를 가지고 증가한 블록들의 예상 평균 수(N CHCHED )는 단일 데이터 블록의 크기를 정의하는 장치(13)의 캐시 메모리의 크기를 결정하기 위하여 사용될 수 있다. 상술한 공식에서
N CHCHED 에 대한 상기 공식은 3개의 덧셈을 포함한다:
- 제1 덧셈, [( T TR2 + T S )/(1/R)]은 캐시에 도달하는 블록들의 수를 나타내며, 직렬화 시간(T S ), 장치(13)와 RDC 사이의 네트워크 부분의 왕복 시간(T TR2 ) 및 두 개의 연속적인 데이터 블록 사이의 평균 상호 도달 시간을 나타내는 1/R의 함수로 결정될 수 있다;
- 제2 덧셈, [ T MAX /(1/R)]은 몇몇 이유로 특정된 시간 제한(타임아웃) 내에 RDC에 도달하지 못한 "디스테이지 중"인 데이터 블록의 수를 나타낸다. 그것은 손실될 제1 데이터 블록의 장치(13)에 의한 수신과 타임아웃 이벤트가 장치(13)에 의해 관리되는 마지막 블록의 타임아웃 사이에 경과된 시간 간격을 나타내는 T MAX 의 함수로 결정될 수 있다. T MAX 는 예를 들면, 다음과 같이 결정될 수 있다.
T MAX = T OUT + T S +( N MAX -1)×max(1/R, T S )
여기서, T OUT 는 장치(13)로부터 RDC로 전송된 단일 블록에 대한 타임아웃 간격을 나타내는 설정가능한 파라미터이며, N MAX 는 타임아웃 이벤트가 장치(13)에 의해 관리되는 블록들의 최대 수를 나타내는 설정가능한 파라미터이다;
- 제3 덧셈, [ T RT1 /(1/R)]은 캐시가 클라이언트에서 디스크 미러링 서비스가 임시적으로 사용가능하지 않음을 알리기 전에 클라이언트에 의해 캐시로 전송된 블록들의 수를 나타내며, 여기서 T RT1 은 PDC와 장치(13) 사이의 네트워크 부분의 왕복 시간이다.
출원인 실험은 이전에 보고된 형식의 공식의 어플리케이션들이 캐시 메모리의 크기가 각 클라이언트/어플리케이션에 대하여 단위 초당 수십 번의 상호작용을 생성할 수 있는 수백 KB 내지 몇 MB의 범위에 있는 결과를 가져온다는 것을 증명했다.
따라서, 본 발명의 구조를 적용하는 것에 의하여 PDC에 존재하는 전체 데이터 세트를 하나 이상의 중간 사이트에 복제할 필요가 없고, 다중 전파 구조와 반대로, 디스크 저장 및 이에 따른 유지 및 개인 비용들을 감소시킬 수 있다.
모듈 27, 27a 및 27b와 관련된 가능한 향상은 중간 사이트에 위치되고 클라이언트 어플리케이션과 관련된 특히 자주 접근되는 디스크 저장 영역들("핫 존"으로 알려짐)을 잘 접속되지 않은 영역들과 다르게 관리하기 위하여 개별화하는 것으로 구성된다. 예를 들면, "핫 존"은 그들이 안정 상태에 있을 때만 불연속적으로 RDC에 전송될 수 있고, 그에 의하여 장치(13)와 RDC 사이의 네트워크 섹션에서 상당한 대역폭 절약을 허용한다.
도 7을 참조하여, 이제 서비스 제공자(Service Provider; SP)가 본 발명을 어떻게 이용할 수 있는지를 설명할 것이다. 좀 더 구체적으로 본 발명은 SP가 동기식 미러링 서비스를 제공할 수 있는 영역들의 수를 증가시킬 수 있도록 하며, 동시에 RDC들의 수를 제한할 수 있게 한다는 점이 주지되어야 한다.
상술한 시나리오에 따르면, SP는 모든 도심 내의 장치(13)를 포함하는 사이트를 제공하고, 상기 도시 영역들로부터 지리적으로 멀리 떨어진 영역에 하나 이상 의 RDC들(12)을 제공한다. 당업자에게 자명한 바와 같이, 장치(13)는 독립 장치일 필요가 없으며, 네트워크 장치들에 통합될 수 있다.
도 8은 재해/복구 시나리오에서 본 발명의 사용을 도시하며, 구체적으로 클라이언트 디스크가 고장나서(단계 301) 실제 복구 프로세서나 트리거링된 상황일 때 수행될 동작들을 도시한다. 복구 프로세서는 서로 다른 방식으로 일어날 수 있지만 모두 캐시 내에 아직 저장된 데이터(디스테이징)를 구비한 RDC 디스크의 재정렬(단계 303 및 305)에 의해 진행되어야 한다. 업데이트는 다른 클라이언트의 데이터에 대하여 우선순위를 갖도록 복구 프로세서를 필요로 하는 클라이언트 데이터의 "마킹" 프로세서(단계 305)를 통하여 일어날 수 있거나, 중간 사이트가 고장 상태가 존재하는 것을 무시하도록 하여 RDC의 일반적인 전송 활동을 계속하게 할 수 있다.
클라이언트의 데이터 및 어플리케이션들을 복구하기 위한 주 대안은 다음과 같다.
- RDC로의 디스테이징 후에 사용가능한 데이터를 이용하는 것, 이것은 RDC에서 클라이언트 어플리케이션을 재시작할 수 있게 한다(전형적인 재해/복구 접근법)(307);
- 높은 비트율로 대안 연결의 활성화를 제공하는 것에 의하여 PDC의 새로운 디스크 상에 RDC의 복사본으로부터 클라이언트 데이터를 복구하는 것;
- 주 디스크로 RDC 데이터로의 접근을 임시적으로 가능하게 하는 것.
재해/복구 상태 후, 클라이언트(PDC)는 수리되고, 동기식 미러링 복제가 고 장에 의해 영향을 받은 클라이언트에 대하여 새로운 설정 구간(311)으로 시작하도록 다시 설정될 수 있다.
본 발명은 또한 동기식 데이터 복제 서비스를 지원하기 위한 원래 네트워크 서비스를 설정하는 것을 허용한다. 네트워크 서비스의 가능 고객의 프로파일은 본질적으로 제1 사이트로부터, 제1 사이트로부터 상당한 거리(수백 킬로미터)에 위치한 제2 사이트로 정보를 동기적으로 복제하고자 하는 주체의 프로파일이다. 상기 주체는 제1 및 제2 사이트 사이의 중간 거리에 위치한 사이트들의 유용성을 가지고 있지 않거나, 중간 저장 장치들을 관리하고자 하는 것이 아니다.
그러한 필요성들을 갖는 고객은 동기식 미러링 기술을 사용하는 것에 의해 자신이 소유한 데이터를 보호하기 원하는 회사("소매 고객")이거나 최종 고객들에거 재해 복구 및/또는 계속적인 사업 서비스들을 제공하고자 하는 서비스 제공자(SP)("도매 고객")일 수 있다.
상기 특정 네트워크 서비스는 먼 거리에서 동기식 미러링 향상"으로 정의될 수 있다. 사실, 상기 서비스들을 통하여 그리고 장치(13)에 의해 리턴되는 승인 신호에 의하여, 클라이언트 어플리케이션 관점에서, 데이터 아이템의 로컬 사본과 그것의 원격 사본 사이의 동기식 복제는 두 사이트들 사이의 거리가 실제 거리보다 짧을 경우에도 일어난다.
이것은 두 사이트들 사이의 실제 거리가 어플리케이션이 승인 신호를 기다리면서 차단되어 있는 시간 동안 그것의 성능에 영향을 미칠 수 있지 않고, 이전 데이터 아이템의 성공적인 기록에 대한 승인 신호가 수신될 때까지 데이터의 생성을 방해하는 것을 포함하는 동기식 미러링을 수행하게 한다.
상기 서비스는 클라이언트에 완전히 투명하며, 이것은 클라이언트가 그것의 시스템 및 동기식 미러링의 전통적 구성에 관한 동작 방식을 변경할 필요가 없다는 것을 의미한다.
서비스 구조가 도 9에 도시되며, 데이터의 두 개의 사본이 PDC 및 RDC에 저장된다. 이 두 개의 사이트들은 최종 고객들 및/또는 SP에 의해 관리되며, 따라서, 서비스를 제공하는 캐리어(carrier)에 의해 관리되지 않는다. 도 9는 향상 서비스의 경계 및 캐리어의 관리 하에 있는 소자들, 즉 예를 들면 도심 영역 네트워크 또는 MAN, 광역 네트워크 또는 WAN 및 중간 사이트(예를 들면, 캐리어의 도심 변경)에 위치된 장치(13)와 같은 네트워크 인프라구조를 지적한다.
도 9 및 10은 또한 서비스의 주요 특징들을 지적한다. 구체적으로:
- L1 및 L2는 재해로부터 보호되는 두 개의 영역으로 구별된다. L1보다 작은 영역을 갖는 사건에 대하여(재해 영역 1), 즉 장치(13)를 포함하지 않는 사건에 대하여, 서비스는 하나의 상호작용과 같은 RPO를 보장한다. L2보다 작은 영역을 갖고(재해 영역 2) L1보다 큰 영역을 갖는 재해에 대하여, 서비스는 가능한 데이터 손실이 캐시 디스테이징 정책에 따라 재해가 일어났을 때 장치(13)에 의한 통신에서 최대가 되도록 규정한다;
T1과 T2는 각각 기록 승인이 일어나는 동안 최대 시간 간격 및 데이터 아이템의 복제가 RDC에서 완료되는 최대 시간 간격을 각각 정의한다.
네 개의 파라미터들(L1, L2, T1, T2)에 근거하여, 고객에 대한 서비스의 SLA(Service Level Agreement)가 정의된다. 특히, 재해 영역 A2에 영향을 미치는 재해의 경우, 손실 상호작용의 수는 최대 시간 간격(T2) 동안 클라이언트 어플리케이션에 의해 생성된 상호작용의 수와 같음이 주지되어야 한다.
요약하면, 서비스는:
- 종래 동기식 미러링 기술의 특성 시간보다 작은 예를 들면, T1<0.5ms인 고정된 시간 제한(T1) 내에 원격 복제 명령의 승인을 제공하고;
- 로컬 또는 인접 동기식 미러링 기술의 경우에 허용되는 최대 거리보다 큰 예를 들면 L2 >> 50km인 원격 복제의 거리(L2)를 제공하며;
- 광역 네트워크(WAN)에 할당된 대역폭 및 디스테이징 정책에 따라 제공될 수 있는 거리 L2를 포함하는 전체 전파 시간에 매우 가까운 최대 시간 간격(T2) 내에 원격 디스크에서 사용가능한 데이터 아이템의 복제를 제공하고;
- L1보다 작은 범위를 갖는 재해에 대하여는 최대 하나의 상호작용의 손실의 보장을 제공하고, 범위 L1 < R < L2에서 고장에 대하여는 최대 상기 시간 간격(T2) 동안 생성된 상호작용들의 손실의 보장을 제공한다.
도 11은 캐리어에 의해 전체 모델로 제공된 향상 서비스를 도시한다. 주 특징들은 다음과 같다.
- 캐리어에 의해 소유된 도심 영역 네트워크(MAN)에서 변화된 장치(13)의 위치;
- 서비스는 캐리어에 의해 다른 서비스 제공자들(SP)로 제공되고, 서비스 제공자들은 다음으로 그들의 최종 고객들에게 재해 복구 서비스를 제공한다. 도 10에 서 SP들 및 그들 각각의 고객들은 박스 내부와 동일한 해칭(빗금)에 의해 식별된다;
- 캐리어(점선)에 의해 제공된 서비스의 범위는 서비스 제공자의 사이트 제한으로부터 최종 고객 사이트까지 확장된다.
본 발명은 대부분의 어플리케이션들에 대한 동기화를 보장하도록 PDC로부터 소정 거리에 중간 저장 사이트를 삽입하는 것에 의하여, 또한 중복 고장(PDC와 RDC 모두의 손상)의 위험을 최소화하고 저장된 정보의 유용성을 증가시키도록 PDC로부터 먼 거리에 RDC를 위치시키는 것에 의하여 PDC와 RDC 사이의 동기식 미러링 데이터 복제로 거리 제한의 문제를 해결한다.
본 발명은 실제로 바람직한 실시예들을 참조하여 도시되었지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 바와 같이 일반적으로 다른 응용 및 변경들이 본 발명의 범위에 속할 수 있다.
재해 복구 시나리오는 가능한 사용의 예이며, 본 발명의 목적이다. 본 발명은 또한 클라이언트 어플리케이션에 대하여 동기화 방식으로 제2 사이트 내지 제1 사이트로부터 지리적으로 매우 멀리 떨어져 있을 수 있는 제2 사이트 내에 존재하는 결정된 데이터 볼륨의 복제를 수행할 수 있음이 주지되어야 한다. 데이터의 복구 및/또는 원격 저장의 사용과 다른 패턴의 서비스들이 이 기능을 사용할 수 있다.
본 명세서 내에 포함되어 있음

Claims (34)

  1. 복구 데이터 센터(RDC)에 위치한 복구 저장 유닛(12) 내에 저장되고, 주 데이터 센터(PDC)와 관련된 적어도 하나의 프로세싱 시스템(10)에 의해 발생한 입력 데이터 블록들로 업데이트 되어야 하는 데이터 세트를 통신 네트워크를 통하여 업데이트하기 위한 시스템으로서,
    상기 통신 네트워크를 통하여 상기 주 데이터 센터(PDC) 및 상기 복구 데이터 센터(RDC) 사이에 게재되고 상기 프로세싱 시스템에 의해 발생한 입력 데이터 블록을 대응하는 저장 위치에 임시적으로 기록하고, 상기 데이터 블록들을 상기 복구 데이터 센터(RDC)로 전달하기 위한 임시 저장 영역(27)과 관련된 장치(13)를 포함하고,
    상기 장치(13)는,
    상기 데이터 블록들이 상기 임시 저장 영역(27)에 기록되자마자 상기 데이터 블록들의 상기 임시 저장 영역(27)에의 성공적 기록을 승인하는 제1 동기 승인 신호(3)를 상기 주 데이터 센터(PDC)로 전송하고,
    상기 데이터 블록들의 전송에 따라, 상기 데이터 세트의 성공적인 업데이트를 승인하는 상기 복구 데이터 센터(RDC)에 의해 전송된 제2 승인 신호(6)를 수신 및 관리하며,
    상기 제2 승인 신호(6)의 수신에 따라, 상기 임시 저장 영역(27)의 위치들을 새로운 입력 데이터 블록들에 대하여 사용가능하게 하도록 설계된 모듈들을 포함하 는 데이터 세트 업데이트 시스템.
  2. 제1항에 있어서,
    상기 프로세싱 시스템(10)은 상기 데이터의 사본이 저장되는 주 저장 유닛(11)과 결합되어 있는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  3. 제2항에 있어서,
    상기 임시 저장 영역(27)은 상기 주 저장 유닛(11) 및 상기 복구 저장 유닛(12) 모두의 저장 능력보다 낮은 저장 능력을 갖는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  4. 제1항에 있어서,
    상기 장치(13)와 상기 주 데이터 센터(PDC) 사이의 거리는 상기 장치(13)와 상기 복구 데이터 센터(RDC) 사이의 거리보다 작은 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  5. 제1항에 있어서,
    상기 장치는 상기 임시 저장 영역(27) 내의 데이터 블록들을 상기 주 데이터 센터(PDC)에 의해 요청된 주소에,
    만약 요청된 주소의 데이터 블록이 저장 영역에 기록되지 않는다면 상기 데 이터 블록을 상기 저장 영역(27)에 기록하고;
    만약 요청된 주소의 데이터 블록이 저장 영역 내에 이미 기록되어 있으나, 상기 데이터 블록들이 전달되지 않았다면, 이전에 기록된 데이터 블록들을 대체시키는 것에 의하여 상기 데이터 블록을 상기 저장 영역(27)에 기록하며;
    만약 요청된 주소의 데이터 블록이 저장 영역(27)에 이미 기록되어 있고, 전달되었으며, 상기 복구 데이터 센터(RDC)로부터 승인이 수신되지 않았다면, 상기 데이터 블록을 상기 저장 영역(27)의 새로운 위치에 기록하도록 설계된 모듈을 더 포함하는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  6. 제1항에 있어서,
    상기 통신 네트워크는 iSCSI 형식 프로토콜 및 광 섬유 채널 형식 프로토콜로 이루어진 그룹으로부터 선택된 적어도 하나의 프로토콜을 포함하는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  7. 제1항에 있어서,
    상기 장치(13)는,
    상기 장치(13)가 상기 주 데이터 센터(PDC) 및 상기 복구 데이터 센터(RDC)로 각각 인터페이스하도록 하기 위한 인터페이스 모듈들(20, 26);
    상기 주 데이터 센터(PDC)에 의해 전송된 I/O 명령들을 인터셉트하고 상기 명령들을 상기 데이터 블록들을 임시적으로 저장하기 위하여 상기 임시 저장 영 역(27) 또는 상기 복구 데이터 센터(RDC)로 선택적으로 전송하기 위한 필터 모듈(22); 및
    상기 주 데이터 센터(PDC)로부터의 관련 주소 파라미터들을 구비한 상기 데이터 블록들을 수신하고, 상기 데이터 블록들을 상기 복구 저장 유닛(12)의 관리를 위하여 보유된 명령들 내에 편입시키며, 상기 복구 데이터 센터(RDC)로 상기 명령들을 전달하기 위한 제어 모듈(24, 25)을 포함하는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  8. 제1항에 있어서,
    상기 장치(13)는,
    네트워크 인터페이스 카드(NIC);
    상기 네트워크 인터페이스 카드(NIC)의 다음에 배치된 iSCSI 목적 장치(21);
    상기 iSCSI 목적 장치(21) 다음에 배치된 변경된 SCSI 목적 장치(22);
    상기 변경된 SCSI 목적 장치(22) 다음에 배치된 캐시 시스템(27);
    상기 캐시 시스템(27) 다음에 배치된 논리적 볼륨 관리자(Logical Volume Manager) 또는 LVM 장치(23);
    상기 논리적 볼륨 관리자 장치(23) 다음에 배치된 원 SCSI 서브시스템(24);
    상기 SCSI 서브시스템(24) 다음에 배치된 iSCSI 이니시에이터 장치(25); 및
    상기 복구 데이터 센터(12)를 향한 다른 네트워크 인터페이스 카드(NIC)를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  9. 제7항에 있어서,
    상기 장치(13)는,
    상기 주 데이터 센터(PDC)를 향한 호스트 버스 어댑터(Host Bus Adapter; HBA);
    상기 호스트 버스 어댑터 다음에 배치된 변경된 SCSI 목적 장치(22);
    상기 변경된 SCSI 목적 장치(22)와 관련된 캐시 시스템(27);
    상기 변경된 SCSI 목적 장치(22) 다음에 배치된 논리적 볼륨 관리자 또는 LVM 장치(23);
    상기 논리적 볼륨 관리자 장치(23)의 다음에 배치된 SCSI 서브시스템(24); 및
    상기 복구 저장 유닛(12)을 향한 다른 호스트 버스 어댑터(HBA)를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 데이터 블록을 임시적으로 저장하기 위한 상기 장치(13)는 상기 통신 네트워크와 관련된 네트워크장치로 이루어진 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 저장 유닛들(11, 12)은 디스크 저장 유닛들인 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 임시 저장 영역(27)은 복수의 프로세싱 시스템들(10) 및/또는 복수의 주 데이터 센터들(PDC)에 각각 전용인 복수의 데이터 저장 영역들을 포함하는 것을 특징으로 하는 데이터 세트 업데이트 시스템.
  13. 복구 데이터 센터(RDC)에 위치한 복구 저장 유닛(12) 내에 저장되고, 주 데이터 센터(PDC)와 관련된 적어도 하나의 프로세싱 시스템(10)에 의해 발생한 입력 데이터 블록들로 업데이트 되어야 하는 데이터 세트를 통신 네트워크를 통하여 업데이트하기 위한 방법에 있어서,
    상기 네트워크를 통하여 상기 프로세싱 시스템(10)에 의해 발생합 입력 데이터 블록들을 상기 주 데이터 센터(PDC) 및 상기 복구 데이터 센터(RDC) 사이에 게재된 장치(13)와 관련된 임시 저장 영역(27)의 대응 저장 위치에 임시적으로 기록하는 단계;
    상기 장치(13)에 의해 상기 통신 네트워크를 통하여 상기 데이터 블록들이 상기 임시 저장 영역(27)에 기록되자마자 상기 데이터 블록들의 상기 임시 저장 영역(27)에의 성공적 기록을 승인하는 제1 동기 승인 신호(3)를 상기 주 데이터 센터(PDC)에 제공하는 단계;
    상기 장치에 의해 상기 통신 네트워크를 통하여 상기 복구 데이터 센터(RDC)로 상기 데이터 블록을 전달하는 단계;
    상기 장치에 의해 상기 통신 네트워크를 통하여 상기 복구 데이터 센터로(RDC)로의 상기 데이터 세트의 성공적인 업데이트를 승인하는 제2 승인 신호(6)를 수신 및 관리하는 단계; 및
    상기 제2 승인 신호(6)의 수신에 따라, 상기 임시 저장 영역(27)의 위치들을 새로운 입력 데이터 블록들에 대하여 사용가능하게 하는 단계를 포함하는 데이터 세트 업데이트 방법.
  14. 제13항에 있어서,
    상기 프로세싱 시스템(10)과 결합된 주 저장 유닛(11)으로 상기 데이터 세트를 저장하는 단계를 포함하는 데이터 세트 업데이트 방법.
  15. 제13항에 있어서,
    상기 장치(13)에 상기 입력 데이터 블록들을 임시적으로 기록하는 단계는,
    만약 요청된 주소의 데이터 블록들이 상기 저장 영역들이 기록되어 있지 않다면, 상기 데이터 블록들을 상기 저장 영역(27)에 기록하는 단계;
    만약 요청된 주소의 데이터 블록들이 상기 저장 영역에 이미 기록되어 있으나, 전달되지 않았다면, 이전에 데이터 블록들을 상기 데이터 블록들로 대체하는 것에 의하여 상기 데이터 블록들을 상기 저장 영역(27)에 기록하는 단계; 및
    만약 요청된 주소의 데이터 블록들이 상기 저장 영역에 이미 기록되어 있고, 전달되었으며, 상기 복구 데이터 센터(RDC)로부터 승인이 수신되지 않았다면, 상기 데이터 블록을 상기 저장 영역(27) 내의 새로운 위치에 기록하는 단계를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 방법.
  16. 제15항에 있어서,
    상기 저장 역역(27)에 상기 입력 데이터 블록들을 임시적으로 기록하는 단계는,
    만약 요청된 주소의 데이터 블록이 상기 저장 영역(27)에 두 번 저장되었다면, 아직 전달되지 않은 데이터 블록들을 대체하는 것에 의하여 상기 데이터 블록들을 기록하는 단계를 더 포함하는 것을 특징으로 하는 데이터 세트 업데이트 방법.
  17. 제13항에 있어서,
    상기 장치(13)로부터의 데이터 블록들을 상기 복구 데이터 센터(RDC)로 전달하는 단계는,
    상기 복구 데이터 센터(RDC)로 전달될 임의의 데이터 블록들이 있는지 여부를 조사하기 위하여 상기 장치(13)와 관련된 상기 저장 영역(27)을 폴링하는 단계; 및
    상기 전달될 데이터 블록들을 상기 복구 데이터 센터(RDC)로 전송함과 동시 에 기 설정된 타임아웃 지연을 갖는 타이머를 시작하는 단계를 포함하고,
    상기 제2 승인 신호를 수신 및 관리하는 단계는,
    상기 타임아웃 지연이 경과되었는지 여부를 조사하는 단계;
    상기 타임아웃이 경과되었다면 손실 데이터 블록을 나타내는 카운터를 증가시키는 단계; 및
    상기 손실 데이터 블록의 카운터가 기 설정된 값에 도달하였다면, 상기 장치(!3)로의 데이터 블록의 추가 전송을 방지하기 위하여 상기 주 데이터 센터(PDC)로 경고를 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 방법.
  18. 제17항에 있어서,
    상기 제2 승인 신호를 수신 및 관리하는 단계는 상기 데이터 블록이 상기 복구 데이터 센터(RDC)에 도달하였으나, 손상되어 있음을 가리키는 부정 승인 신호(NACK)를 관리하는 단계를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 방법.
  19. 제17항에 있어서,
    상기 타임아웃 지연은 상기 장치(13)로부터 전송되고 상기 복구 저장 유닛(12)에 의해 수신되는 데이터 블록에 대한 왕복 시간보다 큰 값으로 설정되는 것을 특징으로 하는 데이터 세트 업데이트 방법.
  20. 제13항에 있어서,
    상기 주 데이터 센터(PDC)를 향하여 데이터 블록들을 복구하는 프로세스가 제공되고,
    상기 방법은,
    만약 요청된 주소의 상기 데이터 블록들이 상기 임시 저장 영역(27)에 저장되어 있지 않다면, 상기 복구 데이터 센터(RDC)로 상기 장치(13)에 의해 복구된 데이터 블록들을 요청하는 단계;
    만약 요청된 주소의 데이터 블록들이 상기 임시 저장 영역에 저장되어 있고 상기 복구 데이터 센터(RDC)로의 전달 단계가 수행되지 않았다면, 상기 임시 저장 영역(27)으로부터 복구된 데이터 블록들을 판독하는 단계;
    만약 요청된 주소의 데이터 블록들이 상기 임시 저장 영역에 저장되어 있고 상기 복구 데이터 센터(RDC)로 전달되지 않았다면, 상기 임시 저장 영역(27)으로부터 복구된 데이터 블록들을 판독하는 단계;
    상기 주 데이터 센터(PDC)의 요청에 따라 상기 단계들 중 적어도 하나를 통하여 상기 주 데이터 센터(PDC)를 향하여 상기 장치(13)에 의하여 상기 복구된 데이터 블록들을 복구하는 단계를 더 포함하는 것을 특징으로 하는 데이터 세트 업데이트 방법.
  21. 주 데이터 센터(PDC)와 관련된 적어도 하나의 프로세싱 시스템(10)에 의해 발생한 입력 데이터 블록들을 대응하는 저장 위치에 임시적으로 기록하고 복구 데이터 센터(RDC)에 위치한 복구 저장 유닛(12)으로 상기 데이터 블록들을 전달하기 위한 저장 영역(27)과 관련된, 통신 네트워크를 통하여 데이터 세트를 업데이트하기 위한 장치에 있어서,
    상기 통신 네트워크를 통하여, 상기 데이터 블록들이 상기 임시 저장 영역(27)에 기록되자마자 상기 데이터 블록들의 상기 임시 저장 영역(27)에의 성공적 기록을 승인하는 제1 동기 승인 신호(3)를 상기 주 데이터 센터(PDC)로 전송하고,
    상기 데이터 블록들의 전송에 따라 상기 데이터 세트의 성공적인 업데이트를 승인하는 상기 복구 데이터 센터(RDC)에 의해 전송된 제2 승인 신호(6)를 상기 통신 네트워크를 통하여 수신하고 관리하며,
    상기 제2 승인 신호(6)의 수신에 따라, 상기 임시 저장 영역(27)의 위치들을 새로운 입력 데이터 블록들에 대하여 사용가능하게 하도록 설계된 모듈들을 포함하는 데이터 세트 업데이트 장치.
  22. 제21항에 있어서,
    상기 프로세싱 시스템(10)은 상기 데이터 세트의 사본이 저장된 주 저장 유닛(11)과 결합된 것을 특징으로 하는 데이터 세트 업데이트 장치.
  23. 제21항에 있어서,
    상기 장치(13)와 상기 주 데이터 센터(PDC) 사이의 거리는 상기 장치(13)와 상기 복구 데이터 센터(RDC) 사이의 거리보다 작은 것을 특징으로 하는 데이터 세트 업데이트 장치.
  24. 제21항에 있어서,
    상기 데이터 세트 업데이트 장치는 iSCSI 형식 프로토콜 및 광 섬유 채널 형식 프로토콜로 이루어진 그룹으로부터 선택된 적어도 하나의 프로토콜과 인터페이스하도록 설계된 모듈들을 포함하는 것을 특징으로 하는 데이터 세트 업데이트 장치.
  25. 제21항에 있어서,
    상기 장치(13)는,
    상기 장치(13)가 상기 주 데이터 센터(PDC) 및 상기 복구 데이터 센터(RDC)와 각각 인터페이스하도록 하기 위한 인터페이스 모듈들(20, 26);
    상기 데이터와 관련된 I/O 명령들을 인터셉트하고 상기 명령들을 상기 데이터 블록들을 임시적으로 저장하기 위하여 상기 임시 저장 영역(27) 또는 상기 복구 저장 유닛(12)으로 선택적으로 전송하기 위한 필터 모듈(21, 22); 및
    관련 주소 파라미터들을 구비한 상기 데이터 블록들을 수신하고, 상기 데이터 블록들을 상기 복구 저장 유닛(12)의 관리를 위하여 보유된 명령들 내에 편입시키며, 상기 복구 데이터 센터(RDC)로 상기 명령들을 전송하기 위한 제어 모듈(24, 25)을 포함하는 것을 특징으로 하는 데이터 세트 업데이트 장치.
  26. 제21항에 있어서,
    상기 장치(13)는,
    상기 주 데이터 센터(PDC)를 향한 네트워크 인터페이스 카드(NIC);
    상기 네트워크 인터페이스 카드(NIC) 또는 호스트 버스 어댑터(Host Bus Adapter; HBA)의 다음에 배치된 iSCSI 목적 장치(21);
    상기 iSCSI 목적 장치(21) 다음에 배치된 변경된 SCSI 목적 장치(22);
    상기 변경된 SCSI 목적 장치(22) 다음에 배치된 캐시 시스템(27);
    상기 변경된 SCSI 목적 장치(22) 다음에 배치된 논리적 볼륨 관리자(Logical Volume Manager) 또는 LVM 장치(23);
    상기 논리적 볼륨 관리자 장치(23) 다음에 배치된 원 SCSI 서브시스템(24);
    상기 SCSI 서브시스템(24) 다음에 배치된 iSCSI 이니시에이터 장치(25); 및
    상기 복구 데이터 센터(12)를 향한 다른 네트워크 인터페이스 카드(NIC) 또는 호스트 버스 어댑터(HBA)를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 장치.
  27. 제21항에 있어서,
    상기 장치(13)는,
    상기 주 데이터 센터(PDC)를 향한 호스트 버스 어댑터(Host Bus Adapter; HBA);
    상기 호스트 버스 어댑터 다음에 배치된 변경된 SCSI 목적 장치(22);
    상기 변경된 SCSI 목적 장치(22) 다음에 배치된 캐시 시스템(27);
    상기 변경된 SCSI 목적 장치(22) 다음에 배치된 논리적 볼륨 관리자 또는 LVM 장치(23);
    상기 논리적 볼륨 관리자 장치(23)의 다음에 배치된 SCSI 서브시스템(24); 및
    상기 복구 저장 유닛(12)을 향한 다른 호스트 버스 어댑터(HBA)를 포함하는 것을 특징으로 하는 데이터 세트 업데이트 장치.
  28. 제26항 또는 제 27항에 있어서,
    상기 LVM 장치는 소프트웨어 가상 장치에 의해 대체되는 것을 특징으로 하는 데이터 세트 업데이트 장치.
  29. 제21항에 있어서,
    상기 장치(13)는 상기 통신 네트워크와 관련된 네트워크 장치로 이루어진 것을 특징으로 하는 데이터 세트 업데이트 장치.
  30. 제1항 내지 제12항 중 어느 한 항에 청구된 데이터 세트 업데이트 시스템과 관련된 통신 네트워크.
  31. 적어도 하나의 전자 컴퓨터의 메모리에 로딩가능하고 제13항 내지 제20항 중 어느 한 항에 따른 방법을 구현하기 위한 소프트웨어 코드의 일부를 포함하는 컴퓨터 프로그램 제품.
  32. 복구 데이터 센터(RDC)에 위치한 복구 저장 유닛(12) 내에 저장되고, 주 데이터 센터(PDC)와 관련된 적어도 하나의 클라이언트 시스템(10)에 의해 발생한 입력 데이터 블록들로 업데이트 되어야 하는 데이터 세트를 통신 네트워크를 통하여 업데이트하기 위한 동기식 미러링 서비스를 제공하기 위한 방법에 있어서,
    상기 네트워크를 통하여 상기 적어도 하나의 클라이언트 시스템(10)에 의해 발생합 입력 데이터 블록들을 상기 주 데이터 센터(PDC) 및 상기 복구 데이터 센터(RDC) 사이에 게재된 장치(13)와 관련된 임시 저장 영역(27)의 대응 저장 위치에 임시적으로 기록하는 단계;
    상기 장치(13)에 의해 상기 통신 네트워크를 통하여 상기 데이터 블록들이 상기 임시 저장 영역(27)에 기록되자마자 상기 데이터 블록들의 상기 임시 저장 영역(27)에의 성공적 기록을 승인하는 제1 동기 승인 신호(3)를 상기 주 데이터 센터(PDC)에 제공하는 단계;
    상기 장치에 의해 상기 통신 네트워크를 통하여 상기 복구 데이터 센터(RDC)로 상기 데이터 블록을 전달하는 단계;
    상기 장치에 의해 상기 통신 네트워크를 통하여 상기 복구 데이터 센터(RDC)로의 상기 데이터 세트의 성공적인 업데이트를 승인하는 제2 승인 신호(6)를 수신 및 관리하는 단계; 및
    상기 제2 승인 신호(6)의 수신에 따라, 상기 임시 저장 영역(27)의 위치들을 새로운 입력 데이터 블록들에 대하여 사용가능하게 하는 단계를 포함하는 동기식 미러링 서비스 제공 방법.
  33. 제32항에 있어서,
    복수의 주 데이터 센터(PDC)와 관련된 각각의 클라이언트 시스템에 의해 발생한 각각의 데이터 블록들을 임시적으로 기록하기 위하여 상기 복수의 주 데이터 센터(PDC)를 도심 영역 형식 네트워크(MAN)에 배치된 상기 장치(13)에 연결시키는 단계;
    상기 도심 영역 형식 네트워크(MAN)를 광역 형식 네트워크(WAN)에 연결시키는 단계; 및
    상기 광역 형식 네트워크를 통하여 상기 장치(13)로부터 상기 복구 데이터 센터(RDC)로 상기 각각의 데이터 블록들을 전달하는 단계를 더 포함하는 동기식 미러링 서비스 제공 방법.
  34. 제33항에 있어서,
    상기 광역 형식 네트워크(WAN)를 통하여 상기 장치(13)로부터 상기 클라이언트 시스템(10) 고장의 경우 다른 클라이언트 시스템의 각각의 데이터 블록들에 관한 상기 복구 데이터 센터(RDC)로 상기 각각의 데이터 블록들을 전달하는 프로세스 에 우선권을 부여하는 단계를 더 포함하는 동기식 미러링 서비스 제공 방법.
KR1020077005734A 2004-08-12 2004-08-12 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치 KR101200453B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/009047 WO2006015612A1 (en) 2004-08-12 2004-08-12 A system, a method and a device for updating a data set through a communication network

Publications (2)

Publication Number Publication Date
KR20070059095A true KR20070059095A (ko) 2007-06-11
KR101200453B1 KR101200453B1 (ko) 2012-11-12

Family

ID=34958231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077005734A KR101200453B1 (ko) 2004-08-12 2004-08-12 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치

Country Status (9)

Country Link
US (1) US7987154B2 (ko)
EP (1) EP1776638B1 (ko)
JP (1) JP4902538B2 (ko)
KR (1) KR101200453B1 (ko)
CN (1) CN101031889B (ko)
AT (1) ATE414949T1 (ko)
DE (1) DE602004017913D1 (ko)
ES (1) ES2318300T3 (ko)
WO (1) WO2006015612A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101024249B1 (ko) * 2008-05-28 2011-03-29 매크로임팩트 주식회사 실시간 데이터 복제 시스템
KR20110046118A (ko) * 2009-10-28 2011-05-04 삼성전자주식회사 적응적 로깅 장치 및 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549080B1 (en) 2002-08-27 2009-06-16 At&T Corp Asymmetric data mirroring
US20080140798A1 (en) * 2006-12-08 2008-06-12 Aten International Co., Ltd. Storage adapter and method thereof
US8234327B2 (en) * 2007-03-30 2012-07-31 Netapp, Inc. System and method for bandwidth optimization in a network storage environment
US8135838B2 (en) 2008-04-08 2012-03-13 Geminare Incorporated System and method for providing data and application continuity in a computer system
US8959182B1 (en) * 2008-04-15 2015-02-17 Crimson Corporation Systems and methods for computer data recovery and destruction
US8364636B2 (en) * 2009-09-14 2013-01-29 International Business Machines Corporation Real time data replication
CN102379104B (zh) * 2010-01-22 2014-09-03 松下电器产业株式会社 功率收集装置、功率测量装置及功率收集方法
CN101877653A (zh) * 2010-06-29 2010-11-03 中兴通讯股份有限公司 告警变化信息是否丢失的判定方法、系统及主控板
US9223583B2 (en) * 2010-12-17 2015-12-29 Oracle International Corporation Proactive token renewal and management in secure conversations
US9047126B2 (en) * 2011-04-06 2015-06-02 International Business Machines Corporation Continuous availability between sites at unlimited distances
US9058304B2 (en) * 2011-06-30 2015-06-16 International Business Machines Corporation Continuous workload availability between sites at unlimited distances
US9641449B2 (en) * 2012-05-22 2017-05-02 International Business Machines Corporation Variable configurations for workload distribution across multiple sites
CN103678163B (zh) * 2012-09-18 2017-11-10 腾讯科技(深圳)有限公司 数据流的切换方法、装置及系统
US9104607B2 (en) 2012-10-31 2015-08-11 International Business Machines Corporation Simulation engine for use in disaster recovery virtualization
CN103118073B (zh) * 2013-01-08 2015-07-22 华中科技大学 一种云环境下虚拟机数据持久化存储系统和方法
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
CN107357536B (zh) * 2017-07-28 2020-07-07 郑州云海信息技术有限公司 分布式存储系统数据修改写方法及系统
US11061924B2 (en) * 2017-11-22 2021-07-13 Amazon Technologies, Inc. Multi-region, multi-master replication of database tables
CN113704212A (zh) * 2020-05-22 2021-11-26 深信服科技股份有限公司 服务器的数据同步方法、装置、设备及计算机存储介质
CN111752764A (zh) * 2020-08-31 2020-10-09 湖南康通电子股份有限公司 一种数据分布方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574950A (en) * 1994-03-01 1996-11-12 International Business Machines Corporation Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level
US6304980B1 (en) 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
JPH10207754A (ja) * 1997-01-16 1998-08-07 Fujitsu Ltd 更新系データベースの複製方式
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US6192481B1 (en) * 1998-08-18 2001-02-20 International Business Machines Corporation Structure and method for power sequencing of disk drives in a computer system
AU2000233265A1 (en) * 2000-03-23 2001-10-03 Mitsubishi Denki Kabushiki Kaisha Image retrieval/distribution system and image retrieval/distribution method
US20040233910A1 (en) 2001-02-23 2004-11-25 Wen-Shyen Chen Storage area network using a data communication protocol
EP1349088B1 (en) * 2002-03-19 2010-11-03 Network Appliance, Inc. System and method for determining and transmitting changes in snapshots
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20040006587A1 (en) * 2002-07-02 2004-01-08 Dell Products L.P. Information handling system and method for clustering with internal cross coupled storage
US7134044B2 (en) 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
JP2004086721A (ja) * 2002-08-28 2004-03-18 Nec Corp データ複製システム、中継装置、データ送受信方法およびストレージ内のデータを複製するためのプログラム
JP2004126716A (ja) * 2002-09-30 2004-04-22 Fujitsu Ltd 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
CN1497458A (zh) * 2002-10-15 2004-05-19 松下电器产业株式会社 网络数据发送系统
US20040146185A1 (en) * 2002-11-14 2004-07-29 Blair Forrest K. Apparatus, system, and method for creating an electronic description of a geographic site
JP2005267609A (ja) * 2004-02-20 2005-09-29 Fuji Photo Film Co Ltd デジタル図鑑システム、図鑑検索方法、及び図鑑検索プログラム
US7395265B2 (en) * 2004-08-27 2008-07-01 Hitachi, Ltd. Data processing system and storage subsystem provided in data processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101024249B1 (ko) * 2008-05-28 2011-03-29 매크로임팩트 주식회사 실시간 데이터 복제 시스템
KR20110046118A (ko) * 2009-10-28 2011-05-04 삼성전자주식회사 적응적 로깅 장치 및 방법

Also Published As

Publication number Publication date
EP1776638B1 (en) 2008-11-19
WO2006015612A1 (en) 2006-02-16
CN101031889B (zh) 2011-06-08
DE602004017913D1 (de) 2009-01-02
CN101031889A (zh) 2007-09-05
JP2008509489A (ja) 2008-03-27
WO2006015612A8 (en) 2006-05-11
US7987154B2 (en) 2011-07-26
JP4902538B2 (ja) 2012-03-21
KR101200453B1 (ko) 2012-11-12
ES2318300T3 (es) 2009-05-01
EP1776638A1 (en) 2007-04-25
ATE414949T1 (de) 2008-12-15
US20070255766A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
KR101200453B1 (ko) 통신 네트워크를 통한 데이터 세트 업데이트 시스템, 방법및 장치
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US6763436B2 (en) Redundant data storage and data recovery system
US9916113B2 (en) System and method for mirroring data
US6718347B1 (en) Method and apparatus for maintaining coherence among copies of a database shared by multiple computers
US7340490B2 (en) Storage network data replicator
EP1796004B1 (en) Storage system and data processing system
EP1639470B1 (en) Method, system and program for handling a failover to a remote storage location
JP4543051B2 (ja) Ipネットワーク上の遠隔データファシリティ
US7451287B2 (en) Storage system and remote copy method for storage system
JP2003208268A (ja) 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US20040260736A1 (en) Method, system, and program for mirroring data at storage locations
EP1873645A1 (en) Storage system and data replication method
JP2004535012A (ja) 仮想ストレージエリアネットワークを構築するためのネットワークデータミラーリング
JP2005327283A (ja) ミラーリングストレージインタフェース
JP2010533911A (ja) 異なるネットワークを介した1次ストレージから2次ストレージへの書き込みコピーを管理するための方法、システム、およびコンピュータ・プログラム
US7797571B2 (en) System, method and circuit for mirroring data
CN103828331A (zh) 用于提供可靠存储的系统和方法
WO2011026661A1 (en) Shared-bandwidth multiple target remote copy

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151023

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171023

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181024

Year of fee payment: 7