KR20080072904A - 긴급 데이터 보존 서비스 - Google Patents

긴급 데이터 보존 서비스 Download PDF

Info

Publication number
KR20080072904A
KR20080072904A KR1020087013835A KR20087013835A KR20080072904A KR 20080072904 A KR20080072904 A KR 20080072904A KR 1020087013835 A KR1020087013835 A KR 1020087013835A KR 20087013835 A KR20087013835 A KR 20087013835A KR 20080072904 A KR20080072904 A KR 20080072904A
Authority
KR
South Korea
Prior art keywords
backup
data
computer system
monitoring
another embodiment
Prior art date
Application number
KR1020087013835A
Other languages
English (en)
Other versions
KR100990004B1 (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
Priority claimed from US11/297,985 external-priority patent/US9122643B2/en
Priority claimed from US11/298,173 external-priority patent/US8402322B2/en
Application filed by 엔비디아 코포레이션 filed Critical 엔비디아 코포레이션
Publication of KR20080072904A publication Critical patent/KR20080072904A/ko
Application granted granted Critical
Publication of KR100990004B1 publication Critical patent/KR100990004B1/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/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

컴퓨터 시스템에서 데이터 백업 프로세스를 개시하는 방법 및 시스템이 설명된다. 한가지 방법은 백업될 데이터가 식별될 것을 요구한다. 컴퓨터 시스템은 백업 트리거 이벤트의 발생을 위해 모니터링된다. 트리거가 발생하면, 데이터 백업 프로세스가 개시된다.
컴퓨터 시스템, 데이터 백업 프로세스, 백업 트리거 이벤트, 모니터링

Description

긴급 데이터 보존 서비스{EMERGENCY DATA PRESERVATION SERVICES}
여기에서 설명되는 실시예는 일반적으로 디지털 정보의 보존에 관한 것으로서, 좀더 구체적으로는, 비상 또는 긴급 상황에서의 디지털 정보의 자동 백업(automated backup)에 관한 것이다.
디지털 데이터의 편의성 중 하나는 그것의 조작 용이성이다. 컴퓨터 시스템의 파일은 빠르고 쉽게 편집, 이동, 복사, 및 삭제될 수 있다. 유감스럽게도, 디지털 데이터는 손실되기도 쉽다. 하나의 입력 오류 명령, 바이러스 감염 파일, 또는 하드 드라이브 장애가, 각각이 귀중할 수 있는(valuable) 수천개의 파일을 파괴하기에 충분하다.
적어도 3가지 팩터가, 전자적으로 저장된 데이터 값에 영향을 미친다. 데이터가 컴퓨터로의 입력에 많은 시간을 요구한다면, 그 데이터의 손실은, 그것을 재현하는데 좀더 많은 시간이 걸려야 할 것을 의미한다. 예를 들어, 기업의 모든 벤더 정보가 저장되는 데이터베이스를 가질 수도 있다. 데이터베이스를 포함하고 있는 하드 드라이브가 고장나는 경우, 그 데이터베이스를 재현하는 것이 가능하다고는 하더라도, 그러기 위해서는 상당한 시간이 필요할 것이다.
일부 파일은 연관된 재정 비용을 가진다. 일부의 작은 소프트웨어 회사는, 인터넷상의 다운로드를 위한 소프트웨어를 구매할 수 있게 한다. 그 파일이 바이러스에 의해 파괴되어 재구매되어야 한다면, 그 파일의 손실은 그것을 구매하는데 사용된 금액의 손실을 나타낸다.
다른 파일은 정말로 유일하고, 그러한 파일의 손실이 가장 고비용일 수 있다. 역사적 사건의 디지털 사진 또는 수 년간의 기업 통신의 이메일 기록은 재현될 수 없고 재구매될 수 없다. 고유한 데이터는, 일단 그것이 손실되고 나면, 어떤 시간 또는 금액으로도 그것을 복구할 수 없다.
디지털 정보 보존의 문제점에 대한 한가지 해결책은 그 정보를 다른 위치에 저장하는 것인데, 데이터를 "백업하는 것" 또는 백업을 생성하는 것으로서 흔히 설명되는 프로세스이다. 그러나, 한결같이, 백업 프로세스는 불편하다. 일부 경우에서, 백업은 파일을, 플로피 디스크의 스택 또는 제2 하드 드라이브와 같은, 다른 위치로 수동 복사하는 것에 의해 생성되는데, 그것은 시간을 요하는 프로세스이다. 다른 경우에서는, 자동화된 백업 소프트웨어가 백업을 생성하는데 사용된다. 그러한 소프트웨어는, 기껏해야, 특정 시점에서 트리거하도록 설정될 수 있는데, 이것은 그러한 소정 시점에서 컴퓨터를 사용하고자 하는 누군가에게 불편할 수 있다. 추가적으로, 이러한 자동 백업 프로세스는 실행이 느리다. 대체로, 임의 데이터가 백업되기 전에, 소프트웨어가 컴퓨터 시스템을 조사하면서 수 분이 흘러간다.
종래 기술의 백업 시스템은 모두가 예방적(preventative)인데, 언제든 임의의 값을 갖기 위해, 종래 기술의 백업 시스템은, 임의의 실제 위기 상황이 발생하기 이전에 이용되어야 한다. 그러한 시스템은 결정적 데이터(crucial data)를 즉 각적으로 백업하는 것에 의해 상황에 반응할 수 없다. 기존 시스템은, 결정적 데이터를 백업할 필요가 있는지의 여부도 판정할 수 없다.
긴급 데이터 보존 서비스를 구현하기 위한 방법 및 시스템이 설명된다. 일 실시예에서는, 백업 이벤트 트리거가 정의되고, 컴퓨터는 이러한 트리거의 발생을 검출하기 위해 모니터링된다. 트리거가 검출되면, 밸런싱 휴리스틱(balancing heuristic)이 적용되어, 백업 프로세스가 개시되어야 하는지의 여부를 판정한다. 이 실시예에서는, 백업 프로세스의 자동화된 개시가, 업계에 공지되어 있는 바와 같이, 간단한 시간 트리거(simple time trigger)로 제한되지 않는다. 예를 들어, 시스템 모니터링 소프트웨어가 적용되어, 시스템 장애를 잠재적으로 예측하는, 예를 들어, 하드 드라이브가 장애를 겪고 있다는 것을 예측하는, 시스템이 열적 한계에 접근중인지를 검출하는, 그리고/또는 수동 백업이 수행된 때를 판정하는 시스템 이벤트를 모니터링할 수 있다. 더 나아가, 밸런싱 테스트(balancing test)를 적용하는 것에 의해, 컴퓨터를 사용하려 하는 사용자를 위한 불편이 감소되는데, 컴퓨터가 사용중인 동안에는 백업 프로세스가 시작될 가능성이 낮기 때문이다.
다른 실시예에서는, 백업 프로세스가 개시되기 전에, 백업될 데이터가 식별된다. 컴퓨터는 백업 이벤트 트리거를 위해 모니터링되고, 검출시에, 백업 프로세스가 개시된다. 백업 프로세스가 시작되기 전에 보존될 데이터의 위치를 정하는 것에 의해, 느린 백업 프로세스의 종래 기술 문제점은 크게 감소된다.
광범위하게, 이 기재는 컴퓨터 시스템에서 데이터 백업 프로세스를 개시하는 방법 및 시스템을 개시한다.
일 방법은 백업될 데이터가 식별될 것을 요구한다. 컴퓨터 시스템은 백업 트리거 이벤트의 발생을 위해 모니터링된다. 트리거가 발생하면, 데이터 백업 프로세스가 개시된다.
이 명세서에 포함되어 이 명세서의 일부를 형성하는 첨부 도면은 발명의 실시예를 예시하고, 설명서와 함께, 발명의 원리를 설명하는 역할을 한다.
도 1은 본 발명의 실시예가 구현될 수 있는 예시적 컴퓨터 시스템의 블록도.
도 2는 본 발명의 실시예가 구현될 수 있는 예시적 컴퓨터 네트워크의 블록도.
도 3은 본 발명의 일 실시예에 따른 시스템 모니터링 소프트웨어의 동작 흐름도.
도 4a는 본 발명의 실시예가 구현될 수 있는 하드 디스크 드라이브를 도시한 도면.
도 4b는 본 발명의 실시예가 구현될 수 있는 하드 디스크 드라이브를 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 백업 관리 소프트웨어의 동작 흐름도.
도 6은 본 발명의 일 실시예에 따른 백업 프로세스의 흐름도.
긴급 데이터 보존 서비스를 제공하기 위한 방법 및 시스템이 설명된다. 이 하에서는, 발명의 몇몇 실시예에 대한 참조가 상세하게 이루어질 것이다. 다른 실시예(들)와 관련하여 발명이 설명되겠지만, 발명을 이러한 실시예로 제한하려는 것은 아니라는 것을 이해할 수 있을 것이다. 그와는 반대로, 본 발명은, 첨부된 특허청구범위에 의해 정의되는 바와 같은, 발명의 정신 및 범위 내에 포함될 수 있는 대안, 변경, 및 등가물을 커버하기 위한 것이다.
표기법 및 명명법
더 나아가, 본 발명에 대한 다음의 상세한 설명에서는, 본 발명에 대한 완전한 이해를 제공하기 위해 다수의 구체적 세부 사항이 기술된다. 그러나, 이 기술분야의 기술자라면, 본 발명이 이러한 구체적 세부 사항없이 또는 그것에 관한 등가물로써 실시될 수 있다는 것을 알 수 있을 것이다. 다른 경우로서, 본 발명의 양태를 쓸데없이 불명료하게 하지 않기 위해, 공지의 방법, 절차, 컴포넌트, 및 회로는 상세하게 설명되지 않았다.
다음의 상세한 설명 부분은 방법의 관점에서 제시되고 논의된다. 그것에 관한 단계 및 시퀀싱(sequencing)이 이 방법의 동작을 설명하는 여기에서의 도면(예를 들어, 도 3, 도 5, 및 도 6)에서 개시되지만, 그러한 단계 및 시퀀싱은 예시적이다. 본 발명의 실시예는 다양한 다른 단계 또는 여기에서의 도면의 흐름도에서 열거된 단계의 변경을, 여기에서 묘사되고 설명된 것과는 다른 순서로 수행하도록 양호하게 적응된다.
뒤따르는 상세한 설명의 일부 부분은 컴퓨터 메모리에서 수행될 수 있는 데이터 비트에 대한 동작의 절차, 단계, 논리 블록, 프로세싱, 및 다른 기호 표현의 관점으로 제시된다. 이러한 설명 및 표현은 데이터 프로세싱 업계의 기술자에 의해 그들의 작업 요지를 업계의 다른 기술자에게 가장 효과적으로 전달하는데 사용되는 수단이다. 절차, 컴퓨터 실행 단계, 논리 블록, 프로세스 등은, 여기에서 그리고 일반적으로, 원하는 결과에 이르는 단계 또는 명령어의 자체 모순없는 시퀀스(self-consistent sequence)인 것으로 생각된다. 단계는, 물리량의 물리적 조작을 요구하는 것들이다. 반드시 그래야 하는 것은 아니지만, 일반적으로, 이 양은 컴퓨터 시스템에서 저장, 전송, 조합, 비교, 및 달리 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 때때로, 주로 통례적인 사용을 이유로, 이 신호를 비트, 값, 구성 요소, 심볼, 캐릭터, 항목, 숫자 등으로서 언급하는 것이 편리하다는 것이 입증되었다.
그러나, 이러한 용어 및 유사 용어 모두는 적합한 물리량과 연관되어야 하고, 이 양에 적용되는 편리한 라벨일 뿐이라는 것을 명심해야 한다. 다음의 논의로부터 명백한 바와 같이 구체적으로 다르게 기술되지 않는다면, 본 발명 전체에 걸쳐, "액세스하는", "기입하는", "포함하는", "테스트하는", "사용하는", "트래버싱하는(traversing)", "연관짓는", "식별하는" 등과 같은 용어를 이용하는 논의는, 컴퓨터 시스템의 레지스터 및 메모리내의 물리(전기)량으로서 표현되는 데이터를 조작하여, 컴퓨터 시스템의 메모리나 레지스터내의 또는 그러한 정보의 다른 저장, 전송 또는 디스플레이 디바이스내의 물리량으로서 유사하게 표현되는 다른 데이터로 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 액션(action) 및 프로세스를 의미한다.
예시적 컴퓨터 시스템 및 네트워크
이제 도 1을 참조하면, 예시적 컴퓨터 시스템(112)의 블록도가 도시된다. 여기에서 설명되는 컴퓨터 시스템(112)은, 본 발명의 실시예가 구현될 수 있는 동작 플랫폼의 예시적 구성을 예시한다. 그럼에도 불구하고, 본 발명의 범위내에서, 컴퓨터 시스템(112) 대신에 상이한 구성의 다른 컴퓨터 시스템도 사용될 수 있다. 다시 말해, 컴퓨터 시스템(112)은 도 1과 관련하여 설명된 구성 요소 이외의 구성 요소를 포함할 수 있다. 몇몇 실시예에서는, 예를 들어, 미디어 서버 또는 PVR(personal video recorder)이 시스템(112) 대신에 이용된다. 다른 실시예에서, 시스템(112)은 NAT(network attached storage device)에 접속된다. 더 나아가, 본 발명은, 컴퓨터 시스템(112)과 같은 컴퓨터 시스템뿐만 아니라, 본 발명을 허용하도록 구성될 수 있는 임의 시스템에서 실시될 수 있다.
컴퓨터 시스템(112)은 정보를 통신하기 위한 어드레스/데이터 버스(100); 정보 및 명령어를 프로세싱하기 위해 버스(100)와 결합된 중앙 프로세서(101); 중앙 프로세서(101)를 위한 정보 및 명령어를 저장하기 위해 버스(100)와 결합된 휘발성 메모리 유닛(102)(예를 들어, RAM(random access memory), SRAM(static RAM), DRAM(dynamic RAM) 등); 및 프로세서(101)를 위한 정적(static) 정보 및 명령어를 저장하기 위해 버스(100)와 결합된 비휘발성 메모리 유닛(103)(예를 들어, ROM(read only memory), PROM(programmable ROM), 플래시 메모리 등)을 포함한다. 또한, 컴퓨터 시스템(112)은 컴퓨터 사용자에게 정보를 디스플레이하기 위해 버스(100)에 결합된 선택적인 디스플레이 디바이스(105)를 포함할 수 있다. 더 나아 가, 컴퓨터 시스템(112)은 정보 및 명령어를 저장하기 위한 데이터 저장 디바이스(104)(예를 들어, 디스크 드라이브)도 포함한다.
또한, 컴퓨터 시스템(112)에는 선택적인 영숫자 입력 디바이스(106)도 포함된다. 디바이스(106)는 정보 및 명령 선택을 중앙 프로세서(101)에 전달(communicate)할 수 있다. 또한, 컴퓨터 시스템(112)은 사용자 입력 정보 및 명령 선택을 중앙 프로세서(101)에 전달하기 위해 버스(100)에 결합된 선택적인 커서 제어 또는 지시 디바이스(107)를 포함한다. 또한, 컴퓨터 시스템(112)은, 이 또한 버스(100)에 결합되며 직렬 포트일 수 있는 신호 통신 인터페이스(입/출력 디바이스)(108)를 포함한다. 또한, 통신 인터페이스(108)는 무선 통신 메커니즘을 포함할 수도 있다. 통신 인터페이스(108)를 사용해, 컴퓨터 시스템(112)은 인터넷 또는 인트라넷(예를 들어, LAN(local area network))과 같은 통신 네트워크를 통해 다른 컴퓨터 시스템들에 통신가능하게 결합될 수 있다.
본 발명의 실시예들은 상이한 다수 유형의 컴퓨터 시스템(112)에서 실시될 수 있다는 것을 이해할 수 있을 것이다. 그 예로는 데스크톱 컴퓨터, 워크스테이션, 서버, 미디어 서버, 랩톱, 게이밍 콘솔(gaming consoles), 및 PDA(personal digital assistants)뿐만 아니라, 무선 전화기, 미디어 센터 컴퓨터(media center computer), 디지털 비디오 레코더, 디지털 카메라, 및 디지털 오디오 재생 또는 기록 디바이스와 같은, 컴퓨팅 및 데이터 저장 역량을 갖춘 다른 전자 디바이스를 들 수 있지만, 그것으로 제한되는 것은 아니다.
이제 도 2를 참조하면, 본 발명의 실시예들이 구현될 수 있는 예시적 컴퓨터 네트워크의 블록도가 묘사된다. 컴퓨터 시스템(112)은 네트워크 접속(202)을 통해 서버(212)와 통신하는 것으로 도시된다. 네트워크 접속(202)은 시스템(112)과 서버(212) 사이에서 데이터 전송을 허용하는 임의 수단일 수 있다. 일 실시예에서, 네트워크 접속(202)은 LAN이다. 그러한 실시예에서, 시스템(112) 및 서버(212)는, 동일 사무실 내부와 같이, 서로 인접하게 배치될 수 있다. 다른 실시예에서, 네트워크 접속(202)은 인터넷이고, 서버(212)는 시스템(112)에 물리적으로 근접하게 배치될 필요가 없다. 다른 실시예에서, 네트워크 접속(202)은 무선 접속이다. 다른 실시예에서, 네트워크 접속(202)은 직접 접속(direct connection), 예를 들어, USB(universal serial bus) 접속이다. 다른 실시예들은, 시스템(112)과 서버(212) 사이의 통신을 위한 다른 방법을 허용한다. 다른 실시예들은 간접 통신을 허용하기도 하는데, 예를 들어, 시스템(112)은 방화벽 뒤쪽에 위치한다. 일부 실시예에서는, 다중 시스템(112)이 단일 서버(212)에 접속될 수도 있다. 일부 실시예에서는, 단일 시스템(112)이 다중 서버(212)에 접속할 수 있다. 일련의 추가적 실시예에서는, 단일 컴퓨터 시스템이, 예를 들어, 데이터를 백업하는데 별도의 하드 드라이브를 이용하는 것에 의해, 시스템(112) 및 서버(212)의 양자의 역할을 할 수 있다.
컴퓨터 시스템(112)은 도 2에서 시스템 모니터링 소프트웨어(250)를 실행하는 것으로 묘사된다. 일 실시예에서, 시스템 모니터링 소프트웨어(250)는 3가지 역할: 컴퓨터 시스템(112)에 저장된 데이터를 백업을 위해 준비하는 역할; 백업 이벤트 트리거를 위해 컴퓨터 시스템(112)을 모니터링하는 역할; 및 컴퓨터 시스 템(112)에 저장된 데이터를 네트워크 접속(202)을 통해 서버(212)에 송신하는 것에 의해 그것을 백업하는 역할을 수행할 수 있다. 이러한 3가지 역할은, 본 발명의 추가적인 예시적 실시예와 관련하여, 다음에서 좀더 상세하게 설명된다.
일부 실시예에서, 컴퓨터 시스템(112)은 선택적인 환경 모니터(251)에 결합된다. 그러한 실시예들에서, 환경 모니터(251)는, 시스템(112) 주위의 환경 상태에 관한 정보를 시스템(112)에 제공하는 검출기 또는 일련의 검출기들이다. 일 실시예에서, 환경 모니터(251)는, 시스템(112) 부근으로의 미인가 입장을 모니터링하는 보안 시스템; 예를 들어, 가정 침입 모니터링 시스템(home break-in monitoring system)이다. 다른 실시예에서, 환경 모니터(251)는 화재를 검출하는데; 예를 들어, 연기 감지 화재경보기(smoke alarm)이다.
일부 실시예에서, 컴퓨터 시스템(112)은 선택적인 UPS(uninterruptible power supply)(252)에 결합된다. 그러한 실시예에서, 시스템(112)은, 정규 전력(normal power)이 손실된 이후라 하더라도, 예를 들어, 시스템(112)이 상주하는 사무실에 전력을 공급하는 전선이 차단된 이후라 하더라도, 제한된 시간 동안 UPS(252)로부터 전력을 받는다. 일 실시예에서, UPS(252)는 외장 유닛이다. 다른 실시예에서, UPS(252)는 시스템(112)에 포함된다. 일 실시예에서, 시스템(112)은, 정규 전력이 손실되어 UPS(252)가 전력을 공급중일 때를 검출하도록 구성된다.
일부 실시예에서, 컴퓨터 시스템(112)은, 하드웨어 장애를 잠재적으로 예측하는 이벤트들을 검출하는 데 사용될 수 있는 선택적인 하드웨어 모니터 센서(260)를 포함한다. 몇몇 그러한 실시예에서, 하드웨어 모니터 센서(260)는 데이터 저장 디바이스(104) 가까이에 배치된다. 일 실시예에서, 하드웨어 모니터 센서(260)는 음향 감지 컴포넌트(sound-sensitive component), 예를 들어, 마이크로폰을 포함한다. 다른 실시예에서, 하드웨어 모니터 센서(260)는 온도 감지 컴포넌트(temperature-sensitive component), 예를 들어, 열전대(thermocouple) 또는 열 센서를 포함한다. 일 실시예에서, 하드웨어 모니터 센서(260)는 시스템(112)에 결합되고, 검출되는 판독치(readings)는, 센서(260)로부터의 신호들에 기초해 백업 이벤트 트리거를 발생시킬 수 있는 시스템 모니터링 소프트웨어(250)에 이용 가능하다.
서버(212)는 도 2에서, 백업 관리 소프트웨어(290)를 실행하는 것으로 묘사된다. 일 실시예에서, 백업 관리 소프트웨어(290)는 4가지 역할: 컴퓨터 시스템(112)을 모니터링하는 역할; 소정 환경하에서 컴퓨터 시스템(112)의 백업을 트리거하는 역할; 컴퓨터 시스템(112)으로부터 전송된 데이터를 검색 가능하게(retrievably) 저장하는 역할; 및 필요에 따라 컴퓨터 시스템(112)에 정보를 복구시키는 역할을 가진다. 이러한 역할들은, 본 발명의 추가적인 예시적 실시예와 관련하여, 다음에서 부연된다. 일부 실시예에서, 백업 관리 소프트웨어(290)는 이러한 역할들을, 예를 들어, 네트워크 접속(202)을 통해 정보를 수집하고 전송하는 것에 의해, 원격적으로 수행한다. 다른 실시예에서, 백업 관리 소프트웨어(290)는 시스템(112)에서 부분적으로 실행되어, 이 역할들을 국지적으로 수행한다. 다른 실시예에서는, 이러한 2가지 접근 방법의 조합이 이용된다.
클라이언트 활동(CLIENT ACTIVITY) - 시스템 모니터링 소프트웨어
이제 도 3을 참조하면, 본 발명의 일 실시예에 따른, 시스템 모니터링 소프트웨어(250)의 동작 흐름도(300)가 묘사된다. 단계 310에서, 시스템 모니터링 소프트웨어(250)는 데이터 보존 준비 작업을 수행한다. 단계 320에서, 시스템 모니터링 소프트웨어(250)는 백업 이벤트 트리거를 위해 클라이언트 시스템, 시스템(112)을 모니터링한다. 백업 이벤트 트리거가 검출되면, 단계 330에서, 시스템 모니터링 소프트웨어(250)는 백업 프로세스를 개시한다.
데이터 보존 준비
본 발명의 일 실시예에 따르면, 시스템(112)에서 서버(212)로의 데이터 백업이 빠르고 효율적으로 진행되기 위해, 단계 310에서 데이터에 대해 일부 선행-백업(pre-backup) 동작이 수행될 수 있다. 묘사된 실시예에서, 이러한 데이터 보존 준비 작업은 시스템(112)에서 계속적으로 수행된다. 이 실시예에서는, 시스템(112)에 새로운 데이터가 생성되거나 저장될 때, 시스템 모니터링 소프트웨어(250)는, 후속의 백업 이벤트 트리거가 검출될 때 백업 프로세스를 촉진하기 위해, 이 데이터를 백업을 위해 준비하도록 동작한다. 다른 실시예에서, 데이터 보존 준비 작업은 특정 시점에서 또는, 시스템(112)이 휴지 상태로 진입했을 때와 같은, 특정 조건하에서 발생한다. 다른 실시예에서, 데이터 보존 준비 작업은, 네트워크 접속(202)을 통해 데이터를 전송하기 직전에만 수행된다. 몇몇 실시예에서는, 이러한 접근 방법의 조합이 이용된다. 예를 들어, 일 실시예에서, 높은 우선 순위 데이터는, 그것이 시스템(112)에 저장된 직후에 데이터 보존 준비에 들어가는 한편, 덜 중요한 데이터는, 시스템이 특정 시간 길이 동안 휴지 상태였던 이후에만 준비된다.
다수 동작이 데이터 보존 준비의 범위내에 해당된다. 일 실시예에서, 그러한 한가지 동작은 데이터의 압축이다. 다른 실시예에서는, 데이터가 암호화된다. 또 다른 실시예에서는, 데이터에 우선 순위 레벨이 할당된다. 또 다른 실시예에서는, 데이터가 하드 디스크에서 분류되어, 백업 동안 액세스 시간(access times)을 가속하도록 정렬된다. 또 다른 실시예에서, 데이터는 하드 드라이브의 별도 영역에 또는 다른 하드 드라이브에 복사되어, 백업 동안 액세스 시간을 가속한다. 또 다른 실시예는 또 다른 데이터 보존 준비 작업 또는 동작을 수행한다. 어떤 작업이 수행되며 작업이 언제 수행되어야 하는지에 영향을 미치는 주된 고려 사항은, 백업 이벤트 트리거와 시스템(112)에서 서버(212)로의 데이터 전송 사이에 필요한 시간을 감소시키기 위한 소망이다. 데이터를 위한 전송 순서, 데이터의 압축, 및 데이터 스트림의 암호화와 같은, 본질적인 작업이, 백업 이벤트 트리거가 검출되기 전에 핸들링되면, 그러한 검출과 데이터 전송의 시작 사이에 훨씬 적은 지연이 요구된다.
데이터 압축
몇몇 실시예에서, 데이터 압축은 단계 310의 일부이다. 데이터 압축은, 네트워크 접속(202)을 통해 전송되어야 하는 바이트 수를 감소시키는 것에 의해 백업 프로세스를 가속한다. 또한, 다음에서 논의되는 바와 같이, 데이터 복사가 이용되는 실시예에서, 데이터 압축은, 복사된 데이터를 시스템 모니터링 소프트웨어(250)에 의해 저장하는데 사용되는 저장 공간의 양을 감소시킨다. 선택되는 압축 루틴 의 유형 및 압축되는 데이터의 사이즈와 유형에 따라, 데이터 압축(및 압축 해제(decompression))은 상당량의 시간 및 프로세서 사이클을 요구할 수 있다. 백업 이벤트 트리거가 검출되기 전에 데이터 압축이 수행되는 실시예에서, 백업 이벤트 트리거의 검출과 시스템(112)에서 서버(212)로의 데이터 전송 사이의 시간량은 크게 감소되는데, 데이터가 이미 압축되어 전송 준비를 갖추고 있기 때문이다.
일부 실시예에서, 이용되는 데이터 압축의 유형은, 초기 품질의 임의 손실 없이, 데이터 압축 및 이후의 압축 해제를 허용하는, 소위 "무손실(lossless)" 압축 루틴의 그룹으로부터 선택된다. 다수의 그러한 압축 루틴, 예를 들어, 런 렝스 인코딩(run-length encoding)이 업계에 공지되어 있다. 다른 실시예에서는, "유손실(lossy)" 압축 루틴이 사용되어, 무손실 압축에 의해 가능한 것보다는 좀더 큰 데이터 압축을 허용한다. 일부 실시예는 유손실 및 무손실 압축 루틴의 조합을 이용한다. 그러한 일 실시예는, 사용자가 데이터의 어떤 유형이 손실없이 보존되어야 하는지 그리고 무엇이 초기 품질에서 어떤 열화를 포함하여 백업될 수 있는지를 선택할 수 있게 한다. 그러한 실시예에서, 결정적 또는 미션 크리티컬 데이터(crucial or mission critical data), 예를 들어, 변경될 수 없는 데이터는 무손실 압축 기술을 사용해 보존될 수 있는 한편, 덜 중요한 데이터는 유손실 기술을 사용해 압축된다.
일부 실시예에서, 데이터의 압축은, 데이터가 시스템에 입력될 때 발생한다. 그러한 일 실시예는, 다음에서 논의되는 데이터 복사(data duplication)와 결부된다. 이 조합은, 시스템 모니터링 소프트웨어(250)가 백업을 위해 준비된 데이터의 완벽한 압축 사본을 여전히 보유할 수 있게 하면서, 사용자가, 액세스될 때마다 데이터를 압축 해제할 필요없이, 시스템(112)에 저장된 데이터로의 완전한 액세스를 가질 수 있게 한다. 다른 실시예에서, 데이터의 압축은 사전 설정 시점에 또는 사전 설정 트리거가 발생한 이후에, 예를 들어, 매일 밤 자정에 또는 시스템이 15분 동안 휴지 상태였던 이후에 발생한다. 다른 실시예에서는, 선택된 데이터만이 시스템(112)에 입력될 때 압축되고, 다른 데이터는 그 데이터에의 로컬 액세스(local access)를 용이하게 하기 위해 미압축 상태로 방치된다. 그러한 일 실시예는, 필요한 경우 재빨리 압축 해제될 수 있는 텍스트 문서는 즉각적으로 압축하는 한편, 필요한 경우 액세스 가능해지기 위해 훨씬 긴 시간이 걸릴 멀티미디어 파일은 압축하지 않는다.
다른 실시예에서, 데이터는, 백업 이벤트 트리거가 검출된 이후에만 압축된다. 또 다른 실시예에서, 압축의 이용 여부는 검출되는 백업 이벤트 트리거의 유형에 의존한다. 일 실시예에서, 어떠한 데이터 압축도 수행되지 않는다.
데이터 암호화
일부 실시예에서, 데이터 암호화는 단계 310의 일부이다. 데이터 암호화는, 전송되는 데이터를 미인가 당사자가 액세스하는 것을 훨씬 더 어렵게 하는 것에 의해, 백업 프로세스를 사용자를 위해 좀더 안전하게 한다. 몇몇 실시예에서, 서버(212) 및 시스템(112)이 상이한 엔티티에 의해 소유되고 조작되는 경우, 데이터 암호화를 포함하는 것은, 데이터의 소유자가 서버(212)를 제어하는 상태에 있지 않다 하더라도, 서버(212)에 저장된 데이터가 안전한 상태를 유지한다는 것을 보장할 수 있다.
데이터 암호화의 다수 유형이 업계에 공지되어 있으며, 본 발명의 실시예와 관련하여 실시될 수 있다. 몇몇 실시예는 데이터 압축과 데이터 암호화를 조합하고, 그에 따라, 시스템 모니터링 소프트웨어(250)는 데이터를 동시에 압축하기도 하고 암호화하기도 할 것이다. 일부 실시예에서, 데이터 암호화는, 데이터가 시스템(112)에 입력될 때 발생한다. 그러한 일 실시예는, 다음에서 논의되는 데이터 복사와 결부되는데; 이 실시예에서, 데이터의 복사 사본은 그것이 생성될 때 또는 그 직후에 암호화된다. 다른 실시예에서, 데이터 암호화는 특정 시점에 또는 특정 이벤트 이후에 발생하는데, 예를 들어, 새로운 데이터는 매일 자정에 또는 시스템(112)이 15분 동안 휴지였던 이후에 암호화된다. 다른 실시예에서는, 선택된 데이터만이, 그것이 시스템(112)에 입력될 때 암호화되는 한편, 다른 데이터는 사용자 액세스를 용이하게 하기 위해 암호화되지 않은 상태로 방치된다.
다른 실시예에서, 데이터는, 백업 이벤트 트리거가 검출된 후에 암호화된다. 또 다른 실시예에서, 데이터가 암호화되는지의 여부 및 암호화의 어떤 유형이 사용되는지는, 검출되는 백업 이벤트 트리거의 유형에 의존한다. 예를 들어, 검출되는 백업 이벤트 트리거가 긴급 하드 드라이브 장애라면, 사용자는, 데이터를 암호화하는데 시간을 보내며 어쩌면 그것 모두를 손실하는 대신에, 암호화되지 않은 결정적 데이터를 백업하는 것을 선호할 수도 있다. 또 다른 실시예는 데이터 보존 준비의 일부로서 데이터 암호화를 포함하지 않는다.
우선 순위
일부 실시예에서, 시스템(112)에 저장된 데이터에는 단계 310의 일부로서 우선 순위 레벨이 할당된다. 시스템(112)에 저장된 모든 데이터가 동일한 값은 아니다. 대다수 사용자는, 다른 파일을 희생시킨다 하더라도, 특정 유형의 데이터를 보존하기를 선호할 것이다. 시스템 모니터링 소프트웨어(250)를 사용해 상이한 데이터에 중요성의 상이한 레벨(different levels of importance)을 할당하는 것에 의해, 사용자는, 백업 프로세스에서 어떤 파일에 선호도가 부여되는지를 판정할 수 있다.
일부 실시예에서는, 사용자가, 파일에 우선 순위 레벨을 할당한다. 일 실시예에서, 이 할당은, 사용자가 각각의 파일을 위한 우선 순위 레벨을 선택하면서, 매 파일 기반으로(a per-file basis) 수행된다. 다른 실시예에서, 사용자는 상이한 유형의 파일들을 위한 우선 순위 레벨을 판정하는데, 그러한 실시예에서, 사용자는, 예를 들어, 디지털 사진에, 영화의 디지털 사본보다 높은 우선 순위를 부여할 것을 선택할 수 있다. 또 다른 실시예에서, 사용자는 시스템(112)의 파일 시스템내의 위치에 의해 우선 순위를 특정하는데; 이 실시예에서, 사용자는, 그의 이메일 메시지 모두가 오퍼레이팅 시스템의 파일보다 높은 우선 순위를 갖도록 저장되는 디렉토리를 가질 것을 선택할 수 있다. 또 다른 실시예에서, 사용자는 파일에 할당되는 우선 순위를 위한 규칙을 설정할 수 있고, 시스템 모니터링 소프트웨어(250)는 그 규칙에 기초해 우선 순위 레벨을 확립할 수 있다. 이 실시예에서, 사용자가 모든 파일에 우선 순위를 할당할 필요는 없지만, 예를 들어, 시스템 모니터링 소프트웨어(250)가 설치될 때, .doc 및 .jpg로 인코딩하는 임의 파일에 다른 모든 파일보다 높은 우선 순위를 부여하도록 시스템 모니터링 소프트웨어(250)를 구성할 수 있다. 또 다른 실시예에서, 사용자는 상이한 방식으로 우선 순위를 할당할 수도 있다.
또 다른 실시예에서는, 시스템 모니터링 소프트웨어(250)가, 데이터에 우선 순위를 할당한다. 그러한 일 실시예에서는, 좀더 빈번하게 액세스되는 사용자 발생 파일(user-generated files)이 우선 순위의 좀더 높은 레벨을 획득하는 상태로, 액세스의 빈도에 기초해 우선 순위가 할당된다. 또 다른 실시예에서, 시스템 모니터링 소프트웨어(250)는, 워드 프로세싱 문서 및 디지털 사진과 같은, 사용자 발생 컨텐츠를 식별하고, 그러한 파일에 오퍼레이팅 시스템 파일보다 높은 우선 순위를 할당하도록 구성된다. 또 다른 실시예에서는, 좀더 빨리 백업될 수 있는 좀더 작은 파일에 좀더 높은 우선 순위가 자동으로 할당된다. 또 다른 실시예에서는, 상이한 파일, 파일의 유형, 또는 파일 시스템내의 위치에 중요성의 레벨을 할당하기 위한 다른 접근 방법이 구현된다.
일부 실시예에서는, 사용자 및 시스템 모니터링 소프트웨어(250)의 양자가 시스템(112)의 데이터에 우선 순위 레벨을 할당한다. 그러한 일 실시예에서, 시스템 모니터링 소프트웨어(250)는, 앞서 설명된 것과 같은 사전 구성된 규칙에 기초해, 소정 파일에 우선 순위의 디폴트 레벨(default level)을 할당하고, 사용자는 우선 순위의 상이한 레벨을 할당할 것을 선택할 수 있다.
일부 실시예에서는, 동일한 데이터에 우선 순위의 다중 레벨이 할당된다. 그러한 일 실시예에서, 사용자는, 상이한 백업 이벤트 트리거가 검출되는 상황에 서, 사용자가 그의 데이터가 보존되기를 원하는 방법에 기초해, 우선 순위를 할당할 수 있다. 예를 들어, 사용자는 루틴 백업(routine backups)을 위한 디지털 영화 파일에 높은 우선 순위를 할당할 수도 있지만, 긴급 하드웨어 장애에 의해 트리거되는 긴급 백업의 이벤트시에는, 동일 파일에 훨씬 낮은 우선 순위 레벨을 할당할 수도 있다. 이런 식으로, 사용자는 그의 데이터를 보호함에 있어서 더 큰 융통성을 가진다.
본 발명의 상이한 실시예에서, 우선 순위 시스템이 그에 따라 동작하는 규칙은, 크게 달라질 수 있다. 예를 들어, 일부 실시예에서, 사용자는 파일에서의 상대적 변화뿐만 아니라 그 파일이 얼마나 결정적인지를 고려하도록 우선 순위 규칙을 특정할 수도 있는데; 예를 들어, 그것이 백업된 마지막 시점 이후로 약간만 변화된 높은 우선 순위 파일은, 완전히 새로운 파일보다, 기존 파일에 대한 약간의 개정(revisions)은 선행 백업을 사용해 재현하기에 좀더 용이할 것이라는 이론에 따라, 이전에 한번도 백업된 적이 없는 낮은 우선 순위 파일보다 사용자에게 덜 중요할 수 있다. 마찬가지로, 사용자는, 완전한 백업이 수행되어야 하는 상황에서는 파일에 우선 순위의 1 레벨(one level)을 할당하고, 증분 백업(incremental backup)이 수행될 경우에는 우선 순위의 상이한 레벨을 할당할 수도 있다. 본 발명의 실시예는, 상이한 다수 상황을 설명하기 위해, 다수의 상이한 우선 순위 규칙을 데이터에 적용하는 것을 허용한다.
우선 순위 그리고 상이한 우선 순위 레벨이 백업 프로세스에 대해 갖는 효과는, 추가 실시예를 참조하여, 이하에서 좀더 상세하게 논의된다.
파일 재배치
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 단계 310의 일부로서 시스템(112)의 데이터 저장 디바이스(104)에서 데이터를 재정렬한다. 백업 프로세스 동안, 서버(212)에 저장될 모든 파일은 데이터 저장 디바이스(104)에 배치되어야 한다. 데이터 저장 디바이스(104)가 기계식 저장 시스템, 예를 들어, HDD(hard disk drive)인 실시예에서, 백업될 파일은 종종 상이한 위치에서의 다중 플래터(multiple platters)에 걸쳐서 확산될 것이다. 따라서, 각각의 파일 사이를 전이하는 것(transitioning)은 시간을 요한다. 데이터를 탐지해 내는데 소비되는 시간을 감소시키기 위한 일 접근 방법은, 백업 이벤트 트리거가 검출되기 전에, 시스템 모니터링 소프트웨어(250)가 데이터 저장 디바이스(104)에 저장되는 데이터를 재정렬하는 파일 재배치이다. 이러한 접근 방법을 포함하는 실시예가 도 4a 및 도 4b를 참조하여 설명된다.
이제 도 4a를 참조하면, 데이터 저장 디바이스(104), 하드 디스크 드라이브의 상면도(top view)의 표현이 묘사된다. 본 발명의 실시예는, 여기에서 묘사된 유형의 하드 디스크 드라이브 뿐만 아니라, 데이터 저장 디바이스(104)의 상이한 다수 유형과 관련하여 실시될 수도 있다. HDD(104)는 회전 플래터(401), 이동 암(moving arm)(403), 및 판독 헤드(405)를 갖는 것으로 도시된다. 백업될 다중 파일은 플래터(401)에 파일(411, 412, 413, 414, 415, 416, 및 417)로서 묘사된다. 이 파일을 백업하기 위해, 암(403)은 판독 헤드(405)를 파일 각각에게로 차례로 이동시켜야 하는데, 이 프로세스는 탐지(seeking)로서 공지되어 있다. 암(403)은 각 각의 파일을 차례로 탐지해야 하고, 각각의 파일에 도달하기 위해, 적어도 7번 이동할 것이다. 탐지는 백업 프로세스에 추가 시간을 부가하고, 하드 드라이브가 장애를 겪고 있다면, 모든 파일이 완전히 백업되기 전에 하드 드라이브 장애를 초래할 수 있는 추가 스트레스(stress)를 컴포넌트에 부가한다.
이제 도 4b를 참조하면, 본 발명의 일 실시예에 따른, 데이터 저장 디바이스(104)의 상면도의 표현이 다시 묘사된다. 이 실시예에서, 시스템 모니터링 소프트웨어(250)는 단계 310 동안 파일 재배치를 구현하여, 백업될 파일을 HDD(104)에 정렬하였고, 그에 따라, 파일(411, 412, 413, 414, 415, 416, 및 417)은 플래터(401)에 서로 인접하게 배치된다. 백업 이벤트 트리거가 검출되고 이들 파일이 백업되어야 하는 경우, 백업될 파일 모두에 도달하기 위해 암(403)이 빈번하게 또는 멀리 이동할 필요가 없다. 이것은 시간의 절감 및 HDD(104)의 컴포넌트에 대한 스트레스 감소의 양자를 가져온다.
우선 순위 시스템 및 파일 재배치의 양자를 포함하는 일부 실시예에서, 파일의 재배치는 데이터의 상대적 우선 순위를 고려한다. 예를 들어, 도 4b를 참조할 때, 파일(411, 412, 및 417) 모두는 높은 우선 순위 파일인 것으로 마킹되는 한편, 파일(413 및 415)은 중간 우선 순위이고 파일(414 및 416)은 낮은 우선 순위인 것으로 마킹되는 경우, 우선 순위 및 파일 재배치의 양자를 이용하는 실시예는, 낮은 우선 순위 데이터 이전에 높은 우선 순위 데이터가 위치하도록, 예를 들어, 파일 411, 412, 417, 413, 415, 414, 416으로 파일을 정렬할 것이다.
본 발명의 다른 실시예는 파일 재배치를 포함하지 않는다.
데이터 복사
일부 실시예는, 백업 프로세스를 촉진하기 위해, 단계 310의 일부로서 데이터 복사 방식을 포함한다. 앞서 지적된 바와 같이, 좀더 빠르고 좀더 안전한 백업 프로세스를 제공하기 위해, 데이터 압축 및 암호화 기술이 본 발명의 실시예에 포함된다. 그러나, 파일의 압축 및 암호화의 양자는, 시스템(112)이 그 데이터에 액세스할 수 있는 속도를 감속할 것이다. 예를 들어, 사용자가 시스템 모니터링 소프트웨어(250)에 의해 압축되고 암호화된 디지털 영화 파일을 열기 위해, 파일은 먼저 복호화되고 압축 해제되어야 한다. 좀더 큰 파일의 경우, 이 프로세스는 수 분이 걸릴 수도 있다. 데이터 복사를 포함하는 실시예에서, 백업될 파일은 데이터 저장 디바이스(104)의 다른 위치에 또는 시스템(112)에 이용 가능한 다른 데이터 저장 디바이스에 복사된다. 그에 따라, 사용자가 액세스하고자 하는 파일은, 단계 310의 데이터 보존 준비 프로세스에 의해 획득되는 이점을 타협하지 않으면서, 쉽게 이용 가능한 상태를 유지한다.
그러한 일 실시예에서, 데이터는, 그것이 시스템(112)에 입력되거나 변경되자마자 복사된다. 다른 실시예에서, 데이터는, 매일 자정에 또는 시스템(112)이 15분 동안 휴지였던 이후와 같이, 특정 시점에서 또는 특정 트리거가 발생된 이후에 복사된다. 또 다른 실시예에서, 데이터의 특정된 소정 유형은 즉각적으로 복사되는 한편, 다른 유형은 특정 시점에서 또는 특정 트리거가 발생된 이후에 복사된다. 또 다른 실시예에서, 데이터 복사는 파일 재배치와 결부되어, 하드 디스크 드라이브에 백업될 복사 파일을 좀더 양호하게 정렬한다.
우선 순위 및 데이터 복사의 양자가 구현되는 일부 실시예에서, 데이터 복사 및 후속의 저장은 데이터의 상대적 우선 순위를 고려한다. 예를 들어, 도 4b를 참조할 때, 파일(411, 412, 및 417)은 모두가 높은 우선 순위 파일인 것으로 마킹되는 한편, 파일(413 및 415)은 중간 우선 순위이고 파일(414 및 416)은 낮은 우선 순위인 것으로 마킹되는 경우, 우선 순위 및 데이터 복사의 양자를 이용하는 실시예는, 복사된 파일을 높은 우선 순위 데이터가 낮은 우선 순위 데이터 이전에 위치하도록, 예를 들어, 복사된 파일 411, 412, 417, 413, 415, 414, 416으로 정렬할 것이다.
다른 실시예에서는, 특정 파일만이 데이터 복사된다. 또 다른 실시예에서, 데이터 복사는 이용되지 않는다.
백업 이벤트 트리거를 위한 모니터링
본 발명의 몇몇 실시예에서는, 시스템 모니터링 소프트웨어(250)가 백업 이벤트 트리거를 위해 클라이언트 시스템(112)을 모니터링하는 단계 320을 수행한다. 일 실시예에서, 백업 이벤트 트리거는, 충족되면, 다음에서 정의되는 백업 프로세스를 트리거하는 조건으로서 시스템 모니터링 소프트웨어(250)에 정의된다. 백업 이벤트 트리거를 구성할 수 있는 조건은 상이한 실시예에 따라 달라진다. 특정 실시예를 위한 백업 이벤트 트리거의 세트를 열거함에 있어서 한가지 고려 사항은, 사용자는 어떤 조건하에서 시스템(112)에 저장된 데이터가 자동으로 백업되게 하는 것이 가치 있다고 생각할 것인가 하는 것이다. 백업 이벤트 트리거의 예시적 리스트가 다음의 표 1에 나타나 있다. 이 리스트는 총망라적이지 않으며, 다른 실시예 는 다른 백업 이벤트 트리거를 포함한다는 것을 이해할 것이다.
타임 스케줄형 시스템 휴지 사용자 개시형 새로운 데이터 보존 전력 장애 하드 디스크 장애 환경
타임 스케줄형 백업
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 타임 스케줄형 백업 방식을 구현하도록 구성된다. 일 실시예에서, 타임 스케줄형 백업 방식은, 시스템 모니터링 소프트웨어(250)가 사전 설정 시점에서 백업 이벤트 트리거를 발생시키게 한다. 일부 실시예에서, 이 시점은 사용자 구성적(user-configured)인데, 예를 들어, 사용자가, 매주 월요일 밤 자정에 트리거하도록 시스템 모니터링 소프트웨어(250)를 설정할 수 있다. 다른 실시예에서는, 시스템 모니터링 소프트웨어(250)가 백업을 트리거하기 위한 시점을 선택한다. 그러한 일 실시예에서, 시스템 모니터링 소프트웨어(250)는, 검출된 과거의 사용에 기초해, 사용자가 시스템(112)을 사용하지 않을 것 같은 시점을 선택하도록 구성된다. 다른 실시예에서, 타임 스케줄형 백업 트리거는, 성공적인 마지막 백업 이래로 소정 시간 길이 이후에 발생하는데, 예를 들어, 시스템 모니터링 소프트웨어(250)는, 성공적인 마지막 백업 동작 이후 72 시간에서 백업이 발생하도록 스케줄링할 것이다. 타임 스케줄형 백업 방식을 구현함에 있어서 한가지 고려 사항은, 시스템(112)의 데이터는 루틴하게 그리고 정기적으로 보호되어야 한다는 것이다.
시스템 휴지 백업
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 시스템 휴지 백업 방식을 구현하도록 구성된다. 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)는, 시스템(112)에서의 마지막 활동 이래로 소정 시간 길이가 흐른 이후에 시스템 휴지 백업 트리거를 발생시킬 것이다. 그러한 일 실시예는, 시스템(112)이 HDD 활동으로부터 휴지 상태인지를 판정한다. 다른 실시예는, 키보드, 마우스, 또는 다른 입력 디바이스로부터의 입력의 존재에 기초해, 시스템 활동을 판정한다. 시스템 휴지 백업 방식을 구현함에 있어서 한가지 고려 사항은, 시스템 모니터링 소프트웨어(250)의 백업 활동이, 여전히 시스템(112)의 데이터를 위한 정기적인 보호를 제공하면서, 시스템(112)으로의 사용자 액세스와 간섭하지 않아야 한다는 것이다. 이 경우, 검출된 사용자 활동의 주기 동안, 백업 프로세스는 억제될 수도 있다.
일 실시예에서, 시스템 모니터링 소프트웨어(250)는, 다음에서 설명되는 바와 같이, 시스템 휴지 백업 방식 및 증분 백업 방식을 구현하도록 구성된다. 이 실시예에서는, 예를 들어, 시스템(112)이 휴지 상태로 진입할 때, 시스템 모니터링 소프트웨어(250)가 시스템 휴지 백업 트리거를 발생시키고, 백업 프로세스가 개시된다. 시스템(112)이 더 이상 휴지 상태가 아닐 때, 예를 들어, 사용자가 시스템(112)에 액세스할 때, 이러한 백업 프로세스는 보류된다. 제2 백업 프로세스가 개시될 때, 제1의 인터럽트된 백업 프로세스(first, interrupted, backup process) 동안에 이미 전송된 데이터는 다시 전송되지 않는다.
사용자 개시형 백업
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 사용자 개시형 백업 방식을 구현하도록 구성된다. 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)는, 사용자가 사용자 개시형 백업 트리거를 발생시킬 수 있게 하여, 백업 프로세스를 시작한다. 사용자 개시형 백업 방식을 구현함에 있어서 한가지 고려 사항은, 정말로 결정적인 데이터가 시스템(112)에 입력되었을 때 시스템 모니터링 소프트웨어(250)보다는 대개는 사용자가 좀더 양호하게 알게 될 것이고, 그에 따라, 백업 프로세스를 시작하는 것에 의해 데이터를 보호하도록 동작할 수 있다는 것이다. 추가적 고려 사항은, 시스템(112)이 전원 차단(power down)되거나 네트워크 접속(202)으로부터 접속 차단될 것인지는 시스템 모니터링 소프트웨어(250)보다는 사용자가 좀더 양호하게 알게 될 것이고, 이것이 발생하기 전에 백업 프로세스를 시작할 수 있다는 것이다.
새로운 데이터 보존 백업
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 새로운 데이터 보존 백업 방식을 구현하도록 구성된다. 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)는, 성공적인 마지막 백업 프로세스 이래로 소정량의 새로운 데이터가 시스템(112)에 저장된 후 새로운 데이터 보존 백업 트리거를 발생시킨다. 이러한 유형의 일 실시예는, 단계 310의 데이터 보존 준비 동안, 얼마나 많은 새로운 데이터가 시스템(112)에 입력되었는지를 판정한다. 일 실시예에서, 새로운 데이터의 양은 바이트 관점에서 측정된다. 다른 실시예에서, 새로운 데이터의 양은 이산 파일 수(numbers of discrete files)의 관점에서 측정된다. 또 다른 실시예에서, 새로운 데이터의 양은, 저장된 파일의 유형을 참조하여 측정되는데; 예를 들어, 텍스트 문서는 디지털 영화 파일보다 훨씬 적은 바이트를 요구하지만, 동일한 중요성이 부여될 수 있다. 일부 실시예에서, 사용자는, 시스템 모니터링 소프트웨어(250)를 새로운 데이터 보존 백업 트리거를 위한 임계 레벨을 설정하도록 구성한다. 다른 실시예에서는, 시스템 모니터링 소프트웨어(250)가 적합한 임계치를 판정한다. 그러한 일 실시예는, 설정된 시간(time period) 동안 새로운 데이터의 정규 생성을 추적하는 것에 의해 임계값을 판정하는데, 예를 들어, 시스템 모니터링 소프트웨어(250)가, 시스템(112)에서 매일 150개의 새로운 파일이 생성되고 있다고 지적하면, 합리적 임계치는 대략 이틀 생산량인 300개의 새로운 파일일 수 있다.
일부 실시예에서, 새로운 데이터 보존 백업 방식은 우선 순위 시스템과 관련하여 구현된다. 그러한 실시예에서, 높은 우선 순위 데이터는 동일량의 좀더 낮은 우선 순위 데이터보다 좀더 중요한 것으로 취급된다. 예를 들어, 시스템 모니터링 소프트웨어(250)는, 시스템(112)의 성공적인 마지막 백업 이래로 낮은 우선 순위 데이터의 10 메가바이트가 누적된 후 백업 트리거를 발생시킬 수도 있지만, 높은 우선 순위 데이터의 단지 1 메가바이트가 누적된 후에 백업 트리거를 발생시킬 수도 있다.
전력 장애 백업
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 전력 장애 백업 방식을 구현하도록 구성된다. 그러한 실시예에서, 시스템(112)은 긴급 전력 장애를 검출하도록 구성된다. 일 실시예에서, 시스템(112)은 UPS(uninterruptible power supply;252)에 접속되고, UPS(252) 및 시스템(112)은, 정규 전력이 손실되는 때를 시스템(112)이 판정하여 전력 장애 백업 트리거를 생성할 수 있도록 구성된다. 다른 실시예에서, 시스템(112)은 소모성 에너지원(expendable energy source)에 의해 전력이 공급되고, 그러한 에너지원이 바닥날 때를 검출하도록 구성되는데; 배터리 전력으로 구동되는 랩톱 컴퓨터가 일례이다. 한가지 고려 사항은, 시스템(112)으로의 전력 손실의 이벤트 시에 데이터는 긴급 전력 장애의 검출을 통해 보호되어야 한다는 것이다.
하드 디스크 장애
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 하드 디스크 장애 백업 방식을 구현하도록 구성된다. 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)는 하드 디스크 장애 백업 트리거를 발생시키도록 구성된다. 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는, HDD 성능 및 예상 수명에 영향을 미치는 그리고 시스템 장애를 잠재적으로 예측할 수 있는 팩터를 추적한다. 그러한 실시예에서는, HDD가 그의 동작 수명을 감소시킬 것으로 예상되는 좀더 많은 팩터에 노출됨에 따라, 시스템 모니터링 소프트웨어(250)는, 하드 디스크 장애로부터의 데이터 손실 위험을 감소시키기 위해, 백업 트리거의 빈도를 증가시킨다.
HDD의 예상 수명에 영향을 미치는 한가지 팩터는 HDD의 연령(age)이다. 시스템 모니터링 소프트웨어(250)는, 일 실시예에서, HDD의 대략적인 연령을 판정한다. HDD의 연령을 판정하는 예시적 방법은, 시스템(112)의 오퍼레이팅 시스템에서의 시스템 레지스트리를 점검하여 HDD가 시스템(112)에 설치된 때를 판정하는 것, 또는 공지된 제조 시기의 리스트에 대하여 HDD의 모델 번호 또는 일련 번호를 참조하는 것을 포함한다. 다른 실시예에서, 시스템 모니터링 소프트웨어(250)는, 하드 드라이브의 수명 예상에 영향을 미치는, 하드 드라이브가 수행한 판독/기입 사이클의 수를 고려한다. 또 다른 실시예에서, 시스템 모니터링 소프트웨어(250)는, 하드 드라이브의 수명 예상에 영향을 미치는, 하드 드라이브가 겪은 온/오프 사이클의 수를 고려한다. 추가적 실시예는, 백업 트리거를 얼마나 빈번하게 생성할 것인지를 고려하여, 이러한 접근 방법의 일부 또는 전부를 조합한다.
HDD 수명에 영향을 미치는 다른 팩터는 온도와 같은 환경 팩터이다. 지속적으로 극한 온도하에서 동작하는 HDD는 제어된 환경(controlled environments)에서만 동작하는 HDD보다 짧은 동작 수명을 가진다. 마찬가지로, 냉각 팬이 없는 시스템에서 또는 냉각 팬이 고장난 시스템에서 동작되는 HDD는 냉각되는 시스템에서 동작되는 HDD보다 짧은 동작 수명을 가진다. 일 실시예에서, 시스템(112)은 하드웨어 모니터 센서(260), 시스템 온도 모니터를 포함한다. 시스템 모니터링 소프트웨어(250)는 시스템 온도를 기록하고, 평균 동작 온도를 평균 시스템 온도 및 예상되는 HDD 수명의 컴파일된 통계치에 대하여 비교하도록 구성된다.
HDD 수명에 영향을 미치는 관련 팩터는, HDD가 노출되는 온도 기울기(temperature gradient)이다. 극한 온도에서 동작시키는 것보다도 훨씬 더, HDD를 크고 갑작스런 온도 변화에 노출시키는 것이, 예상되는 HDD 수명을 크게 감소시킬 수 있다. 일 실시예에서, 시스템(112)은 하드웨어 모니터 센서(260), 시스템 온도 모니터를 포함한다. 시스템 모니터링 소프트웨어(250)는 시스템 온도를 기록하고, 온도 기울기를 판정하며, 온도 기울기 및 예상되는 HDD 수명의 컴파일된 통계치에 대하여 비교하도록 구성된다.
HDD의 예상 수명에 영향을 미치는 다른 팩터가 업계에 공지되어 있다. 다른 실시예에서, 시스템 모니터링 소프트웨어(250) 및 시스템(112)은, 시스템 모니터링 소프트웨어(250)가 이 팩터를 인지하고 그에 따라 백업 트리거의 빈도를 조정할 수 있도록 구성된다.
일부 실시예에서, 시스템 모니터링 소프트웨어(250) 및 시스템(112)은, 잠재적으로 긴급 HDD 장애를 예측할 수 있는 팩터의 검출을 허용하도록 구성된다. 몇가지 그러한 실시예에서는, 시스템(112)에 포함된 하드웨어와 시스템 모니터링 소프트웨어(250)에 포함된 명령어의 조합이, HDD 장애 징후의 인식을 허용한다.
그러한 한가지 징후는, HDD의 동작에 의해 발생되는 음향의 변화이다. 예를 들어, 일부 HDD는 파국적 HDD 장애 직전에 좀더 소란스러워지고 딸깍거리는 음향을 발생시킬 수 있다. 몇몇 실시예는, HDD(104)에 인접하게 배치된, 마이크로폰을 시스템(112)에 포함하여 HDD 동작 동안에 발생되는 음향, 예를 들어, 음향의 피치 및 진폭을 측정한다. 다른 실시예는 HDD(104) 자체에 음향 검출 센서를 포함하여, 유사한 목적을 실현한다. 발생되는 음향을 예상되는 음향 프로파일에 대하여 비교하는 것에 의해, 시스템 모니터링 소프트웨어(250)는 긴급 HDD 오작동 또는 장애를 예측하고, 백업 트리거를 발생시킬 수 있다. 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 현재 음향을 이러한 동일 HDD(104)의 과거 성능으로부터 생성된 음향 프로파일에 대하여 비교한다. 다른 실시예에서, 시스템 모니터링 소프트웨어(250)는 특정 HDD의 제조자에 의해 컴파일된 사전 확립된 음향 프로파일을 사용하도록 구성된다.
긴급 HDD 장애의 다른 징후는 HDD 동작 온도의 갑작스러운 증가이다. 일부 실시예는, HDD(104)에 인접하게 배치된, 온도 센서를 시스템(112)에 포함하여 동작 온도를 측정한다. 다른 실시예는 온도 센서를 HDD(104) 자체에 포함하여, 유사한 목적을 실현한다. 동작 온도의 갑작스러운 증가를 검출하는 것에 의해, 시스템 모니터링 소프트웨어(250)는 잠재적으로 긴급 HDD 오작동 또는 장애를 예측하고, 백업 트리거를 발생시킬 수 있다.
환경 백업 트리거
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 환경 백업 방식을 구현하도록 구성된다. 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)는, 규정된 환경 조건이 발생하면 환경 백업 트리거를 발생시키도록 구성된다. 일부 실시예에서, 시스템(112)은, 시스템(112)이 상주하는 환경에 관한 정보를 제공하는 환경 모니터(251)에 결합된다. 일 실시예에서, 시스템(112)은 사무실 워크스테이션이고, 환경 모니터(251)는 침입에 대해 사무실을 모니터링하는 보안 시스템이다. 침입이 발생하면, 환경 모니터(251)가 그것을 검출하고, 시스템(112)에 통지하며, 시스템 모니터링 소프트웨어(250)는 백업 트리거를 발생시켜, 시스템(112)이 도난되거나, 파손되거나, 그렇지 않으면, 서버(212)로부터 접속 차단되기 전에 데이터가 백업되게 할 수 있는 백업 프로세스를 시작할 수 있다. 다른 실시예에서, 환경 모니터(251)는, 화재가 검출될 때 시스템 모니터링 소프트웨어(250)가 백업 프로세스를 개시할 수 있게 하며 시스템(112)이 손상되거나 파괴되는 이벤트시에 데이터를 보존하는, 화재 검출 시스템이다. 또 다른 실시예에서는, 다른 환경 모니터(251)가 사용되어, 백업 트리거를 프롬프트(prompt)해야 하는, 시스템(112)에 대해 국지적인 다른 조건을 검출한다. 환경 백업 트리거 및 가중 백업 트리거(weighted backup trigger)의 양자를 구현하는 일부 실시예에서는, 즉각적인 백업 프로세스를 프롬프트하기 위해 일부 또는 전부의 환경 백업 트리거가 가중된다.
가중 백업 트리거
일부 실시예에서는, 백업 이벤트 트리거에 상이한 가중치 또는 중요성의 레벨이 부여된다. 그러한 실시예는 대체로, 다음에서 좀더 상세하게 논의되는,백업 긴급 방식을 구현한다. 그러한 실시예에서, 타임 스케줄형 백업과 같은 백업 이벤트 트리거는 긴급 하드웨어 장애가 받는 것보다 낮은 가중치를 받을 것이다. 다른 실시예는, 이러한 가중화(weightings)가 시간에 걸쳐 달라지게 한다. 그러한 일 실시예에서, 예를 들어, 타임 스케줄형 백업은, 그것이 지연되는 시간이 길어질수록, 점점 더 큰 레벨의 중요성을 받을 것이다.
백업 프로세스
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는, 백업 트리거 이벤트가 검출된 이후에, 단계 330의 백업 프로세스를 수행하도록 구성된다. 다른 실시예에서, 시스템 모니터링 소프트웨어(250)는 별도의 백업 프로세스가 실행되게 한다. 일부 실시예에서, 백업 프로세스(330)는 시스템(112)에 저장된 데이터를 네트워크 접속(202)을 통해 서버(212)에 전송하는 것을 수반한다. 일부 실시예는 단계 330의 일부로서 백업 긴급 테스트를 포함한다. 일부 실시예는 우선 순위 방식을 이용해, 어떤 데이터를 먼저 송신할 것인지를 판정한다. 일부 실시예는 데이터 송신시에 증분 백업 방식을 이용한다.
백업 긴급 테스트
일부 실시예에서는, 백업 이벤트 트리거가 검출된 후에, 백업 긴급 테스트가 수행된다. 그러한 실시예에서는, 즉각적인 백업을 위한 필요성이 다른 관심사에 불리하게 작용하는데(weighed against other concerns), 백업을 위한 필요성이 더 크면, 즉각적으로 백업이 시작되고, 백업을 위한 필요성이 더 크지 않으면, 백업 프로세스는 지연된다. 이러한 밸런싱 휴리스틱의 각 측면에 영향을 미치는 예시적 팩터가 다음에서 설명되는데, 시스템 모니터링 소프트웨어(250)의 다른 실시예는 백업 긴급 테스트에 다른 팩터를 포함한다.
일부 실시예에서, 백업을 위한 필요성은 검출되는 백업 이벤트 트리거의 유형에 의해 영향을 받는다. 일 실시예에서, 잠재적인 긴급 하드 드라이브 오작동 또는 장애가 검출되면, 백업을 위한 필요성에는 긴급의 최고 레벨이 부여된다. 다른 실시예에서, 타임 스케줄형 백업에는 긴급의 훨씬 낮은 레벨이 부여된다. 상이한 백업 이벤트 트리거를 위해 긴급의 레벨을 확립함에 있어서의 한가지 고려 사항은, 백업 프로세스가 즉각적으로 개시되지 않는다면, 시스템(112)의 데이터가 손실될 가능성이 어느 정도인가 하는 것이다.
일부 실시예에서, 백업을 위한 필요성은, 성공적인 마지막 백업 이후의 시간 길이에 의해 영향을 받는다. 그러한 일 실시예에서, 타임 스케줄형 백업이 여러 차례 지연된 경우, 각각의 연속적인 백업 긴급 테스트는, 백업이 실현될 때까지, 백업을 위한 필요성에 좀더 큰 긴급을 부여할 것이다.
일부 실시예에서, 데이터를 위해 우선 순위 시스템이 구현된 경우, 백업을 위한 필요성은, 성공적인 마지막 백업 이후로 시스템(112)에 누적된 데이터의 우선 순위에 의해 영향을 받는다. 그러한 일 실시예에서는, 예를 들어, 10 메가바이트의 낮은 우선 순위 데이터가 누적되었을 때보다 10 메가바이트의 높은 우선 순위 데이터가 누적되었을 때, 시스템 모니터링 소프트웨어(250)에 의해, 백업을 위한 좀더 큰 필요성이 할당된다.
일부 실시예에서는, 백업을 위한 필요성이 시스템(112)에서의 활동의 현재 레벨에 대하여 측정된다. 몇가지 그러한 실시예에서는, 사용자가 시스템(112)에 액세스하는 방법이 고려되고, 시스템 모니터링 소프트웨어(250)는 시스템(112)에 액세스하기 위한 사용자의 소망에 대하여 백업을 위한 필요성의 균형을 맞춘다. 한가지 고려 사항은, 백업 프로세스는 대체로, HDD 및 네트워크 접속 액세스와 같은, 시스템 리소스로의 집중적인 액세스를 요구하므로; 사용자가 광범위한 HDD 또는 네트워크 액세스를 수반하는 소정 작업을 수행하는 동안 백업을 개시하는 것은 사용자에게 불편하며 시스템(112)의 효율적인 사용이 아니라는 것이다.
일 실시예는 시스템(112)에서의 HDD 활동을 모니터링하여, 시스템(112)의 활동 레벨을 판정한다. 다른 실시예는 네트워크 접속 활동을 모니터링하여, 네트워크 접속(202)이 데이터를 서버(212)에 전송하는데 이용 가능한 때를 판정한다. 또 다른 실시예는 입력 디바이스, 예를 들어, 마우스 및 키보드의 사용을 모니터링하여, 시스템(112)이 휴지 상태인 때를 판정한다. 또 다른 실시예는 시스템 모니터링 소프트웨어(250)를 시스템(112)에서 실행중인 화면 보호기 프로그램(screensaver program)에 링크하고, 그에 따라, 시스템이 화면 보호기 프로그램이 실행되기에 충분할 정도로 긴 휴지 상태가 아니라면, 백업 프로세스는 시작되지 않을 것이다. 또 다른 실시예는 시스템 또는 네트워크 활동 레벨을 판정하기 위한 다른 방법을 포함한다.
또 다른 실시예에서, 백업 긴급 테스트가 구현되지 않는 경우, 시스템 모니터링 소프트웨어(250)는 시스템(112) 활동을 모니터링하여, 시스템(112)이 사용될 때마다, 백업 프로세스를 실행하는 것을 방지한다.
데이터 무결성
일부 실시예는, 데이터가 수신된 이후에 데이터의 무결성을 점검하는 것을 허용하는 다양한 방법을 포함한다. 데이터를 서버(212)에 전송하기 전에 검사 합(checksum)을 생성하는 단계, 검사 합 정보를 전송하는 단계, 및 서버(212)가 송신된 데이터의 무결성을 확인하게 하는 단계를 포함하지만, 그것으로 제한되는 것은 아닌, 업계에 공지되어 있는 다수 방법은 데이터 정확성을 보장하기에 적합하다. 다른 실시예는 데이터 무결성을 점검하는 다른 시스템을 포함한다.
데이터 암호화
일부 실시예에서는, 데이터가 네트워크 접속(202)을 통해 전송되기 전에, 시스템(112)과 서버(212) 사이에 암호화된 안전한 접속이 확립되어야 한다. SSL(secure socket layer) 또는 SSH(secure shell)를 포함하지만, 그것으로 제한되는 것은 아닌, 암호화된 접속의 다수 형태가 업계에 공지되어 있고, 본 발명의 실시예를 실시하기에 적당하다. 다른 실시예에서는, 데이터를 전송하기 전에 안전한 접속이 요구되지 않는다. 그러한 일 실시예는 단계 310 동안 데이터의 암호화를 포함하는데, 이는, 데이터가 인가되지 않은 사람들에 의해 액세스되는 위험을 감소시킬 것이다.
데이터 전송
본 발명의 상이한 실시예는 데이터 전송의 상이한 방법을 이용한다. 데이터를 네트워크 접속(202)을 통해 시스템(112)으로부터 서버(212)에 신뢰성 있게 전송하는 어떤 방법도 본 발명의 실시예를 실시하는데 수용 가능하다. 일 실시예는 인터넷을 전송 매체로서 이용하고, 데이터를 IP(Internet protocol)에 따라 포맷한다. 다른 실시예는 네트워크 접속(202)의 상이한 유형을 이용하고, 데이터를 다른 데이터 전송 프로토콜에 따라 인코딩한다.
일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 데이터의 증분 저장을 구현한다. 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)는, 시스템(112)이 백업된 마지막 시점 이후로 추가된 데이터만을 전송한다. 새로운 데이터의 식별은, 일 실시예에서, 단계 310의 일부로서 실현된다. 다른 실시예에서, 새로운 데이터는, 단계 330의 일부로서, 전송 직전에 식별된다. 증분 백업을 구현할 것인지의 여부를 판정함에 있어서의 한가지 고려 사항은, 완전한(full) 백업이 완료되는 속도가 시스템(112)에 데이터의 완료된 별도 백업 기록을 보유하는 것보다 중요한지의 여부이다. 다른 실시예는, 백업 프로세스가 실행될 때마다 백업될 모든 데이터를 전송하는 대신에, 증분 저장을 생략한다. 이러한 종류의 완전한 백업은 신속하게 변화하는 데이터의 시스템을 위해, 아카이벌(archival) 목적을 위해, 그리고 악성 프로그램 또는 바이러스에 의해 공격받을 수도 있는 시스템을 위해 유용하다. 일부 실시예는 이러한 2가지 접근 방법의 조합을 포함한다. 그러한 일 실시예에서, 예를 들어, 완전한 백업은, 증분 백업이 주 단위로(weekly) 수행되는 상태에서, 한달에 한번씩 수행된다.
일부 실시예에서, 백업 프로세스는, 그것이 완료될 때까지 실행된다. 그러한 실시예에서는, 일단 데이터 전송이 시작되고 나면, 시스템(112)으로부터의 모든 데이터가 서버(212)에 전송될 때까지 계속된다. 다른 실시예에서는, 사용자가 다른 목적을 위해 시스템(112)에 액세스할 때마다, 백업 프로세스는 보류된다. 그러한 실시예에서, 사용자의 시스템(112) 사용은, 백업 프로세스의 실행에 의해 크게 악화되지 않는다. 다른 실시예에서, 백업 프로세스가 보류될 수 있는지의 여부는, 전술한, 백업 긴급 테스트와 동일한 기준에 영향을 받는다. 그러한 일 실시예에서는, 예를 들어, 불편한 시점에 백업이 발생할 것을 강제하도록 충분한 높은 우선 순위 데이터(enough high-priority data)가 누적되었다면, 백업 프로세스는, 충분한 높은 우선 순위 데이터가 전송되어 긴급 테스트의 결과를 변경할 때까지 보류되지 않을 것이다. 실시예의 다른 세트에서, 백업 프로세스는, 사용자가 시스템(112)에 액세스하는 동안에, 그러나 감소된 속도에서, 계속될 수 있다. 예를 들어, 네트워크 접속(202)을 통한 데이터의 전송은, 사용자가 시스템(112)에 액세스하는 동안에는, 이용 가능한 네트워크 대역폭, 프로세서 대역폭, 및/또는 드라이브 대역폭의 고정된 백분율로 제한되어, 백업 프로세스를 완전히 보류하지 않으면서, 사용자에게 시스템(112)의 소정 사용을 허용할 수도 있다.
서버 활동 - 백업 관리 소프트웨어
이제 도 5를 참조하면, 본 발명의 일 실시예에 따른, 백업 관리 소프트웨어(290)의 동작 흐름도(500)가 묘사된다. 단계 510에서, 백업 관리 소프트웨어(290)는 클라이언트 시스템(112)의 동작을 원격적으로 모니터링한다. 단계 520에서, 백업 관리 소프트웨어(290)는 클라이언트 시스템(112)에 대한 백업 프로세스를 원격적으로 트리거한다. 단계 530에서는, 백업 관리 소프트웨어(290)가 백업 프로세스를 원격적으로 트리거하였거나 또는 시스템 모니터링 소프트웨어(250)가 백업 프로세스를 개시하였다면, 백업 관리 소프트웨어(290)는 클라이언트 시스템(112)으로부터 수신된 데이터를 검색 가능하게 저장한다. 단계 540에서, 백업 관리 소프트웨어(290)는 저장된 데이터를 클라이언트에 복구시키도록 동작한다.
원격 모니터링
일부 실시예에서, 백업 관리 소프트웨어(290)는 시스템(112)의 원격 모니터링을 수행하도록 구성된다. 일부 실시예에서, 원격 모니터링은, 필수 작업의 소정 복사를 원격적으로 제공하는 것에 의해, 서버(212)가 시스템 모니터링 소프트웨어(250)를 위한 비상 안전 장치(failsafe)로서 동작하게 한다. 몇몇 실시예에서, 백업 관리 소프트웨어(290)는, 클라이언트측에서 검출하기에는 좀더 어려울 문제점을 위해서도 시스템(112)을 모니터링한다.
클라이언트 백업 이벤트 트리거
일부 실시예에서, 백업 관리 소프트웨어(290)는, 상술된, 시스템 모니터링 소프트웨어(250)에서 발생하는 백업 이벤트 트리거를 위한 모니터링을 중복한다(duplicate). 몇몇 그러한 실시예에서, 시스템 모니터링 소프트웨어(250)에 이용 가능한 모니터링 정보는 네트워크 접속(202)을 통해 백업 관리 소프트웨어(290)에 전송되고, 본 조건의 동일한 평가가 시스템(112) 및 서버(212)에 대해 발생한다.
다른 실시예에서는, 선택된 정보만이 서버(212)에 전송되고, 백업 관리 소프트웨어(290)는 선택 백업 이벤트 트리거를 위해(for select backup event triggers) 시스템(112)을 모니터링한다. 그러한 일 실시예에서, 예를 들어, 시스템 모니터링 소프트웨어(250)가 하드 드라이브 장애 검출을 포함하는 경우, 현재 하드 드라이브 음향의 샘플이 서버(212)에 전송되고, 백업 관리 소프트웨어(290)는 임박한 장애의 증거를 위해 음향을 모니터링한다. 백업 관리 소프트웨어(290)에서 어떤 모니터링 작업을 중복할 것인지를 판정함에 있어서의 한가지 고려 사항은, 백업 관리 소프트웨어(290)가 시스템 모니터링 소프트웨어(250)보다 양호하게 모니터링 역할을 수행할 수 있는지의 여부이다. 예를 들어, 앞서 설명된 실시예에서, 백업 서비스를 다중 클라이언트에 제공하는 회사에 의해 보유되는, 오프 사이트 서버(off-site server)(212)가, 이용 가능한 모든 HDD의 음향 프로파일을 포함하는, 백업 관리 소프트웨어(290)의 최신 버전을 포함할 것 같다.
백업 관리 소프트웨어(290)의 다른 실시예는 시스템 모니터링 소프트웨어(250)의 모니터링 작업 중 어떤 것도 중복하지 않는다.
다른 모니터링 작업
일부 실시예에서, 백업 관리 소프트웨어(290)는, 백업 프로세스를 발생시켜야 하는 다른 문제점 또는 쟁점을 위해 시스템(112) 및 시스템 모니터링 소프트웨어(250)를 모니터링한다. 일 실시예에서, 백업 관리 소프트웨어(290)는 손상 또는 소프트웨어 열화를 위해 시스템(112)을 모니터링한다. 그러한 불규칙한 시스템 성능은 바이러스, 악성 프로그램, 또는 파일 시스템 손상에 의해 초래될 수 있다. 예를 들어, 백업 관리 소프트웨어(290)가 상태 업데이트를 위한 요청으로써 시스템 모니터링 소프트웨어(250)와 접촉하여 터무니없거나 예상치 못한 응답을 수신하면, 시스템(112)은, 거기에 저장된 데이터를 위협하는 문제점을 가질 수도 있어, 즉각적으로 백업되어야 한다.
다른 실시예에서, 백업 관리 소프트웨어(290)는, 성공적인 마지막 백업 프로세스 이후로 얼마나 많은 시간이 경과했는지를 판정하도록 구성된다. 일 실시예는, 소정 시간이 경과한 후에, 백업 관리 소프트웨어(290)가 백업 프로세스를 개시하도록 구성될 수 있게 한다. 다른 실시예는, 백업 관리 소프트웨어(290)가, 예를 들어, 전자 메일 메시지를 통해, 시스템(112)을 담당하는 개개인과 접촉하는 것을 시도하고, 그들에게 시스템(112)이 최근에 백업되지 않았다는 것을 통지하도록 구성될 수 있게 한다.
또 다른 실시예에서, 백업 관리 소프트웨어(290)는, 시스템(112)이 위협받는 위치에 있다는 것이 인지되면, 원격 백업을 개시하도록 구성된다. 일 실시예에서는, 예를 들어, 서버(212)가 단일 도시(city)의 다중 시스템(112)에 접속되고; 그 도시가 중대한 화재, 지진, 토네이도, 허리케인, 또는 다른 유사 재해로부터 위험에 처해 있다는 것이 인지되면, 백업 관리 소프트웨어(290)는 위협받는 위치의 모든 시스템(112)에 대한 원격 백업 프로세스를 개시할 수 있다.
또 다른 실시예에서, 백업 관리 소프트웨어(290)는, 상당한 바이러스 또는 시스템 보안 위협이 검출될 때 원격 백업을 개시하도록 구성된다. 일부 실시예에서, 백업 관리 소프트웨어(290)는 인터넷을 통해 확산되는 새로운 바이러스, 예를 들어, 자기 복제 이메일 웜(self-replicating email worm)에 대해 통지받고, 하나 이상의 시스템(112)이 감염된 경우에 초래되는 손상을 최소화하기 위해, 백업 관리 소프트웨어(290)에 의해 모니터링되는 모든 시스템(112)의 원격 백업을 개시한다.
또 다른 실시예는 다른 원격 모니터링 작업을 포함한다.
원격 백업 프로세스
일부 실시예에서, 백업 관리 소프트웨어(290)는 원격 백업 프로세스를 개시하도록 구성된다. 백업 관리 소프트웨어(290)는, 이 실시예에서, 상술된 것과 같은, 백업 이벤트 트리거에 응답하여, 또는 상술된, 다른 모니터링 작업 중 하나에 응답하여 원격 백업 프로세스를 개시한다.
몇가지 그러한 실시예에서, 백업 관리 소프트웨어(290)는 백업 프로세스를 개시할 것을 시스템 모니터링 소프트웨어(250)에 시그널링할 수 있다. 일 실시예에서, 원격 백업 트리거는 앞서 상술된 긴급 균형 테스트를 받게 된다. 다른 실시예에서, 원격 백업 트리거는 즉각적으로 실행된다.
데이터의 검색 가능 저장
일부 실시예에서, 백업 관리 소프트웨어(290)는 시스템(112)으로부터 수신된 데이터를 검색 가능하게 저장하는 것을 담당한다. 다른 실시예에서, 백업 관리 소프트웨어(290)는, 데이터를 검색 가능하게 저장하는 다른 프로그램을 호출한다. 다수 실시예에서는, 추가 보호 장치(safeguard)가 배치되어, 서버(212)에 저장된 데이터의 안전을 보장한다. 몇몇 실시예에서는, 예를 들어, RAID(redundant array of independent disks) 구성이 이용되어, 서버(212)에서의 데이터 보존을 좀더 양호하게 보장한다. 다른 실시예는 데이터를 안전하게 저장하기 위해 업계에 공지되어 있는 데이터 저장의 다른 방법을 사용한다.
일부 실시예에서, 백업 관리 소프트웨어(290)는 저장될 데이터를 암호화한다. 앞서 논의된 바와 같이, 암호화의 다수 유형이 본 발명의 실시예와 함께 사용하기 위해 이용 가능하다.
일부 실시예에서, 백업 관리 소프트웨어(290)는 서버(212)에 저장된 데이터로의 외부 액세스를 허용한다. 그러한 일 실시예는, 사용자가 서버(212)에 저장된 그의 데이터에 인터넷을 통해 액세스할 수 있게 한다. 이 실시예에서, 사용자는, 시스템(112)을 외부 액세스에 노출시킬 필요없이, 그의 데이터를 액세스하고 디스플레이하는 능력을 가지며, 이는, 시스템(112)에 대한 좀더 양호한 보안을 허용한다.
일부 실시예에서, 백업 관리 소프트웨어(290)는, 백업 프로세스가 구현될 때마다, 시스템(112)으로부터의 오래된 데이터(old data)를 겹쳐쓰기한다. 그러한 실시예에서, 시스템(112)으로부터의 데이터를 저장하는데 요구되는 저장 공간량은 좀더 쉽게 제어될 수 있다. 다른 실시예에서, 백업 관리 소프트웨어(290)는, 백업 프로세스가 구현될 때마다, 시스템(112)으로부터 수신되는 데이터를 새로운 위치에 저장한다. 좀더 많은 공간을 소비(consuming)하기는 하지만, 이 실시예는 데이터의 좀더 양호한 아카이벌뿐만 아니라, 시스템(112)이 악성 프로그램 또는 바이러스에 의해 감염되는 경우, 데이터의 좀더 양호한 복구를 허용한다. 그러한 경우, 시스템(112)의 최신 백업도 감염될 수 있고, 시스템(112)으로부터의 데이터의 좀더 이른 버전은 문제가 없을 수도 있다. 일부 실시예는 이러한 2가지 접근 방법을 혼합하여, 시스템(112)으로부터의 몇 가지 백업 세션이 서버(212)에 동시에 공존할 수 있게 한다. 이것은, 저장 요구 사항과 아카이벌 또는 복구 사용 사이의 균형을 허용한다.
데이터 복구
일부 실시예에서, 백업 관리 소프트웨어(290)는 시스템(112)의 데이터 복구를 허용한다. 몇가지 그러한 실시예에서, 백업 관리 소프트웨어(290)는 서버(212)에 저장된 데이터를 네트워크 접속(202)을 통해 시스템(112)에 역전송한다. 일부 실시예에서, 서버(212)의 소유자 또는 조작자는 데이터의 복구에 대해 비용을 청구할 수도 있다. 데이터를 시스템(112)에 전송하고 그것을 복구하는 것은 상이한 실시예에서 상이한 다수 방법으로 실현된다. 네트워크 접속을 통해 데이터를 전송하고 복구하기 위한 공지의 임의 접근 방법이 본 발명의 실시예를 실시하기에 충분할 것이다.
특수한 경우 - "장전 총(LOADED GUN)" 백업 프로세스
앞서 논의된 바와 같이, 종래 기술 백업 시스템의 한가지 공통적인 장애는, 종래 기술 백업 시스템은 본질적으로 실제 백업 프로세스를 시작하는 것이 느리다는 것이다. 그러한 시스템은 긴급 상황하에서 백업 프로세스를 개시하도록 준비되어 있지 않으며, 이 경우, 시스템을 백업하는데 이용 가능한 시간량은 제한적이기도 하고 미지 상태(unknown)이기도 하다. 본 발명의 몇몇 실시예는, 긴급 상황에서 데이터 백업 서비스를 제공하기 위한 방법 및 시스템에 대한 것이다. 일부 실시예에서, 백업 프로세스는 계속적으로 실행 준비를 하므로, 긴급 백업 이벤트 트리거가 검출된 직후에 데이터 전송이 시작될 수 있게 한다.
이제 도 6을 참조하면, 본 발명의 일 실시예에 따른, 백업 프로세스를 묘사하는 컴퓨터 제어 흐름도가 도시된다. 도 2 및 도 6을 참조하여, 긴급 상황에서 데이터 백업 서비스를 제공하도록 구성된 실시예가 자세히 설명될 것이다.
이제 단계 605를 참조하면, 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 새로운 또는 변경된 데이터를 위해 시스템(112)을 모니터링한다. 시스템 모니터링 소프트웨어(250)의 초기 실행시에, 시스템(112)의 모든 데이터는 새로운 것으로 등록될 것이다. 성공적인 최초의 백업 프로세스 후에는, 시스템(112)에 후속적으로 추가된 데이터 또는 성공적인 마지막 백업 프로세스 이후로 변경된 데이터만이 새로운 것으로 식별될 것이다. 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 소정 파일, 파일 유형, 또는 시스템(112)의 파일 구조 내의 위치를 무시하도록 구성될 수 있다. 이러한 실시예에서, 사용자는, 좀더 중요한 데이터를 보존하기 위해서, 덜 중요한 소정 파일, 예를 들어, 오퍼레이팅 시스템 파일, 임시 저장 파일, 또는 쉽게 재설치되는 프로그램은 백업하지 않을 것을 결정할 수 있다. 다른 실시예에서는, 소정 유형 또는 시스템(112)의 파일 구조 내의 규정된 위치에서의 새로운 데이터만이 새로운 것으로 등록될 것이다. 일부 실시예에서는, 기존 파일에서의 변화 정도도 식별되는데, 이로 인해, 사용자는 약간 변경된 파일, 많이 변경된 파일, 및 완전히 새로운 데이터를 위해 중요성의 달라지는 레벨을 특정할 수 있다. 이 실시예는, 데이터를 디폴트로써 제외하고 사용자가 파일의 어떤 유형 또는 어떤 디렉토리를 백업할 것인지를 선택하는 것을 허용하는 것에 의해, 어떤 데이터가 보존되는지에 대한 사용자의 추가 제어를 허용한다.
이제 단계 610을 참조하면, 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 새로운 데이터를 보존을 위해 준비한다. 이러한 실시예에서, 한가지 고려 사항은, 데이터는, 긴급 백업 이벤트 트리거의 경우에, 전송 이전에 데이터를 위치를 찾아내기 위한 검색이 요구되지 않는 그런 방법으로 시스템 모니터링 소프트웨어(250)에게 식별되어야 한다는 것이다. 일 실시예에서, 이것은, 시스템(112)에서의 모든 새로운 데이터의 위치를 식별하는 리스트, 예를 들어, 모든 새로운 데이터 파일의 어드레스를 저장하는 데이터베이스를 생성하거나 업데이트하는 시스템 모니터링 소프트웨어(250)에 의해 실현된다. 다른 실시예에서는, 도 2를 참조하여 앞서 상세하게 설명된 것과 같은, 파일 재배치 방식이 이용된다. 또 다른 실시예에서는, 도 2를 참조하여 앞서 상세하게 설명된 것과 같은, 데이터 복사 방식이 이용된다. 이러한 예시적 실시예 모두에서, 시스템 모니터링 소프트웨어(250)는, 긴급 상황이 발생하기 전에, 시스템(112)에서의 모든 새로운 데이터의 위치를 식별하였고, 새로운 데이터를 검색해야 하는 필요에 의해 시간이 손실되지 않는다.
일부 실시예에서, 단계 610은 데이터 압축도 포함한다. 이 실시예에서의 고려 사항은 전송 속도인데, 압축된 데이터를 네트워크 접속(202)을 통해 서버(212)에 전송하는데는 좀더 적은 시간이 요구되기 때문이다. 긴급 상황에서, 데이터의 좀더 빠른 전송은, 전송이 종료되기 전에 좀더 많은 데이터가 백업된다는 것을 의미할 수 있다.
일부 실시예에서, 단계 610은 데이터 암호화도 포함한다. 이 실시예에서의 고려 사항은, 보안이, 전송 동안에도 그리고 데이터가 서버(212)에 저장된 후에도, 관심사인지의 여부이다. 서버(212) 및 네트워크 접속(202)의 양자가 신뢰된다면, 암호화는, 서버(212)가 오프 사이트(off-site)이고 네트워크 접속(202)이 인터넷 접속인 경우보다, 덜 중요하다.
일부 실시예에서, 단계 610은 데이터 우선 순위 플래깅(data priority flagging)도 포함한다. 이 실시예에서는, 앞서 논의된 바와 같이, 데이터의 상대적 중요성이 확립될 수 있다. 긴급 상황에서, 백업 프로세스가 완료되기 전에 전송이 종료된다고 하더라도, 높은 우선 순위 데이터의 보존을 좀더 양호하게 보장하면서, 낮은 우선 순위 데이터 이전에 높은 우선 순위 데이터가 전송될 수 있다.
이제 단계 620을 참조하면, 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 긴급 상황을 위해 시스템(112)을 모니터링한다. 다른 실시예에서, 시스템 모니터링 소프트웨어(250)는 긴급 상황을 위해 시스템(112)의 환경을 모니터링한다. 다른 실시예는 이 사양들을 조합하는 한편, 다른 실시예는 다른 백업 이벤트 트리거를 위해 시스템(112)을 모니터링하기 위해 시스템 모니터링 소프트웨어(250)도 구성한다. 어떤 이벤트를 모니터링할 것인지를 선택함에 있어서의 한가지 고려 사항은, 특정 상황이 백업 프로세스를 인터럽트할 가능성이 있는지의 여부이다. 전력 인터럽션(power interruption), 하드 드라이브 장애, 및 화재 또는 보안 시스템 경보와 같은, 환경 상황을 포함하는, 그러한 다수 상황이 앞서 자세하게 설명되었다.
이제 단계 625를 참조하면, 일부 실시예에서, 백업 관리 소프트웨어(290)는 긴급 상황을 위해 시스템(112)을 모니터링한다. 다른 실시예에서, 백업 관리 소프트웨어(290)는 긴급 상황을 위해 시스템(112)의 환경을 모니터링한다. 다른 실시예는 이 사양들을 조합하는 한편, 다른 실시예는 다른 백업 이벤트 트리거를 위해 시스템(112)을 모니터링하도록 백업 관리 소프트웨어(290)를 구성할 수도 있다. 또한, 모니터링할 이벤트를 선택함에 있어서의 한가지 고려 사항은, 특정 이벤트가 성공적인 백업 프로세스를 방해할 가능성이다. 단계 620을 위해 상세하게 설명된 것뿐만 아니라, 시스템(112) 부근에서 발생하는 화재 또는 자연 재해와 같은, 다른 환경 팩터를 모니터링하는 것을 포함하는, 그러한 다수 상황이 앞서 설명되었다.
이제 단계 630을 참조하면, 긴급 백업 이벤트 트리거가 검출된다.
이제 단계 640을 참조하면, 일부 실시예에서, 시스템 모니터링 소프트웨어(250)는 백업 프로세스를 시작한다. 다른 실시예에서, 백업 관리 소프트웨어(290)는, 명령 또는 일련의 명령들을 네트워크 접속(202)을 통해 시스템(112)에 송신하는 것에 의해, 백업 프로세스를 개시한다. 일부 실시예에서, 네트워크 접속(202)은, 데이터 전송이 시작될 수 있기 전에 확립되어야 한다. 다른 실시예에서, 네트워크 접속(202)은 이미 확립되어 있는 상태이다. 데이터가 네트워크 접속(202)을 통해 시스템(112)에서 서버(212)에 전송되기 시작한다. 우선 순위 데이터 시스템이 구현된 실시예에서는, 높은 우선 순위 데이터가 낮은 우선 순위 데이터 이전에 전송된다. 다른 실시예에서는, 작은 파일이 큰 파일 이전에 전송된다. 모든 실시예에 적용되는 한가지 고려 사항은, 전송이 종료되기 전에, 가능한 데이터의 최대량이 서버(212)에 전송될 수 있게 하기 위해, 데이터 전송은 가능한 빨리 시작되어야 한다는 것이다.
이와 같이, 본 발명의 실시예가 설명되었다. 본 발명이 특정 실시예로 설명되기는 하였지만, 본 발명이 그러한 실시예에 의해 제한되는 것으로 생각되어서는 안되며, 오히려 다음 특허청구범위에 따라 해석되어야 한다는 것을 이해할 수 있어야 한다.

Claims (10)

  1. 컴퓨터 시스템에서 데이터 백업 프로세스를 개시하는 방법으로서,
    상기 컴퓨터 시스템에 보존될 데이터를 식별하는 단계;
    백업 트리거 이벤트의 발생을 위해 상기 컴퓨터 시스템을 모니터링하는 단계; 및
    상기 백업 이벤트 트리거의 상기 발생에 응답하여, 밸런싱 휴리스틱(balancing heuristic)을 적용하여 백업 프로세스의 개시 여부를 판정하는 단계
    를 포함하는 데이터 백업 프로세스 개시 방법.
  2. 제1항에 있어서,
    상기 모니터링하는 단계는 상기 컴퓨터 시스템에 결합된 기계식 데이터 저장 디바이스를 모니터링하는 단계를 포함하고, 상기 백업 트리거 이벤트는 상기 기계식 데이터 저장 디바이스의 잠재적 긴급 오작동의 지시(indication)를 포함하는 데이터 백업 프로세스 개시 방법.
  3. 제2항에 있어서,
    상기 모니터링하는 단계는, 상기 컴퓨터 시스템 내에 배치된 그리고 상기 기계식 데이터 저장 디바이스에 근접하게 배치된, 음향 감지 디바이스(sound sensitive device)에 의해 발생되는 음향 신호를 모니터링하여, 상기 음향 신호로 부터, 상기 기계식 데이터 저장 디바이스가 기계식 저장 시스템 장애의 징후를 나타내는지를 판정하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
  4. 제2항에 있어서,
    상기 모니터링하는 단계는, 상기 컴퓨터 시스템 내에 배치된 그리고 상기 기계식 데이터 저장 디바이스에 근접하게 배치된, 온도 감지 디바이스에 의해 발생되는 온도 신호를 모니터링하여, 상기 온도 신호로부터, 상기 기계식 데이터 저장 디바이스가 기계식 저장 시스템 장애의 징후를 나타내는지를 판정하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
  5. 제1항에 있어서,
    상기 모니터링하는 단계는 상기 컴퓨터 시스템에 대한 위협(threat)을 검출하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
  6. 제5항에 있어서,
    상기 모니터링하는 단계는 상기 컴퓨터 시스템의 환경으로의 침입을 검출하기 위한보안 시스템을 모니터링하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
  7. 제1항에 있어서,
    상기 백업 이벤트 트리거에 중요성의 레벨을 할당하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
  8. 제7항에 있어서,
    상기 밸런싱 휴리스틱은, 상기 컴퓨터 시스템에 대한 현재 활동이 상기 백업 이벤트 트리거의 상기 중요성의 레벨보다 높은 중요성으로 되어 있는지를 판정하는 단계를 포함하는 데이터 백업 프로세스 개시 방법.
  9. 제7항에 있어서,
    상기 컴퓨터 시스템이 활성 및 휴지 상태(an active and an idle state) 사이에서 스위칭하는지를 검출하는 단계;
    상기 컴퓨터 시스템이 휴지 상태로 스위칭하는 것에 응답하여, 증분 백업 프로세스(incremental backup process)를 개시하는 단계; 및
    상기 컴퓨터 시스템이 활성 상태로 스위칭하는 것에 응답하여, 상기 증분 백업 프로세스를 보류하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
  10. 제1항에 있어서,
    상기 모니터링하는 단계는 상기 백업 이벤트 트리거의 상기 발생을 위해 상기 컴퓨터 시스템을 원격적으로 모니터링하는 단계를 더 포함하는 데이터 백업 프로세스 개시 방법.
