KR20100030581A - Method and system for extracting repacking data of application program on host computer in dirty personal computer environment - Google Patents
Method and system for extracting repacking data of application program on host computer in dirty personal computer environment Download PDFInfo
- Publication number
- KR20100030581A KR20100030581A KR1020090083388A KR20090083388A KR20100030581A KR 20100030581 A KR20100030581 A KR 20100030581A KR 1020090083388 A KR1020090083388 A KR 1020090083388A KR 20090083388 A KR20090083388 A KR 20090083388A KR 20100030581 A KR20100030581 A KR 20100030581A
- Authority
- KR
- South Korea
- Prior art keywords
- clean
- environment
- application
- unit
- virtual
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- 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
Abstract
Description
본 발명은 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법 및 시스템에 관한 것으로, 더욱 상세하게는 데이터 저장부에 있는 클린PC 이미지를 사용하여 호스트 컴퓨터상에 클린PC환경을 가상화하고, 가상화된 클린PC환경상에서 어플리케이션의 재패킹 데이터를 얻어내기 위한 추출 시스템 및 방법에 관한 것이다.The present invention relates to a method and system for extracting repacking data of an application on a host computer in a dirty PC environment, and more particularly, to virtualize a clean PC environment on a host computer using a clean PC image in a data storage unit. , An extraction system and method for obtaining application repacking data in a virtualized clean PC environment.
대부분의 회사들이 회사가 보유하고 있는 개인용컴퓨터들의 도입 비용뿐만 아니라 업그레이드나 유지보수 비용 등과 같이 도입 후에 드는 여러가지 관리비용인 TCO(Total Cost Of Ownership)를 줄이기 위한 방법을 찾게 되었다.Most companies have found a way to reduce the total cost of ownership (TCO), which is not only the cost of introducing personal computers they own, but also various administrative costs such as upgrades and maintenance costs.
이러한 문제들을 해결하기 위해서 기존의 개인PC에 설치하여 사용하던 어플리케이션들을 복사본을 생성하여 중앙서버에 저장하고, 이를 사내 통신망을 통해 각각의 개인PC에 배포하여 어플리케이션을 쉽게 설치하거나 업데이트 하는 방법을 사용하게 되었다. 이것보다 한 단계 진보한 방법으로 서버에 재패킹된 어플리케이 션을 올려놓고 SAAS(Software As A Service) 또는 SOD(Software On Demand) 방식을 사용해서 클라이언트에 설치되어 있지 않은 어플리케이션을 실행할 때 필요한 데이터를 서버로부터 실시간으로 다운로드 받음으로써, 클라이언트에서 어플리케이션을 실행 할 수 있는 방법으로 발전해 왔다.To solve these problems, make a copy of the applications installed on the existing personal PC and save them on the central server, and distribute them to each personal PC through the internal communication network to easily install or update the application. It became. One more advanced step is to put the repackaged application on the server and use the Software As A Service (SAAS) or Software On Demand (SOD) method to run the data that is not installed on the client. Downloading from the server in real time has evolved into a way to run applications on the client.
앞에서 기술된 두 가지 방법 모두 설치프로그램을 통해서 설치된 어플리케이션을 재패킹하는 방법이 필요한데, 기존의 방법은 크게 모니터링 방식과 스넵샷 방식으로 구분할 수 있다.Both methods described above require a method of repacking the installed application through the installation program. The existing methods can be largely divided into a monitoring method and a snapshot method.
"모니터링 방식"은 클린PC(Clean PC)상에서 어플리케이션의 설치에 의해서 생성 또는 수정되는 폴더 및 파일과 레지스트리의 내용을 어플리케이션 설치가 완료될 때까지 모니터링 하고 있다가 설치가 완료되면 변경된 폴더 및 파일과 레지스트리의 변경사항을 취합하여 이를 재패킹 데이터로 활용하는 방식으로, 항상 설치프로그램은 클린PC 상에서 실행해야 하는 불편함과 취합된 내용을 통하여 어플리케이션을 재패킹하기 때문에 시간이 많이 소요되었다."Monitoring method" monitors the contents of folders and files and registry created or modified by application installation on a clean PC until the application installation is completed. After the installation is completed, the changed folders and files and registry are monitored. By collecting the changes in and using them as repacking data, the installer always takes a lot of time because it repackages the application through the inconvenience and need to run on a clean PC.
또한, "스냅샷 방식"은 클린PC(Clean PC)상에서 어플리케이션의 설치전에 폴더 및 파일과 레지스트리에 대한 첫 번째 스냅샷 이미지를 생성하고, 어플리케이션의 설치 후 두 번째 스냅샷 이미지를 생성하여 두 번째 스냅샷 이미지와 첫 번째 스냅샷 이미지의 폴더 및 파일과 레지스트리의 차분을 구하여 이를 재패킹 데이터로 활용하는 방식으로, 이 방법 또한 항상 설치프로그램은 클린PC상에서 실행해야 하는 불편함과 스냅샷을 통해 변경된 내용을 비교하여 어플리케이션을 재패킹하기 때문에 시간이 많이 소요되었다.In addition, the "Snapshot Method" creates a first snapshot image of folders, files, and the registry before installing the application on a Clean PC, and a second snapshot by creating a second snapshot image after the application is installed. The difference between the shot image, the folder and file of the first snapshot image, and the registry is used as the repacking data. This method also always makes the installation program inconvenient to run on a clean PC and changes made through snapshots. It was very time consuming because the application was repacked by comparing them.
여기서, "클린PC"라 함은 PC하드웨어상에 윈도우즈 운영체제만을 설치하고, 이 운영체제가 동반하는 최소한의 기본 어플리케이션만이 설치된 PC상태를 의미한다. 여기에서 "최소한의 기본 어플리케이션만이 설치된 PC상태"란, 운영체제와 어플리케이션이 구동되기 위한 최소 사양으로서 예를 들면 윈도우 2000 운영체제 서비스팩이 적용되지 않은 상태가 일반적인 클린PC라고 할 수 있겠지만 어플리케이션 구동에 Windows 2000 ‘서비스팩 3’이상이 설치되어 있어야 한다면 Windows 2000 ‘서비스팩 3’이상이 설치된 상태를 클린PC라 볼 수도 있다.Here, the "clean PC" refers to a PC state in which only the Windows operating system is installed on the PC hardware and only minimal basic applications accompanying the operating system are installed. Here, "PC state with only minimum basic application installed" is the minimum specification for operating system and application. For example, Windows 2000 operating system service pack is not applied. If Windows 2000 Service Pack 3 or later is installed, Windows 2000 Service Pack 3 or later is installed as a clean PC.
앞에서 기술된 어플리케이션을 재패킹하는 방식은 모두 클린PC가 기본환경으로 필요하나, 일반인이 사용하는 개인PC는 다양어플리케이션을 오랜시간 사용과 삭제를 반복한 상태인 더티PC(Dirty PC)가 된다. 이러한 더티PC상에서 어플리케이션을 설치하면 기존에 설치되어 있는 어플리케이션들로 인해 정상적인 어플리케이션 구성요소를 추출할 수 없음으로, 별도의 클린PC가 항상 필요한 문제가 있었다.All the methods of repacking the application described above require a clean PC as a basic environment, but a personal PC used by the general public becomes a dirty PC which has repeatedly used and deleted various applications for a long time. When the application is installed on such a dirty PC, since a normal application component cannot be extracted due to existing applications, a separate clean PC is always required.
여기서, 더티PC라 함은 클린PC를 포함하는 개념으로, 클린PC에 임의의 어플리케이션이 한 개 이상 설치된 상태를 이야기 하며, 일반 사용자들이 사용하는 개인PC의 대부분 더티PC로 볼 수 있다. 즉, 오랜시간 동안 다양한 어플리케이션을 설치, 사용과 삭제를 반복하다보면, 일반인이 사용하는 개인PC의 경우 해당 OS의 파일 시스템, 레지스트리 등 환경이 초기 OS만 설치된 상태와 차이가 나게 되는데, 이러한 상태를 '더티PC(Dirty PC)'라고 한다.Here, the dirty PC is a concept including a clean PC, which refers to a state in which one or more arbitrary applications are installed on the clean PC, and can be viewed as a dirty PC of most personal PCs used by general users. In other words, if you repeatedly install, use, and delete various applications for a long time, the personal PC used by the general public will be different from the state where only the initial OS is installed, such as the file system and registry of the corresponding OS. It is called 'Dirty PC'.
이와 같은 더티PC하에서 정상적인 어플리케이션 구성요소를 추출할 수 없는 이유는, 기존에 설치된 어플리케이션들에 의해 공통으로 사용하는 DLL 파일, COM 파일 등이 최신 버전으로 설치되어있는 경우에, 어플리케이션 설치프로그램은 해당 DLL 파일, COM 파일 등을 새로 생성하지 않는다. 따라서 별도의 클린PC가 항상 필요하였다.The reason why it is not possible to extract normal application components under such dirty PC is that if the DLL files, COM files, etc. commonly used by existing applications are installed in the latest version, the application installer will install the corresponding DLL. Do not create new files, COM files, etc. Therefore, a separate clean PC was always needed.
본 발명은 상기 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은, 클린PC가 아닌 더티PC상에서도 어플리케이션의 재패킹 데이터를 추출할 수 있는 시스템 및 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a system and method capable of extracting repacking data of an application even on a dirty PC instead of a clean PC.
상기의 목적을 달성하기 위하여 본 발명에 따른 어플리케이션의 재패킹 데이터를 추출하는 시스템은, 클린PC환경의 가상화에 필요한 클린PC 이미지와 어플리케이션의 설치 중에 생성되는 재패킹 데이터를 저장하는 데이터 저장부와, 데이터 저장부에 저장된 클린PC 이미지에 기초하여, 더티PC 환경의 호스트 컴퓨터상에 클린PC환경을 가상화하는 가상환경부와, 가상화된 클린PC환경하에서 어플리케이션을 설치하는 어플리케이션 설치부를 포함하며, 가상환경부는 어플리케이션 설치부에 의해 요청되는 메시지를 후킹하고, 후킹된 메시지에 기초하여 어플리케이션 설치부가 쓰기 요청한 재패킹 데이터를 데이터 저장부에 저장하는 것을 특징으로 한다.In order to achieve the above object, a system for extracting repacking data of an application according to the present invention includes a data storage unit for storing a cleanPC image and repacking data generated during installation of an application required for virtualization of a clean PC environment; Based on the clean PC image stored in the data storage unit, a virtual environment unit for virtualizing the clean PC environment on the host computer of the dirty PC environment, and an application installation unit for installing the application under the virtualized clean PC environment, the virtual environment unit And hooking a message requested by the installation unit, and storing the repacking data requested by the application installation unit in the data storage unit based on the hooked message.
또한, 상기 데이터 저장부는, 클린PC 이미지를 생성하기 위한 클린PC 이미지 생성부와, 클린PC 이미지 생성부에서 생성된 클린PC 이미지를 저장하기 위한 클린PC 이미지 저장부와, 가상화된 클린PC환경상에서 어플리케이션 설치부의 구동에 의해 생성되는 재패킹 데이터를 저장하기 위한 재패킹 데이터 저장부를 포함하는 것을 특징으로 한다.The data storage unit may include a clean PC image generation unit for generating a clean PC image, a clean PC image storage unit for storing the clean PC image generated by the clean PC image generation unit, and an application in a virtualized clean PC environment. And a repacking data storage unit for storing repacking data generated by driving of the installation unit.
또한, 상기 클린PC 이미지 생성부는, 가상화된 클린PC환경하에서 클린PC의 구성요소인 폴더 및 파일 정보를 추출하는 파일정보 생성부와, 가상화된 클린PC환경하에서 클린PC의 구성요소인 레지스트리 정보를 추출하는 레지스트리정보 생성부와, 가상화된 클린PC의 구성요소를 통하여 클린PC 이미지를 생성, 수정, 삭제, 관리하기 위한 클린PC 이미지 관리부를 포함하는 것을 특징으로 한다.The clean PC image generation unit may include a file information generation unit that extracts folder and file information that is a component of the clean PC in a virtualized clean PC environment, and extracts registry information that is a component of the clean PC in a virtualized clean PC environment. And a clean PC image management unit for creating, modifying, deleting, and managing a clean PC image through components of the virtual PC.
또한, 상기 클린PC 이미지는, 어플리케이션 설치부가 실행되는 클린PC환경을 구성하기 위한 클린PC 구성요소로서, 폴더, 파일 및 레지스트리(registry) 정보를 포함하는 것을 특징으로 한다.In addition, the clean PC image is a clean PC component for configuring a clean PC environment in which the application installation unit is executed, and includes a folder, a file, and registry information.
또한, 상기 클린PC는, PC(Personal Computer) 하드웨어상에 윈도즈 운영체제만을 설치하고, 이 운영체제가 동반하는 기본 어플리케이션만이 설치된 PC상태인 것을 특징으로 한다.In addition, the clean PC is characterized in that the PC is installed only on the Windows operating system on the personal computer (PC) hardware, and only the basic application accompanying the operating system is installed.
또한, 상기 시스템은, 사용자의 요청에 따라 더티PC 환경의 호스트컴퓨터의 메모리에 로드되어 실행되며, 가상환경부를 메모리에 로드하고 실행하기 위한 가상환경 구동부를 더 포함하는 것을 특징으로 한다.In addition, the system is loaded and executed in the memory of the host computer of the dirty PC environment at the request of the user, characterized in that it further comprises a virtual environment driving unit for loading and executing the virtual environment in the memory.
또한, 상기 가상환경부는, 더티PC 환경의 호스트컴퓨터상에서 어플리케이션 설치부가 클린PC상에서 동작하는 것과 동일한 결과를 낼 수 있는 클린PC환경을 호스트 컴퓨터의 내부에 가상화하는 것을 특징으로 한다.The virtual environment unit may be configured to virtualize a clean PC environment in the host computer, which may produce the same result as the application installation unit operating on the clean PC, on the host computer in the dirty PC environment.
또한, 상기 클린PC환경은, 가상환경부가 클린PC 이미지에 기초하여 가상화된 가상환경요소를 어플리케이션 실행부에 제공해 줌으로서, 클린PC환경에서 어플리케이션 실행부가 동작하는 것과 동일한 결과를 낼 수 있는 환경을 포함하는 것을 특징으로 한다.In addition, the clean PC environment includes an environment in which the virtual environment unit provides a virtual environment element virtualized based on the clean PC image to the application execution unit, thereby producing the same result as the application execution unit operates in the clean PC environment. Characterized in that.
또한, 상기 더티PC 환경은, 클린PC환경의 호스트 컴퓨터에 소정의 어플리케이션이 한 개 이상 설치되어 있음으로 인해, 어플리케이션 설치부에 의해 설치되는 어플리케이션의 구성요소를 클린PC환경에서와 동일하게 얻을 수 없는 환경을 포함하는 것을 특징으로 한다.In addition, in the dirty PC environment, since one or more predetermined applications are installed in the host computer of the clean PC environment, the components of the application installed by the application installation unit cannot be obtained in the same way as in the clean PC environment. It is characterized by including the environment.
또한, 상기 가상화된 가상환경요소는, 기본적으로 가상 파일 시스템(Virtual File System)을 포함하는 것을 특징으로 한다. In addition, the virtualized virtual environment element, characterized in that it comprises a virtual file system (Virtual File System) basically.
또한, 상기 가상화된 가상환경요소는, 가상 파일 시스템(Virtual File System), 가상 레지스트리 시스템(Virtual Registry System) 및 가상 컴포넌트 시스템(Virtual Component System)을 포함하는 것을 특징으로 한다.In addition, the virtualized virtual environment element, characterized in that it comprises a virtual file system (Virtual File System), a virtual registry system (Virtual Registry System) and a virtual component system (Virtual Component System).
또한, 상기 어플리케이션 설치부는, 호스트 컴퓨터의 운영체제에 설치하여 사용할 수 있는 한, 어플리케이션의 구성요소와 설치정보를 포함하는 것을 특징으로 한다.The application installation unit may include components of the application and installation information as long as the application installation unit can be installed and used in an operating system of the host computer.
또한, 상기 어플리케이션의 구성요소는, 어플리케이션을 구성하는 폴더 및 파일 정보와 레지스트리 정보를 포함하는 것을 특징으로 한다.In addition, the component of the application is characterized in that it contains folder and file information and registry information constituting the application.
또한, 상기 재패킹 데이터는, 어플리케이션 설치부에 의해 설치되는 어플리케이션의 구성요소를 사용목적에 맞게 재구성한 것을 특징으로 한다.In addition, the repacking data is characterized in that the components of the application installed by the application installation unit is reconfigured according to the purpose of use.
또한, 상기 재패킹 데이터는, 블록단위로 실시간으로 저장되거나, 파일단위로 저장되는 것을 특징으로 한다.The repacking data may be stored in real time in units of blocks or in units of files.
본 발명의 제2 실시예에 따르면, 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법이 제공되는데, 상기 방법은 (a) 클린PC환 경의 가상화에 필요한 클린PC 이미지를 저장하는 단계와, (b) 가상환경부가, 저장된 클린PC 이미지에 기초하여 더티PC 환경의 호스트 컴퓨터상에 클린PC환경을 가상화하는 단계와, (c) 어플리케이션 설치부가, 가상화된 클린PC환경하에서 어플리케이션을 설치하는 단계와, (d) 가상환경부가, 어플리케이션을 설치하는 도중에 요청되는 메시지를 후킹하고, 후킹된 메시지에 기초하여 어플리케이션 설치부에 의해 쓰기 요청된 재패킹 데이터를 저장하는 단계를 포함하는 것을 특징으로 한다.According to a second embodiment of the present invention, there is provided a method for extracting repacking data of an application on a host computer in a dirty PC environment, the method comprising the steps of: (a) storing a clean PC image for virtualization of the clean PC environment; (B) the virtual environment unit virtualizing the clean PC environment on the host computer of the dirty PC environment based on the stored clean PC image, and (c) the application installation unit installs the application under the virtualized clean PC environment. And (d) hooking the message requested during the installation of the application by the virtual environment unit and storing the repacking data requested by the application installation unit based on the hooked message. .
또한, 상기 방법은, (d) 더티PC 환경의 호스트 컴퓨터의 메모리에 가상화된 클린PC환경에서 구동중인 어플리케이션 설치부의 실행을 종료하는 단계와, (e) 어플리케이션 설치부의 실행이 종료된 후, 가상화된 클린PC환경을 호스트 컴퓨터로부터 제거하는 단계와, (f) 더티PC 환경의 호스트 컴퓨터의 메모리에 로딩된 가상환경부와 가상환경 구동부를 더티PC 환경의 호스트 컴퓨터의 메모리로부터 제거하는 단계를 포함하는 것을 특징으로 한다.The method may further include (d) terminating execution of an application installer running in a clean PC environment virtualized in a memory of a host computer in a dirty PC environment, and (e) after execution of the application installer is terminated. Removing the clean PC environment from the host computer, and (f) removing the virtual environment unit and the virtual environment driver loaded in the memory of the host computer of the dirty PC environment from the memory of the host computer of the dirty PC environment. It is done.
또한, 상기 방법은, (g) 클린PC환경의 호스트 컴퓨터에 구성된 레지스트리 정보를 추출 하는 단계와, (h) 클린PC환경의 호스트 컴퓨터에 구성된 폴더 및 파일 정보를 추출하는 단계와, (i) 추출된 레지스트리 정보, 폴더 및 파일 정보에 기초하여 클린PC 이미지를 생성하는 단계를 포함하는 것을 특징으로 한다.In addition, the method includes the steps of: (g) extracting registry information configured on a host computer in a clean PC environment; (h) extracting folder and file information configured on a host computer in a clean PC environment; And generating a clean PC image based on the registered registry information, folder, and file information.
또한, 상기 방법은, (j) 소정의 클린PC 설치프로그램을 분석하여 레지스트리 정보를 추출하는 단계와, (k) 클린PC 설치프로그램을 분석하여 폴더 및 파일 정보를 추출하는 단계와, (l) 추출된 레지스트리 정보, 폴더 및 파일 정보에 기초하여 클린PC 이미지를 생성하는 단계를 포함하는 것을 특징으로 한다.In addition, the method comprises the steps of: (j) analyzing the predetermined clean PC installer to extract registry information, (k) analyzing the clean PC installer to extract folder and file information, and (l) extracting And generating a clean PC image based on the registered registry information, folder, and file information.
또한, 상기 클린PC 이미지는, 어플리케이션 설치부가 실행되는 클린PC환경을 구성하기 위한 클린PC 구성요소로서, 폴더, 파일 및 레지스트리(registry) 정보를 포함하는 것을 특징으로 한다.In addition, the clean PC image is a clean PC component for configuring a clean PC environment in which the application installation unit is executed, and includes a folder, a file, and registry information.
또한, 상기 클린PC는, PC(Personal Computer) 하드웨어상에 윈도즈 운영체제만을 설치하고, 이 운영체제가 동반하는 기본 어플리케이션만이 설치된 PC상태인 것을 특징으로 한다.In addition, the clean PC is characterized in that the PC is installed only on the Windows operating system on the personal computer (PC) hardware, and only the basic application accompanying the operating system is installed.
또한, 상기 가상환경부는, 더티PC 환경의 호스트컴퓨터상에서 어플리케이션 설치부가 클린PC상에서 동작하는 것과 동일한 결과를 낼 수 있는 클린PC환경을 호스트 컴퓨터의 내부에 가상화하는 것을 특징으로 한다.The virtual environment unit may be configured to virtualize a clean PC environment in the host computer, which may produce the same result as the application installation unit operating on the clean PC, on the host computer in the dirty PC environment.
또한, 상기 클린PC환경은, 가상환경부가 클린PC 이미지에 기초하여 가상화된 가상환경요소를 어플리케이션 실행부에 제공해 줌으로서, 클린PC환경에서 어플리케이션 실행부가 동작하는 것과 동일한 결과를 낼 수 있는 환경을 포함하는 것을 특징으로 한다.In addition, the clean PC environment includes an environment in which the virtual environment unit provides a virtual environment element virtualized based on the clean PC image to the application execution unit, thereby producing the same result as the application execution unit operates in the clean PC environment. Characterized in that.
또한, 상기 더티PC 환경은, 클린PC환경의 호스트 컴퓨터에 소정의 어플리케이션이 한 개 이상 설치되어 있음으로 인해, 어플리케이션 설치부에 의해 설치되는 어플리케이션의 구성요소를 클린PC환경에서와 동일하게 얻을 수 없는 환경을 포함하는 것을 특징으로 한다.In addition, in the dirty PC environment, since one or more predetermined applications are installed in the host computer of the clean PC environment, the components of the application installed by the application installation unit cannot be obtained in the same way as in the clean PC environment. It is characterized by including the environment.
또한, 상기 가상화된 가상환경요소는, 기본적으로 가상 레지스트리 시스템(Virtual Registry System)을 포함하는 것을 특징으로 한다.In addition, the virtualized virtual environment element, characterized in that it comprises a virtual registry system (Virtual Registry System) basically.
또한, 상기 가상화된 가상환경요소는, 가상 파일 시스템(Virtual File System), 가상 레지스트리 시스템(Virtual Registry System) 및 가상 컴포넌트 시스템(Virtual Component System)을 포함하는 것을 특징으로 한다.In addition, the virtualized virtual environment element, characterized in that it comprises a virtual file system (Virtual File System), a virtual registry system (Virtual Registry System) and a virtual component system (Virtual Component System).
또한, 상기 어플리케이션 설치부는, 호스트 컴퓨터의 운영체제에 설치하여 사용할 수 있는 한, 어플리케이션의 구성요소와 설치정보를 포함하는 것을 특징으로 한다.The application installation unit may include components of the application and installation information as long as the application installation unit can be installed and used in an operating system of the host computer.
또한, 상기 어플리케이션의 구성요소는, 어플리케이션을 구성하는 폴더 및 파일 정보와 레지스트리 정보를 포함하는 것을 특징으로 한다.In addition, the component of the application is characterized in that it contains folder and file information and registry information constituting the application.
또한, 상기 재패킹 데이터는, 어플리케이션 설치부에 의해 설치되는 어플리케이션의 구성요소를 사용목적에 맞게 재구성한 것을 특징으로 한다.In addition, the repacking data is characterized in that the components of the application installed by the application installation unit is reconfigured according to the purpose of use.
또한, 상기 재패킹 데이터는, 블록단위로 실시간으로 저장되거나 또는 파일단위로 저장되는 것을 특징으로 한다.The repacking data may be stored in real time in units of blocks or in units of files.
본 발명의 제3 실시예에 따르면, 상기 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체가 제공된다.According to a third embodiment of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for executing the method.
상술한 바와 같이, 본 발명에 따르면, 클린PC가 아닌 호스트 컴퓨터의 메모리상에서 클린PC 이미지를 사용하여 클린PC환경을 가상화하고, 가상화된 클린PC환경상에서 어플리케이션 설치부를 구동함으로서, 어플리케이션 설치부가 클린PC상에서 동작하는 것과 동일한 결과를 얻을 수 있으며, 이를 통해 클린PC가 아닌 더티PC상에서도 재패킹 데이터 생성을 위한 어플리케이션 구성요소를 쉽게 얻을 수 있다.As described above, according to the present invention, by using the clean PC image on the memory of the host computer instead of the clean PC, the clean PC environment is virtualized, and the application installation unit is driven on the clean PC by driving the application installation unit on the virtualized clean PC environment. You get the same results as it does, and you can easily get the application components for repacking data generation on dirty PCs instead of clean PCs.
또한, 본 발명에 따르면, 폴더 및 파일, 레지스트리 정보의 취합이 아닌 어 플리케이션 설치부의 실행에 따라 실시간으로 어플리케이션 구성요소를 재패킹할 수 있음으로 재패킹에 소요되는 시간을 단축하는 효과를 줄 수 있다.In addition, according to the present invention, the application component can be repacked in real time according to the execution of the application installation unit, rather than the collection of folders, files, and registry information, thereby reducing the time required for repacking. .
이하, 첨부도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다. 이하에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
먼저, 본 발명에 따른 기술적 사상을 당업자가 보다 용이하게 이해할 수 있도록 명세서상에 기술되는 클린PC환경 및 더티PC환경의 의미를 먼저 설명한다.First, the meanings of the clean PC environment and the dirty PC environment described in the specification will be described first so that those skilled in the art can more easily understand the technical idea according to the present invention.
"클린PC환경"이란, 클린PC의 운영체제상에서 어플리케이션이 실행될 때에 운영체제에 의해서 제공되는 파일시스템, 레지스트리시스템, 라이브러리, 문자폰트, DLL(Dynamic Link Library), COM(Component Object Model), RPC(Remote Procedure Call)등의 환경적인 요소들을 이야기한다.A "clean PC environment" is a file system, registry system, library, character font, dynamic link library (DLL), component object model (COM), or RPC (remote procedure) provided by an operating system when an application runs on a clean PC operating system. Talk about environmental factors such as Call.
한편, "더티PC환경"이란, 클린PC환경상에서 사용자들이 설치한 어플리케이션들에 의해 폴더 및 파일, 레지스트리, 문자폰트, DLL, COM, RPC 환경 및 데이터가 변경되어 새롭게 구성된 환경적인 요소들을 이야기한다. 더티PC환경은 클린PC환경을 포함하며, 사용자PC의 대부분은 운영체제 이외의 어플리케이션들이 설치된 상태이기 때문에 더티PC환경임을 알 수 있다.On the other hand, "dirty PC environment" refers to environmental elements newly configured by changing folders and files, registry, text font, DLL, COM, RPC environment, and data by applications installed by users in the clean PC environment. The dirty PC environment includes a clean PC environment, and most of the user PCs are dirty PC environments because applications other than the operating system are installed.
또한, "가상화"란 어플리케이션이 실행될 수 있는 가상의 환경을 메모리(200) 내에 구축하는 것을 의미한다.In addition, "virtualization" means building a virtual environment in the
또한, "재패킹(repacking)"이란 어플리케이션 설치부에 의해 설치된 어플리케이션을 서비스 목적에 적합하도록 재구성하는 것으로, 본 발명에서는 소스코드의 수정없이 하나의 파일안에 어플리케이션 파일, 폴더, 레지스트리를 포함시켜 서비스 가능한 데이터를 만드는 것을 의미한다.In addition, "repacking" refers to reconfiguring an application installed by an application installation unit to suit a service purpose. In the present invention, an application file, a folder, and a registry may be included in one file without modification of source code. To create data.
상술한 바와 같은 환경적인 요소들의 전체 혹은 일부를 어플리케이션 설치부(310)를 수행할 때 제공하기 위해, 운영체제상에 본 발명에 따른 호스트 컴퓨터(1000)의 데이터 저장부(300)에 저장된 가상환경부(320)를 사용하여 클린PC 이미지를 가상화하고, 어플리케이션 설치부(310)가 실행되는 중에 요청하는 클린PC의 폴더 및 파일 정보, 레지스트리 정보를 어플리케이션 설치부(310)에게 제공함으로써 어플리케이션 설치부(310)가 클린PC상에서 구동하는 것과 동일한 효과를 제공하는 환경적인 요소들이 구성된 것을 “클린PC환경”이라 언급하기로 한다.In order to provide all or a part of the environmental elements as described above when performing the application installation unit 310, the virtual environment unit stored in the
이하, 도면을 참조하여 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 시스템을 상세하게 설명한다.Hereinafter, a system for extracting repacking data of an application on a host computer in a dirty PC environment will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 호스트 PC, 유무선 데이터 통신 네트워크, 외부저장장치를 포함한 전체 시스템을 도시한 도면이며, 도 2은 본 발명의 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 호스트컴퓨터의 구성도이다. 한편, 도 3은 본 발명의 실시예에 따른 데이터 저장부의 클린PC 이미지 생성부의 구성도이며, 도 4는 본 발명에 따른 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션 설치부에 의해 가상화되는 클린PC환경을 도시한 도면이다.1 is a diagram showing an entire system including a host PC, a wired and wireless data communication network, and an external storage device according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating an application on a host computer in a dirty PC environment according to an embodiment of the present invention. A diagram of a host computer extracting repacking data. On the other hand, Figure 3 is a block diagram of a clean PC image generating unit of the data storage unit according to an embodiment of the present invention, Figure 4 is a clean virtualized by the application installation unit on the host computer of the dirty PC environment according to an embodiment of the present invention A diagram showing a PC environment.
도 1 내지 도 4를 참조하면, 본 발명에 따른 시스템은, 도 2에 도시된 바와 같이, 호스트 컴퓨터(1000) 내부에 구성되는 중앙처리장치(100), 메모리(200), 테이터 저장부(300), 통신부(400)를 포함한다. 한편, 도 2에서 데이터 저장부(300)는 호스트 컴퓨터(1000)에 존재하는 것으로 도시되어 있으나, 데이터 저장부(300)는 도 1에서 도시된 바와 같이, 유무선 데이터 통신 네트워크(2000)를 통해 연결된 별도의 외부저장장치(3000)일 수 있다.1 to 4, as illustrated in FIG. 2, the system according to the present invention includes a
데이터 저장부(300)는 어플리케이션을 호스트 컴퓨터(1000)에 설치하기 위한 어플리케이션 설치부(310a)와, 사용자가 선택한 어플리케이션 설치부(310a)가 구동될 수 있는 클린PC환경(340a)을 가상화시키는 가상환경부(320a)와, 가상환경부(320a)를 메모리(200)에 로드하여 가상의 클린PC환경(340a)을 메모리(200)에 활성화시키고, 실행가능한 클린PC 이미지 리스트를 표시해주는 가상환경 구동부(330a)와, 가상환경부(320a)를 통해 클린PC환경을 가상화하고 어플리케이션 설치부(310a)가 요청하는 폴더 및 파일, 레지스트리 정보를 제공하는 클린PC 이미지 저장부(340)와, 어플리케이션 설치부(310a)에 의해 클린PC환경에 설치된 어플리케이션의 구성요소가 사용목적에 따라 재구성된 재패킹 데이터를 저장하는 재패킹 데이터 저장부(350)와, 클린PC 이미지를 생성하기 위한 클린PC 이미지 생성부(360)와, 데이터 저장부(300)에 저장된 데이터를 소정의 형식으로 읽고, 쓰는 파일시스템부(300a)를 포함하고 있다. The
특히, 재패킹 데이터 저장부(350)는 어플리케이션 구성요소인 파일을 구별할 수 있는 인덱스 정보와 파일 데이터를 저장할 수 있는 한 개 또는 여러 개의 저장 공간으로 구성된다. 각 파일은 사용방법에 따라서 파일 또는 저장공간 단위로 압축되거나 압축되지 않을 수 있다.In particular, the repacking
또한, 재패킹 데이터 저장부(350)는 어플리케이션 구성요소인 파일의 데이터블록을 구별할 수 있는 인덱스 정보와 파일 데이터를 저장할 수 있는 한 개 또는 여러 개의 저장공간으로 구성된다. 어플리케이션 구성요소인 파일은 운영체제(210)가 메모리에 데이터를 로딩하는 것과 동일한 크기의 블록(block)으로 나누어서 저장되며, 각 블록은 사용방법에 따라 압축되거나 또는 압축되지 않을 수 있다.In addition, the repacking
한편, 데이터 저장부(300)의 어플리케이션 설치부(310a), 가상환경부(320a), 가상환경 구동부(330a)는 각각 호스트 컴퓨터(1000)의 메모리(200)에 로딩되어 실행되며, 이러한 각 부에 대응하는 메모리(200)내의 어플리케이션 설치부(310b), 가상환경부(320b), 가상환경 구동부(330b)를 도 2에서 도시하고 있다. 이러한 데이터 저장부(300)는 소정의 반도체 소자인 RAM 또는 ROM 등으로 구성되거나, Hard 디스크 등으로 구성될 수 있으며, 사용 방법에 따라 호스트 컴퓨터(1000)의 내부저장 장치인 Hard Disk 또는 외부저장장치(3000)인 외장 Hard Disk, CD/DVD-ROM, USB 메모리 등으로 대체될 수 있다. 또한, 데이터 저장부(300)에 저장되어 있는 데이터는 운영체제(210)가 인식할 수 있는 파일시스템부(300a)위에 저장된다.Meanwhile, the
가상환경부(320b)는 클린PC 이미지 저장부(340)에 저장된 클린PC 이미지에 기초하여, 호스트 컴퓨터(1000)의 운영체제(210)상에서 어플리케이션 설치부(310b)가 클린PC상에서 실행되는 것과 동일한 상태인 소정의 클린PC환경(340a)을 가상화한다. 보다 구체적으로 가상환경부(320b)는 가상 레지스트리 시스템(Virtual Registry System), 가상 파일 시스템(Virtual File System), 가상 컴포넌트 시스템(Virtual Component System) 등으로 호스트 컴퓨터(1000)의 메모리(200) 내부에 클린PC환경(340a)을 가상화시킨다. 이때 가상 파일 시스템은 필수적인 요소이나, 가상 레지스트리 시스템과 가상 컴포넌트는 필요에 따라 사용되지 않을 수도 있다.The
여기서, "가상 파일 시스템(Virtual File System)"이란, 호스트 컴퓨터(1000)에 설치되어 있지 않은 폴더 및 파일 정보를 데이터 저장부(300)의 클린PC 이미지 저장부(340)를 참조하여 호스트 컴퓨터(1000)의 메모리(200)에 소정의 파일 데이터 및 폴더들이 존재하는 것과 같이 인식시키는 가상화된 가상환경을 말한다. 이러한 가상 파일 시스템은 운영체제에서 제공되는 FSD(File System Driver)와 유사하다. 즉, 응용프로그램 설치부(310b)가 어플리케이션을 설치하는 도중에 운영체제(210)에 요청하는 메시지를 후킹(hooking)한다. 이때 응용프로그램 설치부(310b)에 의해 요청되는 메시지는 파일의 데이터블록을 호출(call)하는 메시지이다. 이후, 가상 파일 시스템은 후킹된 메시지에 기초하여 어플리케이션 설치부(310b)가 쓰기요청하는 재패킹 데이터를 재패킹 데이터 저장부(350)에 저장한다. 여기서, 본 발명에서 후킹이란 모니터링의 의미로 사용된다.Here, " virtual file system " refers to a folder and file information that is not installed in the
한편, "가상 레지스트리 시스템(Virtual Registry System)"이란, 호스트 컴퓨터(1000)에 설치되어 있지 않은 레지스트리 키(Key)및 데이터(Value)를 데이터 저장부(300)의 클린PC 이미지 저장부(340)를 참조하여 호스트 컴퓨터(1000)의 메모리(200)에 소정의 레지스트리 키(Key)및 데이터(Value)들이 존재하는 것과 같이 인식시키는 가상화된 가상환경을 말한다.On the other hand, a "virtual registry system" means a registry key and data that are not installed in the
마찬가지로, 가상 레지스트리 시스템은 운영체제에서 제공하는 RSD(Registry System Driver)와 유사하다. 즉, 응용프로그램 설치부(310b)가 어플리케이션을 설치하는 도중에 운영체제(210)에 요청하는 메시지를 후킹(hooking)한다. 이때 응용프로그램 설치부(310b)에 의해 요청되는 메시지는 레지스트리 키(Key) 또는 값(value)이다. 이후 가상 레지스트리 시스템은 후킹된 메시지에 기초하여 어플리케이션 설치부(310b)가 쓰기요청하는 재패킹 데이터를 재패킹 데이터 저장부(350)에 저장한다.Similarly, the virtual registry system is similar to the RSD (Registry System Driver) provided by the operating system. That is, the
또한, "가상 컴포넌트 시스템(Virtual Component System)"이란, 호스트 컴퓨터(1000)에 설치되어 있지 않은 컴포넌트 또는 DLL(Dynamic Link Library)파일들을 데이터 저장부(300)의 클린PC 이미지 저장부(340)를 참조하여 호스트 컴퓨터(1000)의 메모리(200)에 소정의 컴포넌트 또는 DLL 파일들이 존재하는 것과 같이 인식시키는 가상화된 가상환경을 말한다.In addition, the "Virtual Component System" refers to a component or DLL (Dynamic Link Library) files that are not installed in the
이와 같이, 가상환경부(320b)는 클린PC환경(340a)을 호스트 컴퓨터(1000)의 메모리(200)에 가상화시킨다. 또한, 가상환경부(320b)는 가상화된 클린PC환경(340a)에서 어플리케이션 설치부(310b)가 어플리케이션을 설치하는 도중에 운영체제(210)에 요청하는 메시지를 후킹하고, 후킹된 메시지에 기초하여 어플리케이션 설치부(310b)가 쓰기 요청한 메시지를 재패키징 데이터 저장부(350)에 저장한다.As such, the
이때, 클린PC환경(340a)상에서 동작하는 어플리케이션 설치부(310b)의 요청에 따른 메시지인, 읽기(read) 데이터는 통신버스(150a)를 통해 데이터 저장부(300)에 있는 클린PC 이미지 저장부(340)로부터 전달되며, 어플리케이션 설치 부(310)의 요청에 따른 쓰기(write) 데이터는 통신버스(150b)를 통해 데이터 저장부(300)에 있는 재패킹 데이터 저장부(350)로 전달된다. 이때 한번 쓰기(write)된 재패킹 데이터 저장부(350)에 있는 데이터는 어플리케이션 설치부(310)의 요청에 따라 다음의 읽기(read) 요청에 따른 데이터로 쓰여지게 된다. 즉 어플리케이션 설치부(310)에 의해 재패킹 데이터 저장부(350)에 쓰여진 데이터는 현재 실행중인 어플리케이션 설치부(310)의 읽기(read)요청에 따른 결과 데이터로 사용되어질 수 있다.At this time, read data, which is a message according to a request of the
다른 실시예로, 가상환경부(320b)는 스냅샷 방식을 사용해서 재패킹 데이터를 추출할수도 있다. 즉, 가상환경부(320b)는 클린PC환경(340a)을 호스트 컴퓨터(1000)의 메모리(200)에 가상화시킨 후, 가상화된 클린PC환경(340a)에서 운영체제(210)의 첫번째 파일 및 폴더의 스냅샷을 생성한다. 이후 어플리케이션 설치부(310b)에 의해 어플리케이션 설치가 종료되면, 운영체제(210)의 두번째 파일 및 폴더의 스냅샷을 생성한다. 마지막으로, 가상환경부(320b)는 두번째 스냅샷과 첫번째 스냅샷의 차이를 재패킹 데이터로 하여 재패킹 데이터 저장부(350)에 저장할 수 있다. 이러한 방식은 가상의 클린PC환경(340a)상에서 스냅샷을 이용한다는 점에서, 실제 클린PC 상에서 스냅샷을 이용하는 종래기술과 구별된다.In another embodiment, the
한편, 가상환경 구동부(330b)는 데이터 저장부(300)에 저장된 가상환경부(320a)를 호스트 컴퓨터(1000)의 메모리(200)에 로드하고, 로드된 가상환경부(320b)를 활성화하여 클린PC환경(340a)이 가상화되도록 한다. 즉, 도 4에서 도시된 바와 같이, 클린PC환경(340a)이 호스트 컴퓨터(1000)의 메모리(200)에 가상화된 다. 이와 같이 가상환경 구동부(330b)는, 통신버스(150)을 통하여 통신 접속하여 데이터 저장부(300)로부터 사용 가능한 클린PC 이미지 리스트를 호스트 컴퓨터(1000)의 디스플레이 장치에 표시하고, 사용자에 의해 선택된 가상환경부(320b)를 구동시킴으로써, 메모리(200)에 가상의 클린PC환경(340a)을 구성한다.The
한편, 클린PC 이미지 저장부(340)는 가상환경부(320)에 의해 클린PC환경(340a)을 가상화하기 위한 데이터인 클린PC 이미지를 저장한다. 여기서 "클린PC 이미지"란 호스트 컴퓨터(1000)에 설치되어 실행될 수 있는 어플리케이션 구성요소인 폴더 및 파일 정보, 레지스트리 정보, 폴더 및 파일의 이름, 경로정보, 날짜 정보, 속성(Attribute) 정보, 버전정보를 포함하며, 일부 파일에 대해서는 파일의 내용인 데이터를 포함할 수도 있고 포함하지 않을 수도 있다. 또한 필요에 따라서는 레지스트리(registry) Key 값과 Value값을 포함할 수 있다.The clean PC
한편, 파일시스템부(300a)는 컴퓨터(200)의 운영체제(Operating System)가 인식할 수 있는 FAT, FAT16, FAT32, NTFS, exe32 등과 같은 소정의 파일 형태를 갖는다. 이때, 파일시스템부(300a)는 호스트 컴퓨터(1000)의 데이터 저장부(300)에 저장될 수도 있고 또는 저장되지 않을 수도 있다는 점에 유의하여야 한다.On the other hand, the
클린PC 이미지 생성부(360)는 메모리(200)내에 클린PC환경(340a)을 가상화하는데 필요한 클린PC 이미지를 생성하고, 생성된 클린PC 이미지를 클린PC 이미지 저장부(340)에 저장하는데, 그 구체적인 구성은 도 3에 도시된 바와 같다.The clean PC
즉, 도 3을 참조하면, 파일정보 생성부(361)는 클린PC의 폴더 및 파일 정보를 추출하며, 레지스트리정보 생성부(362)는 클린PC의 레지스트리 정보를 추출하 며, 클린PC 이미지 관리부(363)는 생성된 정보를 통해 클린PC 이미지를 생성, 수정, 삭제, 관리한다. 본 발명에서, 클린PC 이미지 생성부(360)는 임의의 호스트 컴퓨터(1000)에 어플리케이션을 구동하기 위한 최소의 소프트웨어가 설치된 상태, 즉 클린PC에서 클린PC 이미지 저장부(340)를 생성하는 것을 예로 들었지만, 활용방법에 따라서는 운영체제 설치CD, Ghost로 생성된 운영체제 이미지파일, VMWare로 생성된 운영체제 이미지파일 등을 통해서도 생성될 수 있다는 점에 유의하여야 한다.That is, referring to FIG. 3, the file
한편, 통신부(400)는 데이터 저장부(300)에 저장된 데이터를 소정의 형식으로, 읽고(read) 쓰는(write) 호스트 컴퓨터(1000)내의 중앙처리장치(100)와 메모리(200)등의 다양한 장치들간의 통신을 제어하여 통신버스(150)를 통한 데이터의 흐름을 제어한다. 또한 통신부(400)는 통신버스(150)를 통해 외부장치와의 통신을 위한 유무선 데이터 통신망(2000)으로 사용될 수 있으며, 이럴 경우 USB, USB2, Serial/Parallel Port, Ethernet, TCP/IP 등과 같은 기설정된 통신규약(protocol)에 기초하여 데이터의 흐름을 제어한다.Meanwhile, the
통신버스(150)는 호스트 컴퓨터(1000)내의 상이한 디바이스들간에 데이터, 명령, 다른 정보의 전달을 지원하며, 도면에서는 단순하게 단일 버스로 도시되어 있으나 통상적으로는 통신 버스는 다중 버스로 구성되며 또한 계층 형태로 구성될 수도 있다. 또한 유무선 데이터 통신망으로 사용되는 경우 Cable, 전파, 빛, 적외선 등과 같은 유무선 데이터 통신 매개체로 볼 수 있다.The
메모리(200)는 소정의 반도체 소자인 RAM 또는 ROM뿐만 아니라 이들의 변형 형태인 FRAM 등으로 구성될 수 있고, 소정의 어플리케이션을 더티PC환경(210a)에서 구동시키기 위한 운영체제(210)와 다양한 데이터 파일을 저장한다. 또한, 메모리(200)는 운영체제(210)의 제어신호에 따라 통신버스(150)를 통해 데이터 저장부(300)로부터 로딩된 가상환경부(320b)와 가상환경 구동부(330b)을 저장한다.The
한편, 도 5는 본 발명에 따른 실시예에 따른 더티PC 환경의 호스트 컴퓨터(1000)상에서 어플리케이션의 재패킹 데이터를 추출하는 방법을 도시한 흐름도로, 본 발명의 이해를 위해 도 1 내지 도 4와 관련하여 중복적인 설명을 생략하기로 한다.5 is a flowchart illustrating a method of extracting repacking data of an application on a
도 1 내지 도 5를 참조하면, 단계 501에서, 호스트 컴퓨터(1000)의 데이터 저장부(300)에 있는 가상환경 구동부(330a)가 메모리(200)에 로드되어 실행된다. 도면부호 330b는 메모리(200)에 로딩된 데이터 저장부(300)에 있는 가상환경 구동부(330a)를 의미한다.1 to 5, in operation 501, the
단계 502에서, 단계 501에서 실행된 가상환경 구동부(330a)는 호스트 컴퓨터(1000)의 데이터 저장부(300)로부터 가상환경부(320a)를 메모리에 로드하고, 로드된 가상환경부(320a)를 실행시킨다. 마찬가지로, 도면부호 320b는 메모리(200)에 로딩된 데이터 저장부(300)에 있는 가상환경 구동부(320a)를 의미한다.In operation 502, the
이후, 단계 503에서, 가상환경부(320b)가 실행되면, 구동 가능한 클린PC 이미지의 리스트들이 호스트 컴퓨터(1000)의 디스플레이장치에 표시되며, 이후 사용자에 의해 소정의 클린PC 이미지의 리스트가 선택된다.Thereafter, when the
이후 단계 504에서, 가상환경부(320)는 사용자에 의해 선택된 클린PC 이미지에 기초하여 클린PC환경(340a)을 호스트 컴퓨터(1000)의 메모리(200)에 가상화한 다.Thereafter, in operation 504, the
이후, 단계 505에서는, 가상화된 클린PC환경(340a) 상에서 어플리케이션 설치부(310b)가 실행된다.Thereafter, in step 505, the
단계 506에서, 가상환경부(320)는 어플리케이션이 설치되는 도중에 어플리케이션 설치부(310b)가 요청하는 메시지를 후킹하고, 후킹된 메시지가 읽기(read) 요청 메시지라면, 읽기 요청 메시지에 기초하여 어플리케이션 설치부(310b)가 일기 요청한 데이터인, 클린PC 이미지를 클린PC 이미지 저장부(340)로부터 메모리로 실시간 로딩한다.In operation 506, the
반면, 후킹된 메시지가 쓰기 요청에 관한 메시지라면, 단계 507에서 가상환경부(320)는 쓰기 요청 메시지에 기초하여 어플리케이션 설치부(310b)가 쓰기 요청한 데이터인, 재패킹 데이터를 데이터 저장부(300)의 재패키징 데이터 저장부(350)에 저장한다.On the other hand, if the hooked message is a message relating to the write request, the
어플리케이션 설치부(310)는 가상의 클린PC환경(340a) 상에서 소정의 어플리케이션을 설치하게 되며, 그에 따라 가상환경부(320)는 단계 506 내지 단계 507과 같이, 클린PC 이미지를 클린PC 이미지 저장부(340)로부터 실시간으로 메모리에 로딩하거나, 또는 재패킹 데이터를 재패킹 데이터 저장부(350)에 저장하게 된다. 본 발명에 의하면, 가상환경부(320)는 재패킹 데이터를 실시간으로 데이터블록단위로 저장하거나 또는 여러개의 블록이 합쳐진 파일단위로 저장할 수 있다.The application installation unit 310 installs a predetermined application on the virtual
한편, 도 6은 본 발명의 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법에서 클린PC환경을 분리하는 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of separating a clean PC environment in a method of extracting repacking data of an application on a host computer of a dirty PC environment according to an exemplary embodiment of the present invention.
도 1 내지 도 4, 도 6을 참조하면, 단계 601에서, 어플리케이션 설치부(310)가 종료되면, 단계 602에서, 가상환경부(320b)는 메모리(200)에 가상화된 클린PC환경(340a)을 제거한다. 이후, 단계 603에서, 어플리케이션 설치부(310b) 가상환경부(320b), 가상환경 구동부(330b)는 메모리(200)로부터 제거된다.1 to 4 and 6, in step 601, when the application installation unit 310 is finished, in step 602, the
한편, 도 7은 본 발명의 실시예에 따른 호스트 컴퓨터상에서 어플리케이션 재패킹을 위한 추출 방법에서 클린PC 이미지를 생성하는 방법을 도시한 흐름도이다.7 is a flowchart illustrating a method of generating a clean PC image in an extraction method for repacking an application on a host computer according to an exemplary embodiment of the present invention.
도 1 내지 도 4, 도 7을 참조하면, 단계 701에서, 클린PC 이미지 생성부(360)는 클린PC에 구성된 레지스트리 정보를 추출한다. 이와 별도로, 단계 702에서, 클린PC 이미지 생성부(360)는 클린PC에 구성된 폴더 및 파일 정보를 추출한다. 단계 703에서, 클린PC 이미지 생성부(360)는 폴더 및 파일, 레지스트리 정보를 사용하여 클린PC 이미지를 생성한다. 생성된 클린PC 이미지는 클린PC 이미지 저장부(340)에 저장된다.1 to 4 and 7, in step 701, the clean
한편, 도 8은 본 발명의 실시예에 따른 더티PC 환경의 호스트 컴퓨터(1000)상에서 어플리케이션의 재패킹 데이터를 추출하는 방법에서 클린PC 어플리케이션 설치부(310)를 분석하여 재패킹 데이터를 추출하는 방법을 도시한 흐름도로, 도 7과 달리 별도의 클린PC 설치 프로그램을 사용하는 경우이다.8 is a method of extracting repacking data by analyzing a clean PC application installer 310 in a method of extracting repacking data of an application on a
도 1 내지 도 4, 도 8을 참조하면, 단계 801에서, 클린PC 이미지 생성부(360)는 클린PC 설치프로그램을 분석하여 레지스트리 정보를 추출한다. 이와 별 도로, 단계 802에서, 클린PC 이미지 생성부(360)는 클린PC 설치프로그램을 분석하여 폴더 및 파일 정보를 추출한다. 단계 803에서, 클린PC 이미지 생성부(360)는 폴더 및 파일, 레지스트리 정보를 사용하여 클린PC 이미지를 생성한다. 생성된 클린PC 이미지는 클린PC 이미지 저장부(340)에 저장된다.1 through 4 and 8, in step 801, the clean
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브 (예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
도 1은 본 발명의 실시예에 따른 호스트 컴퓨터, 유무선 데이터 통신 네트워크, 외부저장장치를 포함한 시스템을 도시한 도면이다.1 is a diagram illustrating a system including a host computer, a wired / wireless data communication network, and an external storage device according to an exemplary embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 시스템의 구성도이다.2 is a block diagram of a system for extracting repacking data of an application on a host computer in a dirty PC environment according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 데이터 저장부의 클린PC 이미지 생성부의 구성도이다. 3 is a block diagram of a clean PC image generator of a data storage unit according to an exemplary embodiment of the present invention.
도 4는 본 발명에 따른 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 가상환경부에 의해 가상화된 클린PC환경을 도시한 도면이다.4 is a diagram illustrating a clean PC environment virtualized by a virtual environment unit on a host computer of a dirty PC environment according to an embodiment of the present invention.
도 5는 본 발명에 따른 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법을 도시한 흐름도이다.5 is a flowchart illustrating a method of extracting repacking data of an application on a host computer in a dirty PC environment according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법에서 클린PC환경을 분리하는 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of separating a clean PC environment in a method of extracting repacking data of an application on a host computer of a dirty PC environment according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 호스트 컴퓨터상에서 어플리케이션 재패킹을 위한 추출 방법에서 클린PC 이미지를 생성하는 방법을 도시한 흐름도이다.7 is a flowchart illustrating a method of generating a clean PC image in an extraction method for repacking an application on a host computer according to an exemplary embodiment of the present invention.
도 8은 본 발명의 실시예에 따른 더티PC 환경의 호스트 컴퓨터상에서 어플리케이션의 재패킹 데이터를 추출하는 방법에서 클린PC 어플리케이션 설치부를 분석하여 재패킹 데이터를 추출하는 방법을 도시한 흐름도이다.8 is a flowchart illustrating a method of extracting repacking data by analyzing a clean PC application installer in a method of extracting repacking data of an application on a host computer in a dirty PC environment according to an exemplary embodiment of the present invention.
Claims (33)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080089009 | 2008-09-09 | ||
KR20080089009 | 2008-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100030581A true KR20100030581A (en) | 2010-03-18 |
KR101160057B1 KR101160057B1 (en) | 2012-06-26 |
Family
ID=42180505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090083388A KR101160057B1 (en) | 2008-09-09 | 2009-09-04 | Method and system for extracting repacking data of application program on host computer in dirty personal computer environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101160057B1 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060058296A (en) * | 2004-11-25 | 2006-05-30 | 주식회사 코어그리드테크놀로지 | Intergration process method for auto backup and recovery of system/data |
EP1773043A1 (en) * | 2005-10-06 | 2007-04-11 | Dibcom | Method and system for storing data packets |
-
2009
- 2009-09-04 KR KR1020090083388A patent/KR101160057B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101160057B1 (en) | 2012-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11561866B2 (en) | Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod | |
US11366723B2 (en) | Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments | |
US11461184B2 (en) | Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems | |
CN101398770B (en) | System for and method of migrating one or more virtual machines | |
US8577845B2 (en) | Remote, granular restore from full virtual machine backup | |
US20220012134A1 (en) | Cloud-based air-gapped data storage management system | |
CN102193817B (en) | Simplify the management of physics and virtual deployment | |
Gilbert et al. | Pocket ISR: Virtual machines anywhere | |
US11954513B2 (en) | Scalable recovery and/or migration to cloud- based custom-made virtual machines without using failed machines' credentials | |
US9183130B2 (en) | Data control system for virtual environment | |
US11645169B2 (en) | Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system | |
US20150373102A1 (en) | Deployment of virtual machine disks from a shared network file system | |
US8225316B1 (en) | Methods and systems for creating and applying patches for virtualized applications | |
US20230043336A1 (en) | Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment | |
US10303556B1 (en) | Modifiable volume snapshots | |
US10127029B1 (en) | Operating system installation using logical volumes | |
KR101160057B1 (en) | Method and system for extracting repacking data of application program on host computer in dirty personal computer environment | |
KR102618274B1 (en) | Management system for data included in a container and control method thereof | |
US20230297403A1 (en) | Live mounting a virtual machine in a public cloud based on accessing a simulated virtual disk as an internet small computer systems interface (iscsi) target | |
US20240056481A1 (en) | Data storage management system integrating cyber threat deception | |
US20230147671A1 (en) | Systems and methods for optimizing storage and retention of deduplicated secondary copies at storage platforms that are write-once read-many (worm) enabled | |
US20240012717A1 (en) | Protecting configuration data in a clustered container system | |
US20230124827A1 (en) | Data storage management system for live-mounting a virtual machine in a cloud computing environment based on using nested virtual machines for immediate access to data in a proprietary backup copy | |
US20240134753A1 (en) | Protection, recovery, and migration of databases-as-a-service (dbaas) and/or serverless database management systems (dbms) in cloud and multi-cloud | |
US20230409405A1 (en) | Holistically protecting serverless applications based on detecting in-cloud deployments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150630 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160920 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170620 Year of fee payment: 6 |