KR100650423B1 - 데이터 전송율을 조정하는 장치 및 방법 - Google Patents

데이터 전송율을 조정하는 장치 및 방법 Download PDF

Info

Publication number
KR100650423B1
KR100650423B1 KR1020040057654A KR20040057654A KR100650423B1 KR 100650423 B1 KR100650423 B1 KR 100650423B1 KR 1020040057654 A KR1020040057654 A KR 1020040057654A KR 20040057654 A KR20040057654 A KR 20040057654A KR 100650423 B1 KR100650423 B1 KR 100650423B1
Authority
KR
South Korea
Prior art keywords
primary
primary backup
appliances
delay
appliance
Prior art date
Application number
KR1020040057654A
Other languages
English (en)
Other versions
KR20050022281A (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 KR20050022281A publication Critical patent/KR20050022281A/ko
Application granted granted Critical
Publication of KR100650423B1 publication Critical patent/KR100650423B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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
    • 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

Abstract

(N)개의 주 백업 어플라이언스들 중 하나에 대한 데이터 전송율을 조정하는 방법은, 제1 주 백업 어플라이언스에 의해, 적어도 하나의 일관된 트랜잭션들을 형성한다. 이 제1 주 백업 어플라이언스는 (n)번째 상태 신호와, 다른 (N-1)개의 주 백업 어플라이언스들 각각으로부터의 (n+1)번째 상태 신호를 수신한다. 이 방법은 (N)개의 주 백업 어플라이언스들 각각에 대한 (n)번째 유효 대역폭과, (N)개의 주 백업 어플라이언스들 각각에 대한 (n)번째 완료 시간과, 모든 (N)개의 주 어플라이언스들에 대한 (n)번째 유효한 집단 대역폭을 계산한다. 만약 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 다른 (N-1)개의 주 백업 어플라이언스 각각에 대한 (n)번째 완료 시간보다 크다면, 본 방법은 제1 주 백업 어플라이언스를 제1 부 백업 어플라이언스로, 적어도 하나의 일관된 트랜잭션 세트를 지연없이 제공한다.

Description

데이터 전송율을 조정하는 장치 및 방법{APPARATUS AND METHOD TO ADJUST DATA TRANSFER RATE}
본 발명은 상세한 설명의 더 나은 이해를 위해 다음의 도면과 결합하여 설명되며, 참조 번호는 동일한 요소에 대해 동일하다.
도 1은 본 발명의 데이터 저장 및 검색 시스템의 하나의 실시예의 구성 요소를 보여주는 블럭 다이어그램이다.
도 2는 본 발명의 데이터 저장 및 검색 시스템의 제2 실시예의 구성 요소를 보여주는 블럭 다이어그램이다.
도 3은 본 발명의 데이터 저장 및 검색 시스템의 제3 실시예의 구성 요소를 보여주는 블럭 다이어그램이다.
도 4는 본 발명의 원 카피 데이터 저장 및 검색 시스템의 구성 요소를 보여주는 블럭 다이어그램이다.
도 5는 본 발명의 방법에 있어서, 임의의 최초의 단계를 요약한 흐름도이다.
도 6은 본 발명의 방법에 있어서, 임의의 추가적인 단계를 요약한 흐름도이다.
도 7은 본 발명의 방법에 있어서, 임의의 추가적인 단계를 요약한 흐름도이다.
본 발명은 복수의 백업 어플라이언스(backup appliance) 각각에 의해 사용되는 데이터 전송율을 조정하는 장치 및 방법에 관한 것이다.
많은 데이터 처리 시스템은 다량의 데이터 저장 공간을 필요로 하는데, 이는 데이터를 효율적으로 액세스하고, 개조하고, 재저장하기 위해 사용하기 위함이다. 데이터 저장 장치는 일반적으로 여러 개의 상이한 레벨로 분리되며, 각각의 레벨은 다른 액세스 시간 또는 데이터 저장 비용을 나타낸다. 제1 또는 가장 높은 레벨의 데이터 저장 장치는 전자 메모리, 일반적인 동적 또는 정적 랜덤 액세스 메모리(DRAM 또는 SRAM)을 포함한다. 전자 메모리는 반도체 집적 회로의 형태를 취하는데, 여기서 수백만 바이트의 데이터들이 나노세컨드로 측정되는 데이터 바이트들의 액세스 속도로 각 회로에 저장될 수 있다. 전자 메모리는 액세스가 전적으로 전자적이기 때문에 가장 빠른 액세스를 제공한다.
제2 레벨의 데이터 저장 장치는 일반적으로 직접 액세스 저장 장치(DASD, direct access storage device)를 포함한다. 예컨대, DASD 저장 장치는 자기적 및/또는 광학적 디스크를 포함한다. 데이터 비트는 데이터 비트의 2진 값을 포함하는 "1"과 "0"을 나타내도록, 디스크 표면상에 마이크로미터-크기의 자기적 또는 광학적으로 변형된 지점으로써 저장된다. 자기적 DASD는 램넌트 자성 물질로 피복된 하나 이상의 디스크를 포함한다. 이 디스크들은 보호 환경 내에서 회전 가능하도록 장착된다. 각 디스크는 다수의 집중 트랙 또는 근접한 동심원으로 분할된다. 데이터는 비트 단위로 각 트랙을 따라 직렬로 저장된다.
백업 데이터 카피를 하는 것은 데이터 손실로 피해를 입을 수 있는 많은 업무를 위해 필수불가결한 일이다. 손실된 데이터를 복구하는데 필요한 시간은 또한 복구를 위해 중요한 고려사항이다. 테이프 또는 라이브러리 백업에 있어서, 테이프 또는 라이브러리 저장 장치 상에 카피를 생성함으로써 중요 데이터가 주기적으로 백업된다.
또한, 만약 전체 시스템 또는 그 일부가 지진, 화재, 폭발, 허리케인 등과 같은 재난에 의해 파괴된 경우, 데이터 복구에 대한 보호가 필요하다. 일반적인 데이터 처리 시스템을 위한 재난 복구 보호(disaster recovery protection)는 주 DASD 상에 저장된 주 데이터가 보조 장소 또는 원격지에 백업되도록 하는 것을 필요로 한다. 주 장소(primary location)와 부 장소(secondary location)를 분리하는 물리적인 거리는 사용자에게 허용될 수 있는 위험도의 레벨에 따라 설정될 수 있으며, 수 킬로미터에서 수천 킬로미터까지 변할 수 있다.
부 장소(secondary site)는 주 장소(primary site)로부터 충분히 멀리 떨어져 있어야 할뿐만 아니라, 실시간으로 주 데이터(primary data)를 백업할 수 있어야 한다. 주 데이터는 최소 지연을 가지고 업데이트되기 때문에, 부 장소는 실시간으로 주 데이터를 백업할 필요가 있다. 부 장소를 필요로 하는 어려운 작업이란, 부 데이터(secondary data)가 "순서적인 일관성(order consistent)"이 있어야 한다 는 것인데, 이는 실질적인 시스템 고려를 필요로 하는 주 데이터(순차적 일관성, sequential consistency)와 동일한 일련 순서로 카피됨을 의미한다. 순차적 일관성은 데이터 처리 시스템에 있어서, 복수의 DASDs를 제어하는 복수의 저장 장치 제어기의 존재에 의해 복잡하게 이루어진다. 순차적인 일관성이 없이, 주 데이터와 상응하지 않는 부 데이터는 재난 복구를 어렵게 한다.
임의의 데이터 처리 어플리케이션에 있어서, 정보가, 하나 이상의 일관된 트랜잭션을 설정하는 트랜잭션 세트를 형성하는 하나 이상의 주 백업 어플라이언스에 제공된다. 그러한 하나 이상의 주 백업 어플라이언스는 일반적으로 주 저장 장소에 또는 그 근접한 장소에 위치된다. 주기적으로, 하나 이상의 주 백업 어플라이언스 각각은 공통 통신 링크를 통해, 일관된 트랜잭션 세트의 모두 또는 일부를, 하나 이상의 원격 저장 장소에 위치된 하나 이상의 부 백업 어플라이언스로 제공한다. 공통 통신 링크의 유효한 데이터 운반 대역폭을 최대한 사용하도록 복수의 백업 어플라이언스 각각의 데이터 전송율을 자동적으로 조정하는 방법이 필요하다.
본 발명은 (N)개의 주 백업 어플라인언스 중 하나에 대한 데이터 전송율을 조정하기 위한 장치 및 방법을 포함하며, 그러한 (N)개의 주 백업 어플라이언스 각각은 하나 이상의 주 데이터 저장 및 검색 시스템과 통신할 수 있으며, 하나 이상의 제2 데이터 저장 및 검색 시스템과 통신할 수 있는 제2 백업 어플라이언스를 갖고 있다. 본 방법은 (N)개의 주 백업 어플라이언스 중 주 어플라이언스를 제공하는데, 이 제1 주 백업 어플라이언스는 복수의 제2 백업 어플라이언스 중 제1 어플라 이언스와 통신할 수 있다.
이 방법은 제1 주 백업 어플라이언스에 의해, 하나 이상의 제1 데이터 저장 및 검색 시스템으로부터 수신되는 정보를 포함하는 적어도 하나의 일관된 트랜잭션을 형성한다. 제1 주 백업 어플라이언스는 다른 (N-1)개의 주 백업 어플라이언스 각각으로부터 n번째 상태 신호를 수신하며, 그 뒤 (n+1)번째 상태 신호를 다른 (N-1)개의 주 백업 어플라이언스 각각으로부터 수신한다.
이 방법은, (N)개의 주 백업 어플라이언스 각각에 대한 (n)번째 유효한 대역폭을 계산하며, (N)개의 주 백업 어플라이언스에 대해 완료되는 (n)번째 시간을 계산하고, 모든 (N)개의 주 어플라이언스에 대한 (n)번째 유효한 집단 대역폭(aggregate bandwidth)을 계산한다. 이 방법은 그 뒤, 이 제1 주 백업 어플라이언스에 대해 완료되는 이 (n)번째 시간이 다른 (N-1)개의 주 백업 어플라이언스 각각에 대해 완료되는 (n)번째 시간보다 더 큰지 여부를 결정한다. 만약 제1 주 백업 어플라이언스에 대해 완료되는 (n)번째 시간이 다른 (N-1) 주 백업 어플라이언스 각각에 대해 완료되는 (n)번째 시간보다 더 큰 경우에는, 이 방법은 적어도 일관된 트랜잭션 세트 중 모두 또는 일부를 제1 주 백업 어플라이언스로부터 제1 부 백업 어플라이언스로 지연 없이 제공하게 된다.
본 발명은 동일한 번호는 동일하거나 또는 유사한 요소를 나타내는 도면을 참조하여 다음의 설명서 상의 바람직한 실시예에서 설명된다.
도 4는 본 발명의 구성 요소를 나타낸다. 도 4에 있어서, 호스트 컴퓨터(390)는 통신 링크(402)를 통해, 주 데이터 저장 및 검색 시스템(410, 430 및 450) 과 서로 연결되어 통신한다. 일 실시예에 있어서, 통신 링크(402)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
주 데이터 저장 및 검색 시스템(410)은, 주 백업 어플라이언스(415) 및 부 백업 어플라이언스(420)를 통하여 부 정보 저장 매체(428)로 카피하기 위해, 주 정보 저장 매체(413)로부터 부 데이터 저장 및 검색 시스템(425)으로 정보를 제공한다. 정보 저장 및 검색 시스템(410)은 제어기(411) 및 광학적 데이터 캐시(412)를 더 포함한다. 정보 저장 및 검색 시스템(425)은 제어기(426)와, 선택적으로는 광학적 데이터 캐시(427)를 더 포함한다.
일 실시예에 있어서, 정보 저장 매체(413)는 DASD를 포함한다. 일 실시예에 있어서, 정보 저장 매체(413)는 하나 이상의 RAID 어레이를 포함한다. 일 실시예에 있어서, 정보 저장 매체(413)는, 예컨대, 휴대용 용기(예컨대, 테이프 카트리지와 같은) 내에 개별적으로 부착된 복수의 자기 테이프를 포함하는 복수의 휴대용 정보 저장 매체를 포함한다.
일 실시예에 있어서, 정보 저장 매체(428)는 DASD를 포함한다. 일 실시예에 있어서, 정보 저장 매체(428)는 하나 이상의 RAID 어레이를 포함한다. 일 실시예에 있어서, 정보 저장 매체(428)는, 휴대용 컨테이너(예컨대 테이프 카트리지와 같은) 내에 개별적으로 부착된 복수의 자기 테이프를 포함하는 복수의 휴대용 정보 저장 매체를 포함한다.
일 실시예에 있어서, 주 백업 어플라이언스(415)는 주 데이터 저장 및 검색 시스템(410)과 함께 구성된다. 도 4에서 설명되는 실시예에 있어서 주 백업 어플라이언스(415)는 주 데이터 저장 및 검색 시스템(410)의 외부에 배치된다. 통신 링크(414)를 통해 주 데이터 저장 및 검색 시스템(410)과 통신한다. 일 실시예에 있어서, 통신 링크(414)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
일 실시예에 있어서, 부 백업 어플라이언스(420)는 부 데이터 저장 및 검색 시스템(425)과 함께 구성된다. 도 4의 일 실시예에 있어서, 부 백업 어플라이언스(420)는 부 데이터 저장 및 검색 시스템(425)의 외부에 배치된다. 통신 링크(429)를 통해 부 데이터 저장 및 검색 시스템(425)과 통신한다. 일 실시예에 있어서, 통신 링크(429)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
주 데이터 저장 및 검색 시스템(430)은 주 백업 어플라이언스(435) 및 부 백업 어플라이언스(440)를 통해, 부 정보 저장 매체(448)로 카피하도록, 주 정보 저장 매체(433)로부터 부 정보 저장 매체(448)로 정보를 제공한다. 정보 저장 및 검색 시스템(430)은 제어기(431), 및 광학적 데이터 캐시(432)를 더 포함한다. 정보 저장 및 검색 시스템(445)은 제어기(446)와, 선택적으로는 광학적 데이터 캐시(447)를 더 포함한다.
일 실시예에 있어서, 정보 저장 매체(433)는 DASD를 포함한다. 일 실시예에 있어서, 정보 저장 매체(433)는 하나 이상의 RAID 어레이를 포함한다. 일 실시예에 있어서, 정보 저장 매체(433)는, 휴대용 컨테이너(예컨대 테이프 카트리지와 같은) 내에 개별적으로 부착된 복수의 자기 테이프를 포함하는 복수의 휴대용 정보 저장 매체를 포함한다.
일 실시예에 있어서, 정보 저장 매체(448)는 DASD를 포함한다. 일 실시예에 있어서, 정보 저장 매체(448)는 하나 이상의 RAID 어레이를 포함한다. 일 실시예에 있어서, 정보 저장 매체(448)는, 휴대용 컨테이너(예컨대 테이프 카트리지와 같은) 내에 개별적으로 부착된 복수의 자기 테이프를 포함하는 복수의 휴대용 정보 저장 매체를 포함한다.
일 실시예에 있어서, 주 백업 어플라이언스(435)는 주 데이터 저장 및 검색 시스템(430)과 함께 구성된다. 도 4에서 설명되는 실시예에 있어서 주 백업 어플라이언스(435)는 주 데이터 저장 및 검색 시스템(430)의 외부에 배치된다. 통신 링크(434)를 통해 주 데이터 저장 및 검색 시스템(430)과 통신한다. 일 실시예에 있어 서, 통신 링크(434)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
일 실시예에 있어서, 부 백업 어플라이언스(440)는 부 데이터 저장 및 검색 시스템(445)과 함께 구성된다. 도 4에서 설명되는 실시예에 있어서, 부 백업 어플라이언스(440)는 부 데이터 저장 및 검색 시스템(445)의 외부에 배치된다. 통신 링크(449)를 통해 부 데이터 저장 및 검색 시스템(445)과 통신한다. 일 실시예에 있어서, 통신 링크(449)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
주 데이터 저장 및 검색 시스템(450)은 주 백업 어플라이언스(445) 및 부 백업 어플라이언스(460)를 통해, 부 정보 저장 매체(468)로 카피하도록, 주 정보 저장 매체(453)로부터 부 정보 저장 및 검색 매체(465)로 정보를 제공한다. 정보 저장 및 검색 시스템(450)은 제어기(451), 및 광학적 데이터 캐시(452)를 더 포함한다. 정보 저장 및 검색 시스템(465)은 제어기(466) 및 광학적 데이터 캐시(467)를 더 포함한다.
일 실시예에 있어서, 정보 저장 매체(453)는 DASD를 포함한다. 일 실시예에 있어서, 정보 저장 매체(453)는 하나 이상의 RAID 어레이를 포함한다. 일 실시예에 있어서, 정보 저장 매체(453)는, 휴대용 컨테이너(예컨대 테이프 카트리지와 같은) 내에 개별적으로 부착된 복수의 자기 테이프를 포함하는 복수의 휴대용 정보 저장 매체를 포함한다.
일 실시예에 있어서, 정보 저장 매체(468)는 DASD를 포함한다. 일 실시예에 있어서, 정보 저장 매체(468)는 하나 이상의 RAID 어레이를 포함한다. 일 실시예에 있어서, 정보 저장 매체(468)는, 휴대용 컨테이너(예컨대 테이프 카트리지와 같은) 내에 개별적으로 부착된 복수의 자기 테이프를 포함하는 복수의 휴대용 정보 저장 매체를 포함한다.
일 실시예에 있어서, 주 백업 어플라이언스(455)는 주 데이터 저장 및 검색 시스템(450)과 함께 구성된다. 도 4에서 설명되는 실시예에 있어서 주 백업 어플라이언스(455)는 주 데이터 저장 및 검색 시스템(450)의 외부에 배치된다. 통신 링크(454)를 통해 주 데이터 저장 및 검색 시스템(450)과 통신한다. 일 실시예에 있어서, 통신 링크(454)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
일 실시예에 있어서, 부 백업 어플라이언스(460)는 부 데이터 저장 및 검색 시스템(465)과 함께 구성된다. 도 4에서 설명되는 실시예에 있어서, 부 백업 어플라이언스(460)는 부 데이터 저장 및 검색 시스템(465)의 외부에 배치된다. 통신 링크(469)를 통해 부 데이터 저장 및 검색 시스템(465)과 통신한다. 일 실시예에 있어서, 통신 링크(469)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
주 백업 어플라이언스(415, 435 및 455)는 주 데이터 저장 및 검색 시스템(410, 430 및 450)으로부터 개별적으로 정보를 수신한다. 또한, 임의의 주 백업 어플라이언스는 임의의 주 데이터 저장 및 검색 시스템으로부터 정보를 수신할 수 있다. 주기적으로, 각 주 백업 어플라이언스는 일관된 트랜잭션 세트를 형성한다. "일관된 트랜잭션 세트"란, 세트 내의 모든 트랜잭션들이 부 데이터 저장 및 검색 시스템 제어기에 적용되는 경우, 세트가 생성된 시간의 지정에서 부 저장이 주 저장과 동일하게 보이는 트랜잭션 세트를 의미한다.
일 실시예에 있어서, 하나 이상의 데이터 저장 및 검색 시스템(410, 425, 430, 445 및/또는 465)는 데이터 저장 및 검색 시스템(100, 도 1)을 포함한다. 도 1에 있어서, 저장 및 검색 시스템(100)은 제1 클러스터(110a) 및 제2 클러스터(101b)를 포함한다. 각 클러스터는 프로세서부(130/140) 및 입/출력부(160/170)를 포함한다. 각 클러스터 내의 내부 PCI 버스들은 프로세서부(130/140) 및 I/O부 (160/170) 사이에서, 각각 원격 I/O 브릿지(155/165)를 통해 연결된다.
정보 저장 및 검색 시스템(100)은 복수의 호스트 어댑터들[4개의 호스트 베이(101) 내에 배치되어 있는 102-105, 107-110, 112-115 및 117-120와, 106, 111 및 116]을 더 포함한다. 각 호스트 어댑터는 하나의 파이버 채널 포트, 하나의 FICON 포트, 2개의 ESCON 포트, 또는 2개의 SCSI 포트를 포함할 수 있다. 각 호스트 어댑터는 하나 이상의 공통 플랫폼 인터커넥트 버스들(121 및 150)을 통해 두 클러스터에 연결되어, 각 클러스터는 임의의 호스트 어댑터로부터 I/O를 처리할 수 있다.
프로세서부(130)는 프로세서(132) 및 캐시(134)를 포함한다. 일 실시예에 있어서, 프로세서(132)는 64-비트 RISC 기반 대칭형 멀티프로세서(symmetric multiprocessor)를 포함한다. 일 실시예에 있어서, 프로세서(132)는, 내장 폴트 및 에러 수정 기능(built-in fault and error-correction function)을 포함한다. 캐시(134)는 부착된 호스트 시스템으로의 실행을 향상시키도록 판독 및 기록 데이터 모두를 저장하기 위해 사용된다. 일 실시예에 있어서, 캐시(134)는 대략 4 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(134)는 대략 8 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(134)는 대략 12 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(144)는 대략 16 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(134)는 대략 32 기가 바이트를 포함한다.
프로세서부(140)는 프로세서(142) 및 캐시(144)를 포함한다. 일 실시예에 있어서, 프로세서(142)는 64-비트 RISC 기반 대칭형 멀티프로세서(symmetric multiprocessor)를 포함한다. 일 실시예에 있어서, 프로세서(142)는, 내장 폴트 및 에러 수정 기능을 포함한다. 캐시(144)는 부착된 호스트 시스템으로의 실행을 향상시키도록 판독 및 기록 데이터 모두를 저장하기 위해 사용된다. 일 실시예에 있어서, 캐시(144)는 대략 4 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(144)는 대략 8 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(144)는 대략 12 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(144)는 대략 16 기가 바이트를 포함한다. 일 실시예에 있어서, 캐시(144)는 대략 32 기가 바이트를 포함한다.
I/O부(160)는 비-휘발성 저장 장치("NVS", non-volatile storage, 162) 및 NVS 배터리들(164)을 포함한다. NVS(162)는, 데이터 무결성(data integrity)이란 전력 오류가 클러스터 오류이어야만 한다는 것을 보장하도록 기록 데이터의 제2 카피를 저장하는데 사용되고, 그 데이터의 캐시 카피는 손상된다. NVS(162)는 대략 1 기가 바이트의 저장을 포함한다. 일 실시예에 있어서, NVS(162)는 4개의 이격된 메모리 카드를 포함한다. 일 실시예에 있어서, NVS 카드 각 쌍은, 만약 전력이 72시간까지 동안 전체 시스템 상에서 손실된 경우에도 데이터를 보호할 수 있는 배터리로 전력 공급되는 시스템을 포함한다.
I/O부(170)는 NVS(172) 및 NVS 배터리들(174)을 포함한다. NVS(172)는, 데이터 무결성(data integrity)이란 전력 오류가 클러스터 오류이어야만 한다는 것을 보장하도록 기록 데이터의 제2 카피를 저장하는데 사용되고, 그 데이터의 캐시 카피는 손상된다. NVS(172)는 대략 1 기가 바이트의 저장을 포함한다. 일 실시예에 있어서, NVS(172)는 4개의 이격된 메모리 카드를 포함한다. 일 실시예에 있어서, NVS 카드 각 쌍은, 만약 전력이 72시간까지 동안 전체 시스템 상에서 손실된 경우에도 데이터를 보호할 수 있는 배터리로 전력 공급되는 시스템을 포함한다.
클러스터(101b)의 장애의 경우, 이 실패한 클러스터를 위한 기록 데이터가 재생되는 클러스터(101a)에 배치된 NVS(162)에 상주한다. 이 기록 데이터는 그 뒤 RAID 랭크로 높은 우선권을 디스테이지한다(destage). 동시에, 재생되는 클러스터(101a)는 그 자신의 기록 데이터를 위한 NVS(162)를 사용하기 시작하여 그로써, 기록 데이터의 2개의 카피가 여전히 유지되고 있음을 보장한다.
I/O 포트(160)는 장치 어댑터(165, 166, 167 및 168)와, 2개의 RAID 랭크(즉, RAID 랭크 "A" 및 RAID 랭크 "B")로 조직화되는 16 개의 디스크 드라이브들과 같은 복수의 장치 어댑터를 더 포함한다. 일 실시예에 있어서, RAID 랭크 "A" 및 "B"는 RAID 5 프로토콜을 사용한다. 일 실시예에 있어서, RAID 랭크 "A" 및 "B"는 RAID 10 프로토콜을 사용한다.
일 실시예에 있어서, 하나 이상의 데이터 저장 및 검색 시스템(410, 425, 430, 445, 450 및/또는 465)는 데이터 저장 및 검색 시스템(200, 도 2)을 포함한다. 도 2는 시스템(200)의 일 실시예를 나타낸다.
시스템(200)은 호스트 컴퓨터(390, 도 4)와 같은 하나 이상의 호스트 시스템으로부터의 커맨드에 응답하여, 휴대용 데이터 저장 매체에 액세스하도록 구성된다. 시스템(200)은, 데이터 저장 매체를 구비하는 휴대용 데이터 저장 카트리지를 저장하기 위해, 정면(270) 및 후면(290)에 복수의 저장 쉘브들(storage shelves)을 포함한다. 시스템(200)은 데이터 저장 매체에 관한 판독 및/또는 기록 데이터를 위 한 적어도 하나의 데이터 저장 드라이브(250)와, 복수의 저장 쉘브들(260) 및 데이터 저장 드라이브(들)(250) 사이에서 데이터 저장 매체를 전송하기 위한 적어도 하나의 액세서(210)를 더 포함한다. 시스템(200)은 선택적으로, 사용자로 하여금 라이브러리와 상호작용을 할 수 있도록 하는 웹-기반 인터페이스와 같은 운영자 패널(230) 또는 다른 사용자 인터페이스를 포함할 수 있다. 시스템(200)은 선택적으로 더 높은 임포트/액스포트 스테이션(240) 및/또는 더 낮은 임포트/액스포트 스테이션(245)을 포함할 수 있으며, 이 시스템은 데이터를 라이브러리로 삽입하거나, 라이브러리 동작을 방해하지 않고 라이브러리로부터 데이터를 제거할 수 있다.
액세서(210)는 Z축을 따라 양방향으로 이동할 수 있는 리프팅 서보 섹션(212, lifting servo section)을 포함한다. 액세서(accessor, 210)는 하나 이상의 데이터 저장 매체를 그립하기(gripping) 위한 적어도 하나 이상의 그리퍼 어셈블리(gripper assembly)를 더 포함할 수 있다. 도 2에서 설명된 실시예에 있어서, 액세서(210)는 데이터 저장 매체에 관한 정보를 식별하여 "쓰도록", 스마트 카드 리더(smart card reader) 또는 유사한 시스템과 같이, 바 코드 스캐너(214) 또는 다른 판독 시스템을 더 포함한다. 도 2에서 설명된 실시예에 있어서, 액세서(210)는 리프팅 서보 섹션(212)에 배치되는 제2 그리퍼 매카니즘(218)을 더 포함한다.
일 실시예에 있어서, 시스템(200)은 하나 이상의 저장 프레임을 포함하고, 각 프레임은 액세서(210)에 의해 액세스 가능한 저장 쉘브(260)를 구비한다. 액세서(210)는 레일(205) 상의 X축을 따라 양방향으로 이동한다. 복수의 프레임을 포함하는 라이브러리(100)의 실시예에 있어서, 그러한 개별적인 프레임들 각각의 레일 (205)이 정렬되어, 액세서(210)는 라이브러리의 한쪽 끝에서 반대쪽 끝으로 연속된 레일 시스템을 따라 이동한다.
일 실시예에 있어서, 하나 이상의 데이터 저장 및 검색 시스템(410, 425, 430, 445, 450 및/또는 465)은 데이터 저장 및 검색 시스템(300, 도 3)을 포함한다. 도 3에 있어서, 가상 테이프 서버(300, virtual tape server, VTS)는 데몬들(daemons, 370, 372 및 374)을 통해, 하나 이상의 호스트 그리고 하나 이상의 가상 테이프 서버와 함께 통신한다. 도 3에 설명된 실시예에 있어서, 데몬(370)은 통신 링크(380)를 통해서 제1 호스트와 통신한다. 도 3에 설명된 실시예에 있어서, 데몬(372)은 통신 링크(382)를 통해 제2 호스트와 통신한다. 예컨대, 데몬(374)은 통신 링크(384)를 통해 어플라이언스(415)와 같은 주 백업 어플라이언스와 통신한다.
VTS(300)는 또한 직접 액세스 저장 장치(DASD, 310), 복수의 데이터 저장 장치(330 및 340)와 통신한다. 일 실시예에 있어서, 데이터 저장 장치(330 및 340)는 하나 이상의 데이터 저장 및 검색 시스템 내에 배치된다. 일 실시예에 있어서, DASD(310)는 호스트(110, 도 1)와 함께 구성된다. 일 실시예에 있어서, DASD(310)는 VTS(300)와 함께 구성된다. 일 실시예에 있어서, DASD(310)는 데이터 저장 및 검색 시스템과 함께 구성된다. 일 실시예에 있어서, DASD(310)는 호스트(110), VTS(300)와, VTS(300)와 통신하는 하나 이상의 데이터 저장 및 검색 시스템의 외부에 배치된다.
VTS(300)는 IBM Adstar? Distributed Storage Manager와 같은 저장 관리자 (320)를 더 포함한다. 저장 관리자(320)는 DASD(310)으로부터, 데이터 저장 장치(330 및 340)에 장착된 정보 저장 매체로의 데이터의 이동을 제어한다. 일 실시예에 있어서, 저장 관리자(320)는 ADSM 서버(322)와 ADSM 계층적 저장 관리자 클라이언트(324)를 포함한다. 또한, 서버(322) 및 클라이언트(324)는 각각 ADSM 시스템을 포함한다. DASD(310)으로부터의 정보는 ADSM 서버(322) 및 SCSI 어댑터(385)를 통해 데이터 저장 장치들(330 및 340)에 제공된다.
VTS(300)는 자율 제어기(350)를 더 포함한다. 자율 제어기(350)는 계층적 저장 관리자(Hierarchical Storage Manager, HSM) 클라이언트(324)를 통한 DASD(310)의 작동과, DASD(310) 및 데이터 저장 장치들(130 및 140) 사이의 데이터 전송을 제어한다.
도 4로 다시 돌아가서, 각 주 백업 어플라이언스는 다른 주 백업 어플라이언스와 다른 속도로 다양한 다른 주 저장 제어기로부터 데이터를 수신한다. 예컨대, 주 백업 어플라이언스에 의해 형성되는 일관된 트랜잭션 세트의 사이즈는 광범위하게 변할 수 있다. 현재 출원 계속중인 특허 출원("일관적인 카피를 생성하기 위한 방법, 시스템 및 제조품"이라는 명칭의 출원 번호 제10/339,957호)은 일관된 트랜잭션 세트를 형성하는 방법을 개시하고 있으며, 본 명세서에서 전반적으로 참조로써 통합된다.
어플라이언스(415, 425 및 435)와 같은 주 백업 어플라이언스 각각은, 통신 링크(470)를 통해, 각각 어플라이언스(420, 430 및 440)와 같은 대응 부 백업 어플라이언스로 일관된 트랜잭션 세트를 제공한다. 일 실시예에 있어서, 통신 링크 (470)는 RS-232 케이블 또는 RS-432 케이블, 이더넷 인터커넥션, SCSI 인터커넥션, 파이버 채널 인터커넥션, ESCON 인터커넥션, FICON 인터커넥션, 로컬 에어리어 네트워크(LAN), 프라이빗 와이드 에어리어 네트워크(WAN), 퍼블릭 와이드 에어이어 네트워크, 스토리지 에어리어 네트워크(SAN), TCP/IP, 인터넷 및 그 조합과 같은 직렬 인터커넥션을 포함하는 그룹으로부터 선택된다.
주 어플라이언스(415, 435 및 455)와 같은 복수의 주 백업 어플라이언스로부터, 어플라이언스(420, 440 및 460)와 같은 복수의 부 백업 어플라이언스로의 데이터 전송을 최적화하기 위하여, 통신 링크(470)의 대역폭이 전부 사용되어야 한다. 일 실시예에 있어서, 단일 주 백업 어플라이언스는 공통 통신 링크[즉, 통신 링크(470)]의 대역폭을 전부 사용할 수 있다. 이러한 실시예에 있어서, 일관된 트랜잭션 세트를 하나 이상의 부 백업 어플라이언스로 제공하는 경우, 하나 이상의 주 백업 어플라이언스가 통신 링크를 사용하는 것이 바람직하다.
추가로, 각 주 백업 어플라이언스는 일관된 트랜잭션 세트의 전송을 거의 동시에 완료하는 것이 바람직한데, 이는 이러한 전송이 세트 단위를 기반으로 발생하기 때문이다. 그러므로, 잔여 주 어플라이언스가 일관된 트랜잭션 세트의 전송을 완료하기 전에, 하나의 주 백업 어플라이언스가 일관된 트랜잭션의 전송을 완료하는 것에는 이점이 존재하지 않는다.
만약, 제1 어플라이언스가 충분한 통신 링크(470)의 대역폭을 할당받지 못했기 때문에, 제1 주 백업 어플라이언스에 대한 일관된 트랜잭션 세트의 전송을 완료하는 시간이 잔여 주 백업 어플라이언스에 대한 TTC를 초과한다면, 그러한 TTCs의 차이는 부 백업 어플라이언스가 부 데이터 저장 및 검색 시스템으로 정보를 제공하는 속도에 역으로 영향을 준다. 본 발명의 방법을 사용하여, 주 백업 어플라이언스들 각각은, 주 백업 어플라이언스들 각각을 복수의 부 백업 어플라이언스들과 함께 상호 연결시키는 공통 통신 링크를 사용하여, 자율적으로 그 TTC를 조정한다.
본 발명은 본 발명의 시스템 내에서 각각의 주 백업 어플라이언스의 데이터 전송 속도를 자율적으로 조정하는 방법을 포함한다. 도 5는 각각의 (N)개의 주 백업 어플라이언스의 데이터 전송 속도를 자동으로 조정하는 방법의 단계를 요약한 것이다. 설명을 위해, 도 5, 6 및 7의 단계가, 하나의 주 백업 어플라이언스(즉, 제1 주 어플라이언스)에 의해 실행되는 것으로서 아래에 설명된다. 구현을 위해, 도 5, 6 및/또는 7의 단계들은 독립적으로(즉, 자율적으로) 각각의 (N)개의 주 백업 어플라이언스에 의해 실행된다.
도 5의 단계(510)에 있어서, 제1 주 백업 어플라이언스는 각 잔여 (N-1)개의 주 백업 어플라이언스로부터의 상태 신호를 수신한다. 제1 주 백업 어플라이언스를 포함하는 각각의 주 백업 어플라이언스는 주기적으로 각각의 다른 주 백업 어플라이언스에 상태 신호[종종 "하트 비트(heart beat)" 신호로 호칭됨]를 보낸다.
각각의 이러한 상태 신호는, (N)개의 주 백업 어플라이언스를 각각의 부 백업 어플라이언스를 상호 결합시키는 통신 링크(470, 도 4)와 같은 공통 통신 링크를 통한 하나 이상의 백업 어플라이언스로의 전송을 위해 (n)번째 양[(n)th amount of information]의 정보를 포함한다.
(n)번째 상태 신호 내의 각 주 백업 어플라이언스에 의해 보고되는 (n)번째 정보의 양은 고정된 양의 데이터를 포함한다. 일 실시예에 있어서, (n)번째 정보량[(n)th amount of information]은 적어도 하나의 일관된 트랜잭션 세트를 포함한다. 일 실시예에 있어서, (n)번째 정보량은 적어도 하나의 일관된 트랜잭션 세트의 일부를 포함한다.
본 발명의 방법은 제1 주 백업 어플라이언스가 다음 상태 신호[즉, (n+1)번째 상태 신호]를 각 잔여 (N-1)개의 주 백업 어플라이언스로부터 수신하는 단계(515)로부터 전이된다. 각각의 (n+1)번째 상태 신호는 공통 통신 링크를 통해 하나 이상의 부 백업 어플라이언스를 위한 (n+1)번째 정보량를 포함한다.
단계(515)의 (n+1)번째 정보량은 고정된 양의 데이터를 포함한다. 단계(515)의 (n+1)번째 정보량은 일반적으로 단계(510)의 (n)번째 정보량보다 적은 것이다. 제1 주 백업 어플라이언스가 어떤 데이터를 (n)번째 상태 신호와 (n+1)번째 상태 신호 사이의 간격에서 하나 이상의 부 백업 어플라이언스로 제공하지 않았다면, (n+1)번째 정보량은 (n)번째 정보량과 동일하다.
본 발명의 방법은, 단계(515)로부터, 제1 주 백업 어플라이언스가 (N)개의 어플라이언스 각각에 대한 (n)번째 유효 대역폭(effective bandwidth)을 계산하는 단계(520)로 전이된다. 제1 주 백업 어플라이언스는 정보를 보냈던 시간 간격에 의해 하나 이상의 부 어플라이언스로 보내진 정보를 분할함으로써 그것의 (n)번째 유효 대역폭을 결정할 수 있다. 제1 주 백업 어플라이언스는 상태 신호 간격 신호에 의해, 각각의 잔여 주 어플라이언스에 대해서, (n)번째 정보량과 (n+1)번째 정보량 사이의 개별적인 차이를 분할함으로써 잔여 (N-1)개의 어플라이언스 각각에 대한 (n)번째 유효 대역폭을 결정한다.
본 발명의 방법은 단계(520)로부터 단계(525)로 전이하는데, 제1 주 백업 어플라이언스는 (N)개의 주 백업 어플라이언스 각각에 대한 완료 시간(time to completion, TTC)을 계산한다. 단계(525)의 TTC 값은, (N)개의 주 백업 어플라이언스가 단계(520)의 (n)번째 유효 대역폭을 사용하여, 정보의 잔여량을, 하나 또는 이상의 부 백업 어플라이언스로 보내는데 필요한 시간을 포함한다. 단계(525)는 각각의 (N)개의 어플라이언스에 대해, 단계(520)의 (n)번째 유효 대역폭에 의해 (n+1)번째 정보량을 분할하는 단계를 포함한다.
본 발명의 방법은 단계(525)로부터 단계(530)로 전이하고, 제1 주 백업 어플라이언스는 (N)개의 주 백업 어플라이언스에 대한 (n)번째 집단 대역폭을 계산한다. 당업자가 이해하는 바와 같이, 단계(530)는 단계(520)의 각각의 (n)번째 개별적인 대역폭에 대해 (N)개의 값을 평균화하는 단계를 포함한다.
본 발명의 방법은 단계(530)로부터 단계(535)로 전이하며, 이 방법은 제1 주 백업 어플라이언스가 (N)개의 주 백업 어플라이언스 사이에서 가장 큰 (n)번째 TTC 시간을 갖는지 여부를 결정한다. 만약 이 방법이 단계(535)에서 제1 주 백업 어플라이언스가 (N)개의 주 백업 어플라이언스 중 가장 큰 (n)번째 TTC 시간을 갖는다고 판단한다면, 본 발명의 방법은 단계(535)로부터 단계(550)로 전이하고, 이 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 0으로 설정한다. 본 발명의 방법은 단계(550)로부터 단계(560)로 전이하고, 이 방법은 제1 주 백업 어플라이언스에 의해, (n)번째 지연을 사용하여, 공통 통신 링크를 통해 하나 또는 이상의 부 백업 어플라이언스로, 일관된 트랜잭션 세트의 전부 또는 일부를 포함하는 데이터를, 제공한다.
"(n)번째 지연을 사용하여" 데이터를 제공한다는 것은, 각각의 어플라이언스가, 어플라이언스의 일관된 트랜잭션 세트의 전부 또는 일부를 포함하는 고정된 양의 데이터를 보낸다는 것을 의미한다. 이 데이터를 보낸 후에, 각 어플라이언스는 그 (n)번째 지연 값 동안 "슬립(sleep)"한다. 이 과정은 (n)번째 지연 값 변화 또는 일관된 트랜잭션 세트에 대한 데이터가 모두 보내질 때까지 반복된다.
만약 본 발명의 방법이, 제1 주 백업 어플라이언스가 (N)개의 주 백업 어플라이언스의 가장 큰 TTC 시간을 갖지 않는다는 것을 단계(535)에서 결정한다면, 이 방법은 단계(535)로부터 단계(540)로 전이하고, (n)번째 집단 대역폭이 (n-1)번째 대역폭보다 작은지 여부를 결정한다. 만약 본 발명의 방법이, (n)번째 집단 대역폭이 (n-1)번째 대역폭보다 작지 않다고 단계(540)에서 결정한다면, 이 방법은 단계(540)로부터 단계(555)로 전이되고, 제1 주 어플라이언스에 대한 (n)번째 지연을 확립한다. 이 방법의 최초 반복(initial iteration)에서[즉, (n)은 1], (n-1)번째 집단 대역폭은 존재하지 않는다. 그러므로, (n)이 1인 경우, 단계(540)의 결정은 필연적으로 "아니오"이다.
만약 본 발명의 방법이, (n)번째 집단 대역폭이 (n-1)번째 대역폭보다 작다고 단계(540)에서 결정한다면, 이 방법은 단계(540)로부터 단계(545)로 전이되고, 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연이 제1 주 백업 어플라이언스에 대한 (n-2)번째 지연보다 큰지 여부를 결정한다. 만약 본 발명의 방법이 제1 주 백 업 어플라이언스에 대한 (n-1)번째 지연이 제1 주 백업 어플라이언스에 대한 (n-2)번째 지연보다 크다고, 단계(545)에서 결정한다면, 이 방법은 단계(545)로부터 단계(565)로 전이되고, 이 방법은 (n)번째 지연을 (n-2)번째 지연으로 설정한다. 또한, 만약 이 방법이 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연은 제1 주 백업 어플라이언스에 대한 (n-2)번째 지연보다 크지 않다고, 단계(545)에서 결정한다면, 이 방법은 단계(545)에서 단계(555)로 전이된다.
그러므로, 제1 예에 있어서, 본 발명의 방법의 제2 반복[즉, (n)이 2이고, (n-2)번째 지연이 없는 경우]에서, 단계(545)의 결정은 필연적으로 "아니오"이며, 이 방법은 단계(545)에서 단계(555)로 전이된다. 제2 예로써, 만약 이 방법의 제1 반복[즉 (n)이 1]에서, 제1 지연은 제1 주 백업 어플라이언스에 대한 세트이고, 제1 지연 어플라이언스 시스템을 사용하여 제1 집단 대역폭에서 데이터를 제공한다. 그 이후에 제2 반복(즉 n이 2인 경우)에서, 제1 주 백업 어플라이언스에 대한 지연이 증가하고, 제1 주 백업 어플라이언스 시스템에 대한 제2 지연은 제2 집단 대역폭에서 데이터를 제공하며, 제2 집단 대역폭은 제1 집단 대역폭보다 작다. 제3 반복에서[(n)이 3인 경우], 본 발명의 방법은 단계(545)에서 "예" 결정으로 회귀하고, 단계(565)로 전이하며, 이 방법은 제1 주 백업 어플라이언스에 대한 제3 지연을 제1 지연값으로 설정한다.
단계(550, 555, 및 565)는 단계(560)로 전이되는데, 이 방법은 (n)번째 지연을 사용하여, 제1 주 백업 어플라이언스로부터 하나 이상의 제2 백업 어플라이언스로 데이터를 제공한다. 본 발명의 방법은 단계(560)로부터 단계(570)로 전이하는 데, 이 방법은 (n)을 증가시킨다. 이 방법은 단계(570)로부터 단계(515)로 전이하며, 과정을 지속한다.
도 6은 단계(555, 도 5)에서 (n)번째 지연을 확립하는 본 발명의 방법의 2개의 실시예의 단계를 요약하고 있다. 도 6의 단계(610)에서, 본 방법은 모든 (N)개의 주 백업 어플라이언스에 대한 (n)번째 평균 TTC를 계산한다. 일 실시예에 있어서, 단계(610)는 주 백업 어플라이언스(415, 도 4)와 같이, 제1 주 백업 어플라이언스에 의해 실행된다. 당업자가 이해하는 바와 같이, 단계(610)는 단계(520, 도 5)에서 결정된 (N)개의 (n)번째 대역폭 각각에 대한 평균값을 결정하는 단계를 포함한다.
본 방법은 단계(610)로부터 단계(615)로 전이되는데, 이 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 TTC가 모든 어플라이언스에 대한 (n)번째 평균 TTC와 실질적으로 동일한지 여부를 결정한다. "실질적으로 동일하다"는 것은, 대략 플러스 마이너스 10 퍼센트(10%)보다 적게 차이나는 것을 의미한다. 일 실시예에 있어서, 단계(615)는 주 백업 어플라이언스(415, 도 4)와 같이, 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(615)는 제어기(417, 도 4)와 같이 제1 주 백업 어플라이언스에 배치된 제어기에 의해 실행된다.
만약 본 방법이 제1 주 백업 어플라이언스에 대한 (n)번째 TTC가 모든 어플라이언스에 대한 (n)번째 평균 TTC와 실질적으로 동일하다고 결정한다면, 본 방법은 단계(615)로부터 단계(625)로 전이되고, 이 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 그 어플라이언스에 대한 (n-1)번째 지연과 동일하게 설정한 다. 일 실시예에 있어서, 단계(625)는 주 백업 어플라이언스(415, 도 4)와 같은, 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(625)는 제어기(417, 도 4)와 같은, 제1 주 백업 어플라이언스 내에 배치된 제어기에 의해 실행된다.
만약 본 방법이, 제1 주 백업 어플라이언스에 대한 (n)번째 TTC가 모든 어플라이언스에 대한 (n)번째 평균 TTC와 실질적으로 동일하지 않다고 단계(615)에서 결정한다면, 이 방법은 단계(615)로부터 단계(620)로 전이하고, 이 방법은 잔여 (N-1)개의 어플라이언스들에 대해 미리 정해진 지연 값을 사용하여, 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 설정할지 여부를 결정한다. 일 실시예에 있어서, 단계(620)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(620)는 제어기(417, 도 4)와 같은 제1 주 백업 어플라이언스에 배치된 제어기에 의해 실행된다. 만약 본 방법이 잔여 (N-1)개의 어플라이언스들에 대해 미리 정해진 지연값을 사용하여, 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 설정하도록 결정한다면, 이 방법은 단계(620)로부터 단계(710, 도 7)로 전이한다.
단계(620)의 결정은 펌웨어에서 사전에 제공되고 구현된 정책 결정에 기반하여 제공된다. 일 실시예에 있어서, 이 정책 결정은 장치 제조자에 의해 제공되며, 제조시 주 백업 어플라이언스 내의 펌웨어에 구현된다. 일 실시예에 있어서, 이 정책 결정은 시스템 사용자에 의해 제공되며, 예컨대, 운영자 입력 스테이션을 사용하여 주 백업 어플라이언스 내의 펌웨어에 구현된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스와 함께 구성된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스로 상호 연결되는 데이터 저장 및 검색 시스템과 함께 구성된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스와, 이 백업 어플라이언스와 상호 연결된 하나 이상의 데이터 저장 및 검색 시스템의 외부에 배치된다.
또한, 만약 본 방법이 미리 정해진 잔여 (N-1) 개의 어플라이언스에 대한 지연값을 사용하여 제1 주 백업 어플라이언스에 대한 (n)번째 지연값을 설정하도록 결정한다면, 이 방법은 단계(620)로부터 단계(630)로 전이하고, 이 방법은 표준 지연 조정을 사용할지 여부를 결정한다. 단계(630)의 결정은 펌웨어에서 미리 제공되고 구현된 정책 결정에 기반하여 제공된다. 일 실시예에 있어서, 이 정책 결정은 장치 제조자에 의해 제공되며, 제조 시에 주 백업 어플라이언스의 펌웨어 내에 구현된다. 일 실시예에 있어서, 이 정책 결정은 시스템 사용자에 의해 제공되며, 예컨대, 운영자 입력 스테이션을 사용하여 주 백업 어플라이언스 내의 펌웨어에서 구현된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스와 함께 구성된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스에 상호 연결된 데이터 저장 및 검색 시스템과 함께 구성된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스와, 이 백업 어플라이언스와 상호 연결된 하나 이상의 데이터 저장 및 검색 시스템 모두의 외부에 배치된다.
만약 본 방법이 단계(630)에서 표준 지연 조정을 사용하지 않기로 결정한다 면, 이 방법은 단계(630)에서 단계(680)로 전이한다. 만약 본 방법이 단계(630)에서 표준 지연 조정을 사용하기로 결정한다면, 이 방법은 단계(630)로부터 단계(640)로 전이하고, 이 방법은 표준 지연 조정을 제공한다.
일 실시예에 있어서, 단계(640)의 표준 지연 조정은 제1 주 백업 어플라이언스[주 백업 어플라이언스(415, 도 4)와 같은]에 배치된 펌웨어[펌웨어(416)와 같은]에서 설정된다. 일 실시예에 있어서, 단계(640)의 표준 지연 조정은 제1 주 백업 어플라이언스[주 백업 어플라이언스(415, 도 4)와 같은]에 배치된 제어기[제어기(417)과 같은] 내에 배치된 펌웨어에 설정된다. 일 실시예에 있어서, 단계(640)의 표준 지연 조정은 주 데이터 저장 및 검색 시스템[데이터 저장 및 검색 시스템(410, 도4)와 같은]에 배치된 제어기[제어기(411, 도 40)와 같은]에 배치된 펌웨어에 설정된다. 일 실시예에 있어서, 단계(640)의 표준 지연 조정은 호스트 컴퓨터(390, 도 4)와 같은 호스트 컴퓨터에 의해 제공된다.
본 방법은 단계(640)로부터 단계(650)로 전이되며, 이 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 TTC가 단계(610)의 (n)번째 평균 TTC보다 큰지 여부를 결정한다. 일 실시예에 있어서, 단계(650)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(650)는 제어기(417, 도 4)와 같이 제1 주 백업 어플라이언스에 배치된 제어기에 의해 실행된다.
만약 본 방법이 제1 주 백업 어플라이언스에 대한 (n)번째 TTC가 단계(610)의 (n)번째 평균 TTC보다 더 크다고 단계(650)에서 결정한다면, 이 방법은 단계 (650)로부터 단계(660)로 전이되며, 이 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 지연을, 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연에서 단계(630)의 표준 지연 조정을 뺀 값으로 설정한다. 일 실시예에 있어서, 단계(660)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(660)는 제어기(417, 도 4)와 같이, 제1 주 백업 어플라이언스에 배치된 제어기에 의해 실행된다.
만약 본 방법이 제1 주 백업 어플라이언스에 대한 (n)번째 TTC가 단계(610)의 (n)번째 평균 TTC보다 더 크지 않다고 단계(650)에서 결정한다면, 이 방법은 단계(650)로부터 단계(670)로 전이되며, 이 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 지연을, 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연과 단계(630)의 표준 지연 조정을 더한 값으로 설정한다. 일 실시예에 있어서, 단계(670)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(670)는 제어기(417, 도 4)와 같이, 제1 주 백업 어플라이언스에 배치된 제어기에 의해 실행된다.
(n-1)번째 지연이 존재하지 않는 경우[(n)이 1인 경우], 본 방법은 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 표준 지연 조정으로 설정한다.
만약 본 방법이 단계(630)에서 표준 지연 조정을 사용하지 않는다고 결정한다면, 이 방법은 단계(630)로부터 단계(680)로 전이하며, 이 방법은 지연 조정 함수를 제공한다. 일 실시예에 있어서, 단계(680)의 지연 조정 함수는 호스트(390, 도 3)와 같은 호스트 컴퓨터에 의해 제공된다. 일 실시예에 있어서, 단계(680)의 이 지연 조정 함수는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스 내에 배치된 펌웨어(416, 도 4)와 같은 펌웨어에 설정된다. 일 실시예에 있어서, 단계(680)의 지연 조정 함수는 제어기(417, 도 4)와 같은 제1 주 백업 어플라이언스 내에 배치된 제어기에 배치된 펌웨어에 설정된다.
일 실시예에 있어서, 단계(680)의 지연 조정 함수는, 단계(610)에서 결정된 (n)번째 평균 TTC와, 제1 주 백업 어플라이언스에 대한 (n)번째 TTC 사이의 다양한 차이에 대한 특정한 지연값들[즉, TTCagg - TTC(1)]을 포함하는 룩-업 테이블을 포함한다. 일 실시예에 있어서, 단계(680)의 지연 조정 함수는 방정식(1)을 포함한다 :
지연(Delay) = a(TTCagg - TTC(1)) + b (1)
본 방법은 단계(680)로부터 단계(690)로 전이하며, 이 방법은 단계(680)의 지연 조정 함수를 사용하여 (n)번째 지연을 설정한다. 일 실시예에 있어서, 단계(680)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(680)는 제어기(417, 도 4)와 같은 제1 주 백업 어플라이언스 내에 배치된 제어기에 의해 실행된다.
만약 본 방법이 잔여 (N-1)개의 어플라이언스에 대한 미리 정해진 지연값을 사용하여 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 설정하도록 단계(620)에서 결정한다면, 이 방법은 단계(620)로부터 단계(710, 도 7)로 전이한다. 도 7의 단계(710)에 있어서, 본 방법은 단계(610)의 (n)번째 평균 TTC와 다른 (N-1)개의 주 백업 어플라이언스 각각에 대한 (n)번째 TTC 간의 처리를 계산한다. 일 실시예 에 있어서, 단계(710)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(710)는 제어기(417, 도 4)와 같은 제1 주 백업 어플라이언스 내에 배치된 제어기에 의해 실행된다.
단계(720)에서, 본 방법은 잔여 (N-1)개의 주 백업 어플라이언스에 대한 지연 값을 미리 정하기 위해 표준 지연 조정을 사용할지 여부를 결정한다. 일 실시예에 있어서, 단계(720)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(720)는 제어기(417, 도4)와 같은 제1 주 백업 어플라이언스 내에 배치된 제어기에 의해 실행된다.
단계(720)의 결정은 펌웨어에서 미리 제공되고 구현된 정책 결정에 기반하여 제공된다. 일 실시예에 있어서, 이 정책 결정은 장치 제조자에 의해 제공되며, 제조시에 주 백업 어플라이언스의 펌웨어 내에 구현된다. 일 실시예에 있어서, 이 정책 결정은 시스템 사용자에 의해 제공되며, 예컨대, 운영자 입력 스테이션을 사용하여 주 백업 어플라이언스 내의 펌웨어세서 구현된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스와 함께 구성된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스에 상호 연결된 데이터 저장 및 검색 시스템과 함께 구성된다. 일 실시예에 있어서, 그러한 운영자 입력 스테이션은 백업 어플라이언스와, 이 백업 어플라이언스와 상호 연결된 하나 이상의 데이터 저장 및 검색 시스템 모두의 외부에 배치된다.
만약 본 방법이 단계(720)에서, 잔여 (N-1)개의 주 백업 어플라이언스에 대한 지연 값을 미리 정하기 위해 표준 지연 조정을 사용하도록 결정한다면, 이 방법 은 단계(720)로부터 단계(730)로 전이하며, 이 방법은 표준 지연 조정을 제공한다. 일 실시예에 있어서, 단계(730)의 표준 지연 조정은 제1 주 백업 어플라이언스 [주 백업 어플라이언스(415, 도 4)에 배치된, 펌웨어[펌웨어(416, 도 4)와 같은]에 설정된다. 일 실시예에 있어서, 단계(730)의 표준 지연 조정은 제1 주 백업 어플라이언스[주 백업 어플라이언스(415, 도 4)와 같은]에 배치된 제어기[제어기(417)와 같은]에 배치된 펌웨어에 설정된다. 일 실시예에 있어서, 단계(730)의 표준 지연 조정은 주 데이터 저장 및 검색 시스템[데이터 저장 및 검색 시스템(410, 도 4)과 같은] 내에 배치된 제어기[제어기(411, 도 4)와 같은]에 배치된 펌웨어에 설정된다. 일 실시예에 있어서, 단계(730)의 표준 지연 조정은 호스트 컴퓨터(390, 도 3)와 같은 호스트 컴퓨터에 의해 제공된다.
본 방법은 단계(730)로부터 단계(740)로 전이되며, 이 방법은 단계(730)의 표준 지연 조정을 사용하여 잔여 (N-1)개의 주 백업 어플라이언스들에 대한 지연 값을 미리 정한다. 일 실시예에 있어서, 단계(740)는 다른 (N-1)개의 주 백업 어플라이언스 각각에 대해 단계(650, 도 6), (660, 도 6) 및 (670, 도 6)을 사용하는 단계를 포함한다. 일 실시예에 있어서, 단계(740)는 주 백업 어플라이언스(415, 도 4)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(740)는 제어기(417, 도 4)와 같은 제1 주 백업 어플라이언스 내에 배치된 제어기에 의해 실행된다.
본 방법은 단계(740)로부터 단계(770)로 전이되며, 이 방법은 단계(740)의 미리 정해진 지연 값을 사용하여 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 설정한다. 일 실시예에 있어서, 단계(770)는 주 백업 어플라이언스(415)와 같은 제1 주 백업 어플라이언스에 의해 실행된다. 일 실시예에 있어서, 단계(770)는 제어기(417, 도 4)와 같은 제1 주 백업 어플라이언스 내에 배치된 제어기에 의해 실행된다. 만약 본 방법이 단계(720)에서 잔여 (N-1)개의 주 백업 어플라이언스에 대한 지연 값을 미리 정하도록 표준 지연 조정을 사용하지 않겠다고 결정한다면, 이 방법은 단계(720)로부터 단계(750)로 전이하며, 이 방법은 지연 조정 함수를 제공한다. 일 실시예에 있어서, 단계(750)의 지연 조정 함수는, 단계(610, 도 6)에서 결정된 (n)번째 평균 TTC와 (i)번째 주 백업 어플라이언스에 대한 (n)번째 TTC 사이의 다양한 차이(즉 TTCagg - TTC(i))에 대한 특정한 지연값을 포함하는 룩-업 테이블을 포함한다. 일 실시예에 있어서, 단계(680)의 지연 조정 함수는 다음의 2차 방정식(2)을 포함한다 :
지연(Delay) = a(TTCagg - TTC(i)) + b (2)
본 방법은 단계(750)로부터 단계(760)로 전이하는데, 이 방법은 단계(750)의 지연 조정 함수를 사용하여 다른 (N-1)개의 주 백업 어플라이언스 각각에 대한 지연 값을 미리 정한다. 본 방법은 단계(760)로부터 단계(770)로 전이한다.
일 실시예에 있어서, 도 5, 6 및/또는 7에서 인용된 개별적인 단계는 조합되고 삭제되거나 재배열될 수 있다.
본 발명은, 예컨대 도 5, 6 및/또는 7에서 인용된 단계를 사용하여 데이터 전송율을 조정하도록 배치된 컴퓨터 판독가능 프로그램 코드를 구비한, 컴퓨터 판 독 가능 매체(418, 423, 438, 443, 458 및/또는 463)와 같은 컴퓨터 사용가능 매체를 포함하는 제조품을 더 포함한다.
본 발명은 도 5, 6 및/또는 7에서 인용된 단계들을 사용하는 데이터 전송율을 조정하기 위한 컴퓨터 판독가능 프로그램 코드를 구비한 프로그램가능 컴퓨터 프로세서와 함께 사용 가능한 컴퓨터 프로그램 제품[예컨대, 컴퓨터 프로그램 제품(419, 424, 439, 444, 459 및/또는 464)와 같은]을 더 포함한다. 일 실시예에 있어서, 컴퓨터 프로그램 제품은 데이터 저장 및 검색 시스템에 배치된다. 일 실시예에 있어서, 컴퓨터 프로그램 제품은 백업 어플라이언스에 배치된다. 일 실시예에 있어서, 컴퓨터 프로그램 코드는 도 5, 6 및/또는 7을 구현한다.
본 발명의 바람직한 실시예가 상세하게 설명되었지만, 이 분야의 당업자라면 발명의 사상 및 범위를 벗어나지 않는 한도에서 변경될 수 있음을 이해할 것이다. 즉 본 발명은 첨부된 청구범위 내에서 변경 가능하므로, 전술한 예시적인 실시예로 제한되는 것으로 간주되어서는 안 된다.
본 방법은, (N)개의 주 백업 어플라이언스 각각에 대한 (n)번째 유효한 대역폭을 계산하며, (N)개의 주 백업 어플라이언스에 대해 완료되는 (n)번째 시간을 계산하고, 모든 (N)개의 주 어플라이언스에 대한 (n)번째 유효한 집단 대역폭을 계산한다. 이 방법은 그 뒤, 이 제1 주 백업 어플라이언스에 대해 완료되는 이 (n)번째 시간이 다른 (N-1)개의 주 백업 어플라이언스 각각에 대해 완료되는 (n)번째 시간보다 더 큰지 여부를 결정한다. 만약 제1 주 백업 어플라이언스에 대해 완료되는 (n)번째 시간이 다른 (N-1)개의 주 백업 어플라이언스 각각에 대해 완료되는 (n)번째 시간보다 더 큰 경우에는, 이 방법은 적어도 일관된 트랜잭션 세트 중 모두 또는 일부를 제1 주 백업 어플라이언스로부터 제1 부 백업 어플라이언스로 지연 없이 제공하게 된다.

Claims (12)

  1. (N)개의 주 백업 어플라이언스들의 각각이 하나 이상의 제1 데이터 저장 및 검색 시스템들과 하나 이상의 부 백업 어플라이언스들과 통신할 수 있고, 상기 하나 이상의 부 백업 어플라이언스들은 하나 이상의 제2 데이터 저장 및 검색 시스템들과 통신할 수 있는 것인, 상기 (N)개의 주 백업 어플라이언스들 중 하나에 대한 데이터 전송율을 조정하기 위한 방법에 있어서,
    상기 (N)개의 주 백업 어플라이언스들 중 제1 주 백업 어플라이언스를 제공하는 단계로서, 상기 제1 주 백업 어플라이언스는 상기 하나 이상의 부 백업 어플라이언스들 중 제1 부 백업 어플라이언스와 통신할 수 있는 것인, 상기 (N) 개의 주 백업 어플라이언스들 중 제1 주 백업 어플라이언스의 제공 단계와;
    상기 제1 주 백업 어플라이언스에 의해, 상기 하나 이상의 제1 데이터 저장 및 검색 시스템들로부터 수신된 정보를 포함하는 적어도 하나의 일관된(consistent) 트랜잭션들의 세트를 형성하는 단계와;
    다른 (N-1)개의 주 백업 어플라이언스들의 각각으로부터 (n)번째 상태 신호를 수신하는 단계와;
    다른 (N-1)개의 주 백업 어플라이언스들의 각각으로부터 (n+1)번째 상태 신호를 수신하는 단계와;
    상기 (N)개의 주 백업 어플라이언스들의 각각에 대한 (n)번째 유효 대역폭을 계산하는 단계와;
    상기 (N)개의 주 백업 어플라이언스들의 각각에 대한 (n)번째 완료 시간을 계산하는 단계와;
    모든 (N)개의 주 어플라이언스들에 대한 (n)번째 유효한 집단 대역폭을 계산하는 단계와;
    상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 다른 (N-1)개의 주 백업 어플라이언스들의 각각에 대한 (n)번째 완료 시간보다 큰지 여부를 결정하는 단계와;
    상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 다른 (N-1)개의 주 백업 어플라이언스들의 각각에 대한 (n)번째 완료 시간보다 크다면, 상기 제1 주 백업 어플라이언스로부터 상기 제1 부 백업 어플라이언스로, 지연 없이 적어도 하나의 일관된 트랜잭션들 세트의 전부 또는 일부를 제공하는 단계
    를 포함하는 데이터 전송율을 조정하기 위한 방법.
  2. 제1항에 있어서,
    만약 상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 다른 (N-1)개의 주 어플라이언스들 각각에 대한 (n)번째 완료 시간보다 크지 않다면, (n)번째 집단 대역폭이 (n-1)번째 집단 대역폭보다 작은지 여부를 결정하는 단계와;
    만약 상기 (n)번째 집단 대역폭이 (n-1)번째 집단 대역폭보다 작지 않다면, 상기 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 확립하는 단계와;
    상기 (n)번째 지연을 사용하여, 상기 제1 주 백업 어플라이언스로부터 상기 부 백업 어플라이언스로, 적어도 하나의 일관된 트랜잭션들 세트의 전부 또는 일부를 제공하는 단계를 더 포함하는 데이터 전송율을 조정하기 위한 방법.
  3. 제2항에 있어서,
    만약 상기 (n)번째 집단 대역폭이 상기 (n-1)번째 집단 대역폭보다 작다면, 상기 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연이 상기 제1 주 백업 어플라이언스에 대한 (n-2)번째 지연보다 큰지 여부를 결정하는 단계와;
    만약 상기 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연이 상기 제1 주 백업 어플라이언스에 대한 (n-2)번째 지연보다 크다면, 상기 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 상기 제1 주 백업 어플라이언스에 대한 (n-2)번째 지연과 동일하게 설정하는 단계와;
    상기 (n)번째 지연을 사용하여, 상기 제1 주 백업 어플라이언스로부터 상기 부 백업 어플라이언스로, 적어도 하나의 일관된 트랜잭션들 세트의 전부 또는 일부를 제공하는 단계를 더 포함하는 데이터 전송율을 조정하기 위한 방법.
  4. 제3항에 있어서,
    만약 상기 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연이 상기 제1 주 백업 어플라이언스에 대한 상기 (n-2)번째 지연보다 크지 않다면, 상기 제1 주 백업 어플라이언스에 대한 상기 (n)번째 지연을 확립하는 단계와;
    상기 제1 주 백업 어플라이언스에 대한 상기 (n)번째 지연을 사용하여, 상기 제1 주 백업 어플라이언스로부터 상기 부 백업 어플라이언스로, 적어도 하나의 일관된 트랜잭션들 세트의 전부 또는 일부를 제공하는 단계;
    를 더 포함하는 데이터 전송율을 조정하기 위한 방법.
  5. 제2항에 있어서, 상기 확립 단계는,
    모든 (N)개의 주 백업 어플라이언스들에 대한 (n)번째 평균 완료 시간을 결정하는 단계와;
    상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 상기 (n)번째 평균 완료 시간과 실질적으로 동일한지 여부를 결정하는 단계와;
    만약 상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 상기 (n)번째 평균 완료 시간과 실질적으로 동일하다면, 상기 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 상기 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연과 동일하게 설정하는 단계;
    를 더 포함하는 것인, 데이터 전송율을 조정하기 위한 방법.
  6. 제5항에 있어서, 상기 확립 단계는,
    표준 지연 조정을 제공하는 단계와;
    상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 상기 (n)번째 평균 완료 시간보다 더 큰지 여부를 결정하는 단계와;
    만약 상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간이 상기 (n)번째 평균 완료 시간보다 크다면, 상기 제1 주 백업 어플라이언스에 대한 상기 (n)번째 지연을 상기 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연에서 상기 표준 지연 조정을 뺀 것과 동일하게 설정하는 단계;
    를 더 포함하는 것인, 데이터 전송율을 조정하기 위한 방법.
  7. 제6항에 있어서,
    만약 상기 제1 주 백업 어플라이언스에 대한 상기 (n)번째 완료 시간이 상기 (n)번째 평균 완료 시간보다 작다면, 상기 제1 주 백업 어플라이언스에 대한 상기 (n)번째 지연을 상기 제1 주 백업 어플라이언스에 대한 (n-1)번째 지연과 상기 표쥰 지연 조정값을 더한 것과 동일하게 설정하는 단계;
    를 더 포함하는 데이터 전송율을 조정하기 위한 방법.
  8. 제5항에 있어서, 상기 확립 단계는,
    지연 조정 함수를 제공하는 단계와;
    상기 (n)번째 평균 완료 시간과 상기 제1 주 백업 어플라이언스에 대한 (n)번째 완료 시간 사이의 차이를 결정하는 단계와;
    상기 차이와 상기 지연 조정 함수에 기반하여, 상기 제1 주 백업 어플라이언스에 대한 (n)번째 지연을 확립하는 단계;
    를 더 포함하는 것인, 데이터 전송율을 조정하기 위한 방법.
  9. 제5항에 있어서, 상기 확립 단계는,
    표준 지연 조정을 제공하는 단계와;
    상기 (n)번째 평균 완료 시간, 상기 (N-1)개의 잔여 주 백업 어플라이언스들의 각각에 대한 (n)번째 완료 시간 및, 상기 표준 지연 조정을 사용하여, 상기 (N-1)개의 잔여 주 백업 어플라이언스들의 각각에 대한 (n)번째 지연을 추정하는 단계와;
    상기 (N-1)개의 잔여 주 백업 어플라이언스들의 각각에 대한 상기 추정된 지연들에 기반하여, 상기 제1 주 백업 어플라이언스들에 대한 (n)번째 지연을 확립하는 단계
    를 더 포함하는 것인, 데이터 전송율을 조정하기 위한 방법.
  10. 제2항에 있어서, 상기 확립 단계는,
    지연 조정 함수를 제공하는 단계와;
    상기 지연 조정 함수를 사용하여 (N-1)개의 지연값들을 추정하는 단계로서, 상기 추정된 지연값들의 각각은 상기 잔여 (N-1)개의 주 백업 어플라이언스들 중 상이한 하나와 관계있는 것인, 상기 추정 단계와;
    상기 (N-1)개의 추정된 지연값들에 기반하여 상기 제1 주 백업 어플라이언스들에 대한 상기 (n)번째 지연을 확립하는 단계
    를 더 포함하는 것인, 데이터 전송율을 조정하기 위한 방법.
  11. (N)개의 주 백업 어플라이언스들의 각각이 하나 이상의 제1 데이터 저장 및 검색 시스템들과 하나 이상의 부 백업 어플라이언스들과 통신할 수 있고, 상기 하나 이상의 부 백업 어플라이언스들은 하나 이상의 제2 데이터 저장 및 검색 시스템들과 통신할 수 있는 것인, 상기 (N)개의 주 백업 어플라이언스들 중 하나에 대한 데이터 전송율을 조정하기 위한 컴퓨터 판독 가능 프로그램 코드를 포함하는 컴퓨터 판독 가능 기록 매체로서,
    상기 컴퓨터 판독 가능 프로그램 코드는,
    제1항 내지 제10항 중 어느 한 항에 따른 각각의 단계를 실행하는 것인, 데이터 전송율을 조정하기 위한 컴퓨터 판독 가능 기록 매체.
  12. (N)개의 주 백업 어플라이언스들의 각각이 하나 이상의 제1 데이터 저장 및 검색 시스템들과 하나 이상의 부 백업 어플라이언스들과 통신할 수 있고, 상기 하나 이상의 부 백업 어플라이언스들은 하나 이상의 제2 데이터 저장 및 검색 시스템들과 통신할 수 있는 것인, 상기 (N)개의 주 백업 어플라이언스들 중 하나에 대한 데이터 전송율을 조정하기 위한 컴퓨터 판독 가능 프로그램 코드를 구비한 컴퓨터 판독 가능 기록 매체를 포함하는 장치에 있어서,
    상기 컴퓨터 판독 가능 프로그램 코드는,
    제1항 내지 제10항 중 어느 한 항에 따른 각각의 단계를 실행하는 것인, 데이터 전송율을 조정하기 위한 컴퓨터 판독 가능 기록 매체를 포함하는 장치.
KR1020040057654A 2003-08-29 2004-07-23 데이터 전송율을 조정하는 장치 및 방법 KR100650423B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/652,021 2003-08-29
US10/652,021 US7107420B2 (en) 2003-08-29 2003-08-29 Apparatus and method to adjust data transfer rate

Publications (2)

Publication Number Publication Date
KR20050022281A KR20050022281A (ko) 2005-03-07
KR100650423B1 true KR100650423B1 (ko) 2006-11-29

Family

ID=34217536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040057654A KR100650423B1 (ko) 2003-08-29 2004-07-23 데이터 전송율을 조정하는 장치 및 방법

Country Status (4)

Country Link
US (3) US7107420B2 (ko)
JP (1) JP2005092876A (ko)
KR (1) KR100650423B1 (ko)
CN (1) CN1300688C (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251691B2 (en) * 2003-07-11 2007-07-31 International Business Machines Corporation Autonomic predictive load balancing of output transfers for two peer computers for data storage applications
US7107420B2 (en) * 2003-08-29 2006-09-12 International Business Machines Corporation Apparatus and method to adjust data transfer rate
US7143117B2 (en) * 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US7783798B1 (en) * 2004-06-25 2010-08-24 Emc Corporation System and method for managing use of available bandwidth for a link used for movement of data being copied in a data storage environment
US7427027B2 (en) * 2004-07-28 2008-09-23 Sandisk Corporation Optimized non-volatile storage systems
US7991971B2 (en) * 2005-09-09 2011-08-02 Microsoft Corporation State management for transactional backup consistency
US7693889B1 (en) * 2005-12-28 2010-04-06 Emc Corporation Automated backup and recovery for content repository
US7634617B2 (en) * 2006-01-03 2009-12-15 Emc Corporation Methods, systems, and computer program products for optimized copying of logical units (LUNs) in a redundant array of inexpensive disks (RAID) environment using buffers that are larger than LUN delta map chunks
US7634618B2 (en) 2006-01-03 2009-12-15 Emc Corporation Methods, systems, and computer program products for optimized copying of logical units (LUNs) in a redundant array of inexpensive disks (RAID) environment using buffers that are smaller than LUN delta map chunks
JP4930031B2 (ja) * 2006-12-13 2012-05-09 富士通株式会社 制御装置及び制御システム
US8050289B1 (en) * 2008-02-01 2011-11-01 Zenverge, Inc. Media transmission using aggregated bandwidth of disparate communication channels
US8516121B1 (en) * 2008-06-30 2013-08-20 Symantec Corporation Method and apparatus for optimizing computer network usage to prevent congestion
US8108575B2 (en) * 2009-02-03 2012-01-31 International Business Machines Corporation Methods of multi-server application synchronization without stopping I/O
US8589625B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US20130151755A1 (en) 2011-12-12 2013-06-13 Reuven Elhamias Non-Volatile Storage Systems with Go To Sleep Adaption
US9411721B2 (en) 2013-11-15 2016-08-09 Sandisk Technologies Llc Detecting access sequences for data compression on non-volatile memory devices
US11150997B2 (en) * 2015-08-19 2021-10-19 Exagrid Systems, Inc. Adaptive bandwidth management of a replication process
KR101862580B1 (ko) * 2016-08-24 2018-07-04 (주)유엔아이솔루션즈 무선 rf 신호 저장 및 재생장치 및 무선 rf 신호 저장 및 재생방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960038633A (ko) * 1995-04-13 1996-11-21 윌리엄 티. 엘리스 버스중재시스템, 버스중재회로, 버스중재방법 및 데이타 전송방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724539A (en) * 1992-03-19 1998-03-03 Digital Equipment Corporation System for selectively storing stripes of data in tracks of disks so that sum of transfer rates of stripes match communication bandwidth to host
US5923667A (en) * 1996-06-28 1999-07-13 International Business Machines Corporation System and method for creating N-times bandwidth from N separate physical lines
US6145034A (en) * 1997-10-15 2000-11-07 Iomega Corporation Method and apparatus for switching data rates during back-up based on computer data and speed
US6374336B1 (en) * 1997-12-24 2002-04-16 Avid Technology, Inc. Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6160819A (en) * 1998-02-19 2000-12-12 Gte Internetworking Incorporated Method and apparatus for multiplexing bytes over parallel communications links using data slices
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6401170B1 (en) * 1999-08-18 2002-06-04 Digi-Data Corporation RAID systems during non-fault and faulty conditions on a fiber channel arbitrated loop, SCSI bus or switch fabric configuration
US6549992B1 (en) * 1999-12-02 2003-04-15 Emc Corporation Computer data storage backup with tape overflow control of disk caching of backup data stream
US6446176B1 (en) * 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
US7266613B1 (en) * 2000-08-09 2007-09-04 Microsoft Corporation Fast dynamic measurement of bandwidth in a TCP network environment
JP2002244880A (ja) * 2001-02-20 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> データ二重化バックアップ方法、システム及び情報処理装置、バックアップ処理プログラム、検出切替プログラム、バックアップ処理プログラムを記録した記録媒体並びに検出切替プログラムを記録した記録媒体
US20030055971A1 (en) * 2001-09-19 2003-03-20 Menon Rama R. Providing load balancing in delivering rich media
US7039916B2 (en) * 2001-09-24 2006-05-02 Intel Corporation Data delivery system for adjusting assignment of connection requests to nodes based upon the tracked duration
US7251691B2 (en) * 2003-07-11 2007-07-31 International Business Machines Corporation Autonomic predictive load balancing of output transfers for two peer computers for data storage applications
US7370089B2 (en) * 2003-07-11 2008-05-06 International Business Machines Corporation Autonomic learning method to load balance output transfers of two peer nodes
US7107420B2 (en) * 2003-08-29 2006-09-12 International Business Machines Corporation Apparatus and method to adjust data transfer rate

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960038633A (ko) * 1995-04-13 1996-11-21 윌리엄 티. 엘리스 버스중재시스템, 버스중재회로, 버스중재방법 및 데이타 전송방법

Also Published As

Publication number Publication date
CN1604038A (zh) 2005-04-06
US20080065849A1 (en) 2008-03-13
CN1300688C (zh) 2007-02-14
US7107420B2 (en) 2006-09-12
US7321960B2 (en) 2008-01-22
US20070006024A1 (en) 2007-01-04
US7526624B2 (en) 2009-04-28
JP2005092876A (ja) 2005-04-07
KR20050022281A (ko) 2005-03-07
US20050050287A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
US7321960B2 (en) Apparatus and method to adjust data transfer rate
US11209991B2 (en) Tape library emulation with automatic configuration and data retention
US7516356B2 (en) Method for transmitting input/output requests from a first controller to a second controller
US7134044B2 (en) Method, system, and program for providing a mirror copy of data
JP5182824B2 (ja) 1次サイトと2次サイトとの間でデータを同期化するための方法、システム、及びコンピュータ・プログラム
US7577788B2 (en) Disk array apparatus and disk array apparatus control method
EP2122468B1 (en) Preservation of cache data following failover
JP4047840B2 (ja) 複数の制御ノードからキャプテン制御ノードを選択する装置および方法
JP2007086972A (ja) ストレージシステム、二重化制御方法、及びプログラム
KR20030066331A (ko) 플렉서블 리모트 데이터 미러링
US7546434B2 (en) Method to write data to an information storage and retrieval system
US7240080B2 (en) Method and apparatus for determining using least recently used protocol if one or more computer files should be written to one or more information storage media and synchronously providing one or more computer files between first and storage devices
US20050071380A1 (en) Apparatus and method to coordinate multiple data storage and retrieval systems
US7240132B2 (en) Apparatus and method to implement retry algorithms when providing information from a primary storage system to a remote storage system

Legal Events

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

Payment date: 20101102

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee