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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 보다 상세하게는, 가상 머신에서 동작되는 어플리케이션이 보안 장비 유무에 관계없이 통신 채널을 모니터링하는 것을 지원할 수 있는 클라우드 컴퓨팅 방법, 이를 수행하는 클라우드 컴퓨팅 장치 및 이를 저장하는 기록매체에 관한 것이다.
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.
본 발명의 일 실시예는 가상 머신에서 동작되는 어플리케이션이 보안 장비 유무에 관계없이 통신 채널을 모니터링하는 것을 지원할 수 있는 클라우드 컴퓨팅 방법을 제공하고자 한다.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
사용자 단말(110)은 클라우드 컴퓨팅 서버 (130)와 연동하여 어플리케이션을 실행할 수 있는 컴퓨팅 장치에 해당할 수 있다. 예를 들어, 사용자 단말(110)은 데스크톱(Desktop), 노트북(Laptop), 스마트 폰(Smart phone) 또는 태블릿 PC(Tablet Personal Computer)에 해당할 수 있다. 사용자 단말(110)은 어플리케이션 실행 이전 또는 동시에 사용자 단말 에이전트(210)를 실행시킬 수 있고, 가상 머신 에이전트(230)를 통해 클라우드 컴퓨팅 서버(130)와 연동할 수 있다.The
보안 장비(120)는 사용자 단말(110)이 클라우드 컴퓨팅 서버(130)와 연동하는 과정에서 필요한 물리적인 네트워크 장치에 해당할 수 있다. 예를 들어, 보안 장비(120)는 방화벽에 해당할 수 있고, 방화벽은 외부의 비정상적이고 불법적인 접근으로부터 내부 네트워크의 정보자산을 보호하고 각종 유해 정보의 유입을 차단할 수 있다. 보안 장비(120)는 외부 네트워크(즉, 사용자 단말 측)와 내부 네트워크(즉, 클라우드 컴퓨팅 서버 측) 사이에서 데이터의 송수신을 허용하거나 또는 차단할 수 있다. 보다 구체적으로, 보안 장비(120)는 사용자 단말(110)과 클라우드 컴퓨팅 서버(130)에서 수행되는 어플리케이션들 간의 직접적인 통신을 차단할 수 있다.The
클라우드 컴퓨팅 서버(130)는 사용자 단말(110)과 연동하여 특정 작업을 실행할 수 있는 컴퓨팅 장치에 해당할 수 있고, 특정 작업은 사용자 단말(110)에 의해 제어되는 프로세스에 해당할 수 있다. 클라우드 컴퓨팅 서버(130)는 사용자 단말(110)에 대응하는 적어도 하나의 가상 머신(142)을 포함하는 가상 머신 풀(140)을 관리한다. 일 실시예에서, 가상 머신(142)은 사용자 단말(110)과 일대일 대응할 수 있다. 다른 일 실시예에서, 가상 머신(142)은 사용자 단말(110)에 있는 어플리케이션과 일대일 대응할 수 있고, 이러한 경우 사용자 단말(110)은 복수의 가상 머신(142)들과 동시에 연동할 수 있다.
The
도 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
사용자 단말(110)은 클라우드 컴퓨팅 서버(130)와 연동할 어플리케이션을 실행하기 이전에 또는 동시에 사용자 단말 에이전트(210)를 실행시킬 수 있다. 여기에서, 사용자 단말 에이전트(210)는 사용자 단말(110)에서 동작되는 프로세스에 해당할 수 있고, 사용자 단말(110)을 모니터링하거나 또는 가상 머신(142)과 연동하여 사용자 단말(110)에 있는 어플리케이션을 제어할 수 있다.The
일 실시예에서, 사용자 단말 에이전트(210)는 클라우드 컴퓨팅 서버(130)의 보안을 위해 사용자 단말(110)과 가상 머신(142) 사이에 있는 보안 장비(120)를 고려하여 설계될 수 있다. 예를 들어, 사용자 단말 에이전트(210)는 보안 장비(120)가 클라우드 컴퓨팅 서버(130)에서 생성되는 가상 머신(142)과 직접적인 통신 수행을 불가능하게 할 수 있기 때문에 보안 장비(120)의 제약 또는 규약을 수용하여 설계될 수 있다. 즉, 사용자 단말 에이전트(210)는 보안 장비(120)와 사전에 약속된 제약 또는 규약을 따라 클라우드 컴퓨팅 서버(130)를 접근하여 사용자 단말 에이전트(210)와 가상 머신(142) 간의 통신을 수행할 수 있다.In one embodiment, the
다음으로, 도 2에서, 클라우드 컴퓨팅 서버(130)의 동작 과정을 설명한다.Next, an operation process of the
클라우드 컴퓨팅 서버(130)는 네트워크를 통해 사용자 단말 에이전트(210)와 연결될 수 있는 가상 머신 풀(140)을 관리한다. 여기에서, 가상 머신 풀(140)은 적어도 하나의 가상 머신(142)을 포함하고, 가상 머신(142)은 사용자 단말(110)과 독립적으로 동작될 수 있는 어플리케이션(240) 환경을 제공하고 사용자 단말 에이전트(210)의 요청에 따라 새로 생성되거나, 다시 연결되거나 또는 소멸될 수 있다. 즉, 가상 머신(142)은 사용자 단말 에이전트(210)와 연결이 끊기더라도 어플리케이션(240) 특성 또는 가상 머신 설정 사항에 따라 소멸되지 않고 계속하여 어플리케이션(240)의 실행을 진행할 수 있다.The
가상 머신(142)은 가상 머신 에이전트(230)를 생성하고, 가상 머신 에이전트(230)는 가상 머신(142)과 사용자 단말(110) 간에 필요한 데이터나 제어 신호를 전송하는 것이다. 여기에서, 가상 머신 에이전트(230)는 가상 머신(142)에서 동작되는 프로세스에 해당할 수 있고, 가상 머신(142)을 모니터링하거나 또는 사용자 단말(110)과 연동하여 가상 머신(142)에 있는 어플리케이션(240)을 제어할 수 있다. 가상 머신 에이전트(230)는 도 3을 참조하여 후술한다.The
마지막으로, 도 2에서, 통신 채널(220)의 생성 과정을 설명한다.Finally, in Fig. 2, a process of generating the
사용자 단말 에이전트(210)와 가상 머신 에이전트(230)가 각각 실행되면 양자 간의 통신 채널(220)을 설정한다. 일 실시예에서, 사용자 단말 에이전트(210)는 클라우드 컴퓨팅 서버(130)의 네트워크 주소(예를 들어, IP 주소)를 통해 클라우드 컴퓨팅 서버(130)에 접근을 시도할 수 있다. 클라우드 컴퓨팅 서버(130)는 사용자 단말 에이전트(210)와 연관된 가상 머신(142)을 결정하고, 사용자 단말 에이전트(210)가 가상 머신(142)에 있는 가상 머신 에이전트(230)와 연동하도록 제어할 수 있다. 다른 일 실시예에서, 가상 머신 에이전트(230)는 사용자 단말 에이전트(210)의 요청에 따라 사용자 단말 에이전트(210)가 클라우드 컴퓨팅 서버(130)의 특정 네트워크 주소(예를 들어, IP 주소)를 통해 접근하는 것을 개방하고, 사용자 단말 에이전트(210)가 특정 네트워크 주소를 통해 가상 머신(142)에 있는 가상 머신 에이전트(230)와 연동하도록 제어할 수 있다.When the
통신 채널(220)은 사용자 단말(110)의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있도록 설계될 수 있다. 예를 들어, 통신 채널(220)은 X11 프로토콜 또는 RDP 프로토콜을 통해 설정될 수 있다. 여기에서, 디스플레이 정보는 사용자 단말(110)을 통해 사용자가 얻을 수 있는 시각적인 정보이다.The
보다 구체적으로, 통신 채널(220)은 트래픽 채널에 부하를 주지 않고 하트비트용 신호만을 전송하는 하트비트 트래픽 전용 채널을 포함할 수 있다. 하트비트용 신호는 통신 채널(220)의 지속적인 점검을 위하여 사용될 수 있고, 가상 머신(142)과 사용자 단말(110) 간의 사전에 약속될 수 있다. 또한, 통신 채널(220)은 멀티 트래픽을 전송하는 단일 채널로 구현되거나 또는 전용 트래픽을 각각 전송하는 멀티 채널로 구현될 수 있다. 여기에서, 단일 채널은 멀티 트래픽을 시분할하여 전송하는데 사용될 수 있고, 가상 머신 에이전트(230)는 멀티 트래픽의 우선 순위를 기초로 시분할 구간을 결정할 수 있다. 멀티 채널은 전용 트래픽 각각을 독자적인 채널로 할당하고, 가상 머신 에이전트(230)는 전용 트래픽의 우선 순위를 결정할 수 있다.
More specifically, the
도 3은 도 1에 있는 클라우드 컴퓨팅 서버를 설명하는 블록도이다.3 is a block diagram illustrating the cloud computing server of FIG.
도 3을 참조하면, 클라우드 컴퓨팅 서버(130)는 가상 머신 결정부(310), 가상 머신 에이전트부(320) 및 제어부(330)를 포함한다.Referring to FIG. 3, the
가상 머신 결정부(310)는 사용자 단말 에이전트(210)로부터 접속이 시도되면 사용자 단말 에이전트(210)에 대응하는 가상 머신(142)을 결정한다. 보다 구체적으로, 사용자 단말(110)이 사용자 단말 에이전트(210)를 통해 클라우드 컴퓨팅 서버(130)에 접근하면, 클라우드 컴퓨팅 서버(130)는 가상 머신(142)을 새로 생성할지 또는 기존에 있는 가상 머신(142)을 다시 연결할지 여부를 결정할 수 있다.The virtual
이하, 가상 머신 결정부(310)가 가상 머신(142)을 새로 생성하는 과정을 설명한다.Hereinafter, a process of creating a new
가상 머신 결정부(310)는 사용자 단말(110)로부터 접속이 시도되면 사용자 단말 에이전트(210)로부터 사용자 단말(110)의 고유 식별자(예를 들어, IP 주소)를 획득한다. 가상 머신 결정부(310)는 사용자 단말(110)의 고유 식별자와 연관된 가상 머신(142)의 존재 여부를 검출하고, 사용자 단말(110)에 대응하는 이미 연관된 가상 머신(142)이 없는 경우 사용자 단말(110)에 대응하는 가상 머신(142)을 새로 생성한다. 가상 머신(142)은 사용자 단말(110)에 대응하는 가상 머신(142)이 새로 생성되는 경우 가상 머신 에이전트(230)를 생성하고 가상 머신 에이전트(230)와 사용자 단말 에이전트(210) 간의 통신 채널(220)을 설정한다. The virtual
이하, 가상 머신 결정부(310)가 기존의 가상 머신(142)을 다시 연결하는 과정을 설명한다.Hereinafter, a process of reconnecting the existing
가상 머신 결정부(310)는 사용자 단말(110)로부터 서버 접속이 시도되면 사용자 단말 에이전트(210)로부터 사용자 단말(110)의 고유 식별자(예를 들어, IP 주소)를 획득한다. 가상 머신 결정부(310)는 사용자 단말(110)의 고유 식별자와 연관된 가상 머신(142)의 존재 여부를 검출하고, 사용자 단말(110)에 대응하는 이미 연관된 가상 머신(142)이 있는 경우 이미 연관된 가상 머신(142)을 다시 사용자 단말(110)에 연결한다. 가상 머신(142)은 사용자 단말(110)이 이미 연관된 가상 머신(142)과 연결되는 경우 이미 연관된 가상 머신의 가상 머신 에이전트(230)와 사용자 단말 에이전트(210) 간의 통신 채널(220)을 설정한다.The virtual
가상 머신 에이전트부(320)는 어플리케이션 환경 설정 모듈(340), 어플리케이션 제어 모듈(350), 통신 채널 모니터링 모듈(360) 및 통신 채널 복구 모듈(370)을 포함한다.The virtual
어플리케이션 환경 설정 모듈(340)은 가상 머신(142)에 어플리케이션 실행 환경을 설정한다. 여기에서, 어플리케이션 실행 환경은 레지스트리에 저장되고 모니터링 파일 정보, 모니터링 조건 및 어플리케이션 수행 조건을 포함한다.The application environment setting module 340 sets an application execution environment in the
레지스트리는 가상 머신(142)의 생성 또는 동작 과정에서 어플리케이션 환경 설정 모듈(340)에 의하여 설정되고, 가상 머신(142)에 있는 어플리케이션이 모니터링 파일을 검출하고자 할 때 모니터링 파일의 위치를 제공하기 위하여 사용될 수 있다. 일 실시예에서, 레지스트리는 [식별자, 값] 쌍으로 설정될 수 있고, 예를 들어, 식별자는 [어플리케이션 실행 환경](예: appenv)에 해당할 수 있고 값은 [파일 경로](예: /appenv/time20140312)에 해당할 수 있다.The registry is set by the application environment setting module 340 during the creation or operation of the
어플리케이션 환경 설정 모듈(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
일 실시예에서, 모니터링 파일은 가상 머신 에이전트(230)에 의하여 주기적으로 갱신될 수 있다. 또한, 일 실시예에서, 모니터링 파일은 공유 가능한 접근 권한을 가지는 파일로서 구현될 수 있다. 즉, 가상 머신(142)에 있는 어플리케이션은 모니터링 파일이 가상 머신 에이전트(230)에 의하여 오픈 되어 있더라도, 동시에 모니터링 파일을 읽을 수 있다.In one embodiment, the monitoring file may be periodically updated by the
일 실시예에서, 모니터링 파일은 가상 머신(142) 각각에 대하여 종속적으로 생성될 수 있다. 즉, 모니터링 파일은 다른 가상 머신(142)에 있는 어플리케이션에 의하여 접근될 수 없고, 또한, 가상 머신(142)의 소멸 시에 가상 머신(142)에 의해 자동으로 삭제될 수 있다.In one embodiment, the monitoring file may be generated dependent on each of the
어플리케이션 환경 설정 모듈(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
어플리케이션 환경 설정 모듈(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
예를 들어, 어플리케이션은 어플리케이션 수행 조건이 특정 시간 동안의 수행에 해당하면 통신 채널(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
다른 예를 들어, 어플리케이션(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
또 다른 예를 들어, 어플리케이션(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
어플리케이션 제어 모듈(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
이하, 어플리케이션 제어 모듈(350)이 통신 채널(220)에 이상이 발생한 경우 어플리케이션(240)을 제어하는 과정을 설명한다.Hereinafter, a process of controlling the application 240 when the application control module 350 generates an error in the
어플리케이션 제어 모듈(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
예를 들어, 통신 채널(220)이 끊긴 것이 검출되고 어플리케이션 수행 조건에 따라 어플리케이션(240)이 계속 실행되는 경우 어플리케이션은 사용자 단말과 무관하게 가상 머신(142)에서 독립적으로 계속 실행되면서 모니터링 조건에 따라 계속적으로 통신 채널(220)을 모니터링할 수 있다. 다른 예를 들어, 통신 채널(220)이 끊긴 것이 검출되고 어플리케이션 수행 조건에 따라 어플리케이션(240)이 일시정지된 경우 어플리케이션(240)은 계속 하여 통신 채널(220)을 모니터링하고 모니터링을 통해 통신 채널(220)이 복구되어 다시 연결된 것이 검출되면 일시정지되어 있던 어플리케이션(240)은 일시정지 시점부터 실행될 수 있다. 또 다른 예를 들어, 통신 채널(220)이 끊긴 것이 검출되고 어플리케이션 수행 조건에 따라 어플리케이션(240)이 중단된 경우 가상 머신 에이전트(230)에 의한 통신 채널(220) 연결 상태에 대한 모니터링 기록이 중단되고 어플리케이션에 의한 통신 채널(220) 모니터링도 중단될 수 있다. 또한, 사용자 단말에 의해 중단된 어플리케이션(240)이 다시 실행되는 경우 어플리케이션(240)은 처음부터 실행될 수 있다.For example, when the disconnection of the
통신 채널 모니터링 모듈(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
보다 구체적으로, 통신 채널 모니터링 모듈(360)은 가상 머신(142)에서 실행된 어플리케이션(240)이 모니터링 파일을 통해 통신 채널(220)을 모니터링하는 것을 허용할 수 있다. 일 실시예에서, 모니터링 파일은 레지스트리의 특정 섹션 내에 구현되거나 또는 가상 머신(142)에 의해 종속적으로 접근되는 메모리에 저장될 수 있다. More specifically, the communication channel monitoring module 360 may allow the application 240 running in the
통신 채널 복구 모듈(370)은 통신 채널(220)에 이상이 발생한 경우 통신 채널(220)의 복구를 수행한다. 일 실시예에서, 통신 채널 복구 모듈(370)은 어플리케이션(240)에 의한 모니터링을 통해 통신 채널(220)이 끊긴 것이 검출되면 사용자 단말 에이전트(210)와의 재연결을 특정 시간 동안 시도할 수 있다.The communication channel recovery module 370 performs recovery of the
제어부(330)는 가상 머신 결정부(310) 및 가상 머신 에이전트부(320) 의 동작 및 데이터의 흐름을 제어한다.
The
도 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
어플리케이션 환경 설정 모듈(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
어플리케이션 제어 모듈(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
통신 채널 모니터링 모듈(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
도 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
사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)이 있는 경우 이미 연관된 가상 머신(142)을 다시 사용자 단말(110)과 연결한다(단계 S502). 보다 구체적으로, 사용자 단말(110)의 사용자 단말 에이전트(210)는 이미 연관된 가상 머신(142)의 가상 머신 에이전트(230)와 연결되고 사용자 단말 에이전트(210)와 가상 머신 에이전트(230)의 연결을 통해 통신 채널(220)을 형성한다.If there is a
사용자 단말 에이전트(210)와 이미 연관된 가상 머신(142)이 없는 경우 새로운 가상 머신(142)을 생성한다(단계 S503). 보다 구체적으로, 새로 생성된 가상 머신(142)이 가상 머신 에이전트(230)를 생성하고 생성된 가상 머신 에이전트(230)와 사용자 단말 에이전트(210)가 연결되어 통신 채널(220)을 형성한다.If there is no
어플리케이션 환경 설정 모듈(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
어플리케이션 환경 설정 모듈(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
통신 채널 모니터링 모듈(360)은 모니터링 정보를 통하여 통신 채널(220)이 끊겼는지 여부를 확인한다(단계 S510). 보다 구체적으로, 어플리케이션(240)의 모니터링 점검 시점에 가상 머신 에이전트(230)에 의해 기록된 통신 채널(220) 연결 상태가 정상이면 통신 채널(220)이 끊기지 않은 것으로 판단하고 비정상이면 통신 채널(220)이 끊어졌다고 판단한다.The communication channel monitoring module 360 checks whether the
모니터링 정보를 통하여 통신 채널(220)이 끊기지 않았다고 확인된 경우 레지스트리의 위치를 변경할 것인지 여부를 확인한다(단계 S511). 보다 구체적으로, 레지스트리의 저장 공간을 다 사용하여 가상 머신 에이전트(230)에 의하여 기록되고 있는 모니터링 정보를 기존에 설정된 레지스트리에 더 이상 저장할 수 없는 경우, 레지스트리의 위치 변경을 통하여 모니터링 정보를 계속해서 저장할 수 있다.If it is confirmed through the monitoring information that the
보다 구체적으로, 레지스트리의 저장 공간이 남아 있어 레지스트리의 위치를 변경하지 않을 경우 단계 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
모니터링 정보를 통하여 통신 채널(220)이 끊겼다고 확인 된 경우 어플리케이션 제어 모듈(350)은 실행되고 있는 어플리케이션의 수행 조건에 따라 어플리케이션을 제어 한다(단계 S512). When it is confirmed that the
어플리케이션이 일시 중지되면 통신 채널 복구 모듈(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
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
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)에 대응하는 가상 머신(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).
상기 사용자 단말 에이전트(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.
가상 머신 결정부(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).
상기 사용자 단말 에이전트(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).
가상 머신 에이전트(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.
상기 어플리케이션(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.
상기 어플리케이션(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:
상기 실행된 어플리케이션(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.
상기 가상 머신(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).
상기 어플리케이션(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).
상기 실행된 어플리케이션(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)에 대응하는 가상 머신(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).
상기 사용자 단말 에이전트(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).
상기 사용자 단말의 컴퓨팅 아키텍처에 독립적인 디스플레이 정보를 송신할 수 있는 통신 채널(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).
상기 사용자 단말 에이전트(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).
가상 머신 에이전트(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 & ).
상기 어플리케이션(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).
상기 실행된 어플리케이션(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.
상기 실행된 어플리케이션(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)에 대응하는 가상 머신(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.
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)
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)
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 |
-
2014
- 2014-04-03 KR KR1020140039926A patent/KR101601680B1/en active IP Right Grant
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 |