KR20070048638A - 볼륨 이미지 및 그것을 포함하는 컴퓨터 판독가능 매체 - Google Patents

볼륨 이미지 및 그것을 포함하는 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20070048638A
KR20070048638A KR1020067003162A KR20067003162A KR20070048638A KR 20070048638 A KR20070048638 A KR 20070048638A KR 1020067003162 A KR1020067003162 A KR 1020067003162A KR 20067003162 A KR20067003162 A KR 20067003162A KR 20070048638 A KR20070048638 A KR 20070048638A
Authority
KR
South Korea
Prior art keywords
image
file data
software
file
data
Prior art date
Application number
KR1020067003162A
Other languages
English (en)
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 KR20070048638A publication Critical patent/KR20070048638A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

제1 소프트웨어의 제1 이미지가 다른 소프트웨어의 다른 이미지들과 결합되고, 볼륨 이미지로부터 이미지들 중 임의의 하나 이상이 복구될 수 있도록 하는 방법이 개시된다(도 1 참조). 볼륨 이미지를 생성하는 방법은, 제1 소프트웨어로부터 제1 이미지를 생성하는 단계, 제2 소프트웨어로부터 제2 이미지를 생성하는 단계, 및 제1 이미지와 제2 이미지를 볼륨 이미지로 결합하는 단계를 포함한다. 각각의 이미지는 그것의 소프트웨어의 서술적 데이터에 대응하는 제1 서술적 데이터(메타데이터), 및 소프트웨어의 파일 데이터에 대응하는 파일 데이터를 포함한다.
볼륨 이미지, 서술적 데이터, 델타 파일

Description

