KR100959306B1 - 중복 데이터 탐색 시스템 및 방법 - Google Patents

중복 데이터 탐색 시스템 및 방법 Download PDF

Info

Publication number
KR100959306B1
KR100959306B1 KR1020047010716A KR20047010716A KR100959306B1 KR 100959306 B1 KR100959306 B1 KR 100959306B1 KR 1020047010716 A KR1020047010716 A KR 1020047010716A KR 20047010716 A KR20047010716 A KR 20047010716A KR 100959306 B1 KR100959306 B1 KR 100959306B1
Authority
KR
South Korea
Prior art keywords
data segment
identifier
data
segment
function
Prior art date
Application number
KR1020047010716A
Other languages
English (en)
Other versions
KR20040076885A (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 KR20040076885A publication Critical patent/KR20040076885A/ko
Application granted granted Critical
Publication of KR100959306B1 publication Critical patent/KR100959306B1/ko

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 중복 데이터 탐색 방법(200) 및 시스템(100)에 관한 것이다. 상기 방법(200)은, 고유 식별자 함수를 사용하여 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계(212)와; 상기 고유 식별자 함수를 사용하여 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계(216); 및 상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그먼트와 실질적으로 동일한지 여부를 판정하기 위하여 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 비교하는 단계(220)를 포함한다.

Description

중복 데이터 탐색 시스템 및 방법{SYSTEM AND METHOD FOR SEARCHING FOR DUPLICATE DATA}
본 발명은 일반적으로 기록 시스템에 관한 것이며, 더 상세하게는 하드 드라이브 및 기록가능 광 디스크와 같은 디스크 매체 상에 디지털로 인코딩된 신호를 기록하는 멀티미디어 기록 시스템에 관한 것이다.
현재, 많은 형태의 데이터가 매우 여러가지 타입의 저장 매체 상으로 기록될 수 있다. 예를 들어, 많은 소비자들은 텔레비전 프로그램이나 노래를 광 디스크 매체나 하드 디스크 드라이브(HDD)에 기록하고 있다. 기술이 발전함에 따라, 광 디스크 매체 및 HDD의 저장 용량은 크게 증가하였다. 실제로, 몇몇 HDD는 50 기가바이트가 넘는 데이터를 충분히 저장할 수 있다. 이와 같이, 소비자는 이런 타입의 저장 매체 상에 대량의 프로그램이나 음악을 기록할 수 있다.
데이터가 기록가능 저장 매체 상으로 기록될 때, 기록가능 저장 매체 디바이스는 일반적으로 사용자가 기록된 내용을 식별하려는 목적으로 타이틀(title)을 입력할 수 있도록 허용한다. 이들 타이틀은 사용자가 특정한 기록 데이터 단편을 찾아서 이러한 데이터를 이전에 기록하였는지 여부를 판정하고자 할 때 유용할 수 있다. 그러나 중요한 점은, 이러한 탐색 프로세스는 힘들고, 비효율적이며, 에러가 생기기 쉬울 수 있는데, 이는 저장 매체가 수백 또는 심지어 수천의 타이틀을 포함할 수 있기 때문이다. 이런 문제는 저장 매체가 대용량 HDD 이거나 또는 특정 데이터 세그먼트의 타이틀이 소정의 디폴트 타이틀인 경우에는 특히 심각할 수 있다.
저장 매체 상의 데이터 세그먼트가 타이틀 탐색에 의해 상대적으로 쉽게 찾아질 수 있다고 가정하는 경우조차, 특정 타이틀은 서로 다른 데이터 세그먼트들에 대해 동일할 수 있다. 예컨대, 하나의 노래가 저장 매체 상에 기록되어 있고 그 노래의 명칭에 기초하는 타이틀이 주어진 경우, 이 첫번째 노래의 명칭과 동일한 명칭을 가지는 두번째 노래가 추후에 기록될 수 있다. 이러한 혼란은 예컨대 두 별개의 가수가 동일한 노래의 상이한 버전을 리코딩한 경우에 발생할 수 있다. 두번째 노래를 기록할 때, 사용자는 이전에 기록된 노래들의 타이틀을 체크할 수 있고 이 두번째 노래가 이미 기록되어 있다고 잘못 간주할 수 있다. 따라서, 시스템 비용이나 복잡성을 증가시킴없이 중복 데이터를 탐색하기 위한, 그리고 중복 데이터를 탐색할 때 및 중복 데이터의 삭제를 고려할 때의 에러 가능성을 더욱 감소시키기 위한 시스템 및 방법에 대한 필요성이 존재한다.
본 발명은 중복 데이터 탐색 방법에 관한 것이다. 상기 방법은: 고유 식별자 함수를 사용하여 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계와; 상기 고유 식별자 함수를 사용하여 제 2 데이터 세그먼트의 적어도 상응하는 일부분으로부터 적어도 하나의 식별자를 생성하는 단계; 및 상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그럼트와 실질적으로 동일한지 여 부를 판정하기 위하여 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 비교하는 단계를 포함한다.
일 실시예에서, 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계는, 상기 제 1 데이터 세그먼트가 저장 매체 상에 기록될 때 또는 상기 제 1 데이터 세그먼트가 상기 저장 매체 상에 기록된 후에, 고유 식별자 함수를 사용하여 상기 제 1 데이터 세그먼트의 상기 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계를 포함할 수 있다. 덧붙여서, 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 상기 단계는, 상기 제 2 데이터 세그먼트가 상기 저장 매체 상에 기록될 때, 상기 고유 식별자 함수를 사용하여 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계를 포함할 수 있다. 더 나아가, 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 상기 단계는, 상기 제 2 데이터 세그먼트가 다른 저장 매체 상에 기록될 때 발생할 수 있다.
일 양상에 있어서, 상기 제 1 데이터 세그먼트와 상기 제 2 데이터 세그먼트는 멀티미디어 데이터 세그먼트일 수 있다. 본 방법은, 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 테이블 내에 저장하는 단계; 및 상기 비교 단계 이전에 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 테이블로부터 검색하는 단계를 더 포함할 수 있다. 덧붙여서, 본 방법은, 상기 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 상기 제 2 데이터 세그먼 트와 연관된 적어도 하나의 식별자와 일치할 때, 상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그먼트와 실질적으로 동일하다는 표시를 제공하는 단계를 포함할 수 있다.
다른 실시예에서, 상기 제 1 데이터 세그먼트의 상기 적어도 일부분 및 상기 제 2 데이터 세그먼트의 상기 적어도 일부분의 크기는 시간적인 수치 또는 비트 수치에 기초될 수 있다. 상기 제 1 데이터 세그먼트의 상기 적어도 일부분은 상기 제 2 데이터 세그먼트의 상기 적어도 일부분과 시간적으로 또는 비트 단위로(bit by bit) 상응할 수 있다. 다른 양상에서, 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자는 해시값(hash value)일 수 있고, 상기 고유 식별자 함수는 해시 함수(hash function)일 수 있으며, 여기서 상기 제 1 데이터 세그먼트와 상기 제 2 데이터 세그먼트가 동일할 경우 상기 제 1 데이터 세그먼트와 연관된 하나의 해시값이 상기 제 2 데이터 세그먼트와 연관된 하나의 해시값과 동일하다.
또한, 상기 비교 단계는, 상기 제 1 데이터 세그먼트가 실질적으로 상기 제 2 데이터 세그먼트와 동일한지 여부를 판정하기 위하여, 상기 제 1 데이터 세그먼트와 연관된 복수의 식별자와 상기 제 2 데이터 세그먼트와 연관된 복수의 식별자를 비교하는 단계를 포함할 수 있다. 더 나아가, 상기 비교 단계는, 제 1 세트의 데이터 세그먼트가 실질적으로 제 2 세트의 데이터 세그먼트와 동일한지 여부를 판정하기 위하여, 상기 제 1 세트의 데이터 세그먼트와 연관된 복수의 식별자와 상기 제 2 세트의 데이터 세그먼트와 연관된 복수의 식별자를 비교하는 단계를 포함할 수 있다.
본 발명은 또한 중복 데이터 탐색 시스템에 관한 것이다. 본 시스템은, 저장 매체에서 데이터를 판독하고 또한 상기 저장 매체로 데이터를 쓰기 위한 제어기와; 프로세서를 포함하는데, 상기 프로세서는: 고유 식별자 함수를 사용하여 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하고; 상기 고유 식별자 함수를 사용하여 제 2 데이터 세그먼트의 적어도 상응하는 일부분으로부터 적어도 하나의 식별자를 생성하고; 및 상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그럼트와 실질적으로 동일한지 여부를 판정하기 위하여 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 비교하도록 프로그래밍된다. 본 시스템은 또한 상기에 기술된 바와 같은 방법들을 구현하기 위한 적절한 소프트웨어와 회로를 포함한다.
도 1은 본 발명의 실시예들에 따른 중복 데이터를 탐색할 수 있는 시스템의 블록도.
도 2는 본 발명의 실시예들에 따른 중복 데이터 탐색 동작을 예시하는 흐름도.
본 발명의 실시예들에 따른 다양한 개선된 동작 특징들을 구현하기 위한 시스템(100)이 도 1에서 블록도 형태로 도시되어 있다. 그러나, 본 발명은 디지털 방 식으로 인코딩된 신호를 수신할 수 있는 임의의 다른 시스템에서도 실시될 수 있기 때문에, 본 발명은 도 1에 예시된 구체적인 시스템으로 국한되지 않는다. 덧붙여서, 디지털 방식으로 인코딩된 데이터를 저장할 수 있는 임의의 저장 매체가 상기 시스템(100)과 함께 사용될 수 있기 때문에, 상기 시스템(100)은 임의의 구체적인 타입의 저장 매체에서 데이터를 판독하거나 데이터를 쓰는 것으로 국한되지 않는다.
시스템(100)은 저장매체(112)에서 데이터를 판독하고 쓰는 제어기(110)를 포함할 수 있다. 제어기는 또한 다른 저장 매체나 메모리(120)에서 데이터를 판독하고 쓸 수 있다. 시스템(100)은 또한 마이크로프로세서(114), 테이블 또는 메모리(116) 및 디스플레이(118)를 구비할 수 있다. 마이크로프로세서(114)로 하여금 제어기(110)와 디스플레이(118)의 동작을 제어하도록 허용하고 테이블(116) 내에 저장되어 있는 정보를 검색하도록 허용하기 위하여 제어 및 데이터 인터페이스도 또한 제공될 수 있다. 마이크로프로세서(114)에 의해 수행되는 통상적인 동작을 위해 메모리 내에 적절한 소프트웨어나 펌웨어가 제공될 수 있다. 또한, 본 발명의 실시예들에 따른 프로그램 루틴들이 마이크로프로세서(114)를 위하여 제공될 수 있다. 더 나아가, 임의의 다른 적절한 소프트웨어나 회로들이 마이크로프로세서(114) 대신 사용될 수 있다.
동작시, 제어기(110)는 저장 매체(112)에 제 1 데이터 세그먼트를 쓸 수 있다. 일 실시예에서, 제 1 데이터 세그먼트가 저장 매체(112)에 기록될 때, 마이크로프로세서(114)는 고유 식별자 함수를 사용하여 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성할 수 있다. 일단 마이크로프로세서(114)가 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하면, 마이크로프로세서(114)는 이 적어도 하나의 식별자를 테이블(116)로 전송할 수 있다. 다른 실시예에서, 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자는 제 1 데이터 세그먼트가 저장 매체(112)에 기록 완료된 후 아무때나 생성될 수 있다.
마이크로프로세서(114)는 또한 고유 식별자 함수를 사용하여 제 2 데이터 세그먼트의 적어도 상응하는 일부분에 대하여 적어도 하나의 식별자를 생성할 수 있다. 마이크로프로세서(114)는 제 2 데이터 세그먼트가 저장 매체(112)에 기록될 때, 또는 대안적으로, 제 2 데이터 세그먼트가 메모리(120)에 저장될 때, 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자를 생성할 수 있다. 이해하여야 할 점은, 메모리(120)는 디지털 방식으로 인코딩된 데이터를 저장하기 위한 임의의 적절한 메모리 형태일 수 있다는 점이다.
일단 생성되면, 마이크로프로세서(114)는 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자를 테이블(116)로부터 검색할 수 있다. 마이크로프로세서(114)는 그후, 제 1 데이터 세그먼트가 실질적으로 제 2 데이터 세그먼트와 동일한지 여부를 판정하기 위하여, 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자를 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자와 비교할 수 있다. 만약 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 제 2 데이터 세그먼트에 대한 적어도 하나의 식별자와 일치하면, 제 1 데이터 세그먼트는 제 2 데이터 세그먼트 와 완전히 동일하지는 않더라도 실질적으로 동일하다. 그후 마이크로프로세서(114)는 사용자에게 두 데이터 세그먼트가 동일하다는 표시를 디스플레이(118)를 통해 제공할 수 있다. 본 발명의 전체적인 동작은 아래에서 더 상세하게 논의될 것이다.
중복 데이터 탐색
도 2는 중복 또는 동일 데이터 탐색을 위한 동작을 예시하는 흐름도(200)를 도시한다. 단계(210)에서 프로세스가 시작될 수 있다. 단계(212)에서 도시된 바와 같이, 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자가 고유 식별자 함수를 사용하여 생성될 수 있다. 이 식별자는 제 1 데이터 세그먼트가 저장 매체에 기록될 때 생성될 수 있다. 반대로, 상기 식별자는 제 1 데이터 세그먼트가 저장 매체에 기록 완료된 이후 아무때나 생성될 수 있다.
제 1 데이터 세그먼트는 텍스트-기반 데이터, 오디오, 비디오 또는 이들의 임의의 조합을 포함하는 임의의 적절한 데이터 타입 또는 임의의 다른 적절한 데이터 형태일 수 있다. 제 1 데이터 세그먼트는 또한 암호화된 또는 비-암호화된 데이터 세그먼트일 수 있다. 또한 식별자는, 제 1 데이터 세그먼트의 비-인접 또는 비-연속 부분들을 포함하여, 제 1 데이터 세그먼트의 임의의 부분으로부터 생성될 수 있다. 더 나아가, 하나보다 더 많은 식별자가 제 1 데이터 세그먼트 내에 포함되어 있는 데이터의 임의의 부분으로부터 생성될 수 있다. 식별자가 생성될 수 있는 데이터 부분의 크기는 시간적인 수치 또는 비트 수치에 기초될 수 있다.
일예로서, 만약 제 1 데이터 세그먼트가 노래라면, 상기 적어도 일부분은 제 1 데이터 세그먼트 전체를 포함하는 방식으로, 식별자는 전체 노래로부터 생성될 수 있다. 다른 예로서, 상기 노래는 두 개의 개별 부분 즉 시작 부분 및 종결 부분으로 분리될 수 있다. 만약 상기 노래의 이들 부분들 둘 모두의 크기가 시간적인 수치에 기초될 것이라면, 시작 부분은 상기 노래의 처음 30초를 포함할 수 있고 종결부분은 상기 노래의 마지막 30초를 포함할 수 있다. 본 발명의 실시예에 따라, 상기 노래의 이들 두 부분은 결합될 수 있고 적어도 하나의 식별자가 이 결합된 부분으로부터 생성될 수 있다. 이런 식으로 하여, 데이터 세그먼트 마다 하나 이상의 식별자가 다른 데이터 세그먼트와 연관된 상응하는 개수의 식별자와의 비교를 위해 사용될 수 있다.
본 예를 계속 참조하면, 두 개의 개별적인 식별자가 동일한 노래로부터 생성되는 방식으로 하나의 식별자가 상기 노래의 두 부분 모두로부터 생성될 수 있다. 대안적으로, 하나의 식별자가 상기 시작부분과 종결부분 사이의 시간적인 수치로부터 생성될 수 있다. 더 나아가, 만약 적어도 하나의 데이터 부분의 크기가 비트 수치에 기초되어 있다면, 식별자는 예컨대 상기 노래의 처음 1 Mb 데이터로부터 생성될 수 있다. 그러나, 주목되는 점은, 임의의 개수의 식별자들이 임의의 적절한 타입의 제 1 데이터 세그먼트 중 임의의 개수의 부분들(상기 적어도 일부분이 제 1 데이터 세그먼트 전체를 포함하는 경우를 포함하여)로부터 생성될 수 있으므로, 본 발명이 상기 예들에만 국한되는 것이 아니라는 점이다.
다시 흐름도(200)를 참조하면, 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자는, 단계(214)에서 보여지는 바와 같이, 테이블 내에 저장되는 것이 바람직할 수 있다. 단계(216)에서, 제 2 데이터 세그먼트의 적어도 일부분으로부터 고 유 식별자 함수를 사용하여 적어도 하나의 식별자가 생성될 수 있다. 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자 생성은 제 1 데이터 세그먼트와 관련하여 논의된 프로세스에 따라 이루어질 수 있다{단계(212)에 대한 논의를 참조}. 그러나, 정확성을 증가시키기 위하여, 적어도 하나의 식별자가 생성되는 제 2 데이터 세그먼트 부분(들)은 제 1 데이터 세그먼트의 상기 적어도 일부분에 상응할 수 있다. 이러한 상응성은 시간 기반 또는 비트 단위 기반일 수 있다.
예컨대, 만약 제 1 데이터 세그먼트가 노래이고 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 전체 노래로부터 생성된다면(상기 적어도 일부분은 제 1 데이터 세그먼트 전체를 포함한다), 정확성을 최대화하기 위하여, 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자는 전체 노래로부터 생성될 수 있다(제 2 데이터 세그먼트도 실제로 노래라는 가정하에). 다른 예로서, 만약 제 1 데이터 세그먼트의 적어도 일부분이 처음 1 Mb의 데이터를 포함하며 제 1 세그먼트와 연관된 적어도 하나의 식별자가 이 부분에서부터 생성된다면, 제 2 데이터 세그먼트 중 처음 1 Mb의 데이터로부터 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자를 생성하는 것이 바람직하다.
일 실시예에서, 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자는, 제 2 데이터 세그먼트가 상기 제 1 데이터 세그먼트가 기록되어 있는 동일한 저장 매체로 기록될 때 생성될 수 있다. 반대로, 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자는, 제 2 데이터 세그먼트가 다른 저장 매체로 기록될 때 생성될 수 있다.
단계(218)에서, 일단 적절한 식별자 또는 식별자들이 제 2 데이터 세그먼트로부터 생성되었으면, 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 메모리로부터, 바람직하게는 테이블로부터 검색될 수 있다. 단계(220)에서, 제 1 데이터 세그먼트가 제 2 데이터 세그먼트와 실질적으로 동일한지 여부를 판정하기 위하여, 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자는 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자와 비교될 수 있다. 만약 식별자들이 동일하다면, 제 1 데이터 세그먼트는 제 2 데이터 세그먼트와 실질적으로 항상 동일하다. 결정 블록(222)에서, 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 제 2 세그먼트와 연관된 적어도 하나의 식별자와 일치할 때, 단계(224)에서 보여지는 바와 같이, 사용자는 제 1 데이터 세그먼트가 제 2 데이터 세그먼트와 실질적으로 동일하다는 표시를 제공받는다. 또한 단계(226)에서, 비교 단계를 위해 저장 매체에 기록되었던 제 2 데이터 세그먼트의 부분은 사용자에 의해 선택적으로 또는 자동적으로 중 어느 하나로 삭제될 수 있다. 상기 프로세스는 단계(228)에서 종료될 수 있다.
일 실시예에서, 상기 적어도 하나의 식별자는 해시값(hash value)일 수 있다. 덧붙여서, 상기 고유 식별자 함수는 해시 함수(hash function)일 수 있다. 제 1 데이터 세그먼트와 연관된 해시값은, 제 1 데이터 세그먼트가 제 2 데이터 세그먼트와 동일하거나 실질적으로 동일할 때, 제 2 데이터 세그먼트와 연관된 해시값과 동일할 수 있다. 본 발명을 실시하는데 사용될 수 있는 몇가지 해시 함수들 중 일예는, 배타적-논리합(exclusive-or) 함수이다. 그러나 이해될 점은, 임의의 적절 한 해시 함수가 사용될 수 있기 때문에, 본 발명이 이러한 구체적인 해시 함수에만 국한되는 것이 아니라는 점이다.
비록 본 발명이 본 명세서에서 개시된 실시예들과 관련하여 기술되었으나, 상기 상세한 설명은 예시 목적이며, 청구범위에 의해 정의된 바와 같은 본 발명의 범위를 제한하려고 의도되는 것이 아니라는 점이 이해되어야 한다.
상술한 바와 같이, 본 발명은 일반적으로 기록 시스템에 이용가능하며, 더 상세하게는 하드 드라이브 및 기록가능 광 디스크와 같은 디스크 매체 상에 디지털로 인코딩된 신호를 기록하는 멀티미디어 기록 시스템 등에 이용 가능하다.

Claims (26)

  1. 중복 데이터 탐색 방법으로서,
    고유 식별자 함수를 사용하여 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계와;
    상기 고유 식별자 함수를 사용하여 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계; 및
    상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그먼트와 실질적으로 동일한지 여부를 판정하기 위하여 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 비교하는 단계를
    포함하되,
    상기 비교하는 단계는 데이터 세그먼트의 중복에 대한 임의의 판정 이전에 수행되고,
    상기 제 1 데이터 세그먼트의 상기 적어도 일부분 및 상기 제 2 데이터 세그먼트의 상기 적어도 일부분은 시간적인(temporal) 기초와 비트 단위의(bit by bit) 기초 중 적어도 하나를 기초로 상응하는, 중복 데이터 탐색 방법.
  2. 제 1 항에 있어서, 상기 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 상기 단계는, 상기 제 1 데이터 세그먼트가 저장 매체 상에 기록될 때, 상기 고유 식별자 함수를 사용하여 상기 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계를 포함하는, 중복 데이터 탐색 방법.
  3. 제 2 항에 있어서, 상기 제 2 데이터 세그먼트의 적어도 일부분으로부터 적 어도 하나의 식별자를 생성하는 상기 단계는, 상기 제 2 데이터 세그먼트가 상기 저장 매체 상에 기록될 때, 상기 고유 식별자 함수를 사용하여 상기 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계를 포함하는, 중복 데이터 탐색 방법.
  4. 제 2 항에 있어서, 상기 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 상기 단계는, 상기 제 2 데이터 세그먼트가 다른 저장 매체 상에 기록될 때, 상기 고유 식별자 함수를 사용하여 상기 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하는 단계를 포함하는, 중복 데이터 탐색 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서, 상기 제 1 데이터 세그먼트와 상기 제 2 데이터 세그먼트는 멀티미디어 데이터 세그먼트인, 중복 데이터 탐색 방법.
  9. 제 1 항에 있어서,
    상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 테이블 내에 저장하는 단계; 및
    상기 비교 단계 이전에 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 테이블로부터 검색하는 단계를
    더 포함하는, 중복 데이터 탐색 방법.
  10. 제 1 항에 있어서, 상기 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 상기 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자와 일치할 때, 상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그먼트와 실질적으로 동일하다는 표시를 제공하는 단계를 더 포함하는, 중복 데이터 탐색 방법.
  11. 삭제
  12. 삭제
  13. 제 1 항에 있어서, 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자는 해시값(hash value)이며, 상기 고유 식별자 함수는 해시 함수(hash function)이고, 여기서 상기 제 1 데이터 세그먼트와 상기 제 2 데이터 세그먼트가 동일할 경우 상기 제 1 데이터 세그먼트와 연관된 하나의 해시값이 상기 제 2 데이터 세그먼트와 연관된 하나의 해시값과 동일한, 중복 데이터 탐색 방법.
  14. 제 1 항에 있어서, 상기 비교 단계는, 상기 제 1 데이터 세그먼트가 실질적으로 상기 제 2 데이터 세그먼트와 동일한지 여부를 판정하기 위하여, 상기 제 1 데이터 세그먼트와 연관된 복수의 식별자와 상기 제 2 데이터 세그먼트와 연관된 복수의 식별자를 비교하는 단계를 포함하는, 중복 데이터 탐색 방법.
  15. 제 1 항에 있어서, 상기 비교 단계는, 제 1 세트의 데이터 세그먼트가 실질적으로 제 2 세트의 데이터 세그먼트와 동일한지 여부를 판정하기 위하여, 상기 제 1 세트의 데이터 세그먼트와 연관된 복수의 식별자와 상기 제 2 세트의 데이터 세그먼트와 연관된 복수의 식별자를 비교하는 단계를 포함하는, 중복 데이터 탐색 방법.
  16. 중복 데이터 탐색 시스템으로서,
    저장 매체에서 데이터를 판독하고 또한 상기 저장 매체로 데이터를 쓰기 위한 제어기와;
    상기 제어기에 연결된 프로세서로서:
    제 1 데이터 세그먼트가 저장 매체 상에 기록될 때, 고유 식별자 함수를 사용하여 상기 제 1 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하고;
    제 2 데이터 세그먼트가 상기 저장 매체 상에 기록될 때, 상기 고유 식별자 함수를 사용하여 상기 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하고,
    상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그먼트와 실질적으로 동일한지 여부를 판정하기 위하여 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 비교하도록 프로그래밍되는, 프로세서를
    포함하되,
    상기 비교는 데이터 세그먼트의 중복에 대한 임의의 판정 이전에 수행되는, 중복 데이터 탐색 시스템.
  17. 삭제
  18. 삭제
  19. 제 16 항에 있어서, 상기 프로세서는, 상기 제 2 데이터 세그먼트가 다른 저장 매체 상에 기록될 때, 상기 고유 식별자 함수를 사용하여 상기 제 2 데이터 세그먼트의 적어도 일부분으로부터 적어도 하나의 식별자를 생성하도록 더 프로그래밍되는, 중복 데이터 탐색 시스템.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 제 16 항에 있어서, 상기 제 1 데이터 세그먼트와 상기 제 2 데이터 세그먼트는 멀티미디어 데이터 세그먼트인, 중복 데이터 탐색 시스템.
  24. 제 16 항에 있어서, 테이블을 더 포함하고, 여기서 상기 프로세서는,
    상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 테이블 내에 저장하고; 또한
    상기 비교 단계 이전에 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자를 상기 테이블로부터 검색하도록
    더 프로그래밍되는, 중복 데이터 탐색 시스템.
  25. 제 16 항에 있어서, 상기 프로세서는, 상기 제 1 데이터 세그먼트와 연관된 적어도 하나의 식별자가 상기 제 2 데이터 세그먼트와 연관된 적어도 하나의 식별자와 일치할 때, 상기 제 1 데이터 세그먼트가 상기 제 2 데이터 세그먼트와 실질적으로 동일하다는 표시를 제공하도록 더 프로그래밍되는, 중복 데이터 탐색 시스템.
  26. 제 16 항에 있어서, 상기 제 1 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자와 상기 제 2 데이터 세그먼트와 연관된 상기 적어도 하나의 식별자는 해시값(hash value)이며, 상기 고유 식별자 함수는 해시 함수(hash function)이고, 여기서 상기 프로세서는 상기 제 1 데이터 세그먼트와 연관된 하나의 해시값이 상기 제 2 데이터 세그먼트와 연관된 하나의 해시값과 동일하면 상기 제 1 데이터 세그먼트와 상기 제 2 데이터 세그먼트가 실질적으로 동일하다는 것을 나타내는 것이라고 판정하는, 중복 데이터 탐색 시스템.
KR1020047010716A 2002-01-17 2003-01-15 중복 데이터 탐색 시스템 및 방법 KR100959306B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/051,999 US6795903B2 (en) 2002-01-17 2002-01-17 System and method for searching for duplicate data
US10/051,999 2002-01-17
PCT/US2003/001194 WO2003062996A1 (en) 2002-01-17 2003-01-15 System and method for searching for duplicate data

Publications (2)

Publication Number Publication Date
KR20040076885A KR20040076885A (ko) 2004-09-03
KR100959306B1 true KR100959306B1 (ko) 2010-05-26

Family

ID=21974742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047010716A KR100959306B1 (ko) 2002-01-17 2003-01-15 중복 데이터 탐색 시스템 및 방법

Country Status (9)

Country Link
US (1) US6795903B2 (ko)
EP (1) EP1466251A4 (ko)
JP (2) JP4350521B2 (ko)
KR (1) KR100959306B1 (ko)
CN (1) CN100573471C (ko)
MX (1) MXPA04006924A (ko)
MY (1) MY132104A (ko)
TW (1) TWI221993B (ko)
WO (1) WO2003062996A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795903B2 (en) * 2002-01-17 2004-09-21 Thomas Licensing S.A. System and method for searching for duplicate data
US9535624B1 (en) * 2004-09-13 2017-01-03 EMC IP Holding Company LLC Duplicate management
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8752199B2 (en) * 2006-11-10 2014-06-10 Sony Computer Entertainment Inc. Hybrid media distribution with enhanced security
US8739304B2 (en) * 2006-11-10 2014-05-27 Sony Computer Entertainment Inc. Providing content using hybrid media distribution scheme with enhanced security
WO2008070688A1 (en) 2006-12-04 2008-06-12 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
US7987531B2 (en) * 2007-02-27 2011-08-02 West Paul E Portable floating hot tub
KR100905218B1 (ko) * 2007-04-09 2009-07-01 삼성전자주식회사 애드혹 네트워크에서 콘텐츠 중복 검출 방법
US8737314B2 (en) 2008-02-14 2014-05-27 Qualcomm Incorporated Traffic management for multi-hop wireless communication
US8767541B2 (en) * 2008-02-14 2014-07-01 Qualcomm Incorporated Scheduling policy-based traffic management
US8964651B2 (en) * 2008-02-14 2015-02-24 Qualcomm Incorporated Traffic management employing interference management messages
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8166263B2 (en) 2008-07-03 2012-04-24 Commvault Systems, Inc. Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
EP2329378A4 (en) 2008-09-26 2015-11-25 Commvault Systems Inc SYSTEMS AND METHODS FOR MANAGING SINGLE-INSTANCE DATA
US8412677B2 (en) 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8578120B2 (en) 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US20110055471A1 (en) * 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
WO2012045023A2 (en) 2010-09-30 2012-04-05 Commvault Systems, Inc. Archiving data objects using secondary copies
US9246882B2 (en) * 2011-08-30 2016-01-26 Nokia Technologies Oy Method and apparatus for providing a structured and partially regenerable identifier
US9020890B2 (en) 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9104560B2 (en) 2012-06-13 2015-08-11 Caringo, Inc. Two level addressing in storage clusters
US8762353B2 (en) * 2012-06-13 2014-06-24 Caringo, Inc. Elimination of duplicate objects in storage clusters
US8799746B2 (en) 2012-06-13 2014-08-05 Caringo, Inc. Erasure coding and replication in storage clusters
US9633022B2 (en) 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US10324897B2 (en) 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
CN104820851A (zh) * 2015-05-04 2015-08-05 柳州市瑞日信息科技有限公司 生成产品序列号的装置
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US10203953B2 (en) * 2017-02-24 2019-02-12 Microsoft Technology Licensing, Llc Identification of duplicate function implementations
US10700711B1 (en) 2017-11-03 2020-06-30 Caringo Inc. Multi-part upload and editing of erasure-coded objects

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061563A1 (en) * 2000-02-18 2001-08-23 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202982A (en) * 1990-03-27 1993-04-13 Sun Microsystems, Inc. Method and apparatus for the naming of database component files to avoid duplication of files
JP3036099B2 (ja) * 1991-01-30 2000-04-24 日本電気株式会社 データ管理方法
AU5386796A (en) * 1995-04-11 1996-10-30 Kinetech, Inc. Identifying data in a data processing system
JP2686064B2 (ja) * 1996-05-28 1997-12-08 株式会社東芝 データ情報検索装置
US6763523B1 (en) * 1998-04-03 2004-07-13 Avid Technology, Inc. Intelligent transfer of multimedia data files from an editing system to a playback device
US6292880B1 (en) 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6389433B1 (en) * 1999-07-16 2002-05-14 Microsoft Corporation Method and system for automatically merging files into a single instance store
US6477544B1 (en) * 1999-07-16 2002-11-05 Microsoft Corporation Single instance store for file systems
JP2000331090A (ja) * 1999-12-22 2000-11-30 Oricon Direct Digital:Kk 音楽配信用の選曲支援システム及び選曲配信方法
US6704730B2 (en) * 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
AU2001288469A1 (en) * 2000-08-28 2002-03-13 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
US6795903B2 (en) * 2002-01-17 2004-09-21 Thomas Licensing S.A. System and method for searching for duplicate data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001061563A1 (en) * 2000-02-18 2001-08-23 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
KR20020082851A (ko) * 2000-02-18 2002-10-31 아바마르 테크놀로지스, 인크. 공유성 팩토링 시스템에 사용하기 위한 해시 파일 시스템및 방법

Also Published As

Publication number Publication date
JP2005516324A (ja) 2005-06-02
MXPA04006924A (es) 2004-12-06
JP2009187654A (ja) 2009-08-20
CN100573471C (zh) 2009-12-23
US20030135700A1 (en) 2003-07-17
TW200302421A (en) 2003-08-01
MY132104A (en) 2007-09-28
JP5065317B2 (ja) 2012-10-31
KR20040076885A (ko) 2004-09-03
EP1466251A4 (en) 2007-04-25
TWI221993B (en) 2004-10-11
EP1466251A1 (en) 2004-10-13
US6795903B2 (en) 2004-09-21
CN1751295A (zh) 2006-03-22
JP4350521B2 (ja) 2009-10-21
WO2003062996A1 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
KR100959306B1 (ko) 중복 데이터 탐색 시스템 및 방법
KR100331322B1 (ko) 제조업체간의 특수기능을 지원하기 위한 부가정보를 저장하는 기록매체 및 기록 및/또는 편집장치와 그방법
US6631107B1 (en) Method and apparatus for information recording medium
KR950006750A (ko) 디스크 구동 장치 및 데이타 재생 장치
KR20070093389A (ko) 전력 소실 후 실시간 비디오 데이터의 복구
JP3049919B2 (ja) データ再生装置
KR101064149B1 (ko) 매체 정보 검색 장치 및 매체 정보 검색 방법
US7903504B2 (en) Method and apparatus for recording data tracks into large storage device
CN100440352C (zh) 电力故障恢复方法
JP5064531B2 (ja) データ記録装置およびデータ再生装置
US6405283B1 (en) Method for handling buffer under-run during disc recording
US20060215522A1 (en) Disc identification system
JP2005018922A (ja) 記録媒体、記録装置及び再生装置
US20070070857A1 (en) Method and apparatus for accessing an optical storage medium
KR100641931B1 (ko) 멀티 기록매체의 데이터 연결 기록 및 재생방법
KR100940027B1 (ko) 프로그램별 리줌 마크 관리방법
JP2005011430A (ja) ファイル管理方法、記録装置、再生装置、及び記録媒体
KR20040090191A (ko) 광디스크 장치에서의 파일 시스템 관리방법
KR20060037360A (ko) 디지털 오디오/비디오 신호 기록 장치 및 방법
KR20060058701A (ko) 내용 정보의 고속 재구성을 위한 방법
KR20080022328A (ko) 미디어 재생 장치에서의 오디오 파일 재생 방법 및 이를실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한기록 매체
KR20060043978A (ko) 콤보 시스템의 데이터 백업 방법
JP2005085301A (ja) 記録再生装置、曲データの複製方法及び曲データの複製プログラム
KR20050046976A (ko) 오디오 광디스크 재생 방법
JP2004318944A (ja) 記録装置

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee