KR100953096B1 - 가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법 - Google Patents

가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법 Download PDF

Info

Publication number
KR100953096B1
KR100953096B1 KR1020070132618A KR20070132618A KR100953096B1 KR 100953096 B1 KR100953096 B1 KR 100953096B1 KR 1020070132618 A KR1020070132618 A KR 1020070132618A KR 20070132618 A KR20070132618 A KR 20070132618A KR 100953096 B1 KR100953096 B1 KR 100953096B1
Authority
KR
South Korea
Prior art keywords
file
registry
information
virtual
mobile
Prior art date
Application number
KR1020070132618A
Other languages
English (en)
Other versions
KR20090065159A (ko
Inventor
최원혁
김원영
최완
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020070132618A priority Critical patent/KR100953096B1/ko
Publication of KR20090065159A publication Critical patent/KR20090065159A/ko
Application granted granted Critical
Publication of KR100953096B1 publication Critical patent/KR100953096B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 임의의 호스트의 실행 환경과 리소스에 대한 변경 없이 독립적으로 응용 프로그램 수준의 가상화를 제공하는 시스템 및 그 방법에 대한 것이다.
본 발명에 따른 이동형 소프트웨어를 위한 가상화 지원 시스템은, 이동형 소프트웨어 실행기로부터 파일 정보를 전송받아 이를 기초로 가상 파일 정보를 구성하고 파일 입출력 발생 시 상기 파일 입출력을 연산하여 실제 파일 시스템에 전달하는 가상 파일 시스템과, 이동형 소프트웨어 실행기로부터 레지스트리 정보를 전송받아 이를 기초로 가상 레지스트리 정보를 구성하고 레지스트리 입출력 발생 시 상기 레지스트리 입출력를 연산하여 실제 레지스트리 하이브에 전달하는 가상 레지스트리 하이브를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 언제 어디서나 필요할 때에 호스트 컴퓨터에 설치 없이 실행하여 필요한 작업을 수행할 수 있도록 한다.
이동형 SW, 응용프로그램 가상화, Copy-on-Write scheme, 가상 파일 시스템, 가상 레지스트리 하이브

Description

가상화 지원 시스템과 COPY-ON-WRITE 방법을 이용한 응용프로그램 가상화 제공 방법 {A Method for Providing Application Virtualization Using Virtual Supporting System And Copy-On-Write Scheme}
본 발명은 임의의 호스트의 실행 환경과 리소스에 대한 변경 없이 독립적으로 응용 프로그램 수준의 가상화를 제공하는 시스템 및 그 방법에 대한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다 [과제관리번호:2007-S-015-01, 과제명: SaaS 기반 이동형 개인 맞춤 사무환경 제공 기술 개발].
인터넷을 사용하는 사용자의 증가와 인터넷을 이용한 다양한 웹 어플리케이션을 이용한 서비스들의 보급으로 인하여, 전문 개발업체에 의해 개발되고 개발업체의 온/오프라인 영업망을 통해 CD나 다운로드 패키지 형태로 판매되는 소프트웨어(이하 SW) 유통 방식이 점차 인터넷을 통한 서비스 형태로 전환되고 있다. 특히, 마이크로소프트, Adobe와 같은 전통적인 패키지 SW 개발 업체들도 자사 SW 유통방 식으로 온라인을 통한 서비스 형태로 전환하고 있다.
설치형 패키지 SW는 별도의 설치와 사용자 환경에 특화된 설정 및 관리가 필요하지만 기존의 사용자층이 두껍고, 강력하고 사용자의 요구에 잘 부합되는 기능을 제공하는 것이 많다. 이에 반하여 온라인 서비스 형태로 제공되는 SW는 설치 없이 원클릭만으로 사용 가능하지만, 아직까지는 간단한 웹 어플리케션 같은 가벼운 기능을 가지는 SW 위주로 제공된다. 그러므로, 서비스 형태로 제공되는 SW들도 패키지 SW가 가지는 강력하고 다양한 기능들을 제공하기 위하여 관련 기술들이 개발되고 있다.
Altiris의 SVS는 기존의 윈도우 기반의 패키지 SW를 사용자의 호스트에 설치 없이 사용할 수 게 하는 기술이다. 이를 위하여 기존의 패키지 SW를 SVS를 위한 SW로 변환하기 위한 도구인 Package Studio를 제공한다. AppStream은 SVS의 SW 가상화 기능에 온라인 전송 중에도 SW를 실행할 수 있는 스트리밍 기능을 추가함으로써 마이크로소프트, 인텔 등 기업들과 산호세 기반의 유명 벤처투자가들이 투자하고 있다. 이스라엘의 Exent Technologies사에서 개발한 Extender Player는 소비자들이 게임 SW를 구입하여 개인 PC에 설치하지 않고 마우스를 클릭하는 것만으로 SW를 실행할 수 있게 서비스하고 있다. 또한, PortableApps와 같은 오프라인 상에서 휴대용 메모리에 설치가 필요하지않은 형태로 변환된 소프트웨어를 저장하여 설치없이 SW를 실행하는 형태의 제품들도 제공되고 있다.
상기에서 기술한 바와 같이 설치형 SW를 설치가 필요없는 이동형 SW실행 포맷으로 변환하여 휴대용 저장장치 (예컨대, USB 메모리)에 저장하여, 사용자가 사용하고자 하는 임의의 호스트에 접속하여 저장된 이동형 SW를 설치 없이 실행하고, 변경된 SW실행환경의 일관성을 유지하여 다른 호스트에서도 사용자가 특별한 설정이나 구성 변경 없이 사용하기 위하여 본 발명에서는 임의의 호스트의 실행 환경과 리소스에 대한 변경 없이 독립적으로 응용 프로그램 수준의 가상화를 제공하는 방법을 제공한다. 이를 기초로 이동형 SW 실행 포맷 변환기를 통하여 변환된 이동형 SW를 실행하기 위하여 윈도우 기반 시스템에서 커널 레벨의 가상 파일 시스템과 가상 레지스트리 하이브를 포함하는 가상화 지원 시스템을 설계하고 구현한다.
또한 임의의 호스트에서 사용자가 이동형 SW를 사용할 때 이동형 SW 실행 환경의 일관성을 제공하기 위하여, 가상화 지원 시스템 상에서 추가 및 수정되는 파일과 레지스트리 정보를 Copy-on-Write 방식을 이용하여 처리하는 방법에 대하여 기술한다.
전술한 목적을 이루기 위하여, 본 발명은 이동형 소프트웨어 실행기로부터 파일 정보를 전송받아 이를 기초로 가상 파일 정보를 구성하고 파일 입출력 발생 시 상기 파일 입출력을 연산하여 실제 파일 시스템에 전달하는 가상 파일 시스템 과, 이동형 소프트웨어 실행기로부터 레지스트리 정보를 전송받아 이를 기초로 가상 레지스트리 정보를 구성하고 레지스트리 입출력 발생 시 상기 레지스트리 입출력를 연산하여 실제 레지스트리 하이브에 전달하는 가상 레지스트리 하이브를 포함하는 이동형 소프트웨어를 위한 가상화 지원 시스템을 제공한다.
본 발명의 다른 면에 따라, 이동형 소프트웨어 실행 포맷을 분석하고 레지스트리 정보 및 파일 정보를 가상화 지원 시스템에 전송하는 단계와, 상기 레지스트리 정보 및 파일 정보를 기초로 가상 레지스트리 정보 및 가상 파일 정보를 구성하는 단계와, 이동형 소프트웨어를 구동하는 단계와, 상기 이동형 소프트웨어 구동에 의한 파일 입출력을 연산하고 실제 파일 시스템에 전달하는 단계와, 상기 이동형 소프트웨어 구동에 의한 레지스트리 입출력을 연산하고 실제 레지스트리 하이브에 전달하는 단계를 포함하는 응용 프로그램의 가상화 서비스 방법을 제공한다.
본 발명을 통하여 적용된 응용 프로그램 가상화를 이용한 이동형 SW 실행 엔진을 통하여 USB메모리와 같은 이동 저장 장치 등에 자신이 필요로 하는 이동형 SW를 저장하여 언제 어디서나 필요할 때에 호스트 컴퓨터에 설치 없이 실행하여 필요한 작업을 수행할 수 있도록 한다. 그러므로, 본 발명을 통하여 구축된 이동형 SW 실행 환경은 사용자들에게 개인 맞춤 된 이동 가능한 작업 환경, 즉 이동형 SW 플랫폼을 제공하기 위한 기반 기술이 된다.
또한, 윈도우 시스템에 악영향을 가져 올 수 있는 소프트웨어의 설치 및 실 행 시에 윈도우 실제 실행환경에 독립된 응용 프로그램 가상화 환경에서 실행 하게 함으로써 윈도우 시스템에 대한 보호 기능도 제공할 수 있다.
응용 프로그램 가상화를 위한 이동형 소프트웨어 실행 기술은 설치형 패키지 SW를 오프라인 상황에서 호스트 컴퓨터에 설치없이 실행 가능하도록 함으로써 사용자의 편리성을 높이기 위한 차세대 SW 실행 기술이다. 이는 메모리 및 관련 기술의 발전과 보편화로 누구나 저렴한 가격으로 휴대할 수 있는 USB 메모리와 같은 이동 저장 장치에 자신이 필요로 하는 SW를 저장하여 언제 어디서나 필요할 때에 호스트 컴퓨터에 설치 없이 실행하여 필요한 작업을 수행할 수 있도록 한다. 이러한, 이동형 SW 실행 기술은 사용자들에게 개인 맞춤된 이동 가능한 작업 환경을 제공하기 위한 기반 기술이 된다.
이동형 SW 실행 기술은 패키지 SW를 설치 없이 간단한 실행 동작 - 마우스 클릭- 만으로도 사용할 수 있도록 해야 한다. 이를 위해서는 설치형으로 개발된 SW를 이동형 SW로 변환할 수 있는 실행 포맷 변환 기술과 호스트 컴퓨터에서 이를 실행 할 수 있게 하는 실행엔진 기술 개발이 핵심적으로 요구된다.
이러한 이동형 SW 실행 기술을 제공하기 위하여 본 발명은 임의의 호스트의 실행 환경과 리소스에 대한 변경 없이 독립적으로 응용 프로그램 수준의 가상화를 제공하는 방법에 대하여 소개한다. 이는 실행 포맷 변환기를 통하여 변환된 이동형 SW를 실행하기 위하여 윈도우 기반 시스템에서 커널 레벨의 가상 파일 시스템과 가 상 레지스트리 하이브를 포함하는 가상화 지원 시스템을 구축하고, 임의의 호스트에서 사용자가 이동형 SW를 사용할 때, 실행 환경의 일관성을 제공하기 위하여, 가상화 지원 시스템 상에서의 추가 및 수정되는 파일과 레지스트리 정보를 Copy-on-Write 방식을 이용하여 처리하는 방법에 대하여 기술한다.
이하, 첨부된 도면을 참조하여 본 발명의 구성 및 작용에 대해 상세히 설명한다.
도 1은 본 발명이 적용되는 윈도우 시스템 상에서 수행되는 이동형 SW의 실행 구성도이다.
이동형 SW 실행기(Application Launcher)(100)는 이동형 SW 실행 포맷(SOB)파일로부터 실행 정보를 추출하고 이를 커널에 존재하는 가상화 지원 시스템(Virtualization Support Layer)(200)으로 전달하고, 실제 이동형 SW(110)를 구동한다. 이 때, 커널에 존재하는 가상화 지원 시스템의 모듈인 가상 파일 시스템(Virtual File Module)(210)은 상기 이동형 SW 실행기(100)로부터 이동형 SW(110)의 실행 시에 발생하는 파일 정보를, 전송받은 가상 파일 정보(Virtual FileInfo)(211)를 이용하여 가상 파일 시스템을 구축한다. 또한, 가상 레지스트리 하이브(Virtual Registry Hive)(220)는 이동형 SW 실행기(100)로부터 이동형 SW(110) 실행 시에 필요한 레지스트리 정보를 전송받아 이후의 리다이렉션(Redirection)을 위한 가상 레지스트리 정보(Virtual Registry Info)(221)를 구축한다.
이동형 SW 실행을 위한 가상화 지원 시스템(200) 내부의 필터링 및 리다이렉션 정보가 구축되면, 이동형 SW 실행기(100)는 이동형 SW 실행 포맷(SOB) 파일로부터 추출한 실행정보를 바탕으로 실제 이동형 SW(110)를 구동시킨다. 이동형 SW(110)가 구동되면, 파일 및 레지스트리 I/O가 발생하는데 이 때, 가상화 지원 시스템(200)의 가상 파일 시스템(210)과 가상 레지스트리 하이브(220)는 발생한 파일 및 레지스트리 I/O를 필터링 및 리다이렉션 연산을 통하여 시스템의 실제 파일 시스템(Real File System)(310)과 실제 레지스트리 하이브(Real Registry Hive)(320)로 전달한다.
각각의 가상 파일 시스템(210)과 가상 레지스트리 하이브(220)의 세부 동작은 다음의 도2 ~ 6을 이용하여 기술한다.
도 2는 본 발명의 가상 파일 시스템을 이용하여 이동형 SW의 실행 시에 발생하는 파일 I/O처리를 나타내는 예시도이다.
상기 도 1의 가상 파일 시스템(210)은 처리하는 파일의 속성에 따라 가상 파일 시스템(210) 뿐만이 아니라, 파일 시스템 필터(File System Filter)(212) 두 개의 커널 드라이브 모듈로 구성된다.
이동형 SW(110)가 실행되면, 처리되어야 하는 파일의 특성에 따라 가상 파일 시스템(210)으로의 파일 I/O와 일부 실제 파일 시스템(310)으로의 파일 I/O가 발생한다. 먼저, 이동형 SW 실행 포맷 파일에는 가상 파일 시스템(210)에 구축되는 파일과 윈도우 내의 다른 소프트웨어들과 연동 같은 특수 목적으로 실제 파일 시스템(310)에서 구동되어야 하는 파일이 있다. 하지만, 이러한 실제 파일 시스템에 존재해야 하는 파일들은 윈도우 시스템에서 오용될 여지가 있으므로, 이러한 파일들의 관리를 위하여 실제 접근 위치가 아닌 PSE 파일저장소(PSE File Storage)(311)에 추가 또는 삭제된다.
이를 위하여 실제 파일 시스템(310)으로의 접근하는 파일 I/O는 파일 시스템 필터(212)에서 필터링하여, 발생한 I/O의 목적 위치가 아닌 PSE 파일 저장소(311)로 리다이렉션된다. 파일 시스템 필터(212)에서 리다이렉션을 수행하기 위하여 이동형 SW(110)가 수행되기 이전에 이동형 SW 실행기(100)로부터 이동형 SW(110)에 해당하는 리다이렉션 정보를 전송 받으면, 파일 시스템 필터(212)는 필터 파일 정보(Filter File Info)(213)을 구성하고 이를 통하여 리다이렉션을 수행한다. 가상 파일 시스템(210)는 마찬가지로 이동형 SW 실행기(100)로부터 이동형 SW(110)가 수행되기 전에 가상 파일 시스템을 구성해야 하는 파일 정보를 전송받아, 가상 파일 정보(211)를 구성하고 가상 파일 시스템(210)을 구축한다.
이동형 SW(110)가 구동되면 가상 파일에 대한 I/O가 발생하는데, 이때 파일 I/O가 읽기(Read)연산이면, 가상 파일 정보(211)로부터 해당 파일 정보를 얻어와, 실제 파일 시스템에 존재하는 이동형 SW 실행 포맷(SOB) 파일의 일부 영역을 읽어 드릴 수 있게 리다이렉션을 수행한다.
요청된 파일 I/O가 쓰기(Write) 연산이라면, 가상 파일 시스템(210)은 읽기 전용(Read-Only)이기 때문에, 실제 쓰기 연산 요청된 파일을 Copy-On-Write 방법을 이용하여 PSE 파일 저장소(311)에 저장하고, 처리된 파일 정보를 가상 파일 정 보(211)의 추가 파일 정보 리스트에 등록한다.
이후, 변경 또는 추가된 파일에 대한 읽기나 쓰기 연산이 발생하면, 해당 파일 I/O를 PSE 파일 저장소(311)로 리다이렉션한다.
도 3은 본 발명에 따른 가상 레지스트리 하이브(220) 드라이브를 통하여 이동형 SW(110) 실행 시에 발생되는 레지스트리 I/O처리를 나타내는 예시도이다.
상기 도 1의 설명에서 기술하였듯이, 이동형 SW 실행기(100)는 이동형 SW 실행 포맷(SOB) 파일로부터 이동형 SW(110)의 실행에 필요한 레지스트리 정보를 읽어내고, 이 정보를 가상 레지스트리 하이브(220)로 전송한다.
상기의 레지스트리 정보를 전송받은 가상 레지스트리 하이브(220)는 이 정보를 이용하여 가상 레지스트리 정보(Virtual Registry Info)(221)를 구성한다. 이 후에 이동형 SW(110)이 구동되고, 레지스트리 연산에 대한 I/O를 발생하면, 가상 레지스트리 하이브(220)는 I/O 요청에 대하여 가상 레지스트리 정보(221)의 필터링 정보를 이용하여 Copy-on-Write 방법에 따른 적절한 처리를 수행한다.
이때, 요청된 I/O가 레지스트리 키의 열기(Open) 연산이면, 해당 레지스트리 키의 정보가 가상 레지스트리 정보(221)에 존재하는지를 검사하여, 존재하면 해당 키를 실제 레지스트리 하이브(320)가 아닌 이동형 SW 실행을 위하여 지정된 특정 영역인 PSE 레지스트리 하이브(PSE Registry Hive)(321)으로 리다이렉션하여 처리한다.
만약, 요청된 레지스트리 연산이 만들기(Create) 연산이라면, 해당 레지스트 리 키를 추가 레지스트리 정보(Append Registry Info)(222)에 저장하고, PSE 레지스트리 하이브(321)으로 리다이렉션하여 처리한다. 이후에 해당 키에 대한 열기 연산이 수행되면, 레지스트리 키 정보를 가상 레지스트리 정보(221)와 추가 레지스트리 정보(222)에서 검색하여 처리한다.
그 외의 키 값의 검색이나 변경 등의 연산은 이미 만들기/열기(Create/Open) 연산을 통하여 PSE 레지스트리 하이브(321)으로 리다이렉션된 핸들을 사용하므로 일반 레지스트리 연산을 수행한다.
마지막으로, 이동형 SW(110)가 종료하면, 추가 레지스트리 정보(222)를 PSE 레지스트리 추가 정보 파일(PSE Registry Append Info File)(313)에 저장하여, 동일한 이동형 SW가 이동형 저장장치를 이용하여 임의의 다른 호스트에서 수행될 때 이를 이용함으로써, 이동형 SW 사용환경의 일관성을 제공한다.
도 4는 상기 도 1과 도 2에서 기술한 가상 파일 시스템(202) 드라이브에서 Copy-on-Write 방법을 적용하여 이동형 SW(110)에서 발생시키는 이동형 SW 실행포맷(SOB) 가상 파일에 대한 파일 I/O를 처리한 순서도이다.
도 5는 상기 도 1과 도 2에서 기술한 가상 파일 시스템에서 이동형SW(110) 구동 시에 발생시키는 실제 파일 시스템(310)으로의 파일 I/O를 PSE 파일 저장소(311)로 리다이렉션하여 처리하는 과정을 나타내는 순서도이다.
도 6은 상기 도 1과 도 3에서 기술한 가상 레지스트리 하이브(220) 드라이브에서 이동형 SW(110)의 구동 시에 발생시키는 레지스트리 연산에 대하여 Copy-on-Write 방식을 이용하여 PSE 레지스트리 하이브(321)로 리다이렉션하여 처리하는 과정을 나타내는 순서도이다.
도 7은 상기 도 1 내지 도 6에서 기술한 바와 같이, 응용프로그램 가상화를 위하여 만들어진 이동형 SW 실행엔진을 사용자(S701)가 사용할 때, 이동형 SW(S706)의 실행과 종료 과정을 이동형 SW 실행기(S702) 및 가상화 지원 시스템(S704)과의 상호 동작을 기술한 시퀀스 차트이다.
사용자(S701)가 이동형 SW 실행기(S702)를 통하여 임의의 이동형 SW(S706)의 실행 요청을 하면(S707), 이동형 SW 실행기(S702)는 실행 요청된 이동형 SW 실행 포맷(SOB) 파일을 분석하고(S708), 레지스트리 정보와 가상 파일 정보를 가상화 지원 시스템(S704)의 가상 파일 시스템(S705)과 가상 레지스트리 하이브(S704)로 각각 전송한다(S709,S710). 그리고, 이동형 SW 실행기(S702)는 실행 요청된 이동형 SW(S706)을 구동한다(S711).
구동된 이동형 SW(S706)는 실제 응용 프로세스가 수행되면(S712), 시스템 리소스인 파일 및 레지스트리 I/O를 발생시킨다(S713,S714). 이러한, 레지스트리I/O(S713)및 파일 I/O(S714)를 가상화 지원 시스템(S704)의 드라이브 모듈들은 도 4부터 도 6에서 기술한 알고리즘 순서도에 따라 처리한다(S715,S716).
사용자(S701)가 수행 중인 이동형 SW(S706)을 종료하면(S717), 이동형 SW(S706)는 종료 직전에 종료 통지를 가상화 지원 시스템의 드라이브로 전송한다(S718,S719).
특정 이동형 SW(S706)의 종료 통지를 받은 가상 레지스트리 하이브(S704)는 추가 레지스트리 정보를 이동형 SW 실행기로 전송하고(S720), 해당 이동형 SW(S706)에 관련되 레지스트리 정보를 정리한다(S723). 또한, 종료 통지를 전송 받은 가상 파일 시스템(S705)은 이동형 SW 실행기(S702)로 수정 및 추가된 파일들에 대한 정보를 전송하고(S721), 해당 파일 정보를 정리한다(S722). 변경 및 추가된 레지스트리 및 파일 정보를 전송 받은 이동형 SW 실행기(S702)정된 장소에 레지스트리 및 파일 정보를 저장한다(S724).
이상, 바람직한 실시예와 첨부도면의 참조하여 본 발명의 구성에 대하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서 본 발명의 기술적 사상의 범주 내에서 다양한 변형과 변경이 가능함은 당업자에게 자명한 사실일 것이다.
따라서, 본 발명의 권리범위는 이하의 특허청구범위의 기재를 기초로 하여 정하여 져야 할 것이다.
도 1은 본 발명이 적용되는 윈도우 시스템 상에서 수행되는 이동형 SW의 실행 구성도.
도 2는 본 발명의 가상 파일 시스템을 이용하여 이동형 SW의 실행 시에 발생하는 파일 I/O처리를 나타내는 예시도.
도 3은 본 발명에 따른 가상 레지스트리 하이브(220) 드라이브를 통하여 이동형 SW(110) 실행 시에 발생되는 레지스트리 I/O처리를 나타내는 예시도.
도 4는 Copy-on-Write 방법을 적용하여 이동형 SW에서 발생시키는 이동형 SW 실행포맷의 가상 파일에 대한 파일 I/O를 처리한 순서도.
도 5는 이동형 SW에서 발생시키는 실제 파일 시스템으로의 파일 I/O를 PSE 파일 저장소로 리다이렉션하여 처리하는 순서도.
도 6은 이동형 SW의 구동 시에 발생시키는 레지스트리 연산에 대하여 Copy-on-Write 방식을 이용하여 PSE 레지스트리 저장소로 리다이렉션하여 처리하는 순서도.
도 7은 본 발명에 따른 이동형 SW의 실행과 종료 과정을 이동형 SW 실행기 및 가상화 지원 시스템의 상호 동작을 기술한 시퀀스 차트.

Claims (12)

  1. 윈도우 기반의 가상화 지원 시스템에 있어서,
    이동형 소프트웨어 실행기로부터 파일 정보를 전송받아 이를 기초로 가상 파일 정보를 구성하고, 파일 입출력 발생 시 상기 파일 입출력을 연산하여 실제 파일 시스템에 전달하는 가상 파일 시스템과,
    이동형 소프트웨어 실행기로부터 레지스트리 정보를 전송받아 이를 기초로 가상 레지스트리 정보를 구성하고, 레지스트리 입출력 발생 시 상기 레지스트리 입출력를 연산하여 실제 레지스트리 하이브에 전달하는 가상 레지스트리 하이브
    를 포함하는 것을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  2. 제1항에 있어서, 상기 가상 파일 시스템은,
    이동형 소프트웨어 실행기로부터 리다이렉션 정보를 전송받아 이를 기초로 필터 파일 정보를 구성하고, 상기 필터 파일 정보를 기초로 리다이렉션을 수행하는 파일 시스템 필터
    를 더 포함하는 것을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  3. 제2항에 있어서, 상기 파일 시스템 필터는,
    실제 파일 시스템에 접근하는 파일 입출력을 필터링하여 이를 PSE 파일 저장소로 리다이렉션 하는 것
    을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 가상 파일 시스템은,
    상기 파일 입출력이 읽기 연산인 경우, 상기 가상 파일 정보로부터 해당 파일 정보를 추출하고, 상기 이동형 소프트웨어 실행 포맷 파일에 대해 리다이렉션을 수행하는 것
    을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 가상 파일 시스템은,
    상기 파일 입출력이 쓰기 연산인 경우, 쓰기 연산 요청 파일을 PSE 파일 저장소에 저장한 후, 상기 처리된 파일 정보를 상기 가상 파일 정보에 갱신하는 것
    을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  6. 제5항에 있어서, 상기 쓰기 연산 요청 파일은,
    Copy-On-Write 방법으로 PSE 파일 저장소에 저장되는 것
    을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  7. 제1항에 있어서, 상기 가상 레지스트리 하이브는,
    상기 레지스트리 입출력이 열기 연산인 경우, 가상 레지스트리 정보에 존재하는 열기 요청된 레지스트리를 PSE 레지스트리 하이브로 리다이렉션 하는 것
    을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  8. 제1항에 있어서, 상기 가상 레지스트리 하이브는,
    상기 레지스트리 입출력이 만들기 연산인 경우, 해당 레지스트리 키를 추가 레지스트리 정보에 저장하고, PSE 레지스트리 하이브로 리다이렉션 하는 것
    을 특징으로 하는 이동형 소프트웨어를 위한 가상화 지원 시스템.
  9. 제1항 내지 제3항, 제 7항 및 제8항 중 어느 한 항에 기재된 가상화 지원 시스템과
    이동형 소프트웨어 실행 포맷 파일로부터 실행 정보를 추출하여 전송하고 이동형 소프트웨어를 구동하는 이동형 소프트웨어 실행기
    를 포함하는 것을 특징으로 하는 이동형 소프트웨어 수행 시스템.
  10. 가상화 제공 방법에 있어서,
    (a) 이동형 SW 실행기가 이동형 소프트웨어 실행 포맷 파일을 분석하고, 레지스트리 정보 및 파일 정보를 추출하여 가상화 지원 시스템으로 전송하는 단계와,
    (b) 상기 가상화 지원 시스템이 상기 레지스트리 정보 및 파일 정보를 기초로, 가상 레지스트리 정보 및 가상 파일 정보를 구성하는 단계와,
    (c) 상기 이동형 SW 실행기가 이동형 소프트웨어를 구동하는 단계와,
    (d) 상기 가상화 지원 시스템이 상기 이동형 소프트웨어 구동에 의한 파일 입출력을 연산하고, 실제 파일 시스템에 전달하는 단계와,
    (e) 상기 가상화 지원 시스템이 상기 이동형 소프트웨어 구동에 의한 레지스트리 입출력을 연산하고, 실제 레지스트리 하이브에 전달하는 단계
    를 포함하는 것을 특징으로 하는 응용 프로그램의 가상화 서비스 방법.
  11. 제10항에 있어서, 상기 (d) 단계는, 상기 가상화 지원 시스템이,
    실제 파일 시스템에 접근하는 파일 입출력을 필터링하는 단계와,
    상기 필터링 된 파일에 대하여, 이동형 소프트웨어 실행기로부터 리다이렉션 정보를 전송받아 이를 기초로 필터 파일 정보를 구성하고, 상기 필터 파일 정보를 기초로 리다이렉션을 수행하는 단계
    를 포함하는 것을 특징으로 하는 응용 프로그램의 가상화 서비스 방법.
  12. 제10항에 있어서, 상기 (d) 단계는, 상기 가상화 지원 시스템이,
    상기 파일 입출력이 읽기 연산인 경우, 상기 가상 파일 정보로부터 해당 파일 정보를 추출하는 단계와,
    상기 이동형 소프트웨어 실행 포맷 파일에 대해 리다이렉션을 수행하는 단계
    를 포함하는 것을 특징으로 하는 응용 프로그램의 가상화 서비스 방법.
KR1020070132618A 2007-12-17 2007-12-17 가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법 KR100953096B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132618A KR100953096B1 (ko) 2007-12-17 2007-12-17 가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132618A KR100953096B1 (ko) 2007-12-17 2007-12-17 가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법

Publications (2)

Publication Number Publication Date
KR20090065159A KR20090065159A (ko) 2009-06-22
KR100953096B1 true KR100953096B1 (ko) 2010-04-19

Family

ID=40993589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132618A KR100953096B1 (ko) 2007-12-17 2007-12-17 가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법

Country Status (1)

Country Link
KR (1) KR100953096B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218549A1 (en) 2005-03-07 2006-09-28 Huei-Lan Hsu Method for application of portable software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218549A1 (en) 2005-03-07 2006-09-28 Huei-Lan Hsu Method for application of portable software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2009 전자통신동향분석 제24권 제4호 구경이외 "이동형 퍼스널 소프트웨어 플랫폼 기술 개발" (2009.08.)

Also Published As

Publication number Publication date
KR20090065159A (ko) 2009-06-22

Similar Documents

Publication Publication Date Title
CN107170474B (zh) 可扩展存储盒、计算机实施方法以及计算机可读存储装置
CN103368767B (zh) 用于在容许故障的因特网云上部署软件应用的方法和系统
CN102792270B (zh) 经由bios配置概要文件的bios参数虚拟化
JP5598762B2 (ja) 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
JP2007172586A (ja) コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム
TWI277315B (en) Method, apparatus and computer program product for emulating an iSCSI device on a logical volume manager
US10108442B1 (en) Optimization and affinity for hypervisor-based just-in-time translator
JP2014532247A (ja) 容易にクラウド化可能なアプリケーションの発見型の識別および移行
JP6486345B2 (ja) 動的に生成される仮想ディスク・コンテンツを用いてプロビジョニング時間を最適化する方法
JP6951442B2 (ja) シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法
US11042640B2 (en) Safe-operation-constrained reinforcement-learning-based application manager
CN111194437A (zh) 使用存储中代码执行的数据处理卸载
JP2022087843A (ja) コンピュータ実装方法、システムおよびコンピュータ・プログラム(ログ構造化アレイにおけるi/o動作)
KR100953096B1 (ko) 가상화 지원 시스템과 copy-on-write 방법을이용한 응용프로그램 가상화 제공 방법
US10834201B2 (en) Device identification and reconfiguration in a network
JP2021513137A (ja) 階層型ストレージ管理システムにおけるデータ・マイグレーション
KR20220071245A (ko) 상호 연결된 분산 네트워크의 엣지 디바이스들에 대한 전송 빈도 관리
Zhang et al. A low-code development framework for cloud-native edge systems
US11188235B2 (en) Reducing data replications among storage locations
JP2023549661A (ja) パーティション化されたニューラル・ネットワークのための省電力及び暗号化機能を有するメディア・キャプチャ・デバイス
JP2023550445A (ja) データアナリティクスにおけるデータアクセスポリシの自動調整
US20210011624A1 (en) Associating data management policies to portions of data using connection information
JP6197871B2 (ja) 仮想マシン管理方法,仮想マシン管理装置,および仮想マシン管理プログラム
Nguyen et al. High-level abstraction layers for development and deployment of cloud services
US11625289B2 (en) Systems and methods for filesystem-based computer application communication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130325

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 10