KR101601680B1 - Cloud computing method, clould computing server performing the same and storage media storing the same - Google Patents

Cloud computing method, clould computing server performing the same and storage media storing the same Download PDF

Info

Publication number
KR101601680B1
KR101601680B1 KR1020140039926A KR20140039926A KR101601680B1 KR 101601680 B1 KR101601680 B1 KR 101601680B1 KR 1020140039926 A KR1020140039926 A KR 1020140039926A KR 20140039926 A KR20140039926 A KR 20140039926A KR 101601680 B1 KR101601680 B1 KR 101601680B1
Authority
KR
South Korea
Prior art keywords
virtual machine
user terminal
agent
application
communication channel
Prior art date
Application number
KR1020140039926A
Other languages
Korean (ko)
Other versions
KR20150115238A (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 KR1020140039926A priority Critical patent/KR101601680B1/en
Publication of KR20150115238A publication Critical patent/KR20150115238A/en
Application granted granted Critical
Publication of KR101601680B1 publication Critical patent/KR101601680B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

클라우드 컴퓨팅 방법은 사용자 단말 에이전트의 동작 환경을 제공하는 사용자 단말과 연결될 수 있는 클라우드 컴퓨팅 서버에서 수행된다. 상기 클라우드 컴퓨팅 방법은 상기 사용자 단말 에이전트에 대응하는 가상 머신을 결정하는 단계, 상기 가상 머신에 어플리케이션 실행 환경을 설정하는 단계, 상기 사용자 단말 에이전트를 통해 상기 가상 머신에 상기 사용자 단말 에이전트와 독립적으로 동작될 수 있는 어플리케이션을 실행하는 단계 및 상기 실행된 어플리케이션이 상기 어플리케이션 실행 환경을 접근하여 상기 사용자 단말 에이전트와 상기 가상 머신 간의 통신 채널을 모니터링하는 것을 허용하는 단계를 포함한다.The cloud computing method is performed in a cloud computing server that can be connected to a user terminal providing an operating environment of the user terminal agent. The cloud computing method includes the steps of determining a virtual machine corresponding to the user terminal agent, setting an application execution environment in the virtual machine, and operating the virtual machine independently of the user terminal agent through the user terminal agent And allowing the executed application to access the application execution environment to monitor a communication channel between the user terminal agent and the virtual machine.

Description

클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 서버 및 이를 저장하는 기록매체{CLOUD COMPUTING METHOD, CLOULD COMPUTING SERVER PERFORMING THE SAME AND STORAGE MEDIA STORING THE SAME} TECHNICAL FIELD [0001] The present invention relates to a cloud computing method, a cloud computing server, and a recording medium storing the same. Technical Field [0001] The present invention relates to a cloud computing method,

본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 보다 상세하게는, 가상 머신에서 동작되는 어플리케이션이 보안 장비 유무에 관계없이 통신 채널을 모니터링하는 것을 지원할 수 있는 클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 장치 및 이를 저장하는 기록매체에 관한 것이다.
The present invention relates to a cloud computing technology, and more particularly, to a cloud computing method capable of supporting an application operated in a virtual machine to monitor a communication channel regardless of whether or not there is a security appliance, and a cloud computing device To a recording medium.

일반적으로, 클라우드 컴퓨팅 기술은 인터넷을 이용한 정보기술 자원의 주문형 아웃소싱 서비스를 제공할 수 있고, 클라우드(cloud)는 인터넷을 통해 접근될 수 있는 서버로서, 데이터 저장과 처리, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한번에 제공할 수 있다. 보다 구체적으로, 클라우드 컴퓨팅 기술은 복수의 데이터센터들을 가상화 기술로 통합하고 사용자에게 특정 소프트웨어, 보안 솔루션, 컴퓨팅 능력을 온디맨드 방식으로 제공하여 사용자가 PC, 휴대폰, PDA 등 다양한 단말기를 통해 접속할 수 있도록 할 수 있다. In general, cloud computing technology can provide on-demand outsourcing services of information technology resources using the Internet. The cloud is a server that can be accessed through the Internet. It is used for data storage, processing, network, Service can be provided at once. More specifically, cloud computing technology integrates multiple data centers into a virtualization technology and provides users with specific software, security solutions, and computing capabilities in an on-demand manner, enabling users to access through various terminals such as PCs, mobile phones, PDAs can do.

한국공개특허 제10-2011-0040604호는 제한된 자원을 가지는 사용자 단말이 클라우드 컴퓨팅 서버의 클라우드 컴퓨팅 서비스를 이용하여 이종의 디바이스들을 자유롭게 이용할 수 있도록 하는 클라우드 컴퓨팅 시스템을 개시한다. 이러한 클라우드 컴퓨팅 서버는 사용자 단말로부터 수신되는 검색 정보를 이용하여 디바이스에 대한 가상 디바이스 드라이버를 검색하고, 검색된 가상 디바이스 드라이버를 설치하여 사용자 단말이 디바이스를 제어할 수 있게 할 수 있다. Korean Patent Laid-Open No. 10-2011-0040604 discloses a cloud computing system in which a user terminal having limited resources can freely use heterogeneous devices using a cloud computing service of a cloud computing server. The cloud computing server may search the virtual device driver for the device using the search information received from the user terminal, and install the searched virtual device driver so that the user terminal can control the device.

한국등록특허 제10-1285200호는 클라우드 컴퓨팅을 이용한 IPTV 서비스 제공 방법과 그를 위한 시스템 및 장치를 개시한다. 이러한 클라우드 컴퓨팅 방법은 IPTV 서비스 오버레이를 기반으로 클라우드 컴퓨팅 환경에 IPTV 사용자가 원하는 IPTV 컨텐츠를 저장하도록 하고 이를 공유하도록 할 수 있다.Korean Patent No. 10-1285200 discloses a method for providing an IPTV service using cloud computing and a system and an apparatus therefor. Such a cloud computing method can allow IPTV users to store and share desired IPTV contents in a cloud computing environment based on an IPTV service overlay.

이러한 선행기술들은 사용자 단말이 클라우드 컴퓨팅 서버에 접속하여 사용자가 원하는 디바이스를 제어 하거나 사용자가 원하는 컨텐츠를 클라우드 컴퓨팅 서버에 저장 및 공유하는 것으로 사용자 단말과 클라우드 컴퓨팅 서버의 연결이 끊어지더라도 재연결을 통해서 사용자가 원하는 작업을 수행 할 수 있지만, 클라우드 컴퓨팅 서버에서 사용자 단말과 독자적으로 실행되고 사용자 단말과의 지속적인 통신 연결이 필요한 어플리케이션이 실행 되고 있는 경우, 사용자 단말과 클라우드 컴퓨팅 서버의 연결이 끊어지면 사용자 단말이 어플리케이션을 제어하지 못하고 어플리케이션만 독자적으로 실행되는 문제점이 있다. 결국, 클라우드 컴퓨팅 서버에서 사용자 단말과 독자적으로 수행되고 사용자 단말과 지속적인 통신 연결이 필요한 어플리케이션이 사용자 단말과 클라우드 컴퓨팅 서버의 연결 상태를 확인할 수 없고 연결 상태에 따라 어플리케이션의 실행이 제어될 수 없다는 문제점이 있다.
These prior art technologies allow a user terminal to access a cloud computing server to control a device desired by the user or to store and share content desired by a user in a cloud computing server. Even if the user terminal and the cloud computing server are disconnected, However, when an application that is independently executed by the user terminal and is required to continuously establish a communication connection with the user terminal is being executed in the cloud computing server, if the connection between the user terminal and the cloud computing server is broken, There is a problem that the application can not be controlled and the application alone is executed. As a result, there is a problem in that an application which is performed independently from the user terminal in the cloud computing server and which requires continuous communication connection with the user terminal can not check the connection state between the user terminal and the cloud computing server and the execution of the application can not be controlled according to the connection state have.

한국공개특허 제10-2011-0040604호Korean Patent Publication No. 10-2011-0040604 한국등록특허 제10-1285200Korean Patent No. 10-1285200

본 발명의 일 실시예는 가상 머신에서 동작되는 어플리케이션이 보안 장비 유무에 관계없이 통신 채널을 모니터링하는 것을 지원할 수 있는 클라우드 컴퓨팅 방법을 제공하고자 한다.An embodiment of the present invention is to provide a cloud computing method capable of supporting an application operated in a virtual machine to monitor a communication channel regardless of whether or not there is a security device.

본 발명의 일 실시예는 사용자 단말 에이전트와 가상 머신 에이전트를 연결하는 통신채널을 설정하여 가상 머신에서 실행되는 어플리케이션이 사용자 단말과 가상 머신의 연결 여부를 확인할 수 있는 클라우드 컴퓨팅 방법을 제공하고자 한다.An embodiment of the present invention is to provide a cloud computing method in which a communication channel connecting a user terminal agent and a virtual machine agent is set up and an application running in a virtual machine can confirm whether or not a user terminal and a virtual machine are connected.

본 발명의 일 실시예는 가상 머신 에이전트에 의하여 접근될 수 있는 모니터링에 파일에 관한 레지스트리를 설정하여 어플리케이션이 모니터링 정보를 얻을 수 있는 클라우드 컴퓨팅 방법을 제공하고자 한다.An embodiment of the present invention is to provide a cloud computing method in which an application can obtain monitoring information by setting a registry related to a file in monitoring that can be accessed by a virtual machine agent.

본 발명의 일 실시예는 통신 채널이 끊긴 경우 어플리케이션의 설정 사항에 따라 어플리케이션의 계속 수행, 일시 정지, 중단 또는 통신 채널 복구 시도를 통하여 가상 머신의 어플리케이션을 제어할 수 있는 클라우드 컴퓨팅 방법을 제공하고자 한다.
An embodiment of the present invention is to provide a cloud computing method capable of controlling an application of a virtual machine through an attempt to continue, pause, stop, or recover a communication channel of an application according to a setting of an application when a communication channel is disconnected .

실시예들 중에서, 클라우드 컴퓨팅 방법은 사용자 단말 에이전트의 동작 환경을 제공하는 사용자 단말과 연결될 수 있는 클라우드 컴퓨팅 서버에서 수행된다. 상기 클라우드 컴퓨팅 방법은 상기 사용자 단말 에이전트에 대응하는 가상 머신을 결정하는 단계, 상기 가상 머신에 어플리케이션 실행 환경을 설정하는 단계, 상기 사용자 단말 에이전트를 통해 상기 가상 머신에 상기 사용자 단말 에이전트와 독립적으로 동작될 수 있는 어플리케이션을 실행하는 단계 및 상기 실행된 어플리케이션이 상기 어플리케이션 실행 환경을 접근하여 상기 사용자 단말 에이전트와 상기 가상 머신 간의 통신 채널을 모니터링하는 것을 허용하는 단계를 포함한다.Among the embodiments, the cloud computing method is performed in a cloud computing server that can be connected to a user terminal providing an operating environment of the user terminal agent. The cloud computing method includes the steps of determining a virtual machine corresponding to the user terminal agent, setting an application execution environment in the virtual machine, and operating the virtual machine independently of the user terminal agent through the user terminal agent And allowing the executed application to access the application execution environment to monitor a communication channel between the user terminal agent and the virtual machine.

일 실시예에서, 상기 사용자 단말 에이전트에 대응하는 가상 머신을 결정하는 단계는 상기 사용자 단말 에이전트와 이미 연관된 가상 머신이 있는지 여부를 체크하는 단계 및 상기 연관된 가상 머신이 이미 존재하지 않으면 새로운 가상 머신과 가상 머신 에이전트를 생성하는 단계를 포함할 수 있다.In one embodiment, the step of determining a virtual machine corresponding to the user terminal agent comprises the steps of checking whether there is a virtual machine already associated with the user terminal agent, and if the associated virtual machine does not already exist, And creating a machine agent.

일 실시예에서, 상기 사용자 단말 에이전트에 대응하는 가상 머신을 결정하는 단계는 상기 가상 머신 에이전트와 상기 사용자 단말 에이전트에 의해 형성되고 상기 사용자 단말의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있는 통신 채널을 설정하는 단계를 더 포함할 수 있다.In one embodiment, the step of determining a virtual machine corresponding to the user terminal agent comprises the steps of: communicating with the virtual machine agent a communication channel, which is formed by the virtual machine agent and the user terminal agent and capable of transmitting display information independent of the computing architecture of the user terminal And a step of setting the display size of the display device.

일 실시예에서, 상기 통신 채널은 상기 사용자 단말 에이전트의 설정에 따라 하트비트 트래픽 전용 채널을 포함하는 멀티 트래픽 채널에 해당할 수 있다.In one embodiment, the communication channel may correspond to a multi-traffic channel including a heartbeat traffic dedicated channel according to the setting of the user terminal agent.

일 실시예에서, 상기 가상 머신에 어플리케이션 실행 환경을 설정하는 단계는 가상 머신 에이전트에 의하여 기록되고 상기 어플리케이션에게 제공될 수 있는 상기 통신 채널에 대한 모니터링 정보를 포함하는 모니터링 파일에 관한 레지스트리를 설정하는 단계를 포함할 수 있다.In one embodiment, the step of setting an application execution environment in the virtual machine includes setting a registry for a monitoring file that includes monitoring information for the communication channel that is recorded by the virtual machine agent and can be provided to the application . ≪ / RTI >

일 실시예에서, 상기 가상 머신에 어플리케이션 실행 환경을 설정하는 단계는 상기 어플리케이션이 상기 레지스트리를 통해 상기 통신 채널의 모니터링 조건을 설정하는 것을 허용하는 단계를 더 포함할 수 있다.In one embodiment, the step of setting an application execution environment in the virtual machine may further include allowing the application to set the monitoring condition of the communication channel through the registry.

일 실시예에서, 상기 사용자 단말 에이전트와 독립적으로 동작될 수 있는 어플리케이션을 실행하는 단계는 상기 어플리케이션이 상기 통신 채널의 모니터링을 요구한 상태에서 상기 통신 채널의 연결이 끊긴 경우에는 가상 머신 에이전트가 상기 실행된 어플리케이션을 일시중지 하도록 제어하는 단계를 포함할 수 있다.In one embodiment, the step of executing an application that can be operated independently of the user terminal agent may include the step of, when the communication channel is disconnected while the application requests monitoring of the communication channel, And suspending the application that has been paused.

일 실시예에서, 상기 통신 채널을 모니터링하는 것을 허용하는 단계는 상기 실행된 어플리케이션이 가상 머신 에이전트와 미리 약속된 레지스트리를 읽는 단계 및 상기 읽은 레지스트리를 기초로 모니터링 파일을 검출하는 단계를 포함할 수 있다.In one embodiment, allowing to monitor the communication channel may include reading the pre-agreed registry with the virtual machine agent, and detecting the monitoring file based on the read registry .

일 실시예에서, 상기 모니터링 파일은 상기 가상 머신에 종속적이고 상기 레지스트리의 특정 섹션 또는 상기 가상 머신에 의해 접근되는 메모리에 저장될 수 있다.In one embodiment, the monitoring file is dependent on the virtual machine and may be stored in a particular section of the registry or in a memory accessed by the virtual machine.

일 실시예에서, 상기 통신 채널을 모니터링하는 것을 허용하는 단계는 상기 어플리케이션이 상기 검출된 모니터링 파일을 주기적으로 읽어서 상기 통신 채널의 모니터링 정보를 가져가는 것을 허용하는 단계를 더 포함할 수 있다.In one embodiment, allowing to monitor the communication channel may further comprise allowing the application to periodically read the detected monitoring file to take monitoring information of the communication channel.

일 실시예에서, 상기 실행된 어플리케이션에 의한 모니터링을 통해 상기 통신 채널이 끊긴 것이 검출되면 상기 어플리케이션 실행 환경에 따라 상기 어플리케이션을 제어하고 상기 사용자 단말 에이전트와의 재연결을 특정 시간 동안 시도하는 단계를 더 포함할 수 있다.In one embodiment, when the disconnection of the communication channel is detected through monitoring by the executed application, the step of controlling the application according to the application execution environment and attempting reconnection with the user terminal agent for a specific time .

실시예들 중에서, 클라우드 컴퓨팅 서버는 사용자 단말 에이전트의 동작 환경을 제공하는 사용자 단말과 연결될 수 있다. 상기 클라우드 컴퓨팅 서버는 상기 사용자 단말 에이전트에 대응하는 가상 머신을 결정하는 가상 머신 결정부, 상기 가상 머신에 어플리케이션 실행 환경을 설정하고, 상기 사용자 단말 에이전트를 통해 상기 가상 머신에 상기 사용자 단말 에이전트와 독립적으로 동작될 수 있는 어플리케이션을 실행하며, 상기 실행된 어플리케이션이 상기 어플리케이션 실행 환경을 접근하여 상기 사용자 단말 에이전트와 상기 가상 머신 간의 통신 채널을 모니터링하는 것을 허용하는 가상 머신 에이전트를 실행하는 가상 머신 에이전트부를 포함할 수 있다.In embodiments, the cloud computing server may be coupled to a user terminal that provides an operating environment for the user terminal agent. Wherein the cloud computing server comprises a virtual machine determining unit for determining a virtual machine corresponding to the user terminal agent, an application execution environment setting unit for setting an application execution environment for the virtual machine, And a virtual machine agent unit that executes a virtual machine agent that permits the executed application to access the application execution environment and monitor a communication channel between the user terminal agent and the virtual machine, .

일 실시예에서, 상기 가상 머신 결정부는 상기 사용자 단말의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있는 통신 채널을 설정할 수 있다. In one embodiment, the virtual machine determination unit may set a communication channel capable of transmitting display information independent of the computing architecture of the user terminal.

일 실시예에서, 상기 가상 머신 결정부는 상기 사용자 단말 에이전트와 이미 연관된 가상 머신이 있는지 여부를 체크하고, 상기 연관된 가상 머신이 이미 존재하지 않으면 새로운 가상 머신과 가상 머신 에이전트(상기 가상 머신 에이전트는 상기 사용자 단말 에이전트와 상기 통신 채널을 형성함)를 생성할 수 있다.In one embodiment, the virtual machine determination unit checks whether there is a virtual machine already associated with the user terminal agent, and if the associated virtual machine does not already exist, a new virtual machine and a virtual machine agent To form the communication channel with the terminal agent).

