KR100543567B1 - Realtime backup/recovery system at windows and method thereof - Google Patents

Realtime backup/recovery system at windows and method thereof Download PDF

Info

Publication number
KR100543567B1
KR100543567B1 KR1020040033340A KR20040033340A KR100543567B1 KR 100543567 B1 KR100543567 B1 KR 100543567B1 KR 1020040033340 A KR1020040033340 A KR 1020040033340A KR 20040033340 A KR20040033340 A KR 20040033340A KR 100543567 B1 KR100543567 B1 KR 100543567B1
Authority
KR
South Korea
Prior art keywords
windows
data
device driver
protection
unit
Prior art date
Application number
KR1020040033340A
Other languages
Korean (ko)
Other versions
KR20050018735A (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 영진비쥬얼테크놀러지 주식회사
Priority to KR1020040033340A priority Critical patent/KR100543567B1/en
Publication of KR20050018735A publication Critical patent/KR20050018735A/en
Application granted granted Critical
Publication of KR100543567B1 publication Critical patent/KR100543567B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F11/00Game accessories of general use, e.g. score counters, boxes
    • A63F11/0051Indicators of values, e.g. score counters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/091Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for performance evaluation, i.e. judging, grading or scoring the musical qualities or faithfulness of a performance, e.g. with respect to pitch, tempo or other timings of a reference performance
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/135Musical aspects of games or videogames; Musical instrument-shaped game input interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 윈도우즈에서의 실시간 백업/보호 시스템 및 방법에 관한 것으로 시스템에서 변경된 부분만을 백업하여 시스템에 문제가 발생할 시 이전의 안정적인 상태로 선택적으로 회귀할 수 있는 방법에 관한 것이다. The present invention relates to a system and method for real-time backup / protection in Windows, and to a method for selectively returning to a previously stable state when a problem occurs in a system by backing up only the changed part of the system.

보호 시스템이 설치될 컴퓨터의 파일 시스템을 분석하고 클러스터를 분석하여 동작에 필요한 정보를 설정하는 인스톨러부와, 상기 인스톨러부에서 설정된 정보를 기반으로 하여 컴퓨터가 읽기/쓰기 동작을 하는 데이터를 훅킹하여 가상의 큐에 저장함으로써 파일시스템을 보호/복원하는 윈도우즈 디바이스 드라이버부와, 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터를 바이오스에서 운영체제로 제어가 넘어가기 전에 도스모드에서 원하는 시점으로 복구하는 도스 시스템 복구 모듈부와, 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터를 GUI를 통하여 윈도우즈 상에서 응용하여 이전 상태의 디렉토리구조를 보여주고, 원하는 파일폴더를 복구하고, 가상의 큐의 상태를 모니터링 하는 윈도우즈 응용부로 구성되는 윈도우즈 환경에서의 실시간 백업/보호 시스템 및 방법이 제공된다.The installer unit analyzes the file system of the computer on which the protection system is to be installed, analyzes the cluster, sets information necessary for the operation, and hooks data on which the computer performs read / write operation based on the information set in the installer unit. The Windows device driver unit protects and restores the file system by storing the data in the queue, and the DOS system recovery module unit recovers the data hooked by the Windows device driver unit from DOS mode to a desired point in time before control is passed from the BIOS to the operating system. And a Windows application configured to apply the data hooked by the Windows device driver on Windows through the GUI to show the directory structure of the previous state, restore a desired file folder, and monitor the status of the virtual queue. in This real-time backup / protection system and method are provided.

윈도우즈 디바이스 드라이버부, 훅킹, 복구, 가상의 큐Windows device driver part, hooking, restoration, virtual queue

Description

윈도우즈 환경에서의 실시간 백업/보호 시스템 및 방법{REALTIME BACKUP/RECOVERY SYSTEM AT WINDOWS AND METHOD THEREOF} REALTIME BACKUP / RECOVERY SYSTEM AT WINDOWS AND METHOD THEREOF}             

도 1은 종래의 보호 프로그램의 시스템 구성도.1 is a system configuration diagram of a conventional protection program.

도 2는 종래의 보호 프로그램의 시스템을 나타낸 흐름도.2 is a flowchart showing a system of a conventional protection program.

도 3은 본 발명의 윈도우즈 환경에서의 실시간 백업/보호 시스템의 모듈 구성도.3 is a module configuration diagram of a real-time backup / protection system in the Windows environment of the present invention.

도 4는 본 발명의 윈도우즈 환경에서의 실시간 백업/보호 방법을 나타낸 순서도.Figure 4 is a flow chart illustrating a real time backup / protection method in the Windows environment of the present invention.

도 5는 본 발명의 윈도우즈 환경에서의 실시간 백업/보호 방법의 일 실시 예.5 is an embodiment of a real-time backup / protection method in the Windows environment of the present invention.

도 6은 본 발명의 윈도우즈 환경에서 원하는 시점으로의 시스템 및 파일 복구 방법의 실시 예.6 is an embodiment of a system and file recovery method to a desired time point in the Windows environment of the present invention.

** 도면의 주요 부분에 대한 부호설명 **** Explanation of Signs of Major Parts of Drawings **

310 : 인스톨러부 320 : 윈도우즈 디바이스 드라이버부310: Installer unit 320: Windows device driver unit

330 : 도스 시스템 복구 모듈부 330: DOS system recovery module

