KR101974974B1 - Apparatus and method for switching system based container technology - Google Patents

Apparatus and method for switching system based container technology Download PDF

Info

Publication number
KR101974974B1
KR101974974B1 KR1020170112001A KR20170112001A KR101974974B1 KR 101974974 B1 KR101974974 B1 KR 101974974B1 KR 1020170112001 A KR1020170112001 A KR 1020170112001A KR 20170112001 A KR20170112001 A KR 20170112001A KR 101974974 B1 KR101974974 B1 KR 101974974B1
Authority
KR
South Korea
Prior art keywords
container
identification information
window
manager service
depth value
Prior art date
Application number
KR1020170112001A
Other languages
Korean (ko)
Other versions
KR20180128327A (en
Inventor
김성
김영호
Original Assignee
주식회사 엔젠소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔젠소프트 filed Critical 주식회사 엔젠소프트
Priority to PCT/KR2018/005752 priority Critical patent/WO2018216972A1/en
Publication of KR20180128327A publication Critical patent/KR20180128327A/en
Application granted granted Critical
Publication of KR101974974B1 publication Critical patent/KR101974974B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

본 발명의 일 실시 예에 따른 시스템 전환 방법은 컨테이너 매니저 앱이 입력부를 통해 입력을 받는 경우, 컨테이너 매니저 서비스로 시스템 전환 요청을 전송하도록 하는 단계, 컨테이너 매니저 서비스가 컨테이너 디바이스 드라이버로 전환하고자 하는 시스템에 대응하는 시스템 식별정보를 전송하는 단계, 각 시스템의 컨테이너 매니저 서비스가 컨테이너 디바이스 드라이버로부터 시스템 식별정보를 수신하는 단계, 각 시스템의 컨테이너 매니저 서비스가 각 시스템의 윈도우 매니저 서비스로 시스템 식별정보를 전송하는 단계, 각 시스템의 윈도우 매니저 서비스가 자신이 속한 시스템에 대응하는 설정 식별정보와 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 깊이값을 서페이스 플링거로 각각 전송하는 단계 및 서페이스 플링거가 깊이값에 따를 화상 정보를 생성하여 프레임 버퍼에 저장하는 단계를 포함한다.The system switching method according to an embodiment of the present invention includes the steps of causing a container manager application to transmit a system change request to a container manager when an input is received through an input unit, Transmitting the corresponding system identification information, receiving the system identification information from the container device driver of each system, and transmitting the system identification information to the window manager service of each system , The window manager service of each system compares the set identification information corresponding to the system to which the system belongs with the system identification information, sets the depth value for each window of the system to which the system manager belongs, and transmits the depth value to the surfaceplanner Steps and platform surfaces ringer generates the image information subject to depth values includes the step of storing in the frame buffer.

Description

컨테이너 기술 기반의 시스템 전환 장치 및 방법{APPARATUS AND METHOD FOR SWITCHING SYSTEM BASED CONTAINER TECHNOLOGY}[0001] APPARATUS AND METHOD FOR SWITCHING SYSTEM BASED CONTAINER TECHNOLOGY [0002]

본 발명은 시스템 전환 기술에 관한 것으로, 보다 구체적으로는 컨테이너 기술 기반의 시스템 전환 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system switching technology, and more particularly, to a system switching technology based on container technology.

가상화 기술은 크게 하드웨어 에뮬레이션 기술을 기반으로 하는 하이퍼바이저 기반의 가상화 기술과 프로세스를 기반으로 하는 컨테이너 기반 가상화 기술이 있다. 하이퍼바이저 기반의 가상화 기술은 하드웨어를 에뮬레이션하기 때문에 성능이 느린 반면, 완전한 가상 환경을 제공한다. 컨테이너 기반의 가상화는 다수의 프로세스를 그룹화한 뒤, 운영체제에서 제공하는 네임스페이스 분리(Namespace isolation), 컨트롤 그룹 기술들을 이용하여 대상 프로세스가 마치 운영체제를 독점하고 있는 듯이 동작할 수 있도록 만드는 기술이다. Virtualization technology is largely based on hypervisor-based virtualization technology based on hardware emulation technology, and container-based virtualization technology based on the process. Hypervisor-based virtualization technology provides a complete virtual environment while slowing performance because it emulates hardware. Container-based virtualization is a technology that groups a large number of processes and then makes it possible for the target process to act as if it were monopolizing the operating system, using the operating system-provided namespace isolation and control group technologies.

가상화 기술이 나온 이래 이동 통신사들을 위주로 가상화 기술을 단말기에 적용하여 BYOD 환경 또는 보안 단말기를 구현하려는 시도가 있었지만, 모두 하이퍼바이저 기반의 가상화 기술을 이용하였기 때문에, 단말기에서 동작시키기에는 성능이 크게 떨어졌으며 또한 단말기 제조사와 가상화 기술 개발사의 도움 없이는 지원할 수 있는 대상 단말기에 큰 제한이 있었기 때문에 보편화되지 못했다.Since the introduction of virtualization technology, there has been an attempt to implement a BYOD environment or a security terminal by applying virtualization technology to terminals mainly based on mobile communication companies. However, since they use hypervisor-based virtualization technology, Also, without the help of handset makers and virtualization technology developers, there was a limit to the target devices that could be supported, so it was not universal.

컨테이너 기반 가상화 기술은 운영체제의 커널을 공유하며, 프로세스 그룹으로 동작하기 때문에 하이퍼바이저 기반의 가상화 기술에 비해 가벼우면서도 동일한 수준의 가상 환경을 제공한다.Container-based virtualization technology shares the kernel of the operating system and acts as a process group, providing the same level of virtual environment compared to hypervisor-based virtualization technology.

본 발명에 대한 선행기술문헌으로는 공개특허공보 2011-0099206호가 있다.Prior art reference to the present invention is disclosed in Japanese Laid-Open Patent Publication No. 2011-0099206.

본 발명이 해결하고자 하는 일 기술적 과제는 컨테이너 기술 기반의 시스템 전환 장치 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a system switching apparatus and method based on container technology.

본 발명의 일 측면에 따르면, 사용자의 시스템 전환을 요청하는 입력을 받는 입력부; 상기 입력에 따라 시스템을 전환하는 명령어를 저장하는 메모리; 및 상기 명령어에 따라 시스템을 전환하는 프로세서;를 포함하되, 상기 프로세서는 각 시스템의 컨테이너 매니저 앱, 컨테이너 매니저 서비스 및 윈도우 매니저 서비스와 호스트 시스템의 컨테이너 디바이스 드라이버 및 서페이스 플링거를 통해 시스템 전환을 수행하고, 상기 컨테이너 매니저 앱은 상기 입력부를 통해 상기 입력을 받는 경우, 상기 컨테이너 매니저 서비스로 시스템 전환 요청을 전송하도록 하고, 상기 컨테이너 매니저 서비스는 상기 컨테이너 디바이스 드라이버로 전환하고자 하는 시스템에 대응하는 시스템 식별정보를 전송하고, 각 시스템의 컨테이너 매니저 서비스는 상기 컨테이너 디바이스 드라이버로부터 상기 시스템 식별정보를 수신하고, 각 시스템의 컨테이너 매니저 서비스는 각 시스템의 상기 윈도우 매니저 서비스로 시스템 식별정보를 전송하고, 각 시스템의 윈도우 매니저 서비스는 자신이 속한 시스템에 대응하는 설정 식별정보와 상기 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 상기 깊이값을 상기 서페이스 플링거로 각각 전송하고, 상기 서페이스 플링거는 상기 깊이값에 따를 화상 정보를 생성하여 프레임 버퍼에 저장하는 것을 특징으로 하는 시스템 전환 장치가 제공된다.According to an aspect of the present invention, there is provided an information processing apparatus comprising: an input unit receiving an input requesting a system change of a user; A memory for storing instructions for switching the system in accordance with the input; And a processor for switching the system according to the command, wherein the processor performs system switching through the container manager application, the container manager service and the window manager service of each system, the container device driver of the host system, and the surfacepliner The container manager application transmits a system change request to the container manager service when the container manager application receives the input through the input unit and the container manager service transmits system change information corresponding to the system to be switched to the container device driver And the container manager service of each system receives the system identification information from the container device driver, and the container manager service of each system is connected to the window manager service of each system The window manager service of each system compares the system identification information with the setting identification information corresponding to the system to which it belongs, sets the depth value for each window of the system to which the window manager service belongs, To the surface flier, and the surface flier generates image information according to the depth value, and stores the generated image information in the frame buffer.

상기 윈도우 매니저 서비스는 상기 설정 식별정보와 상기 시스템 식별정보가 동일한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 양수로 전환하고, 상기 설정 식별정보와 상기 시스템 식별정보가 상이한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 음수로 전환할 수 있다.When the setting identification information and the system identification information are the same, the window manager service switches the depth value for each window of the system to which it belongs to a positive number, and when the setting identification information and the system identification information are different, The depth value for each window of the system to which it belongs can be converted to a negative value.

상기 프로세서는 상기 컨테이너 매니저 앱이 사용자로부터 컨테이너의 생성을 요청하는 입력을 받는 경우, 컨테이너의 생성을 수행하는 컨테이너 매니저 데몬을 통해 컨테이너를 생성하고, 생성된 상기 컨테이너는 미리 지정된 부트 프로세스에 따라 하나 이상의 어플리케이션, 서비스 및 드라이버를 설치할 수 있다.When the container manager application receives an input for requesting creation of a container from a user, the processor creates a container through a container manager daemon that performs creation of the container, Applications, services, and drivers.

본 발명의 다른 측면에 따르면, 시스템 전환 장치가 시스템을 전환하는 방법에 있어서, 컨테이너 매니저 앱이 상기 입력부를 통해 상기 입력을 받는 경우, 상기 컨테이너 매니저 서비스로 시스템 전환 요청을 전송하도록 하는 단계; 상기 컨테이너 매니저 서비스가 상기 컨테이너 디바이스 드라이버로 전환하고자 하는 시스템에 대응하는 시스템 식별정보를 전송하는 단계; 각 시스템의 컨테이너 매니저 서비스가 상기 컨테이너 디바이스 드라이버로부터 상기 시스템 식별정보를 수신하는 단계; 각 시스템의 컨테이너 매니저 서비스가 각 시스템의 상기 윈도우 매니저 서비스로 시스템 식별정보를 전송하는 단계; 각 시스템의 윈도우 매니저 서비스가 자신이 속한 시스템에 대응하는 설정 식별정보와 상기 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 상기 깊이값을 상기 서페이스 플링거로 각각 전송하는 단계; 및 상기 서페이스 플링거가 상기 깊이값에 따를 화상 정보를 생성하여 프레임 버퍼에 저장하는 단계를 포함하는 시스템 전환 방법이 제공된다.According to another aspect of the present invention, there is provided a method of switching a system, the method comprising: causing a container manager application to transmit a system switch request to the container manager service when the container manager application receives the input through the input unit; Transmitting the system identification information corresponding to the system to which the container manager service is to switch to the container device driver; The container manager service of each system receiving the system identification information from the container device driver; Transmitting the system identification information to the window manager service of each system by the container manager service of each system; A window manager service of each system compares setting identification information corresponding to a system of the system with the system identification information to set a depth value for each window of the system to which the window manager service belongs and sets the depth value to the surface Transmitting; And generating the image information according to the depth value by the surface flier and storing the image information in a frame buffer.

상기 각 시스템의 윈도우 매니저 서비스가 자신이 속한 시스템에 대응하는 설정 식별정보와 상기 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 상기 깊이값을 상기 서페이스 플링거로 각각 전송하는 단계는, 상기 윈도우 매니저 서비스가 상기 설정 식별정보와 상기 시스템 식별정보가 동일한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 양수로 전환하는 단계; 및 상기 윈도우 매니저 서비스가 상기 설정 식별정보와 상기 시스템 식별정보가 상이한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 음수로 전환하는 단계를 포함할 수 있다.The window manager service of each system compares setting identification information corresponding to the system to which the system belongs with the system identification information to set a depth value for each window of the system to which the window manager service belongs and sets the depth value to the surfacepligener If the window identification information is identical to the system identification information, converting the depth value of each window of the system to a positive number; And switching the depth value for each window of the system to which the window manager service belongs to a negative value, when the setting identification information and the system identification information are different from each other.

상기 시스템 전환 방법은 상기 컨테이너 매니저 앱이 사용자로부터 컨테이너의 생성을 요청하는 입력을 받는 경우, 컨테이너 매니저 데몬이 컨테이너를 생성하는 단계; 및 생성된 상기 컨테이너가 미리 지정된 부트 프로세스에 따라 하나 이상의 어플리케이션, 서비스 및 드라이버를 설치하는 단계를 더 포함할 수 있다.The system switching method comprising: a container manager daemon generating a container when the container manager application receives an input requesting creation of a container from a user; And installing the one or more applications, services, and drivers in accordance with the predetermined boot process in the created container.

상술한 바와 같이 본 발명의 일 실시 예에 따르면, 호스트 이외 컨테이너 상에서 보안이 요구되는 프로세스를 진행하도록 하여 오픈OS에 대한 취약점을 원천적으로 보완할 수 있다.As described above, according to an embodiment of the present invention, a process requiring security is performed on a container other than the host, so that vulnerability to the open OS can be fundamentally supplemented.

또한, 본 발명의 일 실시 예에 따르면, 각 시스템의 윈도우에 대한 깊이값의 변환을 통해 시스템 간의 전환 과정을 수행하기 때문에 시스템 간 전환에 소요되는 시간을 줄일 수 있다. In addition, according to the embodiment of the present invention, since the conversion process between systems is performed through conversion of the depth values of the windows of the respective systems, the time required for switching between systems can be reduced.

도 1은 본 발명의 일 실시 예에 따른 시스템 전환 장치를 예시한 도면.
도 2는 본 발명의 일 실시 예에 따른 시스템 전환 장치의 개념적 구조를 예시한 도면.
도 3은 본 발명의 일 실시 예에 따른 시스템 전환 장치가 컨테이너 시스템을 생성하는 과정을 예시한 순서도.
도 4는 본 발명의 일 실시 예에 따른 시스템 전환 장치가 시스템 간의 전환 과정을 수행하는 것을 예시한 순서도.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates a system switching device according to an embodiment of the present invention; FIG.
FIG. 2 illustrates a conceptual structure of a system switching device according to an embodiment of the present invention; FIG.
3 is a flowchart illustrating a process of creating a container system by a system switching device according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating a system switching device according to an embodiment of the present invention performing a switching process between systems. FIG.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소로 신호를 “전송한다”로 언급된 때에는, 일 구성요소가 다른 구성요소와 직접 연결되어 신호를 전송할 수 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 신호를 전송할 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as " transmitting " a signal to another element, it is to be understood that although one element can be directly connected to another element to transmit a signal, It should be understood that the signal may be transmitted through another component in the middle.

도 1은 본 발명의 일 실시 예에 따른 시스템 전환 장치를 예시한 도면이다.1 is a diagram illustrating a system switching apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 시스템 전환 장치는 입력부(110), 출력부(120), 메모리(130), 스토리지(140) 및 프로세서(150)를 포함한다.Referring to FIG. 1, a system switching apparatus according to an embodiment of the present invention includes an input unit 110, an output unit 120, a memory 130, a storage 140, and a processor 150.

입력부(110)는 사용자의 입력을 받기 위한 입력 장치(예를 들어, 키보드, 터치스크린 등)를 포함한다. 입력부(110)는 사용자 입력을 받아 프로세서(150)의 제어에 따라 사용자 입력을 메모리(130)로 전달한다.The input unit 110 includes an input device (e.g., a keyboard, a touch screen, and the like) for receiving a user's input. The input unit 110 receives a user input and transfers the user input to the memory 130 under the control of the processor 150.

출력부(120)는 프로세서(150)의 제어에 따라 메모리(130)에 저장된 윈도우를 표시한다. 예를 들어, 메모리(130)에는 하나 이상의 윈도우 화면 및 각 윈도우의 깊이값(z-order)이 저장되어 있고, 출력부(120)는 프로세서(150)의 제어에 따라 각 깊이값에 따른 우선 순위에 따라 각 윈도우 화면 중 하나 이상을 표시한다.The output unit 120 displays the window stored in the memory 130 under the control of the processor 150. For example, in the memory 130, one or more window screens and the z-order of each window are stored, and the output unit 120 outputs a priority order according to each depth value according to the control of the processor 150 One or more of the respective window screens are displayed.

메모리(130)는 스토리지(140)에 저장된 운영체제에 따른 명령어, 데이터, 윈도우 화면을 저장한다. 메모리(130)는 램(RAM) 등의 휘발성 저장매체일 수 있다.The memory 130 stores commands, data, and a window screen according to an operating system stored in the storage 140. The memory 130 may be a volatile storage medium such as a RAM.

스토리지(140)는 운영체제에 대응하는 명령어, 데이터를 저장하고, 스토리지(140)에 저장된 각 데이터는 메모리(130)로 전송될 수 있다.The storage 140 stores instructions and data corresponding to the operating system, and each data stored in the storage 140 can be transferred to the memory 130.

상술한 시스템 전환 장치는 보편적인 컴퓨터의 구성을 포함할 수 있으며, 스토리지(140) 및 메모리(130)에 저장된 명령어에 따라 프로세서(150)는 호스트 시스템 및 하나 이상의 컨테이너 시스템을 생성하고, 각 시스템 중 어느 하나가 사용 상태가 되도록 전환한다. 이 때, 각 컨테이너 시스템은 상이한 루트 디렉토리에 저장된 데이터에 따라 프로세스가 수행되는 가상 시스템이고, 타 컨테이너 시스템 또는 호스트 시스템 상의 어플리케이션은 직접 컨테이너 시스템의 루트 디렉토리 및 루트 디렉토리의 하위 디렉토리에 접근할 수 없다.The system switching device described above may include a configuration of a general computer and the processor 150 may create a host system and one or more container systems according to instructions stored in the storage 140 and the memory 130, And switches one of them to be in the use state. In this case, each container system is a virtual system in which processes are executed according to data stored in different root directories, and an application on another container system or a host system can not directly access the root directory of the container system and the subdirectory of the root directory.

이하 도 2를 참조하여, 시스템 전환 장치가 제공하는 호스트 시스템 및 컨테이너 시스템의 개념적 구조와 시스템 전환 과정을 상세히 설명하도록 한다.Hereinafter, the conceptual structure of the host system and the container system provided by the system switching device and the system switching process will be described in detail with reference to FIG.

도 2는 본 발명의 일 실시 예에 따른 시스템 전환 장치의 개념적 구조를 예시한 도면이다. 이하 설명하는 각 기능부는 도 1을 참조하여 상술한 시스템 전환 장치에 의해 동작하는 호스트 시스템 및 컨테이너 시스템을 나타낸 개념적으로 나타낸 것이다. 이 때, 도 2에서 컨테이너 시스템을 하나로 예시하였으나, 구현 방식에 따라 컨테이너 시스템은 복수개로 구동될 수 있다.2 is a diagram illustrating a conceptual structure of a system switching device according to an embodiment of the present invention. Each functional unit described below is conceptually showing a host system and a container system operated by the system switching device described above with reference to Fig. In this case, although one container system is exemplified in FIG. 2, a plurality of container systems can be driven according to the implementation method.

도 2를 참조하면, 시스템 전환 장치가 제공하는 호스트 시스템 및 컨테이너 시스템은 어플리케이션 레이어, 시스템 서비스 레이어, 커널 레이어로 구분하여 나타낼 수 있다.Referring to FIG. 2, the host system and the container system provided by the system switching device can be divided into an application layer, a system service layer, and a kernel layer.

호스트 시스템 및 컨테이너 시스템 상에서 구동되는 어플리케이션은 상술한 바와 같이 타 시스템의 시스템 서비스 레이어에서 제공하는 서비스를 이용할 수 없다. 즉, 각 어플리케이션은 자신이 구동되는 시스템 상에서 제공하는 시스템 서비스만을 이용할 수 있다. 예를 들어, 제1 어플리케이션(201)은 호스트 시스템 서비스만을 직접적으로 이용할 수 있다. 또한, 제2 어플리케이션(202)은 컨테이너 시스템의 서비스만을 직접적으로 이용하되, 컨테이너 시스템 서비스 중 하나 이상은 가상 바인더 드라이버(212) 및 바인더 드라이버(213)를 통해 호스트 시스템의 공유 서비스를 이용할 수 있다. 즉, 컨테이너 시스템 상의 제2 어플리케이션(202)은 컨테이너 시스템 서비스를 통해 호스트 시스템 서비스에서 제한적으로 제공하는 일부 서비스를 커널 레이어의 가상 바인더 드라이버(212) 및 바인더 드라이버(213)를 통해 이용할 수 있다.The host system and the application running on the container system can not use the service provided by the system service layer of the other system as described above. That is, each application can use only system services provided on the system on which it is running. For example, the first application 201 can directly use the host system service only. Also, the second application 202 directly uses only the container system service, and one or more of the container system services can use the shared service of the host system through the virtual binder driver 212 and the binder driver 213. That is, the second application 202 on the container system can use some services provided by the host system service through the container system service through the virtual binder driver 212 and the binder driver 213 of the kernel layer.

컨테이너 매니저 앱(203, 204)는 특정 시스템에서 타 시스템의 구동을 요청하는 컨테이너 생성 요청 입력을 받는다. 예를 들어, 호스트 시스템 상의 컨테이너 매니저 앱(203)은 컨테이너 시스템의 구동을 요청하는 컨테이너 생성 요청 입력을 사용자로부터 받을 수 있다. 컨테이너 매니저 앱(203)은 컨테이너 생성 요청 입력에 따라 컨테이너 생성 요청을 컨테이너 매니저 데몬(205)으로 전송한다. The container manager application (203, 204) receives a container creation request input requesting the specific system to drive another system. For example, the container manager application 203 on the host system can receive a container creation request input from the user requesting the operation of the container system. The container manager application 203 transmits a container creation request to the container manager daemon 205 according to the container creation request input.

컨테이너 매니저 데몬(205)은 컨테이너의 생성, 삭제를 실행하는 시스템 프로세스이다. 예를 들어, 컨테이너 매니저 데몬(205)은 컨테이너 생성 요청을 수신하는 경우, 스토리지(140)에 미리 저장된 컨테이너 템플릿 파일을 이용하여 컨테이너를 생성한다. 이 때, 컨테이너 템플릿 파일은 하나의 컨테이너가 동작하기 위해 필요한 데이터를 압축한 파일일 수 있다.The container manager daemon 205 is a system process for creating and deleting containers. For example, when receiving the container creation request, the container manager daemon 205 creates a container using the container template file stored in the storage 140 in advance. At this time, the container template file may be a file that compresses data necessary for one container to operate.

컨테이너 매니저 앱(203, 204)은 각 시스템 상에서 구동하여 사용자가 활성하고자 하는 시스템을 선택하는 사용자 입력을 받는다. 예를 들어, 호스트 시스템이 활성화된 상태에서 컨테이너 매니저 앱(203)은 사용자로부터 컨테이너 시스템의 활성을 요청하는 사용자 입력을 받을 수 있다. 컨테이너 매니저 앱(203, 204)는 사용자 입력을 받는 경우, 선택된 시스템의 식별정보(이하, 시스템 식별정보라 지칭)를 컨테이너 매니저 서비스(206, 210)로 전송한다.The container manager apps 203 and 204 run on each system and receive user input to select a system that the user wishes to activate. For example, when the host system is activated, the container manager application 203 can receive a user input requesting activation of the container system from the user. When receiving the user input, the container manager applications 203 and 204 transmit identification information (hereinafter referred to as system identification information) of the selected system to the container manager services 206 and 210.

컨테이너 매니저 서비스(206, 210)는 컨테이너 매니저 앱(203, 204)로부터 시스템 식별정보를 수신하는 경우, 시스템 식별정보를 컨테이너 디바이스 드라이버(214)로 전송한다. 각 컨테이너 매니저 서비스(206, 210)는 컨테이너 디바이스 드라이버(214)에 저장된 시스템 식별정보를 읽는다. 예를 들어, 호스트 시스템의 컨테이너 매니저 앱(203)에서 컨테이너 매니저 서비스(206)이 시스템 식별정보를 수신하는 경우, 컨테이너 매니저 서비스(206)는 컨테이너 디바이스 드라이버(214)로 시스템 식별정보를 전송할 수 있다. 이후, 각 컨테이너 매니저 서비스(206, 210)는 각각 컨테이너 디바이스 드라이버(214)에 저장된 시스템 식별정보를 읽어서, 다른 시스템 상에서 사용자가 선택한 시스템이 어떤 것인지 파악할 수 있다.When receiving the system identification information from the container manager application (203, 204), the container manager service (206, 210) transmits the system identification information to the container device driver (214). Each container manager service 206, 210 reads system identification information stored in the container device driver 214. For example, when the container manager service 206 receives the system identification information from the container manager application 203 of the host system, the container manager service 206 may transmit the system identification information to the container device driver 214 . Each of the container manager services 206 and 210 can read the system identification information stored in the container device driver 214 to determine which system the user has selected on another system.

이 때, 컨테이너 디바이스 드라이버(214)는 컨테이너 매니저 서비스(206, 210)로부터 수신한 시스템 식별정보가 이전 저장된 시스템 식별정보와 상이한 경우(시스템 스위칭이 발생한 경우), 시스템 식별정보에 대한 읽기 쓰레드를 허용한다. 또한, 컨테이너 디바이스 드라이버(214)는 컨테이너 매니저 서비스(206, 210)로부터 수신한 시스템 식별정보가 이전 저장된 시스템 식별정보와 동일한 경우(시스템 스위칭이 발생하지 않은 경우), 시스템 식별정보에 대한 읽기 쓰레드를 블록한다. 따라서, 컨테이너 디바이스 드라이버(214)는 컨테이너 매니저 서비스(206, 210)로부터 바뀐 시스템 식별정보를 수신할 때까지 읽기 쓰레드에 대한 리턴값인 시스템 식별정보를 컨테이너 매니저 서비스(206, 210)로 전송하지 않다가, 시스템 식별정보가 변경될 때 변경된 시스템 식별정보를 컨테이너 매니저 서비스(206, 210)로 전송할 수 있다.At this time, when the system identification information received from the container manager services 206 and 210 is different from the previously stored system identification information (when system switching has occurred), the container device driver 214 allows the read thread for the system identification information do. If the system identification information received from the container manager services 206 and 210 is the same as the previously stored system identification information (in the case where system switching has not occurred), the container device driver 214 reads the read thread for the system identification information Block. Accordingly, the container device driver 214 does not transfer the system identification information, which is a return value for the read thread, to the container manager services 206 and 210 until receiving the changed system identification information from the container manager services 206 and 210 May transmit changed system identification information to the container manager service 206, 210 when the system identification information is changed.

컨테이너 매니저 서비스(206, 210)는 시스템 식별정보를 윈도우 매니저 서비스(207, 211)로 전송한다. The container manager services 206 and 210 transmit the system identification information to the window manager services 207 and 211.

윈도우 매니저 서비스(207, 211)는 자신이 속한 시스템의 식별정보(이하, 설정 식별정보라 지칭)을 저장한다. 윈도우 매니저 서비스(207, 211)는 컨테이너 매니저 서비스(206, 210)로부터 시스템 식별정보를 수신하는 경우, 설정 식별정보와 시스템 식별정보를 비교한다. 윈도우 매니저 서비스(207, 211)는 설정 식별정보 및 시스템 식별정보가 동일한 경우, 자신이 속한 시스템의 모든 윈도우에 대한 깊이값(z-order)을 양수로 설정한다. 또한, 윈도우 매너지 서비스(207, 211)는 설정 식별정보와 시스템 식별정보가 상이한 경우, 자신이 속한 시스템의 모든 윈도우에 대한 깊이값을 음수로 설정한다. 윈도우 매니저 서비스(207, 211)는 설정한 깊이값을 서페이스 플링거(208)로 전송한다. 이 때, 컨테이너 매니저 서비스(210)는 컨테이너 시스템에 해당하여 깊이값을 호스트 시스템에 있는 서페이스 플링거(208)로 바로 전송할 수 없기 때문에, 컨테이너 매니저 서비스(210)는 깊이값을 가상 바인더 드라이버(212)로 전송한다.The window manager services 207 and 211 store identification information (hereinafter referred to as setting identification information) of the system to which the window manager services 207 and 211 belong. When the window manager services 207 and 211 receive the system identification information from the container manager services 206 and 210, the window manager services 207 and 211 compare the setting identification information and the system identification information. The window manager services 207 and 211 set a z-order for all windows of the system to which the window manager service 207 or 211 belongs if the setting identification information and the system identification information are the same. Also, when the setting identification information and the system identification information are different, the window management service 207 or 211 sets a depth value for all windows of the system to which it belongs to a negative value. The window manager services 207 and 211 transmit the set depth values to the surfaceplanner 208. [ At this time, since the container manager service 210 can not directly transmit the depth value to the surfaceplanner 208 in the host system, the container manager service 210 transmits the depth value to the virtual binder driver 212 ).

가상 바인더 드라이버(212)는 깊이값을 바인더 드라이버(213)로 전송한다. 바인더 드라이버(213)는 가상 바인더 드라이버(212)로부터 깊이값을 수신하는 경우, 깊이값을 서페이스 플링거(208)로 전송한다.The virtual binder driver 212 transfers the depth value to the binder driver 213. When receiving the depth value from the virtual binder driver 212, the binder driver 213 transmits the depth value to the surfaceplusger 208. [

서페이스 플링거(Surface fliger, 208)는 깊이값에 따라 각 윈도우를 표시한 화면을 생성하여 메모리(130)의 프레임 버퍼에 저장한다. 출력부(120)는 프레임 버퍼에 저장된 화면을 출력한다.The surface fligger 208 generates a screen displaying each window according to the depth value and stores it in the frame buffer of the memory 130. The output unit 120 outputs a screen stored in the frame buffer.

도 3은 본 발명의 일 실시 예에 따른 시스템 전환 장치가 컨테이너 시스템을 생성하는 과정을 예시한 순서도이다.3 is a flowchart illustrating a process of creating a container system according to an exemplary embodiment of the present invention.

도 3을 참조하면, 단계 310에서 컨테이너 매니저 앱(203, 204)은 사용자로부터 특정 시스템에서 타 시스템의 구동을 요청하는 컨테이너 생성 요청 입력을 받는다. 예를 들어, 호스트 시스템 상의 컨테이너 매니저 앱(203)은 컨테이너 시스템의 구동을 요청하는 컨테이너 생성 요청 입력을 사용자로부터 받을 수 있다. Referring to FIG. 3, in step 310, the container manager application 203 or 204 receives a container creation request input requesting the user to drive another system in the specific system. For example, the container manager application 203 on the host system can receive a container creation request input from the user requesting the operation of the container system.

단계 320에서 컨테이너 매니저 앱(203)은 컨테이너 생성 요청 입력에 따라 컨테이너 생성 요청을 호스트 시스템의 컨테이너 매니저 데몬(205)으로 전송한다. In step 320, the container manager application 203 transmits a container creation request to the container manager daemon 205 of the host system according to the container creation request input.

단계 330에서 호스트 시스템의 컨테이너 매니저 데몬(205)은 컨테이너 생성 요청에 따라 컨테이너를 생성한다. 예를 들어, 컨테이너 매니저 데몬(205)은 호스트 시스템 상의 컨테이너 매니저 앱(203)로부터 수신한 컨테이너 생성 요청에 따라 미리 저장된 템플릿의 압축을 해제하여 스토리지(140)의 특정 영역에 저장하여 컨테이너 시스템을 생성할 수 있다.In step 330, the container manager daemon 205 of the host system creates a container according to the container creation request. For example, the container manager daemon 205 decompresses a template stored in advance according to a container creation request received from the container manager application 203 on the host system, stores the template in a specific area of the storage 140, can do.

단계 340에서 컨테이너 시스템의 부트 프로세스(209)는 컨테이너가 생성됨에 따라 동작하여 컨테이너의 부팅을 수행한다. 예를 들어, 컨테이너 시스템의 부트 프로세스(209)는 컨테이너 시스템에 대해 미리 설정된 서비스, 드라이버 등을 초기화하고, 컨테이너 매니저 앱(204)와 같은 기본으로 설정된 앱을 컨테이너 시스템 상에 설치할 수 있다.In step 340, the boot process 209 of the container system operates as the container is created to perform booting of the container. For example, the boot process 209 of the container system may initialize a service, a driver, and the like preset for the container system, and install a basic application such as the container manager application 204 on the container system.

단계 350에서 컨테이너 시스템은 컨테이너 생성을 완료하고 이후 사용자 입력에 따른 동작을 수행한다. In step 350, the container system completes the container creation and then performs the operation according to the user input.

도 4는 본 발명의 일 실시 예에 따른 시스템 전환 장치가 시스템 간의 전환 과정을 수행하는 것을 예시한 순서도이다.FIG. 4 is a flowchart illustrating a system switching apparatus performing a switching process between systems according to an embodiment of the present invention. Referring to FIG.

도 4를 참조하면, 단계 410에서 현재 활성화된 컨테이너 또는 호스트 시스템의 컨테이너 매니저 앱은 사용자로부터 시스템 전환을 요청하는 입력을 사용자로부터 받는다. 예를 들어, 현재 호스트 시스템이 활성화된 상태인 경우, 호스트 시스템 상에 설치된 컨테이너 매니저 앱은 사용자로부터 컨테이너 시스템으로의 전환을 요청하는 입력을 사용자로부터 받을 수 있다. 컨테이너 매니저 앱은 시스템 전환을 요청하는 시스템 전환 요청을 컨테이너 매니저 서비스로 전달한다.Referring to FIG. 4, in step 410, the currently activated container or the container manager application of the host system receives an input from the user to request a system change from the user. For example, if the current host system is currently active, the container manager application installed on the host system can receive an input from the user requesting conversion from the user to the container system. The container manager application sends a system switch request to the container manager service requesting the system switch.

단계 420에서 현재 활성화된 시스템의 컨테이너 매니저 서비스는 전환하고자 하는 시스템의 시스템 식별정보를 커널 레이어의 컨테이너 디바이스 드라이버에 저장한다. In step 420, the container manager service of the currently activated system stores the system identification information of the system to be switched to the container device driver of the kernel layer.

단계 430에서 각 시스템의 컨테이너 매니저 서비스는 컨테이너 디바이스로부터 시스템 식별정보를 수신한다. In step 430, the container manager service of each system receives system identification information from the container device.

단계 440에서 각 시스템의 컨테이너 매니저 서비스는 시스템 식별정보를 각 시스템의 윈도우 매니저 서비스로 각각 전송한다.In step 440, the container manager service of each system transmits system identification information to the window manager service of each system.

단계 450에서 각 시스템의 윈도우 매니저 서비스는 자신이 속한 시스템의 식별정보인 설정 식별정보와 시스템 식별정보가 동일한지 판단한다.In step 450, the window manager service of each system determines whether the setting identification information, which is the identification information of the system to which the window manager service belongs, is identical to the system identification information.

단계 450에서 설정 식별정보와 시스템 식별정보가 동일한 경우, 단계 460에서 윈도우 매니저 서비스는 자신이 속한 시스템에 대응하는 모든 윈도우에 대한 깊이값을 양수로 변환한다. 예를 들어, 현재 자신이 속한 시스템에 대응하는 3개의 윈도우에 대한 깊이값이 (-1, -2, -3)인 경우, 윈도우 매니저 서비스는 각 깊이값을 (1, 2, 3)으로 변환할 수 있다. 따라서, 각 윈도우의 깊이값이 양수가 되는 경우, 해당 깊이값에 대응하여 각 윈도우가 서페이스 플링거(208)에 의해 화상 정보로 생성되는 경우, 사용자는 해당 윈도우를 화면상으로 볼 수 있다. 즉, 활성화된 시스템에 속한 윈도우는 깊이값이 양수가 됨에 따라 화면 상에서 해당 윈도우를 사용자가 볼 수 있다.If the setting identification information and the system identification information are identical in step 450, the window manager service converts the depth value for all windows corresponding to the system to which the window manager service is positive in step 460. For example, if the depth values for the three windows corresponding to the current system are (-1, -2, -3), the window manager service converts each depth value to (1, 2, 3) can do. Therefore, when the depth value of each window becomes a positive value, when each window is generated as image information by the surfaceplusger 208 corresponding to the depth value, the user can view the corresponding window on the screen. That is, the window belonging to the activated system can see the corresponding window on the screen as the depth value becomes positive.

단계 460에서 설정 식별정보와 시스템 식별정보가 상이한 경우, 단계 470에서 윈도우 매니저 서비스는 자신이 속한 시스템에 대응하는 모든 윈도우에 대한 깊이값을 음수로 변환한다. 예를 들어, 현재 자신이 속한 시스템에 대응하는 3개의 윈도우에 대한 깊이값이 (1, 2, 3)인 경우, 윈도우 매니저 서비스는 각 깊이값을 (-1, -2, -3)으로 변환할 수 있다. 또한, 현재 자신이 속한 시스템에 대응하는 3개의 윈도우에 대한 깊이값이 (-1, -2, -3)인 경우, 윈도우 매니저 서비스는 각 깊이값을 (-1, -2, -3)으로 유지할 수 있다. 따라서, 각 윈도우의 깊이값이 음수가 되는 경우, 해당 깊이값에 대응하여 각 윈도우가 서페이스 플링거(208)에 의해 화상 정보로 생성되는 경우, 사용자는 해당 윈도우를 화면상으로 볼 수 없다. 즉, 비활성화된 시스템에 속한 윈도우는 깊이값이 음수가 됨에 따라 화면 상에서 해당 윈도우를 사용자가 볼 수 없다.If the set identification information and the system identification information are different in step 460, the window manager service converts the depth value of all windows corresponding to the system to which the window manager service is negative in step 470. For example, if depth values for three windows corresponding to the current system are (1, 2, 3), the window manager service converts each depth value to (-1, -2, -3) can do. If the depth values for the three windows corresponding to the current system are (-1, -2, -3), the window manager service sets each depth value to (-1, -2, -3) . Therefore, when the depth value of each window is negative, when each window is generated as image information by the surfaceplugger 208 corresponding to the depth value, the user can not see the window on the screen. That is, a window belonging to a disabled system can not see the corresponding window on the screen as the depth value becomes negative.

단계 480에서 윈도우 매니저 서비스는 각 윈도우의 깊이값을 호스트 시스템의 서페이스 플링거(208)로 전송한다. 이 때, 컨테이너 시스템의 윈도우 매니저 서비스()는 가상 바인더 드라이버(212)를 통해 바인더 드라이버(213)를 거쳐 서페이스 플링거(208)로 윈도우의 깊이값을 전송할 수 있다. 또한, 호스트 시스템의 윈도우 매니저 서비스(207)는 직접 바인더 드라이버(213)를 통해 서페이스 플링거(208)로 깊이값을 전송할 수 있다. 따라서, 서페이스 플링거(208)는 호스트 시스템 상에서 각 시스템 상에 존재하는 윈도우 매니저 서비스(207, 211)로부터 윈도우에 대한 깊이값을 각각 수신할 수 있다.In step 480, the window manager service sends the depth value of each window to the surfaceplanner 208 of the host system. At this time, the window manager service () of the container system can transmit the depth value of the window to the surfaceplusger 208 via the binder driver 213 via the virtual binder driver 212. [ In addition, the window manager service 207 of the host system can directly transfer the depth value to the surfaceplaner 208 through the binder driver 213. [ Thus, the surfaceplanner 208 can receive the depth values for the windows from the window manager services 207, 211 residing on each system on the host system, respectively.

단계 490에서 서페이스 플링거(208)는 모든 윈도우에 대한 깊이값에 따라 화상 정보를 생성하여 프레임 버퍼에 저장한다. 따라서, 프레임 버퍼에 저장된 화상 정보는 출력부(120)를 통해 시각 정보로써 사용자에게 제공될 수 있다. 이 때, 서페이스 플링거(208)는 모든 윈도우 중 현재 활성화된 시스템의 윈도우들만 양수의 깊이값으로 설정되기 때문에, 현재 활성화된 시스템의 윈도우들만 화면 상에 보여 질 수 있도록 화상 정보를 구성할 수 있다.In step 490, the surfaceplanner 208 generates image information according to depth values for all windows, and stores the image information in the frame buffer. Therefore, the image information stored in the frame buffer can be provided to the user as time information through the output unit 120. [ At this time, since only the windows of the currently active system among all the windows are set to the positive depth values, the surfaceplanner 208 can configure the image information so that only the windows of the currently activated system can be displayed on the screen .

상술한 바와 같이, 본 발명의 일 실시 예에 따른 시스템 전환 장치는 호스트 시스템 및 컨테이터 시스템들 간의 전환 과정에서 각 시스템의 윈도우에 대한 깊이값만을 전환하는 과정을 통해 활성화 상태로 전환된 시스템의 윈도우를 빠르게 화면에 표시할 수 있다. As described above, in the system switching device according to the embodiment of the present invention, in the process of switching between the host system and the container systems, only the depth value of the window of each system is switched, Can be quickly displayed on the screen.

이상, 본 발명을 바람직한 실시 예를 사용하여 상세히 설명하였으나, 본 발명의 범위는 특정 실시 예에 한정되는 것은 아니며, 첨부된 특허청구범위에 의하여 해석되어야 할 것이다. 또한, 이 기술분야에서 통상의 지식을 습득한 자라면, 본 발명의 범위에서 벗어나지 않으면서도 많은 수정과 변형이 가능함을 이해하여야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the scope of the present invention is not limited to the disclosed exemplary embodiments. It will also be appreciated that many modifications and variations will be apparent to those skilled in the art without departing from the scope of the present invention.

Claims (6)

사용자의 시스템 전환을 요청하는 입력을 받는 입력부;
상기 입력에 따라 시스템을 전환하는 명령어를 저장하는 메모리; 및
상기 명령어에 따라 시스템을 전환하는 프로세서;
를 포함하되,
상기 프로세서는 각 시스템의 컨테이너 매니저 앱, 컨테이너 매니저 서비스 및 윈도우 매니저 서비스와 호스트 시스템의 컨테이너 디바이스 드라이버 및 서페이스 플링거를 통해 시스템 전환을 수행하고,
상기 컨테이너 매니저 앱은 상기 입력부를 통해 상기 입력을 받는 경우, 상기 컨테이너 매니저 서비스로 시스템 전환 요청을 전송하도록 하고,
상기 컨테이너 매니저 서비스는 상기 컨테이너 디바이스 드라이버로 전환하고자 하는 시스템에 대응하는 시스템 식별정보를 전송하고,
각 시스템의 컨테이너 매니저 서비스는 상기 컨테이너 디바이스 드라이버로부터 상기 시스템 식별정보를 수신하고,
각 시스템의 컨테이너 매니저 서비스는 각 시스템의 상기 윈도우 매니저 서비스로 시스템 식별정보를 전송하고,
각 시스템의 윈도우 매니저 서비스는 자신이 속한 시스템에 대응하는 설정 식별정보와 상기 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 상기 깊이값을 상기 서페이스 플링거로 각각 전송하고,
상기 서페이스 플링거는 상기 깊이값에 따를 화상 정보를 생성하여 프레임 버퍼에 저장하는 것을 특징으로 하는 시스템 전환 장치.
An input unit for receiving an input requesting the user to switch the system;
A memory for storing instructions for switching the system in accordance with the input; And
A processor for switching the system according to the instruction;
, ≪ / RTI &
The processor performs system switching through a container manager application, a container manager service and a window manager service of each system, a container device driver of a host system, and a surfaceplanner,
Wherein the container manager application transmits a system switch request to the container manager service when receiving the input through the input unit,
Wherein the container manager service transmits system identification information corresponding to a system to be switched to the container device driver,
The container manager service of each system receives the system identification information from the container device driver,
The container manager service of each system transmits system identification information to the window manager service of each system,
The window manager service of each system compares setting identification information corresponding to the system to which the system belongs with the system identification information to set a depth value for each window of the system to which the window manager service belongs and sets the depth value to the surfaceplanner Lt; / RTI &
Wherein the surface flier generates image information according to the depth value and stores the image information in a frame buffer.
제1 항에 있어서,
상기 윈도우 매니저 서비스는 상기 설정 식별정보와 상기 시스템 식별정보가 동일한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 양수로 전환하고,
상기 설정 식별정보와 상기 시스템 식별정보가 상이한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 음수로 전환하는 것을 특징으로 하는 시스템 전환 장치.
The method according to claim 1,
Wherein the window manager service switches the depth value for each window of the system to which the window manager service belongs to a positive number when the setting identification information and the system identification information are identical,
Wherein when the setting identification information and the system identification information are different, the depth value for each window of the system to which the setting identification information differs is converted to a negative value.
제1 항에 있어서,
상기 프로세서는 상기 컨테이너 매니저 앱이 사용자로부터 컨테이너의 생성을 요청하는 입력을 받는 경우, 컨테이너의 생성을 수행하는 컨테이너 매니저 데몬을 통해 컨테이너를 생성하고,
생성된 상기 컨테이너는 미리 지정된 부트 프로세스에 따라 하나 이상의 어플리케이션, 서비스 및 드라이버를 설치하는 것을 특징으로 하는 시스템 전환 장치.

The method according to claim 1,
When the container manager application receives an input from the user to request creation of a container, the processor creates a container through a container manager daemon that performs creation of the container,
Wherein the created container installs one or more applications, services and drivers according to a predetermined boot process.

시스템 전환 장치가 시스템을 전환하는 방법에 있어서,
상기 시스템 전환 장치는
사용자의 시스템 전환을 요청하는 입력을 받는 입력부;
상기 입력에 따라 시스템을 전환하는 명령어를 저장하는 메모리; 및
상기 명령어에 따라 시스템을 전환하는 프로세서;
를 포함하되,
상기 프로세서는 각 시스템의 컨테이너 매니저 앱, 컨테이너 매니저 서비스 및 윈도우 매니저 서비스와 호스트 시스템의 컨테이너 디바이스 드라이버 및 서페이스 플링거를 통해 시스템 전환을 수행하는 것을 특징으로 하고,
상기 시스템 전환 장치가 시스템을 전환하는 방법은,
상기 컨테이너 매니저 앱이 상기 입력부를 통해 상기 입력을 받는 경우, 상기 컨테이너 매니저 서비스로 시스템 전환 요청을 전송하도록 하는 단계;
상기 컨테이너 매니저 서비스가 상기 컨테이너 디바이스 드라이버로 전환하고자 하는 시스템에 대응하는 시스템 식별정보를 전송하는 단계;
각 시스템의 컨테이너 매니저 서비스가 상기 컨테이너 디바이스 드라이버로부터 상기 시스템 식별정보를 수신하는 단계;
각 시스템의 컨테이너 매니저 서비스가 각 시스템의 상기 윈도우 매니저 서비스로 시스템 식별정보를 전송하는 단계;
각 시스템의 윈도우 매니저 서비스가 자신이 속한 시스템에 대응하는 설정 식별정보와 상기 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 상기 깊이값을 상기 서페이스 플링거로 각각 전송하는 단계; 및
상기 서페이스 플링거가 상기 깊이값에 따를 화상 정보를 생성하여 프레임 버퍼에 저장하는 단계
를 포함하는 시스템 전환 방법.
In a method for switching a system,
The system switching device
An input unit for receiving an input requesting the user to switch the system;
A memory for storing instructions for switching the system in accordance with the input; And
A processor for switching the system according to the instruction;
, ≪ / RTI &
Wherein the processor performs system switching through a container manager application, a container manager service, and a window manager service of each system, a container device driver of the host system, and a surfaceplanner,
A method for switching the system by the system switching device,
Sending, when the container manager application receives the input through the input unit, a system switch request to the container manager service;
Transmitting the system identification information corresponding to the system to which the container manager service is to switch to the container device driver;
The container manager service of each system receiving the system identification information from the container device driver;
Transmitting the system identification information to the window manager service of each system by the container manager service of each system;
A window manager service of each system compares setting identification information corresponding to a system of the system with the system identification information to set a depth value for each window of the system to which the window manager service belongs and sets the depth value to the surface Transmitting; And
Generating the image information according to the depth value, and storing the image information in the frame buffer
/ RTI >
제4 항에 있어서,
상기 각 시스템의 윈도우 매니저 서비스가 자신이 속한 시스템에 대응하는 설정 식별정보와 상기 시스템 식별정보를 비교하여 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 설정하고, 상기 깊이값을 상기 서페이스 플링거로 각각 전송하는 단계는,
상기 윈도우 매니저 서비스가 상기 설정 식별정보와 상기 시스템 식별정보가 동일한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 양수로 전환하는 단계; 및
상기 윈도우 매니저 서비스가 상기 설정 식별정보와 상기 시스템 식별정보가 상이한 경우, 자신이 속한 시스템의 각 윈도우에 대한 깊이값을 음수로 전환하는 단계를 포함하는 것을 특징으로 하는 시스템 전환 방법.
5. The method of claim 4,
The window manager service of each system compares setting identification information corresponding to the system to which the system belongs with the system identification information to set a depth value for each window of the system to which the window manager service belongs and sets the depth value to the surfacepligener Each transmitting step includes:
When the window manager service has the same set identification information and system identification information, converting a depth value for each window of the system to which the window manager service belongs to a positive number; And
And switching the depth value for each window of the system to which the window manager service belongs to a negative value if the setting identification information is different from the system identification information.
제4 항에 있어서,
상기 컨테이너 매니저 앱이 사용자로부터 컨테이너의 생성을 요청하는 입력을 받는 경우, 컨테이너 매니저 데몬이 컨테이너를 생성하는 단계; 및
생성된 상기 컨테이너가 미리 지정된 부트 프로세스에 따라 하나 이상의 어플리케이션, 서비스 및 드라이버를 설치하는 단계
를 더 포함하는 시스템 전환 방법.
5. The method of claim 4,
A container manager daemon generating a container when the container manager application receives an input from a user to request creation of a container; And
Installing the at least one application, service, and driver in accordance with a pre-designated boot process;
Further comprising the steps of:
KR1020170112001A 2017-05-23 2017-09-01 Apparatus and method for switching system based container technology KR101974974B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/005752 WO2018216972A1 (en) 2017-05-23 2018-05-18 Container technology-based system switching apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170063583 2017-05-23
KR1020170063583 2017-05-23

Publications (2)

Publication Number Publication Date
KR20180128327A KR20180128327A (en) 2018-12-03
KR101974974B1 true KR101974974B1 (en) 2019-05-07

Family

ID=64743120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170112001A KR101974974B1 (en) 2017-05-23 2017-09-01 Apparatus and method for switching system based container technology

Country Status (1)

Country Link
KR (1) KR101974974B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011233146A (en) 2010-04-26 2011-11-17 Vmware Inc Cloud platform architecture
JP2013137766A (en) 2011-12-27 2013-07-11 Hon Hai Precision Industry Co Ltd Application system and method for virtual machine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100107163A1 (en) * 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
KR101480140B1 (en) * 2013-01-03 2015-01-07 주식회사 비티비솔루션 Multi injection server and method thereof
KR102294568B1 (en) * 2015-08-19 2021-08-26 삼성에스디에스 주식회사 Method and apparatus for security checking of image for container

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011233146A (en) 2010-04-26 2011-11-17 Vmware Inc Cloud platform architecture
JP2013137766A (en) 2011-12-27 2013-07-11 Hon Hai Precision Industry Co Ltd Application system and method for virtual machine

Also Published As

Publication number Publication date
KR20180128327A (en) 2018-12-03

Similar Documents

Publication Publication Date Title
US9672060B2 (en) Managing virtual machine migration
CN110199271B (en) Method and apparatus for field programmable gate array virtualization
US9535741B1 (en) Expansion of services for a virtual data center guest
US20110167422A1 (en) Virtualization apparatus
US20180336079A1 (en) Managing inter-process communications in a containerized application environment
CN112764872B (en) Computer device, virtualization acceleration device, remote control method, and storage medium
US11875174B2 (en) Method and apparatus for virtual machine emulator upgrading virtualization emulator
JP2012079084A (en) Remote desktop system and operation application migration system
US20160335109A1 (en) Techniques for data migration
US20140351833A1 (en) Multi-computing environment operating on a single native operating system
CN115309511B (en) Xen-based data interaction method and device, storage medium and electronic equipment
CN114691300A (en) Hot migration method of virtual machine instance
CN114417373A (en) Data access method and device for NVMe-oF user mode client
CN108255547B (en) Application program control method and device
US10979289B2 (en) Apparatuses and methods for remote computing node registration and authentication
US11212168B2 (en) Apparatuses and methods for remote computing node initialization using a configuration template and resource pools
KR101974974B1 (en) Apparatus and method for switching system based container technology
US9304874B2 (en) Virtual machine-guest driven state restoring by hypervisor
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
EP3593252A1 (en) Managing guest partition access to physical devices
KR101284791B1 (en) Method and apparatus for implementing computer operating system using mobile terminal
US20230325222A1 (en) Lifecycle and recovery for virtualized dpu management operating systems
WO2018216972A1 (en) Container technology-based system switching apparatus and method
CN110968393A (en) Migration processing method of virtual machine, storage medium and computing equipment
JP6043615B2 (en) Function use control device, function use control method, function use control program

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