일 실시예에서, 상기 사용자 단말 에이전트의 설정에 따라 하트비트 트래픽 전용 채널을 포함하는 멀티 트래픽 채널에 해당하는 채널을 설정할 수 있다.In one embodiment, a channel corresponding to a multi-traffic channel including a heartbeat traffic dedicated channel may be set according to the setting of the user terminal agent.

일 실시예에서, 상기 가상 머신 에이전트부는 가상 머신 에이전트에 의하여 기록되고 상기 어플리케이션에게 제공될 수 있는 상기 통신 채널에 대한 모니터링 정보를 포함하는 모니터링 파일에 관한 레지스트리를 설정할 수 있다. In one embodiment, the virtual machine agent portion may set a registry for a monitoring file that includes monitoring information for the communication channel that is recorded by the virtual machine agent and can be provided to the application.

일 실시예에서, 상기 가상 머신 에이전트부는 상기 어플리케이션이 상기 통신 채널의 모니터링을 요구한 상태에서 상기 통신 채널의 연결이 끊긴 경우에는 가상 머신 에이전트가 상기 실행된 어플리케이션을 일시중지하도록 제어할 수 있다.In one embodiment, the virtual machine agent unit may control the virtual machine agent to suspend the executed application when the communication channel is disconnected while the application requests monitoring of the communication channel.

일 실시예에서, 상기 가상 머신 에이전트부는 상기 실행된 어플리케이션이 가상 머신 에이전트와 미리 약속된 레지스트리를 읽고, 상기 읽은 레지스트리를 기초로 모니터링 파일을 검출할 수 있다. In one embodiment, the virtual machine agent unit may read the registry that the executed application has previously agreed with the virtual machine agent, and may detect the monitoring file based on the read registry.

일 실시예에서, 상기 가상 머신 에이전트부는 상기 실행된 어플리케이션에 의한 모니터링을 통해 상기 통신 채널이 끊긴 것이 검출되면 상기 실행된 어플리케이션이 상기 가상 머신 에이전트를 통해 상기 사용자 단말 에이전트에게 상기 통신 채널을 복구하도록 요청할 수 있다.In one embodiment, the virtual machine agent unit may request the user agent agent to recover the communication channel through the virtual machine agent when the communication channel is disconnected through monitoring by the executed application .

실시예들 중에서, 사용자 단말 에이전트의 동작 환경을 제공하는 사용자 단말과 연결될 수 있는 클라우드 컴퓨팅 서버에서 수행되는 클라우드 컴퓨팅 방법에 관한 컴퓨터 프로그램을 기록한 기록매체는 상기 사용자 단말 에이전트에 대응하는 가상 머신을 결정하는 단계, 상기 가상 머신에 어플리케이션 실행 환경을 설정하는 단계, 상기 사용자 단말 에이전트를 통해 상기 가상 머신에 상기 사용자 단말 에이전트와 독립적으로 동작될 수 있는 어플리케이션을 실행하는 단계 및 상기 실행된 어플리케이션이 상기 어플리케이션 실행 환경을 접근하여 상기 사용자 단말 에이전트와 상기 가상 머신 간의 통신 채널을 모니터링하는 것을 허용하는 단계를 포함하는 클라우드 컴퓨팅 방법에 관한 컴퓨터 프로그램을 기록한다.
Among the embodiments, a recording medium on which a computer program for a cloud computing method performed in a cloud computing server that can be connected to a user terminal providing an operating environment of a user terminal agent, determines a virtual machine corresponding to the user terminal agent The method comprising the steps of: setting an application execution environment in the virtual machine; executing an application that can be operated independently of the user terminal agent in the virtual machine via the user terminal agent; And allowing the user terminal agent to monitor the communication channel between the user terminal agent and the virtual machine.

본 발명의 일 실시예에 따른 클라우드 컴퓨팅 방법은 사용자 단말에 대응하는 가상 머신을 결정하여 사용자 단말 에이전트와 가상 머신 에이전트를 연결하는 통신채널을 설정하여 사용자 단말과 가상 머신의 연결 여부를 확인할 수 있다.The cloud computing method according to an embodiment of the present invention determines a virtual machine corresponding to a user terminal, and establishes a communication channel connecting the user terminal agent and the virtual machine agent, thereby confirming whether or not the user terminal is connected to the virtual machine.

본 발명의 일 실시예에 따른 클라우드 컴퓨팅 방법은 가상 머신 에이전트에서 접근 할 수 있는 모니터링에 파일에 관한 레지스트리를 설정하여 어플리케이션이 모니터링 정보를 얻을 수 있다.In the cloud computing method according to an embodiment of the present invention, a registry related to a file can be set in monitoring that can be accessed by a virtual machine agent, and an application can obtain monitoring information.

본 발명의 일 실시예에 따른 클라우드 컴퓨팅 방법은 통신 채널이 끊긴 경우 어플리케이션의 설정사항에 따라 어플리케이션의 계속 수행, 일시 정지, 중단 또는 통신 채널 복구 시도를 통하여 가상 머신의 어플리케이션을 제어할 수 있다.
The cloud computing method according to an embodiment of the present invention can control an application of a virtual machine through an attempt to continuously perform, pause, stop, or recover a communication channel according to a setting of an application when a communication channel is disconnected.

도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 시스템을 설명하는 블록도이다
도 2는 도 1에 있는 클라우드 컴퓨팅 시스템이 동작하는 과정을 설명하는 블록도 이다.
도 3은 도 1에 있는 클라우드 컴퓨팅 서버를 설명하는 블록도이다.
도 4는 도 3에 있는 클라우드 컴퓨팅 서버에서 수행되는 통신 채널 모니터링 과정을 설명하는 순서도이다.
도 5는 도 4에 있는 클라우드 컴퓨팅 서버에서 수행되는 통신 채널 모니터링 과정을 보다 구체적으로 설명하는 순서도이다.
1 is a block diagram illustrating a cloud computing system according to an embodiment of the present invention
2 is a block diagram illustrating a process of operating the cloud computing system of FIG.
3 is a block diagram illustrating the cloud computing server of FIG.
4 is a flowchart illustrating a communication channel monitoring process performed by the cloud computing server shown in FIG.
FIG. 5 is a flowchart illustrating a communication channel monitoring process performed by the cloud computing server shown in FIG. 4 in more detail.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all kinds of recording devices for storing data that can be read by a computer system . Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and also implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.

도 1은 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 시스템을 설명하는 블록도이다.1 is a block diagram illustrating a cloud computing system according to an embodiment of the present invention.

도 1을 참조하면, 클라우드 컴퓨팅 시스템(100)은 사용자 단말(110), 보안 장비(120) 및 클라우드 컴퓨팅 서버(130)를 포함한다. 여기에서, 사용자 단말(110)은 네트워크(예를 들어, 인터넷)를 통해 보안 장비(120)를 거친 후 클라우드 컴퓨팅 서버(130)와 연결된다.Referring to FIG. 1, a cloud computing system 100 includes a user terminal 110, security equipment 120, and a cloud computing server 130. Here, the user terminal 110 is connected to the cloud computing server 130 after passing through the security device 120 through a network (e.g., the Internet).

사용자 단말(110)은 클라우드 컴퓨팅 서버 (130)와 연동하여 어플리케이션을 실행할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 사용자 단말(110)은 데스크톱(Desktop), 노트북(Laptop), 스마트 폰(Smart phone) 또는 태블릿 PC(Tablet Personal Computer)에 해당할 수 있다. 사용자 단말(110)은 어플리케이션 실행 이전 또는 동시에 사용자 단말 에이전트(210)를 실행시킬 수 있고, 가상 머신 에이전트(230)를 통해 클라우드 컴퓨팅 서버(130)와 연동할 수 있다.The user terminal 110 may correspond to a computing device capable of executing an application in cooperation with the cloud computing server 130. [ For example, the user terminal 110 may correspond to a desktop, a laptop, a smart phone, or a tablet personal computer. The user terminal 110 may execute the user terminal agent 210 before or simultaneously with execution of the application, and may interwork with the cloud computing server 130 through the virtual machine agent 230.

보안 장비(120)는 사용자 단말(110)이 클라우드 컴퓨팅 서버(130)와 연동하는 과정에서 필요한 물리적인 네트워크 장치에 해당할 수 있다. 예를 들어, 보안 장비(120)는 방화벽에 해당할 수 있고, 방화벽은 외부의 비정상적이고 불법적인 접근으로부터 내부 네트워크의 정보자산을 보호하고 각종 유해 정보의 유입을 차단할 수 있다. 보안 장비(120)는 외부 네트워크(즉, 사용자 단말 측)와 내부 네트워크(즉, 클라우드 컴퓨팅 서버 측) 사이에서 데이터의 송수신을 허용하거나 또는 차단할 수 있다. 보다 구체적으로, 보안 장비(120)는 사용자 단말(110)과 클라우드 컴퓨팅 서버(130)에서 수행되는 어플리케이션들 간의 직접적인 통신을 차단할 수 있다.The security device 120 may correspond to a physical network device necessary for the user terminal 110 to interact with the cloud computing server 130. For example, the security device 120 may correspond to a firewall, and the firewall may protect the information assets of the internal network from an abnormal and unauthorized access from the outside, and may block the inflow of various harmful information. The security appliance 120 may allow or block transmission of data between the external network (i.e., the user terminal side) and the internal network (i.e., the cloud computing server side). More specifically, the security device 120 may block direct communication between the user terminal 110 and applications executed in the cloud computing server 130. [

클라우드 컴퓨팅 서버(130)는 사용자 단말(110)과 연동하여 특정 작업을 실행할 수 있는 컴퓨팅 장치에 해당할 수 있고, 특정 작업은 사용자 단말(110)에 의해 제어되는 프로세스에 해당할 수 있다. 클라우드 컴퓨팅 서버(130)는 사용자 단말(110)에 대응하는 적어도 하나의 가상 머신(142)을 포함하는 가상 머신 풀(140)을 관리한다. 일 실시예에서, 가상 머신(142)은 사용자 단말(110)과 일대일 대응할 수 있다. 다른 일 실시예에서, 가상 머신(142)은 사용자 단말(110)에 있는 어플리케이션과 일대일 대응할 수 있고, 이러한 경우 사용자 단말(110)은 복수의 가상 머신(142)들과 동시에 연동할 수 있다.
The cloud computing server 130 may correspond to a computing device that can perform a specific task in conjunction with the user terminal 110, and a specific task may correspond to a process controlled by the user terminal 110. The cloud computing server 130 manages a virtual machine pool 140 that includes at least one virtual machine 142 that corresponds to a user terminal 110. In one embodiment, the virtual machine 142 may correspond one-to-one with the user terminal 110. In another embodiment, the virtual machine 142 may correspond one-to-one with an application at the user terminal 110, in which case the user terminal 110 may cooperate with the plurality of virtual machines 142 at the same time.

도 2는 도 1에 있는 클라우드 컴퓨팅 시스템이 동작하는 과정을 설명하는 블록도 이다.2 is a block diagram illustrating a process of operating the cloud computing system of FIG.

우선, 도 2에서, 사용자 단말(110)의 동작 과정을 설명한다.2, an operation process of the user terminal 110 will be described.

사용자 단말(110)은 클라우드 컴퓨팅 서버(130)와 연동할 어플리케이션을 실행하기 이전에 또는 동시에 사용자 단말 에이전트(210)를 실행시킬 수 있다. 여기에서, 사용자 단말 에이전트(210)는 사용자 단말(110)에서 동작되는 프로세스에 해당할 수 있고, 사용자 단말(110)을 모니터링하거나 또는 가상 머신(142)과 연동하여 사용자 단말(110)에 있는 어플리케이션을 제어할 수 있다.The user terminal 110 may execute the user terminal agent 210 before or concurrently with execution of an application to be associated with the cloud computing server 130. The user terminal agent 210 may correspond to a process running on the user terminal 110 and may monitor the user terminal 110 or may operate in conjunction with the virtual machine 142, Can be controlled.

일 실시예에서, 사용자 단말 에이전트(210)는 클라우드 컴퓨팅 서버(130)의 보안을 위해 사용자 단말(110)과 가상 머신(142) 사이에 있는 보안 장비(120)를 고려하여 설계될 수 있다. 예를 들어, 사용자 단말 에이전트(210)는 보안 장비(120)가 클라우드 컴퓨팅 서버(130)에서 생성되는 가상 머신(142)과 직접적인 통신 수행을 불가능하게 할 수 있기 때문에 보안 장비(120)의 제약 또는 규약을 수용하여 설계될 수 있다. 즉, 사용자 단말 에이전트(210)는 보안 장비(120)와 사전에 약속된 제약 또는 규약을 따라 클라우드 컴퓨팅 서버(130)를 접근하여 사용자 단말 에이전트(210)와 가상 머신(142) 간의 통신을 수행할 수 있다.In one embodiment, the user terminal agent 210 may be designed with security appliance 120 in between the user terminal 110 and the virtual machine 142 for security of the cloud computing server 130. For example, the user terminal agent 210 may be a constraint of the security appliance 120 because the security appliance 120 may disable direct communication with the virtual machine 142 created in the cloud computing server 130, It can be designed to accommodate the protocol. That is, the user terminal agent 210 accesses the cloud computing server 130 according to a predetermined constraint or protocol with the security appliance 120 to perform communication between the user terminal agent 210 and the virtual machine 142 .

다음으로, 도 2에서, 클라우드 컴퓨팅 서버(130)의 동작 과정을 설명한다.Next, an operation process of the cloud computing server 130 will be described with reference to FIG.

클라우드 컴퓨팅 서버(130)는 네트워크를 통해 사용자 단말 에이전트(210)와 연결될 수 있는 가상 머신 풀(140)을 관리한다. 여기에서, 가상 머신 풀(140)은 적어도 하나의 가상 머신(142)을 포함하고, 가상 머신(142)은 사용자 단말(110)과 독립적으로 동작될 수 있는 어플리케이션(240) 환경을 제공하고 사용자 단말 에이전트(210)의 요청에 따라 새로 생성되거나, 다시 연결되거나 또는 소멸될 수 있다. 즉, 가상 머신(142)은 사용자 단말 에이전트(210)와 연결이 끊기더라도 어플리케이션(240) 특성 또는 가상 머신 설정 사항에 따라 소멸되지 않고 계속하여 어플리케이션(240)의 실행을 진행할 수 있다.The cloud computing server 130 manages the virtual machine pool 140 that can be connected to the user terminal agent 210 via the network. Herein, the virtual machine pool 140 includes at least one virtual machine 142, and the virtual machine 142 provides an environment 240 of the application 240 that can be operated independently of the user terminal 110, May be newly created, reconnected, or destroyed at the request of the agent 210. That is, even if the virtual machine 142 is disconnected from the user terminal agent 210, the virtual machine 142 can continue execution of the application 240 without being destroyed according to the property of the application 240 or the configuration of the virtual machine.

가상 머신(142)은 가상 머신 에이전트(230)를 생성하고, 가상 머신 에이전트(230)는 가상 머신(142)과 사용자 단말(110) 간에 필요한 데이터나 제어 신호를 전송하는 것이다. 여기에서, 가상 머신 에이전트(230)는 가상 머신(142)에서 동작되는 프로세스에 해당할 수 있고, 가상 머신(142)을 모니터링하거나 또는 사용자 단말(110)과 연동하여 가상 머신(142)에 있는 어플리케이션(240)을 제어할 수 있다. 가상 머신 에이전트(230)는 도 3을 참조하여 후술한다.The virtual machine 142 generates a virtual machine agent 230 and the virtual machine agent 230 transmits necessary data or control signals between the virtual machine 142 and the user terminal 110. Herein, the virtual machine agent 230 may correspond to a process operated in the virtual machine 142, and may monitor the virtual machine 142 or may operate in conjunction with the user terminal 110 to execute an application in the virtual machine 142 (240). The virtual machine agent 230 will be described later with reference to FIG.

마지막으로, 도 2에서, 통신 채널(220)의 생성 과정을 설명한다.Finally, in Fig. 2, a process of generating the communication channel 220 will be described.

사용자 단말 에이전트(210)와 가상 머신 에이전트(230)가 각각 실행되면 양자 간의 통신 채널(220)을 설정한다. 일 실시예에서, 사용자 단말 에이전트(210)는 클라우드 컴퓨팅 서버(130)의 네트워크 주소(예를 들어, IP 주소)를 통해 클라우드 컴퓨팅 서버(130)에 접근을 시도할 수 있다. 클라우드 컴퓨팅 서버(130)는 사용자 단말 에이전트(210)와 연관된 가상 머신(142)을 결정하고, 사용자 단말 에이전트(210)가 가상 머신(142)에 있는 가상 머신 에이전트(230)와 연동하도록 제어할 수 있다. 다른 일 실시예에서, 가상 머신 에이전트(230)는 사용자 단말 에이전트(210)의 요청에 따라 사용자 단말 에이전트(210)가 클라우드 컴퓨팅 서버(130)의 특정 네트워크 주소(예를 들어, IP 주소)를 통해 접근하는 것을 개방하고, 사용자 단말 에이전트(210)가 특정 네트워크 주소를 통해 가상 머신(142)에 있는 가상 머신 에이전트(230)와 연동하도록 제어할 수 있다.When the user terminal agent 210 and the virtual machine agent 230 are respectively executed, a communication channel 220 is established between them. In one embodiment, the user terminal agent 210 may attempt to access the cloud computing server 130 via the network address (e.g., IP address) of the cloud computing server 130. The cloud computing server 130 can determine the virtual machine 142 associated with the user terminal agent 210 and control the user terminal agent 210 to cooperate with the virtual machine agent 230 in the virtual machine 142 have. In another embodiment, the virtual machine agent 230 may communicate with the user terminal agent 210 via a specific network address (e.g., an IP address) of the cloud computing server 130, And can control the user terminal agent 210 to cooperate with the virtual machine agent 230 in the virtual machine 142 via a specific network address.

통신 채널(220)은 사용자 단말(110)의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있도록 설계될 수 있다. 예를 들어, 통신 채널(220)은 X11 프로토콜 또는 RDP 프로토콜을 통해 설정될 수 있다. 여기에서, 디스플레이 정보는 사용자 단말(110)을 통해 사용자가 얻을 수 있는 시각적인 정보이다.The communication channel 220 may be designed to transmit display information that is independent of the computing architecture of the user terminal 110. For example, the communication channel 220 may be established via the X11 protocol or the RDP protocol. Here, the display information is visual information that the user can obtain through the user terminal 110.

보다 구체적으로, 통신 채널(220)은 트래픽 채널에 부하를 주지 않고 하트비트용 신호만을 전송하는 하트비트 트래픽 전용 채널을 포함할 수 있다. 하트비트용 신호는 통신 채널(220)의 지속적인 점검을 위하여 사용될 수 있고, 가상 머신(142)과 사용자 단말(110) 간의 사전에 약속될 수 있다. 또한, 통신 채널(220)은 멀티 트래픽을 전송하는 단일 채널로 구현되거나 또는 전용 트래픽을 각각 전송하는 멀티 채널로 구현될 수 있다. 여기에서, 단일 채널은 멀티 트래픽을 시분할하여 전송하는데 사용될 수 있고, 가상 머신 에이전트(230)는 멀티 트래픽의 우선 순위를 기초로 시분할 구간을 결정할 수 있다. 멀티 채널은 전용 트래픽 각각을 독자적인 채널로 할당하고, 가상 머신 에이전트(230)는 전용 트래픽의 우선 순위를 결정할 수 있다.
More specifically, the communication channel 220 may include a heartbeat traffic dedicated channel that transmits only the signal for the heartbeat without loading the traffic channel. The signal for the heartbeat can be used for continuous checking of the communication channel 220 and can be promised in advance between the virtual machine 142 and the user terminal 110. [ Also, the communication channel 220 may be implemented as a single channel for transmitting multi-traffic or multi-channels for transmitting dedicated traffic. Here, a single channel can be used to transmit multi-traffic in a time-division manner, and the virtual machine agent 230 can determine a time-division interval based on the priority of multi-traffic. The multi-channel allocates each dedicated traffic to a unique channel, and the virtual machine agent 230 can determine the priority of the dedicated traffic.

도 3은 도 1에 있는 클라우드 컴퓨팅 서버를 설명하는 블록도이다.3 is a block diagram illustrating the cloud computing server of FIG.

도 3을 참조하면, 클라우드 컴퓨팅 서버(130)는 가상 머신 결정부(310), 가상 머신 에이전트부(320) 및 제어부(330)를 포함한다.Referring to FIG. 3, the cloud computing server 130 includes a virtual machine determination unit 310, a virtual machine agent unit 320, and a control unit 330.

가상 머신 결정부(310)는 사용자 단말 에이전트(210)로부터 접속이 시도되면 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정한다. 보다 구체적으로, 사용자 단말(110)이 사용자 단말 에이전트(210)를 통해 클라우드 컴퓨팅 서버(130)에 접근하면, 클라우드 컴퓨팅 서버(130)는 가상 머신(142)을 새로 생성할지 또는 기존에 있는 가상 머신(142)을 다시 연결할지 여부를 결정할 수 있다.The virtual machine determination unit 310 determines a virtual machine 142 corresponding to the user terminal agent 210 when a connection is attempted from the user terminal agent 210. [ More specifically, when the user terminal 110 accesses the cloud computing server 130 via the user terminal agent 210, the cloud computing server 130 determines whether to create a new virtual machine 142, Lt; RTI ID = 0.0 > 142 < / RTI >

이하, 가상 머신 결정부(310)가 가상 머신(142)을 새로 생성하는 과정을 설명한다.Hereinafter, a process of creating a new virtual machine 142 by the virtual machine determining unit 310 will be described.

가상 머신 결정부(310)는 사용자 단말(110)로부터 접속이 시도되면 사용자 단말 에이전트(210)로부터 사용자 단말(110)의 고유 식별자(예를 들어, IP 주소)를 획득한다. 가상 머신 결정부(310)는 사용자 단말(110)의 고유 식별자와 연관된 가상 머신(142)의 존재 여부를 검출하고, 사용자 단말(110)에 대응하는 이미 연관된 가상 머신(142)이 없는 경우 사용자 단말(110)에 대응하는 가상 머신(142)을 새로 생성한다. 가상 머신(142)은 사용자 단말(110)에 대응하는 가상 머신(142)이 새로 생성되는 경우 가상 머신 에이전트(230)를 생성하고 가상 머신 에이전트(230)와 사용자 단말 에이전트(210) 간의 통신 채널(220)을 설정한다. The virtual machine determination unit 310 obtains a unique identifier (e.g., an IP address) of the user terminal 110 from the user terminal agent 210 when a connection is attempted from the user terminal 110. [ The virtual machine determining unit 310 detects whether or not the virtual machine 142 associated with the unique identifier of the user terminal 110 is present and, if there is no corresponding virtual machine 142 corresponding to the user terminal 110, A new virtual machine 142 corresponding to the virtual machine 110 is newly created. The virtual machine 142 generates the virtual machine agent 230 when the virtual machine 142 corresponding to the user terminal 110 is newly created and transmits the communication channel between the virtual machine agent 230 and the user terminal agent 210 220 are set.

이하, 가상 머신 결정부(310)가 기존의 가상 머신(142)을 다시 연결하는 과정을 설명한다.Hereinafter, a process of reconnecting the existing virtual machine 142 to the virtual machine determination unit 310 will be described.

가상 머신 결정부(310)는 사용자 단말(110)로부터 서버 접속이 시도되면 사용자 단말 에이전트(210)로부터 사용자 단말(110)의 고유 식별자(예를 들어, IP 주소)를 획득한다. 가상 머신 결정부(310)는 사용자 단말(110)의 고유 식별자와 연관된 가상 머신(142)의 존재 여부를 검출하고, 사용자 단말(110)에 대응하는 이미 연관된 가상 머신(142)이 있는 경우 이미 연관된 가상 머신(142)을 다시 사용자 단말(110)에 연결한다. 가상 머신(142)은 사용자 단말(110)이 이미 연관된 가상 머신(142)과 연결되는 경우 이미 연관된 가상 머신의 가상 머신 에이전트(230)와 사용자 단말 에이전트(210) 간의 통신 채널(220)을 설정한다.The virtual machine determining unit 310 obtains a unique identifier (e.g., an IP address) of the user terminal 110 from the user terminal agent 210 when a server connection is attempted from the user terminal 110. [ The virtual machine determining unit 310 detects the presence or absence of the virtual machine 142 associated with the unique identifier of the user terminal 110 and determines whether there is an associated virtual machine 142 corresponding to the user terminal 110 And connects the virtual machine 142 to the user terminal 110 again. The virtual machine 142 establishes a communication channel 220 between the virtual machine agent 230 of the virtual machine and the user terminal agent 210 that is already associated when the user terminal 110 is connected to the associated virtual machine 142 .

가상 머신 에이전트부(320)는 어플리케이션 환경 설정 모듈(340), 어플리케이션 제어 모듈(350), 통신 채널 모니터링 모듈(360) 및 통신 채널 복구 모듈(370)을 포함한다.The virtual machine agent unit 320 includes an application environment setting module 340, an application control module 350, a communication channel monitoring module 360 and a communication channel restoring module 370.

어플리케이션 환경 설정 모듈(340)은 가상 머신(142)에 어플리케이션 실행 환경을 설정한다. 여기에서, 어플리케이션 실행 환경은 레지스트리에 저장되고 모니터링 파일 정보, 모니터링 조건 및 어플리케이션 수행 조건을 포함한다.The application environment setting module 340 sets an application execution environment in the virtual machine 142. Here, the application execution environment is stored in the registry and includes monitoring file information, monitoring conditions, and application execution conditions.

레지스트리는 가상 머신(142)의 생성 또는 동작 과정에서 어플리케이션 환경 설정 모듈(340)에 의하여 설정되고, 가상 머신(142)에 있는 어플리케이션이 모니터링 파일을 검출하고자 할 때 모니터링 파일의 위치를 제공하기 위하여 사용될 수 있다. 일 실시예에서, 레지스트리는 [식별자, 값] 쌍으로 설정될 수 있고, 예를 들어, 식별자는 [어플리케이션 실행 환경](예: appenv)에 해당할 수 있고 값은 [파일 경로](예: /appenv/time20140312)에 해당할 수 있다.The registry is set by the application environment setting module 340 during the creation or operation of the virtual machine 142 and is used to provide the location of the monitoring file when an application in the virtual machine 142 wants to detect the monitoring file . In one embodiment, the registry can be set to an [identifier, value] pair; for example, the identifier can correspond to an Application Execution Environment (e.g., appenv) appenv / time20140312).

어플리케이션 환경 설정 모듈(340)은 모니터링 파일에 관한 정보를 레지스트리에 설정할 수 있다. 모니터링 파일은 가상 머신 에이전트(230)에 의하여 기록되고 어플리케이션(240)에게 제공될 수 있는 통신 채널(220)에 대한 모니터링 정보를 포함한다. 모니터링 정보는 통신 채널(220)에 대한 모니터링을 통해 기록된 사용자 단말 에이전트(210)와 가상 머신 에이전트(230)간의 통신 상태를 포함한다. 여기에서, 통신 상태는 단순하게 정상 또는 비정상을 나타낼 수 있고, 정상 상태는 조금 더 자세하게 데이터 전송 대역폭을 함께 나타낼 수 있다.The application environment setting module 340 may set information on the monitoring file in the registry. The monitoring file includes monitoring information for the communication channel 220 that can be recorded by the virtual machine agent 230 and provided to the application 240. The monitoring information includes the communication state between the user terminal agent 210 and the virtual machine agent 230 recorded through monitoring on the communication channel 220. [ Here, the communication state may simply indicate a normal or abnormal state, and the normal state may indicate the data transmission bandwidth together in more detail.

일 실시예에서, 모니터링 파일은 가상 머신 에이전트(230)에 의하여 주기적으로 갱신될 수 있다. 또한, 일 실시예에서, 모니터링 파일은 공유 가능한 접근 권한을 가지는 파일로서 구현될 수 있다. 즉, 가상 머신(142)에 있는 어플리케이션은 모니터링 파일이 가상 머신 에이전트(230)에 의하여 오픈 되어 있더라도, 동시에 모니터링 파일을 읽을 수 있다.In one embodiment, the monitoring file may be periodically updated by the virtual machine agent 230. Also, in one embodiment, the monitoring file may be implemented as a file having shareable access rights. That is, an application in the virtual machine 142 can simultaneously read the monitoring file even if the monitoring file is opened by the virtual machine agent 230.

일 실시예에서, 모니터링 파일은 가상 머신(142) 각각에 대하여 종속적으로 생성될 수 있다. 즉, 모니터링 파일은 다른 가상 머신(142)에 있는 어플리케이션에 의하여 접근될 수 없고, 또한, 가상 머신(142)의 소멸 시에 가상 머신(142)에 의해 자동으로 삭제될 수 있다.In one embodiment, the monitoring file may be generated dependent on each of the virtual machines 142. That is, the monitoring file can not be accessed by an application in another virtual machine 142, and can also be automatically deleted by the virtual machine 142 at the expiration of the virtual machine 142.

어플리케이션 환경 설정 모듈(340)은 통신 채널(220)의 모니터링 조건을 레지스트리에 설정할 수 있다. 여기에서, 모니터링 조건은 모니터링 점검 주기, 모니터링 시간 제한을 포함할 수 있다. 모니터링 점검 주기는 가상 머신 에이전트(230)가 통신 채널(220)의 상태를 파악하는 주기를 나타내고, 모니터링 시간 제한은 통신 채널(220)의 일시적인 이상 발생시 어플리케이션의 계속적 실행을 보장하는 시간을 나타낸다. 예를 들어, 가상 머신 에이전트(230)는 모니터링 점검 주기가 30 초로 설정된 경우 통신 채널(220)의 상태를 30초마다 확인하고 모니터링 파일에 통신 채널(220)의 상태를 기록할 수 있다. 다른 예를 들어, 가상 머신 에이전트(230)는 모니터링 시간 제한이 120초로 설정된 경우 통신 채널(220)에 이상이 발생한 후로부터 최소한 120초 동안 가상 머신(142)의 어플리케이션(240)을 일시정지 또는 중지시키지 않고 계속하여 실행을 시도할 수 있다.The application environment setting module 340 may set the monitoring condition of the communication channel 220 in the registry. Here, the monitoring condition may include a monitoring check period and a monitoring time limit. The monitoring and checking period represents a period of time during which the virtual machine agent 230 grasps the state of the communication channel 220 and the monitoring time limit represents a time for ensuring continuous execution of the application when a temporary abnormality occurs in the communication channel 220. For example, the virtual machine agent 230 may check the status of the communication channel 220 every 30 seconds and record the status of the communication channel 220 in the monitoring file if the monitoring checking period is set to 30 seconds. The virtual machine agent 230 can pause or stop the application 240 of the virtual machine 142 for at least 120 seconds after an anomaly occurs in the communication channel 220 if the monitoring time limit is set to 120 seconds. You can try to execute without continuing.

어플리케이션 환경 설정 모듈(340)은 어플리케이션 수행 조건을 레지스트리에 설정할 수 있다. 어플리케이션 수행 조건은 통신 채널(220)에 이상이 발생한 경우 어플리케이션(240)의 수행 방식을 결정하는데 사용되고, 일 실시예에서, 어플리케이션 수행 조건은 계속적인 수행, 특정 시간 동안 수행, 통신 채널(240)의 사용이 필요할 때까지의 수행, 일시정지 또는 실행 중단을 포함할 수 있다.The application environment setting module 340 can set an application execution condition in the registry. The application execution condition is used to determine the execution mode of the application 240 when an error occurs in the communication channel 220. In one embodiment, And may include performing, pausing, or aborting execution until use is required.

예를 들어, 어플리케이션은 어플리케이션 수행 조건이 특정 시간 동안의 수행에 해당하면 통신 채널(220)의 이상을 확인한 시점부터 주어진 특정 시간 동안 수행되고, 통신 채널(220)이 복구되지 않으면 일시정지 또는 중단될 수 있다.For example, the application may be performed for a given time period from the time when the application execution condition corresponds to the execution for a specific time, from the time when the abnormality of the communication channel 220 is confirmed, and if the communication channel 220 is not recovered, .

다른 예를 들어, 어플리케이션(240)은 어플리케이션 수행 조건이 통신 채널(220)의 사용이 필요할 때까지의 수행에 해당하면 통신 채널(220)의 이상이 확인되더라도 통신 채널(240)의 사용이 필요하지 않은 경우에는 통신 채널(220)의 사용이 필요하지 않은 시점 까지 어플리케이션(240)이 실행 되고 통신 채널(220)의 사용이 필요하지 않은 시점이 끝날 때까지 통신 채널(220)이 복구되지 않으면 일시정지 또는 중단될 수 있다. 통신 채널(220)의 사용이 필요하지 않은 시점은 어플리케이션(240)이 실행 되는데에 사용자 단말(110)에의 접속이 필요 없고 어플리케이션(240) 독자적으로 실행되어도 무관한 시점이다.In another example, if the application execution condition corresponds to performing until the use of the communication channel 220 is required, the application 240 does not need to use the communication channel 240 even if an abnormality in the communication channel 220 is confirmed The application 240 is executed until the time when the use of the communication channel 220 is not required and the communication channel 220 is not recovered until the time point when the use of the communication channel 220 is not completed, Or may be interrupted. The point of time when the use of the communication channel 220 is not required is that the connection to the user terminal 110 is not required to execute the application 240 and the application 240 can be independently executed.

또 다른 예를 들어, 어플리케이션(240)은 어플리케이션 수행 조건이 일시정지 또는 중지에 해당하면 통신 채널(220)의 이상을 확인한 시점에 사용자 단말(110)과의 통신이 요구되는 경우 일시정지될 수 있다. 어플리케이션(240)이 일시정지된 상태에서 모니터링 시간 제한 동안 통신 채널(220)의 연결이 정상 상태로 돌아오지 않는 경우 어플리케이션(240)은 중단될 수 있다.For example, if the application execution condition is a pause or stop, the application 240 may be temporarily stopped when communication with the user terminal 110 is requested at a point of time when the abnormality of the communication channel 220 is confirmed . If the connection of the communication channel 220 does not return to a normal state during the monitoring time limit while the application 240 is paused, the application 240 may be stopped.

어플리케이션 제어 모듈(350)은 사용자 단말 에이전트(210)를 통해 가상 머신(142)에 사용자 단말 에이전트(210)와 독립적으로 동작 될 수 있는 어플리케이션(240)을 실행한다. 즉, 가상 머신(142)은 사용자 단말 에이전트(210)와의 연결과 무관하게 어플리케이션(240)의 특성 또는 가상 머신(142)의 설정 사항에 따라 어플리케이션(240)의 실행을 진행할 수 있다. 여기에서, 어플리케이션(240)의 특성은 어플리케이션 환경 설정 모듈(340)에 의하여 설정된 어플리케이션 수행 조건을 포함할 수 있다. 다만, 어플리케이션 제어 모듈(350)은 어플리케이션 수행 조건의 설정과 무관하게 어플리케이션(240)이 통신 채널(220)의 모니터링을 요구한 상태에서 통신 채널(220)의 연결이 끊긴 경우, 가상 머신 에이전트(230)가 어플리케이션(240)을 일시중지 하도록 제어할 수 있다.The application control module 350 executes the application 240 that can be operated independently of the user terminal agent 210 to the virtual machine 142 via the user terminal agent 210. [ That is, the virtual machine 142 can proceed with the execution of the application 240 according to the characteristics of the application 240 or the settings of the virtual machine 142 regardless of the connection with the user terminal agent 210. Here, the characteristics of the application 240 may include an application execution condition set by the application environment setting module 340. However, if the communication channel 220 is disconnected in a state in which the application 240 requests the monitoring of the communication channel 220 regardless of the application execution condition setting, the application control module 350 determines that the virtual machine agent 230 May suspend the application 240.

이하, 어플리케이션 제어 모듈(350)이 통신 채널(220)에 이상이 발생한 경우 어플리케이션(240)을 제어하는 과정을 설명한다.Hereinafter, a process of controlling the application 240 when the application control module 350 generates an error in the communication channel 220 will be described.

어플리케이션 제어 모듈(350)은 실행된 어플리케이션(240)에 의한 모니터링을 통해 통신 채널(220)이 끊긴 것이 검출되면 어플리케이션(240)을 계속 실행, 일시정지 또는 중단시킬 수 있다.The application control module 350 can continue to execute, pause, or stop the application 240 if it is detected that the communication channel 220 is disconnected through monitoring by the executed application 240. [

예를 들어, 통신 채널(220)이 끊긴 것이 검출되고 어플리케이션 수행 조건에 따라 어플리케이션(240)이 계속 실행되는 경우 어플리케이션은 사용자 단말과 무관하게 가상 머신(142)에서 독립적으로 계속 실행되면서 모니터링 조건에 따라 계속적으로 통신 채널(220)을 모니터링할 수 있다. 다른 예를 들어, 통신 채널(220)이 끊긴 것이 검출되고 어플리케이션 수행 조건에 따라 어플리케이션(240)이 일시정지된 경우 어플리케이션(240)은 계속 하여 통신 채널(220)을 모니터링하고 모니터링을 통해 통신 채널(220)이 복구되어 다시 연결된 것이 검출되면 일시정지되어 있던 어플리케이션(240)은 일시정지 시점부터 실행될 수 있다. 또 다른 예를 들어, 통신 채널(220)이 끊긴 것이 검출되고 어플리케이션 수행 조건에 따라 어플리케이션(240)이 중단된 경우 가상 머신 에이전트(230)에 의한 통신 채널(220) 연결 상태에 대한 모니터링 기록이 중단되고 어플리케이션에 의한 통신 채널(220) 모니터링도 중단될 수 있다. 또한, 사용자 단말에 의해 중단된 어플리케이션(240)이 다시 실행되는 경우 어플리케이션(240)은 처음부터 실행될 수 있다.For example, when the disconnection of the communication channel 220 is detected and the application 240 is continuously executed according to the application execution condition, the application is continuously executed independently in the virtual machine 142 regardless of the user terminal, The communication channel 220 can be continuously monitored. In another example, if the disconnection of the communication channel 220 is detected and the application 240 is paused according to the application enforcement conditions, the application 240 continues to monitor the communication channel 220 and monitor the communication channel 220 220 is restored and the connection is detected again, the application 240 that has been temporarily stopped can be executed from the time of the temporary stop. For example, if the disconnection of the communication channel 220 is detected and the application 240 is interrupted according to the application execution condition, the monitoring record of the connection state of the communication channel 220 by the virtual machine agent 230 is interrupted And monitoring of the communication channel 220 by the application may also be interrupted. In addition, the application 240 can be executed from the beginning when the application 240 interrupted by the user terminal is executed again.

통신 채널 모니터링 모듈(360)은 어플리케이션 실행 환경에 접근하여 모니터링 파일 정보 및 모니터링 조건을 검출하고, 모니터링 점검 주기에 따라 통신 채널(220)의 상태를 포함하는 모니터링 파일을 갱신한다. 결과적으로, 어플리케이션(240)은 어플리케이션 실행 환경에 접근하여 모니터링 파일 정보를 검출하고, 모니터링 파일을 읽어서 통신 채널(220)을 모니터링할 수 있다.The communication channel monitoring module 360 accesses the application execution environment, detects the monitoring file information and the monitoring condition, and updates the monitoring file including the state of the communication channel 220 according to the monitoring and checking period. As a result, the application 240 can access the application execution environment, detect the monitoring file information, read the monitoring file, and monitor the communication channel 220.

보다 구체적으로, 통신 채널 모니터링 모듈(360)은 가상 머신(142)에서 실행된 어플리케이션(240)이 모니터링 파일을 통해 통신 채널(220)을 모니터링하는 것을 허용할 수 있다. 일 실시예에서, 모니터링 파일은 레지스트리의 특정 섹션 내에 구현되거나 또는 가상 머신(142)에 의해 종속적으로 접근되는 메모리에 저장될 수 있다. More specifically, the communication channel monitoring module 360 may allow the application 240 running in the virtual machine 142 to monitor the communication channel 220 through the monitoring file. In one embodiment, the monitoring file may be stored in a memory that is implemented within a particular section of the registry, or is accessed by the virtual machine 142, depending upon it.

통신 채널 복구 모듈(370)은 통신 채널(220)에 이상이 발생한 경우 통신 채널(220)의 복구를 수행한다. 일 실시예에서, 통신 채널 복구 모듈(370)은 어플리케이션(240)에 의한 모니터링을 통해 통신 채널(220)이 끊긴 것이 검출되면 사용자 단말 에이전트(210)와의 재연결을 특정 시간 동안 시도할 수 있다.The communication channel recovery module 370 performs recovery of the communication channel 220 when an error occurs in the communication channel 220. In one embodiment, the communication channel recovery module 370 may attempt to reconnect with the user terminal agent 210 for a certain period of time when it is detected that the communication channel 220 is broken through monitoring by the application 240.

제어부(330)는 가상 머신 결정부(310) 및 가상 머신 에이전트부(320) 의 동작 및 데이터의 흐름을 제어한다.
The control unit 330 controls the operations of the virtual machine determination unit 310 and the virtual machine agent unit 320 and the flow of data.

도 4는 도 3에 있는 클라우드 컴퓨팅 서버에서 수행되는 통신 채널 모니터링 과정을 설명하는 순서도이다.4 is a flowchart illustrating a communication channel monitoring process performed by the cloud computing server shown in FIG.

가상 머신 결정부(310)는 사용자 단말 에이전트(210)에 대응하는 가상 머신을 결정한다(단계 S401). 보다 구체적으로, 가상 머신 결정부(310)는 사용자 단말 에이전트(210)가 수행하는 어플리케이션(240)에 따라서 상기 사용자 단말 에이전트(210)에 대응하는 클라우드 컴퓨팅 서버(130)의 적어도 하나의 가상 머신(142)을 결정한다. 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)이 결정되면 가상 머신(142)의 가상 머신 에이전트(230)는 사용자 단말 에이전트(210)와 연결 되어 통신 채널(220)을 형성한다.The virtual machine determination unit 310 determines a virtual machine corresponding to the user terminal agent 210 (step S401). The virtual machine determining unit 310 determines at least one virtual machine of the cloud computing server 130 corresponding to the user terminal agent 210 according to the application 240 performed by the user terminal agent 210 142). When the virtual machine 142 corresponding to the user terminal agent 210 is determined, the virtual machine agent 230 of the virtual machine 142 is connected to the user terminal agent 210 to form the communication channel 220.

어플리케이션 환경 설정 모듈(340)은 가상 머신(142)에 어플리케이션(240)의 실행환경을 설정한다(단계 S402). 여기에서, 어플리케이션 환경 설정 모듈(340)은 통신 채널(220)의 모니터링 파일에 관한 레지스트리를 설정하고 레지스트리를 통해서 모니터링 조건을 설정할 수 있다. The application environment setting module 340 sets the execution environment of the application 240 in the virtual machine 142 (step S402). Here, the application environment setting module 340 may set the registry of the monitoring file of the communication channel 220 and set the monitoring condition through the registry.

어플리케이션 제어 모듈(350)는 사용자 단말 에이전트(210)를 통해서 어플리케이션(240)을 실행한다(단계 S403). 여기에서, 어플리케이션(240)은 사용자 단말 에이전트(210)와 독립적으로 동작되고 어플리케이션(240)은 가상 머신(142)이 사용자 단말 에이전트(210)와 연결이 끊기더라도 어플리케이션(240) 특성 또는 가상 머신(142) 설정 사항에 따라 소멸되지 않고 계속하여 실행이 진행된다.The application control module 350 executes the application 240 through the user terminal agent 210 (step S403). Herein, the application 240 is operated independently of the user terminal agent 210 and the application 240 is able to operate the application 240 or the virtual machine 142 even if the virtual machine 142 is disconnected from the user terminal agent 210 142) Execution continues without extinguishing according to the setting.

통신 채널 모니터링 모듈(360)는 실행된 어플리케이션(240)이 어플리케이션 실행 환경에 접근하여 통신 채널(220)을 모니터링 한다(단계 S404). 보다 구체적으로, 어플리케이션(240)은 어플리케이션 환경 설정에 따라 가상 머신 에이전트(230)에 의하여 기록된 모니터링 파일을 레지스트리를 통해 검출하여 통신 채널(220)을 모니터링 한다.The communication channel monitoring module 360 accesses the application execution environment and monitors the communication channel 220 (step S404). More specifically, the application 240 monitors the communication channel 220 by detecting the monitoring file recorded by the virtual machine agent 230 through the registry according to the application environment setting.

도 5는 도 4에 있는 클라우드 컴퓨팅 서버에서 수행되는 통신 채널 모니터링 과정을 보다 구체적으로 설명하는 순서도이다.FIG. 5 is a flowchart illustrating a communication channel monitoring process performed by the cloud computing server shown in FIG. 4 in more detail.

가상 머신 결정부(310)는 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정하기 위해서 사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)이 있는지 여부를 확인한다(단계 S501).The virtual machine determination unit 310 determines whether there is a virtual machine 142 already associated with the user terminal agent 210 to determine the virtual machine 142 corresponding to the user terminal agent 210 (step S501) .

사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)이 있는 경우 이미 연관된 가상 머신(142)을 다시 사용자 단말(110)과 연결한다(단계 S502). 보다 구체적으로, 사용자 단말(110)의 사용자 단말 에이전트(210)는 이미 연관된 가상 머신(142)의 가상 머신 에이전트(230)와 연결되고 사용자 단말 에이전트(210)와 가상 머신 에이전트(230)의 연결을 통해 통신 채널(220)을 형성한다.If there is a virtual machine 142 already associated with the user terminal agent 210, the virtual machine 142 associated with the user terminal 110 is connected to the user terminal 110 again (step S502). More specifically, the user terminal agent 210 of the user terminal 110 is connected to the virtual machine agent 230 of the already associated virtual machine 142 and the connection of the user terminal agent 210 and the virtual machine agent 230 To form a communication channel 220.

사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)이 없는 경우 새로운 가상 머신(142)을 생성한다(단계 S503). 보다 구체적으로, 새로 생성된 가상 머신(142)이 가상 머신 에이전트(230)를 생성하고 생성된 가상 머신 에이전트(230)와 사용자 단말 에이전트(210)가 연결되어 통신 채널(220)을 형성한다.If there is no virtual machine 142 already associated with the user terminal agent 210, a new virtual machine 142 is created (step S503). More specifically, the newly created virtual machine 142 creates a virtual machine agent 230 and the created virtual machine agent 230 and the user terminal agent 210 are connected to form a communication channel 220.

어플리케이션 환경 설정 모듈(340)은 모니터링 파일에 관한 레지스트리를 설정한다(단계 S504). 어플리케이션(240)은 통신 채널(220)을 직접적으로 모니터링을 할 수 없으므로 어플리케이션(240)이 접근할 수 있는 레지스트리 설정하여 모니터링 파일을 검출 할 수 있다.The application environment setting module 340 sets a registry related to the monitoring file (step S504). Since the application 240 can not directly monitor the communication channel 220, the application 240 can detect a monitoring file by setting a registry accessible to the application 240.

어플리케이션 환경 설정 모듈(340)은 어플리케이션의 특성에 따라서 모니터링 조건을 설정한다(단계 S505).The application environment setting module 340 sets monitoring conditions according to the characteristics of the application (step S505).

어플리케이션 제어 모듈(350)은 어플리케이션을 실행한다(단계 S506). The application control module 350 executes the application (step S506).

통신 채널 모니터링 모듈(360)은 가상 머신 에이전트(230)와 미리 약속된 레지스트리를 검출한다(단계 S507).The communication channel monitoring module 360 detects a preset registry with the virtual machine agent 230 (step S507).

통신 채널 모니터링 모듈(360)은 모니터링 파일을 검출한다(단계 S508).The communication channel monitoring module 360 detects the monitoring file (step S508).

통신 채널 모니터링 모듈(360)은 모니터링 정보를 수집한다(단계 S509). 보다 구체적으로, 모니터링 정보는 통신 채널(220) 연결 상태에 대하여 가상 머신 에이전트(230)에 의해 계속적으로 기록된 정보 중에서 어플리케이션의 모니터링 점검 주기 시점에 가상 머신 에이전트(230)에 의하여 기록된 통신 채널(220) 연결 상태이다.The communication channel monitoring module 360 collects monitoring information (step S509). More specifically, the monitoring information may include information recorded continuously by the virtual machine agent 230 with respect to the connection state of the communication channel 220, the communication channel recorded by the virtual machine agent 230 at the monitoring check cycle time of the application 220) connection state.

통신 채널 모니터링 모듈(360)은 모니터링 정보를 통하여 통신 채널(220)이 끊겼는지 여부를 확인한다(단계 S510). 보다 구체적으로, 어플리케이션(240)의 모니터링 점검 시점에 가상 머신 에이전트(230)에 의해 기록된 통신 채널(220) 연결 상태가 정상이면 통신 채널(220)이 끊기지 않은 것으로 판단하고 비정상이면 통신 채널(220)이 끊어졌다고 판단한다.The communication channel monitoring module 360 checks whether the communication channel 220 is disconnected through the monitoring information (step S510). More specifically, if the connection state of the communication channel 220 recorded by the virtual machine agent 230 is normal at the monitoring check time of the application 240, it is determined that the communication channel 220 is not disconnected. If the communication channel 220 is abnormal, ) Is cut off.