340 : 원도우즈 응용부340: Windows application

본 발명은 윈도우즈에서의 실시간 백업/보호 시스템 및 방법에 관한 것으로 시스템에서 변경된 부분만을 백업하여 시스템에 문제가 발생할 시 이전의 안정적인 상태로 선택적으로 회귀할 수 있는 방법에 관한 것이다. The present invention relates to a system and method for real-time backup / protection in Windows, and to a method for selectively returning to a previously stable state when a problem occurs in a system by backing up only the changed part of the system.

일반적으로, 시스템 보호 프로그램은 운영체제가 쓰는 데이터를 훅킹하여  파일형태를 가지는 큐에 저장하고 읽기 동작의 요청 시 맵핑 테이블에 의하여 파일내의 데이터를 읽어오는 알고리즘을 사용한다. In general, the system protection program uses an algorithm that hooks up data written by the operating system, stores it in a queue having a file type, and reads data in a file by a mapping table when a read operation is requested.

도 1에서 보는 바와 같이 백업파일(140)에 운영체제가 쓰는 모든 데이터를 훅킹하여 저장한 다음 운영체제로부터 읽기 동작의 요청이 발생하면 드라이버는 테이블(130)을 이용하여 백업파일(140)에서 읽어서 운영체제로 넘겨준다. As shown in FIG. 1, when all data written by the operating system is hooked and stored in the backup file 140, and a read operation request is generated from the operating system, the driver reads from the backup file 140 using the table 130 to the operating system. Pass it over.

또한,  도 2와 같이 이전 상태로 시스템을 복구 할 경우 운영체제가 기동되지 않은 상태에서 작업을 수행해야 하므로 바이오스와 운영체제 사이에 PCI(Peripheral Component Interconnect) 카드를 이용한 롬(ROM) 프로그램에서 이러한 복구 작업을 수행해야 했으며, 시스템이 쓰기 동작을 하는 모든 데이터를 훅킹하여 파일 형태를 가지는 큐에 저장하기 때문에 설정한 파일크기 보다  훅킹한 데이터의 양이 많아지게 되었을 때 시스템이 정지하는 현상을 초래하였고, 산술적으로는 보호프로그램을 설치하기 전보다 2배의 속도 저하 현상이 발생하는 문제점이 있었다. In addition, when recovering the system to a previous state as shown in FIG. 2, the operation must be performed when the operating system is not started. Therefore, such a recovery operation is performed in a ROM program using a Peripheral Component Interconnect (PCI) card between the BIOS and the operating system. Because the system hooks up all the data for writing operation and saves it in the file type queue, it causes the system to stop when the amount of hooked data becomes larger than the set file size. There was a problem that the speed drop phenomenon occurs twice than before the protection program is installed.

종래에는 하드웨어인 PCI카드를 포함하고 있기 때문에 시스템에 설치된 다른 하드웨어 부품들과의 충돌현상이 발생할 뿐만 아니라 바이오스를 업그레이드 할 경우 프로그램이 오동작하는 현상이 종종 발생하는 문제점이 있었고, 하드웨어 제품인 관계로 설치 시 컴퓨터의 케이스를 열고 설치해야하는 번거로움이 있었다. Conventionally, since the hardware includes a PCI card, not only conflicts with other hardware components installed in the system occur, but also the program sometimes malfunctions when upgrading the BIOS. There was a hassle to open the computer's case and install it.

상기의 문제점을 해결하기 위해, 본 발명은 사용되지 않은 빈 공간을 사용하여 시스템이 빈 영역을 전부 사용할 때까지 보호할 수 있으며, 초기 인스톨 시점을 기준으로 사용 중인 부분만을 훅킹 대상으로 하고 있기 때문에 실제로 훅킹할 데이터는 극소량에 불과하여 보호 중에도 속도 저하 현상이 발생하지 않고, 쓰기 동작을 하는 데이터를 훅킹한 경우 읽기 동작의 요청이 있을 시 원래 시스템이 쓰기 동작을 하려던 위치와 재설정한 위치에 대한 다단계 형태의 다중 인덱스 테이블을 사용하여 속도를 개선하고, 최적의 읽기/쓰기 동작 속도를 산출 하여 최적의 클러스터로 클러스터링 함으로써 속도 향상을 가져오는 윈도우즈 환경에서의 실시간 백업/보호 시스템 및 방법을 제공하는데 목적이 있다.
In order to solve the above problems, the present invention can use the unused empty space to protect the system until the entire empty area is used, and since only the portion that is being used as the basis of the initial installation time is subject to hooking, The amount of data to be hooked is very small, so there is no slowdown even during protection, and when the data to be written is hooked, the multi-stage type of the position where the original system attempted to write and reset when the read operation was requested Its purpose is to provide a real-time backup / protection system and method in a Windows environment that improves the speed by using multiple index tables, calculates the optimal read / write operation speed, and clusters them into the optimal cluster. .

상기의 목적으로 구성되는 본 발명은 시스템에서 변경된 부분만을 백업하여 시스템에 문제가 발생할 시 이전의 안정적인 상태로 선택적으로 복구할 수 있는 방법에 관한 것으로, 보호 시스템이 설치될 컴퓨터의 파일구조를 분석하고 클러스터 를 분석하여 동작에 필요한 정보를 설정하는 인스톨러부(310)와, 상기 인스톨러부(310)에서 설정한 정보를 기반으로 하여 컴퓨터가 일기/쓰기 동작을 하는 데이터를 훅킹하여 가상의 큐에 저장함으로써 시스템을 보호/복원하는 윈도우즈 디바이스 드라이버부(320)와, 상기 윈도우즈 디바이스 드라이한부(320)에서 훅킹한 데이터를 바이오스에서 운영체제로 제어가 넘어가기 전에 도스모드에서 원하는 시점으로 복구하는 도스 시스템 복구 모듈부(330)와, 상기 윈도우즈 디바이스 드라이버부(320)에서 훅킹한 데이터를 GUI(Graphic User Interface)를 통하여 윈도우즈 상에서 응용하여 이전 상태의 디렉토리구조를 보여주고, 원하는 파일폴더를 복구하고, 가상의 큐의 상태를 모니터링 하는 윈도우즈 응용부(340)로 구성되는 윈도우즈 환경에서의 실시간 백업/보호 시스템이 제공된다.The present invention configured for the above object relates to a method of selectively recovering the changed part of the system and to selectively recover the previous stable state when a problem occurs in the system. By analyzing the cluster and setting the information necessary for the operation unit 310, and based on the information set by the installer 310, the computer hooks the data for the diary / write operation to store in a virtual queue DOS system recovery module for restoring the system to the Windows device driver 320 and the data hooked by the Windows device driver 320 to the desired point in DOS mode before the control passes from the BIOS to the operating system Section 330 and the data hooked by the Windows device driver 320 Real-time in the Windows environment, which consists of a Windows application unit 340 that displays the directory structure of the previous state by applying on the GUI (Graphic User Interface), recovers the desired file folder, and monitors the state of the virtual queue. Backup / protection system is provided.

또한, 인스톨러부(310)에서 보호모드로 설정한 각 드라이브의 파일구조를 분석하고, 파일구조에 따라 정보를 추출하여 인스톨하는 제1단계(S410)와, 상기에서 인스톨을 마친 후 하드웨어 정보를 저장하고 있는 CMOS(Complementary Metal-Oxide Semiconductor)를 복원하고, 변경된 데이터를 저장하는 등의 작업을 수행하기 위하여 커스텀 부트섹터를 작성하는 제2단계(S420)와, 상기 인스톨러부(310)에서 운영체제로부터는 알려지지 않은 부트파티션을 저장하는 가상부트파티션 영역을 생성하는 제3단계(S430)와, 상기에서 가상부트파티션 영역 생성 후 재부팅과 함께 드라이버가 운영체제 커널 내로 삽입되는 제4단계(S440)와, 상기 인스톨러부(310)에서 운영체제 커널 내의 클러스터를 사용 클러스터와 빈 클러스터로 분류하는 제5단계(S450)와, 상기 사용 클러스터를 윈도우즈 디바이스 드라이버부(320)에서 훅킹하는 제6단계(S460)와, 상기 윈도우즈 디바이스 드라이버부(320)에서 훅킹한 데이터를 복구하는 제7단계(S470)와, 상기에서 복구한 데이터의 드라이브 보호 작업을 수행하기 위하여 윈도우즈를 재부팅 하여 초기화 하는 제8단계(S480)와, 상기에서 재부팅 후 속도 개선을 위하여 최적의 읽기/쓰기 동작 속도를 산출하여 최적의 클러스터로 클러스터링 하여 읽기/쓰기 동작을 수행하는 제9단계(S490)와, 상기의 읽기/쓰기 동작을 수행하고 난 후에 데이터를 저장할 것인지 혹은 취소할 것인지 혹은 언 인스톨 할 것인지를 선택하는 제10단계(S500)로 구성되는 윈도우즈 환경에서 실시간 백업/보호 방법이 제공된다. In addition, a first step (S410) of analyzing the file structure of each drive set in the protection mode by the installer unit 310, extracting and installing information according to the file structure, and storing hardware information after the installation is completed. A second step (S420) of creating a custom boot sector for restoring a complementary metal-oxide semiconductor (CMOS), storing changed data, and the like in the installer unit 310 from the operating system; A third step (S430) of creating a virtual boot partition area for storing an unknown boot partition, a fourth step (S440) of inserting a driver into an operating system kernel with reboot after creation of the virtual boot partition area, and the installer In step 310, the cluster in the operating system kernel is classified into a used cluster and an empty cluster (S450). A sixth step of hooking in the vise driver unit 320 (S460), a seventh step of recovering the data hooked in the Windows device driver unit 320 (S470), and a drive protection operation of the restored data. Eighth step (S480) of rebooting and initializing the Windows to perform the operation, and the ninth step of performing the read / write operation by calculating the optimal read / write operation speed and clustering into an optimal cluster to improve the speed after the reboot A real time backup / protection method in a Windows environment comprising a step S490 and a tenth step S500 for selecting whether to store, cancel, or uninstall data after performing the read / write operation. This is provided.

이하 본 발명에 의한 윈도우즈 환경에서의 실시간 백업/보호 시스템 및 그 방법을 도면에 도시한 실시 예에 따라 설명하면 다음과 같다.Hereinafter, a real-time backup / protection system and method thereof in a Windows environment according to the present invention will be described with reference to the embodiments shown in the drawings.

도 3은 본 발명에 의한 윈도우즈 환경에서의 실시간 백업/보호 시스템의 모듈 구성도이다.3 is a module configuration diagram of a real-time backup / protection system in a Windows environment according to the present invention.

본 발명은 도 3에 도시한 바와 같이, 인스톨러부(310), 윈도우즈 디바이스 드라이버부(320), 도스 시스템 복구 모듈부(330), 윈도우즈 응용부(340)로 구성되는데, 상기 인스톨러부(310)는 보호 프로그램이 설치될 컴퓨터의 파일구조를 분석하고 클러스터를 분석하여 동작에 필요한 정보를 설정하는 기능을 하고, 상기 윈도우즈 디바이스 드라이버부(320)는 시스템이 읽기/쓰기 동작을 하는 데이터를 훅킹 하여 가상의 큐에 저장함으로써 시스템을 보호/복원하는 기능을 하고, 상기 도스 시스템 복구 모듈부(330)는 시스템을 원하는 시점으로 복구하거나 현재 상태를 저장할 경우 운영체제가 가동되지 않은 상황에서 작업을 수행해야 함으로 바이오스에서 운영체제로 제어가 넘어가기 전에 도스모드에서 시스템 복구 작업을 수행하는 기능을 하고, 상기 윈도우즈 응용부(340)는 윈도우즈 디바이스 드라이버부(320)가 시스템의 쓰기 동작 시 훅킹한 데이터를 응용하여 이전 상태의 디렉토리구조를 보여주고, 원하는 파일 및 폴더를 복구하고, 가상의 큐의 상태를 모니터링 하는 등 윈도우즈 상에서 GUI를 통하여 다양한 정보를 제공하는 기능을 한다.As shown in FIG. 3, the present invention includes an installer unit 310, a Windows device driver unit 320, a DOS system recovery module unit 330, and a Windows application unit 340. Analyzes the file structure of the computer on which the protection program is to be installed and analyzes the cluster to set information necessary for operation. The Windows device driver 320 virtually hooks data for the system to perform read / write operations. The system to protect / restore the system by storing it in the queue, and the DOS system recovery module unit 330 restores the system to a desired point in time or saves the current state. Function to perform system recovery in DOS mode before control is transferred from the system to the operating system. The unit 340 shows the directory structure of the previous state by applying the data hooked by the Windows device driver 320 during the write operation of the system, recovers the desired files and folders, monitors the state of the virtual queue, and the like. It provides a variety of information through the GUI on Windows.

상기 윈도우즈 디바이스 드라이버부(320)는 운영체제의 커널에 삽입되어 읽기/쓰기 동작을 하는 데이터를 훅킹하는 역할을 하기 때문에 인스톨 또는 언 인스톨 시 반드시 재부팅 하여야 한다. The Windows device driver 320 inserts into the kernel of the operating system and hooks data for reading / writing, and therefore, the Windows device driver 320 must be rebooted when installing or uninstalling.

상기의 가상의 큐는 어댑티브 큐 알고리즘(Adaptive queue algorithm)을 구현하여 사용되지 않는 빈 영역(120) 전체를 사용하여 시스템이 빈 영역(120)을 전부 사용할 때까지 시스템을 보호할 수 있게 한다. The virtual queue implements an adaptive queue algorithm to use the entire unused empty area 120 to protect the system until the system uses up all of the empty area 120.

또한, 상기 윈도우즈 디바이스 드라이버부(320)는 옵티멀 훅킹 알고리즘(Optimal hooking algorithm)(321), 커스텀 파일 시스템 알고리즘(Custom file system algorithm)(322), 읽기/쓰기 클러스터링 알고리즘(Read/write clustering algorithm)(323)을 구현하여 시스템 속도 저하 현상을 방지할 수 있는 효과가 있다.In addition, the Windows device driver 320 may include an optical hooking algorithm 321, a custom file system algorithm 322, a read / write clustering algorithm ( 323) is implemented to prevent the system slowdown phenomenon.

상기 옵티멀 훅킹 알고리즘(321)은 시스템이 쓰기 동작을 하는 모든 데이터 를 훅킹하는 것이 아니라 초기 인스톨 시점을 기준으로 사용영역(110)의 클러스터 만을 훅킹 대상으로 하고 있기 때문에 실제로 훅킹할 데이터는 극소량에 불과하여 보호 중에도 속도 저하 현상이 발생하지 않는 효과가 있고, 상기 커스텀 파일 시스템 알고리즘(322)은 시스템이 쓰기 동작을 하는 데이터를 훅킹한 경우 시스템으로부터 읽기 동작의 요청이 있을 시 원래 시스템이 쓰기 하려던 위치와 재설정한 위치의 맵핑 테이블이 궁극적으로는 1:1의 맵핑 관계를 유지하나 속도 개선을 위하여 다단계 형태의 다중 인덱스 테이블을 사용한다. 또한, 상기 읽기/쓰기 클러스터링 알고리즘(323)은 통계적으로 최적의 읽기/쓰기 동작의 속도를 산출하여 최적의 클러스터로 클러스터링 함으로써 속도를 향상시킬 수 있다.Since the optical hooking algorithm 321 does not hook all the data for the write operation, only the cluster of the use area 110 is hooked on the basis of the initial installation time, so only a small amount of data is actually hooked. There is an effect that the slowdown does not occur even during protection, and the custom file system algorithm 322 resets the position to which the original system attempts to write when a request for a read operation from the system is requested when the system hooks data for writing. The mapping table at one location ultimately maintains 1: 1 mapping relationship, but uses multi-level multi-index table for speed improvement. In addition, the read / write clustering algorithm 323 can improve the speed by statistically calculating the speed of the optimal read / write operation and clustering the optimal cluster.

도 4는 본 발명의 윈도우즈 환경에서의 실시간 백업/보호 방법을 나타낸 순서도 이고, 도 5와 도 6은 본 발명의 실시 예이다.4 is a flowchart illustrating a real time backup / protection method in a Windows environment of the present invention, and FIGS. 5 and 6 are embodiments of the present invention.

도 4 및 도 5를 참조하여 좀더 상세히 설명하면, 보호모드로 설정한 각 드라이브의 파일구조를 분석하고, 파일구조에 따라 정보를 추출하여 인스톨 정보를 작성하고(S410), 하드웨어 정보를 저장하고 있는 CMOS를 복원하고, 변경된 데이터를 저장하기 위한 커스텀 부트섹터를 작성한 뒤 재부팅하고(S420), 운영체제로부터는 알려지지 않은 부트파티션을 저장하는 가상 부트 파티션 영역을 생성하여 필요시 상기 가상 부트 파티션 영역으로 부팅하여 복구 작업을 수행하고(S430), 인스톨 후 재부팅과 함께 드라이버가 운영체제 커널내로 삽입된다(S440). 운영체제가 쓰기 동작을 하는 모든 데이터를 훅킹하는 것이 아니라 초기 인스톨 시점을 기준으로 사용 클러스터 부분만을 훅킹하기 때문에 실제로 훅킹하는 데이터는 극소량에 불과하여 보호 중에도 속도 저하 현상이 발생하지 않는 옵티멀 훅킹 알고리즘을 구현하기 위하여 운영체제 부팅 전에 사용 클러스터와 빈 클러스터를 분류하고(S450), 상기의 사용 클러스터를 윈도우즈 디바이스 드라이버부(320)에서 훅킹하여(S460), 상기 윈도우즈 디바이스 드라이버부(460)에서 훅킹한 데이터를 복구하는데(S470), 상기에서 훅킹한 데이터의 읽기 동작의 요청이 있을 시 데이터를 읽어서 운영체제에 돌려주기 위한 위치를 검색하는 속도를 향상시키기 위하여 커스텀 파일 시스템 알고리즘(322)을 구현하여 다단계의 인덱스 테이블을 작성하고(S471a), 기능키 중 하나인 (F4)키의 클릭 여부를 판단하여(S472a) (F4)키를 클릭하지 않을 경우에는 윈도우즈로 부팅하고, (F4)키를 클릭 할 경우에는 디스크와 CMOS를 복구하고 저장한다(S473a). 드라이브 보호 작업을 수행하기 위하여 초기화 처리를 하기위해 윈도우즈를 재부팅하고(S480), 재부팅 후 속도 개선을 위하여 읽기/쓰기 클러스터링 알고리즘(323)을 구현하여 통계적으로 최적의 읽기/쓰기 동작 속도를 산출하여 최적의 클러스터로 클러스터링 하여 읽기/쓰기 동작을 수행하고(S490), 상기에서 읽기/쓰기 동작을 수행하고 난 후에 데이터를 저장할 것인지 혹은 취소할 것인지 혹은 언 인스톨 할 것인지를 선택하여 재부팅을 하거나 동작을 종료한다(S500).4 and 5, the file structure of each drive set in the protection mode is analyzed, information is extracted according to the file structure, installation information is created (S410), and hardware information is stored. Restore the CMOS, create a custom boot sector for storing the changed data, reboot (S420), create a virtual boot partition area for storing the boot partition unknown from the operating system, and boot to the virtual boot partition area if necessary. After performing the recovery operation (S430), the driver is inserted into the operating system kernel with the reboot after installation (S440). Since the operating system does not hook all the data that writes, it only hooks the cluster part based on the initial installation time, so the data that is actually hooked is very small and implements an optical hooking algorithm that does not slow down even during protection. In order to classify the used cluster and the empty cluster before booting the operating system (S450), and hooking the used cluster in the Windows device driver unit 320 (S460), to recover the data hooked by the Windows device driver unit 460 In step S470, a custom file system algorithm 322 is implemented to create a multi-level index table to improve the speed of searching for a position for reading data and returning the data to the operating system when a request for reading the hooked data is requested. (S471a), one of the function keys If (F4) to determine whether the key-click (S472a) (F4) will not click on the key when to boot with the Windows and click (F4) key is to repair the disk and stores the CMOS (S473a). In order to perform the drive protection task, reboot the Windows to perform the initialization process (S480), and implement the read / write clustering algorithm 323 to improve the speed after rebooting to calculate the optimal read / write operation speed statistically. Cluster into clusters of read and write operations (S490), and after performing the read / write operations above, select whether to save, cancel, or uninstall the data and reboot or terminate the operation. (S500).

도 6에서 보는바와 같이, 상기에서 윈도우즈 디바이스 드라이버부(320)에서 훅킹한 데이터를 복구하는데(S470) 있어서, 복구하는 프로그램의 버전이 2.0 이상일 경우에는 상기 윈도우즈 디바이스 드라이버부(320)에서 훅킹한 데이터의 읽기 동작의 요청이 있을 시 요청한 데이터를 읽어서 운영체제에 돌려주기 위하여 다단계 인덱스테이블을 작성하고(S471b), 버전이 2.0이상인지를 판단하여(S472b) 상기에서 버전이 2.0이상일 경우 기능키 중 하나인 (F4)키를 클릭 할지를 판단한 뒤(S473b), 상기에서 (F4)키를 클릭 하였을 경우 사용자가 복원할 시점 및 파일이 지워진 시점을 선택하고(S474b), 복원할 파일을 선택하여(S475b) 디스크와 CMOS를 복구하고 저장한다(S476b).As shown in FIG. 6, when the data hooked by the Windows device driver 320 is recovered (S470), when the version of the program to be recovered is 2.0 or more, the data hooked by the Windows device driver 320 is used. When a read operation request is made, a multi-level index table is created to read and return the requested data to the operating system (S471b), and it is determined whether the version is 2.0 or higher (S472b). After determining whether to press the (F4) key (S473b), when the user clicks on the (F4) key, the user selects the time to restore and the time the file is deleted (S474b), and selects the file to restore (S475b). And recovers and stores the CMOS (S476b).

이상은 본 발명의 실시 예를 설명한 것으로 본 발명의 범위는 상기의 실시 예에 한정되지 않으며 아래의 청구범위에 기재된 범위뿐만 아니라 본 발명이 속하는 기술분야에서 통상의 지식을 가지는 자에 의해 변형 및 수정이 가능하다.The foregoing has described embodiments of the present invention, and the scope of the present invention is not limited to the above-described embodiments, and is modified and modified by those skilled in the art as well as the scope of the following claims. This is possible.

본 발명은 사용되지 않는 빈 공간을 사용하여 시스템이 빈 영역을 전부 사용할 때까지 보호할 수 있으며, 초기 인스톨 시점을 기준으로 사용 중인 부분만을 훅킹 대상으로 하고 있기 때문에 실제로 훅킹할 데이터는 극소량에 불과하여 보호 중에도 속도 저하 현상이 발생하지 않고, 쓰기 동작을 하는 데이터를 훅킹한 경우 읽기 동작의 요청이 있을 시 원래 시스템이 쓰기 동작을 하려던 위치와 재설정한 위치는 궁극적으로는 1:1의 맵핑 관계를 유지하고 다단계 형태의 다중 인덱스 테이블을 사용하여 속도를 개선하고, 최적의 읽기/쓰기 동작 속도를 산출 하여 최적의 클러스터로 클러스터링 함으로써 속도 향상을 가져오는 효과가 있다.The present invention can use the unused empty space to protect the system until the entire empty area is used, and since only the part that is in use is hooked on the basis of the initial installation time, only a small amount of data is actually hooked. If protection is not slowed down while the data is being hooked and the data is being hooked, the original system's write operation and reset position at the request of the read operation ultimately maintain a 1: 1 mapping relationship. In addition, the speed is improved by using the multi-stage multi-index table, and the optimal read / write operation speed is calculated and clustered into the optimal cluster.

Claims (8)