볼륨 이미지 및 그것을 포함하는 컴퓨터 판독가능 매체{CREATING VOLUME IMAGES}
본 발명은 디스크 이미징 분야에 관한 것으로서, 특히, 이미지 크기를 축소시키기 위해 패칭을 이용하여 복수의 개별적 이미지들을 단일의 볼륨 이미지로 축약하고, 단일의 볼륨 이미지로부터 개별적인 이미지들 각각이 재생성될 수 있는 시스템 및 방법에 관한 것이다.
개별적인 소프트웨어 이미지 각각은 매우 많은 데이터를 포함한다. 일반적으로, 소프트웨어 이미지는 점점 크기가 커지고, 주어진 컴퓨터에 대해 점차 더 많은 영구 및/또는 비영구 저장 공간을 차지한다. 역사적으로, 이 크기는 기하급수적인 비율로 커졌다. 예를 들어, 특정 경우에서는, 설치된 운영 시스템, 어플리케이션, 유틸리티 또는 다른 데이터의 사본을 캡처할(때때로, "볼륨을 캡처한다"라고 지칭됨) 필요가 있다. 캡처된 사본의 한 목적은, 예를 들어, 다른 컴퓨터들에 재분배됨으로써 나중에 재사용될 수 있는 데이터를 포함하는 이미지를 생성하는 것이다. 캡처된 사본 및 그것의 데이터는 자주, 매우 많은 공간을 차지한다. 보통, 복수의 이미지들은 단일의 컴퓨터-판독가능 매체 상에 복사된다. 동일한 매체 상의 이 복수의 이미지들은 일반적으로, 예를 들어, 설치된 OS의 언어, 그 이미지 상 에 어떤 어플리케이션(및, 어떤 어플리케이션 버전)이 포함되어 있는지 등에 기초한 특정 측면에서만 다르다. 몇몇의 복수의 이미지들은 단지, 동일한 프로그램의 서로 다른 SKU 또는 에디션이다. 그 결과, 그러한 복수의 이미지들 내의 데이터의 대부분은 매우 유사할 뿐(둘 이상의 이미지들에 있어서 상당한 양의 데이터가 공통임) 정확히 동일하지는 않아서, 동일한 매체 상의 이미지들에 걸쳐, 다른 정보를 위해 사용되었을 매우 많은 중복 공간이 생긴다.
이러한 이유로, 이러한 단점 및 그 외의 단점을 해결하기 위해, 중복 공간의 양을 감소시키기 위한 시스템 및 방법이 요구된다. 캡처된 볼륨으로부터 원래의 데이터 전부를 여전히 보존하는 최소의 가능한 이미지 크기를 제공할 필요가 있다. 최소의 가능한 이미지 크기에 대한 이러한 필요는 큰 이미지들을 컴팩트 디스크 및 RAM-기반 시나리오용의 메모리에 맞게 하고, 네트워크 저장 및 대역폭 요건을 감소시키게 한다. 최소의 가능한 이미지 크기를 획득하는 이점들 중 하나는, 이미지가 전략적으로 컴퓨터 및/또는 소프트웨어 프로그램의 소비자들에게 이롭다는 것이다.
캡처된 볼륨으로부터 원래의 데이터 전부를 여전히 보존하는 최소의 가능한 이미지 크기를 제공할 필요가 있다. 최소의 가능한 이미지 크기에 대한 이러한 필요는 큰 이미지들을 컴팩트 디스크 및 RAM-기반의 시나리오용의 메모리에 맞게 하고, 네트워크 저장 및 대역폭 요건을 감소시키게 한다. 최소의 가능한 이미지 크기를 획득하는 이점들 중 하나는, 전략적으로 소프트웨어 및 하드웨어의 최종-사용자에게 이롭다는 것이다.
본 발명은, 일 양태에서, 복수의 개별적인 소프트웨어 프로그램(이미지)들을, 개별적인 프로그램들 각각이 재생성될 수 있는 단일의 동작적 볼륨 이미지 파일에 축약하는 소프트웨어 이미지 결합 방법을 포함한다. 다른 양태에서, 본 발명은 (1) 파일 자체의 실제 데이터로부터 각각의 개별적인 이미지 내의 파일들을 설명하는 서술적 데이터(예를 들어, 메타데이터)를 분리함으로써, (2) 복수의 이미지들 사이에서 공통인 각각의 개별적인 이미지 내의 데이터를 분리함으로써, 및 (3) 패치를 이용하여 유사한 바이너리 파일을 재구성함으로써, 복수의 개별적인 이미지들로부터 단일의 동작적 볼륨 이미지를 생성함으로써 종래기술의 문제점에 대한 해결책을 제공한다. 각각의 개별적인 이미지의 서술적 데이터 각각은 볼륨 이미지 내에 포함되는 반면, 공통 데이터 및/또는 델타 파일의 단 하나의 사본이 볼륨 이미지 내에 포함된다. 이것은, 패치 외에 공통 데이터 및 유사한 데이터는 복제되지 않기 때문에, 볼륨 이미지의 크기를 축소시킨다. 새로운 볼륨 이미지는 단일의 이미지 파일 내의 각각의 이미지를 구분해내는 서술적 데이터(메타데이터) 뿐만 아니라, 공통 파일, 델타 파일, 및 각각의 이미지에 고유한 파일을 구분해내는 비트 저장소도 포함한다.
본 발명의 일 구현예는, 공통의 운영 시스템 버전 상에서 실행되는 개별적인 서로 다른 어플리케이션들의 저장 요건을 최소화하는 것이다. 본 발명에 따라, 이 개별적인 서로 다른 어플리케이션들은 단일의 볼륨 이미지로 결합 또는 축약될 수 있다. 볼륨 이미지는 개별적인 서로 다른 어플리케이션들 각각의 이미지 뷰를, 마치 그 각각이 개별적으로 따로 저장된 것처럼 장착하거나, 수정하거나, 업데이트하거나 복구하는 것을 허용한다. 본 발명의 소프트웨어 기능은 유사하고/하거나 공통의 파일을 이용하기 위해 복수의 단일 파일 이미지들이 하나의 이미지 파일로 결합되게 한다.
한 양태에서, 본 발명은 제1 소프트웨어의 데이터 구조의 제1 이미지 및 제2 소프트웨어의 데이터 구조의 제2 이미지를 포함하는 볼륨 이미지가 저장되어 있는 컴퓨터 판독가능 매체를 포함하며, 제1 이미지와 제2 이미지는 볼륨 이미지로 결합되어, 볼륨 이미지의 제1 이미지 및/또는 제2 이미지는 볼륨 이미지로부터 이미징에 의해 각각 재생성될 수 있다. 볼륨 이미지는,
제1 소프트웨어의 서술적 데이터의 이미지;
제1 소프트웨어의 파일 데이터의 이미지;
제2 소프트웨어의 서술적 데이터의 이미지;
특정 파일 데이터를 제외한 제2 소프트웨어의 파일 데이터의 이미지; 및
제1 이미지의 하나 이상의 파일 데이터와 결합될 때 제2 소프트웨어의 제외된 특정 파일 데이터에 대응하는 델타 파일의 이미지를 포함한다.
다른 양태에서, 본 발명은 제1 소프트웨어의 제1 이미지 및 제2 소프트웨어의 제2 이미지를 포함하는 볼륨 이미지를 포함한다. 볼륨 이미지는,
볼륨 이미지의 헤더;
제1 이미지의 제1 메타데이터;
제2 이미지의 제2 메타데이터;
제2 이미지에도 있는 것을 제외한 제1 이미지의 파일 데이터인 제1 파일 데이터;
제2 이미지와 제1 이미지 간의 차이의 파일 데이터인 델타 파일 데이터; 및
볼륨 이미지의 서명(이에 의해, 제1 이미지 및/또는 제2 이미지는 볼륨 이미지로부터 이미징될 수 있고, 볼륨 이미지의 크기는 제1 이미지 및 제2 이미지의 총 크기보다 작게 됨)을 포함한다.
다른 양태에서, 본 발명은 제1 소프트웨어의 제1 이미지 및 제2 소프트웨어의 제2 이미지를 포함하는 볼륨 이미지를 갖는 컴퓨터 판독가능 매체를 포함한다. 볼륨 이미지는,
볼륨 이미지의 헤더;
제1 이미지의 제1 메타데이터;
제2 이미지의 제2 메타데이터;
제2 이미지에도 있는 것을 제외한 제1 이미지의 파일 데이터인 제1 파일 데이터;
제2 이미지와 제1 이미지 간의 차이의 파일 데이터인 델타 파일 데이터; 및
볼륨 이미지의 서명(이에 의해, 제1 이미지 및/또는 제2 이미지는 볼륨 이미지로부터 이미징될 수 있고, 볼륨 이미지의 크기는 제1 이미지 및 제2 이미지의 총 크기보다 작게 됨)을 포함한다.
다른 양태에서, 본 발명은
제1 소프트웨어로부터, 제1 소프트웨어의 파일 데이터에 대응하는 제1 바이너리 파일 데이터를 포함하는 제1 바이너리 파일을 생성하는 단계;
제2 소프트웨어로부터, 제2 소프트웨어의 파일 데이터에 대응하는 제2 바이너리 파일 데이터를 포함하는 제2 바이너리 파일을 생성하는 단계;
제1 바이너리 파일과 제2 바이너리 파일 간의 차이인 델타 파일을 생성하는 단계; 및
제1 바이너리 파일과 델타 파일을 볼륨 이미지로 결합하는 단계를 포함하는 방법을 포함한다.
다른 양태에서, 본 발명은 제1 이미지의 복수의 제1 바이너리 파일 및 제2 이미지의 복수의 제2 바이너리 파일을 볼륨 이미지로 결합하는 방법을 포함하며, 복수의 제1 및 제2 바이너리 파일은 공통 파일 데이터를 포함하고, 단일의 볼륨 이미지로부터 제1 이미지 및 제2 이미지가 각각 이미징에 의해 재생성될 수 있으며, 이 방법은,
복수의 제1 바이너리 파일 및 복수의 제2 바이너리 파일에서 공통 파일 데이터를 식별하는 단계;
제1 이미지를 제1 헤더, 제1 메타데이터, 제1 파일 데이터, 공통 파일 데이터 및 제1 서명으로 분리하는 단계;
제2 이미지를 제2 헤더, 제2 메타데이터, 제2 파일 데이터, 공통 파일 데이터, 제2 서명, 및 복수의 제1 바이너리 파일 중 하나 이상의 파일과 복수의 제2 바이너리 파일 중 하나 이상의 파일 간의 차이인 델타 파일로 분리하는 단계; 및
제1 메타데이터, 제2 메타데이터, 제1 파일 데이터, 제2 파일 데이터, 공통 파일 데이터 및 델타 파일을, 헤더 및 서명을 갖는 단일의 볼륨 이미지를 포함하는 단일 이미지로 결합하는 단계를 포함한다.
다른 양태에서, 본 발명은 제1 소프트웨어 및 제2 소프트웨어를 단일의 볼륨 이미지로 결합하는 방법을 포함하며, 볼륨 이미지로부터 제1 소프트웨어의 제1 이미지와 제2 소프트웨어의 제2 이미지가 이미징에 의해 각각 재생성될 수 있고, 이 방법은,
제1 소프트웨어를 복수의 파일을 가리키는 메타데이터를 갖는 기본 이미지로 변환하는 단계;
기본 이미지의 모든 파일들의 결합된 다이제스트를 생성하는 단계;
제2 소프트웨어를, 복수의 파일을 가리키는 오프셋 테이블을 가리키는 메타데이터를 갖는 제2 이미지로 변환하는 단계;
제2 이미지 내의 하나 이상의 파일과의 정확한 매칭을 찾기 위해 결합된 다이제스트를 검색하는 단계;
결합된 이미지의 오프셋 테이블과 제2 이미지의 메타데이터를, 정확하게 매칭되는 파일을 가리키도록 갱신하는 단계;
상기 메타데이터 중에서 제2 이미지의 메타데이터와의 유사한 매칭에 대한 메타데이터를 검색하는 단계;
유사하게 매칭되는 파일들에 대해 결합된 이미지의 일부로서 패치를 생성 및 저장하는 단계; 및
정확하게 매칭되지 않는 제2 이미지의 파일들 및 유사하게 매칭되지 않는 제2 이미지의 파일들을 결합된 이미지의 일부로서 저장하는 단계를 포함한다.
다른 양태에서, 본 발명은 제1 이미지 및 제2 이미지를 갖는 볼륨 이미지로부터 컴퓨터 판독가능 매체에 제2 이미지를 복구하는 방법을 제공하며, 볼륨 이미지는 제1 이미지 및 제2 이미지 둘다에 공통인 공통 데이터, 제1 이미지가 아닌 제2 이미지에만 특유한 제2 파일 데이터, 제2 이미지의 제2 유사 파일 데이터와 유사한 제1 이미지의 제1 유사 파일 데이터, 제1 유사 파일 데이터와 제2 유사 파일 데이터 간의 차이를 나타내는 델타 파일을 포함하고, 이 방법은,
공통 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계;
제2 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계;
제1 유사 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계; 및
델타 파일을 복사된 제1 유사 파일 데이터에 적용하여 제2 유사 파일 데이터를 만들어내는 단계를 포함한다.
다른 양태에서, 본 발명은 제1 이미지 및 제2 이미지를 갖는 볼륨 이미지로부터 컴퓨터 판독가능 매체에 제2 이미지를 복구하는 방법을 포함하며, 볼륨 이미지는 제1 이미지가 아닌 제2 이미지에만 특유한 제2 파일 데이터, 제2 이미지의 제2 유사 파일 데이터와 유사한 제1 이미지의 제1 유사 파일 데이터, 제1 유사 파일 데이터와 제2 유사 파일 데이터 간의 차이를 나타내는 델타 파일을 포함하고, 이 방법은,
제2 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계;
제1 유사 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계; 및
델타 파일을 복사된 제1 유사 파일 데이터에 적용하여 제2 유사 파일 데이터를 만들어내는 단계를 포함한다.
다른 양태에서, 본 발명은 컴퓨터 판독가능 매체 상에서 제1 이미지 및 제2 이미지를 볼륨 이미지로 결합하는 방법을 포함하며, 볼륨 이미지로부터 제1 이미지 및/또는 제2 이미지가 각각 개별적으로 복구될 수 있고, 제1 이미지는, 제1 이미지 및 제2 이미지 둘다에 공통인 공통 데이터, 및 제2 이미지가 아닌 제1 이미지에만 특유한 제1 파일 데이터(제1 파일 데이터는 제2 이미지의 제2 유사 파일 데이터와 유사한 제1 유사 파일 데이터를 포함함)를 포함하고, 제2 이미지는, 제1 이미지 및 제2 이미지 둘다에 공통인 공통 데이터, 및 제1 이미지가 아닌 제2 이미지에만 특유한 제2 파일 데이터(제2 파일 데이터는 제1 이미지의 제1 유사 파일 데이터와 유사한 제2 유사 파일 데이터를 포함함)를 포함하며, 이 방법은,
공통 데이터를 컴퓨터 판독가능 매체에 복사하는 단계;
제1 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계;
제2 유사 파일 데이터를 제외한 제2 파일 데이터를 컴퓨터 판독가능 매체에 복사하는 단계;
제2 유사 파일 데이터와 제1 유사 파일 데이터 간의 차이를 나타내는 델타 파일을 생성하는 단계; 및
생성된 델타 파일을 컴퓨터 판독가능 매체에 복사하는 단계를 포함한다.
다른 양태에서, 본 발명은 제1 소프트웨어 및 제2 소프트웨어를 단일의 볼륨 이미지로 결합하는 방법을 포함하며, 볼륨 이미지로부터 제1 소프트웨어의 제1 이미지 및 제2 소프트웨어의 제2 이미지가 이미징에 의해 각각 재생성될 수 있고, 이 방법은,
제1 소프트웨어를 복수의 파일을 가리키는 메타데이터를 갖는 기본 이미지로 변환하는 단계;
기본 이미지의 모든 파일들의 결합된 다이제스트를 생성하는 단계;
제2 소프트웨어를 복수의 파일을 가리키는 오프셋 테이블을 가리키는 메타데이터를 갖는 제2 이미지로 변환하는 단계;
메타데이터 중에서 제2 이미지의 메타데이터와의 유사한 매칭에 대한 메타데이터를 검색하는 단계; 및
유사하게 매칭되는 파일들에 대하여 결합된 이미지의 일부로서 패치를 생성하여 저장하는 단계를 포함한다.
대안적으로, 본 발명은 다양한 다른 방법 및 장치를 포함할 수 있다.
다른 특징은 이하에서 부분적으로는 명백해지고 부분적으로는 지적될 것이다.
도 1은 본 명세서에서 참조로서 통합된 계류중인 2002년 6월 17일자의 미국 특허 출원 제10/173.297호("COMBINED IMAGE VIEWS AND METHODS OF CREATING IMAGES")에 설명되어 있는 바와 같이, 공통 파일의 단일의 인스턴스 저장을 이용하기 위해 하나의 결합된 이미지로 결합될 수 있는 이미지 1 및 이미지 2의 레이아웃을 개략적으로 도시하는 본 발명의 예시적인 실시예.
도 2는 2개의 바이너리 파일에 대한 본 발명에 따른 방법의 동작을 나타내는 예시적인 순서도.
도 3은 델타 파일, 선택적으로는 임의의 공통 파일을 포함한 볼륨 이미지로 결합될 수 있는 이미지 1 및 이미지 2의 레이아웃을 개략적으로 도시한 본 발명의 예시적인 실시예.
도 4는 볼륨 이미지를 생성하기 위한 본 발명에 따른 방법의 동작을 나타내는 예시적인 순서도.
도 5는 본 발명에 따라, 개별적인 컴퓨터-판독가능 매체에 이미징함으로써 이미지 1이 복구되고, 또 다른 개별 컴퓨터-판독가능 매체에 이미징함으로써 이미지 2가 복구될 수 있도록 볼륨 이미지가 저장될 수 있는 예시적인 컴퓨터 판독가능 매체를 도시하는 블럭도.
도 6은 볼륨 이미지를 언팩하기 위한 본 발명에 따른 방법의 동작을 나타내는 예시적인 순서도.
도 7은 공통 파일과 패치된 파일 둘 다를 갖는 볼륨 이미지를 생성하기 위한 본 발명에 따른 방법의 동작을 나타내는 예시적인 순서도.
도 8은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경의 일례를 도시하는 블럭도.
도면 전체에서, 대응하는 참조 문자는 대응하는 부분을 나타낸다.
도 1에 도시된 바와 같이, "COMBINED IMAGE VIEWS AND METHODS OF CREATING IMAGES"(2002년 6월 17일 출원, 일련번호 제10/173,297호)의 명칭의 계류중인 미국 특허 출원에 따른 결합된 이미지(300)는 제1 소프트웨어의 제1 이미지(302) 및 제2 소프트웨어의 제2 이미지(304)를 포함한다. 결합된 이미지는 결합된 이미지(300)의 헤더(306), 제1 이미지(302)에 대응하는 제1 메타데이터(308), 제2 이미지(304)에 대응하는 제2 메타데이터(310), 제2 이미지(304)의 것을 제외한 제1 이미지(302)의 파일 데이터의 제1 파일 데이터(312), 제1 이미지(302)의 것을 제외한 제2 이미지(304)의 파일 데이터의 제2 파일 데이터(314), 및 결합된 이미지(300)의 오프셋 테이블(320)(파일 데이터 모두가 결합된 이미지 내의 어디에 있는지를 나타냄)과 서명(316)을 포함한다. 제1 이미지(302)와 제2 이미지(304)가 일부 동일한 파일 데이터를 갖는 경우에는, 이러한 공통 데이터(318)는 결합된 이미지에 오직 단 한 번만 복사된다. 결과적으로, 결합된 이미지(300)의 크기는 제1 이미지(302)와 제2 이미지(304)의 총 크기보다 작다. 결합된 이미지(300)에 대한 하나의 장점은 (도 5에 관련하여 보다 상세하게 설명된 바와 같이), 제1 이미지(302) 및/또는 제2 이미지(304)가 결합된 이미지(300)로부터 복구될 수 있다는 것이다.
도 1에 예시된 바와 같이, 결합된 이미지(300)를 생성하는 방법은 우선 제1 소프트웨어로부터 제1 이미지(302)를 생성하는 단계, 및 제2 소프트웨어로부터 제2 이미지(304)를 생성하는 단계를 포함하고, 그리고 제1 이미지(302) 및 제2 이미지(304)를 결합된 이미지(300)로 결합시키는 단계가 후속한다. 전술되고 도 1에 예시된 바와 같이, 제1 이미지(302)는 제1 소프트웨어의 파일 데이터에 대응하는 제1 파일 데이터를 가리키는 오프셋 테이블(오프셋 테이블 1)을 가리키는 제1 소프트웨어의 서술적 데이터에 대응하는 제1 서술적 데이터(메타데이터 1)를 포함한다. 마 찬가지로, 제2 이미지(304)는 제2 소프트웨어의 파일 데이터에 대응하는 제2 파일 데이터를 가리키는 오프셋 테이블(오프셋 테이블 2)을 가리키는 제2 소프트웨어의 서술적 데이터에 대응하는 제2 서술적 데이터(메타데이터 2)를 포함한다. 제1 및 제2 이미지 모두가 적어도 일부 공통 파일 데이터(318)를 포함하는 경우에, 결합된 이미지(300)는 공통 파일 데이터(318)의 단 하나의 사본을 포함한다.
두 개의 이미지 또는 세 개 이상의 이미지들이 결합되고, 이미지가 공통 파일 데이터를 갖는다고 알려진 경우에는, 다음의 접근법이 채용될 수 있다. 처음에, 제1 및 제2 이미지 모두의 공통 파일 데이터가 식별될 것이다. 제1 이미지(302)는 제1 헤더, 제1 메타데이터, 제1 파일 데이터, 공통 파일 데이터, 제1 오프셋 테이블 및 제1 서명으로 분리될 것이다. 마찬가지로, 제2 이미지(304)는 제2 헤더, 제2 메타데이터, 제2 파일 데이터, 공통 파일 데이터, 제2 오프셋 테이블 및 제2 서명으로 분리될 것이다. 결합된 이미지를 생성하기 위해, 제1 메타데이터, 제2 메타데이터, 제1 파일 데이터, 제2 파일 데이터 및 공통 파일 데이터가 단일의 결합된 이미지를 포함하는 단일 이미지로 결합될 것이다. 헤더, 오프셋 테이블 및 서명은 결합된 이미지(300)에 추가될 것이다. 결과적으로, 결합된 이미지(300)는 이미지 1에 특유한 파일 데이터(312) 및 공통 데이터(318)를 가리키는 결합된 이미지 오프셋 테이블(320)을 가리키는 제1 소프트웨어의 서술적 데이터에 대응하는 제1 서술적 데이터(메타데이터 1)를 포함한다. 파일 데이터(312) 및 공통 데이터(318)는 제1 소프트웨어의 파일 데이터에 대응한다. 이외에, 결합된 이미지(300)는 이미지 2에 특유한 파일 데이터(314)를 가리키는 결합된 이미지 오프셋 테이블 (320)을 가리키는 제2 소프트웨어의 서술적 데이터에 대응하는 제2 서술적 데이터(310, 메타데이터 2)를 포함한다. 파일 데이터(314) 및 공통 데이터(318)는 제2 소프트웨어의 파일 데이터에 대응한다.
각각의 파일들의 해시와 같은 식별자들의 리스트가 생성되어, 제1 이미지(302)와 제2 이미지(304)를 결합하는 프로세스에 이용될 수 있도록 계획된다. 처음에, 결합된 이미지(300) 내의 파일들의 식별자들의 리스트(예를 들어, 해시)가 생성될 것이다. 제1 이미지(302) 내의 파일 데이터 각각에 대해서, 제1 이미지(302)의 파일 데이터가 판독되고, 파일 데이터의 콘텐츠에 기초하여 각각의 판독된 파일에 식별자가 연관될 것이다. 제2 이미지의 파일 데이터 각각에 대해서, 제2 이미지(304)의 파일 데이터가 판독되고, 판독된 파일 각각에 대해서, 파일 데이터의 콘텐츠에 기초하여 각각의 판독된 파일에 식별자가 연관될 것이다. 이 상황에서, 판독된 파일의 식별자가 결합된 이미지(300)의 식별자들의 리스트 내에 없으면, 판독된 파일 데이터는 결합된 이미지(300)에 결합 또는 추가될 것이다. 새로운 파일이 결합된 이미지(300)에 추가될 때, 서술적 데이터(메타데이터 1 및/또는 메타데이터 2)는 결합된 이미지(300)에 추가된 새로운 파일 데이터의 식별정보를 포함하도록 갱신되며, 오프셋 테이블은 새로운 파일 데이터의 새로운 위치를 포함하도록 갱신될 것이다. 각각의 파일의 식별정보는 다른 파일의 식별정보와 중첩되지 않도록 고유해야 한다. 이에 관하여, 각각의 파일 식별정보는 고유하다고 입증되며, 고유하지 않다고 입증되면 메타데이터가 갱신되기 전에 고유하도록 수정된다.
도 1은 이미지 1 및 2가 결합된 이미지로 결합되는 것을 예시하지만, 결합된 이미지(300)는 축소된 크기를 갖지 않을 수 있다. 이미지들 간에 공통 데이터가 거의 없거나 아예 없으면, 결합된 이미지는 대략 이미지 1의 크기와 이미지 2의 크기를 더한 것과 같은 크기일 것이다. 이외에, 도 1은 매우 유사하고 단지 약간만 다를 수 있는 두 개의 바이너리 파일들을 결합할 가능성도 고려하지 않는다. (QFE, 서비스 팩 또는 서로 다른 언어들의 경우에서와 같이) 파일이 단지 약간만 다르면, 이미지는 여전히 고유한 파일의 총 크기만큼 커진다. 제1 및 제2 파일이 정확히 동일하지는 않는 데이터도 다소 포함하지만 제1 및 제 2 파일 모두에 공통인 데이터를 상당량 포함하면, 제1 파일은 저장된 제2 파일과 유사하다고 간주된다.
본 발명에 따르면, 볼륨 이미지의 두 개 이상의 유사한 파일들은 유사부분이 오직 한 번만 저장되도록 식별된다. 이외에, 저장된 파일과 다른 유사 파일들 간의 차이도 저장된다. 제1 단계에서는, 상이한 파일들이 볼륨 이미지 내의 다른 파일들과 유사한지가 판정된다. 이 판정은, 수천 개의 파일들을 캡처하고 비교할 때 속도에 불리한 영향을 주지 않도록 빨라야 한다. 매칭 기준의 몇몇 예로는, 동일한 이름, 생성 날짜, 유사한 파일 크기 또는 다른 매칭 기준을 갖는 파일들이 있다. 잠재적인 매칭이 발견되면, 패치 기술이 델타 파일을 생성한다. 이 델타 파일이 원래의 파일보다 작으면, 원래의 파일 대신 이미지 내에 저장될 것이다. 복수 개의 매칭이 발견되면, 기본 파일과 델타 파일의 최소 결합이 이미지에 저장될 것이다. 파일이 패치를 통해 저장되면, 모든 파일 인스턴스에 대한 결과적인 이미 지 메타데이터는 기초 파일 식별자 및 선택적인 델타 파일 식별자를 포함할 것이다. 파일을 복구할 때, 패치를 이용하여 저장되었던 임의의 파일들은 기본 파일 및 알맞은 델타 파일 엔트리를 결합함으로써 복구될 것이다. 이러한 델타 파일은 또한 이미지 또는 이미지들 내의 중복 파일들에 대해서 한 번만(단일-인스턴스) 저장될 수 있음을 유념한다. 예를 들어, 이 델타 파일은 갱신 및 패치에 관련된 미국 특허 출원 제6216175호, 제6243766호, 제6449764호, 제6496974호, 제6466999호, 제6493871호, 제5745313호 및 제6381742호, 및 보다 작은 패치 파일로 소프트웨어를 갱신하기 위한 방법 및 시스템에 관한 계류중인 미국 특허 출원 제09/561,447호(2000년 4월 28일)에 개시된 바와 같이 생성될 수 있다.
도 2를 참조하면, 본 발명에 따라 두 개의 유사한 파일을 결합하는 방법(200)이 도시된다. 이 방법(200)이 컴퓨터 판독가능 매체에 저장된 프로그램의 일부인 명령어들로서 구현될 수 있지만, 당업자들은 이 방법(200)을 구현하기 위한 다른 방식들을 인식할 것이다. 구체적으로, 제1 소프트웨어의 제1 이미지의 일부인 바이너리 파일 데이터 A는 제2 소프트웨어의 제2 이미지의 일부인 바이너리 파일 B와 유사할 수 있다. 제1 및 제2 이미지가 단일의 볼륨 이미지로 결합될 것이라고 가정하면(도 3 참조), 파일 A 및 B 모두는 동일한 매체가 될 것이다. 이러한 파일들은 유사하고 단지 약간만 다르기 때문에, 패치 기술이 이용될 수 있다. 구체적으로, 바이너리 파일이 압축된 후에, 단계(202)에서 패치 알고리즘이 이용되어 델타 바이너리 파일을 생성한다. 델타 파일을 생성하기 위해 임의의 알고리즘을 채용할 수 있다. 예를 들어, 위에서 언급한 특허 및 명세서에 개시된 패치 기술이 이용될 수 있다.
델타 파일은 바이너리 파일 데이터 A와 바이너리 파일 데이터 B 간의 차이를 식별한다. 즉, 파일 데이터 A에 델타 파일을 적용하면 파일 데이터 B가 만들어진다(또는, 그 역도 성립됨). 단계(204)에서, 델타 바이너리 파일이 압축된다. 단계(206)에서, 압축된 델타 바이너리 파일의 크기는 압축된 바이너리 파일 데이터 B에 비교된다. 이 비교에 기초하여, 단계(208)에서 델타 바이너리 파일이 수용가능한지가 판정된다. 이 판정은 단순히, 압축된 델타 바이너리 파일의 크기를 그 델타 바이너리 파일이 대체하도록 의도된 바이너리 파일 데이터 B의 크기에 비교하는 것을 포함할 수도 있고, 복구 시간과 같은 다른 비교를 포함할 수도 있다. 델타 바이너리 파일의 크기가 더 작으면(예를 들어, 적어도 25% 작으면), 이것은 파일 데이터 A와 델타 바이너리 파일의 결합이 파일 데이터 A와 파일 데이터 B의 결합보다 작을 것임을 의미한다. 따라서, 델타 바이너리 파일이 수용가능하며, 단계(210)에서 파일 데이터 A와 델타 파일이 볼륨 이미지의 일부로 저장되는데, 이는 그들이 파일 데이터 A와 파일 데이터 B를 더한 것보다 작을 것이기 때문이다. 델타 바이너리 파일의 크기가 파일 데이터 B의 크기와 비슷하거나 더 크면, 이것은 파일 데이터 A와 델타 바이너리 파일의 결합이 파일 데이터 A와 파일 데이터 B의 결합보다 클 것임을 의미한다. 따라서, 델타 바이너리 파일은 수용불가능하며, 단계(212)에서 파일 데이터 A와 파일 데이터 B가 볼륨 이미지의 일부로 저장되는데, 이는 그들이 파일 데이터 A와 델타 바이너리 파일을 더한 것보다 작을 것이기 때문이다.
도 3에 도시된 바와 같이, 볼륨 이미지(301)는 제1 소프트웨어의 제1 이미지(303) 및 제2 소프트웨어의 제2 이미지(305)를 포함한다. 볼륨 이미지는 볼륨 이미지(301)의 헤더(306), 제1 이미지(303)에 대응하는 제1 메타데이터(308), 제2 이미지(305)에 대응하는 제2 메타데이터(310), 제2 이미지(305)의 것을 제외한 제1 이미지(303)에 특유한 파일 데이터의 제1 파일 데이터(312), 제1 이미지(303)의 것을 제외한 제2 이미지(305)에 특유한 파일 데이터의 제2 파일 데이터 2B(313), 볼륨 이미지(301)의 파일 데이터 1, 오프셋 테이블(320) 및 서명(316)으로부터 파일 데이터 2A를 생성하기 위한 델타 파일(314)을 포함한다. 제1 이미지(303)와 제2 이미지(305)가 몇몇의 동일한 파일 데이터를 가진 경우에, 이러한 공통 데이터(318)는 오직 볼륨 이미지에 단 한 번만 복사된다. 결과적으로, 볼륨 이미지(301)의 크기는 제1 이미지(303)와 제2 이미지(305)의 총 크기보다 작다. 볼륨 이미지(301)의 하나의 이점은 (도 5 및 6에 관련하여 보다 상세하게 후술될 바와 같이) 제1 이미지(303) 및/또는 제2 이미지(305)가 볼륨 이미지(301)로부터 복구될 수 있다는 것이다.
도 3에 예시된 바와 같이, 볼륨 이미지(301)를 생성하는 방법은 우선 제1 소프트웨어로부터 제1 이미지(303)를 생성하는 단계, 및 제2 소프트웨어로부터 제2 이미지(305)를 생성하는 단계를 포함하고, 제1 이미지(303) 및 제2 이미지(305)를 볼륨 이미지(301)로 결합하는 단계가 후속한다. 전술되고 도 3에 예시된 바와 같이, 제1 이미지(303)는 제1 소프트웨어의 파일 데이터에 대응하는 제1 파일 데이터를 가리키는 오프셋 테이블(오프셋 테이블 1)을 가리키는 제1 소프트웨어의 서술적 데이터에 대응하는 제1 서술적 데이터(메타데이터 1)를 포함한다. 마찬가지로, 제2 이미지(305)는 제2 소프트웨어의 파일 데이터에 대응하는 제2 파일 데이터를 가리키는 오프셋 테이블(오프셋 테이블 2)을 가리키는 제2 소프트웨어의 서술적 데이터에 대응하는 제2 서술적 데이터(메타데이터 2)를 포함한다. 제1 및 제2 이미지 모두가 적어도 일부 공통 파일 데이터(318)를 포함하는 경우에, 볼륨 이미지(301)는 공통 파일 데이터(318)의 단 하나의 사본을 포함한다.
두 개의 이미지 또는 세 개 이상의 이미지들이 결합되고, 이미지가 공통 파일 데이터 및/또는 유사한 파일 데이터를 갖는다고 알려진 경우에는, 다음의 접근법이 채용될 수 있다. 처음에, 제1 및 제2 이미지 모두의 공통 파일 데이터 및 유사한 파일 데이터가 식별될 것이다. 제1 이미지(303)는 제1 헤더, 제1 메타데이터, 제1 파일 데이터, 공통 파일 데이터, 제1 오프셋 테이블 및 제1 서명으로 분리될 것이다. 마찬가지로, 제2 이미지(305)는 제2 헤더, 제2 메타데이터, 제2 파일 데이터, 공통 파일 데이터, 유사한 파일 데이터, 제2 오프셋 테이블 및 제2 서명으로 분리될 것이다. 볼륨 이미지를 생성하기 위해, 제1 메타데이터, 제2 메타데이터, 제1 파일 데이터, 제2 파일 데이터, 공통 파일 데이터 및 델타 파일은 단일의 결합된 이미지를 포함하는 단일 이미지로 결합될 것이다. 델타 파일은 패치에 의해 생성되고, 제2 이미지의 유사한 파일 데이터와 제1 이미지의 파일 데이터 간의 차이를 정의한다. 헤더, 오프셋 테이블 및 서명은 그 후 볼륨 이미지(301)에 추가될 것이다. 결과적으로, 볼륨 이미지(301)는 제1 소프트웨어의 파일 데이터에 대응하는 공통 파일 데이터, 및 제1 파일 데이터를 가리키는 오프셋 테이블을 가리키 는 제1 소프트웨어의 서술적 데이터에 대응하는 제1 서술적 데이터(메타데이터 1)를 포함한다. 이외에, 볼륨 이미지(301)는 제2 소프트웨어의 파일 데이터에 대응하는 공통 파일 데이터, 및 제2 파일 데이터를 가리키는 오프셋 테이블을 가리키는 제2 소프트웨어의 서술적 데이터에 대응하는 제2 서술적 데이터(메타데이터 2)를 포함한다. 이외에, 볼륨 이미지(301)는 델타 파일을 가리키는 제2 서술적 데이터(메타데이터 2) 내에 플래그를 포함한다.
도 3에 예시되지는 않았지만, 각각의 파일들의 해시와 같은 식별자들의 리스트가 생성되어, 제1 이미지(303)와 제2 이미지(305)를 결합하는 프로세스에 이용될 수 있도록 계획된다. 처음에, 볼륨 이미지(301) 내의 파일들의 식별자들의 리스트(예를 들어, 해시)가 생성될 것이다. 제1 이미지(303) 내의 파일 데이터 각각에 대해서, 제1 이미지(303)의 파일 데이터가 판독되고, 파일 데이터의 콘텐츠에 기초하여 각각의 판독된 파일에 식별자가 연관될 것이다. 제2 이미지의 파일 데이터 각각에 대해서, 제2 이미지(305)의 파일 데이터가 판독되고, 판독된 파일 각각에 대해서, 파일 데이터의 콘텐츠에 기초하여 각각의 판독된 파일에 식별자가 연관될 것이다. 이 상황에서, 판독된 파일의 식별자가 볼륨 이미지(301)의 식별자들의 리스트 내에 없으면, 판독된 파일 데이터가 볼륨 이미지(301)에 결합 또는 추가될 것이다. 새로운 파일이 볼륨 이미지(301)에 추가될 때, 서술적 데이터(메타데이터 1 및/또는 메타데이터 2)는 볼륨 이미지(301)에 추가된 새로운 파일 데이터의 식별정보를 포함하도록 갱신되며, 오프셋 테이블은 새로운 파일 데이터의 새로운 위치를 포함하도록 갱신될 것이다. 각각의 파일의 식별 정보는 다른 파일의 식별정보와 중첩되지 않도록 고유해야 한다. 이에 관하여, 각각의 파일 식별정보는 고유하다고 입증되며, 고유하지 않다고 입증되면 메타데이터가 갱신되기 전에 고유하도록 수정된다. 이외에, 식별자는 유사한 파일들이 매칭되는 것을 허용해야 하며, 이에 따라 델타 파일의 생성이 고려될 수 있다. 예를 들어, 식별자는 (QFE, 서비스 팩 또는 서로 다른 언어들의 경우에서와 같이) 단지 약간만 다른 파일들이 인식되는 것을 허용해야 한다. 도 4를 참조하면, 제1 소프트웨어의 제1 이미지(303) 및 제2 소프트웨어의 제2 이미지(305)가 이미징에 의해 각각 복구될 수 있는 단일의 볼륨 이미지(301)로 제1 소프트웨어와 제2 소프트웨어가 결합되는 방법이 예시된다. 처음에, 단계(402)에서 제1 소프트웨어는 그것의 바이너리 파일 데이터를 가리키는 메타데이터를 갖는 기본 이미지로 변환된다. 일반적으로, 기본 이미지는 파일이 추가되는 이미지이며, 기존 이미지 또는 새롭게 생성되는 이미지일 수 있다. 예를 들어, 기존 이미지(303)는 이미지(305)가 추가될 기본 이미지로서 보일 수 있다. 다음으로, 단계(404)에서, 기본 이미지의 메타데이터에 의해 식별되는 모든 파일들의 해시 리스트(예를 들어, 결합된 다이제스트)를 포함하는 결합된 오프셋 테이블이 생성된다. 단계(406)에서, 제2 소프트웨어는 제2 이미지의 파일들을 리스팅하는 오프셋 테이블을 포함하는 제2 이미지(305)로 변환된다.
단계(408)에서, 제2 이미지의 오프셋 테이블 내의 하나 이상의 파일들과의 정확한 매칭을 찾기 위해 기본 이미지의 해시 리스트가 검색된다. 결정 단계(410)에서, 그 동작을 수행하는 소프트웨어는 단계(408)에서의 검색이 임의의 정확한 매칭을 발견하였는지를 판정한다. 검색이 정확한 매칭을 발견하였으면, 소프트웨어 는 단계(412)로 진행하여, 도 1에 예시된 것과 같이, 제2 이미지의 메타데이터 및 결합된 이미지의 오프셋 테이블을 정확히 매칭되는 파일들을 가리키도록 갱신한다.
단계(410)에서 정확한 매칭이 발견되지 않으면, 소프트웨어는 단계(414)로 진행하여, 제2 이미지의 메타데이터와 유사한 매칭을 찾기 위해 기본 이미지의 메타데이터를 검색한다. 결정 단계(416)에서, 그 동작을 수행하는 소프트웨어는 단계(414)에서의 검색이 임의의 유사한 매칭을 발견하였는지를 판정한다. 검색이 유사한 매칭을 발견하면, 소프트웨어는 단계(418)로 진행하여, 도 2 및 3에 예시된 것과 같이, 결합된 이미지의 부분으로서 패치를 생성 및 저장한다. 단계(416)에서 어느 유사한 매칭도 발견되지 않으면, 소프트웨어는 단계(420)로 진행되어, 제2 이미지의 파일을 결합된 이미지의 일부분으로서의 고유한 파일로서 저장한다.
다음으로 도 5를 참조하면, 이 도면은 제1 이미지(502)가 볼륨 이미지(500)로부터 복구될 수 있고/있거나 제2 이미지(504)가 볼륨 이미지(500)로부터 복구될 수 있도록 볼륨 이미지(500)를 생성하는 본 발명에 따른 하나의 이점을 예시한다. 이 이점이 적용될 수 있는 하나의 예는 상이한 운영 시스템들과 함께 이용하기 위해 상이한 SKU들 및/또는 에디션들을 갖는 소프트웨어 어플리케이션이다. 광범위하게 확장하기 위해, 이러한 다양한 소프트웨어 에디션은 상당한 양의 유사한 데이터를 갖고 있다. 그러나, 과거에는 이러한 에디션들 각각을 개별적으로 이미징하는 것이 일반적이었다. 따라서, 이러한 다양한 에디션을 판매했던 밴더들은 개별 컴퓨터 판독가능 매체 상에 각각의 에디션들을 개별적으로 목록화하도록 요구될 것이다. 본 발명의 한 양상에 따라, 이러한 소프트웨어의 다양한 에디션들은 에디션 들(502, 504) 중 임의의 하나가 재생성될 수 있는 단일의 볼륨 이미지(500)로 결합될 수 있다. 볼륨 이미지(500)는 이미지를 추출하기 위한 외부 셋업 프로그램 또는 기타 툴의 일부인 실행 파일(506)과 함께 사용될 수도 있다고 생각된다. 실행될 때, 파일(506)은 볼륨 이미지를 생성하기 위해 사용된 이미지들 중 특정한 하나의 이미지를 추출한다. 실행 파일은 사용자에 의해 입력되는 소프트웨어에 관련된 제품 키(P.K.) 또는 식별자(I.)에 응답하여 실행될 수 있다고도 생각된다.
도 6을 참조하면, 이미지 1(502) 및 이미지 2(504)를 포함하는 볼륨 이미지(500)(도 5 참조)로부터의 이미지를 새로운 컴퓨터 판독가능 매체(CRM)에 복구하는 프로세스를 나타내는 순서도가 제공된다. 단계(602)에서, 어느 이미지가 복구될 지가 결정된다. 이미지 1을 새로운 CRM에 복구하기 위하여, 단계(604)에서 공통 데이터가 새로운 CRM에 복사되고, 단계(606)에서 이미지 1에 특유한 파일 데이터가 새로운 CRM에 복사된다. 단계(608)에서, 이미지 1의 메타데이터, 오프셋 테이블, 헤더 및 서명이 새로운 CRM상에 완성된다. 이미지 2를 새로운 CRM에 복구하기 위하여, 단계(610)에서 공통 데이터가 새로운 CRM에 복사되고, 단계(612)에서 이미지 2에 특유한 파일 데이터 2가 새로운 CRM에 복사된다. 단계(614)에서, 이미지 1에 특유하고 이미지 2의 파일 데이터에 유사한 파일 데이터 1이 CRM에 복사된다. 후자의 유사한 파일 데이터 1은 델타 파일이 적용될 파일 데이터이다. 단계(616)에서, 델타 파일이 새로운 CRM에 복사되고, 단계(618)에서, 이러한 파일들이 유사한 파일 데이터 1에 적용된다. 예를 들어, 또다른 파일에 델타 파일을 적용할 것을 지시하는 플래그를 갖는 이미지 2가 생성될 것이다. 현재, 메타데이터 엔트리는 고유 식별자(상기에 언급됨)를 갖는다. 델타 패치에 대해, 그 파일에 대한 메타데이터에 또다른 고유 식별자가 존재할 것이다. 메타데이터의 파일 주요 고유 식별자(files main unique identifier)는 기본 파일 고유 식별자(base file unique identifier)일 것이다. "플래그"는 원래의 데이터를 다시 획득하기 위해 기본 파일과 결합되어야 하는 패치 데이터에 대한 고유 식별자일 것이다. 메타데이터에서 파일이 패치 데이터에 대한 고유 식별자를 갖지 않는 경우(또는 0인 경우), 플래그가 설정되지 않을 것이고, 이전과 같이 동작할 것이다. 단계(620)에서, 이미지 2의 메타데이터, 오프셋 테이블, 헤더 및 서명이 새로운 CRM에 완성된다.
볼륨 이미지를 캡처하기 위한 도 7의 프로세스에 대한 요약의 한 예가 후술된다. 이 프로세스에서, 단계(702)에서 볼륨 이미지는 이미지 1 및 이미지 2의 결합이라고 가정된다. 또한 이미지 1 및 이미지 2의 파일들 중 몇몇은 동일하고(예를 들어, 중복, 공통 데이터) 이미지 1 및 이미지 2의 파일들 중 몇몇은 유사하여 상기 언급된 바와 같이 델타 파일에 의해 대체될 수 있다고 가정된다.
특히, 도 7은 제1 이미지 및/또는 제2 이미지가 개별적으로 복구될 수 있는 볼륨 이미지로 제1 이미지 및 제2 이미지를 CRM상에 결합하는 방법을 도시한다. 제1 이미지는 제1 이미지와 제2 이미지 둘 모두에 공통적인 공통 데이터, 및 제1 이미지에 특유하고 제2 이미지에는 특유하지 않은 제1 파일 데이터를 포함한다. 제1 파일 데이터는 또한 제2 이미지의 제2 유사 파일 데이터에 유사한 제1 유사 파일 데이터를 포함한다. 제2 이미지는 제1 이미지와 제2 이미지 둘 모두에 공통적인 공통 데이터, 및 제2 이미지에 특유하고 제1 이미지에는 특유하지 않은 제2 파 일 데이터를 포함한다. 제2 파일 데이터는 제1 이미지의 제1 유사 파일 데이터에 유사한 제2 유사 파일 데이터를 포함한다.
단계(704)에서, 현재의 각 파일이 볼륨 이미지에 캡처되도록, 파일 해시가 생성되어, 현재의 파일이 이미 저장되었는지(예를 들어, 볼륨 이미지를 생성하기 위해 이미지 1 또는 이미지 2로부터 CRM에 복사될 파일이 CRM에 이미 복사되었는지)를 판정하기 위하여 사용된다. 파일이 이미 저장된 경우, 파일에 대한 메타데이터가 현재 저장된 파일 엔트리를 가리키도록 갱신된다. 이러한 프로세스가 상기에, 특히, 상기에 언급된 공동 계류중인 명칭 "결합된 이미지 뷰, 및 이미지를 생성하는 방법(COMBINED IMAGE VIEWS AND METHODS OF CREATING IMAGES)"의 US 특허 출원에서, 그리고 도 1을 참조하여 보다 상세히 설명된다. 따라서, 방법은 단계(704)에서 공통 데이터를 CRM에 복사하는 단계를 포함한다.
단계(706)에서, 파일이 아직 저장되지 않은 경우, (예를 들어, 파일 이름, 날짜 또는 기타 기준을 사용하여) 유사 파일들의 후보 파일들의 리스트가 생성되고, 전체 크기(기본 파일 크기와 패치 크기를 합한 크기)의 최상의 결합을 결정하기 위해 스캔된다. 모든 고유 파일(제1 파일 데이터, 및 제2 유사 파일 데이터를 포함하지 않는 제2 파일 데이터)이 CRM에 한번 복사된다. 파일 인스턴스에 대한 메타데이터가 그 후 고유 파일들을 참조하도록 갱신된다. 이러한 프로세스가 특히 도 1, 및 도 3 내지 도 5에 관하여 상기에 보다 상세히 설명된다. 따라서, 방법은 제1 파일 데이터를 CRM에 복사하는 단계, 및 제2 파일 데이터를 CRM에 복사하는 단계를 포함하지만, 제2 유사 파일 데이터는 CRM에 복사되지 않는다.
단계(708)에서, 제2 유사 파일 데이터(CRM에 복사되지 않았음)와 제1 유사 파일 데이터(CRM에 복사되었음) 사이의 차이를 나타내는 델타 파일이 생성된다. 또한, 이러한 델타 파일은 CRM에 복사된다. 따라서, 방법은 제2 유사 파일 데이터와 제1 유사 파일 데이터 사이의 차이를 나타내는 델타 파일을 생성하는 단계, 및 생성된 델타 파일을 CRM에 복사하는 단계를 포함한다.
도 8은 컴퓨터(130)의 형태를 갖는 범용 컴퓨팅 장치의 한 예를 도시한다. 본 발명의 일 실시예에서, 컴퓨터(130)와 같은 컴퓨터는 본원에 도시되고 기술된 기타 도면들에서의 사용에 적합하다. 컴퓨터(130)는 하나 이상의 프로세서 또는 프로세싱 유닛(132), 및 본 발명에 따라 볼륨 이미지가 저장되고/거나 볼륨 이미지로부터 재생성된 개개의 이미지가 저장될 수 있는 시스템 메모리(134)를 갖는다. 도시된 실시예에서, 시스템 버스(136)는 시스템 메모리(134)를 포함하는 다양한 시스템 컴포넌트를 프로세서(132)에 연결한다. 버스(136)는 메모리 버스 또는 메모리 제어기, 주변 버스, 가속화된 그래픽 포트, 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 포함하는 다양한 타입의 버스 구조 중 하나 이상의 임의의 버스 구조를 나타낸다. 제한을 가하지 않는 예로서, 그러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 강화된 ISA(EISA) 버스, 비디오 전자 표준 협회(VESA) 로컬 버스, 및 메자닌 버스라고도 불리는 주변 컴포넌트 인터커넥트(PCI) 버스를 포함한다.
컴퓨터(130)는 전형적으로 적어도 몇몇 형태의 컴퓨터-판독가능 매체를 갖는다. 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 둘 모두를 포함하는 컴퓨 터-판독가능 매체는 컴퓨터(130)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 제한을 가하지 않는 예로서, 컴퓨터-판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 예를 들어, 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광 디스크 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(130)에 의해 액세스될 수 있는 임의의 기타 매체를 포함한다. 통신 매체는 전형적으로 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터를 반송파나 기타 전송 메커니즘과 같은 변조된 데이터 신호에 구체화하며, 임의의 정보 전달 매체를 포함한다. 본 분야에서 숙련된 기술을 가진 자들은 신호의 정보를 인코딩하기 위한 방식으로 설정 또는 변경된 특성들 중 하나 이상을 갖는 변조된 데이터 신호에 친숙하다. 유선 네트워크 또는 직접-유선 연결과 같은 유선 매체, 및 음향, RF, 적외선, 및 기타 무선 매체와 같은 무선 매체가 통신 매체의 예들이다. 상기 중 임의의 것의 조합 또한 컴퓨터-판독가능 매체의 범위 내에 포함된다.
시스템 메모리(134)는 분리형 및/또는 비분리형, 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 도시된 실시예에서, 시스템 메모리(134)는 ROM(138) 및 RAM(140)을 포함한다. 시작할 때 등에 컴퓨터(130) 내의 구성요소들 사이에 정보 전달을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(142)(BIOS)은 전형적으로 ROM(138)에 저장된다. RAM(140)은 전형적으로 즉시 액세스가능하고/거나 프로세싱 유닛(132)에 의해 현재 실행되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 제한을 가하지 않는 예로서, 도 8은 운영 시스템(144), 어플리케이션 프로그램(146), 기타 프로그램 모듈(148) 및 프로그램 데이터(151)를 도시한다.
컴퓨터(130)는 또한 기타 분리형/비분리형 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 8은 비분리형 비휘발성 자기 매체에 대해 판독 또는 기입하는 하드 디스크 드라이브(154)를 도시한다. 도 8은 또한 분리형 비휘발성 자기 디스크(158)에 대해 판독 또는 기입하는 자기 디스크 드라이브(156), 및 CD-ROM 또는 기타 광 매체와 같은 분리형 비휘발성 광 디스크(162)에 대해 판독 또는 기입하는 광 디스크 드라이브(161)도 도시한다. 예시적인 운영 환경에서 사용될 수 있는 기타 분리형/비분리형 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고테 상태 ROM 등을 포함하지만 이들로 제한되지는 않는다. 하드 디스크 드라이브(144), 자기 디스크 드라이브(156) 및 광 디스크 드라이브(161)는 전형적으로 인터페이스와 같은 비휘발성 메모리 인터페이스(166)에 의해 시스템 버스(136)에 연결된다.
상기 논의되고 도 8에 도시된 드라이브 또는 기타 대용량 저장 장치 및 그들의 관련 컴퓨터 저장 매체는 컴퓨터(130)에 대한 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 예를 들어, 도 8에서, 하드 디스크 드라이브(154)는 운영 시스템(170), 어플리케이션 프로그램(172), 기타 프로그램 모듈(174) 및 프로그램 데이터(176)를 저장하는 것으로 도시된다. 이러한 컴포넌트들은 운영 시스템(144), 어플리케이션 프로그램(146), 기타 프로그램 모듈(148) 및 프로그램 데이터(151)와 동일할 수도 있고 상이할 수도 있음을 유의해야 한다. 운영 시스템(170), 어플리케이션 프로그램(172), 기타 프로그램 모듈(174) 및 프로그램 데이터(176)는 최소한 그들이 상이한 것들이라는 것을 나타내기 위하여 본원에서 상이한 번호를 부여받는다.
사용자는 키보드(180) 및 포인팅 장치(182)(예를 들어, 마우스, 트랙볼, 펜 또는 터치 패드)와 같은 입력 장치 또는 사용자 인터페이스 선택 장치를 통해 컴퓨터(130)에 명령어 및 정보를 입력할 수 있다. 기타 입력 장치(도시되지 않음)는 마이크, 조이스틱, 게임 패드, 위성 디쉬, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 시스템 버스(136)에 연결되는 사용자 입력 인터페이스(184)를 통해 프로세싱 유닛(132)에 연결되지만, 병렬 포트, 게임 포트 또는 USB와 같은 기타 인터페이스 및 버스 구조에 의해 연결될 수도 있다. 모니터(188) 또는 다른 타입의 디스플레이 장치 또한 비디오 인터페이스(190)와 같은 인터페이스를 통해 시스템 버스(136)에 연결된다. 모니터(188) 이외에, 컴퓨터는 종종 프린터 및 스피커와 같은 기타 주변 출력 장치(도시되지 않음)를 포함하며, 이들은 출력 주변 인터페이스(도시되지 않음)를 통해 연결될 수 있다.
컴퓨터(130)는 원격 컴퓨터(194)와 같은 하나 이상의 원격 컴퓨터에의 논리 적 연결을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(194)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 일반적인 네트워크 노드일 수 있으며, 전형적으로 컴퓨터(130)에 관련하여 상기 기술된 구성요소들 중 다수 또는 모두를 포함한다. 도 8에 도시된 논리적 연결은 근거리 통신망(LAN)(196) 및 광역 통신망(WAN)(198)을 포함하지만, 다른 네트워크들도 포함할 수 있다. 그러한 네트워킹 환경은 사무실, 기업-규모 컴퓨터 네트워크, 인트라넷 및 글로벌 컴퓨터 네트워크(예를 들어, 인터넷)에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(130)는 네트워크 인터페이스 또는 어댑터(186)를 통해 LAN(196)에 연결된다. WAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(130)는 전형적으로 인터넷과 같은 WAN(198)을 통해 통신을 구축하기 위한 모뎀(178) 또는 기타 수단을 포함한다. 내장 또는 외장일 수 있는 모뎀(178)은 사용자 입력 인터페이스(194) 또는 기타 적합한 메커니즘을 통해 시스템 버스(136)에 연결된다. 네트워킹 환경에서, 컴퓨터(130)에 관련하여 도시된 프로그램 모듈 또는 그들의 일부는 원격 메모리 저장 장치(도시되지 않음)에 저장될 수 있다. 제한을 가하지 않는 예로서, 도 8은 원격 어플리케이션 프로그램(192)을 메모리 장치에 상주하는 것으로 도시한다. 도시된 네트워크 연결은 예시적이며, 컴퓨터들 사이에 통신 링크를 구축하는 기타 수단이 사용될 수 있음을 잘 알 것이다.
일반적으로, 컴퓨터(130)의 데이터 프로세서들은 컴퓨터의 다양한 컴퓨터-판독가능 저장 매체에 상이한 시각에 저장된 명령어들을 수단으로 하여 프로그래밍된다. 프로그램 및 운영 시스템은 전형적으로 예를 들어 플로피 디스크 또는 CD-ROM 에 분산된다. 그로부터, 프로그램 및 운영 시스템들이 컴퓨터의 보조 메모리에 설치 또는 로드된다. 실행 시, 그들은 적어도 부분적으로 컴퓨터의 주 전자 메모리에 로드된다. 본원에 기술된 본 발명은 그러한 매체가 마이크로프로세서 또는 기타 데이터 프로세서와 관련하여 하기에 기술된 단계들을 구현하기 위한 명령어 또는 프로그램을 포함하는 경우 이들 및 기타 다양한 타입의 컴퓨터-판독가능 저장 매체를 포함한다. 본 발명은 또한 본원에 기술된 방법 및 기술에 따라 프로그래밍되는 경우 컴퓨터 자체를 포함한다.
설명을 위하여, 운영 시스템과 같은 프로그램 및 기타 실행가능 프로그램 컴포넌트들이 개별적인 블럭으로 본원에 도시된다. 그러나, 그러한 프로그램 및 컴포넌트들이 다양한 시각에 컴퓨터의 상이한 저장 컴포넌트들에 상주하며, 컴퓨터의 데이터 프로세서(들)에 의해 실행됨이 인지된다.
컴퓨터(130)를 포함하는 예시적인 컴퓨팅 시스템 환경과 관련하여 기술되었지만, 본 발명은 다양한 기타 범용 또는 특수용 컴퓨팅 시스템 환경 또는 구성으로도 동작가능하다. 컴퓨팅 시스템 환경은 본 발명의 사용 또는 기능의 범위에 어떠한 제한을 가하기 위한 것이 아니다. 게다가, 컴퓨팅 시스템 환경은 예시적인 운영 환경에 도시된 컴포넌트들 중 임의의 컴포넌트 또는 그들의 조합에 관련하여 어떠한 의존성이나 요구사항도 가지는 것으로 해석되어서는 안 된다. 본 발명의 사용에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예는 개인용 컴퓨터, 서버 컴퓨터, 포켓형 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋탑 박스, 프로그래밍가능 가전기기, 네트워크 PC, 미니컴퓨 터, 메인프레임 컴퓨터, 상기 시스템 또는 장치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만 이들로 제한되지는 않는다.
본 발명은 하나 이상의 컴퓨터 또는 기타 장치에 의해 실행되는 프로그램 모듈과 같은 컴퓨터-실행가능 명령어들의 일반적인 문맥으로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 컴포넌트 및 데이터 구조를 포함하지만 이들로 제한되지는 않는다. 본 발명은 또한 통신 네트워크를 통해 연결되는 원격 프로세싱 장치에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘 모두에 위치될 수 있다.
동작 시, 컴퓨터(130)는 실행 파일(506)과 같은 컴퓨터-실행가능 명령어들을 실행한다.
다음 예들은 본 발명을 설명한다. 윈도우즈 브랜드 XP 홈(Windows brand XP Home) 및 윈도우즈 브랜드 XP 프로(Windows brand XP Pro)는 매우 유사하고 많은 양의 공통 데이터를 공유하는 어플리케이션들에 대해 상이한 SKU 수를 갖는다. 홈 버전은 대략 355MB이고, 프로 버전은 대략 375MB이다. 두 에디션 모두 개별적으로 단일 매체에 복사되는 경우, 약 730MB가 필요할 것이다. 반면, 두 에디션을 단일 볼륨 이미지로서 이미징하면 약 390MB의 단일 볼륨 이미지로 된다. 따라서, 볼륨 이미지는 디스크/매체의 300MB이상을 절약한다. OEM 시나리오의 예로서, 홈 및 프로 에디션 둘 모두 마이크로소프트 오피스와 함께 또는 마이크로소프트 오피스없이 제공될 수 있다. 에디션들이 개별적으로 복사되는 경우, 오피스를 갖추지 않은 홈은 355MB를 필요로 할 것이고, 오피스를 갖춘 홈은 505MB를 필요로 할 것이며, 오피스를 갖추지 않은 프로는 375MB를 필요로 할 것이고, 오피스를 갖춘 프로는 525MB를 필요로 하여, 총 1760MB가 필요할 것이다. 반면, 4개의 상이한 제공을 단일 볼륨 이미지로 이미징하면 약 540MB의 단일 볼륨 이미지가 된다. 따라서, 볼륨 이미지는 디스크/매체의 1100MB 이상을 절약한다.
이러한 디스크/매체의 절약은 상기 언급된 바와 같이 여러 이점을 발생시킨다. 예를 들어, 이미지 또는 네트워크 또는 기타 링크의 전송 또는 복제가 적은 시간과 감소된 대역폭으로 달성될 수 있다.
본 발명, 또는 본 발명의 실시예(들)의 구성요소들을 도입할 때, "하나(a, an)", "상기(the, said)"라는 관사는 하나 이상의 구성요소가 존재함을 의미하기 위한 것이다. "포함하는(comprising, including)" 및 "가지는(having)"이라는 용어들은 나열된 구성요소들 이외의 부가적인 구성요소들이 존재할 수 있음을 의미하는 포괄적인 것으로 의도된다.
상기의 관점에서, 본 발명의 여러 목적이 달성되고 기타 유익한 결과가 달성됨을 알 수 있다.
본 발명의 범위로부터 벗어나지 않고서 상기 구성, 제품 및 방법에 다양한 변경이 행해질 수 있기 때문에, 상기의 설명에 포함되고 첨부되는 도면들에 도시된 모든 것들이 예시적이며, 제한적인 의미가 아닌 것으로 해석되도록 의도된다.