모니터링 정보를 통하여 통신 채널(220)이 끊기지 않았다고 확인된 경우 레지스트리의 위치를 변경할 것인지 여부를 확인한다(단계 S511). 보다 구체적으로, 레지스트리의 저장 공간을 다 사용하여 가상 머신 에이전트(230)에 의하여 기록되고 있는 모니터링 정보를 기존에 설정된 레지스트리에 더 이상 저장할 수 없는 경우, 레지스트리의 위치 변경을 통하여 모니터링 정보를 계속해서 저장할 수 있다.If it is confirmed through the monitoring information that the communication channel 220 has not been disconnected, it is confirmed whether to change the location of the registry (step S511). More specifically, if the storage space of the registry is used up and the monitoring information recorded by the virtual machine agent 230 can not be stored in the existing registry, the monitoring information is continuously stored .

보다 구체적으로, 레지스트리의 저장 공간이 남아 있어 레지스트리의 위치를 변경하지 않을 경우 단계 S509로 이동하여 다시 모니터링 정보를 수집하고 통신 채널이 끊겼는지 여부를 확인하는 과정을 반복한다. 레지스트리의 저장 공간이 없어 레지스트리의 위치를 변경하는 경우에는 레지스트리의 위치를 변경 하고 단계 S507로 이동하여 변경된 레지스트리를 검출한다. 보다 구체적으로, 가상 머신 에이전트(230)는 변경된 레지스트리에 모니터링 정보를 기록하고 어플리케이션(240)은 변경된 레지스트리에 접근하여 모니터링 파일을 검출할 수 있다. More specifically, if the storage space of the registry remains and the location of the registry is not changed, the process moves to step S509 and collects the monitoring information again to check whether the communication channel is disconnected. When there is no storage space in the registry and the location of the registry is changed, the location of the registry is changed, and the process moves to step S507 to detect the changed registry. More specifically, the virtual machine agent 230 records the monitoring information in the changed registry, and the application 240 can access the changed registry to detect the monitoring file.

모니터링 정보를 통하여 통신 채널(220)이 끊겼다고 확인 된 경우 어플리케이션 제어 모듈(350)은 실행되고 있는 어플리케이션의 수행 조건에 따라 어플리케이션을 제어 한다(단계 S512). When it is confirmed that the communication channel 220 is disconnected through the monitoring information, the application control module 350 controls the application according to the execution condition of the application being executed (step S512).

어플리케이션이 일시 중지되면 통신 채널 복구 모듈(370)는 통신 채널 복구를 시도한다(단계 S513). 보다 구체적으로, 통신 채널 복구 모듈(370)은 어플리케이션(240)에 의한 모니터링을 통해 통신 채널(220)이 끊긴 것이 검출되면 사용자 단말 에이전트(210)와의 재연결을 특정 시간 동안 시도할 수 있다.
When the application is suspended, the communication channel recovery module 370 attempts to recover the communication channel (step S513). More specifically, the communication channel recovery module 370 may attempt to reconnect with the user terminal agent 210 for a certain period of time when it is detected that the communication channel 220 is disconnected through monitoring by the application 240.

상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the present invention as defined by the following claims It can be understood that

100: 클라우드 컴퓨팅 시스템 110: 사용자 단말
120: 보안 장비 130: 클라우드 컴퓨팅 서버
140: 가상 머신 풀 142: 가상 머신
210: 사용자 단말 에이전트 220: 통신 채널
230: 가상 머신 에이전트 240: 어플리케이션
310: 가상 머신 결정부 320: 가상 머신 에이전트부
330: 제어부
340: 어플리케이션 환경 설정 모듈 350: 어플리케이션 제어 모듈
360: 통신 채널 모니터링 모듈 370: 통신 채널 복구 모듈
100: Cloud computing system 110: User terminal
120: security device 130: cloud computing server
140: Virtual Machine Pool 142: Virtual Machine
210: user terminal agent 220: communication channel
230: Virtual Machine Agent 240: Application
310: Virtual Machine Decision Unit 320: Virtual Machine Agent Unit
330:
340: Application environment setting module 350: Application control module
360: communication channel monitoring module 370: communication channel restoring module