KR1020087013835A 2005-12-08 2006-12-06 긴급 데이터 보존 서비스 KR100990004B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/297,985 US9122643B2 (en) 2005-12-08 2005-12-08 Event trigger based data backup services
US11/298,173 US8402322B2 (en) 2005-12-08 2005-12-08 Emergency data preservation services
US11/297,985 2005-12-08
US11/298,173 2005-12-08

Publications (2)

Publication Number Publication Date
KR20080072904A true KR20080072904A (ko) 2008-08-07
KR100990004B1 KR100990004B1 (ko) 2010-10-26

Family

ID=38123496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087013835A KR100990004B1 (ko) 2005-12-08 2006-12-06 긴급 데이터 보존 서비스

Country Status (4)

Country Link
JP (1) JP4904365B2 (ko)
KR (1) KR100990004B1 (ko)
TW (1) TWI432956B (ko)
WO (1) WO2007067699A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI493375B (zh) * 2009-07-01 2015-07-21 Fineart Technology Co Ltd 應用於電腦及電腦系統架構之資訊安全管理方法
JP2011237950A (ja) * 2010-05-07 2011-11-24 Fujitsu Ltd 情報処理装置、バックアップサーバ、バックアッププログラム、バックアップ方法及びバックアップシステム
JP5816424B2 (ja) * 2010-10-05 2015-11-18 富士通株式会社 情報処理装置、テープ装置、およびプログラム
US20130339304A1 (en) * 2012-06-15 2013-12-19 Lg Electronics Inc. Mobile terminal and method for controlling mobile terminal
CN108347521A (zh) * 2017-01-24 2018-07-31 中兴通讯股份有限公司 一种数据备份方法及装置
JP6891603B2 (ja) * 2017-03-31 2021-06-18 日本電気株式会社 バックアップシステム、ストレージ装置、データ転送方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5560023A (en) * 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
JPH08106419A (ja) * 1994-10-06 1996-04-23 Hitachi Ltd バックアップ装置
JP4034405B2 (ja) * 1998-02-25 2008-01-16 東芝テック株式会社 情報処理装置
JP2001092688A (ja) * 1999-09-24 2001-04-06 Toshiba Corp 故障管理装置
US6574754B1 (en) * 2000-02-14 2003-06-03 International Business Machines Corporation Self-monitoring storage device using neural networks
JP4041656B2 (ja) * 2001-03-02 2008-01-30 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ送受信方法
JP4057818B2 (ja) * 2002-02-15 2008-03-05 株式会社ブロードリーフ データバックアップ方法
JP2003345627A (ja) * 2002-05-27 2003-12-05 Sony Corp 障害発生予防装置および方法、並びにプログラム
US7328366B2 (en) * 2003-06-06 2008-02-05 Cascade Basic Research Corp. Method and system for reciprocal data backup
US7109861B2 (en) * 2003-11-26 2006-09-19 International Business Machines Corporation System and method for alarm generation based on the detection of the presence of a person
US7340646B2 (en) 2004-05-03 2008-03-04 International Business Machines Corporation Apparatus, system, and method for resource group backup
JP2005346218A (ja) * 2004-06-01 2005-12-15 Dainippon Printing Co Ltd データバックアップ装置
US7512825B2 (en) 2004-09-27 2009-03-31 Hewlett-Packard Development Company, L.P. Responding to DC power degradation

Also Published As

Publication number Publication date
TW200745840A (en) 2007-12-16
TWI432956B (zh) 2014-04-01
KR100990004B1 (ko) 2010-10-26
WO2007067699A3 (en) 2008-06-05
JP4904365B2 (ja) 2012-03-28
WO2007067699A2 (en) 2007-06-14
JP2009524122A (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
US8402322B2 (en) Emergency data preservation services
US9122643B2 (en) Event trigger based data backup services
US11113156B2 (en) Automated ransomware identification and recovery
US9552362B2 (en) Information source agent systems and methods for backing up files to a repository using file identicality
KR100990004B1 (ko) 긴급 데이터 보존 서비스
US20060095470A1 (en) Managing a file in a network environment
US20120158760A1 (en) Methods and computer program products for performing computer forensics
US10127119B1 (en) Systems and methods for modifying track logs during restore processes
US20090183002A1 (en) Method and device for automatically creating backup copies
US20100095077A1 (en) Method System and Apparatus for Handling Information Related Applications
AU2015362561B2 (en) Techniques for data backup and restoration
US8655841B1 (en) Selection of one of several available incremental modification detection techniques for use in incremental backups
US9219707B1 (en) Systems and methods for sharing the results of malware scans within networks
US7805563B2 (en) Tape drive apparatus
US11113152B1 (en) Systems and methods for managing file backup
JP5214135B2 (ja) 作業内容記録システムおよびその方法、ならびにそのプログラム
US9465710B1 (en) Systems and methods for predictively preparing restore packages
CN114518985A (zh) 存储系统命令的故障指示
US9064132B1 (en) Method for writing hardware encrypted backups on a per set basis
EP1932073B1 (en) Apparatus and method for storing data
Beech The evolving role of disk and tape in the data center

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: 20130926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee