KR20140057577A - 효율적인 애플리케이션-인식 재난 복구 - Google Patents
효율적인 애플리케이션-인식 재난 복구 Download PDFInfo
- Publication number
- KR20140057577A KR20140057577A KR1020147005549A KR20147005549A KR20140057577A KR 20140057577 A KR20140057577 A KR 20140057577A KR 1020147005549 A KR1020147005549 A KR 1020147005549A KR 20147005549 A KR20147005549 A KR 20147005549A KR 20140057577 A KR20140057577 A KR 20140057577A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- user
- computer
- image
- delta
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
본 발명의 실시예는 데이터의 일부를 효율적으로 백업하고 범주화된 데이터 복구를 수행하는 것과 관련된다. 실시예에서, 컴퓨터 시스템은 다수의 서로 다른 소프트웨어 애플리케이션 또는 운영 시스템에 상응하는 데이터를 갖는 데이터 이미지를 프리로딩한다. 컴퓨터 시스템은 각 데이터 이미지가 복수의 데이터 청크로 분할되도록 데이터 이미지를 청킹(chunking)하며, 각 데이터 청크는 해시값에 의해 표현된다. 그 다음 컴퓨터 시스템은 수신된 사용자 데이터와 프리로딩된 데이터 이미지 내의 데이터 사이의 데이터 차를 나타내는 델타 데이터의 일부분을 사용자로부터 수신한다. 또한 컴퓨터 시스템은 사용자로부터 수신된 델타 데이터뿐 아니라 프리로딩된 데이터 이미지에 대한 데이터 청크 해시값을 포함하는 논리적 백업 표현(logical backup representation)을 생성한다. 이러한 논리적 표현은 해시값 및 델타 데이터를 이용하여 사용자의 데이터의 복구를 가능하게 한다.
Description
컴퓨터는 노동인력, 가정, 모바일 디바이스 및 다수의 다른 장소에서 크게 통합되어져 왔다. 컴퓨터는 대용량 정보를 빠르고 효율적으로 처리할 수 있다. 컴퓨터 시스템상에서 실행하도록 설계된 소프트웨어 애플리케이션은, 사용자가 비즈니스 애플리케이션, 학업, 엔터테인먼트 등을 포함하는 광범위한 다양한 기능을 수행할 수 있게 한다. 소프트웨어 애플리케이션은 종종 문서 초안을 작성하기 위한 워드 프로세서 애플리케이션, 또는 이메일을 전송, 수신 및 정리하기 위한 이메일 프로그램과 같은 특정한 태스크를 수행하도록 설계된다.
이러한 애플리케이션들에 의해 제작되는 데이터는 보통 매우 가치있는 것이며, 따라서 일반적으로 소정의 형식으로 백업된다. 데이터 백업 애플리케이션은 다수의 서로 다른 형태로 수행될 수 있다. 일부 백업 애플리케이션은 테이프 드라이브 또는 다른 매체 상에 국부적으로 데이터를 백업한다. 다른 백업 애플리케이션은 클라우드를 포함하는 원거리 위치에 데이터를 백업한다. 규칙적인 데이터 백업뿐 아니라, 비즈니스는 긴급한 경우에 발생할 수 있는 재난 보호 플랜을 가질 수 있다. 그렇지만 이러한 데이터 복구 플랜은, 이러한 플랜의 구현이 올 오어 낫씽(all or nothing)의 경향을 갖기 때문에, 일반적으로 다량의 네트워크 대역폭을 사용한다.
본 명세서에 기술된 실시예는 데이터의 일부를 효율적으로 백업하고 범주화된 데이터 복구를 수행하는 것과 관련된다. 일 실시예에서, 컴퓨터 시스템은 다수의 서로 다른 소프트웨어 애플리케이션 또는 운영 시스템에 상응하는 데이터를 갖는 데이터 이미지를 프리로딩한다. 컴퓨터 시스템은 각 데이터 이미지가 복수의 데이터 청크(chunk)로 분할되도록 데이터 이미지를 청킹(chunking)하며, 각 데이터 청크는 해시값에 의해 표현된다. 그 다음 컴퓨터 시스템은 수신된 사용자 데이터와 프리로딩된 데이터 이미지 내의 데이터 사이의 데이터 차를 나타내는 델타 데이터의 일부분을 사용자로부터 수신한다. 또한 컴퓨터 시스템은 사용자로부터 수신된 델타 데이터뿐 아니라 프리로딩된 데이터 이미지에 대한 데이터 청크 해시값을 포함하는 논리적 백업 표현(logical backup representation)을 생성한다. 이러한 논리적 표현은 해시값 및 델타 데이터를 이용하여 사용자의 데이터의 복구를 가능하게 한다.
다른 실시예에서, 컴퓨터 시스템은 재난 사건이 발생한 후에 복수의 서로 다른 소프트웨어 애플리케이션들 중 어떤 소프트웨어 애플리케이션이 복구될 것인지를 명시하는 재난 복구 정책(disaster recovery policy)을 정의한다. 컴퓨터 시스템은 사용자로부터 수신된 데이터와 다른 프리로딩된 데이터 이미지 사이의 데이터 차이를 포함하는 차 데이터(difference data)를 생성된 가상 하드 디스크로부터 수신하며, 이때 가상 하드 디스크는 사용자로부터 차 데이터를 수신하도록 구성된다. 컴퓨터 시스템은 재난 복구 정책에 기초하여 어떤 소프트웨어 애플리케이션의 데이터가 복구될지를 결정하고, 정책에 따라서 소프트웨어 애플리케이션 델타 데이터를 사용자에게 복원한다.
본 요약부는 아래의 상세한 설명에서 추가로 기술되는 개념들의 선택을 간략화된 형식으로 소개하도록 제공된다. 본 요약부는 청구된 청구사항의 기본 특성 또는 중요 특성을 식별하기 위한 것이 아니며, 청구된 청구사항의 범주를 결정하는 것을 돕기 위한 것 역시 아니다.
추가적인 특성 및 장점들이 아래의 설명에서 기술될 것이며, 일부는 본 명세서의 설명을 통해 명백해질 것이며 또는 본 명세서의 내용을 실행함으로서 이해될 수 있을 것이다. 본 발명의 특성 및 장점은 첨부된 특허청구범위에서 구체적으로 지적된 장비들과 결합을 통해 인식되고 획득될 수 있다. 본 발명의 특성들은 아래의 설명과 첨부된 특허청구범위로부터 보다 완전히 명백해질 것이며, 또는 아래에 기술된 바와 같이 본 발명을 실시함으로써 이해될 수 있을 것이다.
도 1은 데이터의 하나 이상의 부분을 효율적으로 백업하는 것을 포함하는 본 발명의 실시예가 동작할 수 있는 컴퓨터 아키텍처를 도시한 도면.
도 2는 데이터의 하나 이상의 부분을 효율적으로 백업하는 예시적인 방법의 순서도.
도 3은 범주화된 데이터 복구를 수행하는 예시적인 방법의 순서도.
도 4는 우선순위화된 방식으로 데이터가 복구되는 컴퓨터 아키텍처를 도시한 도면.
도 2는 데이터의 하나 이상의 부분을 효율적으로 백업하는 예시적인 방법의 순서도.
도 3은 범주화된 데이터 복구를 수행하는 예시적인 방법의 순서도.
도 4는 우선순위화된 방식으로 데이터가 복구되는 컴퓨터 아키텍처를 도시한 도면.
본 발명의 실시예의 전술된 내용들과 그 외의 장점 및 특성들을 더욱 명확하게 하도록, 본 발명의 실시예에 대한 보다 구체적인 설명이 아래에서 첨부된 도면을 참조로 하여 제공될 것이다. 도면들은 단지 본 발명의 전형적인 실시예를 도시한 것이며 따라서 본 발명의 범주를 한정하는 것으로 고려되어서는 안된다. 본 발명은 첨부된 도면을 이용하여 더욱 구체적이고 상세하게 기술되고 설명될 것이다.
본 명세서에 기술된 실시예는 데이터의 일부를 효율적으로 백업하고 범주화된 데이터 복구를 수행하는 것과 관련된다. 일 실시예에서, 컴퓨터 시스템은 다수의 서로 다른 소프트웨어 애플리케이션 또는 운영 시스템에 상응하는 데이터를 갖는 데이터 이미지를 프리로딩한다. 컴퓨터 시스템은 각 데이터 이미지가 복수의 데이터 청크(chunk)로 분할되도록 데이터 이미지를 청킹(chunking)하며, 각 데이터 청크는 해시값에 의해 표현된다. 그 다음 컴퓨터 시스템은 수신된 사용자 데이터와 프리로딩된 데이터 이미지 내의 데이터 사이의 데이터 차를 나타내는 델타 데이터의 일부분을 사용자로부터 수신한다. 또한 컴퓨터 시스템은 사용자로부터 수신된 델타 데이터뿐 아니라 프리로딩된 데이터 이미지에 대한 데이터 청크 해시값을 포함하는 논리적 백업 표현(logical backup representation)을 생성한다. 이러한 논리적 표현은 해시값 및 델타 데이터를 이용하여 사용자의 데이터의 복구를 가능하게 한다. 예를 들어, 해시값이 적절한 데이터 청크에 맵핑되면, 델타 데이터는 복구된 데이터의 완전한 모습을 나타내도록 사용될 수 있다.
다른 실시예에서, 컴퓨터 시스템은 재난 사건이 발생한 후에 복수의 서로 다른 소프트웨어 애플리케이션들 중 어떤 소프트웨어 애플리케이션이 복구될 것인지를 명시하는 재난 복구 정책(disaster recovery policy)을 정의한다. 컴퓨터 시스템은 사용자로부터 수신된 데이터와 다른 프리로딩된 데이터 이미지 사이의 데이터 차이를 포함하는 차 데이터(difference data)를 생성된 가상 하드 디스크로부터 수신한다. 컴퓨터 시스템은 재난 복구 정책에 기초하여 어떤 소프트웨어 애플리케이션의 데이터가 복구될지를 결정하고, 정책에 따라서 소프트웨어 애플리케이션 델타 데이터를 사용자에게 복원한다.
이제 아래의 논의에서는 수행될 수 있는 다수의 방법 및 방법 동작들을 참조한다. 방법 동작들이 소정의 순서로 설명되었거나 특정한 순서로 발생하는 것으로 순서도에 도시되었을 수 있지만, 동작은 수행되는 동작 이전에 완료된 다른 동작에 의존하기 때문에, 특별히 언급되거나 요구되지 않는 한 특정한 순서가 필수적인 것은 아님을 인지해야 한다.
본 발명의 실시예는 아래에서 더욱 상세하게 논의되는 바와 같이, 예로서 하나 이상의 프로세서 및 시스템 메모리와 같은 컴퓨터 하드웨어를 포함하는 전용 또는 범용 컴퓨터를 포함하거나 이용할 수 있다. 본 발명의 범주 내의 실시예는 또한 컴퓨터 실행가능한 명령 및/또는 데이터 구조를 전달 또는 저장하기 위한 물리적인 컴퓨터 판독가능한 매체 및 다른 컴퓨터 판독가능한 매체도 포함한다. 이러한 컴퓨터 판독가능한 매체는 범용 또는 전용 컴퓨터 시스템에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 데이터의 형태로 컴퓨터 실행가능한 명령을 저장하는 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체이다. 컴퓨터 실행가능한 명령을 운반하는 컴퓨터 저장 매체는 전송 매체이다. 따라서, 예시적으로 본 발명의 실시예는 컴퓨터 저장 매체 및 전송 매체인 적어도 두 개의 명백하게 서로 다른 유형의 컴퓨터 판독가능한 매체를 포함할 수 있지만, 이것으로 제한되는 것은 아니다.
컴퓨터 저장 매체는 RAM, ROM, EEPROM, CD-ROM, RAM에 기초하는 고체 상태 드라이브(SSD), 플래시 메모리, 위상 변화 메모리(PCM), 또는 다른 유형의 메모리, 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 컴퓨터 실행가능한 명령, 데이터 또는 데이터 구조의 형태로 원하는 프로그램 코드 수단을 저장하도록 사용될 수 있고 범용 또는 전용 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
"네트워크"는 컴퓨터 시스템 및/또는 모듈 및/또는 다른 전자 디바이스 사이에서의 전자 데이터의 수송을 가능하게 하는 하나 이상의 데이터 링크 및/또는 데이터 스위치로서 정의된다. 정보가 (하드와이어 또는 무선, 또는 하드와이어와 무선의 결합인) 네트워크상에서 컴퓨터로 전달될 때, 컴퓨터는 적절하게 그 접속을 전송 매체로서 인식한다. 전송 매체는 컴퓨터 실행가능한 명령 또는 데이터 구조의 형태로 데이터 또는 원하는 프로그램 코드 수단을 전달하도록 사용될 수 있고, 범용 또는 전용 컴퓨터에 의해 액세스될 수 있는 네트워크를 포함할 수 있다. 이들의 조합 또한 컴퓨터 판독가능한 매체의 범주 내에 포함되어야 한다.
또한, 다양한 컴퓨터 시스템 구성요소들에 도달하면, 컴퓨터 실행가능한 명령 또는 데이터 구조의 형태인 프로그램 코드 수단은 전송 매체로부터 컴퓨터 저장 매체로 (또는 그 역으로) 자동으로 전달될 수 있다. 예를 들어, 네트워크 또는 데이터 링크 상에서 수신되는 컴퓨터 실행가능한 명령 또는 데이터 구조는 네트워크 인터페이스 모듈(예로서, 네트워크 인터페이스 카드 또는 "NIC") 내의 RAM 내에서 버퍼링될 수 있으며, 그 다음 결과적으로 컴퓨터 시스템 RAM 및/또는 컴퓨터 시스템에서 덜 휘발성인 컴퓨터 저장 매체로 전송될 수 있다. 따라서, 컴퓨터 저장 매체가 전송 매체도 활용하는 (또는 전송 매체를 주로 활용하는) 컴퓨터 시스템 구성요소 내에 포함될 수 있음을 이해해야만 한다.
컴퓨터 실행가능한 (또는 컴퓨터 해석가능한) 명령은, 예를 들어 범용 컴퓨터, 전용 컴퓨터, 또는 전용 프로세싱 디바이스로 하여금 소정의 기능 또는 기능들의 그룹을 수행하게 하는 명령을 포함한다. 컴퓨터 실행가능한 명령은, 예를 들어 바이너리, 어셈블리 언어와 같은 중간 포맷 명령, 또는 소스 코드도 포함할 수 있다. 본 발명의 청구사항이 구조적 특성 및/또는 방법론적 동작들에 대해 특정한 언어로 기술되었지만, 첨부된 특허청구범위에서 정의되는 청구사항이 반드시 기술된 특성들과 동작들로 한정되는 것이 아님을 이해해야 한다. 오히려, 기술된 특성들 및 동작들은 특허청구범위를 구현하는 예시적인 형태로서 개시된 것이다.
당업자는 본 발명이 다수의 유형의 컴퓨터 시스템 구성을 갖는 네트워크 컴퓨팅 환경에서 구현될 수 있음을 이해할 것이며, 이러한 컴퓨터 시스템 구성은 개인 컴퓨터, 데스크톱 컴퓨터, 랩탑 컴퓨터, 메시지 프로세서, 휴대용 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 소비자 전자기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화기, PDA, 페이저, 라우터, 스위치 등을 포함한다. 본 발명은 또한 로컬 및 원격 컴퓨터 시스템이 네트워크를 통해 (하드와이어 데이터 링크 또는 무선 데이터 링크, 또는 하드와이어와 무선 데이터 링크의 조합에 의해) 링크되며, 각각이 태스크(예로서, 클라우드 컴퓨팅, 클라우드 서비스 등)를 수행하는 분산 시스템 환경에서 실시될 수도 있다. 분산 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 디바이스 모두에 위치될 수 있다.
도 1은 본 발명의 원리가 이용될 수 있는 컴퓨터 아키텍처(100)를 도시한다. 컴퓨터 아키텍처(100)는 컴퓨터 시스템(101)을 포함한다. 컴퓨터 시스템은 임의의 유형의 로컬 또는 분산 컴퓨터 시스템일 수 있다. 시스템(101)은 1) 재난 보호를 위해 보조 사이트(secondary site)를 셋업할 때 리소스 활용을 최적화하는 것과, 2) 애플리케이션 인식 범주화된(application-aware scoped) 재난 보호 및 복구를 수행하는 것을 포함하는 다양한 실시예를 수행하도록 구성될 수 있다. 이러한 각각의 측면들은 아래에서 예비적으로 기술될 것이며, 각각이 도 2 및 3의 방법(200, 300)과 관련하여 추가로 기술될 것이다.
(클라우드 또는 그 외의) 보조 위치가 (재난시에) 합리적인 복구 시간 내에 운영 시스템(OS), 애플리케이션 및 상응하는 데이터를 호스팅할 수 있게 하기 위해서, OS 및 애플리케이션 데이터는 프라이머리(primary) 위치와 동기화를 유지하는 보조 위치에서 입수가능하게 된다. 일부 경우에서, 애플리케이션/OS 데이터가 가상 하드 디스크(VHD) 내에 저장될 수도 있다. 다수의 다른 저장 디바이스가 VHD에 추가로 또는 VHD에 대한 대안으로서 사용될 수 있다. 또한, 아래에 기술된 접근법은 물리적 배치와 가상 배치에 걸쳐 작업하도록 설계된다.
일부 실시예에서, "골든 이미지(golden image)"가 OS 및/또는 애플리케이션에 대해 생성될 수 있다. 본 명세서에서 사용되는 "골든 이미지"라는 용어는 하나 이상의 소프트웨어 프로그램 및 운영 시스템의 사전 설치된(pre-installed) 버전을 포함하는 데이터 이미지를 지칭할 수 있다. 실시예는 재난 복구를 적절하게 셋업하기 위해 이러한 골든 이미지를 레버리지(leverage)할 수 있다. 셋업 단계로서, 보조(백업) 위치에 골든 이미지의 라이브러리가 시드(seed)된다. 이러한 이미지는 네트워크상에서 시드할 필요 없이 보조 위치에 직접 로딩되는 표준 OS 및 애플리케이션 바이너리일 수 있다. 일 예시에서, 업데이트된 골든 이미지는 시스템이 오리지널 골든 이미지에 비교하여 서로 다른 골든 이미지를 합성(synthesize)하도록 돕는 변화들의 세트를 포함할 수 있다. 이러한 예시의 맥락에서, 업데이트된 골든 이미지는 여러 번의 저장을 필요로 하지 않고 골든 이미지의 더 새로운 플레이버(flavor)를 제공하도록 오리지널 골든 이미지와 결합할 수 있는 (이미지들 사이의 차를 저장하도록 설계된) 디퍼런싱(differencing) VHD 상에 저장될 수 있다.
골든 이미지는 라이브러리 내에 저장될 수 있으며, (적어도 일부 경우에서) 가변적 청킹(variable chunking)을 이용하여 블록 레벨로 청킹될 수 있다. 청킹은 이미지를 복수의 서로 다른 "청크(chunk)"들로 분할하며, 이때 각 청크는 고유한 식별자(예로서, 해시값(hash value))에 의해 표현된다. 골든 이미지는 원한다면 재난 시에 더 빠른 복구를 용이하게 하도록 포스트 청킹(post chunking)이 유지될 수 있지만, 이것은 추가적인 저장을 필요로 할 것이다. 만약 저장이 보존된다면, 골든 이미지는 포스트 청킹이 폐기되고 청크가 이미지로 재형성되는 방식을 나타내는 청크들과 저장된 메타데이터와 함께 청크들로부터 재합성(resynthesized)될 수 있다.
골든 이미지로부터 청크가 생성되면(청킹 프로세스는 오직 새로운 이미지가 라이브러리로 시드될 때에만 요구된다), 소스 데이터는 VHD로 스트리밍되며, 이것은 모든 골든 이미지를 청킹함으로써 앞서 생성된 블록들에 대해 비교된다. (예로서, OS 바이너리, 애플리케이션 바이너리와 같은) 골든 이미지들 간의 공통성(commonality)으로 인해, 데이터의 큰 청크들이 보조 위치상에서 쉽게 이용가능하며, 새로운 블록들만을 보조 위치로 전송하는데에 소모되는 시간(및 소비되는 리소스)이 프라이머리 소스로부터 보조 위치로 전체의 스트리밍된 VHD를 전송하는 것보다 더 효율적일 것이다(그리고 더 빠를 것이다).
골든 이미지가 보조 위치상에서 유지된다면, 골든 이미지는 소스 시스템으로부터 변화에 의해 직접 업데이트되지 않을 수 있음을 인지해야만 한다. 오히려, 디퍼런싱 VHD는 골든 이미지로부터 소스 시스템을 합성하기 위해서 요청된 변화를 캡처하도록 사용될 수 있다. 논리적 그루핑(logical grouping)은 이러한 관계의 트랙을 유지하도록 생성될 수 있다.
논리적 그룹이 존재하면, 다양한 옵션들이 (재난 후에) 데이터 복구를 수행하기 위해 이용가능할 수 있으며, 1) 하나의 옵션은 논리적 그룹 관계를 이용함으로써 보조 위치상의 소스 시스템 대신 직접 "복구"하는 것일 것이다. 본 발명에서 복구는 논리적 그루핑 내에 포함된 OS 및/또는 애플리케이션의 인스턴스를 직접 론칭함으로써, 또는 이와 달리 논리적 그루핑을 보조 위치 자체 내에 있는 다른 영역으로 카피한 다음 인스턴스화함으로써 수행될 수 있다. 2) 두 번째 옵션은 (프라이머리 위치 내에서 이용가능할 때) 소스 시스템으로 가져오도록 골든 이미지를 사용하는 것일 것이다. 이것이 수행되면, 오직 (예로서, 디퍼런싱 VHD로부터의) 디퍼런싱 정보만이 소스 시스템을 수리하도록 스트리밍되면 된다. 이러한 접근법은 프라이머리 리소스가 재난 후에 온라인으로 왔을 때 페일백(failback)하는 동안에도 사용될 수 있다.
실시예는 또한 애플리케이션 인식 범주화된 재난 보호 및 복구와 관련될 수 있다. 일부 경우에서, 비즈니스는 다른 애플리케이션(예로서, 이메일 관리 프로그램)보다 더 중요한 애플리케이션들의 코어 세트를 구비할 수 있다. 재난 후에, 비즈니스는 덜 중요한 다른 애플리케이션을 복구하기에 앞서 이러한 중요한 애플리케이션을 복구하기 위해서 자신의 이용가능한 리소스(예로서, 스토리지, 프라이머리와 보조 사이의 네트워크 대역폭)를 이용하길 원할 수 있다. 따라서, 일부 실시예에서, 범주화된 백업 및/또는 복구는 각 애플리케이션에 대해 제공될 수 있다.
워크플로우에서의 첫 번째 단계로서, 애플리케이션 및 데이터의 범주화(scoping)에 대한 정책이 제공되어야 한다(또는 분류 메타데이터에 기초하여 자동으로 검출되어야 한다). 제공된 범주에 기초하여, 범주화된 스트리밍된 VHD는 골든 이미지로부터 생성된 청크들을 이용하여 생성되고 수리된다. 수리가 완료되면, 범주화된 소스 시스템에 대한 논리적인 표현이 결정된다.
범주화는 애플리케이션 레벨 또는 구성요소 레벨에서 수행될 수 있다(예를 들어, 애플리케이션의 일정 부분 복구). 애플리케이션 경계 및 구성요소를 결정하기 위한 한 방법은 애플리케이션 라이터(writer)(또는 시스템 파일에 대한 시스템 라이터)를 이용하는 것일 수 있다. 범주화가 수행되면, 스트리밍 VHD는 원하는 범주에 대해 셋업되고 백업 또는 재난 복구에 사용될 수 있다. 또한, 스트리밍된 백업 VHD는 원래 백업되었던 애플리케이션들의 서브셋에 대한 재난 복구를 가능하게 하도록 재난 복구 프로세스 동안 추가로 범주화될 수 있다. 백업이 애플리케이션 및 구성요소를 인식하기 때문에, 애플리케이션들의 서브셋만이 재난 복구에 사용될 수 있게 하기 위해 요청된 정보를 갖는다. 이러한 방식으로, 비즈니스 또는 다른 사용자는 자신의 모든 애플리케이션 및 구성요소를 백업할 수 있지만, 애플리케이션과 구성요소의 서브셋에 대한 재난 복구만을 수행한다. 재난 복구를 수행하기 위해 백업 에셋(asset)을 레버리징하는 것은 복제 데이터를 저장하는 것을 방지할 수 있다. 이러한 측면은 도 2 및 3의 방법(200, 300)과 각각 관련하여 아래에서 더욱 자세하게 기술될 것이다.
아래에서 기술되는 시스템 및 아키텍처를 고려하여, 개시된 청구사항에 따라 구현될 수 있는 방법은 도 2 및 3의 순서도를 참조하여 더욱 잘 이해될 것이다. 설명의 단순화를 위해서, 방법은 일련의 블록으로 도시되고 설명된다. 그러나, 청구된 청구사항이 블록들의 순서대로 제한되는 것은 아니며, 일부 블록들은 다른 순서대로 발생할 수 있고/있거나 본 명세서에 도시되고 설명된 것과는 상이한 블록들과 동시에 발생할 수 있음을 이해해야 한다. 또한, 아래에서 기술되는 방법을 구현하기 위해 도시된 모든 블록들이 반드시 필요한 것은 아닐 수 있다.
도 2는 데이터의 하나 이상의 부분들을 효율적으로 백업하기 위한 방법(200)의 순서도를 도시한다. 방법(200)은 환경(100)의 구성요소 및 데이터를 종종 참조하여 기술될 것이다.
방법(200)은 하나 이상의 소프트웨어 애플리케이션에 상응하는 데이터를 갖는 하나 이상의 데이터 이미지를 프리로딩(preloading)하는 동작을 포함한다(단계(210)). 예를 들어, 이미지 프리로딩 모듈(105)은 애플리케이션 및/또는 운영 시스템을 포함하는 (골든) 이미지(106)를 프리로딩할 수 있다. 예를 들어, 골든 이미지는 운영 시스템의 버전, 운영 시스템의 패치(patched) 또는 업데이트된 버전, 운영 시스템과 하나 이상의 애플리케이션, 또는 단순히 하나의 애플리케이션 또는 (예로서, 오피스 소프트웨어 세트와 같은) 애플리케이션들의 세트를 포함할 수 있다(이들 중 임의의 하나 또는 전부가 요소(107)에 의해 표현될 수 있다). 한번 프리로딩된 이미지는, 이미지 청킹 모듈(110)에 의해 청킹될 수 있다. 따라서 각 데이터 이미지는 복수의 서로 다른 데이터 청크(111)로 분할되며, 이러한 데이터 청크 각각은 해시값(hash value)(112)에 의해 표현된다(단계(220)). 해시값은 MD5 또는 실질적으로 임의의 다른 해시 알고리즘에 의해 생성될 수 있다. 데이터 청크는 데이터 스토어(115) 내에 저장될 수 있다. 데이터 스토어는 임의의 유형의 로컬 또는 분산 데이터 스토리지를 포함할 수 있다. 데이터 스토어는 또한 프리로딩된 (골든) 데이터 이미지(106)를 저장할 수 있다.
방법(200)은 또한 수신된 사용자 데이터와 프리로딩된 데이터 이미지 내의 데이터 사이의 데이터 차(data differences)를 나타내는 델타 데이터(delta data)의 하나 이상의 부분을 사용자로부터 수신하는 동작을 포함한다(단계(230)). 예를 들어, 델타 데이터 수신 모듈(130)은 사용자(125)로부터 델타 데이터(126)를 수신할 수 있다. 델타 데이터는 프리로딩된 이미지(106) 내의 데이터와 사용자의 데이터 사이의 데이터 차를 나타낸다. 따라서, 만약 사용자가 생성된 콘텐츠를 가지거나, 또는 상이한 애플리케이션에 애드-온(add-on) 하면, 데이터의 이러한 부분들이 델타 데이터 내에 포함될 것이다. 또한, 임의의 설정 또는 정책 변경이 델타 데이터에 전송될 것이다. 일반적으로, 델타 데이터는 초기 소프트웨어 애플리케이션 또는 운영 시스템의 설치 후에 임의의 데이터 변경을 포함할 것이다.
방법(200)은 또한 사용자로부터 수신된 델타 데이터뿐 아니라 프리로딩된 데이터 이미지에 대한 데이터 청크 해시값을 포함하는 논리적 백업 표현을 생성하는 동작을 더 포함하며, 이때 논리적 표현은 해시값을 이용하는 사용자의 데이터의 복구가 적절한 청크와 델타 데이터를 참조할 수 있게 한다(단계(240)). 예를 들어, 백업 표현 생성 모듈(135)은 사용자(125)로부터 수신된 델타 데이터(126) 및 청킹된 이미지의 해시값(112)을 포함하는 논리적 백업 표현(136)을 생성할 수 있다. 재난 후에, 사용자는 프리로딩된 이미지 및 델타 데이터를 이용하여 (또는 단순히 애플리케이션/OS 자체를 설치하여) 자신의 데이터를 복구할 수 있다. 따라서 논리적 백업 표현은 해시값 및 델타 데이터를 포함할 수 있다.
따라서, 일 실시예에서, 컴퓨터 시스템(101)은 사용자의 데이터를 복구하라는 요청을 수신할 수 있다. 이러한 요청은 사용자의 컴퓨터 시스템상에 이미 설치된 운영 시스템 및 프로그램의 표시를 포함한다. 그 다음 컴퓨터 시스템은 사용자의 컴퓨터 시스템을 자신의 원래 상태로 복구시키기 위해 어떤 데이터가 반환될지를 결정하도록 논리적 백업 표현(136)에 액세스할 수 있다. 이에 더하여, 또는 이와 달리, 데이터는 다른 컴퓨터 시스템과 같은 상이한 타겟 또는 클라우드에 대해 백업된 컴퓨터 시스템을 재생성하도록 반환될 수 있다. 그 다음, 어떤 데이터가 반환될지 결정되면, 컴퓨터 시스템이 해당 데이터를 사용자에게 반환할 수 있다.
일부 경우에, 논리적 백업 표현은 사용자에 의해 명시된 소프트웨어 애플리케이션에 대해 생성된다. 이러한 방식으로, 재난 복구는 사용자가 원하는 애플리케이션들만을 포함하도록 범주화된다. 이들 애플리케이션은 사용자에 의해 높은 우선순위가 주어진 것으로 간주되는 애플리케이션들을 포함할 수 있다. 높은 우선순위를 갖는 애플리케이션들은 더 낮은 우선순위의 애플리케이션들의 데이터보다 먼저 복구될 수 있다. 애플리케이션들의 우선순위는 재난 복구 정책(127) 내에 저장될 수 있다. 일부 경우에서, 사용자는 델타 데이터에 더하여 하나 이상의 프리로딩된 이미지들이 반환되도록 요청할 수 있다. 이러한 경우에, 델타 데이터에 더하여 결정된 프리로딩된 이미지들이 전송될 수 있다. 이에 더하여, 또는 이와 달리, 하나 이상의 사용자의 애플리케이션은 로컬 컴퓨터 시스템상에 로컬로 복구될 수 있으며, 그에 따라 애플리케이션들이 로컬 컴퓨터 시스템으로부터 애플리케이션 사용자에게 제공된다.
도 3은 범주화된 데이터 복구를 수행하기 위한 방법(300)의 순서도를 도시한다. 방법(300)은 도 1 및 4의 환경(100, 400) 각각의 구성요소 및 데이터를 종종 참고하여 기술될 것이다.
방법(300)은 재난 사건이 발생한 후에 복수의 서로 다른 소프트웨어 애플리케이션들 중 어떤 소프트웨어 애플리케이션이 복구될 것인지를 명시하는 재난 복구 정책을 정의하는 동작을 포함한다(단계(310)). 예를 들어, 클라이언트 컴퓨터 시스템(401)의 사용자는 재난 사건이 발생하여 사용자의 컴퓨터 시스템이 더 이상 이용가능하지 않게 된 후에 어떤 소프트웨어 애플리케이션(404)이 복구될지를 명시하는 재난 복구 정책(403)을 정의할 수 있다.
재난 복구 정책은 (예로서, 원격 서버 데이터 스토어(410)에서) 사용자의 데이터의 전부 또는 일부가 백업된다고 명시할 수 있다. 재난 후에, 사용자의 데이터(411, 412)의 전부 또는 일부가 복구될 수 있다. 특히, 사용자는 자신의 백업된 애플리케이션 전부가 복구된다고 명시할 수 있거나, 또는 자신의 백업된 애플리케이션들의 전체 세트 중 소정의 애플리케이션들이 복구된다고 명시할 수 있다. 또한 재난 복구 정책은 각 애플리케이션에 대한 우선순위(405)를 추가로 명시할 수 있다. 이러한 경우에서, 보다 높은 우선순위의 애플리케이션은 보다 낮은 우선순위의 애플리케이션보다 먼저 복구된다. 단일 애플리케이션의 일부분이 복구되는 경우에, 이러한 일부분 또한 높은 우선순위의 애플리케이션 부분들이 먼저 복구되도록 우선순위화될 수 있다.
방법(300)은 사용자로부터 수신된 데이터와 하나 이상의 프리로딩된 데이터 이미지 사이의 데이터 차를 포함하는 차 데이터를 생성된 가상 하드 디스크로부터 수신하는 동작을 포함하며, 이때 가상 하드 디스크는 사용자로부터 차 데이터를 수신하도록 구성된다(단계(320)). 예를 들어, 사용자(125)는 가상 하드 드라이브(120)로 자신의 델타 데이터를 전송할 수 있다. 가상 하드 드라이브는 이러한 델타 데이터를 수신하여 저장한다. 사용자는 재난 복구 정책에 따라 사용자의 데이터를 복구하도록 원격 서버에 복구 요청(406)을 전송할 수 있다. 일부 경우에서, 사용자로부터 수신된 차 데이터뿐 아니라 프리로딩된 데이터 이미지에 대한 데이터 해시값을 포함하는 논리적 백업 표현이 생성될 수 있다. 논리적 표현은 해시값만을 이용하는 사용자의 데이터의 복구가 차 데이터 및 적절한 데이터 청크를 참조하는 것을 가능하게 한다. 원격 서버는, 재난 복구 정책에 기초하여 어떤 소프트웨어 애플리케이션의 데이터가 복구될지를 결정할 수 있다(단계(330)). 그 다음, 정책에 따라서 사용자의 데이터가 복구될 수 있다(단계(340)). 데이터가 앞서 저장된 백업 데이터로부터 복구되기 때문에, 재난 복구를 위한 별도의 데이터 저장이 방지된다.
이렇게, 데이터의 하나 이상의 부분을 효율적으로 백업하는 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다. 또한, 범주화된 데이터 복구를 수행하는 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다.
본 발명은 본 발명의 사상 또는 기본적인 특징으로부터 벗어나지 않고 다른 특정한 형태들로 구현될 수 있다. 기술된 실시예는 단지 예시적인 것으로 간주되어야 하며, 제한적인 것이 아니다. 따라서 본 발명의 범주는 전술된 설명에 의해서가 아닌 첨부된 특허청구범위에 의해서 나타내어진다. 특허청구범위의 균등물의 범주 및 의미 내에 있는 모든 변경사항들이 본 발명에 포함되는 것으로 간주된다.
Claims (15)
- 복수의 컴퓨팅 시스템을 포함하는 컴퓨터 네트워킹 환경 내의, 적어도 하나의 프로세서 및 메모리를 포함하는 컴퓨터 시스템에서, 데이터의 하나 이상의 부분을 효율적으로 백업(backing up)하는 컴퓨터 구현되는 방법으로서,
하나 이상의 소프트웨어 애플리케이션에 상응하는 데이터를 갖는 하나 이상의 데이터 이미지를 프리로딩(preloading)하는 단계와,
각 데이터 이미지가 복수의 데이터 청크(a plurality of data chunks)로 분할되도록 상기 데이터 이미지를 청킹(chunking)하는 단계 -각 데이터 청크는 해시값(hash value)에 의해 표현됨- 와,
델타 데이터(delta data)의 하나 이상의 부분을 사용자로부터 수신하는 단계 -상기 델타 데이터는 상기 수신된 사용자 데이터와 상기 프리로딩된 데이터 이미지 내의 데이터 사이의 데이터 차(data differences)를 나타냄- 와,
상기 사용자로부터 수신된 상기 델타 데이터뿐 아니라 상기 프리로딩된 데이터 이미지에 대한 상기 데이터 청크 해시값을 포함하는 논리적 백업 표현(logical backup representation)을 생성하는 단계를 포함하되,
상기 논리적 표현은 상기 해시값 및 상기 델타 데이터를 이용하여 상기 사용자의 데이터의 복구를 가능하게 하는
방법.
- 제 1 항에 있어서,
오직 상기 해시값과 상기 델타 데이터만이 상기 논리적 백업 표현의 일부로서 저장되는
방법.
- 제 1 항에 있어서,
상기 프리로딩된 데이터 이미지는 운영 시스템 이미지를 포함하는
방법.
- 제 1 항에 있어서,
상기 사용자의 데이터를 복구하라는 요청을 수신하는 단계 -상기 요청은 상기 사용자의 컴퓨터 시스템상에 이미 설치된 운영 시스템과 프로그램에 대한 표시를 포함함- 와,
상기 사용자의 컴퓨터 시스템을 자신의 원래 상태로 복구시키기 위해서 어떤 데이터가 반환될지를 결정하도록 상기 논리적 백업 표현에 액세스하는 단계와,
상기 델타 데이터를 상기 사용자에게 반환하는 단계를 더 포함하는
방법.
- 제 4 항에 있어서,
상기 델타 데이터는 소프트웨어 프로그램, 소프트웨어 프로그램 설정, 사용자-생성된 데이터 및 운영 시스템 설정 중 하나 이상을 포함하는
방법.
- 제 1 항에 있어서,
상기 논리적 백업 표현은 상기 사용자에 의해 명시된 소프트웨어 애플리케이션에 대해 생성되는
방법.
- 제 4 항에 있어서,
높은 우선순위가 지정된 애플리케이션에 대한 데이터가 더 낮은 우선순위가 지정된 애플리케이션에 대한 데이터보다 먼저 복구되는
방법.
- 제 4 항에 있어서,
상기 델타 데이터에 더하여 하나 이상의 프리로딩된 이미지가 반환될 것임을 결정하는 단계와,
상기 델타 데이터에 더하여 상기 결정된 프리로딩된 이미지를 전송하는 단계를 더 포함하는
방법.
- 범주화된(scoped) 데이터 복구를 수행하는 방법을 구현하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 컴퓨터 실행가능한 명령이 저장된 하나 이상의 컴퓨터 판독가능한 저장 매체를 포함하되,
상기 컴퓨터 실행가능한 명령이 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행되면, 상기 컴퓨팅 시스템으로 하여금,
재난 사건이 발생한 후에 복수의 서로 다른 소프트웨어 애플리케이션들 중 어떤 소프트웨어 애플리케이션이 복구될 것인지를 명시하는 재난 복구 정책(disaster recovery policy)을 정의하는 단계와,
사용자로부터 수신된 데이터와 하나 이상의 프리로딩된 데이터 이미지 사이의 데이터 차이를 포함하는 차 데이터(difference data)를 생성된 가상 하드 디스크로부터 수신하는 단계 -상기 가상 하드 디스크는 상기 사용자로부터 상기 차 데이터를 수신하도록 구성됨- 와,
상기 재난 복구 정책에 기초하여, 어떤 소프트웨어 애플리케이션의 데이터가 복구될지를 결정하는 단계와,
상기 정책에 따라서 상기 소프트웨어 애플리케이션 델타 데이터를 상기 사용자에게 복원하는 단계
를 포함하는 방법을 수행하게 하는
컴퓨터 프로그램 제품.
- 제 9 항에 있어서,
재난 복구를 위한 추가적인 저장이 방지되도록 상기 데이터는 앞서 저장된 백업 데이터로부터 복구되는
컴퓨터 프로그램 제품.
- 제 9 항에 있어서,
상기 재난 복구 정책은 상기 사용자의 데이터 전부가 백업된다고 명시하며,
상기 재난 사건 후에 상기 사용자의 데이터 전부가 복구되는
컴퓨터 프로그램 제품.
- 제 9 항에 있어서,
상기 재난 복구 정책은 상기 사용자의 데이터 전부가 백업된다고 명시하며,
상기 재난 사건 후에 애플리케이션들의 명시된 서브셋이 복구되는
컴퓨터 프로그램 제품.
- 제 9 항에 있어서,
상기 재난 복구 정책은 애플리케이션들의 명시된 서브셋이 백업된다고 명시하며,
상기 재난 사건 후에 상기 애플리케이션들의 명시된 서브셋의 추가적인 서브셋이 복구되는
컴퓨터 프로그램 제품.
- 컴퓨터 시스템으로서,
하나 이상의 프로세서와,
시스템 메모리와,
컴퓨터 실행가능한 명령이 저장된 하나 이상의 컴퓨터 판독가능한 저장 매체를 포함하고,
상기 하나 이상의 프로세서에 의해 상기 컴퓨터 실행가능한 명령이 실행되면 상기 컴퓨터 시스템으로 하여금 범주화된 데이터 복구를 수행하는 방법을 수행하게 하되,
상기 방법은,
재난 사건이 발생한 후에 복수의 서로 다른 소프트웨어 애플리케이션들 중 어떤 소프트웨어 애플리케이션이 복구될 것인지를 명시하는 재난 복구 정책을 정의하는 단계와,
사용자로부터 수신된 데이터와 하나 이상의 프리로딩된 데이터 이미지 사이의 데이터 차이를 포함하는 차 데이터를 생성된 가상 하드 디스크로부터 수신하는 단계 -상기 가상 하드 디스크는 상기 사용자로부터 상기 차 데이터를 수신하도록 구성되고, 상기 프리로딩된 데이터 이미지는 상기 사용자의 데이터가 전부 백업된, 존재하는 백업 데이터의 하나 이상의 부분을 포함함- 와,
상기 재난 복구 정책에 기초하여, 상기 존재하는 백업 데이터 중에서 어떤 소프트웨어 애플리케이션의 데이터가 복구될지를 결정하는 단계와,
상기 정책에 따라서 상기 명시된 애플리케이션에 대한 상기 소프트웨어 애플리케이션 델타 데이터를 상기 사용자에게 복원하는 단계
를 포함하는
컴퓨터 시스템.
- 제 14 항에 있어서,
상기 델타 데이터에 더하여 하나 이상의 프리로딩된 이미지가 반환됨을 결정하는 단계와,
상기 델타 데이터에 더하여 상기 결정된 프리로딩된 이미지를 전송하는 단계를 더 포함하는
컴퓨터 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/224,794 | 2011-09-02 | ||
US13/224,794 US9063822B2 (en) | 2011-09-02 | 2011-09-02 | Efficient application-aware disaster recovery |
PCT/US2012/052945 WO2013033272A1 (en) | 2011-09-02 | 2012-08-29 | Efficient application-aware disaster recovery |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140057577A true KR20140057577A (ko) | 2014-05-13 |
KR101960993B1 KR101960993B1 (ko) | 2019-03-21 |
Family
ID=47574846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147005549A KR101960993B1 (ko) | 2011-09-02 | 2012-08-29 | 효율적인 애플리케이션-인식 재난 복구 기법 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9063822B2 (ko) |
EP (2) | EP3026562B1 (ko) |
JP (1) | JP6184957B2 (ko) |
KR (1) | KR101960993B1 (ko) |
CN (1) | CN102902600B (ko) |
ES (1) | ES2600129T3 (ko) |
HK (1) | HK1180417A1 (ko) |
WO (1) | WO2013033272A1 (ko) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103107905B (zh) * | 2011-11-14 | 2017-08-04 | 华为技术有限公司 | 异常处理方法、装置和客户端 |
KR101919777B1 (ko) * | 2012-01-09 | 2018-11-19 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
US9268784B1 (en) * | 2012-09-19 | 2016-02-23 | Emc Corporation | Content-aware distributed deduplicating storage system based on locality-sensitive hashing |
US9904606B1 (en) | 2013-06-26 | 2018-02-27 | EMC IP Holding Company LLC | Scheduled recovery in a data protection system |
US10235392B1 (en) | 2013-06-26 | 2019-03-19 | EMC IP Holding Company LLC | User selectable data source for data recovery |
US10353783B1 (en) | 2013-06-26 | 2019-07-16 | EMC IP Holding Company LLC | Pluggable recovery in a data protection system |
US9641486B1 (en) | 2013-06-28 | 2017-05-02 | EMC IP Holding Company LLC | Data transfer in a data protection system |
US9703618B1 (en) | 2013-06-28 | 2017-07-11 | EMC IP Holding Company LLC | Communication between a software program that uses RPC with another software program using a different communications protocol enabled via proxy |
US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US9830240B2 (en) | 2015-05-14 | 2017-11-28 | Cisco Technology, Inc. | Smart storage recovery in a distributed storage system |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US9477555B1 (en) | 2015-11-16 | 2016-10-25 | International Business Machines Corporation | Optimized disaster-recovery-as-a-service system |
US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
CN105630628B (zh) * | 2015-12-17 | 2019-04-16 | 小米科技有限责任公司 | 应用程序恢复方法及装置 |
WO2017131684A1 (en) * | 2016-01-28 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Content recovery of protected data from non-volatile memory |
US10169174B2 (en) | 2016-02-29 | 2019-01-01 | International Business Machines Corporation | Disaster recovery as a service using virtualization technique |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US10768961B2 (en) * | 2016-07-14 | 2020-09-08 | International Business Machines Corporation | Virtual machine seed image replication through parallel deployment |
US10152386B1 (en) * | 2016-07-29 | 2018-12-11 | Nutanix, Inc. | Efficient disaster rollback across heterogeneous storage systems |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
US10783046B2 (en) | 2016-11-22 | 2020-09-22 | Nutanix, Inc. | Executing resource management operations in distributed computing systems |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
WO2020096561A1 (en) * | 2018-11-05 | 2020-05-14 | Hewlett-Packard Development Company, L.P. | Recovery image downloads via data chunks |
CN109814812B (zh) * | 2019-02-12 | 2022-03-01 | 中天宽带技术有限公司 | 基于内容碎片化放置的快速数据转移方法 |
US11768740B2 (en) | 2019-03-29 | 2023-09-26 | International Business Machines Corporation | Restoring operation of data storage systems at disaster recovery sites |
US11080039B2 (en) * | 2019-11-25 | 2021-08-03 | Micron Technology, Inc. | Resilient software updates in secure storage devices |
US11593235B2 (en) | 2020-02-10 | 2023-02-28 | Hewlett Packard Enterprise Development Lp | Application-specific policies for failover from an edge site to a cloud |
WO2021175419A1 (en) | 2020-03-04 | 2021-09-10 | Huawei Technologies Co., Ltd. | Device and method for fast backup |
US11567840B2 (en) * | 2020-03-09 | 2023-01-31 | Rubrik, Inc. | Node level recovery for clustered databases |
US11994953B2 (en) | 2022-06-16 | 2024-05-28 | Dell Products L.P. | Memory simulation of agent service for secured restore |
US12079088B2 (en) | 2022-06-16 | 2024-09-03 | Dell Products L.P. | Hybrid technique to protect a registry |
US12050520B2 (en) * | 2022-06-16 | 2024-07-30 | Dell Products L.P. | Disaster recovery (DR) asset sizing for front end terabyte (FETB) consumption |
US12045138B2 (en) | 2022-06-16 | 2024-07-23 | Dell Products L.P. | Dynamic backup and discovery of new writers of a copy service |
US12105602B2 (en) | 2022-06-16 | 2024-10-01 | Dell Products L.P. | Dynamic promotion of user data components to system writer components |
CN117056128A (zh) * | 2023-08-30 | 2023-11-14 | 上海合芯数字科技有限公司 | 数据恢复方法、数据恢复系统、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007001073A1 (ja) * | 2005-06-28 | 2007-01-04 | Movell Software, Inc. | データバックアップシステムおよびデータバックアップ方法 |
JP2008282382A (ja) * | 2007-05-08 | 2008-11-20 | Hitachi Ltd | 仮想化されたストレージ領域に関するデータのバックアップおよび復元を行う方法および装置 |
JP2009151502A (ja) * | 2007-12-19 | 2009-07-09 | Internatl Business Mach Corp <Ibm> | ルートファイルシステムを管理するシステム及び方法 |
US20100318759A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Distributed rdc chunk store |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778395A (en) * | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
US7134041B2 (en) * | 2001-09-20 | 2006-11-07 | Evault, Inc. | Systems and methods for data backup over a network |
US6954877B2 (en) * | 2001-11-29 | 2005-10-11 | Agami Systems, Inc. | Fault tolerance using logical checkpointing in computing systems |
GB2411030B (en) * | 2002-11-20 | 2006-03-22 | Filesx Ltd | Fast backup storage and fast recovery of data (FBSRD) |
US7383463B2 (en) * | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US7523098B2 (en) | 2004-09-15 | 2009-04-21 | International Business Machines Corporation | Systems and methods for efficient data searching, storage and reduction |
US7672979B1 (en) | 2005-04-22 | 2010-03-02 | Symantec Operating Corporation | Backup and restore techniques using inconsistent state indicators |
JP2009506399A (ja) | 2005-06-24 | 2009-02-12 | シンクソート インコーポレイテッド | バックアップイメージを仮想化するシステム及び方法 |
US7933987B2 (en) | 2005-09-30 | 2011-04-26 | Lockheed Martin Corporation | Application of virtual servers to high availability and disaster recovery solutions |
US8015441B2 (en) * | 2006-02-03 | 2011-09-06 | Emc Corporation | Verification of computer backup data |
US8229897B2 (en) * | 2006-02-03 | 2012-07-24 | International Business Machines Corporation | Restoring a file to its proper storage tier in an information lifecycle management environment |
US20070208918A1 (en) * | 2006-03-01 | 2007-09-06 | Kenneth Harbin | Method and apparatus for providing virtual machine backup |
CA2648428C (en) * | 2006-04-07 | 2017-11-21 | Data Storage Group | Data compression and storage techniques |
US7613750B2 (en) | 2006-05-29 | 2009-11-03 | Microsoft Corporation | Creating frequent application-consistent backups efficiently |
US7487383B2 (en) | 2006-06-29 | 2009-02-03 | Dssdr, Llc | Data transfer and recovery process |
US7752487B1 (en) * | 2006-08-08 | 2010-07-06 | Open Invention Network, Llc | System and method for managing group policy backup |
US7480827B2 (en) * | 2006-08-11 | 2009-01-20 | Chicago Mercantile Exchange | Fault tolerance and failover using active copy-cat |
US7707455B2 (en) * | 2007-03-14 | 2010-04-27 | Microsoft Corporation | Self-service recovery of application data |
US7788220B1 (en) | 2007-12-31 | 2010-08-31 | Emc Corporation | Storage of data with composite hashes in backup systems |
US8370679B1 (en) * | 2008-06-30 | 2013-02-05 | Symantec Corporation | Method, apparatus and system for improving failover within a high availability disaster recovery environment |
US8060476B1 (en) * | 2008-07-14 | 2011-11-15 | Quest Software, Inc. | Backup systems and methods for a virtual computing environment |
WO2010036889A1 (en) * | 2008-09-25 | 2010-04-01 | Bakbone Software, Inc. | Remote backup and restore |
US8856080B2 (en) | 2009-10-30 | 2014-10-07 | Microsoft Corporation | Backup using metadata virtual hard drive and differential virtual hard drive |
US8386430B1 (en) * | 2009-11-06 | 2013-02-26 | Carbonite, Inc. | File storage method to support data recovery in the event of a memory failure |
-
2011
- 2011-09-02 US US13/224,794 patent/US9063822B2/en active Active
-
2012
- 2012-08-29 EP EP16150604.3A patent/EP3026562B1/en active Active
- 2012-08-29 EP EP12826825.7A patent/EP2751662B1/en active Active
- 2012-08-29 ES ES12826825.7T patent/ES2600129T3/es active Active
- 2012-08-29 JP JP2014528566A patent/JP6184957B2/ja active Active
- 2012-08-29 WO PCT/US2012/052945 patent/WO2013033272A1/en active Application Filing
- 2012-08-29 KR KR1020147005549A patent/KR101960993B1/ko active IP Right Grant
- 2012-08-31 CN CN201210320086.7A patent/CN102902600B/zh active Active
-
2013
- 2013-07-02 HK HK13107705.6A patent/HK1180417A1/xx unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007001073A1 (ja) * | 2005-06-28 | 2007-01-04 | Movell Software, Inc. | データバックアップシステムおよびデータバックアップ方法 |
JP2008282382A (ja) * | 2007-05-08 | 2008-11-20 | Hitachi Ltd | 仮想化されたストレージ領域に関するデータのバックアップおよび復元を行う方法および装置 |
JP2009151502A (ja) * | 2007-12-19 | 2009-07-09 | Internatl Business Mach Corp <Ibm> | ルートファイルシステムを管理するシステム及び方法 |
US20100318759A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Distributed rdc chunk store |
Also Published As
Publication number | Publication date |
---|---|
EP3026562B1 (en) | 2017-03-08 |
HK1180417A1 (en) | 2013-10-18 |
WO2013033272A1 (en) | 2013-03-07 |
EP2751662A4 (en) | 2015-04-15 |
KR101960993B1 (ko) | 2019-03-21 |
EP2751662B1 (en) | 2016-07-27 |
CN102902600A (zh) | 2013-01-30 |
EP2751662A1 (en) | 2014-07-09 |
EP3026562A1 (en) | 2016-06-01 |
JP6184957B2 (ja) | 2017-08-23 |
CN102902600B (zh) | 2015-06-17 |
JP2014525635A (ja) | 2014-09-29 |
US20130061089A1 (en) | 2013-03-07 |
US9063822B2 (en) | 2015-06-23 |
ES2600129T3 (es) | 2017-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101960993B1 (ko) | 효율적인 애플리케이션-인식 재난 복구 기법 | |
US11829255B2 (en) | Information management security health monitoring system | |
US11782891B2 (en) | Automated log-based remediation of an information management system | |
US11815993B2 (en) | Remedial action based on maintaining process awareness in data storage management | |
US20210258366A1 (en) | Remote commands framework to control clients | |
US20210342237A1 (en) | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations | |
US11016696B2 (en) | Redundant distributed data storage system | |
US11449253B2 (en) | Disk usage growth prediction system | |
US20200073574A1 (en) | Data migration using stubs | |
US20200358621A1 (en) | Use of data block signatures for monitoring in an information management system | |
US20200073802A1 (en) | Re-stubbing migrated data | |
US20210055996A1 (en) | Migration of backup data | |
US9734022B1 (en) | Identifying virtual machines and errors for snapshots | |
US11336750B1 (en) | Remote procedure calls that offload search pattern matching from clients to servers | |
US11269958B1 (en) | Input and output files that offload search pattern matching from clients to servers | |
CN111417931B (zh) | 使用副本来执行备份操作 | |
CN111417931A (zh) | 使用副本来执行备份操作 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |