KR100927442B1 - 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 - Google Patents
가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 Download PDFInfo
- Publication number
- KR100927442B1 KR100927442B1 KR1020070082485A KR20070082485A KR100927442B1 KR 100927442 B1 KR100927442 B1 KR 100927442B1 KR 1020070082485 A KR1020070082485 A KR 1020070082485A KR 20070082485 A KR20070082485 A KR 20070082485A KR 100927442 B1 KR100927442 B1 KR 100927442B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual
- variable
- path
- host
- application
- 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
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Abstract
Description
Claims (25)
- 윈도우 네이티브 API(Application Program Interface)를 가상화하여 처리할 수 있는 모듈을 다수 개 구비하고, 특정 윈도우 네이티브 API가 호출되면 상기 다수개의 상기 모듈 중 상기 호출된 윈도우 네이티브 API를 가상화하여 처리할 수 있는 모듈을 찾아 동작시키는 가상 환경 라이브러리 블록;사용자로부터 가상화할 응용프로그램의 셋업 파일의 위치 정보 및 상기 응용프로그램을 가상화하여 설치할 설치 장소의 정보를 입력받아 각각 변수로 저장하고, 상기 저장된 변수 및 상기 가상 환경 라이브러리 블록을 사용하여 상기 설치 장소에 상기 응용프로그램을 가상화한 가상 응용프로그램을 설치하는 가상 응용프로그램 설치 블록; 및상기 설치 장소에 설치된 상기 가상 응용프로그램을 수행시키는 가상 응용프로그램 수행 블록을 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 1 항에 있어서, 상기 가상 응용프로그램 설치 블록은,상기 응용프로그램의 셋업 파일의 위치 정보 및 상기 응용프로그램을 가상화하여 설치할 설치 장소의 정보를 입력받아 각각 변수로 저장하고, 상기 저장된 변수를 특정 모듈로 제공하는 가상 설치 준비 모듈; 및상기 가상 설치 준비 모듈로부터 제공되는 상기 응용프로그램의 셋업 파일의 위치 정보를 이용하여 상기 응용 프로그램의 셋업 파일을 취득하고, 상기 취득된 응용 프로그램의 셋업 파일을 기반으로 응용프로그램 설치 프로세스를 생성하여 일시정지시키고, 일시 정지된 상기 응용프로그램 설치 프로세스가 적재되는 메모리 영역을 수정하여 상기 가상 환경 라이브러리 블록을 삽입한 뒤 상기 응용 프로그램 설치 프로세스를 수행시키는 가상 환경 라이브러리 주입 모듈을 포함하고,상기 삽입된 가상 환경 라이브러리 블록은 상기 응용프로그램 설치 프로세스의 수행 시에 상기 응용프로그램 설치 프로세스에 의하여 호출되는 윈도우 네이티브 API를 가상화하여 처리하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 2 항에 있어서, 상기 가상 설치 준비 모듈은 상기 가상 응용프로그램의 루트 디렉토리를 인수로 받아 변수 "vm_file_root"에 저장하고, 상기 응용프로그램의 셋업 파일의 위치를 변수 "application"에 저장하고, 상기 저장된 변수 "vm_file_root"를 상기 가상 라이브러리 블록으로 전달하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 2 항에 있어서, 상기 가상 설치 준비 모듈은 상기 입력된 설치 장소의 정보에 따라 상기 설치 장소를 검색하여 가상 응용프로그램의 리스트를 생성하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 삭제
- 제 1 항에 있어서, 상기 윈도우 네이티브 API는 다수의 클래스로 분류되는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 6 항에 있어서, 상기 다수의 클래스는,변수 "POBJECT_ATTRIBUTES ObjectAttributes"를 인자로 받고, PHANDLE 타입의 파일 또는 키에 대한 데이터를 리턴하는 윈도우 네이티브 API를 포함하는 제 1 클래스;HANDLE 타입의 파일 또는 키에 대한 데이터를 인자로 받고, 오브젝트의 이름과 관련된 문자열을 리턴하는 윈도우 네이티브 API를 포함하는 제 2 클래스; 및오브젝트의 자식 오브젝트를 요구하는 윈도우 네이티브 API를 포함하는 제 3 클래스를 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 7 항에 있어서, 상기 가상 환경 라이브러리 블록은,상기 제 1 클래스에 속하는 윈도우 네이티브 API 중 파일 관련 API를 가상화하여 처리하는 제 1 클래스 가상 파일 처리 모듈;상기 제 1 클래스에 속하는 윈도우 네이티브 API 중 레지스트리 관련 API를 가상화하여 처리하는 제 1 클래스 가상 레지스트리 처리 모듈;상기 제 2 클래스에 속하는 윈도우 네이티브 API 중 파일 관련 API를 가상화하여 처리하는 제 2 클래스 가상 파일 처리 모듈;상기 제 2 클래스에 속하는 윈도우 네이티브 API 중 레지스트리 관련 API를 가상화하여 처리하는 제 2 클래스 가상 레지스트리 처리 모듈;상기 제 3 클래스에 속하는 윈도우 네이티브 API 중 파일 관련 API를 가상화하여 처리하는 제 3 클래스 가상 파일 처리 모듈; 및상기 제 3 클래스에 속하는 윈도우 네이티브 API 중 레지스트리 관련 API를 가상화하여 처리하는 제 3 클래스 가상 레지스트리 처리 모듈을 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 8 항에 있어서, 상기 제 1 클래스 가상 파일 처리 모듈은,인수로 주어진 파일 경로가 호스트 경로인지 가상 경로인지를 확인하여, 상기 인수로 주어진 파일 경로가 호스트 경로이면 상기 파일 경로를 변수 "host_path"에 저장한 뒤 가상 경로를 생성하여 "virtual_path"에 저장하고, 상기 인수로 주어진 파일 경로가 가상 경로이면 상기 파일 경로를 변수 "virtual_path"에 저장한 뒤 호스트 경로를 생성하여 변수 "host_path"에 저장하고,상기 변수 "host_path"의 파일이 존재하는지를 확인하여, 존재할 경우 변수 "host_exist"의 값을 "TRUE"로 저장하고, 존재하지 않으면 변수 "host_exist"의 값을 "FALSE"로 저장하고,상기 변수 "virtual_path"의 파일이 존재하는지를 확인하여, 존재할 경우 변수 "virtual_exist"의 값을 "TRUE"로 저장하고, 존재하지 않으면 변수 "virtual_exist"의 값을 "FALSE"로 저장하고,인수로 주어진 옵션이 쓰기 동작인지의 여부를 확인하여, 상기 인수로 주어진 옵션이 쓰기 동작이면 변수 "write" 값을 "TRUE"로 저장하고, 쓰기 동작이 아니면 "write"값을 "FALSE"로 저장하고,상기 인수로 주어진 옵션이 삭제 동작인지의 여부를 확인하여, 상기 인수로 주어진 옵션이 삭제 동작이면 변수 "delete" 값을 "TRUE"로 저장하고, 삭제 동작이 아니면 "delete"값을 "FALSE"로 저장하고,상기 저장된 변수 "host_exist", "virtual_exist", "write" 및 "delete"의 값에 따라 "virtual_path" 및 "host_path" 중 어느 하나를 인수로 Real_API를 호출하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 8 항에 있어서, 상기 제 1 클래스 가상 레지스트리 처리 모듈은,인수로 주어진 키 경로가 호스트 경로인지 가상 경로인지를 확인하여, 상기 인수로 주어진 키 경로가 호스트 경로이면 상기 키 경로를 변수 "host_path"에 저장한 뒤 가상 경로를 생성하여 "virtual_path"에 저장하고, 상기 인수로 주어진 키 경로가 가상 경로이면 상기 키 경로를 변수 "virtual_path"에 저장한 뒤 호스트 경로를 생성하여 변수 "host_path"에 저장하고,상기 변수 "host_path"의 키가 존재하는지를 확인하여, 존재할 경우 변수 "host_exist"의 값을 "TRUE"로 저장하고, 존재하지 않으면 변수 "host_exist"의 값을 "FALSE"로 저장하고,상기 변수 "virtual_path"의 키가 존재하는지를 확인하여, 존재할 경우 변수 "virtual_exist"의 값을 "TRUE"로 저장하고, 존재하지 않으면 변수 "virtual_exist"의 값을 "FALSE"로 저장하고,인수로 주어진 옵션이 쓰기 동작인지의 여부를 확인하여, 상기 인수로 주어진 옵션이 쓰기 동작이면 변수 "write" 값을 "TRUE"로 저장하고, 쓰기 동작이 아니면 "write"값을 "FALSE"로 저장하고,상기 인수로 주어진 옵션이 삭제 동작인지의 여부를 확인하여, 상기 인수로 주어진 옵션이 삭제 동작이면 변수 "delete" 값을 "TRUE"로 저장하고, 삭제 동작이 아니면 "delete"값을 "FALSE"로 저장하고,상기 저장된 변수 "host_exist", "virtual_exist", "write" 및 "delete"의 값에 따라 "virtual_path" 및 "host_path" 중 어느 하나를 인수로 Real_API를 호출하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 8 항에 있어서, 상기 제 2 클래스 가상 파일 처리 모듈은 Real_API를 호출하여 주어진 인수의 파일 정보를 가져와 파일 경로와 관련된 정보를 포함하는지를 확인하고, 상기 파일 경로를 포함하는 요청일 경우 상기 파일 경로가 가상 경로인지를 확인하여 가상 경로일 경우 상기 가상 경로를 호스트 경로로 변환하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 8 항에 있어서, 상기 제 2 클래스 가상 레지스트리 처리 모듈은 Real_API를 호출하여 주어진 인수의 키 정보를 가져와 키 경로와 관련된 정보를 포함하는지를 확인하고, 상기 키 경로를 포함하는 요청일 경우 상기 키 경로가 가상 경로인지를 확인하여 가상 경로일 경우 상기 가상 경로를 호스트 경로로 변환하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 8 항에 있어서, 상기 제 3 클래스 가상 파일 처리 모듈은,인수로 주어진 핸들을 핸들 리스트에서 찾아 상기 핸들의 위치 정보를 변수 "file_handle"에 저장하고, 상기 저장된 변수 "file_handle"이 NULL 값인지를 확인하여 NULL 값이 아닐 경우, 상기 "file_handle"에 저장되어 있는 변수 "host_exist" 및 변수 "virtual_exist"의 값을 확인하고, 상기 확인 결과에 따라 상기 변수 "file_handle"에 저장된 변수 "host_handle" 및 변수 "virtual_handle" 중 적어도 어느 하나를 인수로 하여 Real_API를 호출하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 13 항에 있어서, 상기 저장된 변수 "file_handle"이 NULL 값일 경우 상기 제 3 클래스 가상 파일 처리 모듈은,상기 인수로 주어진 핸들을 파일 경로로 변환하고, 상기 파일 경로가 가상 경로인 경우, 상기 가상 경로를 변수 "virtual_path"에 저장하고, 변수 "virtual_exist"의 값을 "TRUE"로 설정하고, 상기 파일 경로를 호스트 경로로 변환하여 변수 "host_path"에 저장하고, 상기 저장된 변수 "host_path"에 해당하는 디렉토리가 존재하는지를 확인하여 상기 디렉토리가 존재할 경우 변수 "host_exist"를 "TRUE"로 설정한 뒤, 변수 "host_path"를 인수로 핸들을 생성하여 변수 "host_handle"에 저장하고, 상기 디렉토리가 존재하지 않을 경우 상기 변수 "host_exist"를 "FALSE"로 설정하고, 상기 변수 "host_handle"을 "0"으로 하고,상기 파일 경로가 호스트 경로일 경우, 상기 호스트 경로를 변수 "host_path"에 저장하고, 변수 "host_exist"의 값을 "TRUE"로 설정하고, 상기 파일 경로를 가상 경로로 변환하여 변수 "virtual_path"에 저장하고, 상기 저장된 변수 "virtual_path"에 해당하는 디렉토리가 존재하는지를 확인하여 상기 디렉토리가 존 재할 경우 변수 "virtual_exist"를 "TRUE"로 설정한 뒤, 변수 "virtual_path"를 인수로 핸들을 생성하여 변수 "virtual_handle"에 저장하고, 상기 디렉토리가 존재하지 않을 경우, 상기 변수 "virtual_exist"를 "FALSE"로 설정하고, 상기 변수 "virtual_handle"을 "0"으로 하고,상기 핸들 리스트에 상기 변수"host_handle", 상기 변수 "virtual_handle", 상기 변수 "host_exist", 상기 변수 "virtual_exist"를 삽입한 후 그 위치를 변수 "file_handle"에 저장하고, 상기 "file_handle"에 저장된 상기 변수 "host_exist" 및 상기 변수 "virtual_exist"의 값을 확인하여, 상기 확인 결과에 따라 상기 변수 "file_handle"에 저장된 변수 "host_handle" 및 변수 "virtual_handle" 중 적어도 어느 하나를 인수로 하여 Real_API를 호출하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 8 항에 있어서, 상기 제 3 클래스 가상 레지스트리 처리 모듈은,인수로 주어진 핸들을 핸들 리스트에서 찾아 상기 핸들의 위치 정보를 변수 "key_handle"에 저장하고, 상기 저장된 변수 "key_handle"이 NULL 값인지를 확인하여 NULL 값일 경우, 상기 "key_handle"에 저장되어 있는 변수 "host_exist" 및 변수 "virtual_exist"의 값을 확인하여, 상기 확인 결과에 따라 상기 변수 "key_handle"에 저장된 변수 "host_handle" 및 변수 "virtual_handle" 중 적어도 어느 하나를 인수로 하여 Real_API를 호출하는 것을 특징으로 하는 가상 응용프로 그램 생성 시스템.
- 제 15 항에 있어서, 상기 저장된 변수 "key_handle"이 NULL 값일 경우 상기 제 3 클래스 가상 레지스트리 처리 모듈은,상기 인수로 주어진 핸들을 키 경로로 변환하고, 상기 키 경로가 가상 경로인 경우, 상기 가상 경로를 변수 "virtual_path"에 저장하고, 변수 "virtual_exist"의 값을 "TRUE"로 설정하고, 상기 키 경로를 호스트 경로로 변환하여 변수 "host_path"에 저장하고, 상기 저장된 변수 "host_path"에 해당하는 디렉토리가 존재하는지를 확인하여 상기 디렉토리가 존재할 경우 변수 "host_exist"를 "TRUE"로 설정한 뒤, 변수 "host_path"를 인수로 핸들을 생성하여 변수 "host_handle"에 저장하고, 상기 디렉토리가 존재하지 않을 경우 상기 변수 "host_exist"를 "FALSE"로 설정하고, 상기 변수 "host_handle"을 "0"으로 하고,상기 키 경로가 호스트 경로일 경우, 상기 호스트 경로를 변수 "host_path"에 저장하고, 변수 "host_exist"의 값을 "TRUE"로 설정하고, 상기 파일 경로를 가상 경로로 변환하여 변수 "virtual_path"에 저장하고, 상기 저장된 변수 "virtual_path"에 해당하는 디렉토리가 존재하는지를 확인하여 상기 디렉토리가 존재할 경우 변수 "virtual_exist"를 "TRUE"로 설정한 뒤, 변수 "virtual_path"를 인수로 핸들을 생성하여 변수 "virtual_handle"에 저장하고, 상기 디렉토리가 존재하지 않을 경우, 상기 변수 "virtual_exist"를 "FALSE"로 설정하고, 상기 변수 "virtual_handle"을 "0"으로 하고,상기 핸들 리스트에 상기 변수"host_handle", 상기 변수 "virtual_handle", 상기 변수 "host_exist", 상기 변수 "virtual_exist"를 삽입한 후 그 위치를 변수 "key_handle"에 저장하고, 상기 "key_handle"에 저장된 상기 변수 "host_exist" 및 상기 변수 "virtual_exist"의 값을 확인하여, 상기 확인 결과에 따라 상기 변수 "key_handle"에 저장된 변수 "host_handle" 및 변수 "virtual_handle" 중 적어도 어느 하나를 인수로 하여 Real_API를 호출하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 7 항에 있어서, 상기 다수의 클래스는,응용프로그램의 설치 프로세스 시에 사용되는 윈도우 네이티브 API를 포함하는 제 4 클래스; 및응용프로그램 수행 시에 레지스트리의 저장, 복구 및 삭제에 사용되는 윈도우 네이티브 API를 포함하는 제 5 클래스를 더 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 17 항에 있어서, 상기 가상 환경 라이브러리 블록은,상기 제 4 클래스에 속하는 윈도우 네이티브 API를 가상화하여 처리하는 제 4 클래스 가상 환경 라이브러리 주입 모듈; 및상기 제 5 클래스에 속하는 윈도우 네이티브 API를 가상화하여 처리하는 제 5 클래스 가상 레지스트리 저장 모듈, 제 5 클래스 가상 레지스트리 복구 모듈 및 제 5 클래스 레지스트리 삭제 모듈을 더 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 1 항에 있어서, 상기 가상 응용프로그램 수행 블록은,수행하고자 하는 가상 응용프로그램의 루트 디렉토리의 정보 및 상기 가상 응용프로그램의 위치 정보를 각각 변수로 저장하고, 상기 저장된 변수를 특정 모듈로 제공하는 가상 수행 준비 모듈; 및상기 가상 수행 준비 모듈로부터 제공되는 정보를 이용하여 가상 응용프로그램 수행 프로세스를 생성하고, 상기 가상 응용프로그램을 수행하는 가상 응용프로그램 수행 모듈을 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 19 항에 있어서, 상기 가상 응용프로그램 수행 모듈은,상기 가상 수행 준비 모듈로부터 제공되는 정보를 이용하여, 상기 가상 응용프로그램의 이름과, 실행 명령 및 커맨드 라인 파라미터를 생성하고, 상기 가상 응용프로그램의 수행 프로세스를 시작하기 위한 플래그를 설정하고, 상기 가상 환경 라이브러리 블록과 함께 상기 생성된 실행 명령 및 커맨드 라인을 사용하여 상기 가상 응용프로그램 수행 프로세스를 생성하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 19 항에 있어서, 상기 가상 응용프로그램 수행 블록은,윈도우 클래스를 초기화하고, 상기 초기화한 윈도우 클래스를 등록한 뒤 윈도우를 생성하고 상기 생성된 윈도우의 윈도우 핸들을 취득하는 윈도우 생성 모듈;태스크바에 상기 가상 응용프로그램 수행 블록의 아이콘을 생성하는 태스크바 아이콘 생성 모듈;상기 태스트바 아이콘 생성 모듈에 의하여 생성된 아이콘의 조작에 따른 콜백 메시지를 처리하는 콜백 메시지 처리 모듈; 및상기 콜백 메시지 처리 모듈의 호출에 따라 상기 팝업 메뉴를 생성하고, 상기 생성된 팝업 메뉴에 상기 설치된 가상 응용프로그램을 선택할 수 있는 가상 응용프로그램 목록을 메뉴로 등록하는 태스크바 팝업 메뉴 생성 모듈을 더 포함하는 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 제 1 항에 있어서, 상기 설치 장소는 외부 저장 장치에 마련된 특정 디렉토리인 것을 특징으로 하는 가상 응용프로그램 생성 시스템.
- 삭제
- 윈도우 네이티브 API(Application Program Interface)를 가상화하여 처리할 수 있는 모듈을 다수개 구비하는 가상 환경 라이브러리를 이용하여 상기 윈도우 네이티브 API의 호출을 처리하는 방법에 있어서,가상 응용프로그램의 설치 및 수행 시 특정한 윈도우 네이티브 API가 호출되면, 상기 다수개의 상기 모듈 중 상기 호출된 윈도우 네이티브 API를 처리할 수 있는 모듈을 확인하는 단계; 및상기 단계에서 확인된 모듈을 수행시켜 상기 호출된 윈도우 네이티브 API의 기능을 가상화하여 처리하는 단계를 포함하는 것을 특징으로 하는 네이티브 API 호출 처리 방법.
- 삭제
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070082485A KR100927442B1 (ko) | 2007-08-16 | 2007-08-16 | 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 |
US12/673,684 US8677345B2 (en) | 2007-08-16 | 2008-08-13 | System for creating virtual application, method for installing virtual application, method for calling native API and method for executing virtual application |
PCT/KR2008/004713 WO2009022861A2 (en) | 2007-08-16 | 2008-08-13 | System for creating virtual application, method for installing virtual application, method for calling native api and method for executing virtual application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070082485A KR100927442B1 (ko) | 2007-08-16 | 2007-08-16 | 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090017942A KR20090017942A (ko) | 2009-02-19 |
KR100927442B1 true KR100927442B1 (ko) | 2009-11-19 |
Family
ID=40351304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070082485A KR100927442B1 (ko) | 2007-08-16 | 2007-08-16 | 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8677345B2 (ko) |
KR (1) | KR100927442B1 (ko) |
WO (1) | WO2009022861A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101011145B1 (ko) * | 2010-06-15 | 2011-01-26 | 주식회사 파수닷컴 | 응용 모듈 삽입 장치, 응용 모듈 삽입 기능을 구비한 컴퓨팅 장치 및 응용 모듈 삽입 방법을 실행하기 위한 프로그램을 기록한 기록매체 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230417B1 (en) * | 2007-06-08 | 2012-07-24 | Adobe Systems Incorporated | Combined application and execution environment install |
US8448161B2 (en) | 2007-07-30 | 2013-05-21 | Adobe Systems Incorporated | Application tracking for application execution environment |
US7930273B1 (en) | 2007-07-30 | 2011-04-19 | Adobe Systems Incorporated | Version management for application execution environment |
US8375381B1 (en) | 2007-07-30 | 2013-02-12 | Adobe Systems Incorporated | Management user interface for application execution environment |
KR101013509B1 (ko) * | 2008-01-04 | 2011-02-11 | 주식회사 마크애니 | 가상 응용 프로그램 시스템, 저장장치, 가상 응용 프로그램수행 방법 및 가상 환경 보호 방법 |
WO2009088175A2 (en) * | 2008-01-04 | 2009-07-16 | Markany Inc. | Virtual application program system, storing device, method for executing virtual application program and method for protecting virtual environment |
US8776038B2 (en) | 2008-08-07 | 2014-07-08 | Code Systems Corporation | Method and system for configuration of virtualized software applications |
US8434093B2 (en) | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
WO2009007468A2 (en) * | 2008-09-26 | 2009-01-15 | Phonak Ag | Wireless updating of hearing devices |
US8402458B1 (en) * | 2009-03-18 | 2013-03-19 | Symantec Corporation | Methods and systems for converting non-layered-software-application installations into layered installations |
WO2010113738A1 (ja) | 2009-03-31 | 2010-10-07 | 凸版印刷株式会社 | Elパネル及びそれを用いた照明装置及び表示装置 |
US20110078021A1 (en) * | 2009-09-30 | 2011-03-31 | John Tullis | Mobile Device Including Mobile Application Coordinating External Data |
US10089119B2 (en) | 2009-12-18 | 2018-10-02 | Microsoft Technology Licensing, Llc | API namespace virtualization |
US8954958B2 (en) * | 2010-01-11 | 2015-02-10 | Code Systems Corporation | Method of configuring a virtual application |
US9104517B2 (en) | 2010-01-27 | 2015-08-11 | Code Systems Corporation | System for downloading and executing a virtual application |
US8959183B2 (en) | 2010-01-27 | 2015-02-17 | Code Systems Corporation | System for downloading and executing a virtual application |
US9229748B2 (en) | 2010-01-29 | 2016-01-05 | Code Systems Corporation | Method and system for improving startup performance and interoperability of a virtual application |
US8468542B2 (en) | 2010-03-04 | 2013-06-18 | Microsoft Corporation | Virtual environment for server applications, such as web applications |
US8763009B2 (en) | 2010-04-17 | 2014-06-24 | Code Systems Corporation | Method of hosting a first application in a second application |
US8782106B2 (en) | 2010-07-02 | 2014-07-15 | Code Systems Corporation | Method and system for managing execution of virtual applications |
US9021015B2 (en) | 2010-10-18 | 2015-04-28 | Code Systems Corporation | Method and system for publishing virtual applications to a web server |
US9209976B2 (en) | 2010-10-29 | 2015-12-08 | Code Systems Corporation | Method and system for restricting execution of virtual applications to a managed process environment |
US8892707B2 (en) | 2011-04-13 | 2014-11-18 | Netapp, Inc. | Identification of virtual applications for backup in a cloud computing system |
US9122551B2 (en) * | 2011-06-17 | 2015-09-01 | The Boeing Comapny | Methods and systems for generating read-only operating systems |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
US8695021B2 (en) | 2011-08-31 | 2014-04-08 | Microsoft Corporation | Projecting native application programming interfaces of an operating system into other programming languages |
US10282221B2 (en) * | 2011-12-09 | 2019-05-07 | International Business Machines Corporation | Controlling usage of virtual disks before their attachment to virtual machines |
US9130979B2 (en) * | 2012-12-11 | 2015-09-08 | Microsoft Technology Licensing, Llc | Systems and methods for using virtual machines to sequence native applications into virtual packages and for reimaging virtual machines |
US9323514B2 (en) * | 2013-05-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Resource package indexing |
KR102067017B1 (ko) | 2014-01-27 | 2020-02-11 | 한국전자통신연구원 | 매쉬업 서비스를 위한 가상 api 제공 장치 및 방법 |
US9471283B2 (en) * | 2014-06-11 | 2016-10-18 | Ca, Inc. | Generating virtualized application programming interface (API) implementation from narrative API documentation |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US10802810B2 (en) * | 2016-12-27 | 2020-10-13 | Sap Se | Consuming persistent library bundles |
US11785070B2 (en) * | 2021-10-22 | 2023-10-10 | Slcket, Inc. | Connected cloud applications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020041221A (ko) * | 2000-11-27 | 2002-06-01 | 이진혁 | 외부저장장치를 이용한 컴퓨터의 환경을 설정하고복구하는 방법 및 컴퓨터 환경 설정/복구 장치 |
KR20040069510A (ko) * | 2003-01-29 | 2004-08-06 | 삼성전자주식회사 | 백업/복원이 용이한 백업장치 및 백업방법 |
JP2005050314A (ja) | 2003-07-30 | 2005-02-24 | Softonnet Inc | アプリケーションソフトウェアストリーミングのためのアプリケーションソフトウェア再パッケージシステム、及びその方法 |
US20070168937A1 (en) | 2005-11-28 | 2007-07-19 | Soummya Mallick | Apparatus and method of application virtualization |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04191941A (ja) * | 1990-11-27 | 1992-07-10 | Hitachi Ltd | オブジェクト管理システム |
US6363409B1 (en) * | 1995-04-24 | 2002-03-26 | Microsoft Corporation | Automatic client/server translation and execution of non-native applications |
US6964039B2 (en) * | 2000-12-13 | 2005-11-08 | Esmertec Ag | Method to create optimized machine code through combined verification and translation of JAVA™ bytecode |
US7155381B2 (en) * | 2001-03-12 | 2006-12-26 | Sun Microsystems, Inc. | Module for developing wireless device applications using an integrated emulator |
US6978451B2 (en) * | 2001-05-31 | 2005-12-20 | Esmertec Ag | Method for fast compilation of preverified JAVA bytecode to high quality native machine code |
US7367028B2 (en) * | 2001-08-14 | 2008-04-29 | National Instruments Corporation | Graphically deploying programs on devices in a system |
US7305671B2 (en) * | 2002-03-22 | 2007-12-04 | Sun Microsystems, Inc. | Conversion of an object model to a source file generation model |
US7565647B2 (en) * | 2002-03-22 | 2009-07-21 | Sun Microsystems, Inc. | Markup compiler that outputs MIDlets |
US7512932B2 (en) * | 2002-03-22 | 2009-03-31 | Sun Microsystems, Inc. | Language and object model for describing MIDlets |
US8122106B2 (en) * | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US20040240408A1 (en) * | 2003-06-02 | 2004-12-02 | Mobimate Ltd. | System, method and apparatus for the generation and deployment of mobile applications |
US20050108690A1 (en) * | 2003-11-17 | 2005-05-19 | Tira Wireless Inc. | System and method of generating applications for mobile devices |
US7877747B2 (en) * | 2004-02-20 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Flexible operating system operable as either native or as virtualized |
US7493604B2 (en) * | 2004-10-21 | 2009-02-17 | Microsoft Corporation | Conditional compilation of intermediate language code based on current environment |
US7886294B2 (en) * | 2004-12-28 | 2011-02-08 | Sap Ag | Virtual machine monitoring |
US7895594B2 (en) * | 2005-03-28 | 2011-02-22 | Freescale Semiconductor, Inc. | Virtual machine extended capabilities using application contexts in a resource-constrained device |
US8549513B2 (en) * | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US7689558B2 (en) * | 2005-09-09 | 2010-03-30 | Sap Ag | Application monitoring using profile points |
US8490070B2 (en) * | 2005-11-16 | 2013-07-16 | Myriad Group Ag | Unified mobile platform |
US20070240171A1 (en) * | 2006-03-29 | 2007-10-11 | Nokia Corporation | Device, Method, And Computer Program Product For Accessing A Non-Native Application Executing In Virtual Machine Environment |
US8136100B1 (en) * | 2006-08-29 | 2012-03-13 | Adobe Systems Incorporated | Software installation and icon management support |
US8296742B2 (en) * | 2006-10-10 | 2012-10-23 | Microsoft Corporation | Automatic native generation |
US8707337B2 (en) * | 2006-10-31 | 2014-04-22 | Motorola Mobility Llc | Dispatch API that permits midlets to initiate dispatch calls |
US8028269B2 (en) * | 2007-03-09 | 2011-09-27 | International Business Machines Corporation | Compliance management method and system |
US20090063614A1 (en) * | 2007-08-27 | 2009-03-05 | International Business Machines Corporation | Efficiently Distributing Class Files Over A Network Without Global File System Support |
US8615594B2 (en) * | 2009-07-15 | 2013-12-24 | Aten International Co., Ltd. | Virtual media with folder-mount function |
JP5526668B2 (ja) * | 2009-09-09 | 2014-06-18 | 株式会社リコー | パッケージのインストール対象装置、インストール方法、プログラム |
-
2007
- 2007-08-16 KR KR1020070082485A patent/KR100927442B1/ko active IP Right Grant
-
2008
- 2008-08-13 US US12/673,684 patent/US8677345B2/en active Active
- 2008-08-13 WO PCT/KR2008/004713 patent/WO2009022861A2/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020041221A (ko) * | 2000-11-27 | 2002-06-01 | 이진혁 | 외부저장장치를 이용한 컴퓨터의 환경을 설정하고복구하는 방법 및 컴퓨터 환경 설정/복구 장치 |
KR20040069510A (ko) * | 2003-01-29 | 2004-08-06 | 삼성전자주식회사 | 백업/복원이 용이한 백업장치 및 백업방법 |
JP2005050314A (ja) | 2003-07-30 | 2005-02-24 | Softonnet Inc | アプリケーションソフトウェアストリーミングのためのアプリケーションソフトウェア再パッケージシステム、及びその方法 |
US20070168937A1 (en) | 2005-11-28 | 2007-07-19 | Soummya Mallick | Apparatus and method of application virtualization |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101011145B1 (ko) * | 2010-06-15 | 2011-01-26 | 주식회사 파수닷컴 | 응용 모듈 삽입 장치, 응용 모듈 삽입 기능을 구비한 컴퓨팅 장치 및 응용 모듈 삽입 방법을 실행하기 위한 프로그램을 기록한 기록매체 |
Also Published As
Publication number | Publication date |
---|---|
US20110072424A1 (en) | 2011-03-24 |
WO2009022861A3 (en) | 2009-04-23 |
KR20090017942A (ko) | 2009-02-19 |
WO2009022861A2 (en) | 2009-02-19 |
US8677345B2 (en) | 2014-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100927442B1 (ko) | 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 | |
US5999942A (en) | Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems | |
KR100986415B1 (ko) | 커맨드 바인딩을 수행하기 위한 데이터-바인딩 매카니즘의 애플리케이션 | |
CN101069157B (zh) | 用于访问资源的方法和系统 | |
US8464242B2 (en) | Virtualization of configuration settings | |
Richter et al. | Windows via C/C++ | |
US10162605B2 (en) | Code snippet content recommendation to define an object literal | |
KR20040063837A (ko) | 언어 독립 구문으로 매크로를 기록하기 위한 방법 및 시스템 | |
WO2014197239A1 (en) | Automatic mediation of resource access in mobile applications | |
US11403074B1 (en) | Systems and methods for generating interfaces for callback functions in object-oriented classes | |
US9311111B2 (en) | Programming environment with support for handle and non-handle user-created classes | |
Balzer et al. | Mediating connectors: A non-bypassable process wrapping technology | |
US10409567B2 (en) | Trimming unused dependencies using package graph and module graph | |
JP4288017B2 (ja) | コンピュータ構成のためのテキスト・ファイルを変更する方法及びシステム | |
WO2018103223A1 (zh) | 一种操作数据库的方法及装置 | |
CN114026540B (zh) | 用于支持和协商跨多个产品的多个api版本的系统和方法 | |
CN115390720A (zh) | 包括自动文档滚动的机器人过程自动化(rpa) | |
Paro | Elasticsearch 7.0 Cookbook: Over 100 recipes for fast, scalable, and reliable search for your enterprise | |
JP3767666B2 (ja) | ワークフロー管理システム | |
US7036113B1 (en) | Detection of resource exceptions | |
US20230132877A1 (en) | Displaying multiple representations of system management operations in a user interface | |
KR100580239B1 (ko) | 동일 확장자를 가진 파일들을 그룹화한 명령어 처리기 및 동일확장자 그룹화에 의한 프로그램 수행방법 | |
US20230036834A1 (en) | Information processing system, apparatus, and storage medium having combinational and non-combinational applications | |
JPH09330260A (ja) | 文書管理装置 | |
Kainz et al. | Automated model-to-metamodel transformations based on the concepts of deep instantiation |
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: 20121112 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131111 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141111 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151111 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161110 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171102 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181101 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20191024 Year of fee payment: 11 |