Claims (52)

  1. 제1 소프트웨어의 데이터 구조의 제1 이미지 및 제2 소프트웨어의 데이터 구조의 제2 이미지를 포함하는 볼륨 이미지가 저장되어 있는 컴퓨터 판독가능 매체로서,
    상기 제1 이미지와 상기 제2 이미지는 상기 볼륨 이미지로 결합되어, 상기 볼륨 이미지의 상기 제1 이미지 및/또는 상기 제2 이미지는 상기 볼륨 이미지로부터 이미징(imaging)에 의해 각각 재생성될 수 있고,
    상기 볼륨 이미지는,
    상기 제1 소프트웨어의 서술적 데이터(descriptive data)의 이미지;
    상기 제1 소프트웨어의 파일 데이터의 이미지;
    상기 제2 소프트웨어의 서술적 데이터의 이미지;
    특정 파일 데이터를 제외한 상기 제2 소프트웨어의 파일 데이터의 이미지; 및
    상기 제1 이미지의 하나 이상의 파일 데이터와 결합될 때 상기 제2 소프트웨어의 상기 제외된 특정 파일 데이터에 대응하는 델타 파일(delta file)의 이미지
    를 포함하는 컴퓨터 판독가능 매체.
  2. 제1항에 있어서,
    상기 서술적 데이터는 파일 이름, 속성, 파일 타임, 압축 포맷, 위치 및 스 트림 중 하나 이상을 포함하는 메타데이터를 포함하는 컴퓨터 판독가능 매체.
  3. 제1항에 있어서,
    상기 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 또는 임의의 다른 데이터를 포함하는 컴퓨터 판독가능 매체.
  4. 제1항에 있어서,
    상기 제1 이미지의 파일 데이터의 적어도 일부는 상기 제2 이미지의 파일 데이터의 적어도 일부와 동일하고, 상기 동일한 파일 데이터는 상기 볼륨 이미지에 한번만 나타나는 컴퓨터 판독가능 매체.
  5. 제1항에 있어서,
    파일 데이터를 수정, 갱신 또는 복구하는 것 및/또는 상기 서술적 데이터를 임의의 수정, 갱신 또는 복구된 파일 데이터를 가리키도록 수정하는 것을 더 포함하는 컴퓨터 판독가능 매체.
  6. 제1항에 있어서,
    상기 제1 소프트웨어 또는 상기 제2 소프트웨어는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 컴퓨터 판독가능 매체.
  7. 제1항에 있어서,
    상기 제1 소프트웨어 및 상기 제2 소프트웨어는 유사한 어플리케이션이고, 상기 제1 소프트웨어는 제1 운영 시스템에서 사용되기 위한 것이고, 상기 제2 소프트웨어는 제2 운영 시스템에서 사용되기 위한 것인 컴퓨터 판독가능 매체.
  8. 제1항에 있어서,
    상기 파일 데이터 및 상기 델타 파일은 압축되는 컴퓨터 판독가능 매체.
  9. 제1 소프트웨어의 제1 이미지 및 제2 소프트웨어의 제2 이미지를 포함하는 볼륨 이미지로서,
    상기 볼륨 이미지의 헤더;
    상기 제1 이미지의 제1 메타데이터;
    상기 제2 이미지의 제2 메타데이터;
    상기 제2 이미지에도 있는 것을 제외한 상기 제1 이미지의 파일 데이터인 제1 파일 데이터;
    상기 제2 이미지와 상기 제1 이미지 간의 차이의 파일 데이터인 델타 파일 데이터; 및
    상기 볼륨 이미지의 서명 -이에 의해, 상기 제1 이미지 및/또는 상기 제2 이미지는 상기 볼륨 이미지로부터 이미징될 수 있고, 상기 볼륨 이미지의 크기는 상기 제1 이미지 및 상기 제2 이미지의 총 크기보다 작게 됨-
    을 포함하는 볼륨 이미지.
  10. 제9항에 있어서,
    상기 제1 이미지에도 있는 것을 제외한 상기 제2 이미지의 파일 데이터인 제2 파일 데이터를 더 포함하는 볼륨 이미지.
  11. 제9항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지 둘다의 파일 데이터인 공통 파일 데이터를 더 포함하는 볼륨 이미지.
  12. 제9항에 있어서,
    상기 제1 메타데이터 및 상기 제2 메타데이터는 각각 파일 이름, 속성, 파일 타임, 압축 포맷, 위치 및 스트림 중 하나 이상을 포함하는 볼륨 이미지.
  13. 제9항에 있어서,
    상기 제1 파일 데이터 및 제2 파일 데이터 각각은 메타데이터와는 다른 임의의 바이너리 파일 데이터 또는 임의의 다른 데이터를 포함하는 볼륨 이미지.
  14. 제9항에 있어서,
    파일 데이터를 수정, 갱신 또는 복구하는 것 및/또는 오프셋 테이블을 임의 의 수정, 갱신 또는 복구된 파일 데이터를 가리키도록 수정하는 것을 더 포함하는 볼륨 이미지.
  15. 제9항에 있어서,
    상기 제1 소프트웨어 또는 상기 제2 소프트웨어는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 볼륨 이미지.
  16. 제9항에 있어서,
    상기 제1 소프트웨어 및 상기 제2 소프트웨어는 유사한 어플리케이션이고, 상기 제1 소프트웨어는 제1 운영 시스템에서 사용하기 위한 것이고, 상기 제2 소프트웨어는 제2 운영 시스템에서 사용하기 위한 것인 볼륨 이미지.
  17. 제9항에 있어서,
    상기 제1 파일 데이터 및 상기 델타 파일 데이터는 압축된 데이터인 볼륨 이미지.
  18. 제1 소프트웨어의 제1 이미지 및 제2 소프트웨어의 제2 이미지를 포함하는 볼륨 이미지를 갖는 컴퓨터 판독가능 매체로서,
    상기 볼륨 이미지는,
    상기 볼륨 이미지의 헤더;
    상기 제1 이미지의 제1 메타데이터;
    상기 제2 이미지의 제2 메타데이터;
    상기 제2 이미지에도 있는 것을 제외한 상기 제1 이미지의 파일 데이터인 제1 파일 데이터;
    상기 제2 이미지와 상기 제1 이미지 간의 차이의 파일 데이터인 델타 파일 데이터; 및
    상기 볼륨 이미지의 서명 - 이에 의해, 상기 제1 이미지 및/또는 상기 제2 이미지는 상기 볼륨 이미지로부터 이미징될 수 있고, 상기 볼륨 이미지의 크기는 상기 제1 이미지 및 상기 제2 이미지의 총 크기보다 작게 됨 -
    을 포함하는 컴퓨터 판독가능 매체.
  19. 제1 소프트웨어로부터, 상기 제1 소프트웨어의 파일 데이터에 대응하는 제1 바이너리 파일 데이터를 포함하는 제1 바이너리 파일을 생성하는 단계;
    제2 소프트웨어로부터, 상기 제2 소프트웨어의 파일 데이터에 대응하는 제2 바이너리 파일 데이터를 포함하는 제2 바이너리 파일을 생성하는 단계;
    상기 제1 바이너리 파일과 상기 제2 바이너리 파일 간의 차이인 델타 파일을 생성하는 단계; 및
    상기 제1 바이너리 파일과 상기 델타 파일을 볼륨 이미지로 결합하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서,
    파일 데이터를 수정, 갱신 또는 복구하고/하거나 서술적 데이터를 임의의 수정, 갱신 또는 복구된 파일 데이터를 가리키도록 수정하는 단계를 더 포함하는 방법.
  21. 제19항에 있어서,
    상기 제1 및 제2 소프트웨어 둘다는 적어도 소정의 공통 파일 데이터를 포함하고, 상기 볼륨 이미지는 상기 공통 파일 데이터의 적어도 일부의 한 사본만을 포함하는 방법.
  22. 제19항에 있어서,
    상기 바이너리 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 데이터 또는 임의의 다른 데이터를 포함하는 방법.
  23. 제19항에 있어서,
    상기 제1 소프트웨어 또는 상기 제2 소프트웨어는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 방법.
  24. 제19항에 있어서,
    상기 제1 소프트웨어 및 상기 제2 소프트웨어는 유사한 어플리케이션이고, 상기 제1 소프트웨어는 제1 운영 시스템에서 사용하기 위한 것이고, 상기 제2 소프트웨어는 제2 운영 시스템에서 사용하기 위한 것인 방법.
  25. 제19항에 있어서,
    상기 볼륨 이미지의 상기 제1 바이너리 파일 및 상기 델타 파일은 압축되는 방법.
  26. 제1 이미지의 복수의 제1 바이너리 파일 및 제2 이미지의 복수의 제2 바이너리 파일을 볼륨 이미지로 결합하는 방법으로서,
    상기 복수의 제1 및 제2 바이너리 파일은 공통 파일 데이터를 포함하고, 상기 단일의 볼륨 이미지로부터 상기 제1 이미지 및 상기 제2 이미지가 각각 이미징에 의해 재생성될 수 있으며,
    상기 방법은,
    상기 복수의 제1 바이너리 파일 및 상기 복수의 제2 바이너리 파일에서 상기 공통 파일 데이터를 식별하는 단계;
    상기 제1 이미지를 제1 헤더, 제1 메타데이터, 제1 파일 데이터, 상기 공통 파일 데이터 및 제1 서명으로 분리하는 단계;
    상기 제2 이미지를 제2 헤더, 제2 메타데이터, 제2 파일 데이터, 상기 공통 파일 데이터, 제2 서명, 및 상기 복수의 제1 바이너리 파일 중 하나 이상의 파일과 상기 복수의 제2 바이너리 파일 중 하나 이상의 파일 간의 차이인 델타 파일로 분 리하는 단계; 및
    상기 제1 메타데이터, 상기 제2 메타데이터, 상기 제1 파일 데이터, 상기 제2 파일 데이터, 상기 공통 파일 데이터 및 상기 델타 파일을, 헤더 및 서명을 갖는 상기 단일의 볼륨 이미지를 포함하는 단일 이미지로 결합하는 단계
    를 포함하는 방법.
  27. 제26항에 있어서,
    상기 메타데이터는 파일 이름, 속성, 파일 타임, 압축 포맷, 위치 및 스트림 중 하나 이상을 포함하는 방법.
  28. 제26항에 있어서,
    상기 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 데이터 또는 임의의 다른 데이터를 포함하는 방법.
  29. 제26항에 있어서,
    파일 데이터를 수정, 갱신 또는 복구하고/하거나 메타데이터를 임의의 수정, 갱신 또는 복구된 파일 데이터를 가리키도록 수정하는 단계를 더 포함하는 방법.
  30. 제26항에 있어서,
    제1 소프트웨어 또는 제2 소프트웨어는 운영 시스템 또는 어플리케이션 프로 그램, 또는 둘다를 포함하는 방법.
  31. 제26항에 있어서,
    제1 소프트웨어 및 제2 소프트웨어는 유사한 어플리케이션이고, 상기 제1 소프트웨어는 제1 운영 시스템에서 사용하기 위한 것이고, 상기 제2 소프트웨어는 제2 운영 시스템에서 사용하기 위한 것인 방법.
  32. 제26항에 있어서,
    상기 제1 이미지의 파일 데이터의 적어도 일부는 상기 제2 이미지의 파일 데이터의 적어도 일부와 동일하고, 상기 동일한 파일 데이터는 상기 볼륨 이미지에 한번만 나타나는 방법.
  33. 제26항에 있어서,
    상기 단일 이미지의 파일 데이터 및 델타 파일은 압축되는 방법.
  34. 제1 소프트웨어 및 제2 소프트웨어를 단일의 볼륨 이미지로 결합하는 방법으로서,
    상기 볼륨 이미지로부터 상기 제1 소프트웨어의 제1 이미지와 상기 제2 소프트웨어의 제2 이미지가 이미징에 의해 각각 재생성될 수 있고,
    상기 방법은,
    상기 제1 소프트웨어를 복수의 파일을 가리키는 메타데이터를 갖는 기본 이미지로 변환하는 단계;
    상기 기본 이미지의 모든 파일들의 결합된 다이제스트(combined digest)를 생성하는 단계;
    상기 제2 소프트웨어를, 복수의 파일을 가리키는 오프셋 테이블을 가리키는 메타데이터를 갖는 제2 이미지로 변환하는 단계;
    상기 제2 이미지 내의 하나 이상의 파일과의 정확한 매칭(exact match)을 찾기 위해 상기 결합된 다이제스트를 검색하는 단계;
    결합된 이미지의 오프셋 테이블과 상기 제2 이미지의 메타데이터를, 정확하게 매칭되는 파일을 가리키도록 갱신하는 단계;
    상기 메타데이터 중에서 상기 제2 이미지의 메타데이터와의 유사한 매칭(similar match)에 대한 메타데이터를 검색하는 단계;
    유사하게 매칭되는 파일들에 대해 상기 결합된 이미지의 일부로서 패치를 생성 및 저장하는 단계; 및
    정확하게 매칭되지 않는 상기 제2 이미지의 파일들 및 유사하게 매칭되지 않는 상기 제2 이미지의 파일들을 상기 결합된 이미지의 일부로서 저장하는 단계
    를 포함하는 방법.
  35. 제34항에 있어서,
    상기 메타데이터는 파일 이름, 속성, 파일 타임, 압축 포맷, 위치 및 스트림 중 하나 이상을 포함하는 방법.
  36. 제34항에 있어서,
    상기 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 데이터 또는 임의의 다른 데이터를 포함하는 방법.
  37. 제34항에 있어서,
    파일 데이터를 수정, 갱신 또는 복구하고/하거나 상기 제1 이미지의 메타데이터를 임의의 수정, 갱신 또는 복구된 파일 데이터를 가리키도록 수정하는 단계를 더 포함하는 방법.
  38. 제34항에 있어서,
    상기 제1 소프트웨어 또는 상기 제2 소프트웨어는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 방법.
  39. 제34항에 있어서,
    상기 제1 소프트웨어 및 상기 제2 소프트웨어는 유사한 어플리케이션이고, 상기 제1 소프트웨어는 제1 운영 시스템에서 사용하기 위한 것이고, 상기 제2 소프트웨어는 제2 운영 시스템에서 사용하기 위한 것인 방법.
  40. 제34항에 있어서,
    상기 제1 이미지 및 상기 제2 이미지는 유사한 파일 데이터 및 공통 파일 데이터를 포함하는 방법.
  41. 제34항에 있어서,
    상기 제1 이미지의 파일 데이터의 적어도 일부는 상기 제2 이미지의 파일 데이터의 적어도 일부와 동일하고, 상기 동일한 파일 데이터는 상기 볼륨 이미지 내에 한번만 나타나는 방법.
  42. 제34항에 있어서,
    상기 결합된 이미지의 상기 파일들 및 상기 패치들은 압축되는 방법.
  43. 제1 이미지 및 제2 이미지를 갖는 볼륨 이미지로부터 컴퓨터 판독가능 매체에 상기 제2 이미지를 복구하는 방법으로서,
    상기 볼륨 이미지는 상기 제1 이미지 및 상기 제2 이미지 둘다에 공통인 공통 데이터, 상기 제1 이미지가 아닌 상기 제2 이미지에만 특유한 제2 파일 데이터, 상기 제2 이미지의 제2 유사 파일 데이터와 유사한 상기 제1 이미지의 제1 유사 파일 데이터, 상기 제1 유사 파일 데이터와 상기 제2 유사 파일 데이터 간의 차이를 나타내는 델타 파일을 포함하고,
    상기 방법은,
    상기 공통 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계;
    상기 제2 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계;
    상기 제1 유사 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계; 및
    상기 델타 파일을 상기 복사된 제1 유사 파일 데이터에 적용하여 상기 제2 유사 파일 데이터를 만들어내는 단계
    를 포함하는 방법.
  44. 제43항에 있어서,
    상기 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 데이터 또는 임의의 다른 데이터를 포함하는 방법.
  45. 제43항에 있어서,
    상기 제1 이미지 또는 상기 제2 이미지는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 방법.
  46. 제1 이미지 및 제2 이미지를 갖는 볼륨 이미지로부터 컴퓨터 판독가능 매체에 상기 제2 이미지를 복구하는 방법으로서,
    상기 볼륨 이미지는 상기 제1 이미지가 아닌 상기 제2 이미지에만 특유한 제2 파일 데이터, 상기 제2 이미지의 제2 유사 파일 데이터와 유사한 상기 제1 이미 지의 제1 유사 파일 데이터, 상기 제1 유사 파일 데이터와 상기 제2 유사 파일 데이터 간의 차이를 나타내는 델타 파일을 포함하고,
    상기 방법은,
    상기 제2 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계;
    상기 제1 유사 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계; 및
    상기 델타 파일을 상기 복사된 제1 유사 파일 데이터에 적용하여 상기 제2 유사 파일 데이터를 만들어내는 단계
    를 포함하는 방법.
  47. 제46항에 있어서,
    상기 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 데이터 또는 임의의 다른 데이터를 포함하는 방법.
  48. 제46항에 있어서,
    상기 제1 이미지 또는 상기 제2 이미지는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 방법.
  49. 컴퓨터 판독가능 매체 상에서 제1 이미지 및 제2 이미지를 볼륨 이미지로 결합하는 방법으로서,
    상기 볼륨 이미지로부터 상기 제1 이미지 및/또는 상기 제2 이미지가 각각 개별적으로 복구될 수 있고,
    상기 제1 이미지는,
    상기 제1 이미지 및 상기 제2 이미지 둘다에 공통인 공통 데이터, 및
    상기 제2 이미지가 아닌 상기 제1 이미지에만 특유한 제1 파일 데이터 -상기 제1 파일 데이터는 상기 제2 이미지의 제2 유사 파일 데이터와 유사한 제1 유사 파일 데이터를 포함함-
    를 포함하고,
    상기 제2 이미지는,
    상기 제1 이미지 및 상기 제2 이미지 둘다에 공통인 공통 데이터, 및
    상기 제1 이미지가 아닌 상기 제2 이미지에만 특유한 제2 파일 데이터 -상기 제2 파일 데이터는 상기 제1 이미지의 상기 제1 유사 파일 데이터와 유사한 제2 유사 파일 데이터를 포함함-
    를 포함하고,
    상기 방법은,
    상기 공통 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계;
    상기 제1 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계;
    상기 제2 유사 파일 데이터를 제외한 상기 제2 파일 데이터를 상기 컴퓨터 판독가능 매체에 복사하는 단계;
    상기 제2 유사 파일 데이터와 상기 제1 유사 파일 데이터 간의 차이를 나타 내는 델타 파일을 생성하는 단계; 및
    상기 생성된 델타 파일을 상기 컴퓨터 판독가능 매체에 복사하는 단계
    를 포함하는 방법.
  50. 제49항에 있어서,
    상기 파일 데이터는 메타데이터와는 다른 임의의 바이너리 파일 또는 임의의 다른 데이터인 방법.
  51. 제49항에 있어서,
    상기 제1 이미지 또는 상기 제2 이미지는 운영 시스템 또는 어플리케이션 프로그램, 또는 둘다를 포함하는 방법.
  52. 제1 소프트웨어 및 제2 소프트웨어를 단일의 볼륨 이미지로 결합하는 방법으로서,
    상기 볼륨 이미지로부터 상기 제1 소프트웨어의 제1 이미지 및 상기 제2 소프트웨어의 제2 이미지가 이미징에 의해 각각 재생성될 수 있고,
    상기 방법은,
    상기 제1 소프트웨어를 복수의 파일을 가리키는 메타데이터를 갖는 기본 이미지로 변환하는 단계;
    상기 기본 이미지의 모든 파일들의 결합된 다이제스트를 생성하는 단계;
    상기 제2 소프트웨어를 복수의 파일을 가리키는 오프셋 테이블을 가리키는 메타데이터를 갖는 제2 이미지로 변환하는 단계;
    상기 메타데이터 중에서 상기 제2 이미지의 상기 메타데이터와의 유사한 매칭에 대한 메타데이터를 검색하는 단계; 및
    유사하게 매칭되는 파일들에 대하여 상기 결합된 이미지의 일부로서 패치를 생성하여 저장하는 단계
    를 포함하는 방법.
KR1020067003162A 2003-08-15 2003-08-22 볼륨 이미지 및 그것을 포함하는 컴퓨터 판독가능 매체 KR20070048638A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/641,798 US20040034849A1 (en) 2002-06-17 2003-08-15 Volume image views and methods of creating volume images in which a file similar to a base file is stored as a patch of the base file
US10/641,798 2003-08-15

Publications (1)

Publication Number Publication Date
KR20070048638A true KR20070048638A (ko) 2007-05-09

Family

ID=34216357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067003162A KR20070048638A (ko) 2003-08-15 2003-08-22 볼륨 이미지 및 그것을 포함하는 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (1) US20040034849A1 (ko)
EP (1) EP1654708A1 (ko)
JP (1) JP2007521528A (ko)
KR (1) KR20070048638A (ko)
CN (1) CN100378648C (ko)
WO (1) WO2005020156A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172280A1 (en) * 2004-01-29 2005-08-04 Ziegler Jeremy R. System and method for preintegration of updates to an operating system
US20050210462A1 (en) * 2004-03-11 2005-09-22 International Business Machines Corporation Systems and method for the incremental deployment of Enterprise Java Beans
US7809763B2 (en) * 2004-10-15 2010-10-05 Oracle International Corporation Method(s) for updating database object metadata
US7562347B2 (en) * 2004-11-04 2009-07-14 Sap Ag Reusable software components
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
JP4768009B2 (ja) * 2005-03-11 2011-09-07 ロックソフト リミテッド データ・クラスタを使用する冗長性の少ないデータを格納する方法
US7844820B2 (en) * 2005-10-10 2010-11-30 Yahoo! Inc. Set of metadata for association with a composite media item and tool for creating such set of metadata
US8161469B1 (en) * 2005-12-13 2012-04-17 Altera Corporation Method and apparatus for comparing programmable logic device configurations
US20070168535A1 (en) * 2005-12-22 2007-07-19 Ilmo Ikonen System and method for data communication between devices
US7496613B2 (en) * 2006-01-09 2009-02-24 International Business Machines Corporation Sharing files among different virtual machine images
US8055096B2 (en) * 2006-05-10 2011-11-08 Research In Motion Limited Method and system for incremental patching of binary files
US8296268B2 (en) * 2006-07-21 2012-10-23 Samsung Electronics Co., Ltd. System and method for change logging in a firmware over the air development environment
US8527660B2 (en) * 2006-12-22 2013-09-03 Palm, Inc. Data synchronization by communication of modifications
US8578332B2 (en) * 2007-04-30 2013-11-05 Mark Murray Universal microcode image
CN101694624B (zh) * 2009-10-19 2015-05-20 中兴通讯股份有限公司 处理软件安装包光盘镜像文件的方法及装置
US9128799B2 (en) 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US9176898B2 (en) 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US20110214105A1 (en) * 2010-02-26 2011-09-01 Macik Pavel Process for accepting a new build
JP5137995B2 (ja) * 2010-04-27 2013-02-06 京セラドキュメントソリューションズ株式会社 画像読取転送装置及び画像形成装置
US20140188949A1 (en) * 2013-01-03 2014-07-03 Dell Products L.P. Methods and systems for supply chain assurance of information handling system code
US20150169901A1 (en) * 2013-12-12 2015-06-18 Sandisk Technologies Inc. Method and Systems for Integrity Checking a Set of Signed Data Sections
US10223361B2 (en) * 2017-01-18 2019-03-05 Netapp, Inc. Methods and systems for restoring a data container archived at an object-based storage
CN108228227B (zh) * 2017-12-29 2021-07-02 北京元心科技有限公司 目录差分方法、装置及相应终端
US10963239B2 (en) 2018-10-18 2021-03-30 International Business Machines Corporation Operational file management and storage
US11070618B2 (en) * 2019-01-30 2021-07-20 Valve Corporation Techniques for updating files

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267330A (en) * 1984-06-19 1993-11-30 Canon Kabushiki Kaisha Image processing apparatus
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5155594A (en) * 1990-05-11 1992-10-13 Picturetel Corporation Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences
JP3660363B2 (ja) * 1992-05-28 2005-06-15 株式会社リコー 画像形成装置管理システムとその画像形成装置
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5467441A (en) * 1993-07-21 1995-11-14 Xerox Corporation Method for operating on objects in a first image using an object-based model data structure to produce a second contextual image having added, replaced or deleted objects
US5634052A (en) * 1994-10-24 1997-05-27 International Business Machines Corporation System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5782762A (en) * 1994-10-27 1998-07-21 Wake Forest University Method and system for producing interactive, three-dimensional renderings of selected body organs having hollow lumens to enable simulated movement through the lumen
TW313643B (ko) * 1994-12-14 1997-08-21 At & T Corp
US5842024A (en) * 1995-02-27 1998-11-24 Ast Research, Inc. Method of software installation
US5794052A (en) * 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5745313A (en) * 1995-03-23 1998-04-28 Microsoft Corporation Method and apparatus for expanding data storage capacity on a floppy diskette
US5732265A (en) * 1995-11-02 1998-03-24 Microsoft Corporation Storage optimizing encoder and method
GB2309104B (en) * 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
US6161218A (en) * 1996-01-16 2000-12-12 Sun Microsystems Inc. Software patch architecture
US6167562A (en) * 1996-05-08 2000-12-26 Kaneko Co., Ltd. Apparatus for creating an animation program and method for creating the same
US5933842A (en) * 1996-05-23 1999-08-03 Microsoft Corporation Method and system for compressing publication documents in a computer system by selectively eliminating redundancy from a hierarchy of constituent data structures
JP3763937B2 (ja) * 1996-06-28 2006-04-05 富士通株式会社 オブジェクト指向プログラミング装置、およびオブジェクト結合プログラム記憶媒体
US5813008A (en) * 1996-07-12 1998-09-22 Microsoft Corporation Single instance storage of information
JPH10295934A (ja) * 1997-04-25 1998-11-10 Sega Enterp Ltd ビデオゲーム装置及びモデルのテクスチャの変化方法
JP3496744B2 (ja) * 1997-06-13 2004-02-16 三洋電機株式会社 画像データ記録装置およびディジタルカメラ
JP3191922B2 (ja) * 1997-07-10 2001-07-23 松下電器産業株式会社 画像復号化方法
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US5983239A (en) * 1997-10-29 1999-11-09 International Business Machines Corporation Storage management system with file aggregation supporting multiple aggregated file counterparts
US6021415A (en) * 1997-10-29 2000-02-01 International Business Machines Corporation Storage management system with file aggregation and space reclamation within aggregated files
JP3232052B2 (ja) * 1997-10-31 2001-11-26 松下電器産業株式会社 画像復号化方法
JPH11143724A (ja) * 1997-11-13 1999-05-28 Sharp Corp 情報処理装置および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US6080207A (en) * 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6377958B1 (en) * 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
US6262726B1 (en) * 1998-10-09 2001-07-17 Dell U.S.A., L.P. Factory installing desktop components for an active desktop
TW408286B (en) * 1998-12-18 2000-10-11 Inventec Corp Software pre-installation method
US6188779B1 (en) * 1998-12-30 2001-02-13 L&H Applications Usa, Inc. Dual page mode detection
US6711624B1 (en) * 1999-01-13 2004-03-23 Prodex Technologies Process of dynamically loading driver interface modules for exchanging data between disparate data hosts
US6434744B1 (en) * 1999-03-03 2002-08-13 Microsoft Corporation System and method for patching an installed application program
US6427236B1 (en) * 1999-03-03 2002-07-30 Microsoft Corporation Method for installing a patch based on patch criticality and software execution format
US6466999B1 (en) * 1999-03-31 2002-10-15 Microsoft Corporation Preprocessing a reference data stream for patch generation and compression
DE60027637T2 (de) * 1999-05-06 2006-09-28 Seiko Epson Corp. Netzwerkverwaltungssystem
US6385766B1 (en) * 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6282711B1 (en) * 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US6493871B1 (en) * 1999-09-16 2002-12-10 Microsoft Corporation Method and system for downloading updates for software installation
US6598223B1 (en) * 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6938211B1 (en) * 1999-11-24 2005-08-30 University of Pittsburgh of the Common Wealth System of Higher Education Methods and apparatus for an image transfer object
US6681323B1 (en) * 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
WO2001060059A1 (en) * 2000-02-07 2001-08-16 Sony Corporation Image processor and image processing method and recorded medium
US6772192B1 (en) * 2000-02-29 2004-08-03 Hewlett-Packard Development Company, L.P. Software download and distribution via image building and multicast
US6763150B1 (en) * 2000-08-29 2004-07-13 Freescale Semiconductor, Inc. Image processing system with multiple processing units
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US7093132B2 (en) * 2001-09-20 2006-08-15 International Business Machines Corporation Method and apparatus for protecting ongoing system integrity of a software product using digital signatures
TW563376B (en) * 2002-03-15 2003-11-21 Via Tech Inc Method for adjusting color value or related parameter of overlay image frame
US7260738B2 (en) * 2002-06-17 2007-08-21 Microsoft Corporation System and method for splitting an image across multiple computer readable media

Also Published As

Publication number Publication date
CN1839413A (zh) 2006-09-27
WO2005020156A8 (en) 2007-02-15
CN100378648C (zh) 2008-04-02
EP1654708A1 (en) 2006-05-10
WO2005020156A1 (en) 2005-03-03
US20040034849A1 (en) 2004-02-19
JP2007521528A (ja) 2007-08-02

Similar Documents

Publication Publication Date Title
KR20070048638A (ko) 볼륨 이미지 및 그것을 포함하는 컴퓨터 판독가능 매체
US7017144B2 (en) Combined image views and method of creating images
US7395453B2 (en) System and method for splitting an image across multiple computer readable media
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
US6947954B2 (en) Image server store system and method using combined image views
US7917481B1 (en) File-system-independent malicious content detection
US9411691B2 (en) Virtual machine disaster recovery
US9645843B2 (en) Image instance mapping
US10740184B2 (en) Journal-less recovery for nested crash-consistent storage systems
US20180060414A1 (en) Language tag management on international data storage
US11461140B2 (en) Systems and methods for controller-worker architecture for searching a storage system
JP2006031109A (ja) 管理システム及び管理方法
US8655847B2 (en) Mirroring data changes in a database system
CN110162429A (zh) 系统修复方法、服务器及存储介质
US8327329B2 (en) Application dehydration, synchronization, and rehydration
CN111786808A (zh) 云系统的迁移方法、装置和混合云系统
US8190587B1 (en) In-place image promotion
JP6178119B2 (ja) データ移行システム、及びデータ移行方法
CN113434673A (zh) 数据处理方法和计算机可读存储介质、电子设备
JP5595957B2 (ja) アクセスログ処理システム及び方法及びプログラム、アクセスログ格納検索装置
KR102336813B1 (ko) 사업분할에 따라 조직 데이터를 선별적으로 분리하는 방법 및 시스템
CN116700902B (zh) 一种镜像层异步并行提取的容器加速部署方法及装置
CN117909138A (zh) 文件恢复方法、装置、设备及存储介质
CN111090614A (zh) Rom快照的读取方法、装置和存储介质
JPH1063676A (ja) ドキュメント管理システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application