보호 프로그램이 설치될 컴퓨터 내의 파일을 분석하고 클러스터를 분석하여 동작에 필요한 정보를 설정하는 인스톨러부와;An installer unit for analyzing files in a computer on which the protection program is to be installed, analyzing the cluster, and setting information necessary for operation; 상기 인스톨러부에서 설정된 정보를 기반으로 하여 컴퓨터가 읽기/쓰기 동작을 하는 데이터를 훅킹하여 가상의 큐에 저장함으로써 시스템을 보호/복원하는 윈도우즈 디바이스 드라이버부와;A Windows device driver unit for protecting / restoring the system by hooking up data for which a computer performs read / write operation based on the information set by the installer unit and storing the data in a virtual queue; 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터를 바이오스에서 운영체제로 제어가 넘어가기 전에 도스모드에서 원하는 시점으로 복구하는 도스 시스템 복구 모듈부와;A DOS system recovery module unit for restoring the data hooked by the Windows device driver unit to a desired point in DOS mode before control is transferred from the BIOS to the operating system; 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터를 GUI를 통하여 윈도우즈 상에서 응용하여 이전 상태의 디렉토리구조를 보여주고, 원하는 파일폴더를 복구하고, 가상의 큐의 상태를 모니터링 하는 윈도우즈 응용부; 로 구성되는 윈도우즈 환경에서의 실시간 백업/보호 시스템.A Windows application unit for applying the data hooked by the Windows device driver unit on a Windows to display a directory structure of a previous state, restoring a desired file folder, and monitoring a state of a virtual queue; Real-time backup / protection system in Windows environment. 제 1 항에 있어서,The method of claim 1, 상기 윈도우즈 디바이스 드라이버부는 운영체제의 커널에 삽입되어 읽기/쓰기 동작을 하는 데이터를 훅킹하므로 인스톨 또는 언 인스톨 시 재부팅 하는 것을 특징으로 하는 윈도우즈 환경에서 실시간 백업/보호 시스템.The Windows device driver unit is inserted into the kernel of the operating system to hook the data to read / write operation, so that the real-time backup / protection system in the Windows environment, characterized in that rebooting when installing or uninstalling. 제 2 항에 있어서,The method of claim 2, 상기 윈도우즈 디바이스 드라이버부는 The Windows device driver unit 인스톨 시점을 기준으로 사용영역의 사용 클러스터만을 훅킹하는 옵티멀 훅킹 알고리즘(Optimal hooking algorithm)이 구현되는 것을 특징으로 하는 윈도우즈 환경에서의 실시간 백업/보호 시스템.A real-time backup / protection system in a Windows environment, characterized in that an optical hooking algorithm is implemented that hooks only a cluster of usage areas based on an installation time point. 제 2 항에 있어서,The method of claim 2, 상기 윈도우즈 디바이스 드라이버부는 The Windows device driver unit 운영체제가 쓰기 동작을 하는 데이터를 훅킹하여 가상의 큐에 저장하고 운영체제로부터 읽기 동작의 요청이 있을 시 맵핑 테이블에 의해 해당 데이터를 읽어서 운영체제에 돌려주고, 다단계 인덱스 테이블을 작성하는 커스텀 파일 시스템 알고리즘(Custom file system algorithm)이 구현되는 것을 특징으로 하는 윈도우즈 환경에서의 실시간 백업/보호 시스템.Custom file system algorithm that hooks up data for operating system to write to virtual queue, reads data from operating system and returns to operating system when mapping operation is requested, and creates multi-level index table. file system algorithm) is implemented, the real-time backup / protection system in a Windows environment. 제 2 항에 있어서,The method of claim 2, 상기 윈도우즈 디바이스 드라이버부는The Windows device driver unit 데이터의 읽기/쓰기 동작 속도를 측정하여 최적의 속도로 읽기/쓰기 동작을 하는 읽기/쓰기 클러스터링 알고리즘(Read/write clustering algorithm)이 구현되는 것을 특징으로 하는 윈도우즈 환경에서의 실시간 백업/보호 시스템. A real time backup / protection system in a Windows environment, characterized in that a read / write clustering algorithm for measuring data read / write operation speed and performing read / write operation at an optimum speed is implemented. 인스톨러부에서 보호모드로 설정한 각 드라이브의 파일구조를 분석하고, 파일구조에 따라 정보를 추출하여 인스톨하는 제1단계와;A first step of analyzing a file structure of each drive set by the installer unit in the protection mode, extracting and installing information according to the file structure; 상기에서 인스톨을 마친 후 하드웨어 정보를 저장하고 있는 CMOS를 복원하고, 변경된 데이터를 저장하는 등의 작업을 수행하기 위하여 커스텀 부트섹터를 작성하는 제2단계와;A second step of creating a custom boot sector for restoring the CMOS storing hardware information and storing the changed data after the installation is completed; 상기 인스톨러부에서 운영체제로부터는 알려지지 않은 부트파티션을 저장하는 가상부트파티션 영역을 생성하는 제3단계와;Generating, by the installer unit, a virtual boot partition area for storing a boot partition unknown from an operating system; 상기에서 가상부트파티션 영역 생성 후 재부팅과 함께 드라이버가 운영체제 커널 내로 삽입되는 제4단계와;A fourth step of inserting a driver into the operating system kernel with reboot after creation of the virtual boot partition area; 상기 인스톨러부에서 클러스터를 사용 클러스터와 빈 클러스터로 분류하는 제5단계와;A fifth step of classifying the cluster into a used cluster and an empty cluster in the installer unit; 상기 사용 클러스터를 윈도우즈 디바이스 드라이버부에서 훅킹하는 제6단계와;Hooking the used cluster in a Windows device driver; 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터를 복구하는 제7단계와;A seventh step of recovering the data hooked by the Windows device driver; 상기에서 복구한 데이터의 드라이브 보호 작업을 수행하기 위하여 윈도우즈를 재부팅 하여 초기화 하는 제8단계와;An eighth step of rebooting and initializing Windows to perform a drive protection operation on the restored data; 상기에서 재부팅 후 속도 개선을 위하여 최적의 읽기/쓰기 동작 속도를 산출하여 최적의 클러스터로 클러스터링 하여 읽기/쓰기 동작을 수행하는 제9단계와;A ninth step of calculating an optimal read / write operation speed to cluster the cluster in an optimal cluster to perform a read / write operation to improve the speed after rebooting; 상기의 읽기/쓰기 동작을 수행하고 난 후에 데이터를 저장할 것인지 혹은 취소할 것인지 혹은 언 인스톨 할 것인지를 선택하는 제10단계; 로 구성되는 윈도우즈 환경에서 실시간 백업/보호 방법.A tenth step of selecting whether to store, cancel or uninstall data after performing the read / write operation; Real-time backup / protection method in Windows environment. 제 6 항에 있어서,The method of claim 6, 상기 제 7단계는 The seventh step 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터의 읽기 동작의 요청이 있을 시 요청한 데이터를 읽어서 운영체제에 돌려주기 위하여 다단계 인덱스테이블을 작성하는 제7-1(a)단계와, 기능키 중 하나인 (F4)키를 클릭 할지를 판단하는 제7-2(a)단계와, 상기에서 (F4)키를 클릭 하였을 경우 디스크와 CMOS를 복구하고 저장하는 제7-3(a)단계를 포함하여 구성되는 것을 특징으로 하는 윈도우즈 환경에서의 실시간 백업/보호 방법.Step 7-1 (a) of creating a multi-level index table to read the requested data and return it to the operating system when a request for reading the data hooked by the Windows device driver is requested, and one of the function keys (F4) And step 7-2 (a) of determining whether to click the key, and step 7-3 (a) of recovering and storing the disk and the CMOS when the (F4) key is clicked on. Real-time backup / protection method in Windows environment. 제 6 항에 있어서,The method of claim 6, 제7단계에서 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터를 복구하는 프로그램의 버전이 2.0 이상일 경우,If the version of the program that recovers the data hooked by the Windows device driver in step 7 is 2.0 or higher, 상기 윈도우즈 디바이스 드라이버부에서 훅킹한 데이터의 읽기 동작의 요청이 있을 시 요청한 데이터를 읽어서 운영체제에 돌려주기 위하여 다단계 인덱스테이블을 작성하는 제7-1(b)단계와, 버전이 2.0이상인지를 판단하는 제7-2(b)단계와, 상기에서 버전이 2.0이상일 경우 기능키 중 하나인 (F4)키를 클릭 할지를 판단하는 제7-3(b)단계와, 상기에서 (F4)키를 클릭 하였을 경우 사용자가 복원할 시점 및 파일이 지워진 시점을 선택하는 제7-4(b)단계와, 복원할 파일을 선택하는 제7-5(b)단계와, 디스크와 CMOS를 복구하고 저장하는 제7-6(b)단계를 포함하여 구성되는 것을 특징으로 하는 윈도우즈 환경에서의 실시간 백업/보호 방법.Step 7-1 (b) of creating a multi-level index table to read the requested data and return it to the operating system when a request for reading the data hooked by the Windows device driver is requested, and determining whether the version is 2.0 or higher. Step 7-2 (b), and if the version is 2.0 or more, step 7-3 (b) for determining whether to click the (F4) key, which is one of the function keys, and click the (F4) key. If the user selects a time point for restoring and deleting a file, step 7-4 (b), step 7-5 (b) for selecting a file for restoration, and step 7 for restoring and storing the disk and CMOS. -6 (b) real-time backup / protection method in a Windows environment comprising a.
KR1020040033340A 2004-05-12 2004-05-12 Realtime backup/recovery system at windows and method thereof KR100543567B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040033340A KR100543567B1 (en) 2004-05-12 2004-05-12 Realtime backup/recovery system at windows and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040033340A KR100543567B1 (en) 2004-05-12 2004-05-12 Realtime backup/recovery system at windows and method thereof