Claims (20)

사용자 단말 에이전트(210)의 동작 환경을 제공하는 사용자 단말과 연결될 수 있는 클라우드 컴퓨팅 서버(130)에서 수행되는 클라우드 컴퓨팅 방법에 있어서,
상기 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정하는 단계;
상기 가상 머신(142)에 어플리케이션 실행 환경을 설정하는 단계;
상기 사용자 단말 에이전트(210)를 통해 상기 가상 머신(142)에 상기 사용자 단말 에이전트(210)와 독립적으로 동작될 수 있는 어플리케이션(240)을 실행하는 단계; 및
상기 실행된 어플리케이션(240)이 상기 어플리케이션 실행 환경을 접근하여 상기 사용자 단말 에이전트(210)와 상기 가상 머신(142) 간의 통신 채널(220)을 모니터링하는 것을 허용하는 단계를 포함하는 클라우드 컴퓨팅 방법.
A cloud computing method performed in a cloud computing server (130) that can be connected to a user terminal providing an operating environment of a user terminal agent (210)
Determining a virtual machine (142) corresponding to the user terminal agent (210);
Setting an application execution environment in the virtual machine 142;
Executing an application (240) in the virtual machine (142) through the user terminal agent (210), the application (240) being operable independently of the user terminal agent (210); And
Allowing the executed application (240) to access the application execution environment to monitor the communication channel (220) between the user terminal agent (210) and the virtual machine (142).
제1항에 있어서, 상기 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정하는 단계는
상기 사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)과 가상 머신 에이전트(230)가 있는지 여부를 체크하는 단계; 및
상기 연관된 가상 머신(142)이 이미 존재하지 않으면 새로운 가상 머신(142)과 가상 머신 에이전트(230)를 생성하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
2. The method of claim 1, wherein determining a virtual machine (142) corresponding to the user terminal agent (210)
Checking whether there is a virtual machine 142 and a virtual machine agent 230 already associated with the user terminal agent 210; And
Creating a new virtual machine 142 and a virtual machine agent 230 if the associated virtual machine 142 does not already exist.
제2항에 있어서, 상기 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정하는 단계는
가상 머신 결정부(310)가 상기 사용자 단말의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있는 통신 채널(220)을 설정하는 단계를 더 포함하고,
상기 통신 채널(220)은 상기 가상 머신 에이전트(230)와 상기 사용자 단말 에이전트(210)사이에 형성되는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
3. The method of claim 2, wherein determining the virtual machine (142) corresponding to the user terminal agent (210)
Further comprising setting a communication channel (220) through which the virtual machine determination unit (310) can transmit display information independent of the computing architecture of the user terminal,
Wherein the communication channel (220) is formed between the virtual machine agent (230) and the user terminal agent (210).
제3항에 있어서, 상기 통신 채널(220)은
상기 사용자 단말 에이전트(210)의 설정에 따라 하트비트 트래픽 전용 채널을 포함하는 멀티 트래픽 채널에 해당하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
4. The method of claim 3, wherein the communication channel (220)
And a multi-traffic channel including a heartbeat traffic dedicated channel according to a setting of the user terminal agent (210).
제1항에 있어서, 상기 가상 머신(142)에 어플리케이션 실행 환경을 설정하는 단계는
가상 머신 에이전트(230)에 의하여 기록되고 상기 어플리케이션(240)에게 제공될 수 있는 상기 통신 채널(220)에 대한 모니터링 정보를 포함하는 모니터링 파일에 관한 레지스트리를 설정하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
The method of claim 1, wherein the step of setting an application execution environment in the virtual machine (142)
Setting a registry for a monitoring file that includes monitoring information for the communication channel (220) that is recorded by the virtual machine agent (230) and can be provided to the application (240) Computing method.
제5항에 있어서, 상기 가상 머신(142)에 어플리케이션 실행 환경을 설정하는 단계는
상기 어플리케이션(240)이 상기 레지스트리를 통해 상기 통신 채널(220)의 모니터링 조건을 설정하는 것을 허용하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
6. The method of claim 5, wherein the step of setting an application execution environment in the virtual machine (142)
Further comprising allowing the application (240) to set the monitoring condition of the communication channel (220) via the registry.
제1항에 있어서, 상기 사용자 단말 에이전트(210)와 독립적으로 동작될 수 있는 어플리케이션(240)을 실행하는 단계는
상기 어플리케이션(240)이 상기 통신 채널(220)의 모니터링을 요구한 상태에서 상기 통신 채널(220)의 연결이 끊긴 경우에는 가상 머신 에이전트(230)가 상기 실행된 어플리케이션(240)을 일시중지하도록 제어하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
3. The method of claim 1, wherein executing an application (240) that can be operated independently of the user terminal agent
If the connection of the communication channel 220 is disconnected while the application 240 requests monitoring of the communication channel 220, the virtual machine agent 230 controls to suspend the executed application 240 The method comprising the steps of:
제1항에 있어서, 상기 통신 채널(220)을 모니터링하는 것을 허용하는 단계는
상기 실행된 어플리케이션(240)이 상기 통신 채널(220)에 대한 모니터링 파일을 포함하는 레지스트리를 읽는 단계; 및
상기 읽은 레지스트리를 기초로 모니터링 파일을 검출하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
The method of claim 1, wherein allowing to monitor the communication channel (220)
The executed application 240 reading a registry including a monitoring file for the communication channel 220; And
And detecting a monitoring file based on the read registry.
제8항에 있어서, 상기 모니터링 파일은
상기 가상 머신(142)에 종속적이고 상기 레지스트리의 특정 섹션 또는 상기 가상 머신(142)에 의해 접근되는 메모리에 저장되는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
9. The method of claim 8,
Is stored in a memory that is dependent on the virtual machine (142) and is accessed by a particular section of the registry or the virtual machine (142).
제8항에 있어서, 상기 통신 채널(220)을 모니터링하는 것을 허용하는 단계는
상기 어플리케이션(240)이 상기 검출된 모니터링 파일을 주기적으로 읽어서 상기 통신 채널(220)의 모니터링 정보를 가져가는 것을 허용하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
9. The method of claim 8, wherein allowing to monitor the communication channel (220)
Further comprising the step of allowing the application (240) to periodically read the detected monitoring file to take monitoring information of the communication channel (220).
제1항에 있어서,
상기 실행된 어플리케이션(240)에 의한 모니터링을 통해 상기 통신 채널(220)이 끊긴 것이 검출되면 상기 어플리케이션 실행 환경에 따라 상기 어플리케이션(240)을 제어하고 상기 사용자 단말 에이전트(210)와의 재연결을 특정 시간 동안 시도하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 컴퓨팅 방법.
The method according to claim 1,
If the disconnection of the communication channel 220 is detected through the monitoring by the executed application 240, the control unit 240 controls the application 240 according to the application execution environment and notifies the reconnection to the user terminal agent 210 at a specific time Lt; RTI ID = 0.0 > a < / RTI > cloud computing method.
사용자 단말 에이전트(210)의 동작 환경을 제공하는 사용자 단말과 연결될 수 있는 클라우드 컴퓨팅 서버(130)에 있어서,
상기 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정하는 가상 머신 결정부(310);
상기 가상 머신(142)에 어플리케이션 실행 환경을 설정하고, 상기 사용자 단말 에이전트(210)를 통해 상기 가상 머신(142)에 상기 사용자 단말 에이전트(210)와 독립적으로 동작될 수 있는 어플리케이션(240)을 실행하며, 상기 실행된 어플리케이션(240)이 상기 어플리케이션 실행 환경에 접근하여 상기 사용자 단말 에이전트(210)와 상기 가상 머신(142) 간의 통신 채널(220)을 모니터링하는 것을 허용하는 가상 머신 에이전트부(320)를 포함하는 클라우드 컴퓨팅 서버(130).
A cloud computing server (130) capable of being connected to a user terminal providing an operating environment of a user terminal agent (210)
A virtual machine determination unit (310) for determining a virtual machine (142) corresponding to the user terminal agent (210);
An application execution environment is set in the virtual machine 142 and an application 240 that can be operated independently of the user terminal agent 210 is executed in the virtual machine 142 through the user terminal agent 210 A virtual machine agent unit 320 that allows the executed application 240 to access the application execution environment and monitor a communication channel 220 between the user terminal agent 210 and the virtual machine 142, A cloud computing server (130).
제12항에 있어서, 상기 가상 머신 결정부(310)는
상기 사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)과 가상 머신 에이전트(230)가 있는지 여부를 체크하고, 상기 연관된 가상 머신(142)이 이미 존재하지 않으면 새로운 가상 머신(142)과 가상 머신 에이전트(230)를 생성하는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
13. The method according to claim 12, wherein the virtual machine determination unit (310)
And checks whether there is a virtual machine 142 and a virtual machine agent 230 already associated with the user terminal agent 210. If the associated virtual machine 142 does not already exist, the new virtual machine 142 and the virtual machine 142 Agent (230) to the cloud computing server (130).
제13항에 있어서, 상기 가상 머신 결정부(310)는
상기 사용자 단말의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있는 통신 채널(220)을 설정하고,
상기 통신 채널(220)은 상기 가상 머신 에이전트(230)와 상기 사용자 단말 에이전트(210) 사이에 형성되는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
14. The apparatus of claim 13, wherein the virtual machine determination unit (310)
Establishing a communications channel (220) capable of transmitting display information independent of the computing architecture of the user terminal,
Wherein the communication channel (220) is formed between the virtual machine agent (230) and the user terminal agent (210).
제14항에 있어서, 상기 통신 채널(220)은
상기 사용자 단말 에이전트(210)의 설정에 따라 하트비트 트래픽 전용 채널을 포함하는 멀티 트래픽 채널에 해당하는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
15. The method of claim 14, wherein the communication channel (220)
And a multi-traffic channel including a heartbeat traffic dedicated channel according to the setting of the user terminal agent (210).
제12항에 있어서, 상기 가상 머신 에이전트부(320)는
가상 머신 에이전트(230)에 의하여 기록되고 상기 어플리케이션(240)에게 제공될 수 있는 상기 통신 채널(220)에 대한 모니터링 정보를 포함하는 모니터링 파일에 관한 레지스트리를 설정하는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
13. The system according to claim 12, wherein the virtual machine agent unit (320)
(230) and establishes a registry for the monitoring file that includes monitoring information for the communication channel (220) that can be provided to the application (240). ≪ RTI ID = 0.0 & ).
제12항에 있어서, 상기 가상 머신 에이전트부(320)는
상기 어플리케이션(240)이 상기 통신 채널(220)의 모니터링을 요구한 상태에서 상기 통신 채널(220)의 연결이 끊긴 경우에는 가상 머신 에이전트(230)가 상기 실행된 어플리케이션(240)을 일시중지하도록 제어하는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
13. The system according to claim 12, wherein the virtual machine agent unit (320)
If the connection of the communication channel 220 is disconnected while the application 240 requests monitoring of the communication channel 220, the virtual machine agent 230 controls to suspend the executed application 240 And the cloud computing server (130).
제12항에 있어서, 상기 가상 머신 에이전트부(320)는
상기 실행된 어플리케이션(240)이 상기 통신 채널(220)에 대한 모니터링 파일을 포함하는 레지스트리를 읽고, 상기 읽은 레지스트리를 기초로 모니터링 파일을 검출하는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
13. The system according to claim 12, wherein the virtual machine agent unit (320)
The executed application (240) reads a registry including a monitoring file for the communication channel (220), and detects a monitoring file based on the read registry.
제12항에 있어서, 상기 가상 머신 에이전트부(320)는
상기 실행된 어플리케이션(240)에 의한 모니터링을 통해 상기 통신 채널(220)이 끊긴 것이 검출되면 상기 실행된 어플리케이션(240)이 상기 가상 머신 에이전트(230)를 통해 상기 사용자 단말 에이전트(210)에게 상기 통신 채널(220)을 복구하도록 요청하는 것을 특징으로 하는 클라우드 컴퓨팅 서버(130).
13. The system according to claim 12, wherein the virtual machine agent unit (320)
When the disconnection of the communication channel 220 is detected through the monitoring by the executed application 240, the executed application 240 notifies the user terminal agent 210 via the virtual machine agent 230 of the communication (220) to the cloud computing server (130).
사용자 단말 에이전트(210)의 동작 환경을 제공하는 사용자 단말과 연결될 수 있는 클라우드 컴퓨팅 서버(130)에서 수행되는 클라우드 컴퓨팅 방법에 관한 컴퓨터 프로그램을 기록한 기록매체에 있어서,
상기 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정하는 단계;
상기 가상 머신(142)에 어플리케이션 실행 환경을 설정하는 단계;
상기 사용자 단말 에이전트(210)를 통해 상기 가상 머신(142)에 상기 사용자 단말 에이전트(210)와 독립적으로 동작될 수 있는 어플리케이션(240)을 실행하는 단계; 및
상기 실행된 어플리케이션(240)이 상기 어플리케이션 실행 환경을 접근하여 상기 사용자 단말 에이전트(210)와 상기 가상 머신(142) 간의 통신 채널(220)을 모니터링하는 것을 허용하는 단계를 포함하는 클라우드 컴퓨팅 방법에 관한 컴퓨터 프로그램을 기록한 기록매체.
A computer program for a cloud computing method performed in a cloud computing server (130) that can be connected to a user terminal providing an operating environment of a user terminal agent (210)
Determining a virtual machine (142) corresponding to the user terminal agent (210);
Setting an application execution environment in the virtual machine 142;
Executing an application (240) in the virtual machine (142) through the user terminal agent (210), the application (240) being operable independently of the user terminal agent (210); And
Allowing the executed application 240 to access the application execution environment and monitor the communication channel 220 between the user terminal agent 210 and the virtual machine 142. [ A recording medium on which a computer program is recorded.
KR1020140039926A 2014-04-03 2014-04-03 Cloud computing method, clould computing server performing the same and storage media storing the same KR101601680B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140039926A KR101601680B1 (en) 2014-04-03 2014-04-03 Cloud computing method, clould computing server performing the same and storage media storing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140039926A KR101601680B1 (en) 2014-04-03 2014-04-03 Cloud computing method, clould computing server performing the same and storage media storing the same

Publications (2)

Publication Number Publication Date
KR20150115238A KR20150115238A (en) 2015-10-14
KR101601680B1 true KR101601680B1 (en) 2016-03-09

Family

ID=54357432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140039926A KR101601680B1 (en) 2014-04-03 2014-04-03 Cloud computing method, clould computing server performing the same and storage media storing the same

Country Status (1)

Country Link
KR (1) KR101601680B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102233246B1 (en) * 2015-10-26 2021-03-29 에스케이텔레콤 주식회사 Method for managing mobile applications in virtual machine
KR102369345B1 (en) * 2015-10-26 2022-03-02 에스케이텔레콤 주식회사 Method for managing mobile applications in virtual machine
CN115134344B (en) * 2022-06-29 2024-06-14 郑州浪潮数据技术有限公司 Control method and component of virtual machine console

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060034534A (en) * 2004-10-19 2006-04-24 엘지전자 주식회사 Apparatus and method for file transfer between mobile communication system and ems server
KR20110040604A (en) 2009-10-14 2011-04-20 삼성전자주식회사 Cloud server, client terminal, device, method for operating cloud server and method for operating client terminal
KR101731422B1 (en) * 2010-10-04 2017-04-28 삼성전자주식회사 Restoration apparatus and method for fault over the virtual environment
KR20130022091A (en) * 2011-08-24 2013-03-06 주식회사 케이티 Apparatus and method for controlling virtual machine in cloud computing server system
KR101285200B1 (en) 2011-12-22 2013-07-11 한국외국어대학교 연구산학협력단 Method for Providing IPTV Service by Using Cloud Computing, System And Apparatus Therefor
KR101280753B1 (en) * 2012-02-22 2013-07-05 주식회사 팬택 Cloud service access apparatus and cloud service access method and cloud service access system

Also Published As

Publication number Publication date
KR20150115238A (en) 2015-10-14

Similar Documents

Publication Publication Date Title
KR101634295B1 (en) System and method for providing authentication service for iot security
KR101673238B1 (en) Method, apparatus, electronic device, program and recording medium for connection management
EP2454679B1 (en) Management of an instant message session
JP5743174B2 (en) Thin client server system and USB device driver management method
US20130031275A1 (en) Peripheral device identification for pairing
KR20160069442A (en) Service error detection apparatus for cloud streaming service, end to end service monitoring system and method thereof
JP2017505473A (en) Method of providing connection to unmanaged service of client in client server remote access system
WO2016082549A1 (en) Method and apparatus for establishing device mapping
JP5723413B2 (en) Remote network connection method and remote network connection system
KR101601680B1 (en) Cloud computing method, clould computing server performing the same and storage media storing the same
JP6984387B2 (en) Information processing equipment, access control methods, programs and systems
EP2974125B1 (en) Systems, methods, and computer program products for providing a universal persistence cloud service
WO2016043896A1 (en) Contextual platform feature recommendations
CN103984616A (en) Server monitoring method and server
US8407720B1 (en) Inter-process communication management
EP3179403B1 (en) Information processing apparatus and computer program product
KR101506223B1 (en) Automatic Reconnection System For Virtualization Service
CN116248657B (en) Control method and device of screen projection system, computer equipment and storage medium
WO2017114773A1 (en) Establishment of a connection between two local devices connected to different networks
KR101784312B1 (en) A apparatus and method of providing security to cloud data to prevent unauthorized access
JP5847064B2 (en) Simple monitoring and control device
JP6138224B1 (en) Interface security system, peripheral device connection method, electronic device, and computer program
TWI581189B (en) A terminal device, a system and a method for controlling a virtual machine
KR101382605B1 (en) Method for securing debug serial connection of embedded system terminal
KR101314717B1 (en) Application system, control system, and user terminal control method

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: 20190102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 5