KR101117208B1 - 트랜잭션 시스템에서의 보안 데이터 삭제 - Google Patents

트랜잭션 시스템에서의 보안 데이터 삭제 Download PDF

Info

Publication number
KR101117208B1
KR101117208B1 KR1020097017381A KR20097017381A KR101117208B1 KR 101117208 B1 KR101117208 B1 KR 101117208B1 KR 1020097017381 A KR1020097017381 A KR 1020097017381A KR 20097017381 A KR20097017381 A KR 20097017381A KR 101117208 B1 KR101117208 B1 KR 101117208B1
Authority
KR
South Korea
Prior art keywords
data object
data
transaction
storage location
execution
Prior art date
Application number
KR1020097017381A
Other languages
English (en)
Other versions
KR20090111850A (ko
Inventor
매튜 조? 앵글린
데이비드 맥스웰 캐논
마크 알란 하예
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20090111850A publication Critical patent/KR20090111850A/ko
Application granted granted Critical
Publication of KR101117208B1 publication Critical patent/KR101117208B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1088Transfer of content, software, digital rights or licenses by using transactions with atomicity, consistency, or isolation and durability [ACID] properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

트랜잭션적으로 일관된 방식으로 데이터가 보안 삭제되는 프로세스가 개시된다. 이것은, 필요하다면 시스템을 초기 상태로 되돌리기 위하여 데이터 객체를 관리하는 시스템 내의 데이터 객체에 대한 준비 트랜잭션을 실행확정하고, 상기 준비 트랜잭션의 실행확정 후에만 데이터 객체에 대한 실행 트랜잭션의 실행확정을 시도하고, 실행 트랜잭션의 실행확정이 실패한 경우 시스템을 초기 상태로 되돌리기 위하여, 또는 실행 트랜잭션이 성공한 경우 시스템을 완료된 상태로 변경하기 위하여, 필요한 데이터 객체의 임의의 일부를 보안 삭제함으로써 달성된다. 삭제 또는 이동 트랜잭션의 경우, 기존의 백업 객체는, 삭제 또는 이동 트랜잭션이 실패하는 경우 데이터가 다시 액세스가능해지도록 하는 방식으로 새로운 논리적으로 삭제된 상태를 할당받는다.
트랜잭션, 보안 삭제, 논리적 삭제, 보안 데이터 삭제.

Description

트랜잭션 시스템에서의 보안 데이터 삭제{SECURE DATA DELETION IN A TRANSACTION SYSTEM}
본 발명은 컴퓨터 시스템에서 데이터 백업 및 복구에 관한 것이다. 더 구체적으로는, 본 발명은 네트워킹된 컴퓨터 시스템들 상에서 동작하는 데이터 백업 및 복구 시스템에서 데이터를 보안유지하여 처리하는 것에 관한 것이다.
IBM의 Tivoli Storage Manager(TSM)과 같은 전형적인 데이터 백업 및 복구 시스템은, 클라이언트 객체(예를 들어, 파일)에 대한 클라이언트-서버 기반의 백업 및 복구를 제공할 수 있다. 이 시스템은, 객체 데이터를 스토리지 저장소에 저장하고, 각각의 객체에 관련된 메타데이터를 데이터베이스 내에 유지한다. 데이터 및 메타데이터의 저장은 데이터베이스의 참조 무결성(referential integrity)을 보장하기 위해 트랜잭션 시스템에 의존한다.
백업 객체들이 이와 같은 시스템에 의해 조작될 때, 데이터는 기록, 삭제, 및/또는 이동(본질적으로 기록 및 삭제의 조합에 해당됨)된다. 이들 데이터 동작들은 백업 객체들을 백업 시스템에 의해 관리되는 백업 저장소 내로, 밖으로, 및 내에서 처리할 때 발생한다. 종래의 백업 시스템에서, 백업 객체들의 데이터의 물리적 스토리지 위치에 대한 참조만이 시스템(파일 시스템 및/또는 백업 시스템)으 로부터 삭제되는 방식으로 "논리적으로"만 데이터를 삭제하는 것으로 충분하다. 이러한 통상적인 삭제 프로세스는, 새로운 데이터가 동일한 위치에 덮어씌어지기 이전까지는 그 데이터가 복구가능하다는 것을 의미한다. 이것은 많은 경우에 바람직한 부산물이지만, 데이터 보안이 중요한 경우에는 바람직하지 않다.
최근에, 데이터 보안에 대한 증가된 관심으로 인해, 데이터가 삭제될 때(또는 새로운 스토리지 위치로의 데이터의 복사와 그 원래 위치로부터의 삭제로 구성되는, 이동될 때), 데이터가 보안 삭제될 것을 추가로 요구하고 있다. 백업 객체에 대한 전형적인 라이프 사이클은, 객체가 백업 서버에 처음 삽입될 때 시작된다. 시간의 경과에 따라, 후속하여, 백업 객체는 백업 저장소 내의 하나 이상의 새로운 스토리지 장소로 이동되고, 스케쥴된 대로 최종적으로 삭제될 때까지 사용자-지정 보유 기간 동안 저장소 내에 머무를 수 있다. 삭제의 또 다른 케이스는 백업 서버로의 객체의 초기 삽입이 실패한 때이다. 이 경우, 임의의 부분적으로-기록된 데이터도 역시 삭제되어야 한다. 모든 경우의 삭제에서, 임의의 기밀 데이터는 보안 삭제되어야 한다. 최소한으로 실제 데이터 장소에 대한 참조만을 삭제하는 논리적 삭제와는 달리, 보안 삭제 프로세스는 또한, 스토리지 장치에서 물리적으로 존재하는 데이터를 적극적으로 제거한다. 백업 시스템 및 보안 삭제의 트랜잭션 처리 분야에서 일부 종래의 시스템 및 방법들이 개발되었다.
2005년 9월 13일자로 Kim 등에 허여된 미국특허 제6,944,635호는 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일 삭제 및 복구를 위한 방법을 기술하고 있다. 이 방법은, 트랜잭션 실행확정 프로세스 동안에 계류중인 액션 리스트 내에 열거된 파일들을 삭제하고, 아토믹 동작으로서의 비아토믹 파일 삭제를 로그(log) 내에 기록하고, 그 로그를 이용하여 재시작 복구 동안에 미완된 파일 삭제를 복구하는 단계를 포함한다. 데이터베이스 관리 시스템에서 파일 삭제 동안에 시스템 고장이 발생하면, 고장으로 인해 그 해방(release)이 중단된 자원들이 복구 단계를 통해 완벽하게 해방되어, 데이터의 일관성이 유지되고 스토리지 장치의 효율이 개선된다는 점에서 이롭다.
1996년 10월 1일 Sakar 등에 허여된 미국특허 제5,561,795호는, 한 트랜잭션 처리 시스템을 개시하고 있는데, 여기서는 프로세스내의 트랜잭션의 상태와 데이터베이스 갱신에 대한 감사 정보(audit information)가 감사 파일 내의 감사 레코드에 순차적으로 기록되고, 감사 파일은 시스템 고장에 후속하여 데이터베이스를 모순없는 상태로 복구하는데 이용될 수 있다. 이 발명은 감사에 요구되는 오버헤드 처리를 감소시키고, 동시에, 데이터베이스를 복구하는데 요구되는 처리 시간에 대해 감사가 미치는 충격을 최소화한다. 데이터베이스의 복구가 시작될 수 있는 감사 파일 내의 위치를 참조하는 값은, 데이터 처리 시스템의 메인 메모리 내에 캐싱되는 데이터베이스의 페이지가 비휘발성 스토리지에 기록되는 때마다, 그 캐싱된 페이지와 연관된 가장 초기에 기록된 감사 레코드의 위치에 기초하여, 조건적으로 갱신된다. 또한, 트랜잭션의 처리가 완료되면, 가장 오래된 미완된 트랜잭션의 트랜잭션 식별자가 완료된 트랜잭션에 대한 감사 파일 내에 저장된다. 데이터베이스를 모순없는 상태로 복구할 때, 데이터베이스를 복구하는데 요구되는 처리를 최소화하기 위해 감사 파일 내의 참조 포인트로서, 가장 초기에 기록된 감사 파일에 따 라 유지되는 값과 가장 오래된 미완 트랜잭션의 트랜잭션 식별자가 이용된다.
2005년 6월 23일 공개된 Verma 등에 의한 미국특허출원 제2005/0138085호는, 한 트랜잭션 파일 시스템을 기술하고 있다. 여기서는, 사용자-레벨 트랜잭션의 일부로서 복수의 파일 시스템 동작이 수행될 수 있다. 애플리케이션은, 파일에 관한 동작, 또는 쓰레드의 파일 시스템 동작이 트랜잭션의 일부로서 처리되어야 한다고 명시하며, 애플리케이션에는 트랜잭션 컨텍스트와 연관된 파일 핸들이 주어진다. 트랜잭션 컨텍스트와 연관된 파일 시스템 요청의 경우, 파일 시스템 내의 컴포넌트는 트랜잭션 거동과 일관되도록 동작들을 관리한다. 분산형 트랜잭션에 대한 자원 관리자일 수 있는 컴포넌트는, 변경된 파일들의 사본들을 추적하여 파일의 복수 버전을 제공함으로써, 트랜잭션 판독자가 트랜잭션 기록자에 의해 가해진 파일에 대한 변경을, 트랜잭션 기록자가 그 트랜잭션을 실행확정(commit)하고 판독자가 그 파일을 재오픈할때까지 수신하지 않도록, 데이터 격리를 제공한다. 컴포넌트는 또한 로깅과 복구를 용이하게 하는 다중-레벨 로그에서의 명칭공간 로깅 동작을 또한 처리한다. 페이지 데이터는 또한, 시스템 크래시 이전에 페이지가 디스크에 완전히 쏟아져 나왔는지의 여부를 로그가 판정할 수 있도록 하는 고유 시그너쳐와 함께, 메인 로그와는 별도로 로깅된다. 트랜잭션이 격리 디렉토리들을 통해 실행확정할때까지 명칭공간 격리가 제공된다. 이로써, 실행확정될때까지, 트랜잭션은 다른 트랜잭션의 동작이 아니라 그 자신의 동작의 효과를 보게된다. 네트워크에 걸친 트랜잭션들은 또한 리디렉터 프로토콜을 통해 용이해진다.
2001년 10월 16일 Motoyama 등에 허여된 미국특허 제6,304,948호는 데이터를 저장하고 유지하기 위한 접근법을 개시하고 있다. 이 접근법은, 지정된 기간 동안 데이터가 제1 비휘발성 스토리지 상에 저장되었는지의 여부를 판정하는 것을 포함한다. 만일 그렇다면, 제1 비휘발성 스토리지 상에 저장된 데이터는, 그 데이터가 복구될 수 없도록 미리결정된 값으로 제1 비휘발성 스토리지 상의 데이터를 덮어쓰기함으로써 삭제된다. 제1 비휘발성 스토리지는 제1 비휘발성 스토리지 상에서 유지된 데이터에 관한 인증을 제공하기 위해 등록국에 등록된다. 데이터의 복제 사본은 제2 비휘발성 스토리지 상에 저장되고, 지정된 기간 동안 제1 비휘발성 스토리 상에 데이터가 저장되었다고 판정이 이루어지면, 데이터의 복제 사본은, 제2 비휘발성 스토리지 상의 데이터의 복제 사본을 미리결정된 값으로 덮어쓰기함으로써 삭제된다.
1993년 11월 23일 Kung에 허여된 미국특허 제5,265,159호는 컴퓨터 시스템의 스토리지 매체 상의 파일을 판독될 수 없도록 보안 삭제하는 방법을 개시하고 있다. 여기서는, 종래의 삭제 프로세스에 앞서 저장된 파일 내의 데이터를 암호화하기 위해 암호화 알고리즘이 이용된다. 이 발명은 사용자가 다른 사람들이 파일을 전혀 판독할 수 없도록 하는 방식으로 영구 스토리지 공간으로부터 파일들을 삭제하는 것을 허용한다. 사용자가 저장된 파일의 삭제를 요청할 때, 그 파일은 판독될 수 없도록 암호화된다. 사용자는, 또 다른 프로그램에 의해 그 스토리지 공간이 사용되기 이전에 그 파일을 암호해독함으로써 그 파일을 삭제취소하는 옵션을 가진다. 보안 삭제 방법이 사용될 때, 어떠한 유틸리티 프로그램도 그 삭제된 파일로부터 어떠한 정보도 복구할 수 없다. 침입자에게, 그 스토리지 공간은 무작위 비트처럼 보이도록 암호화된다. 따라서, 암호화되고 삭제된 파일로부터 어떠한 정보도 검색될 수 없으며, 유도될 수 없다. 만일 사용자가 정보를 삭제취소할 작정이 아니라면, 파일의 보안 삭제의 속도를 증가시키기 위해 일방향 암호화 알고리즘이 이용된다. 만일 사용자가 키를 파괴하지 않는다면, 파일을 복구할 수 있다. 이 방법은, 저장된 파일 내에 유지된 데이터에 대한 액세스를 허용하기 위해 무작위 키를 이용하여 암호화되어 저장된 파일을 암호해독한다.
2001년 11월 6일 Starek에 의해 허여된 미국특허 제6,314,437호는, 운영 체제의 파일 시스템 구조에 대한 파일 시스템 콜(file system call)을 향상시키는 방법 및 장치를 개시하고 있다. 특히, 파일 시스템 콜은 현재 진행에 기초하여 실시간 보안 파일 삭제를 제공하도록 향상될 수 있다. 스토리지 장치 상에 저장된 데이터에 관하여 기능을 수행하도록 의도된 파일 시스템 콜은 인터셉트된다. 파일 시스템 콜이 처리되어야 할 타입인지의 여부가 판정된다. 만일 그렇지 않다면, 원래의 파일 시스템 콜은 파일 시스템 콜을 통해 전달된다. 만일 파일 시스템 콜이 처리되어야 한다면, 원래의 파일 시스템 콜을 향상시키기 위해 보충의 처리가 수행되고 파일 시스템 콜은 호출측 시스템 애플리케이션에 투명하게 되돌아간다. 실시예에서, 실시간 보안 파일 삭제는, WINDOWS 95의 설치가능한 파일 시스템(IFS; Installable File System) 내에서 실행되는 판매자 공급형 드라이버(VSD)를 이용하여 구현된다. 나아가, NTFS 파일 시스템을 갖는 시스템에서 실시간 보안 데이터 삭제를 위한 방법 및 시스템이 개시된다. 판독 콜은 판독 필터를 이용하여 모니터링되고, NTFS 메타파일로의 포인터들과 페이지 파일들이 인지되고 저장된다. 기록 콜은 기록 필터를 이용하여 모니터링되고 버퍼의 실시간 보안 데이터 삭제가 수행된다. 파일 생성 동작들이 모니터링되고, 파일이 덮어쓰기 되려할 때 사용자 파일에 대한 실시간 보안 데이터 삭제가 수행된다. 나아가, 셋 정보 동작(set information operation)이 모니터링되고 절삭, 축소, 또는 삭제된 사용자 파일들에 대한 실시간 보안 데이터 삭제가 수행된다.
1996년 1월 20일 Inui에 허여된 미국특허 제5,488,720호는 전자 수첩과 같은 개선된 소형 전자 장치를 개시하고 있다. 이 장치에서, 저장이 유지되어야 하는 데이터는 잘못 삭제되는 것이 방지된다. 이 장치는, 메모리; 복수의 입력 키; 제1 미리결정된 키 동작이 수행될 때 메모리에 저장된 원하는 데이터를 임시 삭제 상태로 설정하기 위한 임시 삭제 요소; 제2 미리결정된 키 동작이 수행될 때 임시 삭제 상태로 설정된 데이터를 메모리로부터 삭제하기 위한 삭제 요소; 및 제3 미리결정된 키 동작이 수행될 때 임시 삭제 상태로 설정된 데이터의 임시 삭제 상태를 해제하기 위한 해제 요소를 포함한다.
백업 시스템에 적용된, 데이터를 보안 삭제하는 문제에 관한 종래의 접근법은, 삭제 또는 이동 트랜잭션을 수행하는 동일한 트랜잭션에서 백업 데이터를 보안 삭제하는 것일 것이다. 그러나, 이것은 트랜잭션이 실패할 경우 변경을 취소하는 추가적 문제를 도입한다. 종래의 접근법하에서, 데이터의 파괴를 취소할 수 있는 유일한 방법은, 트랜잭션 실패시에 검색될 수 있도록 원래의 데이터를 트랜잭션 로그 또는 기타의 안전한 장소에 복사하는 것일 것이다. 그러나, 이 해결책은 많은 상황에서 비실용적인데, 이는, 데이터량은 로그를 쉽게 압도할 수 있고, 역시 보안 삭제되어야 하는 데이터의 또다른 사본을 생성함으로써 실제로는 보안과 추가로 타협하는 셈이다.
본 발명의 실시예는, 백업 객체의 모든 데이터가 로그에 복사될 것을 요구하지 않고도, 트랜잭션적으로 일관된 방식으로 데이터를 보안 파괴시킬 수 있는 프로세스를 제공할 수 있다. 이것은, 객체를 액세스할 수 없는(엔드 유저에 의해 복구되거나 검색될 수 없는) 새로운 논리적으로 삭제된 상태에 할당하고 보안 삭제를 계류시킴으로써 달성될 수 있다. 상태의 변경은, 만일 트랜잭션이 실행확정되면 객체가 논리적으로 삭제되도록, 삭제 또는 이동 트랜잭션에서 수행된다. 만일 트랜잭션이 실패하면, 데이터는 여전히 액세스가능할 것이다.
본 발명의 전형적인 실시예는, 필요하다면 시스템을 초기 상태로 되돌리기 위하여 데이터 객체를 관리하는 시스템 내의 데이터 객체에 대하여 준비 트랜잭션을 실행확정하기 위한 프로그램 명령어와; 준비 트랜잭션을 실행확정한 후에만 데이터 객체에 대해 실행 트랜잭션을 실행확정하기 위한 프로그램 명령어와; 실행 트랜잭션의 실행확정이 실패한 경우 시스템을 초기 상태로 되돌리고 실행 트랜잭션의 실행확정이 성공한 경우에만 시스템을 완료된 상태로 변경하는데 필요한 데이터 객체의 임의의 부분을 보안 삭제하기 위한 프로그램 명령어를 포함하는 컴퓨터 판독가능한 매체 상에 구현된 컴퓨터 프로그램을 포함한다. 전형적으로, 본 발명의 실시예의 동작 동안에 임의의 보안 리스크를 더욱 저감시키기 위해 준비 트랜잭션에 의해 데이터 객체의 어떠한 부분도 기록되지 않는다.
일부 실시예에서, 시스템 상태는 데이터 객체에 대한 하나 이상의 스토리지 장소를 포함하는 데이터 객체와 연관된 하나 이상의 레코드를 포함하는 데이터베이스에 실행확정되는 준비 트랜잭션과 실행 트랜잭션으로 관리될 수 있다. 나아가, 데이터 객체와 연관된 하나 이상의 레코드들은 그 데이터 객체에 대한 상태를 포함할 수 있다. 본 발명의 실시예에 대하여 3개의 예시적인 동작 케이스, 즉, 데이터 객체를 시스템에 삽입, 시스템으로부터 데이터 객체를 삭제, 및 시스템 내에서 데이터 객체의 이동이 있다.
시스템에 데이터를 삽입하는 경우, 준비 트랜잭션은 데이터 객체에 대한 스토리지 위치를 할당하는 것을 포함하고, 실행 트랜잭션은 데이터 객체를 시스템에 삽입하기 위한 스토리지 장소에 데이터 객체를 기입하는 것을 포함한다. 이 경우, 시스템을 초기 상태로 되돌리는 것은, 실행 트랜잭션이 실패한 경우 스토리지 장소에 기록된 데이터 객체의 임의의 일부를 보안 삭제하는 것을 포함하는 반면, 시스템을 완료된 상태로 변경하는 것은, 실행 트랜잭션에서 데이터 객체를 스토리지 장소에 성공적으로 기록하는 것을 포함한다.
데이터 객체를 시스템으로부터 삭제하는 경우, 준비 트랜잭션은 시스템의 스토리지 장소에 존재하는 데이터 객체에 논리적으로 삭제된 상태를 할당하는 것을 포함하고, 실행 트랜잭션은 시스템 내의 데이터 객체를 삭제하는 것을 포함한다. 여기서, 시스템을 초기 상태로 되돌리는 것은, 실행 트랜잭션이 실패하는 경우 데이터 객체를 액세스가능하게 만들기 위해 스토리지 장소의 데이터 객체로부터 논리적으로 삭제된 상태를 제거하는 것을 포함하는 반면, 시스템을 완료된 상태로 변경하는 것은, 스토리지 장소의 데이터 객체를 성공적으로 보안 삭제하는 것을 포함한다.
마지막으로, 시스템 내에서 데이터 객체를 이동시키는 경우는 본질적으로 상이한 2개의 스토리지 장소에 대하여 동일한 데이터 객체를 삽입하고 삭제하는 것의 조합이다. 준비 트랜잭션은, 시스템 내의 제1 스토리지 장소에 존재하는 데이터 객체에 대하여 논리적으로 삭제된 상태를 할당하고 그 데이터 객체에 대하여 시스템 내의 제2 스토리지 장소를 할당하는 것을 포함한다. 실행 트랜잭션은 데이터 객체를 제1 스토리지 장소로부터 제2 스토리지 장소로 복사하고 제2 스토리지 장소의 데이터 객체를 참조하도록 데이터베이스를 갱신하는 것을 포함한다. 이 경우, 실행 트랜잭션이 실패하는 경우 시스템을 초기 상태로 되돌리는 것은, 제1 스토리지 장소의 데이터 객체로부터 논리적으로 삭제된 상태를 제거하여 그 데이터 객체를 액세스가능하게 만들고, 제2 스토리지 장소에 기록된 데이터 객체의 임의의 부분을 보안 삭제하는 것을 포함한다. 시스템을 완료된 상태로 변경하는 것은, 실행 트랜잭션에서 제2 스토리지 장소에 데이터 객체를 성공적으로 기록하고 후속하여 제1 스토리지 장소의 데이터 객체를 보안 삭제하는 것을 포함한다.
마찬가지로, 본 발명의 전형적 방법 구현예는, 필요하다면 시스템을 초기 상태로 되돌리기 위하여 데이터 객체를 관리하는 시스템 내의 데이터 객체에 대한 준비 트랜잭션을 실행확정하는 단계와; 준비 단계의 실행확정 이후에만 데이터 객체에 대한 실행 트랜잭션의 실행확정을 시도하는 단계와; 데이터 객체의 적어도 일부를 보안 삭제하는 단계를 포함한다. 보안 삭제는, 실행 트랜잭션의 실행확정이 실패한 경우 시스템을 초기 상태로 되돌리기 위해서 또는 실행 트랜잭션의 실행확정이 성공한 경우에만 시스템을 완료된 상태로 변경하기 위해서 수행된다. 이 방법은 본 명세서에서 기술된 본 발명의 프로그램 및 시스템 실시예들과 모순없이 추가로 수정될 수 있다.
또한, 본 발명의 전형적인 시스템 구현예는, 클라이언트로부터의 데이터 객체를 저장하기 위한 데이터 스토리지와, 클라이언트로부터의 데이터 객체의 스토리지를 관리하는 시스템 관리자를 포함할 수 있다. 시스템 관리자는 필요하다면 시스템을 초기 상태로 되돌리기 위하여 데이터 객체에 대한 준비 트랜잭션을 실행확정하고, 준비 트랜잭션의 실행확정 후에만 데이터 객체에 대한 실행 트랜잭션의 실행확정을 시도하고, 데이터 객체의 적어도 일부를 보안 삭제한다. 여기서 또한, 보안 삭제는, 실행 트랜잭션의 실행확정이 실패한 경우 시스템을 초기 상태로 되돌리기 위하여, 또는 실행 트랜잭션이 성공한 경우 시스템을 완료된 상태로 변경하기 위하여 수행된다. 시스템은, 본 명세서에서 기술된 본 발명의 프로그램 및 시스템 실시예들과 모순없이 추가로 수정될 수 있다.
추가 실시예들에서, 시스템은 데이터 백업 시스템을 포함할 수 있고, 데이터 객체는 백업 저장소 내에 저장된 백업 객체를 포함한다. 나아가, 시스템은 네트워킹된 장치들의 분산형 컴퓨터 시스템에 걸쳐 동작할 수 있다. 한 실시예에서, 시스템은 네트워킹된 장치들의 분산형 컴퓨터 시스템에 걸쳐 동작하는 분산형 데이터 백업 시스템을 포함하고, 데이터 객체는 분산형 데이터 백업 시스템의 백업 저장소 내에 저장된 백업 객체를 포함한다.
따라서, 본 발명의 실시예(들)은, 백업 시스템에 적용되는, 데이터를 보안 파괴하기 위한 시스템 및 방법을 제공한다. 이와 같은 시스템 및 방법은, 백업 시스템의 동작에서 발생하는 고장의 임의 타입에 관계없이 기밀 데이터를 액세스가능하게 하지 않고 동작하도록 설계된다. 특히, 이와 같은 시스템 및 방법들은, 원래의 데이터의 추가 사본을 만들지 않고 동작한다. 데이터 객체의 보안 삭제를 추구하는 이와 같은 기술은, 많은 장치들 중 임의의 장치가 실패한 경우 파일 트랜잭션이 실패할 수 있는 분산형 컴퓨터 네트워크에 걸쳐 동작하는 백업 시스템 또는 파일의 동작에서 더욱 공고해진다.
본 발명의 실시예들이 이제 첨부된 도면들을 참조하여 예를 통해 기술될 것이다.
도 1은 트랜잭션적으로 일관된 방식으로 데이터를 보안 삭제하기 위한 본 발명의 실시예의 기능적 블럭도이다.
도 2a는 본 발명의 실시예를 구현하는데 이용될 수 있는 예시적 컴퓨터 시스템을 예시한다.
도 2b는 본 발명의 전형적 실시예에서 채택될 수 있는 전형적인 분산형 컴퓨터 시스템을 예시한다.
도 3a-3d는 트랜잭션적으로 일관된 방식의 보안 삭제를 이용한 백업 객체의 삽입을 예시한다.
도 4a-4d는 트랜잭션적으로 일관된 방식의 시스템으로부터 데이터 객체의 보안 삭제를 예시한다.
도 5a-5d는 트랜잭션적으로 일관된 방식의 보안 삭제를 이용한 시스템 내에서의 데이터 객체의 이동을 예시한다.
도 6은 트랜잭션적으로 일관된 방식의 보안 삭제를 이용하여 시스템 내의 데이터 객체를 조작하는 예시적 방법의 플로차트이다.
1. 개관
본 발명의 실시예들은, 삭제 또는 이동 트랜잭션의 실패가 데이터의 손실을 초래하지 않도록 하고 데이터의 추가적 사본을 요구하지 않도록 하는 방식으로, 객체 데이터의 파괴를 연기함으로써 보안 삭제의 문제를 해결한다. 본 명세서에서 기술되는 본 발명의 실시예들은 한명 이상의 사용자들에 대한 데이터 백업을 관리하기 위한 백업 시스템(및 특히, 네트워크 기반의 컴퓨터 시스템 상에서 동작하는 백업 시스템)에 주로 관련되어 있지만, 당업자라면 이해하는 바와 같이, 본 발명의 실시예들은 일반적으로 임의의 파일 처리 시스템에 적용가능하다는 점에 주목해야 한다. 또한, 본 발명의 실시예들은, 임의의 특정한 보안 삭제 프로세스로 제한되지 않지만, 알려진 수단에 의해 복구될 수 없도록 지정된 물리적 장소로부터 데이터를 실제로 제거하는 임의 타입의 보안 삭제 프로세스를 채택할 수 있다는 점에 주목하는 것도 역시 중요하다. 예를 들어, 보안 삭제는, 스토리지 장소를 무작위 또는 기타의 지정된 비트 패턴으로 덮어쓰기하여, 만일 그 장소가 제로만으로 덮어쓰기되었을 경우 (예를 들어, 전문 하드웨어를 이용한) 매체의 스캔에 의해 분간될 수도 있을 스토리지 장소로부터의 데이터의 판독을 더욱 방해하는 것을 포함할 수 있다. 본 발명의 실시예들은 적어도 3개의 기본적인 삭제 케이스를 처리할 수 있다. 한 케이스는 객체의 초기 저장이 실패하는 경우이고, 두번째 케이스는, 라이프 사이클의 정상 종료시에 객체가 삭제되는 경우이고, 마지막으로, 데이터가 새로운 장소로 이동되어 그 결과 원래 장소로부터 삭제되는 경우이다.
데이터 객체가 백업 서버에 삽입되고 있을 때, 데이터 객체를 기술하는 데이터베이스 엔트리(예를 들어, 객체 이름, 속성, 보유 기간 등)를 생성하는데에 실행 트랜잭션(즉, 삽입 트랜잭션)이 이용될 수 있다. 객체 데이터가 기입될 스토리지 공간을 기술하는 데이터베이스 엔트리들을 생성하기 위해 별도의 준비 트랜잭션이 역시 이용된다. 별도의 준비 트랜잭션은, 임의의 데이터가 스토리지 장소에 기록되기 이전에 데이터베이스에 실행확정된다. 이들 데이터베이스 엔트리들은 객체의 공간을 기록중인 상태로 둔다. 만일 기록이 실패하면, 실행확정된 공간은 기록중인 상태로부터 제거되고, 논리적으로 삭제되고 계류중인 보안 파괴의 상태에 놓인다. 기록이 성공하는 경우에만, 실행확정된 공간은 기록중인 상태로부터 제거되고, 실행 트랜잭션의 실행확정의 일부로서 이루어지는, 액세스가능하고 비계류중인 보안 삭제의 상태에 놓인다. 만일 백업 서버가 삽입 동작 동안에 (예를 들어, 전원 고장의 결과로서) 비정상적으로 종료하면, 재시작시에, 기록중인 상태의 임의의 실행확정된 공간은 논리적으로 삭제되고 계류중인 보안 파괴의 상태에 놓인다.
장래에, 데이터 객체는 새로운 스토리지 장소로 이동할 수 있고, 결국에는 그 데이터 객체의 보유 기간이 만료하여 삭제될 것이다. 삭제 또는 이동 실행 트랜잭션의 처리는 유사하게 처리될 수 있다. 이동은 본질적으로 추가적 삽입이 결 합된 삭제이다. 이동/삭제 준비 트랜잭션은 데이터 객체가 검색(이동의 경우에는, 데이터 객체는 새로운 장소로부터서만 검색가능할 것임)되는 것을 허용하는 데이터베이스 엔트리들을 제거하고, 데이터 객체를 논리적으로 삭제된 상태(이 경우, 계류중인 보안 삭제임)로 두는 엔트리들을 생성하지만, 데이터 객체를 보유하는 스토리지 장소는 아직 어떠한 방식으로도 수정되지 않는다. 만일 이동/삭제 실행 트랜잭션이 성공한다면, 데이터 객체는 액세스불가능하게 남아있고 계류중인 보안 삭제이다. 만일 이동/삭제 실행 트랜잭션이 실패한다면, 준비 트랜잭션 동안에 만들어진 변경은, 데이터 객체가 여전히 손상되지 않고 액세스가능하며 비계류중인 보안 파괴가 되도록, 취소될 것이다. 나아가, 만일 동작이 이동 동작이었다면, 실행 트랜잭션이 궁극적으로 실패하기 이전의 이동 동안에 기록된 데이터는, 풀 내로의 데이터의 초기 저장과 상당히 유사한 방식으로 보안 삭제를 위해 마킹될 필요가 있을 것이다. 예를 들어, 만일 백업 서버가 100MB 객체의 40MB를 이동시키다가 에러를 만나면, 복사/이동된 40MB는 전체 이동 동작이 실패할 때 보안 삭제될 필요가 있다.
어느 쪽의 삭제 시나리오든, 계류중인 보안 삭제에 해당하는 논리적으로 삭제된 상태의 데이터 객체들을 발견하고, 이들을 보안 삭제하고, 저장 장소를 기술하는 나머지 모든 데이터베이스 엔트리들을 제거하여, 그 스토리지 장소가 다른 동작들에 의해 사용가능하도록 하기 위해, 비동기 프로세스가 사용될 수 있다.
도 1은 트랜잭션적으로 일관된 방식으로 데이터를 보안 삭제하기 위한 본 발명의 실시예의 기능 블럭도이다. 시스템(100)은, 데이터 백업 시스템에서와 같이, 한명 이상의 사용자(102)에 대해 데이터 객체를 저장하고 관리하도록 동작한다. 데이터 객체(104)는 사용자(102)로부터 시스템(100) 내에 삽입될 수 있다. 따라서, 데이터 객체(104)의 사본을 나타내는 데이터 객체(106)가 시스템(100)의 스토리지(108)(예를 들어, 백업 저장소) 내에 기록된다. 데이터 객체(106)는, 백업 시스템에서 전형적인 바와 같이, 지정된 기간의 만료시에, 삭제될 수 있다. 또한, 시스템(100) 내의 데이터 객체(106)는, 스토리지(108) 내의 또 다른 장소에 이동될 수 있다. 이러한 이동은, 스토리지(108) 내의 또다른 위치에 등가의 데이터 객체(110)를 기록하고, 원래의 데이터 객체(106)를 삭제하는 것과 동등하다. 시스템(100) 내에서의 데이터 객체들의 조작은, (하나 이상의 컴포넌트들을 포함할 수 있는) 시스템 관리자(118)에 의해 제어될 수 있다. 스토리지(108) 내의 데이터 객체들에 관한 동작들을 용이하게 하기 위해, 스토리지(108) 내의 데이터 객체들의 속성 및 트랜잭션에 관한 정보(예를 들어, 스토리지 장소, 만기, 상태, 논리적 삭제, 보안 삭제, 기록 등)를 유지하기 위한 데이터베이스(112)가 채택될 수 있다. 이하에서 더욱 상세히 기술되는 바와 같이, 주어진 데이터 객체(106)에 대하여, 시스템(100) 내의 데이터 객체들의 정돈된 조작에서 데이터 보안을 보장하기 위해, 데이터베이스(112)는, 저장된 실행 트랜잭션(116)이 실행확정되기 이전에 실행확정될 준비 트랜잭션(114)을 저장할 수 있다. 준비 트랜잭션(114)은, 실행 트랜잭션(116)의 실행확정이 실패하는 경우에 시스템(100)(데이터 객체(106))을 초기 상태로 되돌리는 것을 허용한다. 다음 섹션에서, 시스템(100)의 동작을 지원하기 위한 예시적인 하드웨어 환경이 상세히 기술될 것이다.
2. 하드웨어 환경
도 2a는 본 발명의 실시예를 구현하기 위해 사용될 수 있는 예시적 컴퓨터 시스템(200)을 예시하고 있다. 컴퓨터(202)는, 프로세서(204)와, 랜덤 액세스 메모리(RAM)와 같은 메모리(206)를 포함한다. 컴퓨터(202)는 디스플레이(202)와 연동되며, 디스플레이는 그래픽 유저 인터페이스(218) 상에서 사용자에게 윈도우와 같은 이미지들을 제공한다. 컴퓨터(202)는, 키보드(214), 마우스 장치(216), 프린터(228) 등과 같은 다른 장치들에 결합될 수 있다. 물론, 당업자라면 상기 컴포넌트들의 임의의 조합, 또는 임의 갯수의 상이한 컴포넌트들, 주변기기들, 및 기타의 장치들이 컴퓨터(202)와 함께 사용될 수 있다는 것을 이해할 것이다.
일반적으로, 컴퓨터(202)는 메모리(206) 내에 저장된 운영 체제(208)(예를 들어, z/OS, OS/2, LINUX, UNIX, WINDOWS, MAC OS)의 제어하에 동작하며, 예를 들어 그래픽 사용자 인터페이스(GUI) 모듈(232)을 통해, 입력과 명령을 수신하고 결과를 제공하기 위해 사용자와 인터페이싱한다. 비록 GUI 모듈(232)이 별개의 모듈로서 도시되어 있지만, GUI 기능을 수행하는 명령어들이 운영 체제(208), 컴퓨터 프로그램(210)에 상주하거나 분산될 수 있으며, 특별 목적 메모리 및 프로세서로 구현될 수 있다.
컴퓨터(202)는, COBOL, PL/1, C, C++, JAVA, ADA, BASIC, VISUAL BASIC, 또는 기타 임의의 언어와 같은 프로그래밍 언어로 씌어진 하나 이상의 애플리케이션 프로그램(210)이 프로세서(204)에 의해 판독가능한 코드로 변환될 수 있도록 허용 하는 컴파일러(212)를 구현한다. 완료 후에, 컴퓨터 프로그램(210)은 컴파일러(212)를 이용하여 발생된 로직과 관계를 이용하여 컴퓨터(202)의 메모리(206)에 저장된 데이터를 액세스 및 조작한다. 컴퓨터(202)는 또한, 선택사항으로서, 모뎀, 위성 링크, 이더넷 카드, 무선 링크, 또는 예를 들어 인터넷이나 기타의 네트워크를 통해 다른 컴퓨터들과 통신하기 위한 기타의 장치와 같은 외부 데이터 통신 장치(230)를 포함한다.
운영 체제(208), 컴퓨터 프로그램(210), 및 컴파일러(212)를 구현하는 명령어들은, 플로피 디스크(224)라고 총체적으로 표시되어 있는 집 드라이브, 플로피 디스크(224), 하드 드라이브, DVD/CD-rom, 디지털 테이프 등과 같은 하나 이상의 고정 또는 탈착가능한 데이터 스토리지 장치를 포함할 수 있는, 예를 들어, 데이터 스토리지 장치(220)와 같은 컴퓨터 판독가능한 매체로 유형적으로 구현될 수 있다. 나아가, 운영 체제(208) 및 컴퓨터 프로그램(210)은, 컴퓨터(202)에 의해 판독 및 실행될 때, 컴퓨터(202)로 하여금 본 발명을 구현하고 및/또는 사용하는데 필요한 단계들을 수행하도록 하는 명령어들을 포함한다. 컴퓨터 프로그램(210) 및/또는 운영 체제(208) 명령어는 또한 메모리(206)에 유형적으로 구현되고, 및/또는 데이터 통신 장치(230)에 의해 전송되거나 액세스될 수 있다. 이와 같이, 용어 "제조 물품", "프로그램 스토리지 장치" 및 "컴퓨터 프로그램 제품"은, 본 명세서에서 사용될 때, 임의의 컴퓨터 판독가능한 장치 또는 매체로부터 액세스가능하거나 및/또는 동작가능한 컴퓨터 프로그램을 포함하는 것으로 의도된다.
본 발명의 실시예들은 대체로, 백업 스토리지를 관리하는 백업 시스템에서와 같이, 데이터 객체(즉, 파일)를 관리하고 네트워크를 통해 프로세스를 복구하는 임의의 소프트웨어 애플리케이션 프로그램(210)에 관한 것이다. 프로그램(210)은 싱글 컴퓨터(202) 내에서 동작하거나, 또는 컴퓨팅 장치들의 네트워크를 포함하는 분산형 컴퓨터 시스템의 일부로서 동작할 수 있다. 네트워크는 (예를 들어 VPN 접속을 통한 공중망 또는 보안망일 수 있는) 근거리 통신망 및/또는 인터넷 접속을 통해 접속된 하나 이상의 컴퓨터들을 포함할 수 있다.
도 2b는 본 발명의 전형적인 실시예에서 채택될 수 있는 전형적인 분산형 컴퓨터 시스템(250)을 예시한다. 이와 같은 시스템(250)은 네트워크(252) 내의 각각의 통신 장치(230)를 통해 상호접속된 복수의 컴퓨터(202)를 포함한다. 네트워크(252)는 전적으로 (비지니스 설비 내의 근거리 통신망과 같은) 사설망일 수 도 있고, 또는 네트워크(252)의 일부 또는 전부는 (인터넷상에서 동작하는 가상 사설 네트워크(VPN)을 통해서와 같은) 공중망으로 존재할 수도 있다. 또한, 컴퓨터(202)들 중 하나 이상은, 나머지 클라이언트 컴퓨터들(256)에 제공되는 다양한 서비스들을 용이하게 해주는 서버 또는 호스트(254)로서 기능하도록 특별히 설계될 수 있다. 한 예에서, 하나 이상의 호스트들은, 클라이언트 컴퓨터들(256)에 대한 중요한 처리가 수행될 수 있는 메인프레임 컴퓨터(258)일 수 있다. 메인프레임 컴퓨터(258)는, 다른 네트워킹된 컴퓨터(202)(서버(254) 및/또는 클라이언트(256))에 대한 복수의 데이터베이스 프로시져를 구현하는 요청 처리기(262)에 결합된 데이터베이스(260)를 포함할 수 있다. 요청 처리기(262)는 또한 SAN을 포함한 네트워킹된 스토리지 장치(268)로의 액세스를 용이하게 해주는 스토리지/백업 서브시스 템(266)을 통해 데이터 액세스를 감독하는 자원 관리자(264)에도 역시 결합된다. 따라서, 컴퓨터(258) 상의 스토리지/백업 서브시스템(266)은 분산형 스토리지 시스템 내의 네트워킹된 스토리지 장치(268) 상에 저장된 클라이언트 컴퓨터(256)의 백업 데이터 객체를 관리하는 백업 서버를 포함한다. SAN은, 별개의 물리적 스토리지 장치(268a-268c)로서 표시된 직접 액세스 스토리지 장치(DASD) 광학 스토리지 및/또는 테이프 스토리지와 같은 장치들을 포함할 수 있다. 다양한 공지된 액세스 방법들(예를 들어, VSAM, BSAM, QSAM)이 스토리지/백업 서브시스템(266)의 일부로서 기능할 수 있다.
당업자라면, 본 발명의 범위로부터 벗어나지 않고도 이 하드웨어 환경에 많은 수정이 이루어질 수 있다는 것을 이해할 것이다. 예를 들어, 당업자라면, 상기 컴포넌트들의 임의의 조합, 또는 임의 갯수의 상이한 컴포넌트들, 주변장치들, 및 기타 장치들이 본 발명과 함께 사용되어, 본 명세서에서 기술된 본 발명의 다양한 실시예들을 지원하고 구현하기 위한 기능적 요건들을 충족할 수 있다.
3. 트랜잭션적으로 일관된 방식의 데이터 보안 삭제
앞서 언급된 바와 같이, 본 발명의 실시예들은 트랜잭션적으로 일관된 방식으로 시스템 내에서 데이터 객체를 보안 삭제함으로써 데이터 백업 시스템과 같은 파일 시스템에서 데이터 보안을 가능케한다. 이것은, 소정의 시간에 적어도 하나의 컴포넌트의 고장에 영향받기 쉬운 조율된 방식으로 동작하는 별개의 컴포넌트들로 구성된 분산형 시스템에서 특히 유용하다. 만일 원하는 실행 트랜잭션(데이터 객체 삽입, 삭제, 또는 이동)의 실행확정이 실패하면 시스템을 초기 상태로 되돌릴수 있도록 허용하는 준비 트랜잭션이 실행확정된다. 따라서, 원하는 실행 트랜잭션이 데이터 객체의 기록을 포함한다면, 데이터 객체의 임의의 데이터가 기록되기 이전에 준비 트랜잭션이 실행확정된다. 만일 원하는 실행 트랜잭션이 데이터 객체의 삭제 또는 이동을 포함한다면, 준비 트랜잭션은 데이터 객체를 논리적으로만 삭제한다(이동 동작의 경우, 논리적 삭제는 제1 스토리지 장소로부터이다). 만일 (기록을 포함한) 원하는 실행 트랜잭션이 실패하면, 이미 기록되었을 수 있는 데이터 객체의 부분적 사본을 제거하는데 필요하다면 보안 삭제가 이용된다. 마찬가지로, 만일 (삭제 또는 이동을 포함한) 원하는 실행 트랜잭션이 성공적이라면, 이동시키고자 했던 데이터 객체의 사본을 제거하는데 필요하다면 보안 삭제가 이용된다. (이동 동작의 경우, 보안 삭제는 제1 스토리지 장소의 데이터 객체에 대해 이용된다). 준비 트랜잭션의 요건은, 원하는 실행 트랜잭션 및 실행 트랜잭션의 실행확정의 성공여부에 의존한다. 본 발명의 전형적 실시예는 이하에서 기술되는 데이터 객체에 대한 3개의 상이한 프로세스들에 의해 예시될 수 있다.
도 3a-3d는, 백업 객체(104)가 시스템 내에 삽입될 때 트랜잭션적으로 일관된 방식의 데이터 보안 삭제를 예시한다. 도 3a는, 시스템 관리자(118)가, 스토리지(108) 내의 할당된 메모리 장소(302)의 식별 및 기타 필요한 파라미터들을 포함하도록 데이터베이스(112)에 준비 트랜잭션(300)을 실행확정하는 제1 단계를 예시한다. 도 3b는 그 다음 단계이다. 도 3a의 준비 트랜잭션(300)을 성공적으로 실행확정한 후에, 시스템 관리자(118)는 데이터 객체(104)가 지정된 장소(302)의 스토리지(108) 내의 데이터 객체(304)에 복사(기록)되도록 실행 트랜잭션(306)의 실행확정을 시작한다. 도 3c는, 스토리지(108)로의 데이터 객체(304)의 기록이 완료되는 실행 트랜잭션(306)을 성공적으로 실행확정한 결과를 예시한다. 도 3d는, 준비 트랜잭션에 대한 레코드의 내용이, 삽입된 데이터 객체(104)의 데이터의 적어도 일부를 가질 수 있는 메모리 장소(308) 상에서 보안 삭제를 수행하기 위해 시스템 관리자(118)에 의해 이용되는, 실행 트랜잭션(306)의 실행확정을 실패한 결과를 예시한다. 데이터베이스(112) 내의 실행 트랜잭션(306)의 레코드(들)은 역시 파괴될 수 있으며 통상의 정비 프로세스하에서 삭제되어야 한다.
도 4a-4d는 트랜잭션적으로 일관된 방식의 시스템(100)으로부터 데이터 객체의 보안 삭제를 예시하고 있다. 이 경우, 데이터 객체(400)는 스토리지(108) 내의 스토리지 장소에서 시작한다. 도 4a는, 데이터 객체의 상태를 논리적으로 삭제된 것으로 변경하여 기저 데이터는 손대지 않은채 어떠한 사용자에게도 액세스불가능하도록 하기 위해 준비 트랜잭션(402)이 먼저 실행확정되는 것을 예시하고 있다. 그 다음, 도 4b는, 준비 트랜잭션(402)이 성공적으로 실행확정된 이후에만 시스템 관리자(118)가 시스템(100)으로부터 데이터 객체(400)를 삭제하여, 데이터베이스(112) 내의 데이터 객체의 모든 기능적 참조(준비 트랜잭션에는 제외)가 제거되도록 하는 실행 트랜잭션(404)의 실행확정을 개시하는 것을 예시한다. 그 다음, 도 4c는 시스템(100)으로부터 데이터 객체(400)를 삭제하는 실행 트랜잭션(404)을 성공적으로 실행확정한 결과를 예시한다. 이를 행한 이후에만 데이터 객체(400)의 스토리지 장소가 보안 삭제되고 준비 트랜잭션(402)의 레코드들이 삭제되어 그 스토리지 장소가 시스템에 의해 재할당될 수 있다. 반면, 도 4d는 실행 트랜잭션(404)의 실행확정이 실패한 결과를 예시하고 있다. 여기서, 데이터 객체(400)의 장소를 포함한 준비 트랜잭션(402)의 레코드는 데이터 객체(400)의 상태를 논리적으로 삭제된 상태로부터 다시 변경하여 시스템을 초기 상태로 되돌리기 위해 이용된다.
도 5a-5d는 트랜잭션적으로 일관된 방식의 보안 삭제를 이용한 시스템(100) 내의 데이터 객체의 이동을 예시한다. 앞서 언급한 바와 같이, 이 프로세스는 본질적으로 전술된 삽입 및 삭제 프로세스를 결합한 것이다. 도 5a는 준비 트랜잭션(500)이 실행확정되어 스토리지(108) 내의 제1 장소의 데이터 객체(502)의 상태를 논리적으로 삭제된 것으로 변경하는 것을 예시하고 있다. 또한, 스토리지(108) 내의 제2 스토리지 장소(504)는 원래의 데이터 객체(502)의 사본에 대해 할당된다. 도 5b에 도시된 바와 같이, 준비 트랜잭션(500)의 성공적 실행확정 이후에만, 시스템 관리자(118)는, 제2 스토리지 장소(504)의 데이터 객체(502)의 사본을 기록하고 (이를 성공적으로 기록한 후에) 시스템(100)으로부터 제1 장소의 원래의 데이터 객체(502)를 삭제하기 위해 실행 트랜잭션(506)의 실행확정을 개시한다. 시스템(100)으로부터 데이터 객체(502)의 삭제는, (준비 단계(500)의 경우만 제외하고) 데이터베이스(112) 내의 모든 참조의 삭제를 수반한다. 도 5c는, 스토리지(108) 내의 제1 장소로부터 제2 장소로 데이터 객체(502)를 이동시키는 실행 트랜잭션(506)을 성공적으로 실행확정한 결과를 예시한다. 실행 트랜잭션(506)을 성공적으로 실행확정한 후에만, 데이터 객체(502)의 제1 스토리지 장소는 보안 삭제될 수 있으며 준비 트랜잭션(500)의 모든 레코드들이 삭제될 수 있다. 이제 제1 스토리지 장소는 시스템에 의한 재할당에 이용가능하게 된다. 도 5d는 실행 트랜잭션(500)의 실행확정이 실패한 경우의 결과를 예시한다. 여기서, 데이터 객체(502)의 제1 장소를 포함한 준비 트랜잭션(500)의 레코드는 데이터 객체(502)의 상태를 논리적으로 삭제된 상태로부터 다시 변경하여 시스템을 초기 상태로 되돌리기 위해 이용된다. 또한, 제2 장소(504)에 기록되었을 수 있는 데이터 객체(502)의 임의의 부분은 이제 보안 삭제된다.
도 6은 본 발명의 예시적 방법(600)의 플로차트이다. 동작(602)에서, 필요하다면 시스템을 초기 상태로 되돌리기 위하여 데이터 객체를 관리하는 시스템 내의 데이터 객체에 대하여 준비 트랜잭션이 먼저 실행확정된다. 동작(604)에서, 준비 트랜잭션을 실행확정한 이후에만 데이터 객체에 대하여 실행 트랜잭션을 성공적으로 완료하기 위한 시도가 이루어진다. 동작(604) 이후에 벌어지는 일은 판정 블럭(606)에 의해 표시된 바와 같이 실행 트랜잭션이 성공하는지(또는 실행확정되는지) 또는 실패하는지(또는 중단되는지)의 여부에 의존할 것이다. 만일 실행 트랜잭션이 실패하면, 동작(608)에서, 기록된 데이터 객체의 임의의 부분은, 시스템을 초기 상태로 되돌리기 위해 필요하다면 보안 삭제될 것이다. 반면, 만일 실행 트랜잭션이 성공적으로 실행확정되었다면, 동작(610)에서, 삭제되어야 하는 데이터 객체의 임의의 부분이 시스템을 완료된 상태로 변경하기 위해 필요하다면 보안 삭제될 것이다. 정확히 보안 삭제되어야 하는 것(있을 경우)은, 이하에서 기술된 바와 같이 연루된 실행 트랜잭션의 타입뿐만 아니라 실행 트랜잭션이 성공적인지의 여부에 의존할 것이다.
동작(608) 하의 삽입 동작에 대하여 실패한 실행 트랜잭션의 경우, 스토리지장소에 기록되었을 수도 있는 데이터 객체의 임의의 부분을 보안 삭제함으로써 시스템을 초기 상태로 되돌리기 위하여 보안 삭제가 수행된다. 동작(610) 하의 삭제 동작에 대하여 성공적인 실행 트랜잭션의 경우, 삭제된 데이터 객체의 스토리지 장소를 보안 삭제함으로써 시스템을 완료된 상태로 변경하기 위해 보안 삭제가 수행된다. 이동 동작에 대한 실행 트랜잭션은 본질적으로 제2 메모리 장소로의 삽입을 동반한 제1 메모리 장소에서의 삭제의 조합이다. 따라서, 이동 동작에 대한 실패한 실행 트랜잭션의 결과, 동작(608) 하에서 제2 장소에 기록되었을 수 있는 데이터 객체의 임의의 부분을 보안 삭제함으로써 시스템을 초기 상태로 되돌리기 위하여 보안 삭제가 수행된다. 이동 동작에 대한 성공적인 실행 트랜잭션의 결과, 제1 장소의 데이터 객체를 보안 삭제함으로써 시스템을 완료된 상태로 변경하기 위하여 보안 삭제가 수행된다.
당업자라면 이해하겠지만, 보안 삭제를 야기하지 않는 일부 경우가 있다는 점에 주목해야 한다. 예를 들어, 삽입에 대한 성공적인 실행 트랜잭션과, 삭제에 대한 실패한 실행 트랜잭션은 데이터 보안을 유지하기 위해 보안 삭제를 요구하지 않을 것이다. 보안 삭제는 데이터 보안을 유지하기 위해 필요한 경우에만 수행될 것이다. 비슷한 방식으로, 보안 삭제의 실제 프로세스는, 지정된 스토리지 장소에서 야기되는 때에조차 필요한 경우에만 이용될 것이다; 보안 삭제 프로세스는 보안 삭제되고 있는 데이터를 모니터링하고 관심대상의 모든 데이터가 보안 삭제된 시점에서 그 프로세스를 보류한다. 이것은, 예를 들어, 데이터 객체의 기록의 그 데이터 객체의 일부를 기록한 후에 실패한 경우에 발생할 수 있다. 기록된 부분만이 보안 삭제를 요구하고 전체 지정된 스토리지 장소에 걸친 보안 삭제를 실행확정할 필요성은 없다.
전체 트랜잭션의 내용은 수행될 실행 트랜잭션의 원하는 목적, 즉, 데이터 객체 삽입, 삭제, 또는 이동에 의존할 것이다. 데이터 객체 삽입의 경우, 준비 트랜잭션은 데이터 객체에 대한 스토리지 장소를 할당하는 것을 포함할 수 있고, 실행 트랜잭션은 데이터 객체를 시스템 내에 삽입하기 위해 데이터 객체를 스토리지 장소에 기록하는 것을 포함한다. 시스템을 초기 상태로 되돌리는 것은 스토리지 장소에 기록된 데이터 객체의 임의의 부분을 보안 삭제하는 것을 포함하고, 시스템을 완료된 상태로 변경하는 것은 스토리지 장소에 데이터 객체를 성공적으로 기록하는 것을 포함한다.
시스템 내의 스토리지 장소에 이미 존재하는 데이터 객체를 삭제하는 기본적인 경우, 준비 트랜잭션은 논리적으로 삭제된 상태를 데이터 객체에 할당하는 것을 포함하고, 실행 트랜잭션은 시스템 내의 데이터 객체를 삭제하는 것을 포함한다. 시스템을 초기 상태로 되돌리는 것은, 데이터 객체를 액세스가능하게 만들기 위해 스토리지 장소의 데이터 객체로부터 논리적으로 삭제된 상태를 제거하는 것을 포함하고, 시스템을 완료된 상태로 변경하는 것은, 스토리지 장소의 데이터 객체를 성공적으로 보안 삭제하는 것을 포함한다.
데이터 객체의 이동의 경우는 삽입 및 삭제 프로세스를 결합한다. 여기서, 준비 트랜잭션은 시스템 내의 제1 스토리지 장소에 존재하는 데이터 객체에 논리적 으로 삭제된 상태를 할당하고 그 데이터 객체에 대하여 시스템 내의 제2 스토리지 장소를 할당하는 것을 포함한다. 실행 트랜잭션은 제1 스토리지 장소로부터 제2 스토리지 장소로 데이터 객체를 복사하고 제1 스토리지 장소의 데이터 객체를 삭제하는 것을 포함한다. 시스템을 초기 상태로 되돌리는 것은, 데이터 객체를 액세스가능하게 만들기 위해 제1 스토리지 장소의 데이터 객체로부터 논리적으로 삭제된 상태를 제거하고 제2 스토리지 장소에 기록된 데이터 객체의 임의의 부분을 보안 삭제하는 것을 포함한다. 시스템을 완료된 상태로 변경하는 것은, 실행 트랜잭션 동안에 제2 스토리지 장소에 데이터 객체를 성공적으로 기록하고 후속하여 제1 스토리지 장소의 데이터 객체를 성공적으로 보안 삭제하는 것을 포함한다.
지금까지는 본 발명의 양호한 실시예들을 포함한 상세한 설명이다. 본 발명의 양호한 실시예를 포함하는 전술된 설명이 예시와 설명을 위해 제시되었다. 이것은 본 발명을 빠짐없이 철저히 드러내거나 공개된 형태 그대로만으로 제한하기 위한 의도는 아니다. 전술된 교시의 범위로부터 벗어나지 않고 많은 수정 및 변형이 가능하다. 이하의 특허청구범위에 개시된 본 발명의 개념으로부터 벗어나지 않고 본 발명의 추가 변형이 고안될 수 있다.

Claims (10)

  1. 데이터 처리 방법에 있어서,
    필요하다면 시스템을 초기 상태로 되돌리기 위하여 데이터 객체를 관리하는 시스템 내에서 데이터 객체에 대한 준비 트랜잭션(preparation transaction)을 실행확정(commit)하는 단계로서, 상기 준비 트랜잭션은 상기 데이터 객체에 논리적으로 삭제된 상태를 할당하는 것을 포함하고, 상기 데이터 객체의 어느 부분도 상기 준비 트랜잭션에 의해 기록되지 않는 것인, 상기 실행확정 단계;
    상기 준비 트랜잭션을 실행확정한 후에만 상기 데이터 객체에 대하여 실행 트랜잭션(execution transaction)의 실행확정(commit)을 시도하는 단계; 및
    상기 실행 트랜잭션의 실행확정이 실패한 경우 상기 시스템을 초기 상태로 되돌리고 상기 실행 트랜잭션의 실행확정이 성공한 경우에만 상기 시스템을 완료된 상태로 변경하기 위해 필요한 상기 데이터 객체의 임의의 부분을 보안 삭제하는 단계
    를 포함하고,
    상기 시스템은, 상기 데이터 객체에 대한 하나 이상의 스토리지 위치들 포함하는 상기 데이터 객체와 연관된 하나 이상의 레코드들을 포함하는 데이터베이스에 실행확정되는 상기 준비 트랜잭션과 상기 실행 트랜잭션으로 관리되는 것이고, 상기 데이터 객체와 연관된 상기 하나 이상의 레코드들은 상기 데이터 객체에 대한 상태를 포함하며, 상기 데이터 객체의 임의의 부분을 보안 삭제하는 것은 알려진 수단에 의해 복구가능하지 않도록 특정한 물리적 위치로부터 데이터를 확실하게(positively) 삭제하는 것인, 데이터 처리 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 준비 트랜잭션은 상기 데이터 객체에 대하여 스토리지 위치를 할당하는 것을 포함하고, 상기 실행 트랜잭션은 상기 데이터 객체를 상기 시스템에 삽입하기 위하여 상기 스토리지 위치에 상기 데이터 객체를 기록하는 것을 포함하며,
    상기 시스템을 상기 초기 상태로 되돌리는 것은 상기 스토리지 위치에 기록된 상기 데이터 객체의 임의의 부분을 보안 삭제하는 것을 포함하고, 상기 시스템을 완료된 상태로 변경하는 것은 상기 데이터 객체를 상기 스토리지 위치에 성공적으로 기록하는 것을 포함하는 것인, 데이터 처리 방법.
  5. 제1항에 있어서, 상기 데이터 객체는 상기 시스템의 스토리지 위치에 존재하고, 상기 실행 트랜잭션은 상기 시스템 내의 데이터 객체를 삭제하는 것을 포함하며,
    상기 시스템을 상기 초기 상태로 되돌리는 것은, 상기 데이터 객체를 액세스가능하게 만들기 위하여 상기 스토리지 위치의 데이터 객체로부터 논리적으로 삭제된 상태를 제거하는 것을 포함하고, 상기 시스템을 완료된 상태로 변경하는 것은, 상기 스토리지 위치의 데이터 객체를 성공적으로 보안 삭제하는 것을 포함하는 것인, 데이터 처리 방법.
  6. 제1항에 있어서, 상기 데이터 객체는 상기 시스템의 제1 스토리지 위치에 존재하고, 상기 데이터 객체에 대하여 상기 시스템의 제2 스토리지 위치를 할당하며, 상기 실행 트랜잭션은, 상기 시스템 내의 상기 제1 스토리지 위치의 데이터 객체를 삭제하고 상기 시스템 내의 상기 제2 스토리지 위치에 상기 데이터 객체를 기록하는 것을 포함하고,
    상기 시스템을 상기 초기 상태로 되돌리는 것은, 상기 데이터 객체를 액세스 가능하게 만들기 위하여 상기 제1 스토리지 위치의 데이터 객체로부터 논리적으로 삭제된 상태를 제거하고 상기 제2 스토리지 위치에 기록된 데이터 객체의 임의의 부분을 보안 삭제하는 것을 포함하고, 상기 시스템을 완료된 상태로 변경하는 것은, 상기 제1 스토리지 위치의 데이터 객체를 성공적으로 보안 삭제하고 상기 제2 스토리지 위치에 상기 데이터 객체를 성공적으로 기록하는 것을 포함하는 것인, 데이터 처리 방법.
  7. 데이터 처리 시스템에 있어서,
    클라이언트로부터의 데이터 객체를 저장하기 위한 데이터 스토리지;
    제1항, 제4항, 제5항, 및 제6항 중 어느 한 항에 따른 방법의 각 단계를 수행함으로써, 상기 클라이언트로부터의 상기 데이터 객체의 스토리지를 관리하는 시스템 관리자
    를 포함하는 데이터 처리 시스템.
  8. 제7항에 있어서, 상기 시스템은 데이터 백업 시스템을 포함하고, 상기 데이터 객체는 저장된 백업 객체를 포함하며, 상기 데이터 스토리지는 백업 저장소를 포함하는 것인, 데이터 처리 시스템.
  9. 제7항에 있어서, 상기 시스템은 네트워킹된 장치들의 분산형 컴퓨터 시스템에 걸쳐 동작하는 것인, 데이터 처리 시스템.
  10. 컴퓨터 상에서 실행될 때 상기 컴퓨터로 하여금 제1항, 제4항, 제5항, 및 제6항 중 어느 한 항의 단계들을 수행하도록 하는 프로그램 명령어를 포함하는 컴퓨터 프로그램을 포함하는, 컴퓨터 판독가능한 기록 매체.
KR1020097017381A 2007-01-23 2008-01-14 트랜잭션 시스템에서의 보안 데이터 삭제 KR101117208B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/626,126 2007-01-23
US11/626,126 US8352448B2 (en) 2007-01-23 2007-01-23 Securely deleting data in a transactionally consistent manner
PCT/EP2008/050321 WO2008090044A2 (en) 2007-01-23 2008-01-14 Secure data deletion in a transaction system

Publications (2)

Publication Number Publication Date
KR20090111850A KR20090111850A (ko) 2009-10-27
KR101117208B1 true KR101117208B1 (ko) 2012-04-17

Family

ID=39539729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097017381A KR101117208B1 (ko) 2007-01-23 2008-01-14 트랜잭션 시스템에서의 보안 데이터 삭제

Country Status (4)

Country Link
US (1) US8352448B2 (ko)
EP (1) EP2106596A2 (ko)
KR (1) KR101117208B1 (ko)
WO (1) WO2008090044A2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015476A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd Cdpリモート構成におけるジャーナル管理方法
EP2302534B1 (en) * 2009-09-18 2017-12-13 Software AG Method for mass-deleting data records of a database system
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
US20130097122A1 (en) * 2011-10-12 2013-04-18 Jeffrey Liem Temporary File Storage System and Method
US9570253B1 (en) 2011-11-28 2017-02-14 Amazon Technologies, Inc. System and method with timing self-configuration
US9749132B1 (en) 2011-11-28 2017-08-29 Amazon Technologies, Inc. System and method for secure deletion of data
US8924664B2 (en) * 2012-12-13 2014-12-30 Infinidat Ltd. Logical object deletion
US9063946B1 (en) 2012-12-14 2015-06-23 Amazon Technologies, Inc. Backoff-based scheduling of storage object deletions
US9727522B1 (en) 2012-12-14 2017-08-08 Amazon Technologies, Inc. Multi-tenant storage service object lifecycle management using transition job objects
US9002805B1 (en) 2012-12-14 2015-04-07 Amazon Technologies, Inc. Conditional storage object deletion
US9355060B1 (en) 2012-12-14 2016-05-31 Amazon Technologies, Inc. Storage service lifecycle policy transition management
US9658983B1 (en) 2012-12-14 2017-05-23 Amazon Technologies, Inc. Lifecycle support for storage objects having multiple durability levels specifying different numbers of versions
US9417917B1 (en) 2012-12-14 2016-08-16 Amazon Technologies, Inc. Equitable resource allocation for storage object deletion
US9052942B1 (en) 2012-12-14 2015-06-09 Amazon Technologies, Inc. Storage object deletion job management
US9652766B1 (en) * 2013-08-22 2017-05-16 Amazon Technologies, Inc. Managing data stored in memory locations having size limitations
US9892276B2 (en) * 2015-11-11 2018-02-13 International Business Machines Corporation Verifiable data destruction in a database
US10552387B1 (en) * 2015-12-15 2020-02-04 Workday, Inc. Managing data using a simulation of purging
US10572448B1 (en) * 2015-12-15 2020-02-25 Workday, Inc. Managing data using purging
US10037242B2 (en) 2016-06-22 2018-07-31 Microsoft Technology Licensing, Llc Failure detection in a processing system
US11113251B2 (en) * 2018-09-05 2021-09-07 Vast Data Ltd. Transaction manager
KR20220125557A (ko) * 2021-03-05 2022-09-14 삼성전자주식회사 보안 데이터 처리 방법 및 장치
CN113923176B (zh) * 2021-09-30 2023-05-23 完美世界(北京)软件科技发展有限公司 即时通讯的消息撤回方法、装置、设备及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314437B1 (en) * 1997-09-30 2001-11-06 Infraworks Corporation Method and apparatus for real-time secure file deletion
US6571259B1 (en) * 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
US20040068501A1 (en) * 2002-10-03 2004-04-08 Mcgoveran David O. Adaptive transaction manager for complex transactions and business process

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01261745A (ja) 1988-04-08 1989-10-18 Internatl Business Mach Corp <Ibm> データ・ベース・レコードのトランザクシヨンの回復方法
JP2966432B2 (ja) * 1989-07-07 1999-10-25 シャープ株式会社 電子機器
JPH0415840A (ja) * 1990-05-10 1992-01-21 Toshiba Corp 分散型データベース管理装置
US5265159A (en) * 1992-06-23 1993-11-23 Hughes Aircraft Company Secure file erasure
US5740349A (en) * 1993-02-19 1998-04-14 Intel Corporation Method and apparatus for reliably storing defect information in flash disk memories
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
US7076784B1 (en) * 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
US6304948B1 (en) * 1998-10-06 2001-10-16 Ricoh Corporation Method and apparatus for erasing data after expiration
US6615219B1 (en) 1999-12-29 2003-09-02 Unisys Corporation Database management system and method for databases having large objects
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
US6567928B1 (en) * 2000-05-23 2003-05-20 International Business Machines Corporation Method and apparatus for efficiently recovering from a failure in a database that includes unlogged objects
KR20030056540A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
US6732171B2 (en) * 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
AU2003262065A1 (en) * 2002-09-10 2004-04-30 Annex Systems Incorporated Database re-organizing system and database
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314437B1 (en) * 1997-09-30 2001-11-06 Infraworks Corporation Method and apparatus for real-time secure file deletion
US6571259B1 (en) * 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
US20040068501A1 (en) * 2002-10-03 2004-04-08 Mcgoveran David O. Adaptive transaction manager for complex transactions and business process

Also Published As

Publication number Publication date
US20080177802A1 (en) 2008-07-24
US8352448B2 (en) 2013-01-08
WO2008090044A2 (en) 2008-07-31
KR20090111850A (ko) 2009-10-27
WO2008090044A3 (en) 2008-11-20
EP2106596A2 (en) 2009-10-07

Similar Documents

Publication Publication Date Title
KR101117208B1 (ko) 트랜잭션 시스템에서의 보안 데이터 삭제
JP3754459B2 (ja) 並列仮想ファイルシステム
US10649954B2 (en) Selective extraction of information from a mirrored image file
US9785518B2 (en) Multi-threaded transaction log for primary and restore/intelligence
US6857053B2 (en) Method, system, and program for backing up objects by creating groups of objects
US6366988B1 (en) Systems and methods for electronic data storage management
US6389433B1 (en) Method and system for automatically merging files into a single instance store
JP4219589B2 (ja) トランザクショナルファイルシステム
US7877357B1 (en) Providing a simulated dynamic image of a file system
US7933927B2 (en) Method and apparatus for building index of source data
US6898600B2 (en) Method, system, and program for managing database operations
US8095751B2 (en) Managing set of target storage volumes for snapshot and tape backups
US20030163493A1 (en) System and method for restoring a file system from backups in the presence of deletions
CA2326152C (en) Indication of failure in a transaction processing system
US8464018B2 (en) Resource management for data storage services
US20020065834A1 (en) Maintenance of data integrity during transfer among computer networks
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
Kumar et al. Database recovery
Shumway Issues in on-line backup
US11593215B2 (en) Method and system for generating immutable backups with configurable retention spans
US11550666B1 (en) Efficient mechanism to perform auto retention locking of files ingested via distributed segment processing in deduplication backup servers
US20230306005A1 (en) System and method for protecting data in a back-up appliance using shallow metadata copying
WO2016028757A2 (en) Multi-threaded transaction log for primary and restore/intelligence

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
LAPS Lapse due to unpaid annual fee