Publications (2)

Publication Number Publication Date
KR20050018735A KR20050018735A (en) 2005-02-28
KR100543567B1 true KR100543567B1 (en) 2006-01-20

Family

ID=37228145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040033340A KR100543567B1 (en) 2004-05-12 2004-05-12 Realtime backup/recovery system at windows and method thereof

Country Status (1)

Country Link
KR (1) KR100543567B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101398935B1 (en) 2008-04-29 2014-06-27 삼성전자주식회사 System restore method and apparatus using virtualization

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906149B1 (en) * 2006-12-05 2009-07-03 한국전자통신연구원 Data Reading Method and Data Writing Method in it

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101398935B1 (en) 2008-04-29 2014-06-27 삼성전자주식회사 System restore method and apparatus using virtualization

Also Published As

Publication number Publication date
KR20050018735A (en) 2005-02-28

Similar Documents

Publication Publication Date Title
US7519806B2 (en) Virtual partition for recording and restoring computer data files
EP2318929B1 (en) Application restore points
US8312259B1 (en) System and method for booting a computer from backup
JP5757509B2 (en) System reset
US7624243B2 (en) Apparatus and method for protecting system data on computer hard-disk
KR101954623B1 (en) Apparatus and method for updating software on the virtualized environment
US20080155216A1 (en) Protection and Recovery System for Automatic Disk Recovery
US20100174943A1 (en) Method for restoring client operating system-based system, virtual machine manager and system using the same
US20060200639A1 (en) System and method for computer backup and recovery using incremental file-based updates applied to an image of a storage device
CN1848087A (en) Using usb memory device to recover operating system
JP2006244484A (en) System and method for using file system to automatically backup file as generational file
JP5335622B2 (en) Computer program that manages the configuration information database
US7337359B2 (en) System and method for recovering a device state
US20070294332A1 (en) Processing device for end customer operation
US20040107357A1 (en) Apparatus and method for protecting data on computer hard disk and computer readable recording medium having computer readable programs stored therein
US8132047B2 (en) Restoring application upgrades using an application restore point
KR100543567B1 (en) Realtime backup/recovery system at windows and method thereof
KR100884054B1 (en) Method for restoration and backup of computer system
CN1818824A (en) High-reliable personal computer and operating system thereof
CN102222185B (en) Method for preventing operating system starting file from being infected
KR101552580B1 (en) Method for system recovery including mobile device and backup supporting multi operation system
KR101305501B1 (en) Computer system and recovery method thereof
CN100336036C (en) Multiple operating system boot loading method
CN113342365A (en) Operating system deployment method, device, equipment and computer-readable storage medium
KR100543565B1 (en) Data backup/restore at windows os series of system and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
G15R Request for early opening
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130108

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170105

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180105

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 15