KR101130366B1 - 타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를복구하기 위한 방법, 매체 및 시스템 - Google Patents
타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를복구하기 위한 방법, 매체 및 시스템 Download PDFInfo
- Publication number
- KR101130366B1 KR101130366B1 KR1020050024571A KR20050024571A KR101130366B1 KR 101130366 B1 KR101130366 B1 KR 101130366B1 KR 1020050024571 A KR1020050024571 A KR 1020050024571A KR 20050024571 A KR20050024571 A KR 20050024571A KR 101130366 B1 KR101130366 B1 KR 101130366B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- time
- stored
- file
- data items
- Prior art date
Links
Images
Classifications
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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)
- Recording Measured Values (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를 복구하기 위한 기술을 개시한다. 이 응용 프로그램의 데이터 항목은 복구를 위해 주기적으로 저장되므로 저장된 데이터 항목이 이 항목이 저장되는 시점에서의 응용 프로그램을 복구하는 데에 이용될 수 있다. 그 결과, 시간 기반의 컴퓨팅 환경을 통한 검색이 여러 다른 시점에서의 응용 프로그램을 복구하도록 제공된다. 저장된 데이터 항목을 갖는 응용 프로그램은 지정된 시점에서 복구될 수 있다. 각 저장된 데이터 항목은 메타데이터로 인덱스될 수 있으며, 이는 검색을 수행하는 데에 이용되어 인덱스된 메타데이터와 사용자 선택 변수 사이의 일치에 따라서 데이터 항목의 목록을 형성한다. 더욱이, 응용 프로그램이 다수의 메시지를 갖는 통신 클라이언트일 때, 통신 클라이언트의 메시지가 스팸인지를 지시하는 인덱스 데이터가 저장된다. 이 인덱스 데이터를 이용하여, 스팸 메시지를 포함하거나 배제하는 검색을 행할 수 있다. 따라서, 타임라인 기반의 컴퓨팅 환경을 이용하여, 더욱 사용자 친화적이고, 효과적이며, 관리 가능한 개선된 데이터 복구 방법 및 시스템을 제공할 수 있다.
타임라인 기반의 컴퓨팅 환경, 데이터 복구, 데이터 항목의 복구, 통신 클라이언트, 스팸 인덱스 데이터
Description
도 1은 본 발명의 실시예 전부 또는 일부가 구현될 수 있는 장치 아키텍쳐의 일 예를 일반적으로 도시하는 블럭도.
도 2는 본 발명의 실시예의 전부 또는 일부가 구현될 수 있는 예시적인 컴퓨팅 환경의 전체 구조를 도시하는 개략도.
도 3은 본 발명의 실시예를 구현하는 데에 이용할 수 있는, 타임라인을 통해 응용 프로그램에 의해 생성된 데이터의 예시적인 구조를 도시하는 개략도.
도 4는 응용 프로그램의 복구 가능한 데이터를 저장하는 본 발명의 실시예에 따른 단계를 설명하는 흐름도.
<도면의 주요 부분에 대한 간단한 설명>
20 : 컴퓨터
21 : 처리 유닛
22 : 시스템 메모리
23 : 시스템 버스
24 : 리드 온리 메모리(ROM)
25 : 랜덤 억세스 메모리(RAM)
26 : 기본 입/출력 시스템(BIOS)
27 : 하드 디스크 드라이브
28 : 자기 디스크 드라이브
29 : 착탈 가능 자기 디스크
30 : 광 디스크 드라이브
32 : 하드 디스크 드라이브 인터페이스
102, 104 : 응용 프로그램
106 : 데이터베이스
108, 110 : 타임라인
112, 114, 116, 118, 120, 122, 152, 154, 156, 158, 160 : 데이터
162, 164, 166, 168 : 델타(Δ)
170 : 타임라인
172 : 로그
본 발명은 일반적으로 컴퓨팅 환경에서의 데이터 복구에 관한 것으로, 더욱 상세하게는 타임라인 기반(timeline-based)의 접근법을 이용하여 데이터 및 응용 프로그램 상태를 이용, 아카이브 및 복구하는 방법에 관한 것이다.
최근 몇년 동안, 사용자는 전문적인 개인 통신을 위해 컴퓨터에 매우 의존하게 되었다. 그 결과, 사용자는 매일 컴퓨터를 통해 텍스트에만 제한되는 것이 아니라, 사운드, 사진, 음악, 및 비디오 등의 가치 있는 정보를 컴퓨터를 이용하여 교환하고 있다. 그러나, 이런 정보의 바다가 컴퓨터 상에 저장되면서, 사용자는 이러한 대량의 데이터를 관리하기가 어렵다는 것을 알게 되었다. 더구나, 데이터 복구률은 정보의 양과 값이 장기간에 걸쳐 증가함에 따라 더욱 중요하게 되었다. 점점 더 많은 사람이 동시에 컴퓨터 환경에서 그들의 개인적인 비지니스 정보의 대부분을 처리하고 있지만, 컴퓨터와 소프트웨어 응용 프로그램의 취약성은 적절히 해결되지 못하고 있다. 예를 들어, 백업 메커니즘을 부지런히 이용하지 않으면, 정보는 쉽게 손실될 수 있다. 그러나, 백업 메커니즘의 문제는 복구에 필요한 시간과 노력이 통상 크게 든다는 것이다. 잠재적인 데이터 손실의 위험은 최근의 웜(worm)과 바이러스 활동의 증가로 더욱 심각해진다.
따라서, 운영 체제 또는 응용 프로그램과 같은 정보 처리 소프트웨어는 사용 불가능 상태가 될 수 있고, 이 경우 정보는 더 이상 검색될 수가 없다. 상태는 일반적으로 정보 처리 소프트웨어의 현재 구성, 특성, 조건 또는 정보 콘텐트를 지칭한다. 더욱이, 다량의 정보가 시간이 지나면서 축적되기 쉽기 때문에, 사용자는 결국 그들의 정보를 더 이상 인식 가능한 방식으로 저장할 수가 없다. 그 결과, 사용자는 특정한 원하는 정보를 찾는데 어려움을 겪을 수 있다. 이에 따라, 이름 또는 시간에 의한 모든 파일 또는 시간의 목록과 같은 글로벌 카탈로그 및 계층적 범주화는 원하는 항목을 다른 항목과 구별하는 데에 충분한 컨텍스트 정보를 제공 할 수 없다. 인덱서도 유사하게 이 문제를 해결하지 못하는데, 이는 부분적으로 사용자가 데이터의 시각적 레이아웃에 가장 잘 관련되기 때문이다. 문제를 더 악화시키는 것은 백업이 실제로 이 문제를 악화시킬 수 있다는 것이며, 이는 사용자가 실제 정보와 동일한 네임스페이스에 백업을 저장하면, 유사한 이름과 콘텐트를 갖는 여러 다른 버전이 시간이 지나면서 축적될 것이기 때문이다. 또한, 여러 변형이 유사하게 동일한 파일 또는 데이터 항목의 다수의 버전을 초래하기 쉬우며, 이는 원하는 정보가 실제로 위치되어 있는 곳에 대해 전반적인 혼란을 증가시키게 된다.
시간 중심 접근법(time-centric approach)을 이용하여 파일을 아카이빙하는 하나의 공지된 방법은 파일을 아카이빙하기 위하여 데스크톱으로 끌어 놓는(dragging)하는 단계를 포함한다. 파일이 더이상 필요하지 않으면, 사용자는 데스크톱 상의 휴지통을 이용하여 파일을 삭제할 수 있다. 그러나, 사용자가 나중에 삭제된 파일을 필요로 하면, 사용자는 파일이 데스크톱 상에 있었던 시간을 특정하여 그 시간으로부터 데스크톱을 복원함으로써 삭제된 파일을 복구할 수 있다. 따라서, 계층적 폴더 시스템을 이용하는 대신에, 사용자는 파일을 데스크톱으로 간단히 끌어 놓음으로써 파일을 아카이브한다.
이러한 방법의 하나의 변형은 시간 기반의 응용 프로그램 간의 통신에 기초하는 시스템을 더 포함하는 것이다. 이 방법은 본질적으로 3가지의 특징을 가지며, 즉 (1) 각 소프트웨어 응용 프로그램은 "현재 시간"의 표기법을 갖고, (2) 하나의 응용 프로그램의 "현재 시간"이 변경된 때, 응용 프로그램은 다른 응용 프로 그램에 이 변경된 시간을 알리고, 그 결과 (3) 다른 응용 프로그램은 이 정보에 따라 그들의 "현재 시간" 상태를 변경한다. 이들 특징으로 인해, 시간 기반의 데스크톱 시스템은 문서가 적절히 열리는 것을 보장하도록 데스크톱 상의 문서의 임의의 관련 응용 프로그램의 시간을 변경하도록 조절될 수 있다.
기존의 계층적 폴더 구조의 대안, 즉 시간 기반 접근법인 이들 두 방법의 문제는, 이들은 사용자가 파일의 추적을 유지하는 방법에만 관련된다는 것이다. 최상의 경우라도, 이들 방법은 삭제된 파일을 풀업(pull up)하는 방법 또는 현재 시간에 기초하여 파일을 용이하게 저장하는 방법을 제공할 뿐이다. 그러나, 이들 방법은 이전의 시점으로부터 응용 프로그램을 복구하는 방법을 제공하지 못할 뿐만 아니라 응용 프로그램의 상태를 아카이브하는 방법도 제공하지 못한다. 더욱이, 이 방법은 사용자에 대한 가시의 일관된 저장 파일을 갖지 않는 응용 프로그램은 어드레스하지 않는다. 따라서, 데이터를 아카이빙 및 복구하기 위한 개선된 방법 및 시스템에 대한 요구가 있다.
본 발명은 컴퓨팅 환경에서 데이터를 아카이빙 및 복구하는 방법에 관한 것이며, 더욱 구체적으로는 타임라인 기반 접근법을 이용하여 응용 프로그램을 아카이빙 및 복구하는 방법에 관한 것이다.
본 발명의 실시예에서, 응용 프로그램의 작업 파일과 함께 응용 프로그램을 복구하는 방법 및 시스템이 도시된다. 특히, 일 실시예에서, 응용 프로그램의 데이터 항목이 복구를 위해 주기적으로 저장되고, 이 경우 저장된 데이터 항목은 항 목이 저장된 시점으로부터 그의 작업 파일과 함께 응용 프로그램의 복구를 가능하게 한다. 그러면, 타임라인 기반의 아카이브를 통한 검색은 여러 상이한 시점들에서 응용 프로그램을 복구하도록 수행될 수 있다. 이러한 시점이 지정된 후에, 응용 프로그램은 이에 따라 이 지정된 시점에서 응용 프로그램의 저장된 데이터 항목을 이용하여 복구될 수 있다. 더욱이, 본 발명의 실시예에서, 복구된 응용 프로그램의 데이터는 현 시점에서 사용되도록 복사되어 응용 프로그램에 붙여넣기 될 수 있다. 또 다른 실시예에서, 각각의 저장된 항목에 대한 메타데이터(metadata)가 인덱싱될 수 있고, 이 메타데이터의 검색은 사용자 선택 검색 변수로 수행될 수 있다. 이 검색으로부터, 저장된 메타데이터와 사용자 선택 검색 변수 사이의 일치에 따른 데이터 항목의 목록이 선택을 위해 생성될 수 있다.
응용 프로그램이 다중 메시지를 갖는 통신 클라이언트인 또 다른 실시예에서, 인덱스 데이터는 통신 클라이언트 내의 메시지가 불필요한 이메일 또는 다른 정보와 같은 스팸인지를 지시하도록 저장되고, 그 후 이는 사용자 선택 검색 변수를 이용하여 스팸으로 지시된 메시지를 검색하지 않는 검색에 이용될 수 있다. 이에 따라, 검색된 메시지와 사용자 선택 검색 변수 사이의 일치에 따른 메시지의 목록이 검색으로부터 생성된다. 통신 클라이언트에 관한 대안적인 실시예는 메시지가 스팸인지를 지시하기 위해 인덱스 데이터를 표시하도록 되어 있으며, 스팸으로 지시된 메시지는 복구를 위해 클라이언트의 임의의 데이터 항목을 저장하기 전에 제거된다.
이러한 다양한 실시예를 통해, 타임라인 기반 접근법을 사용하여 데이터를 복구하는 방법이 제공된다. 본 발명은 데이터를 복구하기 위한 사용자 친화적이고, 효과적이며, 관리 가능한 개선된 기술을 제공한다. 결과적으로, 사용자는 이전의 시점으로부터 데이터를 복구할 수 있고, 이는 그의 생성 및 사용의 컨텍스트 내에서 중요 정보의 복구 및 손상된 상태로부터의 복구 모두를 지원한다. 타임라인 기반 접근법은 현재 폴더 계층보다 더욱 직관적이기 쉽기 때문에, 본 발명은 데이터 복구를 위한 간단하고 직관적인 그래픽 표면 및 최종 사용자 인터페이스를 허용하는 이해가 용이한 패러다임(easy-to-comprehend paradigm)을 제공한다. 이러한 패러다임을 지원하기 위하여, 사용자 컴퓨팅 환경 및 컨텍스트의 연속적인 자동 캡처링이 설명된 바와 같은 본 발명의 실시예에서 수행된다.
본 발명의 부가의 특징 및 장점은 첨부 도면을 참조하여 후술되는 예시적인 실시예에 대한 상세한 설명으로부터 명백해질 것이다.
첨부한 특허청구범위가 본 발명의 특징을 기술하고 있지만, 본 발명은 그 목적 및 장점과 함께 첨부 도면과 관련한 이하의 상세한 설명으로부터 가장 잘 이해될 것이다.
본 발명은 타임라인 기반 접근법을 이용하여 응용 프로그램을 복구하기 위한 기술을 개시한다. 구체적으로, 응용 프로그램의 데이터 항목은 복구를 위해 주기적으로 저장되므로, 저장된 데이터 항목을 이용하여 이 항목이 저장된 시간에서 그 작업 파일을 갖는 응용 프로그램을 복구할 수가 있다. 그 결과, 시간 기반의 아카이브를 통한 검색이 상이한 시점들에서 응용 프로그램을 복구하도록 제공된다. 따 라서, 응용 프로그램은 그 파일과 함께 저장된 정보를 이용하여 지정된 시점에서 복구될 수 있다. 따라서, 타임라인 기반 접근법을 이용하여, 더욱 사용자 친화적이며, 효과적이며, 관리 가능한 개선된 데이터 복구 방법과 시스템이 제공된다.
본 발명은 컴퓨팅 환경에서 작동될 수 있다. 본 발명의 일 실시예에서, 설명된 프로세스는 하나 이상의 컴퓨팅 장치의 컬렉션에서 작동한다. 본 발명의 전체 또는 일부의 태양을 구현하는 데에 이용될 수 있는 적합한 컴퓨팅 장치가 우선 도 1을 참조하여 설명되며, 그 후 본 발명의 특정한 실시예에 따른 네트워크 환경이 더욱 완전하게 설명될 것이다.
본 발명을 구현하기에 적합한 많은 컴퓨팅 장치가 있지만, 컴퓨팅 장치의 수개의 예시적인 유형이 도 1과 관련하여 이하에서 논의된다. 이 설명은 이해를 용이하게 하기 위해 제공되며, 본 발명의 범주를 제한하고 하는 것은 아님을 이해하여야 한다.
본 발명은, 요구되지 않더라도, 컴퓨터에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반적 컨텍스트로 설명될 것이다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 특정 추상 데이터 유형을 실현하는 루틴, 프로그램, 개체, 구성 요소, 데이터 구조 등을 포함한다. 더욱이, 당업자라면 본 발명이 휴대용 기기, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래머 가능 가전 기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는, 다른 컴퓨터 시스템 구성에 의해 실시될 수 있다는 것이 이해될 것이다. 본 발명은 분산 컴퓨팅 환경에서 실시될 수 있으며, 이 경우 작업은 통신 네트워크를 통해 연결된 원격 처리 장치에 의해 수행된다. 분산된 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 모두에 위치될 수 있다.
이하 도 1을 참조하면, 범용의 컴퓨팅 장치가 처리 유닛(21), 시스템 메모리(22) 및 시스템 메모리를 포함하는 여러 시스템 구성 요소를 처리 유닛(21)에 연결하는 시스템 버스를 포함하는 종래의 컴퓨터(20)의 형태로 도시되어 있다. 시스템 버스(23)는 각종 버스 아키텍쳐를 이용하여 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 로컬 버스를 포함하는 몇 가지 유형의 버스 구조로 된 하나 이상의 물리적 버스들을 포함할 수 있다. 시스템 메모리는 리드 온리 메모리(ROM; 24) 및 랜덤 억세스 메모리(RAM; 25)를 포함한다. 시작 동안과 같이, 컴퓨터(20) 내의 요소 간에 정보를 전달하는 것을 돕는 기본 입/출력 시스템(BIOS; 26)은 ROM(24)에 저장되어 있다. 컴퓨터(20)는 하드 디스크(60)로부터 판독하고 여기에 기록하기 위한 하드 디스크 드라이브(27), 착탈 가능 자기 디스크(29)로부터 판독하고 여기에 기록하기 위한 자기 디스크 드라이브(28), 및 CD ROM 또는 다른 광 매체와 같은 착탈 가능 광 자기 디스크(31)로부터 판독하거나 여기에 기록하기 위한 광 디스크 드라이브(30)를 더 포함한다.
하드 디스크 드라이브(27), 자기 디스크 드라이브(28) 및 광 디스크 드라이브(30)는 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33) 및 광 디스크 드라이브 인터페이스(34)에 의해 각각 시스템 버스(23)에 접속되어 있다. 드라이브 및 그 관련 컴퓨터 판독 가능 매체는 컴퓨터(20)에 대해 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 및 다른 데이터의 비휘발성 저 장소를 제공한다. 본 명세서에 설명된 예시적인 환경은 하드 디스크(60), 착탈 가능 자기 디스크(29), 및 착탈 가능 광 디스크(31)를 이용하지만, 당업자라면 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르누이 카트리지, 랜덤 억세스 메모리, 리드 온리 메모리, 저장 영역 네트워크 등과 같이, 컴퓨터에 의해 억세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독 가능 매체도 또한 이러한 예시적인 운영 환경에서 이용될 수 있다는 것이 이해될 것이다. 운영 체제(35), 하나 이상의 응용 프로그램(36), 다른 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함하는, 다수의 프로그램 모듈이 하드 디스크(60), 자기 디스크(29), 광 디스크(31), ROM(24) 또는 RAM(25)에 저장될 수 있다.
사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통해 컴퓨터(20)에 명령과 정보를 입력할 수 있다. 다른 입력 장치(도시 생략)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치는 흔히 시스템 버스에 결합된 직렬 포트 인터페이스(46)를 통해 처리 유닛(21)에 접속되지만, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB) 또는 네트워크 인터페이스 카드와 같은 다른 인터페이스에 의해서도 접속될 수 있다. 모니터(47) 또는 그 외 유형의 디스플레이 장치가 또한 비디오 어댑터(48)와 같은 인터페이스를 거쳐 시스템 버스(23)에 접속된다. 모니터에 부가하여, 컴퓨터는 스피커와 프린터와 같은 도시하지 않은 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 원격 컴퓨터에의 논리 접속을 이용하여 네트워크 환경에서 작동하고 또는 작동 가능하다. 원격 컴퓨터(49) 는 도메인 컨트롤러, 서버, 라우터, 네트워크 PC, 퍼스널 컴퓨터, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 도 1에서는 메모리 저장 장치(50)만이 도시되어 있지만, 통상 컴퓨터(20)에 관련해서 상술한 요소의 다수 또는 모두를 포함한다. 도 1에 도시한 논리 접속부는 근거리 통신망(LAN; 51) 및 광역 통신망(WAN; 52)을 포함한다. 이런 네트워킹 환경은 사무실, 전회사 차원의 컴퓨터 네트워크, 인트라넷 및 인터넷에서는 일반적인 것이다.
LAN 네트워킹 환경에서 이용될 때, 컴퓨터(20)는 네트워크 인터페이스나 어댑터(53)를 통해 근거리 통신망(51)에 접속된다. WAN 네트워킹 환경에서 이용될 때, 컴퓨터(20)는 통상 모뎀(54) 또는 다른 WAN(52)을 통해 통신을 설정하기 위한 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 컴퓨터(20)에 관련하여 도시된 프로그램 모듈 또는 그 일부는 이들이 존재하는 경우 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속부는 예시적이며, 컴퓨터들 간의 통신 연결을 설정하기 위한 다른 수단도 이용될 수 있다는 것이 이해될 것이다.
본 명세서에서, 본 발명은 일반적으로 하나 이상의 컴퓨터에 의해 수행되는 실행 및 작동의 부호적 표현과 관련하여 설명된다. 이와 같이, 때때로 컴퓨터 실행되고 있는 것으로 언급되는 이런 실행과 작동들은 컴퓨터의 처리 유닛에 의한 구조적 형태의 데이터를 나타내는 전기 신호의 조작을 포함한다는 것을 이해하여야 한다. 이 조작은 데이터를 변형하고 이를 컴퓨터의 메모리 시스템의 위치에 보유하는데, 이는 당업자에게는 잘 이해되는 방법으로 컴퓨터의 작동을 재구성하거나 그렇지 않으면 변경하게 된다. 데이터가 보유되는 데이터 구조는 데이터의 포맷으로 정의되는 특정한 특성을 가지는 메모리의 물리적 위치이다. 그러나, 본 발명이 이전의 컨텍스트에서 설명되고 있지만, 이것은 당업자가 이하 기술되는 여러 실행 및 작동들이 또한 하드웨어로도 실현될 수 있다는 것이 이해할 수 있는 바와 같이, 제한적인 것을 의미하지는 않는다. 이하 설명에서, 클라이언트, 도메인 컨트롤러, 서버 등의 컴퓨팅 장치는 컴퓨터(20) 및/또는 원격 컴퓨터(49)에 관하여 도 1과 관련하여 상술한 아키텍쳐일 수 있으며, 또는 대안적으로 다른 유형의 아키텍쳐를 가질 수도 있다. 본 명세서에서 기술한 컴퓨터 작동은 컴퓨터 또는 컴퓨팅 장치에 의해 컴퓨터 판독 가능 매체로부터 컴퓨터 실행 가능 명령의 판독에 따라 실행되게 된다. 컴퓨터 판독 가능 매체는 광, 자기, 전기 및 기타 유형의 매체뿐만 아니라, 저장 매체, 전송 매체 등을 포함한다.
이제, 도 2를 참조하면, 본 발명은 다수의 응용 프로그램(102, 104) 및 데이터베이스(106)를 포함하는 컴퓨팅 환경(100)에서 실현될 수 있다. 본 발명의 실시예에서, 응용 프로그램(102 및 104)은 타임라인(108 및 110)에 기초하여 복구가 추적된다. 특히, 타임라인(108 및 110)은 응용 프로그램 A(102) 및 응용 프로그램 B(104)와 각각 관련된다. 데이터베이스에의 데이터 저장을 트리거하는 다수의 실시예를 응용 프로그램의 유형에 따라 이용할 수 있다. 예를 들어, 일 실시예는 응용 프로그램 A(102)에서 변경이 있을 때마다 데이터베이스(106)에의 데이터(112, 114, 및 116) 저장을 포함할 수 있다. 다른 실시예에서, 응용 프로그램 B(104)로부터의 데이터(118, 120, 및 122)는 미리 정해진 지속 기간 내에 데이터베이스 (106)에 저장될 수 있다. 이들 두 실시예들은 데이터를 먼저 임시 위치에 저장하고, 이 저장된 데이터가 데이터베이스의 가장 최근의 데이터와 다른 경우 데이터베이스를 적어도 갱신하는 것으로 데이터 저장 조건을 줄이도록 변경될 수 있다. 데이터는 응용 프로그램의 데이터가 저장되고 있는 시점에서의 응용 프로그램을 복구하는 데에 필요한 정보를 포함한다. 따라서, 데이터는 이들로 제한되지는 않지만, 응용 프로그램의 작업 파일, 복구 파일, 임시 파일, 데이터베이스 엔트리, 등록키, 메모리 상태, 스크린샷 및/또는 다른 미리 정해진 응용 프로그램 상태를 포함할 수 있다. 작업 파일은 안정 저장 공간에 영구 저장되는 일관된 사용자 파일인 반면, 복구 파일은 작업 파일의 백업이나 복구 가능 파일로서 안정 저장 공간에 임시 또는 영구 저장될 수 있는 일관된 파일이다. 이들 여러가지 응용 프로그램으로부터의 데이터의 캡처의 구현 및 저장되는 데이터의 유형은 응용 프로그램의 유형과 컴퓨팅 환경의 저장 용량에 따라 다를 수 있다.
또한, 도 2에 도시된 응용 프로그램(102 및 104) 각각은 이 구현의 필요성과 이용에 따라 운영 체제 또는 사용자 응용 프로그램일 수 있다. 본 발명이 이메일 클라이언트, 노트 테이킹(note-taking) 응용 프로그램, 또는 콜래보레이션 (collaboration) 응용 프로그램 등의 정보 작업자 응용 프로그램에 특히 유용하지만, 본 발명은 어떠한 유형의 응용 프로그램에도 이용될 수 있다. 사실상, 본 발명의 일 실시예는 최외부 환경이 모뎀 작동 시스템일 수 있도록 각각 자신의 관련 타임 라인을 갖는 중첩된 컴퓨팅 환경을 형성한다. 따라서, 본 발명은 사용자 응용 프로그램과 하위 응용 프로그램, 또는 운영 체제에서 작동하는 단일 사용자 응 용 프로그램과 같은 간단한 것을 포함하는 전체 운영 체제와 관련하여 데이터를 저장하는 구현을 안출한다. 다시, 이들 여러 구현들은 사용자의 필요성과 이용 및 시스템의 유형에 따라서 크게 달라진다.
본 발명의 일 실시예에서, 응용 프로그램에 의해 형성되는 데이터의 연속적 자동 캡처링을 도 3에 도시하였으며, 150으로 나타내었다. 도시된 바와 같이, 응용 프로그램의 데이터(152, 154, 156, 158 및 160)는 사용자 이용 또는 응용 프로그램 이용으로 인해 시간이 경과하면서 변경된다. 도 3에 도시된 데이터는 일 시점에서의 응용 프로그램에 관련되는 정보를 포함할 수 있다. 정보는 이들로 제한되지 않는, 특정 시점에서의 응용 프로그램의 작업 파일, 복구 파일, 임시 파일, 데이터베이스 엔트리, 등록 키, 메모리 상태, 스크린샷 및/또는 기타 미리 정해진 응용 프로그램 상태를 포함할 수 있다. 도시된 실시예에서, 이들 데이터 항목 중 하나 이상의 변경이 데이터베이스에 저장된다. 특히, 델타(Δ)(162, 164, 166 및 168)로 나타낸 데이터 간의 변경은 타임라인(170)에 근거한다. 델타(Δ)(162, 164, 166 및 168)에 대한 변경이 로그(172)에 저장된다. 이러한 도시된 실시예에서, 변경은 시간이 경과하면서 로그(log)에 연속적으로 자동 첨부된다. 다시 말해, 시간 i에서의 데이터(152)와 시간 j에서의 데이터(154) 간의 변경(예를 들어, 델타(Δ)(162))은 로그(172)에 첨부되고, 시간 j에서의 델타(154)와 시간 k에서의 데이터(156) 간의 변경은 로그(172)에 첨부된다. 유사하게, 델타(Δ)(166)는 시간 k에서의 데이터(156)와 시간 l에서의 데이터(158) 간의 변경을 나타내고, 델타(Δ)(168)은 시간 l에서의 데이터(158)와 시간 m에서의 데이터(160) 간의 변경을 나타 낸다.
여러 시점에서의 스크린샷과 같은, 로그(172)에 저장된 정보를 이용하여, 본 발명은 특정 시점의 스크린샷을 나타내는 그래픽 응용 프로그램 윈도우를 제공할 수 있다. 사용자는 스크린샷을 파악하는 것으로 원하는 시점을 식별할 수 있다. 사용자가 원하는 시점을 일단 식별하게 되면, 그 시점의 응용 프로그램이 로그(172)에 저장된 정보를 이용하여 재형성될 수 있다. 사용자는 이와 같이 타임라인과 상호 작용하여 여러 다른 시점에서 그들의 작업 환경을 복구할 수 있다.
사용자에게는 포인터가 여러 다른 시점을 나타내는 응용 프로그램 윈도우 그래픽 상태의 표시를 포함하는 사용자 인터페이스가 제공될 수 있다. 사용자는 사용자 인터페이스에서 타임라인 상의 포인터를 물리적으로 이동시켜 복구할 시점을 선택할 수 있다. 일 실시예에서, 사용자가 타임라인 상의 포인터로 이동하고 있는 동안에는 저해상도의 소형 표시의 응용 프로그램 윈도우 그래픽 상태가 이용된다. 그러나, 일단 사용자가 선택된 시점에서 포인터의 이동을 중지하면, 응용 프로그램 윈도우 그래픽 상태는 특히 로그(172)에 저장된 데이터 항목을 이용하여, 하위 상태로부터 전 해상도에서 재형성되는 것이 바람직하다. 기록된 타임라인은 응용 프로그램 윈도우의 상태에 부가하여 다른 컨텍스트 정보를 저장할 수 있다. 예를 들어, 기록된 타임라인은 각 시점에서 사용자나 컴퓨터의 그래픽 위치를 추적할 수 있다 (예를 들어, 여러 다른 위치에서 출장 여행 중에 행해진 작업의 더 신속한 식별을 위해서). 다른 컨텍스트 정보는 컴퓨터에 부착된 디지털 카메라에 의해 찍힌 사용자나 그 주변의 화상 또는 사용자의 작업 패턴(예를 들어, 이들이 몇 시간 동 안, 어느 유형의 정보에 대해서, 얼마나 많이 작업하고 있는지에 대해 등)을 포함할 수 있다. 이 정보는 사용자가 타임라인 상의 포인터를 이동시킴에 따라 사용자에게 그래픽으로 나타날 수 있다. 도시된 바와 같이, 기록된 타임라인이 포함되는 컨텍스트 정보의 유형은 무한적이므로, 본 발명은 이들 예시적인 컨텍스트 정보에만 제한되지 않는다. 따라서, 다른 여러 컨텍스트 정보를 생각할 수 있으며, 이들은 본 발명의 범주 내에 있는 것이다.
더욱이, 본 발명은 단일의 선형적인 타임에만 제한되지 않으며, 임의의 포킹 (forking)이 또한 가능하여 대체의 뷰(view)를 제공할 수 있다. 포킹은 초기 타임라인이나 다른 포크된 타임라인 상에서 임의의 시점에서 시작을 갖는 대체의 타임라인의 시각적 표시를 형성하는 데에 이용될 수 있다. 따라서, 포크(fork)는 특정 시점으로부터 사용자의 활동이 진행되는 일련의 응용 프로그램 상태이다. 이들 포크는 타임라인 상에서 그래픽적으로 표시될 수 있다. 일 예로서, 사용자가 여러 다른 시점을 다시 스크롤링할 때, 포킹의 그래픽 표시가 사용자에게 표시되게 된다. 응용 프로그램이 작동 중일 때, 포크가 타임라인 상에 형성되어 응용 프로그램이 몇 가지 방법으로 수정된 것을 사용자에게 지시할 수 있다. 포크와 함께, 응용 프로그램에 행해진 작업 또는 이용된 파일의 제목과 같이, 응용 프로그램을 설명하는 다른 주해를 부가할 수 있다. 다시 말해, 일 실시예에서, 포크는 임의의 시점에서의 응용 프로그램에서 작업을 행하기 위해 사용자가 다시 스크롤할 때마다 자동으로 형성된다.
일 실시예에서 이들 포크는 일시적이거나 휘발성이고, 영구 저장소에 저장될 수 없으며, 이는 이전의 것이 변경될 수 없게 한다. 그러나, 다른 포킹 실시예로는 과거의 시점에서의 응용 프로그램에 행해진 작업을 영구 저장하는 것이 있다. 이 과거의 시점에서의 응용 프로그램의 현재의 변경에 관한 정보가 또한 사용자 참조를 위해 포함될 수 있다. 더욱이, 이들 일련의 상태가 사용자가 작업하는 대체 타임라인의 영구적 가시 화상으로서 데이터베이스에 저장될 수 있다. 포킹이 이용되는 응용 프로그램에 관련하여 저장된 여러 정보를 갖는, 시점에 관련한 이들 포킹의 그래픽 표시가 사용자에게 표시될 수 있다. 그 결과, 사용자가 타임라인을 스크롤링하고 있을 때, 사용자에게는 사용자가 행한 이전의 작동 순서에 따라 유선형화된 더욱 친숙한 타임라인이 제시된다.
로그를 이용하게 되면, 정보 항목이 여러 다른 시점 간에서 이동될 수 있게 하는 다른 메커니즘을 또한 구현할 수 있으며, 이는 또한 대역 범위외 메시지 전달 기구로 언급된다. 이 기구를 이용하여, 사용자가 이전의 시간에서 정보 항목을 검색하여 수정하길 원하는 경우, 사용자는 시간 x에서 윈도우 그래픽 상태로 이동하여 선택된 항목을 클립보드에 복사할 수 있으며, 다음에 현재 시점의 응용 프로그램으로 다시 이동하여 선택된 데이터를 현재 시점의 응용 프로그램에 붙여넣기 하여 수정한다. 그 결과, 사용자는 과거 데이터를 검색하여 이 과거 데이터를 현재에 이용할 수 있게 되고, 동시에 데이터를 변경되지 않게 유지하여 과거 데이터의 수정을 방지할 수 있다. 이런 메커니즘은 현재 복사 및 붙여넣기 클립보드 메커니즘을 이용하여 실행될 수 있다. 더욱이, 과거 데이터가 변경되지 않는 것을 확실히 하기 위해서, 사용자가 과거 시점에서의 응용 프로그램에서 작업하고 있을 때 " 리드-온리 모드"에서 작동하고 있다는 그래픽 표시가 사용자에게 제시된다. 또한, 타임라인은 엄밀하게 선형일 필요는 없으며 또한 포인터는 사용자가 이를 이동시킬 때 동일하게 신속히 이동될 필요도 없다. 반대로 타임라인은 매우 동적일 수 있어, 사용자에게 변경의 정도와 유형, 데이터의 크기, 불연속성, 또는 다른 작업 패턴 등의 하위 저장 상태에 대한 촉각적 감각을 부여할 수 있다.
다른 실시예로, 콘텐트, 퀄리티, 조건 및/또는 다른 데이터의 특성을 설명하는, 데이터를 일반적으로 참조하는 메타데이터가 인덱스되어 로그(172)에 저장될 수 있다. 메타데이터가 형성되는 여러 방법이 있다. 일 실시예에서, 메타데이터는 폴더에 메시지를 파일링하는 것과 같이, 미리 정해진 사용자의 작동의 결과일 수 있다. 다른 실시예에서, 메타데이터는 관련 키 텍스트를 선택하고, 화상의 콘텐트의 분석에 기초하여 화상을 카탈로그화하거나, 미리 정해진 메시지의 기준을 결정하는 등과 같이, 응용 프로그램의 컨텍스트 정보를 이용하여 자동으로 형성될 수 있다. 그 결과, 사용자가 타임라인 기반의 인터페이스를 통해 데이터를 복구할 수 있을 뿐만 아니라, 이름이나 키워드와 같은 메타데이터를 검색하여 데이터를 복구할 수 있다. 따라서, 본 발명은 단면적인(예를 들어, 메타데이터에 기초한 복구 검색) 및 또한 선형적인(예를 들어, 타임라인에 기초한 복구 검색) 복구 파라다임을 안출하고 있다.
특히, 로그(172)는 각 데이터 항목에 대한 포인터 정보뿐만 아니라 요약을 포함하는 첨부-온리 로그인 것이 바람직하다. 요약은 비구조화된 항목의 바다에서 데이터 항목을 찾도록 도와주는 데에 충분한 데이터를 포함할 수 있다. 텍스트의 경우, 인덱스 기반 검색을 위한 텍스트의 모든 워드는 데이터 파일의 간단한 표시일 수 있는 반면, 포인터는 데이터 항목이 위치된 시점으로 사용자가 이동할 수 있게 한다. 통상, 각 데이터 항목의 최종 버전은 로그(172)에 표시된다. 그러나, 임의의 항목에 대한 최종 버전이 여러 개 있을 수 있다. 예를 들어, 사용자가 그 이상의 수정을 위해 구 항목으로 되돌아가 검색하게 되면, 이런 모든 항목에 포인터를 유지하고 이들 항목이 또한 어떻게 유도되었는지를 표시하기 위해 로그를 이용할 수 있다. 도시된 바와 같이, 여러 유형의 정보가 로그(172)에 저장될 수 있고, 저장된 정보의 데이터 구조는 각종 방법으로 실현될 수 있다. 따라서, 본 발명은 나타낸 실시예에만 제한되지 않고, 당업자가 용이하게 이해할 수 있는 다른 실현을 안출할 수 있으며, 이 또한 본 발명의 범주 내에 포함된다.
이하 도 4를 참조하여, 응용 프로그램의 복구 정보를 저장하기 위한 본 발명의 실시예에 따른 단계를 설명하는 흐름도를 200으로 나타낸다. 이 과정은 단계 202에서 시작하여 단계 204에서 응용 프로그램의 스크린샷을 캡처한다. 도 2 및 도 3에서 설명한 바와 같이, 스크리샷은 사용자가 검색 동안 스크린샷을 저해상도로 관찰할 수 있게 하는 식으로 캡처되며, 지정된 시점이 선택된 후에, 스크린샷과 대조되어 실행중인 응용 프로그램 자체가 사용자에게 표시될 수 있다.
도 3을 참조하면, 응용 프로그램의 스크린샷은 시간 i에서의 데이터(152)로 캡처되어 저장될 수 있지만, 다음 시간 j에서는 전체 스크린샷을 저장할 필요가 없는데, 이는 시간 j에서 스크린샷에 필요한 많은 데이터가 일반적으로 스크린이 시간 i에서 캡처될 때 발견될 수 있기 때문이다. 따라서, 저장되어야 하는 정보는 스크린샷을 재구성할 필요가 있는 시간 i와 시간 j 사이의 변경 델타(Δ)(162)가 된다. 그 결과, 스크린샷과 같은 데이터가 컴퓨터의 최소한의 리소스를 이용하여 더욱 효율적으로 캡처될 수 있다.
스크린샷이 단계 204에서 캡처된 후에, 응용 프로그램에 관한 컨텍스트 정보가 단계 205에서 저장된다. 특히, 시점에 관한 컨텍스트 정보가 저장되고 있다. 다시 말해, 컨텍스트 정보는 사용자가 이 시점을 기억하도록 도와주는 정보일 수 있다. 따라서, 설명한 바와 같이, 컨텍스트 정보는 각 시점에서의 사용자와 컴퓨터의 지리적 위치, 취한 사용자와 그 주변의 화상, 사용자의 작업 패턴, 또는 관련 키 워드를 포함할 수 있다.
프로세스는 다음에 단계 206에서 응용 프로그램이 응용 프로그램을 중지하지 않고 일관된 작업 파일을 저장하는 유형으로 되어 있는지를 판정한다. 이메일 프로그램은 일반적으로 일관된 작업 파일을 이용하여 사용자의 현재 드래프트가 이상의 경우 손실되지 않도록 한다. 응용 프로그램이 중지 없이 일관된 작업 파일을 저장하는 유형으로 되어 있으면, 프로세스는 바람직하게 단계 208에서 응용 프로그램을 관찰하고 단계 210에서 응용 프로그램에 의해 저장된 일관된 작업 파일을 캡처하여 아카이브한다.
한편, 응용 프로그램이 단계 206에서 중지 없이 일관된 작업 파일을 저장할 수 있는 유형이 아닌 경우, 프로세스는 단계 212에서, 응용 프로그램이 중지 없이 일관된 복구 파일을 형성하지만 일관된 작업 파일을 저장하기 위해 중지해야 하는 유형인지를 판정한다. 워드 처리 프로그램은 일반적으로 중지될 때 일관된 복구 파일을 저장하여 이상의 경우 사용자의 문서를 손실되지 않게 저장한다. 워드 처리 프로그램은 또한 일반적으로 이것이 작동 중인 동안 일관된 복구 파일을 저장한다. 응용 프로그램이 단계 212에서 기재한 바와 같은 응용 프로그램인 경우, 이 응용 프로그램은 단계 214에서 프로세스에 의해 다시 관찰되어 단계 216에서 응용 프로그램에 의해 저장된 일관된 복구 파일을 캡처한다. 단계 218에서, 응용 프로그램이 중지될 때, 캡처된 복구 파일과 저장된 일관된 작업 파일 간의 매핑이 형성된다.
그러나, 응용 프로그램이 단계 212에서 중지 없이 일관된 복구 파일을 저장하지만 일관된 작업 파일을 저장하기 위해 중지해야 하는 유형의 응용 프로그램이 아니라면, 프로세스는 다음에 단계 220에서 시스템에 일관된 작업 파일을 저장하기 위해서 중지해야 하는 유형인지를 판정한다. 그렇다면, 응용 프로그램은 단계 222에서 응용 프로그램의 클론을 형성하도록 포크될 수 있다. 중지 명령이 다음에 단계 224에서 클론된 응용 프로그램에 전송될 수 있다. 응용 프로그램이 중지될 때, 이는 일관된 작업 파일을 저장한다. 그 결과, 프로세서는 사용자가 상호작용하고 있는 응용 프로그램의 사본이 예상한 방식으로 계속하여 작동되고 있는 경우에도, 단계 226에서 복구를 위해 저장된 파일을 캡처할 수 있다.
다시 단계 220으로 돌아가, 응용 프로그램이 일관된 작업 파일을 저장하기 위해서 중지해야 하는 유형이 아닌 경우, 프로세스는 단계 228에서 운영 체제 또는 전체 컴퓨팅 장치의 전체 상태를 캡처하기에 충분한 공간이 있는지에 대해 판정한다. 그렇지 않다면, 프로세스는 복구를 위해 응용 프로그램의 정보를 저장하기 위 한 여러 유용한 옵션이 소모되었기 때문에, 단계 230에서 간단히 종료된다. 그러나, 전체 상태를 캡처할 만큼 충분한 공간이 있는 경우에, 프로세스는 단계 232에서 가상 머신을 실행할 수 있다. 응용 프로그램이 실행하고 있는 시스템의 상태를 저장하기 위해서, 가상 머신은 응용 프로그램의 실행 이전에 실행되는 것이 바람직하므로 응용 프로그램은 작업 머신에 의해 형성된 가상 환경의 컨텍스트 내에서 실행될 수 있다. 가상 머신의 전체 상태는 단계 234에서 캡처되고, 이는 응용 프로그램의 마지막 상태에 관한 모든 필요한 정보를 포함한다. 다른 실시예는 운영 체제 또는 모든 컴퓨팅 시스템의 전체 상태를 간단히 캡처하는 것이 있다. 그러나, 가상 머신의 상태는 흔히 가상 머신에 의해 형성된 소수의 파일을 단순히 저장하는 것으로 저장될 수 있기 때문에, 전자의 프로세스가 더욱 효율적일 수 있다.
복구 시스템에서 데이터를 아카이브할 때 주요한 관심사는 데이터를 저장하는 데에 필요한 리소스의 양이다. 그 결과, 일반적으로 메시지의 크기를 포함하는 통신 클라이언트가 문제가 될 수 있는데, 이는 이러한 응용 프로그램의 상태를 저장하는 것은 시스템의 디스크 공간이나 리소스에 큰 부담이 되기 때문이다. 따라서 프로세스 동안 소용없는 정보가 저장되는 것을 줄이도록 하는 메커니즘을 구현하는 것이 바람직하다. 이런 일 예가 통신 클라이언트에서의 스팸 메시지이다. 일 실시예에서, 스팸 메시지의 저장을 방지하기 위해, 각 메시지가 스팸인지를 나타내기 위한 부가의 데이터를 갖는 인덱스가 포함될 수 있다. 이런 구현에는 두 개의 다른 검색을 포함하여 사용자에게 약간의 유연성을 제공할 수 있다. 특히, 데이터를 복구할 때 사용자는 스팸 인덱스 데이터를 검색하지 않는 고속 검색과 스 팸 인덱스 데이터를 포함하는 저속 검색 중에서 선택할 수 있다. 더구나, 스팸 지시자가 인덱스 데이터의 일부이기 때문에, 사용자에게 메시지를 스팸으로 표시하거나 또는 비스팸으로 표시하지 않는 방식이 제공되거나, 최소한 자동 사용자 디폴트가 응용 프로그램 설정에 포함되는 것이 권장된다.
다른 실시예에서, 통신 클라이언트는 통신 클라이언트의 상태가 저장되기 전에 스팸을 제거할 권한이 주어질 수 있다. 예를 들어, 클라이언트가 중지될 수 있기 전에, 스팸 메시지는 자동으로 또는 수동으로 제거될 수 있다. 결과적으로, 데이터의 복구는 스팸 메시지가 제거된 바로 후 상태인 것이 바람직하다. 불행하게도, 소용 없는 정보가 저장될 가능성이 적다고 해도, 사용자는 스팸 메시지로 잘못 라벨링된 가치 있는 정보를 손실할 위험이 있다.
이와 같이, 타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를 복구하는 개선된 시스템 및 방법이 기재된 것이 이해될 것이다. 본 발명의 원리가 적용될 수 있는 많은 가능한 실시예들에 비추어 보면, 본 명세서에 개시된 실시예는 오직 설명적인 것으로서 본 발명의 범주를 제한하는 것이 아님이 이해되어야 한다. 예를 들어, 당업자라면 소프트웨어로 도시된 설명된 실시예의 요소들이 하드웨어로 또는 그 반대로 구현될 수 있거나 설명된 실시예들이 본 발명의 사상으로부터 벗어남이 없이 구성 및 상세 설명이 변형될 수 있다는 것이 이해될 것이다. 부가하여, 설명된 프로세스는 본 발명의 사상으로부터 벗어남이 없이 약간 수정되어 기록될 수 있다. 따라서, 본 명세서에 기재된 바와 같은 본 발명은 후속 특허청구범위와 그 등가물의 영역 내에 포함되는 모든 실시예들을 포괄하는 것이다.
본 발명에 의하면, 응용 프로그램의 데이터 항목은 복구를 위해 주기적으로 저장되므로 저장된 데이터 항목을 이용하여 이 항목이 저장된 시간에서의 그 작업 파일을 갖는 응용 프로그램을 복구할 수가 있다. 시간 기반의 아카이브를 통한 검색이 여러 다른 시점에서의 응용 프로그램을 복구하도록 제공되게 된다. 따라서, 응용 프로그램은 그 파일과 함께 저장된 정보를 이용하여 지정된 시점에서 복구될 수 있다. 따라서, 타임라인 기반의 접근법을 이용하여, 더욱 사용자 친화적이며, 효과적이고 관리 가능한 개선된 데이터 복구 방법과 시스템을 제공할 수 있다.
Claims (33)
- 타임라인 기반의 컴퓨팅 환경을 이용하여 애플리케이션을 복구하는 방법으로서,복구를 위해 상기 애플리케이션의 데이터 항목들을 시간 기반 아카이브(archive)에 주기적으로 저장하는 단계 - 상기 저장된 데이터 항목들은 상기 항목들이 저장되는 시점에서 상기 애플리케이션의 복구를 허용함 - ;상기 저장된 데이터 항목들의 시간 기반 아카이브를 검색하는 단계;상기 애플리케이션을 복구하려는 시점을 지정하는 단계;상기 지정된 시점에서 저장된 데이터 항목들을 디스플레이하고, 상기 지정된 시점에서 저장된 데이터 항목들을 이용하여 상기 애플리케이션을 복구하는 단계를 포함하고,상기 데이터 항목들을 주기적으로 저장하는 단계는,상기 애플리케이션이 중지 요청의 수신없이 일관된 작업 파일을 저장하는 유형인지 여부에 대한 제1 판정을 행하는 단계;상기 제1 판정이 참(true)인 경우에, 상기 애플리케이션을 관찰하고 상기 일관된 작업 파일을 캡처링하는 단계;상기 제1 판정이 참이 아닌 경우에, 상기 애플리케이션이 중지 요청의 수신없이 일관된 복구 파일을 저장하되 일관된 작업 파일을 저장하기 위해 중지 요청을 수신해야 하는 유형인지 여부에 대한 제2 판정을 행하는 단계;상기 제2 판정이 참인 경우에, 저장되는 임의의 복구 파일을 위하여 상기 애플리케이션을 관찰하고, 저장된 상기 복구 파일을 캡처링하는 단계;상기 캡처링된 복구 파일과 상기 일관된 작업 파일 사이의 매핑을 캡처링하는 단계;상기 제2 판정이 참이 아닌 경우에, 상기 애플리케이션이, 일관된 작업 파일을 저장하기 전에 중지 요청을 수신해야 하는지 여부에 대한 제3 판정을 행하는 단계;상기 제3 판정이 참인 경우에, 상기 애플리케이션의 클론을 생성하는 단계;파일 저장 명령을 초기화하기 위해 상기 애플리케이션의 클론에 중지 명령을 송신하는 단계;상기 파일 저장 명령에 응답하여 임의의 저장된 파일들을 캡처링하는 단계;상기 제3 판정이 참이 아닌 경우에, 가상 머신을 실행하는 단계;상기 가상 머신 내에서 상기 애플리케이션을 실행하는 단계; 및상기 가상 머신의 상태를 상기 시점에서 캡처링하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 데이터 항목들이 저장된 시점에 관한 컨텍스트 정보를 저장하는 단계를 더 포함하는 방법.
- 제1항에 있어서,이용을 위해 상기 지정된 시점에서 상기 복구된 애플리케이션의 포크(fork)를 생성하는 단계를 더 포함하는 방법.
- 제3항에 있어서,상기 생성된 포크는 상기 복구된 애플리케이션의 새로운 이용을 반영하는 대안적인 타임라인인 방법.
- 제1항에 있어서,상기 검색하는 단계는,각각의 저장된 데이터 항목에 대한 메타데이터를 인덱싱하는 단계; 및상기 인덱싱된 메타데이터와 사용자 선택 변수 사이의 일치에 따라 데이터 항목들의 목록을 생성하는 단계를 포함하는 방법.
- 제5항에 있어서,상기 인덱싱하는 단계는 사용자의 실행(action)에 따른 상기 메타데이터 또는 상기 저장된 데이터 항목들을 카탈로그화하는 자동 알고리즘을 생성하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 검색하는 단계는,상이한 시점들을 나타내는 타임라인을 스크롤링하는 단계; 및상기 스크롤링하는 단계에 따라 상기 애플리케이션의 그래픽 표현을 변경하는 단계를 포함하는 방법.
- 제7항에 있어서,상기 스크롤링하는 단계는 상기 저장된 데이터 항목들의 등급, 크기 또는 유형의 표시를 제공하는 방법.
- 제1항에 있어서,상기 애플리케이션은 복수의 메시지를 갖는 통신 클라이언트이며, 상기 방법은,상기 통신 클라이언트의 메시지가 스팸인지의 여부를 표시하기 위해 인덱스 데이터를 저장하는 단계; 및스팸으로 표시되지 않은 상기 복수의 메시지와 사용자 선택 검색 변수 사이의 일치에 따라 메시지의 목록을 생성하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 애플리케이션은 복수의 메시지를 갖는 통신 클라이언트이며, 상기 방법은,상기 통신 클라이언트의 메시지가 스팸인지의 여부를 표시하기 위해 인덱스 데이터를 마킹하는 단계; 및상기 애플리케이션의 데이터 항목들을 복구를 위해 주기적으로 저장하는 단계 이전에 스팸으로 마킹된 모든 메시지를 제거하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 지정된 시점에서 복구된 상기 애플리케이션으로부터 데이터를 복사하는 단계;현재 시점으로 복귀하는 단계; 및상기 복사한 데이터를 상기 현재 시점의 애플리케이션에 붙여넣기 하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상이한 시점을 나타내는 포인터에 의해 상기 애플리케이션의 윈도우 그래픽 표현을 디스플레이하는 단계를 더 포함하는 방법.
- 제12항에 있어서,상기 애플리케이션의 윈도우 그래픽 표현은 타임라인 상의 포킹(forking)을 통해 가시적인 대안적 애플리케이션 상태들을 나타내는 방법.
- 타임라인 기반의 컴퓨팅 환경을 이용하여 애플리케이션을 복구하기 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 기록 매체로서, 컴퓨터의 실행 시에, 상기 명령어들은,복구를 위해 상기 애플리케이션의 데이터 항목들을 시간 기반 아카이브에 주기적으로 저장하는 단계 - 상기 저장된 데이터 항목들은 상기 항목들이 저장되는 시점에서 상기 애플리케이션의 복구를 허용함 - ;상기 저장된 데이터 항목들의 시간 기반 아카이브를 검색하는 단계;상기 애플리케이션을 복구하려는 시점을 지정하는 단계;상기 지정된 시점에서 저장된 데이터 항목들을 디스플레이하고, 상기 지정된 시점에서 저장된 데이터 항목들을 이용하여 상기 애플리케이션을 복구하는 단계를 수행하고,상기 데이터 항목들을 주기적으로 저장하는 단계는,상기 애플리케이션이 중지 요청의 수신없이 일관된 작업 파일을 저장하는 유형인지 여부에 대한 제1 판정을 행하는 단계;상기 제1 판정이 참인 경우에, 상기 애플리케이션을 관찰하고 상기 일관된 작업 파일을 캡처링하는 단계;상기 제1 판정이 참이 아닌 경우에, 상기 애플리케이션이 중지 요청의 수신없이 일관된 복구 파일을 저장하되 일관된 작업 파일을 저장하기 위해 중지 요청을 수신해야 하는 유형인지 여부에 대한 제2 판정을 행하는 단계;상기 제2 판정이 참인 경우에, 저장되는 임의의 복구 파일을 위하여 상기 애플리케이션을 관찰하고, 저장된 상기 복구 파일을 캡처링하는 단계;상기 캡처링된 복구 파일과 상기 일관된 작업 파일 사이의 매핑을 캡처링하는 단계;상기 제2 판정이 참이 아닌 경우에, 상기 애플리케이션이, 일관된 작업 파일을 저장하기 전에 중지 요청을 수신해야 하는지 여부에 대한 제3 판정을 행하는 단계;상기 제3 판정이 참인 경우에, 상기 애플리케이션의 클론을 생성하는 단계;파일 저장 명령을 초기화하기 위해 상기 애플리케이션의 클론에 중지 명령을 송신하는 단계;상기 파일 저장 명령에 응답하여 임의의 저장된 파일들을 캡처링하는 단계;상기 제3 판정이 참이 아닌 경우에, 가상 머신을 실행하는 단계;상기 가상 머신 내에서 상기 애플리케이션을 실행하는 단계; 및상기 가상 머신의 상태를 상기 시점에서 캡처링하는 단계를 포함하는 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,상기 데이터 항목들이 저장되는 시점에 관한 컨텍스트 정보를 저장하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,이용을 위해 상기 복구된 애플리케이션의 포크를 상기 지정된 시점에서 생성하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 제16항에 있어서,상기 생성된 포크는 상기 복구된 애플리케이션의 새로운 이용을 반영하는 대안적인 타임라인인 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,상기 시간 기반의 아카이브를 검색하기 위한 컴퓨터 실행가능 명령어들은,각각의 저장된 데이터 항목에 대한 메타데이터를 인덱싱하고,상기 인덱싱된 메타데이터와 사용자 선택 변수 사이의 일치에 따라 데이터 항목들의 목록을 생성하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 제18항에 있어서,상기 메타데이터를 인덱싱하기 위한 컴퓨터 실행가능 명령어들은 사용자의 실행에 따른 상기 메타데이터 또는 상기 저장된 데이터 항목들을 카탈로그화하는 자동 알고리즘을 생성하기 위한 실행가능 명령어들을 포함하는 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,상기 시간 기반 아카이브를 검색하기 위한 컴퓨터 실행가능 명령어들은,상이한 시점들을 나타내는 타임라인을 스크롤링하고,상기 스크롤링 단계에 따라 상기 애플리케이션의 그래픽 표현을 변경하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 제20항에 있어서,상기 시간 라인을 스크롤링하기 위한 컴퓨터 실행가능 명령어들은 상기 저장된 데이터 항목들의 등급, 크기 또는 유형의 표시를 제공하는 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,상기 애플리케이션은 복수의 메시지를 갖는 통신 클라이언트이며, 상기 기록 매체는,상기 통신 클라이언트의 메시지가 스팸인지의 여부를 표시하기 위해 인덱스 데이터를 저장하고,스팸으로 표시되지 않은 상기 복수의 메시지와 사용자 선택 검색 변수 사이의 일치에 따라 메시지의 목록을 생성하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,상기 애플리케이션은 복수의 메시지를 갖는 통신 클라이언트이며, 상기 기록 매체는,상기 통신 클라이언트의 메시지가 스팸인지의 여부를 표시하기 위해 인덱스 데이터를 마킹하고,상기 애플리케이션의 데이터 항목들을 복구를 위해 주기적으로 저장하는 단계 이전에 스팸으로 마킹된 모든 메시지를 제거하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 제14항에 있어서,상기 지정된 시점에서 복구된 상기 애플리케이션으로부터 데이터를 복사하고,현재 시점으로 복귀하며,상기 복사한 데이터를 상기 현재 시점의 애플리케이션에 붙여넣기 하기 위한 컴퓨터 실행가능 명령어들을 더 포함하는 컴퓨터 판독가능 기록 매체.
- 디스플레이를 포함하는 그래픽 사용자 인터페이스 및 사용자 인터페이스 선택 장치를 갖는 컴퓨터 시스템으로서, 상기 컴퓨터 시스템은 타임라인 기반의 컴퓨팅 환경을 이용하여 애플리케이션을 복구하기 위해 상기 디스플레이 상에 메뉴를 제공하여 이 메뉴로부터 선택하도록 구성되어 있는 수단을 포함하며, 상기 컴퓨터 시스템은,제1항 내지 제13항 중 어느 한 항의 방법을 수행하도록 구성되어 있는 수단을 더 포함하는 컴퓨터 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/808,099 US7353241B2 (en) | 2004-03-24 | 2004-03-24 | Method, medium and system for recovering data using a timeline-based computing environment |
US10/808,099 | 2004-03-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060044692A KR20060044692A (ko) | 2006-05-16 |
KR101130366B1 true KR101130366B1 (ko) | 2012-03-27 |
Family
ID=34887653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050024571A KR101130366B1 (ko) | 2004-03-24 | 2005-03-24 | 타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를복구하기 위한 방법, 매체 및 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7353241B2 (ko) |
EP (1) | EP1582982B1 (ko) |
JP (1) | JP4847709B2 (ko) |
KR (1) | KR101130366B1 (ko) |
CN (1) | CN100462929C (ko) |
AT (1) | ATE397250T1 (ko) |
DE (1) | DE602005007088D1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150045070A (ko) * | 2013-10-18 | 2015-04-28 | 이선종 | 변경정보 유지 및 선택 기능을 구비한 정보통신장치 복원방법 |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949395B2 (en) | 2004-06-01 | 2015-02-03 | Inmage Systems, Inc. | Systems and methods of event driven recovery management |
US8868858B2 (en) * | 2006-05-19 | 2014-10-21 | Inmage Systems, Inc. | Method and apparatus of continuous data backup and access using virtual machines |
US7640454B1 (en) * | 2004-06-28 | 2009-12-29 | Symantec Operating Corporation | System and method for point-in-time recovery of application resource sets |
US8495023B1 (en) * | 2004-09-01 | 2013-07-23 | Symantec Operating Corporation | Delta catalogs in a backup system |
US7814367B1 (en) * | 2004-11-12 | 2010-10-12 | Double-Take Software Canada, Inc. | Method and system for time addressable storage |
JP4055769B2 (ja) * | 2004-12-10 | 2008-03-05 | ブラザー工業株式会社 | 設定データ伝送プログラム、設定データ伝送方法、設定データ伝送システム、および設定データ伝送装置 |
CN101313279A (zh) * | 2005-10-14 | 2008-11-26 | 塞门铁克操作公司 | 一种在数据存储器中用于时间线压缩的技术 |
KR100770163B1 (ko) | 2006-03-02 | 2007-10-26 | 엔에이치엔(주) | 스팸 지수 산정 방법 및 시스템 |
KR100775648B1 (ko) | 2006-03-03 | 2007-11-13 | 엔에이치엔(주) | 스팸 지수를 이용한 스팸 리스트 관리 방법 및 시스템 |
US20070300179A1 (en) * | 2006-06-27 | 2007-12-27 | Observe It Ltd. | User-application interaction recording |
US7809688B2 (en) * | 2006-08-04 | 2010-10-05 | Apple Inc. | Managing backup of content |
US8166415B2 (en) | 2006-08-04 | 2012-04-24 | Apple Inc. | User interface for backup management |
US7853566B2 (en) | 2006-08-04 | 2010-12-14 | Apple Inc. | Navigation of electronic backups |
US8370853B2 (en) | 2006-08-04 | 2013-02-05 | Apple Inc. | Event notification management |
US7860839B2 (en) | 2006-08-04 | 2010-12-28 | Apple Inc. | Application-based backup-restore of electronic information |
US9009115B2 (en) | 2006-08-04 | 2015-04-14 | Apple Inc. | Restoring electronic information |
US7809687B2 (en) * | 2006-08-04 | 2010-10-05 | Apple Inc. | Searching a backup archive |
US7856424B2 (en) | 2006-08-04 | 2010-12-21 | Apple Inc. | User interface for backup management |
US8311988B2 (en) | 2006-08-04 | 2012-11-13 | Apple Inc. | Consistent back up of electronic information |
US7853567B2 (en) * | 2006-08-04 | 2010-12-14 | Apple Inc. | Conflict resolution in recovery of electronic data |
US7606842B2 (en) * | 2006-09-27 | 2009-10-20 | Hewlett-Packard Development Company, L.P. | Method of merging a clone file system with an original file system |
US7747575B2 (en) * | 2006-11-07 | 2010-06-29 | Magix Ag | Application-specific intelligent backup and restore system |
US8745523B2 (en) * | 2007-06-08 | 2014-06-03 | Apple Inc. | Deletion in electronic backups |
US8307004B2 (en) | 2007-06-08 | 2012-11-06 | Apple Inc. | Manipulating electronic backups |
US8429425B2 (en) | 2007-06-08 | 2013-04-23 | Apple Inc. | Electronic backup and restoration of encrypted data |
US8468136B2 (en) | 2007-06-08 | 2013-06-18 | Apple Inc. | Efficient data backup |
US8725965B2 (en) | 2007-06-08 | 2014-05-13 | Apple Inc. | System setup for electronic backup |
US8010900B2 (en) | 2007-06-08 | 2011-08-30 | Apple Inc. | User interface for electronic backup |
EP2372553B1 (en) | 2007-06-08 | 2013-01-30 | Apple Inc. | Application-based backup-restore of electronic information |
US20080307017A1 (en) | 2007-06-08 | 2008-12-11 | Apple Inc. | Searching and Restoring of Backups |
US8099392B2 (en) | 2007-06-08 | 2012-01-17 | Apple Inc. | Electronic backup of applications |
DK200801750A (en) * | 2008-03-04 | 2009-09-05 | Konus Group Aps | Computer system with selective installation of an operating system |
US8028194B2 (en) * | 2008-07-25 | 2011-09-27 | Inmage Systems, Inc | Sequencing technique to account for a clock error in a backup system |
KR101523979B1 (ko) * | 2008-10-02 | 2015-05-29 | 삼성전자주식회사 | 휴대 단말기 및 그 휴대 단말기에서 기능 수행 방법 |
US8332365B2 (en) | 2009-03-31 | 2012-12-11 | Amazon Technologies, Inc. | Cloning and recovery of data volumes |
KR101615646B1 (ko) * | 2009-08-25 | 2016-04-27 | 삼성전자 주식회사 | 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체 |
US20110252208A1 (en) * | 2010-04-12 | 2011-10-13 | Microsoft Corporation | Express-full backup of a cluster shared virtual machine |
US8983870B2 (en) | 2010-08-18 | 2015-03-17 | Snap-On Incorporated | Apparatus and method for managing software applications using partitioned data storage devices |
US8984029B2 (en) | 2011-01-14 | 2015-03-17 | Apple Inc. | File system management |
US8943026B2 (en) | 2011-01-14 | 2015-01-27 | Apple Inc. | Visual representation of a local backup |
CN102662798A (zh) * | 2012-04-12 | 2012-09-12 | 青岛海信移动通信技术股份有限公司 | 一种android系统恢复数据的方法及终端 |
US9785510B1 (en) | 2014-05-09 | 2017-10-10 | Amazon Technologies, Inc. | Variable data replication for storage implementing data backup |
US9734021B1 (en) | 2014-08-18 | 2017-08-15 | Amazon Technologies, Inc. | Visualizing restoration operation granularity for a database |
US9185175B1 (en) | 2014-09-24 | 2015-11-10 | Oracle International Corporation | System and method for optimizing visual session recording for user account management in a computing environment |
US9166897B1 (en) | 2014-09-24 | 2015-10-20 | Oracle International Corporation | System and method for supporting dynamic offloading of video processing for user account management in a computing environment |
US9167047B1 (en) | 2014-09-24 | 2015-10-20 | Oracle International Corporation | System and method for using policies to support session recording for user account management in a computing environment |
US9148454B1 (en) | 2014-09-24 | 2015-09-29 | Oracle International Corporation | System and method for supporting video processing load balancing for user account management in a computing environment |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US10078440B2 (en) * | 2015-03-25 | 2018-09-18 | Ebay Inc. | Media discovery and content storage within and across devices |
CN106469087B (zh) * | 2015-08-19 | 2020-06-05 | 阿里巴巴集团控股有限公司 | 元数据输出方法、客户端和元数据服务器 |
US10567500B1 (en) | 2015-12-21 | 2020-02-18 | Amazon Technologies, Inc. | Continuous backup of data in a distributed data store |
US10423493B1 (en) | 2015-12-21 | 2019-09-24 | Amazon Technologies, Inc. | Scalable log-based continuous data protection for distributed databases |
US10810088B1 (en) * | 2016-05-13 | 2020-10-20 | NortonLifeLock Inc. | System and method of dynamic backup policy generation |
US10754844B1 (en) | 2017-09-27 | 2020-08-25 | Amazon Technologies, Inc. | Efficient database snapshot generation |
US10990581B1 (en) | 2017-09-27 | 2021-04-27 | Amazon Technologies, Inc. | Tracking a size of a database change log |
US11182372B1 (en) | 2017-11-08 | 2021-11-23 | Amazon Technologies, Inc. | Tracking database partition change log dependencies |
US11269731B1 (en) | 2017-11-22 | 2022-03-08 | Amazon Technologies, Inc. | Continuous data protection |
US11042503B1 (en) | 2017-11-22 | 2021-06-22 | Amazon Technologies, Inc. | Continuous data protection and restoration |
US10621049B1 (en) | 2018-03-12 | 2020-04-14 | Amazon Technologies, Inc. | Consistent backups based on local node clock |
US11126505B1 (en) | 2018-08-10 | 2021-09-21 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
US11042454B1 (en) | 2018-11-20 | 2021-06-22 | Amazon Technologies, Inc. | Restoration of a data source |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5713024A (en) * | 1994-06-10 | 1998-01-27 | Exabyte Corporation | Cold boot data backup system |
WO2001001251A1 (en) * | 1999-06-30 | 2001-01-04 | Microsoft Corporation | Restoration of a computer to a previous state |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835953A (en) | 1994-10-13 | 1998-11-10 | Vinca Corporation | Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating |
JP3279201B2 (ja) * | 1996-05-17 | 2002-04-30 | 富士ゼロックス株式会社 | 情報処理装置 |
US6084935A (en) * | 1998-08-13 | 2000-07-04 | Microchip Technology Incorporated | Binary counter and method for counting to extend lifetime of storage cells |
JP2000267912A (ja) * | 1999-03-15 | 2000-09-29 | Fuji Xerox Co Ltd | ファイル管理装置及び記録媒体 |
US6725241B1 (en) * | 1999-03-31 | 2004-04-20 | International Business Machines Corporation | Method and apparatus for freeing memory in a data processing system |
WO2001071501A1 (en) * | 2000-03-22 | 2001-09-27 | Interwoven Inc. | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents |
JP2003058534A (ja) * | 2001-08-09 | 2003-02-28 | Casio Comput Co Ltd | データ処理装置およびプログラム |
US20030220948A1 (en) * | 2002-01-22 | 2003-11-27 | Columbia Data Products, Inc. | Managing snapshot/backup collections in finite data storage |
US7475098B2 (en) | 2002-03-19 | 2009-01-06 | Network Appliance, Inc. | System and method for managing a plurality of snapshots |
US7093086B1 (en) * | 2002-03-28 | 2006-08-15 | Veritas Operating Corporation | Disaster recovery and backup using virtual machines |
-
2004
- 2004-03-24 US US10/808,099 patent/US7353241B2/en not_active Expired - Fee Related
-
2005
- 2005-03-22 DE DE602005007088T patent/DE602005007088D1/de active Active
- 2005-03-22 EP EP05102271A patent/EP1582982B1/en not_active Not-in-force
- 2005-03-22 AT AT05102271T patent/ATE397250T1/de not_active IP Right Cessation
- 2005-03-24 JP JP2005086337A patent/JP4847709B2/ja not_active Expired - Fee Related
- 2005-03-24 CN CNB2005100637294A patent/CN100462929C/zh not_active Expired - Fee Related
- 2005-03-24 KR KR1020050024571A patent/KR101130366B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5713024A (en) * | 1994-06-10 | 1998-01-27 | Exabyte Corporation | Cold boot data backup system |
WO2001001251A1 (en) * | 1999-06-30 | 2001-01-04 | Microsoft Corporation | Restoration of a computer to a previous state |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150045070A (ko) * | 2013-10-18 | 2015-04-28 | 이선종 | 변경정보 유지 및 선택 기능을 구비한 정보통신장치 복원방법 |
KR101678561B1 (ko) * | 2013-10-18 | 2016-11-22 | 주식회사 아신아이 | 변경정보 유지 및 선택 기능을 구비한 정보통신장치 복원방법 |
Also Published As
Publication number | Publication date |
---|---|
DE602005007088D1 (de) | 2008-07-10 |
JP4847709B2 (ja) | 2011-12-28 |
US20050216527A1 (en) | 2005-09-29 |
CN1677356A (zh) | 2005-10-05 |
JP2005276223A (ja) | 2005-10-06 |
ATE397250T1 (de) | 2008-06-15 |
KR20060044692A (ko) | 2006-05-16 |
EP1582982A3 (en) | 2006-09-06 |
US7353241B2 (en) | 2008-04-01 |
EP1582982A2 (en) | 2005-10-05 |
EP1582982B1 (en) | 2008-05-28 |
CN100462929C (zh) | 2009-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101130366B1 (ko) | 타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를복구하기 위한 방법, 매체 및 시스템 | |
JP4239090B2 (ja) | ファイル管理プログラム | |
JP4706789B2 (ja) | 画像蓄積装置及びプログラム | |
RU2417401C2 (ru) | Пользовательский интерфейс переноса и фиксации по новому месту с широкими возможностями | |
CN100414547C (zh) | 用于访问文件系统快照的方法和文件系统 | |
KR100991027B1 (ko) | 파일 시스템 셸 | |
US20050289193A1 (en) | Methods and systems for managing data | |
US20050080807A1 (en) | Extensible creation and editing of integrated collections | |
US9588644B2 (en) | Time-based organization of desktop items | |
US9824159B2 (en) | Assigning labels to desktop items | |
JP7024330B2 (ja) | 情報処理装置及びプログラム | |
US9286299B2 (en) | Backup of data items | |
JP3888100B2 (ja) | ファイル・リロケーション・システムおよびその処理プログラム | |
JP2013175132A (ja) | 文書管理サーバ装置、文書管理装置、文書管理システム、及び文書管理プログラム | |
RU2351981C2 (ru) | Расширяемое создание и редактирование объединенных наборов | |
KR100645965B1 (ko) | 호스트 장치 및 그의 데이터 관리방법 | |
JP7509307B2 (ja) | 情報処理装置及びプログラム | |
JP7302146B2 (ja) | 情報処理装置、情報処理システム及びプログラム | |
JP7135300B2 (ja) | 情報処理装置及びプログラム | |
JP7119340B2 (ja) | 情報処理装置及びプログラム | |
JP6922662B2 (ja) | 情報処理装置及びプログラム | |
JP7013797B2 (ja) | 情報処理装置及びプログラム | |
JP2007102649A (ja) | アプリケーションのファイル保存方法 | |
JP4471098B2 (ja) | インタフェース装置、インタフェース方法、インタフェースプログラム及び記録媒体 | |
KR101182280B1 (ko) | 문서관리방법 및 문서관리장치 |
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: 20150217 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160218 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170220 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180219 Year of fee payment: 7 |