KR100717064B1 - 소프트웨어 업데이트 실행 방법 및 장치 - Google Patents
소프트웨어 업데이트 실행 방법 및 장치 Download PDFInfo
- Publication number
- KR100717064B1 KR100717064B1 KR1020060020387A KR20060020387A KR100717064B1 KR 100717064 B1 KR100717064 B1 KR 100717064B1 KR 1020060020387 A KR1020060020387 A KR 1020060020387A KR 20060020387 A KR20060020387 A KR 20060020387A KR 100717064 B1 KR100717064 B1 KR 100717064B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- command
- data
- pointer
- window
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 소프트웨어를 업데이트 하는 방법 및 장치에 관한 것으로서, 특히 패치 실행 과정에서 새로운 파일을 생성시키지 않고 이전 파일을 바로 새로운 버전의 파일로 패치하는 방법 및 장치에 관한 것이다.
본 발명에 따른 소프트웨어 업데이트를 실행하기 위한 델타 파일 생성 방법은 슬라이딩 윈도우 방식에 따라 윈도우를 이동시키면서 이전 버전 파일과 새로운 버전 파일의 차이에 근거한 COPY 명령 및 ADD 명령으로 구성되는 델타 파일을 생성시키는 단계; 및 상기 델타 파일을 생성시키는 과정에서 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 상기 윈도우의 크기를 확장시키는 단계를 포함함을 특징으로 한다.
Description
도 1은 본 발명에 관련된 FW(Full Window) 방식에 따른 델타 파일 생성 과정을 보여주는 도면이다.
도 2는 본 발명에 관련된 IPSW(In-Place Sliding Window) 방식에 따른 델타 파일 생성 과정을 보여주는 도면이다.
도 3은 본 발명에 따른 소프트웨어 업데이트 방법이 실행되는 시스템의 블록 구성도이다.
도 4는 본 발명에 따른 소프트웨어 업데이트 실행 방법의 흐름도이다.
도 5는 본 발명에 따른 델타 파일 생성 과정의 세부 흐름도이다.
도 6은 본 발명에 따른 패치 실행 과정의 세부 흐름도이다.
도 7은 본 발명에 따른 델타 파일 생성 과정을 보여주는 도면이다.
도 8은 본 발명에 따른 패치 실행 과정을 보여주는 도면이다.
본 발명은 소프트웨어를 업데이트 하는 방법 및 장치에 관한 것으로서, 특히 패치 실행 과정에서 새로운 파일을 생성시키지 않고 이전 파일을 바로 새로운 버전의 파일로 패치하는 방법 및 장치에 관한 것이다.
일반적으로, 소프트웨어 패치 알고리즘에 따라서 이전 버전의 파일에서 새로운 버전의 파일을 생성시키기 위해서 델타 파일(delta file)이 생성된다. 델타 파일은 어떤 동작을 수행할 명령과 명령에 사용될 데이터로 구성된다. 여기서, 명령은 ADD 명령과 COPY 명령으로 구성된다.
본 발명과 관련된 소프트웨어 패치 알고리즘으로는 FW(Full Window) 방식에 따른 델타 파일 생성 방법과 IPSW(In-Place Sliding Window) 방식에 따른 델타 파일 생성 방법이 있다.
우선, 이전 버전 파일과 새로운 버전 파일이 다음과 같다고 가정하자.
이전 버전 파일 : A B C D E F G H
새로운 버전 파일 : 1 2 3 A B C
이 경우에 도 1 및 도 2에 각각 FW 방식 및 IPSW 방식에 따른 델타 생성 과정을 도시하였다.
패치 알고리즘에서 델타 파일을 생성시킬 때 윈도우(Window)를 사용하는데, 도 1 및 2에서 회색으로 처리된 부분(윈도우 주소 0~7에 포함된 부분)이 이에 해당된다. 윈도우는 델타 파일을 생성하기 위하여 참조되는 부분이며, 윈도우에 포함되지 않은 영역은 참조되지 않는다. 윈도우의 주소는 0번부터 시작되며 해당 주소가 COPY 명령의 데이터를 생성할 때에 참조된다.
이와 같이 생성된 델타 파일을 이용하여 새로운 버전의 파일을 생성시키기 위하여 FW 방법을 사용하는 경우에는 모든 원본 파일의 부분들이 COPY 명령의 대상이 될 수 있으므로 원본 파일을 변형하는 것이 불가능하다. 이로 인하여 패치하는 과정에서 필요로 하는 메모리 용량이 커지는 단점이 있다.
또한, IPSW 방법을 사용하는 경우에는 원본 파일에 직접 덮어쓰는 방식(즉, in-place 패치 방식)으로 새로운 버전의 파일을 생성시킴으로써, 패치 과정에서 필요로 하는 메모리의 용량을 FW 방법에 비하여 줄일 수 있으나, 원본 파일에서 삭제되는 부분을 재사용할 수 없으므로 ADD 명령에 의하여 추가될 데이터가 많아져 델타 파일의 크기가 FW 방법에 비하여 커지는 단점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 In-place 패치 방식에서 삭제되는 원본 파일을 재사용하여 델타 파일의 크기를 줄이기 위한 소프트웨어 업데이트 실행 방법 및 장치를 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른 소프트웨어 업데이트를 실행하기 위한 델타 파일 생성 방법은 (a) 슬라이딩 윈도우 방식에 따라 윈도우를 이동시키면서 이전 버전 파일과 새로운 버전 파일의 차이에 근거한 COPY 명령 및 ADD 명령으로 구성되는 델타 파일을 생성시키는 단계; 및 (b) 상기 델타 파일을 생성시키는 과정에서 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 상기 윈도우의 크기를 확장시키는 단계를 포함함을 특징으로 한다.
바람직하게는 상기 델타 파일을 생성시키는 단계(a)는 (a1) 상기 이전 버전 파일의 데이터와 상기 새로운 버전 파일의 데이터를 결합한 일련의 데이터로 구성된 결합 파일을 생성시키는 단계; (a2) 상기 결합 파일에 슬라이딩 윈도우 방식을 적용하여 윈도우 시작점을 지시하는 윈도우 포인터 및 입력 포인터를 연동하여 이동시키면서 윈도우 내에 포함된 데이터들과 입력 포인터가 지시하는 위치부터 시작되는 새로운 버전 파일의 데이터들을 비교하는 단계; 및 (a3) 상기 단계(a2)의 비교 결과 공통된 부분은 COPY 명령으로, 공통된 부분이 존재하지 않는 경우에는 ADD 명령으로 델타 파일을 생성시키는 단계를 포함함을 특징으로 한다.
또한, 상기 윈도우의 크기를 확장시키는 단계(b)는 (b1) 상기 델타 파일을 생성시키는 과정에서 상기 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터를 임시 저장하는 단계; 및 (b2) 상기 윈도우의 크기를 상기 단계(b1)에서 임시 저장된 데이터가 포함되도록 확장시키는 단계를 포함함을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위하여 본 발명의 제1실시 예에 따른 델타 파일을 이용하여 원본 파일에 직접 덮어쓰는 방식으로 소프트웨어 패치를 실행하는 방법은 상기 델타 파일의 명령이 ADD 명령인 경우에, 상기 ADD 명령으로 삭제되는 원본 파일의 데이터를 임시 저장한 후에 상기 원본 파일에 ADD 명령에 따른 데이터를 기록하는 단계; 및 상기 임시 저장된 데이터를 이용하여 상기 델타 파일의 COPY 명령을 실행하는 단계를 포함함을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위하여 본 발명의 제2실시 예에 따른 델타 파일을 이용하여 원본 파일에 직접 덮어쓰는 방식으로 소프트웨어 패치를 실행 하는 방법은 델타 파일을 이용하여 원본 파일에 덮어쓰는 방식으로 소프트웨어 패치를 실행하는 방법에 있어서, (a) 포인터의 위치를 상기 원본 파일의 첫 부분에 위치시키는 단계; (b) 상기 델타 파일의 명령이 ADD 명령인지 또는 COPY 명령인지를 판단하는 단계; (c) 상기 단계(b)의 판단 결과 상기 델타 파일의 명령이 ADD 명령인 경우에, 상기 포인터의 위치에 있는 데이터를 임시 저장한 후 상기 포인터의 위치에 ADD 명령에 따른 데이터를 기록하고 ADD 명령의 데이터 길이만큼 포인터를 이동시키는 단계; 및 (d) 상기 단계(b)의 판단 결과 상기 델타 파일의 명령이 COPY 명령인 경우에, 상기 포인터의 위치에 COPY 명령의 주소 및 길이에 해당되는 데이터를 복사하고, COPY 명령의 길이만큼 상기 포인터를 이동시키는 단계를 포함함을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여 네트워크에서의 소프트웨어 업데이트 실행 방법은 (a) 슬라이딩 윈도우 방식을 적용하여 델타 파일을 생성시키는 과정에서 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 윈도우의 크기를 확장시키면서 델타 파일을 생성시키는 단계; (b) 상기 생성된 델타 파일을 전송받는 단계; 및 (c) 상기 전송된 델타 파일을 읽어내어, 상기 델타 파일의 명령이 ADD 명령인 경우에는 상기 ADD 명령으로 삭제되는 원본 파일의 데이터를 임시 저장한 후에 원본 파일에 ADD 명령에 따른 데이터를 기록하고, 임시 저장된 데이터를 이용하여 소프트웨어 패치를 실행하는 단계를 포함함을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여 델타 파일을 생성시키는 서버 컴퓨터는 슬라이딩 윈도우 방식을 적용하여 이전 버전 파일과 새로운 버전 파일의 차이에 근거하여 ADD 명령 및 COPY 명령으로 델타 파일을 생성시키며, 상기 델타 파일을 생성시키는 과정에서 상기 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 윈도우의 크기를 확장시키는 델타 파일 생성 모듈; 및 상기 델타 파일 생성 모듈에서 생성된 델타 파일을 저장하는 저장 수단을 포함함을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여 델타 파일을 이용하여 소프트웨어 패치를 실행하는 클라이언트 컴퓨터는 원본 파일을 델타 파일에 포함된 명령에 따라 덮어쓰고, 상기 델타 파일의 명령이 ADD 명령인 경우에는 상기 ADD 명령으로 삭제되는 상기 원본 파일의 데이터를 임시 저장한 후에 상기 원본 파일에 ADD 명령에 따른 데이터를 기록하고, 상기 임시 저장된 데이터를 델타 파일의 COPY 명령에 이용하여 소프트웨어 패치를 실행하는 패치 모듈; 및 상기 패치 모듈에서 생성된 델타 파일을 저장하는 저장 수단을 포함함을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여 본 발명은 상기 델타 파일을 생성시키는 방법 및 패치를 실행하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 3에 본 발명에 따른 소프트웨어 업데이트 실행 방법이 적용되는 시스템의 블록 다이어그램을 도시하였다.
도 3에 도시된 바와 같이, 본 발명에 따른 소프트웨어 업데이트 실행 방법이 적용되는 시스템은 제1컴퓨터(10)와 제2컴퓨터(20)로 구성되며, 제1컴퓨터(10)와 제2컴퓨터(20)는 네트워크로 연결된다. 일반적으로 델타 파일을 생성시키는 제1컴퓨터(10)는 서버 컴퓨터를 의미하며, 델타 파일을 이용하여 소프트웨어 패치를 실행하는 제2컴퓨터(20)는 클라이언트 컴퓨터를 의미한다.
여기에서, 네트워크는 일 예로서 UPnP 기반의 네트워크로 구성될 수 있다. 물론, 본 발명이 UPnP 기반의 네트워크 접속 기술에 한정되는 것이 아니며, 인터넷을 포함하여 다양한 네트워크 접속 기술이 적용될 수도 있다.
일반적으로 소프트웨어 업데이트를 실행하는 과정은 도 4에 도시된 바와 같이 델타 파일 생성 과정(S410), 델타 파일 전송 과정(S420) 및 델타 파일을 이용한 패치 실행 과정(S430)으로 구성된다.
위의 델타 파일 생성 과정(S410)은 제1컴퓨터(10 : 서버 컴퓨터)에서 실행되고, 델타 파일 전송 과정(S420)은 네트워크 상에서의 제1컴퓨터(10)와 제2컴퓨터(20 : 클라이언트 컴퓨터) 통신에 의하여 실행되고, 델타 파일을 이용한 패치 실행 과정(S430)은 제2컴퓨터(20)에서 실행된다.
그러면, 소프트웨어 업데이트를 실행하는 각각의 과정에 대하여 세부적으로 설명하기로 한다.
제1컴퓨터(10)에 내장된 델타 파일 생성 모듈(320)은 이전 버전 파일(310 :원본 파일)과 새로운 버전 파일(330)을 비교하여 그 차이에 근거하여 델타 파일을 생성시키는 하드웨어 및 소프트웨어로 구성된다.
그러면, 델타 파일 생성 모듈(320)에서 델타 파일을 생성시키는 과정(S410)을 도 5의 흐름도를 참조하여 설명하기로 한다.
우선, 이전 버전 파일(310)과 새로운 버전 파일(320)을 결합한 결합 파일을 생성시킨다(S501). 즉, 이전 버전 파일(310)이 [A B C D E F G H]로 구성되고, 새로운 버전 파일(320)이 [1 2 3 A B C]로 구성된다고 가정할 때, 결합 파일은 도 7(a)에 도시된 바와 같이 [A B C D E F G H 1 2 3 A B C]로 된다.
다음으로, 윈도우 포인터(P1) 및 입력 포인터(P2) 위치를 초기화시킨다(S502). 여기에서, 윈도우 포인터(P1)는 윈도우 시작점을 지시하는 수단이며, 윈도우 포인터(P1)는 결합 파일의 첫 부분을 지시하도록 초기화시킨다. 그리고, 입력 포인터(P2)는 결합 파일 중에서 비교 시작점을 지시하는 수단이며, 입력 포인터(P2)는 결합 파일에 포함된 새로운 버전 파일의 첫 부분을 지시하도록 초기화시킨다.
윈도우 포인터(P1)와 입력 포인터(P2) 위치를 초기화시키고 나면, 윈도우 포인터(P1) 및 입력 포인터(P2)의 위치는 도 7(a)에 도시된 바와 같게 된다.
그리고 나서, 입력 포인터(P2) 위치에서 시작하는 데이터와 윈도우 내에 포함된 데이터(윈도우 주소 0~7에 포함된 데이터)를 비교한다(S503).
단계503(S503)의 비교 결과 공통된 데이터가 존재하는지를 판단한다(S504).
단계504(S504)의 판단 결과 공통된 데이터가 존재하지 않는 경우에는 델타 파일에 ADD 명령을 생성시킨다(S507).
즉, 도 7(a)의 경우에는 입력 포인터(P2) 위치에서 시작하는 데이터 "1"이 회색으로 표현된 윈도우(윈도우 주소 0~7) 내에 포함되어 있지 않으므로 ADD 1 명령에 대한 코드를 델타 파일에 기입한다.
그리고 나서, ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터를 이른바 Rollback 데이터로 임시 저장한다(S508). 즉, ADD 명령으로 교체되어 삭제되는 데이터는 윈도우 포인터(P1) 위치의 데이터에 해당되며, 도 7(a)에서 Rollback 데이터는 "A"이다
그리고, 임시 저장된 Rollback 데이터를 포함하도록 윈도우 크기를 확장시킨다. 즉, 도 7(a)에서 윈도우 사이즈는 윈도우 주소 0~7 사이의 데이터 범위에 해당되었으나, Rollback 데이터가 생성된 후에는 도 7(b)에 도시된 바와 같이 윈도우 사이즈는 윈도우 주소 0~8 사이의 데이터 범위에 해당되도록 확장된다.
다음으로, 결합 파일에 포함된 새로운 버전 파일의 데이터 중에서 델타 파일로 처리되지 않은 데이터가 존재하는지를 판단한다(S510).
단계510(S510)의 판단 결과 델타 파일로 처리되지 않은 데이터가 존재하는 경우에는 입력 포인터(P2) 및 윈도우 포인터(P1)를 각각 다음 데이터 처리를 위하여 이동시킨다(S511). 델타 파일에 ADD 명령을 생성시킨 경우에는 입력 포인터(P2) 및 윈도우 포인터(P1)를 각각 1만큼 전진 이동시키고, COPY 명령을 생성시킨 경우에는 입력 포인터(P2) 및 윈도우 포인터(P1)를 각각 COPY 명령의 길이만큼 전진 이동시킨다.
즉, 7(a)에서 델타 파일에 ADD 1 명령을 생성시킨 경우에는, 입력 포인터(P2) 및 윈도우 포인터(P1)는 도 7(b)에 도시된 바와 같이 각각 1씩 앞쪽 방향으로 이동된다.
단계511(S511)을 실행시키고 나서 단계503(S503)으로 피드백 되어 위의 단계들을 반복한다.
위와 같은 동작에 의하여 도 7(b)에서 윈도우는 Rollback 데이터인 "A"가 포함하도록 확장된다. 도 7(b)의 윈도우 포인터(P1) 및 입력 포인터(P2) 위치에서 델타 파일에는 ADD 2 명령에 대한 코드가 기입되고, Rollback 데이터에 B가 추가된다.
이에 따라서, 도 7(c)에서 윈도우는 Rollback 데이터인 "A B"가 포함하도록 확장되며, 도 7(c)의 윈도우 포인터(P1) 및 입력 포인터(P2) 위치에서 델타 파일에는 ADD 3 명령에 대한 코드가 기입되고, Rollback 데이터에 "C"가 추가된다.
이에 따라서, 도 7(d)에서 윈도우는 Rollback 데이터인 "A B C"가 포함하도록 확장된다.
그러면, 도 7(d)의 윈도우 포인터(P1) 및 입력 포인터(P2) 위치에서 델타 파일이 생성되는 과정을 살펴보기로 한다.
델타 파일을 생성시키면서 윈도우 포인터(P1) 및 입력 포인터(P2)가 도 7(d)와 같이 이동된 상태에서 다음 데이터에 대한 델타 파일을 생성시키기 위하여 단계503(S503)을 실행한다.
즉, 단계503(S503)에 따라 도 7(d)에서 입력 포인터(P2) 위치에서 시작하는 데이터와 윈도우 내에 포함된 데이터를 비교한다. 이 때 윈도우는 위에서 언급한 바와 같이 ADD 명령에 의하여 교체되어 삭제되는 원본 파일(이전 버전 파일)의 데 이터를 임시 저장한 Rollback 데이터 "A B C"까지 확장된다.
이에 따라서, 단계504(S504)의 판단 결과 결합 파일 내의 윈도우에는 입력 포인터(P2) 위치에서 시작하는 데이터 "A"가 존재하지 않으나, 윈도우 영역에 포함된 Rollback 데이터에는 공통된 데이터가 존재한다.
따라서, 단계504(S504)의 판단 결과 공통된 데이터가 존재함으로, 입력 포인터(P2) 위치에서 시작하는 데이터와 윈도우 내에 포함된 데이터 중에서 가장 긴 공통된 데이터를 탐색한다(S505). 도 7(d)의 입력 포인터(P2) 위치에서 시작하는 데이터와 윈도우 내에 포함된 데이터의 가장 긴 공통된 데이터는 "A B C"가 된다.
그리고, 단계505(S505)에서 탐색된 가장 긴 공통된 데이터를 델타 파일에 COPY 명령을 생성시킨다(S506). 즉, 도 7(d)에서의 델타 파일에 COPY 8,3 과 같은 명령에 대한 코드를 기입한다. COPY 8,3에서 8은 복사할 위치를 나타내고, 3은 복사할 데이터의 길이를 나타낸다.
도 7(d)에서 델타 파일을 생성시키고 나면 델타 파일로 처리되지 않은 새로운 버전 파일의 데이터가 결합 파일에 존재하지 않으므로, 최종적으로 완성된 델타 파일(340)을 생성시킨다(S512). 즉, 도 7에 따른 델타 파일은 ADD 1 2 3 와 COPY 8,3 의 명령으로 구성된다.
도 3을 다시 참조하면, 위에서 설명한 방법에 의하여 제1컴퓨터(10)의 델타 파일 생성 모듈(320)에서 생성시킨 델타 파일(340)은 저장 수단(350)에 저장된다.
그리고 나서, 통신 모듈(360)을 통하여 델타 파일(340)을 소프트웨어 패치를 실행시키고자 하는 제2컴퓨터(20)로 전송한다.
그러면, 제2컴퓨터(20)는 통신 모듈(370)을 통하여 제1컴퓨터(10)에서 전송되는 델타 파일(340)을 전송받고, 패치 모듈(380)에서 델타 파일(340)을 이용하여 이전 버전 파일(310)에 덮어쓰기를 실행하여 새로운 버전 파일(330)을 생성시킨다. 즉, 패치 과정에서 이전 버전 파일(310)과 새로운 버전 파일(330)이 각각 별개로 존재하는 것이 아니라, 이전 버전 파일(310)이 새로운 버전 파일(330)로 변경된다.
패치 모듈(380)에서 델타 파일(340)을 이용하여 이전 버전 파일(310)에 덮어쓰기를 실행하면서 새로운 버전 파일(330)을 생성시키는 과정(S430)에 관해서는 도 6의 흐름도를 참조하여 설명하기로 한다.
우선, 포인터(P3) 위치를 초기화시킨다(S601). 즉, 포인터(P3)의 위치를 이전 버전 파일(310: 원본 파일)의 첫 부분을 지시하도록 초기화한다.
다음으로, 전송된 델타 파일(340)의 명령을 읽어낸다(S602). 참고적으로, 델타 파일(340)은 ADD 1 2 3 와 COPY 8,3 명령으로 구성된다.
그리고, 델타 파일(340)에서 읽어낸 명령이 ADD 명령인지 또는 COPY 명령인지를 판단한다(S603).
단계S603(S603)의 판단 결과 ADD 명령인 경우에는 현재 포인터(P3) 위치부터 ADD 명령의 데이터 길이만큼의 이전 버전 파일(310)의 데이터를 Rollback 데이터로 임시 저장한다(S604). 즉, 델타 파일(340)의 첫 번째 명령이 ADD 1 2 3 이기 때문에 도 8(a)에 도시된 바와 같이 이전 버전 파일(310)에서 ADD 명령에 의하여 교체되어 삭제될 데이터 "A B C"가 Rollback 데이터로 임시 저장된다.
그리고 나서, ADD 명령에 따른 데이터를 이전 버전 파일(310)에 덮어쓴다 (S605). 즉, ADD 1 2 3 의 명령을 실행시키면 포인터(P3) 위치부터 "1", "2", "3"이 도 8(b)에 도시된 바와 같이 순차적으로 기록된다.
그리고, ADD 명령에 의하여 기록된 실행된 데이터 길이만큼 포인터(P3) 위치를 이동시킨다(S606). 즉, ADD 1 2 3 의 명령을 실행하고 나면 포인터(P3)의 위치는 도 8(b)와 같이 이동된다.
단계606(S606)을 실행한 후에는 델타 파일(340)에 읽지 않은 명령이 존재하는지 판단한다(S609).
단계609(S609)의 판단 결과 델타 파일(340)에 읽지 않은 명령이 존재하는 경우에는 델타 파일(340)의 다음 명령을 읽어낸다(S610). 즉, 델타 파일의 ADD 1 2 3 의 명령에 따른 덮어쓰기를 실행한 후에는, 다음 명령인 COPY 8,3을 델타 파일(340)에서 읽어낸다.
다음으로, 델타 파일(340)에서 읽어낸 명령이 COPY 명령에 해당됨으로 단계607(S607)에서 COPY 명령에 따른 데이터 복사를 실행한다(S607). 즉, COPY 8,3의 명령을 실행하는데, 복사할 위치 "8"은 Rollback 데이터가 저장된 위치에 해당되어 Rollback 데이터 "A B C"를 이전 버전 파일(310)의 포인터(P3) 위치부터 복사한다. 이에 따라서, 이전 버전 파일(310)은 도 8(c)와 같이 변경된다.
단계607(S607)에 따른 COPY 명령을 실행한 후에는 COPY 명령의 길이만큼 포인터(P3)를 이동시킨다(S608).
단계606(S606) 또는 단계608(S608)을 실행한 후에는 델타 파일(340)에 읽지 않은 명령이 남아 있는지를 판단한다(S609).
단계609(S609)의 판단 결과 델타 파일(340)에 읽지 않은 명령이 남아 있는 경우에는 다음 명령을 읽어내어 단계603(S603)으로 피드백 시켜 위의 단계들을 반복한다.
그리고, 단계609(S609)의 판단 결과 델타 파일(340)의 모든 명령을 읽어낸 경우에는 도 8(c)와 같은 완성된 새로운 버전 파일(330)이 최종적으로 생성된다(S611).
도 3을 다시 참조하면, 제2컴퓨터(20)의 패치 모듈(380)에서 위에서 설명한 바와 같은 방법에 의하여 생성시킨 새로운 버전 파일(330)은 저장 수단(390)에 저장된다.
이와 같은 방법에 의하여 이전 버전 파일(원본 파일)을 변경하여 바로 새로운 버전 파일로 패치하는 방식인 In-place 패치 방식을 사용하는 경우에도 ADD 명령으로 삭제되는 원본 파일의 데이터를 Rollback 데이터로 임시 저장하여 패치 과정에서 재사용함으로써 델타 파일의 용량을 줄일 수 있게 된다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, In-place 패치 방식을 사용하여 델타 파일을 생성시키는 경우에 ADD 명령으로 삭제되는 원본 파일의 데이터를 별도로 임시 저장하고, 임시 저장된 삭제되는 원본 파일의 데이터를 델타 파일 생성 및 패치 과정에서 재사용함으로써, 델타 파일의 크기를 줄일 수 있는 효과가 발생된다.
Claims (21)
- (a) 슬라이딩 윈도우 방식에 따라 윈도우를 이동시키면서 이전 버전 파일과 새로운 버전 파일의 차이에 근거한 COPY 명령 및 ADD 명령으로 구성되는 델타 파일을 생성시키는 단계; 및(b) 상기 델타 파일을 생성시키는 과정에서 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 상기 윈도우의 크기를 확장시키는 단계를 포함함을 특징으로 하는 델타 파일 생성 방법.
- 제1항에 있어서, 상기 단계(a)는(a1) 상기 이전 버전 파일의 데이터와 상기 새로운 버전 파일의 데이터를 결합한 일련의 데이터로 구성된 결합 파일을 생성시키는 단계;(a2) 상기 결합 파일에 슬라이딩 윈도우 방식을 적용하여 윈도우 시작점을 지시하는 윈도우 포인터 및 입력 포인터를 연동하여 이동시키면서 윈도우 내에 포함된 데이터들과 입력 포인터가 지시하는 위치부터 시작되는 새로운 버전 파일의 데이터들을 비교하는 단계; 및(a3) 상기 단계(a2)의 비교 결과 공통된 부분은 COPY 명령으로, 공통된 부분이 존재하지 않는 경우에는 ADD 명령으로 델타 파일을 생성시키는 단계를 포함함을 특징으로 하는 델타 파일 생성 방법.
- 제2항에 있어서, 상기 윈도우 포인터는 상기 일련의 결합 데이터의 첫 부분부터 시작하여 이동되고, 상기 입력 포인터는 상기 일련의 결합 데이터 중의 새로운 버전 파일의 데이터의 첫 부분부터 시작하여 마지막 부분까지 상기 윈도우 포인터와 연동하여 이동됨을 특징으로 하는 델타 파일 생성 방법.
- 제2항에 있어서, 상기 단계(a2)는 상기 입력 포인터가 지시하는 위치부터 시작되는 데이터와 윈도우 내의 데이터를 비교하여 가장 긴 공통된 데이터를 찾아내는 것을 특징으로 하는 델타 파일 생성 방법.
- 제1항에 있어서, 상기 단계(b)는(b1) 상기 델타 파일을 생성시키는 과정에서 상기 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터를 임시 저장하는 단계; 및(b2) 상기 윈도우의 크기를 상기 단계(b1)에서 임시 저장된 데이터가 포함되도록 확장시키는 단계를 포함함을 특징으로 하는 델타 파일 생성 방법.
- 제1항 내지 제5항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 델타 파일을 이용하여 원본 파일에 직접 덮어쓰는 방식으로 소프트웨어 패치를 실행하는 방법에 있어서,상기 델타 파일의 명령이 ADD 명령인 경우에, 상기 ADD 명령으로 삭제되는 원본 파일의 데이터를 임시 저장한 후에 상기 원본 파일에 ADD 명령에 따른 데이터를 기록하는 단계; 및상기 임시 저장된 데이터를 이용하여 상기 델타 파일의 COPY 명령을 실행하는 단계를 포함함을 특징으로 하는 패치 실행 방법.
- 델타 파일을 이용하여 원본 파일에 덮어쓰는 방식으로 소프트웨어 패치를 실행하는 방법에 있어서,(a) 포인터의 위치를 상기 원본 파일의 첫 부분에 위치시키는 단계;(b) 상기 델타 파일의 명령이 ADD 명령인지 또는 COPY 명령인지를 판단하는 단계;(c) 상기 단계(b)의 판단 결과 상기 델타 파일의 명령이 ADD 명령인 경우에, 상기 포인터의 위치에 있는 데이터를 임시 저장한 후 상기 포인터의 위치에 ADD 명령에 따른 데이터를 기록하고 ADD 명령의 데이터 길이만큼 포인터를 이동시키는 단계; 및(d) 상기 단계(b)의 판단 결과 상기 델타 파일의 명령이 COPY 명령인 경우에, 상기 포인터의 위치에 COPY 명령의 주소 및 길이에 해당되는 데이터를 복사하고, COPY 명령의 길이만큼 상기 포인터를 이동시키는 단계를 포함함을 특징으로 하는 패치 실행 방법.
- 제8항에 있어서, 상기 단계(c) 또는 단계(d)를 실행한 후에, 델타 파일의 다음 명령을 읽어내어 상기 단계(b)부터 반복하여 실행함을 특징으로 하는 패치 실행 방법.
- 제8항에 있어서, 상기 단계(c)에서 임시 저장된 데이터는 상기 COPY 명령에 이용됨을 특징으로 하는 패치 실행 방법.
- 제8항 내지 제10항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- (a) 슬라이딩 윈도우 방식을 적용하여 델타 파일을 생성시키는 과정에서 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 윈도우의 크기를 확장시키면서 델타 파일을 생성시키는 단계;(b) 상기 생성된 델타 파일을 전송받는 단계; 및(c) 상기 전송된 델타 파일을 읽어내어, 상기 델타 파일의 명령이 ADD 명령인 경우에는 상기 ADD 명령으로 삭제되는 원본 파일의 데이터를 임시 저장한 후에 원본 파일에 ADD 명령에 따른 데이터를 기록하고, 임시 저장된 데이터를 이용하여 소프트웨어 패치를 실행하는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 실행 방법.
- 제12항에 있어서, 상기 단계(a)는(a1) 상기 이전 버전 파일의 데이터와 상기 새로운 버전 파일의 데이터를 결합한 일련의 데이터로 구성된 결합 파일을 생성시키는 단계;(a2) 상기 결합 데이터에 슬라이딩 윈도우 방식을 적용하여 윈도우 시작점을 지시하는 윈도우 포인터 및 입력 포인터를 연동하여 이동시키면서 윈도우 내에 포함된 데이터들과 입력 포인터가 지시하는 위치부터 시작되는 새로운 버전 파일의 데이터들을 비교하는 단계;(a3) 상기 단계(a2)의 비교 결과 공통된 부분은 COPY 명령으로, 공통된 부분이 존재하지 않는 경우에는 ADD 명령으로 델타 파일을 생성시키는 단계;(a4) 상기 델타 파일을 생성시키는 과정에서 상기 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터를 임시 저장하는 단계; 및(a5) 상기 윈도우의 크기를 상기 단계(b1)에서 임시 저장된 데이터가 포함되도록 확장시키는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 실행 방법.
- 제12항에 있어서, 상기 단계(c)는(c1) 포인터의 위치를 상기 원본 파일의 첫 부분에 위치시키는 단계;(c2) 상기 델타 파일의 명령이 ADD 명령인지 또는 COPY 명령인지를 판단하는 단계;(c3) 상기 단계(c2)의 판단 결과 상기 델타 파일의 명령이 ADD 명령인 경우에, 상기 포인터의 위치에 있는 데이터를 임시 저장한 후 상기 포인터의 위치에 ADD 명령에 따른 데이터를 기록하고 ADD 명령의 데이터 길이만큼 포인터를 이동시키는 단계; 및(c4) 상기 단계(c2)의 판단 결과 상기 델타 파일의 명령이 COPY 명령인 경우에, 상기 포인터의 위치에 COPY 명령의 주소 및 길이에 해당되는 데이터를 복사하고, COPY 명령의 길이만큼 상기 포인터를 이동시키는 단계를 포함함을 특징으로 하는 소프트웨어 업데이트 실행 방법.
- 제14항에 있어서, 상기 단계(c3) 또는 단계(c4)를 실행한 후에, 델타 파일의 다음 명령을 읽어내어 상기 단계(c2)부터 반복하여 실행함을 특징으로 하는 소프트웨어 업데이트 실행 방법.
- 제14항에 있어서, 상기 단계(c3)에서 임시 저장된 데이터는 상기 COPY 명령에 이용됨을 특징으로 하는 소프트웨어 업데이트 실행 방법.
- 제12항 내지 제16항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 슬라이딩 윈도우 방식을 적용하여 이전 버전 파일과 새로운 버전 파일의 차이에 근거하여 ADD 명령 및 COPY 명령으로 델타 파일을 생성시키며, 상기 델타 파일을 생성시키는 과정에서 상기 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터가 포함되도록 윈도우의 크기를 확장시키는 델타 파일 생성 모듈; 및상기 델타 파일 생성 모듈에서 생성된 델타 파일을 저장하는 저장 수단을 포함함을 특징으로 하는 서버 컴퓨터.
- 제18항에 있어서, 상기 델타 파일 생성 모듈은윈도우의 시작점을 지시하는 윈도우 포인터;상기 새로운 버전 파일의 비교 시작점을 지시하는 입력 포인터;상기 이전 버전 파일의 데이터와 상기 새로운 버전 파일의 데이터를 결합한 일련의 데이터로 구성된 결합 파일을 생성시키는 수단;상기 결합 데이터에 슬라이딩 윈도우 방식을 적용하여 상기 윈도우 포인터 및 입력 포인터를 연동하여 이동시키면서 윈도우 내에 포함된 데이터들과 상기 입력 포인터가 지시하는 위치부터 시작되는 새로운 버전 파일의 데이터들을 비교하는 수단;상기 비교 결과 공통된 부분은 COPY 명령으로, 공통된 부분이 존재하지 않는 경우에는 ADD 명령으로 델타 파일을 생성시키는 수단;상기 델타 파일을 생성시키는 과정에서 상기 ADD 명령으로 교체되어 삭제되는 이전 버전 파일의 데이터를 임시 저장하는 수단; 및상기 윈도우의 크기를 상기 단계(b1)에서 임시 저장된 데이터가 포함되도록 확장시키는 수단을 포함함을 특징으로 하는 서버 컴퓨터.
- 원본 파일을 델타 파일에 포함된 명령에 따라 덮어쓰고, 상기 델타 파일의 명령이 ADD 명령인 경우에는 상기 ADD 명령으로 삭제되는 상기 원본 파일의 데이터를 임시 저장한 후에 상기 원본 파일에 ADD 명령에 따른 데이터를 기록하고, 상기 임시 저장된 데이터를 델타 파일의 COPY 명령에 이용하여 소프트웨어 패치를 실행하는 패치 모듈; 및상기 패치 모듈에서 생성된 델타 파일을 저장하는 저장 수단을 포함함을 특징으로 하는 클라이언트 컴퓨터.
- 제20항에 있어서, 상기 패치 모듈은상기 원본 파일의 덮어쓰기 시작 위치를 지시하는 포인터;상기 델타 파일의 명령이 ADD 명령인지 또는 COPY 명령인지를 판단하는 수단;상기 델타 파일의 명령이 ADD 명령인 경우에, 상기 포인터의 위치에 있는 데이터를 임시 저장하는 수단;상기 포인터의 위치에 ADD 명령에 따른 데이터를 기록하고 ADD 명령의 데이터 길이만큼 포인터를 이동시키는 수단; 및상기 델타 파일의 명령이 COPY 명령인 경우에, 상기 포인터의 위치에 COPY 명령의 주소 및 길이에 해당되는 데이터를 복사하고, COPY 명령의 길이만큼 상기 포인터를 이동시키는 수단을 포함함을 특징으로 하는 클라이언트 컴퓨터.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060020387A KR100717064B1 (ko) | 2006-03-03 | 2006-03-03 | 소프트웨어 업데이트 실행 방법 및 장치 |
US11/634,173 US20070208786A1 (en) | 2006-03-03 | 2006-12-06 | Method and apparatus for updating software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060020387A KR100717064B1 (ko) | 2006-03-03 | 2006-03-03 | 소프트웨어 업데이트 실행 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100717064B1 true KR100717064B1 (ko) | 2007-05-10 |
Family
ID=38270398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060020387A KR100717064B1 (ko) | 2006-03-03 | 2006-03-03 | 소프트웨어 업데이트 실행 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070208786A1 (ko) |
KR (1) | KR100717064B1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7861224B2 (en) * | 2006-06-22 | 2010-12-28 | Microsoft Corporation | Delta compression using multiple pointers |
JP5478986B2 (ja) * | 2009-08-21 | 2014-04-23 | 株式会社日立ソリューションズ | 情報機器及びプログラム |
US8983907B2 (en) * | 2010-12-08 | 2015-03-17 | Microsoft Technology Licensing, Llc | Change notifications from an updated data representation |
US8666997B2 (en) | 2010-12-08 | 2014-03-04 | Microsoft Corporation | Placeholders returned for data representation items |
US9069829B2 (en) | 2011-01-21 | 2015-06-30 | Microsoft Technology Licensing, Llc | Data items manager |
US8838533B2 (en) | 2011-05-20 | 2014-09-16 | Microsoft Corporation | Optimistic application of data edits |
CN103514210B (zh) * | 2012-06-28 | 2017-06-27 | 华为技术有限公司 | 小文件处理方法及装置 |
WO2014089802A1 (zh) * | 2012-12-13 | 2014-06-19 | 华为技术有限公司 | 一种数据处理方法及装置 |
KR20150004200A (ko) * | 2013-07-02 | 2015-01-12 | 한국전자통신연구원 | 데이터 복제 방법 및 장치 |
CN104615470A (zh) * | 2015-03-04 | 2015-05-13 | 成都维远艾珏信息技术有限公司 | 一种嵌入式设备程序更新方法 |
CN105698803B (zh) * | 2016-01-15 | 2018-06-19 | 武汉中海庭数据技术有限公司 | 基于滑动窗二进制比对算法的导航数据增量信息提取方法 |
US10963239B2 (en) | 2018-10-18 | 2021-03-30 | International Business Machines Corporation | Operational file management and storage |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018747A (en) | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
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 |
KR20050010714A (ko) * | 2003-07-21 | 2005-01-28 | 마이크로소프트 코포레이션 | 데이터의 인트라 패키지 델타 압축을 위한 시스템 및 방법 |
US6925467B2 (en) | 2002-05-13 | 2005-08-02 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms |
US6925923B2 (en) | 2001-10-05 | 2005-08-09 | Hycorr Machine Corporation | Rotary cutting die mounting system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060112152A1 (en) * | 2004-11-22 | 2006-05-25 | Microsoft Corporation | Smart patching by targeting particular prior versions of a file |
-
2006
- 2006-03-03 KR KR1020060020387A patent/KR100717064B1/ko not_active IP Right Cessation
- 2006-12-06 US US11/634,173 patent/US20070208786A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018747A (en) | 1997-11-26 | 2000-01-25 | International Business Machines Corporation | Method for generating and reconstructing in-place delta files |
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 |
US6925923B2 (en) | 2001-10-05 | 2005-08-09 | Hycorr Machine Corporation | Rotary cutting die mounting system |
US6925467B2 (en) | 2002-05-13 | 2005-08-02 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms |
KR20050010714A (ko) * | 2003-07-21 | 2005-01-28 | 마이크로소프트 코포레이션 | 데이터의 인트라 패키지 델타 압축을 위한 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20070208786A1 (en) | 2007-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100717064B1 (ko) | 소프트웨어 업데이트 실행 방법 및 장치 | |
JP4864557B2 (ja) | ソフトウェアの更新処理プログラム及び更新処理装置 | |
US8055096B2 (en) | Method and system for incremental patching of binary files | |
US9460184B2 (en) | Application of a differential dataset to a data store using sequential change sets | |
US8395787B2 (en) | Information processing apparatus having customized driver, method of controlling the same, and medium storing control program | |
WO2005055055A1 (ja) | データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 | |
CA2588001C (en) | Method and system for incremental patching of binary files | |
JP2006318207A (ja) | ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム | |
US20080046858A1 (en) | Method and apparatus for merge condition detection | |
JPWO2007099636A1 (ja) | ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置 | |
US7904422B2 (en) | System for deploying data from deployment-source device to deployment-destination device | |
US11269735B2 (en) | Methods and systems for performing data backups | |
CN111090701B (zh) | 业务请求处理方法、装置、可读存储介质和计算机设备 | |
JPH11282687A (ja) | プログラム自動改版方法 | |
JP5525740B2 (ja) | 仮想アプライアンスサーバ管理方法及びシステム | |
KR100772399B1 (ko) | 패치 파일 생성 방법 및 그 방법을 수행하는 프로그램을기록한 컴퓨터 판독 가능한 기록매체 | |
JP4036852B2 (ja) | 差分データ生成装置、差分データ生成方法および差分データ生成プログラム | |
CN113687783A (zh) | 一种对象聚合方法、系统、装置及计算机存储介质 | |
JP2018077690A (ja) | アプリケーションの実行環境の違いに依る互換性を考慮したインストール、及びファームアップ方法 | |
JP2004206353A (ja) | ソフトウェアのインストール方法 | |
JP2009163334A (ja) | 情報処理装置、プログラム及びバックアップ方法 | |
JP2007257156A (ja) | リストアシステム及びリストア方法 | |
JP2008083963A (ja) | 文書管理システム | |
JP5585565B2 (ja) | ファイル管理装置、ファイル管理装置の制御方法、およびそのプログラム | |
JP5023169B2 (ja) | 要実行パッチリスト作成装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |