KR102131083B1 - System and method for cloud based hosting service - Google Patents

System and method for cloud based hosting service Download PDF

Info

Publication number
KR102131083B1
KR102131083B1 KR1020180144708A KR20180144708A KR102131083B1 KR 102131083 B1 KR102131083 B1 KR 102131083B1 KR 1020180144708 A KR1020180144708 A KR 1020180144708A KR 20180144708 A KR20180144708 A KR 20180144708A KR 102131083 B1 KR102131083 B1 KR 102131083B1
Authority
KR
South Korea
Prior art keywords
virtual server
address
domain name
private network
server
Prior art date
Application number
KR1020180144708A
Other languages
Korean (ko)
Other versions
KR20200059683A (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 KR1020180144708A priority Critical patent/KR102131083B1/en
Publication of KR20200059683A publication Critical patent/KR20200059683A/en
Application granted granted Critical
Publication of KR102131083B1 publication Critical patent/KR102131083B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시예들은 가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성부, 상기 생성된 가상서버의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 가상서버 관리부, 클라이언트로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신하는 연결요청 수신부, 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색부 및 상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개부를 포함하는 클라우드 기반 호스팅 시스템을 제공한다.
이에, 본 발명의 실시예들은 가상서버에 공중망 IP주소를 할당하지 않아도 클라이언트에게 HTTP, HTTPS, MySQL, Mariadb, RDP 등의 다양한 서비스를 제공할 수 있고 프록시 서버에만 공중망 IP주소가 할당되므로 가상서버가 속한 사설망에 대한 보안이 강화될 수 있다. 또한, 가상서버에 공중망 IP주소를 사용하지 않을 수 있으므로 가상서버의 개수가 제한되지 않고 비용을 절감할 수 있다.
Embodiments of the present invention, the virtual server generation unit for generating a virtual server at the request of the virtual server administrator, set the domain name and the private network IP address of the generated virtual server and associate the domain name with the private network IP address to register in the database A virtual server management unit, a connection request reception unit for receiving connection request information including a domain name for a virtual server from a client, a virtual server search unit for searching the private network IP address associated with the received domain name from the database, and the searched private network It provides a cloud-based hosting system including a communication mediator that mediates communication between a virtual server corresponding to an IP address and the client.
Accordingly, embodiments of the present invention can provide a variety of services, such as HTTP, HTTPS, MySQL, Mariadb, RDP, etc. to the client without allocating the public network IP address to the virtual server, and only the proxy server is assigned the public network IP address. Security of the private network to which it belongs may be strengthened. In addition, since the public network IP address may not be used for the virtual server, the number of virtual servers is not limited and the cost can be reduced.

Description

클라우드 기반 호스팅 시스템 및 방법{SYSTEM AND METHOD FOR CLOUD BASED HOSTING SERVICE}Cloud-based hosting system and method{SYSTEM AND METHOD FOR CLOUD BASED HOSTING SERVICE}

본 발명은 클라우드 기반 호스팅 시스템 및 방법에 관한 것으로, 더욱 상세하게는, 공중망 IP주소가 설정되지 않은 가상서버로 호스팅 서비스를 제공하기 위한 클라우드 기반 호스팅 시스템 및 방법에 관한 것이다.The present invention relates to a cloud-based hosting system and method, and more particularly, to a cloud-based hosting system and method for providing a hosting service to a virtual server with no public network IP address set.

클라우드 기반 호스팅은 클라우드 컴퓨팅 환경에서 물리적인 서버들의 네트워크로부터 사용자가 필요할 때에 쉽고 확장 가능하게 컴퓨팅 자원을 사용할 수 있도록 가상서버(virtual server)를 통해 웹사이트 또는 개발환경 등을 호스팅하는 서비스를 의미할 수 있다.Cloud-based hosting can mean a service that hosts a website or development environment, etc. through a virtual server, so that users can use computing resources easily and scalable when users need from a network of physical servers in a cloud computing environment. have.

여기에서, 가상서버는 서버기능이 탑재된 가상머신(virtual machine)을 의미할 수 있고 가상머신은 컴퓨팅 환경을 소프트웨어로 구현한 것, 즉 컴퓨터를 에뮬레이션하는 소프트웨어를 의미할 수 있으며 가상머신 상에서 운영 체제나 응용 프로그램을 설치 및 실행할 수 있다.Here, the virtual server may mean a virtual machine equipped with a server function, and the virtual machine may mean a computer environment emulated software, that is, software emulating a computer, and an operating system on the virtual machine. I can install and run the application.

한편, 하이퍼바이저는 가상머신(가상서버)을 만들고 실행하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨일 수 있다. 하이퍼바이저는 하나 이상의 가상머신(가상서버)의 운영 체제에 가상 운영 플랫폼을 제공하고 가상머신(가상서버)의 운영 체제의 실행을 관리할 수 있다.Meanwhile, the hypervisor may be computer software, firmware, or hardware that creates and runs a virtual machine (virtual server). The hypervisor may provide a virtual operating platform to the operating system of one or more virtual machines (virtual servers) and manage the execution of the operating system of the virtual machine (virtual servers).

이와 관련된 종래기술을 살펴본다.Let's look at the related art.

한국등록특허 제10-1680702호는 클라우드 기반 웹 호스팅 시스템에 관한 것으로서, 오픈 소스 플랫폼인 클라우드 스택을 기반으로 하드웨어 자원을 관리하는 클라우드 인프라를 구축하고, 상기 클라우드 인프라의 자원을 관리하여 웹 호스팅 서비스 또는 클라우드 서비스를 제공하는 관리자 프로그램을 실행하는 호스트 장치; 상기 호스트 장치에 접속하여 인증을 통해 하드웨어 자원이 하이퍼바이저에 의해 제어되도록 가상 머신(Virtual Machine, VM)에 대한 VM 사용 신청 신호를 전송하고, 상기 호스트 장치로부터 VM 생성 완료 신호가 전송되면 웹 호스팅 환경에 적합한 클라우드 가상 머신을 통해 서비스를 제공받는 적어도 1개 이상의 클라이언트 단말; 및 상기 호스트 장치와 연동하여 상기 VM 사용 신청 신호를 통해 웹 도메인 네임 서비스(DNS) 자동 설정 기능과 공인 IP 자동 할당 기능을 이용하여 DNS를 설정하는 기능 서버를 포함하는 클라우드 기반 웹 호스팅 시스템을 개시한다.Korean Registered Patent No. 10-1680702 relates to a cloud-based web hosting system, builds a cloud infrastructure to manage hardware resources based on an open source platform, cloud stack, and manages the resources of the cloud infrastructure to manage web hosting services or A host device running an administrator program that provides a cloud service; Connect to the host device and transmit a VM usage request signal for a virtual machine (VM) so that hardware resources are controlled by a hypervisor through authentication. When a VM creation completion signal is transmitted from the host device, a web hosting environment At least one client terminal provided with a service through a cloud virtual machine suitable for; And a function server for setting DNS by using a web domain name service (DNS) auto-configuration function and a public IP auto-allocation function through the VM use application signal in cooperation with the host device. .

이와 같이, 종래기술은 클라우드 기반 웹 호스팅을 할 때에 모든 가상서버에 공중망(공인) IP주소를 할당한다.As such, the prior art assigns public network (public) IP addresses to all virtual servers when performing cloud-based web hosting.

그런데, 공중망 IP주소의 개수가 한정되어 있으므로 종래기술은 서비스할 수 있는 가상서버의 개수가 제한될 수 있고 다수의 공중망 IP주소를 사용하면 비용이 증가할 수 있다.However, since the number of public network IP addresses is limited, the number of virtual servers that can be serviced in the prior art may be limited and the cost may be increased by using multiple public network IP addresses.

전술한 문제점을 해결하기 위하여, 본 발명의 실시예들은 가상서버에 공중망 IP주소를 부여하지 않고 클라이언트에게 가상서버의 서비스를 제공할 수 있는 클라우드 기반 호스팅 시스템을 제공하는데 그 목적이 있다.In order to solve the above-described problems, embodiments of the present invention have an object to provide a cloud-based hosting system capable of providing a virtual server service to a client without giving a public IP address to the virtual server.

또한, 본 발명의 실시예들은 가상서버에 사설망 IP주소를 동적으로 할당하는 클라우드 기반 호스팅 시스템을 제공하는데 그 목적이 있다.In addition, embodiments of the present invention have an object to provide a cloud-based hosting system that dynamically allocates a private network IP address to a virtual server.

또한, 본 발명의 실시예들은 가상서버의 시스템 환경에 따라 대응되는 연결응답정보를 전송하는 클라우드 기반 호스팅 시스템을 제공하는데 그 목적이 있다.In addition, embodiments of the present invention has an object to provide a cloud-based hosting system that transmits corresponding connection response information according to the system environment of the virtual server.

또한, 본 발명의 실시예들은 가상서버의 도메인이름을 효율적으로 설정하는 클라우드 기반 호스팅 시스템을 제공하는데 그 목적이 있다.In addition, embodiments of the present invention have an object to provide a cloud-based hosting system for efficiently setting the domain name of the virtual server.

전술한 목적을 달성하기 위한 본 발명의 일 실시예는 가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성부; 상기 생성된 가상서버의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 가상서버 관리부; 클라이언트로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신하는 연결요청 수신부; 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색부; 및 상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개부를 포함하는 클라우드 기반 호스팅 시스템을 제공한다.One embodiment of the present invention for achieving the above object is a virtual server generating unit for generating a virtual server at the request of the virtual server administrator; A virtual server management unit that sets a domain name and a private network IP address of the generated virtual server and associates the domain name with the private network IP address to register in the database; A connection request receiving unit for receiving connection request information including a domain name for a virtual server from a client; A virtual server search unit searching for a private network IP address associated with the received domain name from the database; And it provides a cloud-based hosting system including a communication medium for mediating communication between the virtual server corresponding to the searched private network IP address and the client.

일 실시예에서, 상기 가상서버 관리부는 상기 생성된 가상서버의 서비스종류 및 서비스종류에 대응하는 가상서버 포트번호를 상기 도메인이름과 연관시켜 상기 데이터베이스에 등록하고, 상기 연결요청 수신부는 클라이언트로부터 가상서버에 대한 서비스종류를 포함하는 연결요청정보를 수신하고, 상기 가상서버 검색부는 상기 데이터베이스로부터 상기 수신된 서비스종류에 대응하는 가상서버 포트번호를 검색하고, 상기 통신매개부는 상기 검색된 가상서버 포트번호를 이용하여 상기 가상서버와 상기 클라이언트 사이의 통신을 매개할 수 있다.In one embodiment, the virtual server management unit registers the virtual server port number corresponding to the generated service type and service type of the virtual server in the database by associating it with the domain name, and the connection request receiving unit is a virtual server from a client. Receive connection request information including a service type for, the virtual server search unit retrieves the virtual server port number corresponding to the received service type from the database, and the communication medium uses the searched virtual server port number By doing so, it is possible to mediate communication between the virtual server and the client.

일 실시예에서, 상기 가상서버 관리부는 상기 생성된 가상서버의 도메인이름, 사설망 IP주소, 서비스종류 또는 서비스종류에 대응하는 가상서버 포트번호가 변경된 경우에는 변경사항을 상기 데이터베이스에 등록할 수 있다.In one embodiment, the virtual server management unit may register the change in the database when the domain name, private network IP address, service type, or virtual server port number corresponding to the service type of the created virtual server is changed.

일 실시예에서, 상기 가상서버 관리부는, 상기 생성된 가상서버의 도메인이름을 설정하여 데이터베이스에 저장하고, 상기 가상서버 검색부가 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하지 못하거나 상기 생성된 가상서버가 사설망 또는 공중망을 통해 통신을 하고자 하는 경우에 상기 생성된 가상서버의 사설망 IP주소를 설정하고 상기 저장된 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록할 수 있다.In one embodiment, the virtual server management unit sets the domain name of the created virtual server and stores it in a database, and the virtual server search unit cannot retrieve a private network IP address associated with the received domain name from the database or When the generated virtual server wants to communicate through a private network or a public network, it can set the private network IP address of the created virtual server and associate the stored domain name with the private network IP address to register in the database.

일 실시예에서, 상기 가상서버 관리부는, 가상서버가 특정한 시간 동안 통신을 하지 않는 경우에 상기 가상서버에 설정된 사설망 IP주소를 회수할 수 있다.In one embodiment, the virtual server management unit may retrieve the private network IP address set in the virtual server when the virtual server does not communicate for a specific time.

일 실시예에서, 상기 연결요청 수신부는 클라이언트로부터 가상서버에 대한 도메인이름을 포함하지 않는 연결요청정보를 수신하고, 상기 연결요청정보는 클라이언트가 접속하려는 가상서버의 시스템 환경에 따라 구별되고, 상기 클라우드 기반 호스팅 시스템은 상기 수신된 연결요청정보에 대해 상기 접속하려는 가상서버의 시스템 환경에 따라 대응되는 연결응답정보를 클라이언트에 전송하는 연결요청 대응부를 포함할 수 있다.In one embodiment, the connection request receiving unit receives connection request information that does not include the domain name for the virtual server from the client, and the connection request information is distinguished according to the system environment of the virtual server to which the client is connected, and the cloud The base hosting system may include a connection request counter that transmits connection response information corresponding to the received connection request information to a client according to the system environment of the virtual server to be accessed.

일 실시예에서, 상기 생성된 가상서버의 상위 도메인이름이 동일하게 설정될 수 있다.In one embodiment, the upper domain name of the created virtual server may be set identically.

또한, 전술한 목적을 달성하기 위한 본 발명의 다른 실시예는 가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성단계; 상기 생성된 가상서버의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 가상서버 등록단계; 클라이언트로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신하는 연결요청 수신단계; 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색단계; 및 상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개단계를 포함하는 클라우드 기반 호스팅 방법을 제공한다.In addition, another embodiment of the present invention for achieving the above object is a virtual server generating step of generating a virtual server at the request of the virtual server administrator; A virtual server registration step of setting a domain name and a private network IP address of the generated virtual server and associating the domain name with the private network IP address in the database; A connection request reception step of receiving connection request information including a domain name for a virtual server from a client; A virtual server search step of searching for a private network IP address associated with the received domain name from the database; And a communication mediating step of mediating communication between the virtual server corresponding to the searched private network IP address and the client.

이상과 같이, 본 발명의 실시예들은 가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성부, 상기 생성된 가상서버의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 가상서버 관리부, 클라이언트로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신하는 연결요청 수신부, 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색부 및 상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개부를 포함하는 클라우드 기반 호스팅 시스템을 제공함으로써, 가상서버에 공중망 IP주소를 사용하지 않을 수 있으므로 가상서버의 개수가 제한되지 않고 비용을 절감할 수 있다. 또한, 가상서버에 공중망 IP주소를 할당하지 않아도 클라이언트에게 HTTP, HTTPS, MySQL, Mariadb, RDP 등의 다양한 서비스를 제공할 수 있고 프록시 서버에만 공중망 IP주소가 할당되므로 가상서버가 속한 사설망에 대한 보안이 강화될 수 있다.As described above, embodiments of the present invention, the virtual server generation unit for generating a virtual server at the request of the virtual server administrator, set the domain name and private network IP address of the generated virtual server and associate the domain name with the private network IP address Virtual server management unit to register in the database, connection request receiving unit to receive connection request information including the domain name for the virtual server from the client, virtual server search unit to retrieve the private network IP address associated with the received domain name from the database And by providing a cloud-based hosting system including a communication medium for mediating communication between the virtual server corresponding to the searched private network IP address and the client, the virtual server may not use the public network IP address, so the number of virtual servers You can save money without being limited. In addition, it is possible to provide various services such as HTTP, HTTPS, MySQL, Mariadb, RDP, etc. to clients even without assigning the public network IP address to the virtual server, and only the proxy server is assigned the public network IP address. Can be strengthened.

또한, 본 발명의 실시예들은 가상서버 관리부는 생성된 가상서버의 서비스종류 및 서비스종류에 대응하는 가상서버 포트번호를 도메인이름과 연관시켜 데이터베이스에 등록하고, 연결요청 수신부는 클라이언트로부터 가상서버에 대한 서비스종류를 포함하는 연결요청정보를 수신하고, 가상서버 검색부는 데이터베이스로부터 수신된 서비스종류에 대응하는 가상서버 포트번호를 검색하고, 통신매개부는 검색된 가상서버 포트번호를 이용하여 가상서버와 클라이언트 사이의 통신을 매개함으로써, 가상서버에 공중망 IP주소를 사용하지 않을 수 있으므로 가상서버의 개수가 제한되지 않고 비용을 절감할 수 있다.In addition, in the embodiments of the present invention, the virtual server management unit registers a virtual server port number corresponding to the service type and service type of the generated virtual server with a domain name and registers it in a database, and the connection request receiving unit connects the virtual server with The connection request information including the service type is received, the virtual server search unit searches the virtual server port number corresponding to the service type received from the database, and the communication media unit uses the searched virtual server port number to determine the connection between the virtual server and the client. By mediating the communication, the public IP address of the virtual server may not be used, so the number of virtual servers is not limited and the cost can be reduced.

또한, 본 발명의 실시예들은 가상서버 관리부는 생성된 가상서버의 도메인이름, 사설망 IP주소, 서비스종류 또는 서비스종류에 대응하는 가상서버 포트번호가 변경된 경우에는 변경사항을 데이터베이스에 등록함으로써, 가상서버에 공중망 IP주소를 사용하지 않을 수 있으므로 가상서버의 개수가 제한되지 않고 비용을 절감할 수 있다.In addition, embodiments of the present invention, the virtual server management unit registers the changes in the database when the virtual server port number corresponding to the domain name, private network IP address, service type or service type of the generated virtual server is changed, thereby enabling the virtual server. Since the public network IP address may not be used, the number of virtual servers is not limited and the cost can be reduced.

또한, 본 발명의 실시예들은 가상서버 관리부는 생성된 가상서버의 도메인이름을 설정하여 데이터베이스에 저장하고, 가상서버 검색부가 데이터베이스로부터 수신된 도메인이름과 연관된 사설망 IP주소를 검색하지 못하거나 생성된 가상서버가 사설망 또는 공중망을 통해 통신을 하고자 하는 경우에 생성된 가상서버의 사설망 IP주소를 설정하고 저장된 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록함으로써, 사설망 IP주소의 개수가 제한되어 가상서버의 개수가 제한되는 문제를 해결할 수 있다.In addition, in the embodiments of the present invention, the virtual server management unit sets the domain name of the generated virtual server and stores it in the database, and the virtual server search unit fails to retrieve the private network IP address associated with the domain name received from the database or creates the virtual When a server wants to communicate through a private network or a public network, by setting the private network IP address of the created virtual server and associating the saved domain name with the private network IP address in the database, the number of private network IP addresses is limited and the virtual server It can solve the problem that the number is limited.

또한, 본 발명의 실시예들은 가상서버 관리부는 가상서버가 특정한 시간 동안 통신을 하지 않는 경우에 상기 가상서버에 설정된 사설망 IP주소를 회수함으로써, 사설망 IP주소의 개수가 제한되어 가상서버의 개수가 제한되는 문제를 해결할 수 있다.In addition, in the embodiments of the present invention, the virtual server management unit recovers the private network IP address set in the virtual server when the virtual server does not communicate for a specific time, thereby limiting the number of private network IP addresses and limiting the number of virtual servers. Can solve the problem.

또한, 본 발명의 실시예들은 클라이언트로부터 가상서버에 대한 도메인이름을 포함하지 않는 연결요청정보를 수신하고, 연결요청정보는 클라이언트가 접속하려는 가상서버의 시스템 환경에 따라 구별되고, 수신된 연결요청정보에 대해 접속하려는 가상서버의 시스템 환경에 따라 대응되는 연결응답정보를 클라이언트에 전송함으로써, 가상서버가 도메인이름을 통해 특정되기 전에도 이후에 특정될 가상서버의 시스템 환경에 따라 가상서버와 클라이언트 사이에 연결이 올바로 이루어지도록 할 수 있고 가상서버(120)의 다양한 시스템 환경에 맞추어 다양한 서비스를 제공할 수 있도록 한다.In addition, embodiments of the present invention receive connection request information that does not include the domain name for the virtual server from the client, the connection request information is distinguished according to the system environment of the virtual server to which the client is connected, and the received connection request information By sending the corresponding connection response information to the client according to the system environment of the virtual server to be connected to, the connection between the virtual server and the client according to the system environment of the virtual server to be specified even before the virtual server is specified through the domain name. This can be done properly and to provide various services according to various system environments of the virtual server 120.

또한, 본 발명의 실시예들은 생성된 가상서버의 상위 도메인이름이 동일하게 설정되도록 함으로써, 도메인이름 등록에 따른 비용을 절약할 수 있고 프록시 서버(140)의 공중망 IP주소를 빠르게 검색할 수 있다.In addition, according to embodiments of the present invention, by setting the upper domain name of the generated virtual server to be the same, it is possible to save the cost associated with domain name registration and to quickly search the public network IP address of the proxy server 140.

또한, 본 발명의 실시예들은 가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성단계, 상기 생성된 가상서버의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 가상서버 등록단계, 클라이언트로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신하는 연결요청 수신단계, 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색단계 및 상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개단계를 포함하는 클라우드 기반 호스팅 방법을 제공함으로써, 가상서버에 공중망 IP주소를 사용하지 않을 수 있으므로 가상서버의 개수가 제한되지 않고 비용을 절감할 수 있다.In addition, embodiments of the present invention, a virtual server generation step of generating a virtual server at the request of a virtual server administrator, the domain name and the private network IP address of the generated virtual server is set, and the domain name and the private network IP address are associated with the database. Virtual server registration step to register, a connection request reception step to receive connection request information including a domain name for a virtual server from a client, and a virtual server search step to search a private network IP address associated with the received domain name from the database And by providing a cloud-based hosting method comprising a communication mediation step of mediating communication between the virtual server corresponding to the searched private network IP address and the client, the public server IP address may not be used for the virtual server, so the number of virtual servers Is not limited and can save money.

이상의 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.It is not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.

도 1은 본 발명에 따른 클라우드 기반 호스팅 시스템의 일례를 예시적으로 나타낸 도면이다.
도 2는 본 발명에 따른 클라우드 기반 호스팅 시스템의 일례를 예시적으로 나타낸 블럭 구성도이다.
도 3은 본 발명에 따른 데이터베이스 자료구조의 일례를 예시적으로 나타낸 도면이다.
도 4는 본 발명에 따른 클라우드 기반 호스팅 방법의 일례를 예시적으로 나타낸 도면이다.
도 5는 본 발명에 따른 클라우드 기반 호스팅 시스템이 동작하는 일례를 예시적으로 나타낸 도면이다.
도 6은 본 발명에 따른 클라우드 기반 호스팅 시스템이 동작하는 다른 일례를 예시적으로 나타낸 도면이다.
도 7은 본 발명에 따른 클라우드 기반 호스팅 시스템이 동작하는 다른 일례를 예시적으로 나타낸 도면이다.
도 8은 http 서비스를 제공하는 일례를 예시적으로 나타낸 도면이다.
도 9는 http 및 https 서비스를 제공하는 일례를 예시적으로 나타낸 도면이다.
도 10은 본 발명에 따른 프록시 서버의 일례를 예시적으로 나타낸 도면이다.
1 is a view showing an example of a cloud-based hosting system according to the present invention by way of example.
2 is a block diagram illustrating an example of a cloud-based hosting system according to the present invention.
3 is a diagram illustrating an example of a database data structure according to the present invention.
4 is a diagram illustrating an example of a cloud-based hosting method according to the present invention.
5 is a diagram illustrating an example of the operation of the cloud-based hosting system according to the present invention.
6 is a diagram illustrating another example of the operation of the cloud-based hosting system according to the present invention.
7 is a diagram showing another example of the operation of the cloud-based hosting system according to the present invention by way of example.
8 is a diagram illustrating an example of providing an http service.
9 is a diagram showing an example of providing http and https services by way of example.
10 is a view showing an example of a proxy server according to the present invention by way of example.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예들에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예들에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 본 실시예들은 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.Since the description of the present invention is merely embodiments for structural or functional description, the scope of the present invention should not be interpreted as being limited by the embodiments described in the text. That is, since the present embodiments can be variously changed and have various forms, it should be understood that the scope of the present invention includes equivalents capable of realizing technical ideas.

또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment should include all of them or only such an effect, and the scope of the present invention should not be understood as being limited thereby.

또한, 이하에 첨부되는 도면들은 본 발명의 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.In addition, the accompanying drawings are provided to help understanding of the present invention, and provide embodiments with detailed description. However, the technical features of the present invention are not limited to specific drawings, and the features disclosed in each drawing may be combined with each other to form a new embodiment.

이하의 실시예들에서 개시되는 클라우드 기반 호스팅 시스템에 대해 각 도면을 참조하여 보다 구체적으로 살펴보기로 한다.The cloud-based hosting system disclosed in the following embodiments will be described in more detail with reference to each drawing.

도 1은 본 발명에 따른 클라우드 기반 호스팅 시스템의 일례를 예시적으로 나타낸 도면이다.1 is a view showing an example of a cloud-based hosting system according to the present invention by way of example.

도 1을 참조하면, 일 실시예에 따른 클라우드 기반 호스팅 시스템(100)은 클라우드 매니저(110), 가상서버(120), 데이터베이스(130) 및 프록시 서버(140)를 포함하여 구성될 수 있다.Referring to FIG. 1, the cloud-based hosting system 100 according to an embodiment may include a cloud manager 110, a virtual server 120, a database 130, and a proxy server 140.

또한, 클라우드 매니저(110), 가상서버(120), 데이터베이스(130) 및 프록시 서버(140)는 사설망을 통해 서로 통신할 수 있다. 여기에서, 사설망(private network)은 인터넷 어드레싱 아키텍처에서 사설 IP 주소 공간을 이용하는 네트워크를 의미할 수 있다.In addition, the cloud manager 110, the virtual server 120, the database 130 and the proxy server 140 may communicate with each other through a private network. Here, a private network may refer to a network using a private IP address space in the Internet addressing architecture.

또한, 클라우드 매니저(110)는 가상서버 관리자 단말(200)과 공중망을 통해 통신할 수 있고 프록시 서버(140)는 클라이언트 단말(300)과 공중망을 통해 통신할 수 있다.In addition, the cloud manager 110 may communicate with the virtual server manager terminal 200 through the public network, and the proxy server 140 may communicate with the client terminal 300 through the public network.

여기에서, 가상서버 관리자란 클라우드 기반 호스팅 서비스를 이용하기 위해 가상서버(120)를 생성하거나 관리하는 주체를 의미할 수 있고 클라이언트란 가상서버(120)에서 제공되는 웹사이트 또는 개발환경 등의 서비스를 이용하기 위해 가상서버(120)에 접근하려는 주체를 의미할 수 있다.Here, the virtual server manager may mean a subject that creates or manages the virtual server 120 to use the cloud-based hosting service, and the client refers to a service such as a website or development environment provided by the virtual server 120. It may mean a subject who wants to access the virtual server 120 for use.

가상서버 관리자가 가상서버(120)를 생성한 경우에는 가상서버(120)를 통해 하나의 물리적 서버의 컴퓨팅 능력 중 일부를 이용한다는 의미에서 가상서버 관리자는 테넌트를 의미할 수 있다. 여기에서, 테넌트란 동일한 가상서버(120)를 사용할 수 있는 가상서버 관리자 그룹을 의미할 수 있다.When the virtual server manager creates the virtual server 120, the virtual server manager may mean a tenant in the sense that some of the computing power of one physical server is used through the virtual server 120. Here, the tenant may mean a group of virtual server administrators who can use the same virtual server 120.

한편, 멀티 테넌트란 하나의 물리적 서버를 여러 테넌트가 독립적으로 사용할 수 있도록 하나의 물리적 서버의 컴퓨팅 능력을 여러 개의 가상서버(120)로 쪼개 쓰는 것을 의미할 수 있다.Meanwhile, the multi-tenant may mean splitting the computing power of one physical server into multiple virtual servers 120 so that multiple tenants can independently use one physical server.

이하, 가상서버 관리자와 가상서버 관리자 단말(200)을 혼용하여 사용하고 클라이언트와 클라이언트 단말(300)을 혼용하여 사용한다.Hereinafter, the virtual server manager and the virtual server manager terminal 200 are used interchangeably, and the client and the client terminal 300 are used interchangeably.

또한 여기에서, 단말은 데스크탑, 노트북, 휴대폰, 스마트 폰(2G/3G/4G/LET, smart phone), PMP(Portable Media Player), PDA(Personal Digital Assistant) 및 타블렛 PC(Tablet PC) 중 어느 하나일 수 있다.In addition, here, the terminal is one of a desktop, laptop, mobile phone, smart phone (2G/3G/4G/LET, smart phone), PMP (Portable Media Player), PDA (Personal Digital Assistant) and tablet PC (Tablet PC) Can be

또한 여기에서, 공중망(public network)은 인터넷 어드레싱 아키텍처에서 공인 IP 주소 공간을 이용하는 네트워크를 의미할 수 있다.Also, here, the public network may refer to a network using a public IP address space in the Internet addressing architecture.

도 2는 본 발명에 따른 클라우드 기반 호스팅 시스템의 일례를 예시적으로 나타낸 블럭 구성도이다.2 is a block diagram illustrating an example of a cloud-based hosting system according to the present invention.

도 2를 참조하면, 일 실시예에 따른 클라우드 기반 호스팅 시스템(100)은 도 1에서 살펴본 바와 같이 클라우드 매니저(110), 가상서버(120), 데이터베이스(130) 및 프록시 서버(140)를 포함하여 구성될 수 있다.Referring to FIG. 2, the cloud-based hosting system 100 according to an embodiment includes a cloud manager 110, a virtual server 120, a database 130, and a proxy server 140 as shown in FIG. 1. Can be configured.

클라우드 매니저(110)는 가상서버(120)와 연결될 수 있고 사설망을 통해 데이터베이스(130)와 통신할 수 있으며 공중망을 통해 가상서버 관리자 단말(200)과 통신할 수 있다. 클라우드 매니저(110)는 가상서버 관리자 인터페이스(112), 가상서버 생성부(114) 및 가상서버 관리부(116)를 포함하여 구성될 수 있다.The cloud manager 110 may be connected to the virtual server 120, may communicate with the database 130 through a private network, and may communicate with the virtual server manager terminal 200 through a public network. The cloud manager 110 may include a virtual server manager interface 112, a virtual server creation unit 114, and a virtual server management unit 116.

가상서버 관리자 인터페이스(112)는 가상서버 관리자 단말(120)이 클라우드 매니저(110) 또는 가상서버(120)와 공중망을 통해 통신할 수 있도록 통신 인터페이스를 제공할 수 있다. 여기에서, 통신 인터페이스는 데이터 송수신을 위한 하드웨어적 인터페이스 또는 소프트웨어적인 프로토콜 인터페이스를 포함할 수 있다.The virtual server manager interface 112 may provide a communication interface so that the virtual server manager terminal 120 can communicate with the cloud manager 110 or the virtual server 120 through a public network. Here, the communication interface may include a hardware interface for data transmission and reception or a software protocol interface.

예를 들면, 가상서버 관리자 인터페이스(112)는 가상서버 관리자(200)가 웹브라우저를 이용하여 클라우드 매니저(110) 또는 가상서버(120)와 통신할 수 있도록 웹 서버 기능을 제공할 수 있다.For example, the virtual server manager interface 112 may provide a web server function so that the virtual server manager 200 can communicate with the cloud manager 110 or the virtual server 120 using a web browser.

한편, 가상서버 관리자(200)는 가상서버 관리자 인터페이스(112)를 통하지 않고 가상서버(120)에 직접 접속하여 통신함으로써 가상서버(120)를 관리하거나 가상서버(120)가 제공하는 서비스를 이용할 수 있다.On the other hand, the virtual server manager 200 can directly connect to and communicate with the virtual server 120 without going through the virtual server manager interface 112 to manage the virtual server 120 or use a service provided by the virtual server 120. have.

가상서버 생성부(114)는 가상서버 관리자(200)의 요청에 의해 가상서버(120)를 생성할 수 있고 생성된 가상서버(120)에 가상서버 식별자를 할당할 수 있다.The virtual server generating unit 114 may generate the virtual server 120 at the request of the virtual server manager 200 and assign a virtual server identifier to the generated virtual server 120.

가상서버 관리부(116)는 가상서버(120)를 관리할 수 있다. 구체적으로, 생성된 가상서버(120)의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스(130)에 등록하거나 도메인이름과 가상서버 식별자를 연관시켜 데이터베이스(130)에 등록하거나 도메인이름과 사설망 IP주소 및 가상서버 식별자를 연관시켜 데이터베이스(130)에 등록할 수 있다.The virtual server management unit 116 may manage the virtual server 120. Specifically, the domain name and the private network IP address of the generated virtual server 120 are set, and the domain name and the private network IP address are associated and registered in the database 130, or the domain name and the virtual server identifier are associated with the database 130. It can be registered or registered in the database 130 by associating a domain name with a private network IP address and a virtual server identifier.

여기에서, 도메인이름(domain name)이란 네트워크상에서 컴퓨터를 식별하는 호스트명으로서 도메인 네임 시스템(DNS)을 구성하는 도메인 네임 데이터베이스에 등록된 이름을 의미할 수 있다.Here, the domain name may mean a name registered in a domain name database constituting a domain name system (DNS) as a host name that identifies a computer on a network.

구체적으로, 가상서버 관리부(116)는 가상서버 관리자(200)가 지정한 도메인이름을 가상서버(120)의 도메인이름으로 설정할 수 있고 사용 가능한 사설망 IP주소 중에서 어느 하나를 가상서버(120)의 사설망 IP주소로 설정할 수 있다.Specifically, the virtual server management unit 116 may set the domain name designated by the virtual server manager 200 as the domain name of the virtual server 120 and use any one of the available private network IP addresses as the private network IP of the virtual server 120 Can be set by address.

이 때에, 가상서버 관리부(116)는 가상서버(120)를 생성한 직후에 사설망 IP주소를 설정할 수도 있고 가상서버(120)가 공중망 또는 사설망을 통해 실제로 통신을 해야할 필요가 있는 시점에 가상서버(120)의 사설망 IP주소를 설정할 수도 있다. 후자와 관련된 사항은 도 6에서 살펴본다.At this time, the virtual server management unit 116 may set the private network IP address immediately after the virtual server 120 is created, or the virtual server 120 may need to actually communicate through the public or private network. 120) can also set the private network IP address. The latter is related to FIG. 6.

또한, 가상서버 관리부(116)는 생성된 가상서버(120)의 서비스종류 및 서비스종류에 대응하는 가상서버 포트번호를 가상서버(120)의 도메인이름 또는 가상서버 식별자와 연관시켜 데이터베이스(130)에 등록할 수 있다.In addition, the virtual server management unit 116 associates the virtual server port number corresponding to the service type and service type of the generated virtual server 120 with the domain name or virtual server identifier of the virtual server 120 to the database 130. You can register.

여기에서, 서비스종류란 HTTP(Hypertext Transfer Protocol), HTTPS(Hypertext Transfer Protocol Secure)와 같은 웹 서비스, RDP(Remote Desktop Protocol) 서비스, SSL(Secure Sockets Layer) 기반 RDP 서비스, MySQL 또는 SSL 기반 MySQL 서비스, SSL 기반 PostgreSQL 서비스 등을 의미할 수 있고 서비스종류는 서비스가 제공되는 서비스 포트번호로 표현될 수 있다. 예컨대, HTTP 서비스는 일반적으로 웹서버의 80번 포트에서 제공되므로 80번 포트번호로 표현될 수 있고, HTTPS 서비스는 일반적으로 웹서버의 443번 포트에서 제공되므로 443번 포트번호로 표현될 수 있고, RDP 서비스는 일반적으로 RDP서버의 443번 포트에서 제공되므로 3389번 포트번호로 표현될 수 있다.Here, the service type is a web service such as Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), Remote Desktop Protocol (RDP) service, RDP service based on Secure Sockets Layer (SSL), MySQL or SSL based MySQL service, It can mean SSL-based PostgreSQL service, etc., and the service type can be expressed by the service port number where the service is provided. For example, since HTTP service is generally provided at port 80 of the web server, it can be expressed as port number 80. HTTPS service is generally provided at port 443 of the web server, so it can be expressed as port 443. RDP service is generally provided on port 443 of the RDP server, so it can be expressed as port number 3389.

또한 여기에서, 가상서버 포트번호란 가상서버(120)에서 서비스하는 서비스종류에 대해 가상서버(120)에서 실제로 사용되는 포트번호를 의미할 수 있다. 예컨대, HTTP 서비스(80번)에 대해 가상서버(120)에서는 가상서버 포트번호로 8080번을 사용할 수 있다.In addition, here, the virtual server port number may mean a port number actually used by the virtual server 120 for a service type serviced by the virtual server 120. For example, for the HTTP service (No. 80), the virtual server 120 may use 8080 as the virtual server port number.

또한, 가상서버 관리부(116)는 가상서버(120)의 도메인이름, 사설망 IP주소, 서비스종류 또는 서비스종류에 대응하는 가상서버 포트번호가 변경된 경우에는 변경사항을 데이터베이스(130)에 등록할 수 있다.In addition, the virtual server management unit 116 may register the change in the database 130 when the domain name of the virtual server 120, the private network IP address, the service server or the virtual server port number corresponding to the service type is changed. .

도 3은 본 발명에 따른 데이터베이스 자료구조의 일례를 예시적으로 나타낸 도면이다.3 is a diagram illustrating an example of a database data structure according to the present invention.

도 3을 참조하면, 일 실시예에 따른 데이터베이스(130)에는 가상서버 식별자, 가상서버(120)의 도메인이름, 서비스 포트(서비스종류), 사설망 IP주소 및 서비스종류에 대응하는 가상서버 포트번호가 저장될 수 있다.Referring to FIG. 3, the database 130 according to an embodiment includes a virtual server identifier, a domain name of the virtual server 120, a service port (service type), a private network IP address, and a virtual server port number corresponding to the service type. Can be saved.

여기에서, 가상서버 식별자가 데이터베이스(130)에 저장되어야 하는지에 대해 살펴본다.Here, it will be described whether the virtual server identifier should be stored in the database 130.

가상서버 식별자는 데이터베이스(130)에 반드시 저장되어야 하는 것은 아니다. 구체적으로, 가상서버(120)가 가상서버(120)에 설정된 도메인이름 또는 사설망 IP주소로 식별될 수 있는 경우에는 도메인이름 또는 사설망 IP주소가 가상서버 식별자를 갈음할 수 있으므로 가상서버 식별자를 데이터베이스(130)에 저장할 필요가 없다. 다만, 이 때에는 도메인이름 또는 사설망 IP주소가 데이터베이스(130)에 저장되어야 한다.The virtual server identifier is not necessarily stored in the database 130. Specifically, when the virtual server 120 can be identified by the domain name or the private network IP address set in the virtual server 120, the domain server or the private network IP address can replace the virtual server identifier, so the virtual server identifier database ( 130). However, in this case, the domain name or the private network IP address should be stored in the database 130.

한편, 가상서버(120)의 사설망 IP주소가 동적으로 할당되는 경우에는 사설망 IP주소로 가상서버(120)를 식별할 수 없으므로 가상서버 식별자를 데이터베이스(130)에 저장할 필요가 있을 수 있다. 다만, 이 경우에도 도메인이름으로 가상서버(120)를 식별할 수 있는 경우에는 가상서버 식별자를 데이터베이스(130)에 저장할 필요가 없다. 여기에서, 도메인이름으로 가상서버(120)를 식별할 수 있는 경우란 동일한 도메인이름에 대해 중복되는 가상서버(120)가 없는 경우를 의미할 수 있다.On the other hand, when the private network IP address of the virtual server 120 is dynamically allocated, since the virtual server 120 cannot be identified by the private network IP address, it may be necessary to store the virtual server identifier in the database 130. However, even in this case, if the virtual server 120 can be identified by the domain name, there is no need to store the virtual server identifier in the database 130. Here, the case where the virtual server 120 can be identified by the domain name may mean a case where there is no duplicate virtual server 120 for the same domain name.

사설망 IP주소의 동적 할당은 도 6에서 살펴본다.The dynamic allocation of the private network IP address is described in FIG. 6.

가상서버(120)는 클라우드 매니저(110)와 하나의 물리적 서버에서 구성될 수도 있고 물리적으로 분리된 서버에서 구성될 수도 있다.The virtual server 120 may be configured on the cloud manager 110 and one physical server or may be configured on a physically separate server.

가상서버(120)는 가상서버 관리자(200)의 요청에 의해 클라우드 매니저(110)의 가상서버 생성부(114)에서 생성되고 클라우드 매니저(110)의 가상서버 관리부(116)에 의해 관리될 수 있다.The virtual server 120 may be generated by the virtual server creation unit 114 of the cloud manager 110 at the request of the virtual server manager 200 and managed by the virtual server management unit 116 of the cloud manager 110. .

또한, 가상서버(120)는 클라이언트(300)에게 서비스를 제공할 수 있도록 가상서버 식별자, 도메인이름, 사설망 IP주소, 서비스종류 및 서비스종류에 대응하는 가상서버 포트번호를 구비할 수 있다.In addition, the virtual server 120 may include a virtual server identifier, a domain name, a private network IP address, a service type, and a virtual server port number corresponding to the service type to provide a service to the client 300.

또한, 가상서버(120)는 클라우드 매니저(110)의 가상서버 관리자 인터페이스(112)를 통해 클라우드 매니저(100) 또는 가상서버(120)에 접속한 가상서버 관리자(200)가 운영 체제나 응용 프로그램을 설치 및 실행함으로써 관리될 수 있다.In addition, the virtual server 120 is the virtual server manager 200 connected to the cloud manager 100 or the virtual server 120 through the virtual server manager interface 112 of the cloud manager 110, operating system or application program. Can be managed by installing and running.

데이터베이스(130)는 도 3에서 살펴본 바와 같이, 가상서버 식별자, 가상서버(120)의 도메인이름, 서비스 포트(서비스종류), 사설망 IP주소 또는 서비스 포트(서비스종류)에 대응하는 가상서버 포트번호를 저장할 수 있다.As shown in FIG. 3, the database 130 displays a virtual server identifier, a domain name of the virtual server 120, a service port (service type), a private network IP address, or a virtual server port number corresponding to a service port (service type). Can be saved.

이러한 데이터베이스(130)는 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라, 파일 시스템에 기반한 데이터 기록 등을 포함하는 넓은 의미의 데이터베이스도 포함하여 지칭하며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서 말하는 데이터베이스의 범주안에 포함된다.The database 130 is a concept including a computer-readable recording medium, and includes not only a consultative database, but also a database having a broad meaning including data recording based on a file system. If the data can be extracted, it is included in the scope of the database referred to in the present invention.

프록시 서버(140)는 연결요청 수신부(142), 가상서버 검색부(144), 통신매개부(146) 및 접속요청 대응부(148)를 포함하여 구성될 수 있다.The proxy server 140 may include a connection request receiving unit 142, a virtual server searching unit 144, a communication mediator 146, and a connection request counterpart 148.

연결요청 수신부(142)는 클라이언트(300)로부터 가상서버(120)에 대한 도메인이름을 포함하거나 도메인이름 및 서비스종류를 포함하는 연결요청정보를 수신할 수 있다.The connection request receiving unit 142 may receive connection request information including a domain name for the virtual server 120 or a domain name and a service type from the client 300.

이 때에, 가상서버(120)의 도메인이름은 HTTP 메시지의 헤더 등에 포함될 수 있고 HTTPS 또는 SSL 기반의 RDP 등과 같이 SSL/TLS(Transport Layer Security)를 사용하는 경우에는 TLS의 Client Hello 메시지의 SNI 확장에 포함될 수 있다.At this time, the domain name of the virtual server 120 may be included in the header of the HTTP message, and when using SSL/TLS (Transport Layer Security) such as HTTPS or SSL-based RDP, the SNI extension of the TLS Client Hello message is used. Can be included.

여기에서, SNI(Server Name Indication)란 컴퓨터 네트워크 프로토콜인 TLS의 확장으로서 TLS 핸드셰이킹 과정에서 클라이언트가 어느 호스트네임을 갖는 서버에 접속하려는지를 서버로 전송할 수 있도록 한다. SNI는 동일한 IP 주소와 TCP 포트 번호를 가진 프록시 서버가 호스트네임에 따라 서로 다른 여러 개의 인증서를 사용할 수 있게 해줌으로써, 프록시 서버를 통해 서비스를 제공하는 모든 서버가 같은 인증서를 사용하지 않아도 TLS 상에서 수행되는 여러 서버의 서비스를 운영할 수 있도록 한다.Here, SNI (Server Name Indication) is an extension of TLS, which is a computer network protocol, so that in the TLS handshaking process, a host having a hostname connected to a server can be transmitted to the server. SNI allows proxy servers with the same IP address and TCP port number to use multiple different certificates depending on the host name. Therefore, all servers that provide services through the proxy server perform on TLS without using the same certificate. It is possible to operate services of multiple servers.

또한, 연결요청 수신부(142)는 클라이언트(300)로부터 가상서버(120)에 대한 도메인이름을 포함하지 않는 연결요청정보를 수신할 수도 있다. 이 때에, 연결요청정보는 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경에 따라 구별될 수 있다. 이와 관련하여, 후술할 연결요청 대응부(148)에서 살펴본다.Also, the connection request receiving unit 142 may receive connection request information that does not include the domain name for the virtual server 120 from the client 300. At this time, the connection request information may be distinguished according to the system environment of the virtual server 120 to which the client 300 intends to access. In this regard, the connection request counterpart 148, which will be described later, looks at it.

가상서버 검색부(144)는 연결요청 수신부(142)에서 수신한 도메인이름과 연관된 사설망 IP주소를 데이터베이스(130)에서 검색할 수 있다.The virtual server search unit 144 may search the database 130 for a private network IP address associated with the domain name received by the connection request receiving unit 142.

또한, 가상서버 검색부(144)는 연결요청 수신부(142)에서 수신한 서비스종류에 대응하는 가상서버 포트번호를 데이터베이스(130)에서 검색할 수 있다.Also, the virtual server search unit 144 may search the database 130 for a virtual server port number corresponding to the service type received by the connection request receiving unit 142.

또한, 가상서버 검색부(144)는 연결요청 수신부(142)에서 수신된 도메인이름과 연관된 사설망 IP주소를 데이터베이스(130)에서 검색하지 못한 경우에 수신된 도메인 이름에 해당하는 가상서버 식별자를 데이터베이스(130)로부터 전달받고 전달받은 가상서버 식별자를 클라우드 매니저(110)에게 전송하여 상기 가상서버 식별자를 갖는 가상서버(120)에 사설망 IP주소를 설정할 것을 요청할 수 있다.In addition, the virtual server search unit 144, if the private network IP address associated with the domain name received from the connection request receiving unit 142 is not found in the database 130, the virtual server identifier corresponding to the received domain name database ( 130, the virtual server identifier transmitted from and received from the cloud manager 110 may be requested to set the private network IP address to the virtual server 120 having the virtual server identifier.

한편, 전술한 바와 같이 가상서버(120)가 도메인이름으로 식별될 수 있는 경우에는 가상서버 식별자가 불필요하므로 가상서버 검색부(144)는 연결요청 수신부(142)에서 수신된 도메인이름과 연관된 사설망 IP주소를 데이터베이스(130)에서 검색하지 못한 경우에 수신된 도메인이름을 클라우드 매니저(110)에게 전송하여 상기 도메인이름을 갖는 가상서버(120)에 사설망 IP주소를 설정할 것을 요청할 수도 있다.On the other hand, if the virtual server 120 can be identified as a domain name as described above, the virtual server identifier is unnecessary, so the virtual server search unit 144 is a private network IP associated with the domain name received from the connection request receiving unit 142. When the address is not retrieved from the database 130, the received domain name may be transmitted to the cloud manager 110 to request the virtual server 120 having the domain name to set the private network IP address.

통신매개부(146)는 검색된 사설망 IP주소에 해당하는 가상서버(120)와 클라이언트(300) 사이의 통신을 매개할 수 있다.The communication mediation unit 146 may mediate communication between the virtual server 120 and the client 300 corresponding to the searched private network IP address.

또한, 통신매개부(146)는 검색된 가상서버 포트번호를 이용하여 가상서버(120)와 클라이언트(300) 사이의 통신을 매개할 수 있다.In addition, the communication mediation unit 146 may mediate communication between the virtual server 120 and the client 300 using the searched virtual server port number.

구체적으로, 통신매개부(146)는 검색된 사설망 IP주소 및 검색된 가상서버 포트번호에 해당하는 가상서버(120)의 서비스 포트와 연결을 설정하고 클라이언트(300)로부터 수신한 패킷을 상기 가상서버(120)의 서비스 포트로 포워딩하고 상기 가상서버(120)의 서비스 포트로부터 수신한 패킷을 클라이언트(300)로 포워딩할 수 있다.Specifically, the communication medium 146 establishes a connection with the service port of the virtual server 120 corresponding to the searched private network IP address and the searched virtual server port number, and receives the packet received from the client 300 in the virtual server 120 ) To the service port and forward the packet received from the service port of the virtual server 120 to the client 300.

연결요청 대응부(148)는 연결요청정보에 대해서 가상서버(120)의 시스템 환경에 따라 대응되는 연결응답정보를 미리 저장할 수 있다.The connection request response unit 148 may store connection response information corresponding to the connection request information according to the system environment of the virtual server 120 in advance.

또한, 연결요청 대응부(148)는 연결요청 수신부(142)에서 수신된 연결요청정보로서 도메인이름을 포함하지 않는 연결요청정보에 대해 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경에 따라 대응되는 연결응답정보를 상기 저장된 정보를 이용하여 구할 수 있고 클라이언트(300)에 전송할 수 있다. 여기에서, 시스템 환경이란 가상서버(120)의 운영체제, 서버 프로그램 또는 환경설정값 등을 의미할 수 있다.In addition, the connection request correspondence unit 148 is the connection request information received from the connection request receiving unit 142 to the system environment of the virtual server 120 that the client 300 wants to connect to the connection request information that does not include a domain name. Accordingly, corresponding connection response information may be obtained using the stored information and may be transmitted to the client 300. Here, the system environment may mean an operating system, a server program, or environment setting values of the virtual server 120.

예를 들면, 클라이언트(300)는 WINDOWS 7 운영체제가 설치된 가상서버(120) k에 접속하여 RDP 서비스를 제공받기 위해 프록시 서버(140)의 공중망 IP주소 및 WINDOWS 7 운영체제가 설치된 가상서버(120)들에 할당된 RDP 포트번호 a로 RDP 연결요청정보를 전송할 수 있다.For example, the client 300 accesses the virtual server 120 k installed with the WINDOWS 7 operating system and receives the RDP service from the public server IP address of the proxy server 140 and the virtual servers 120 installed with the WINDOWS 7 operating system. RDP connection request information may be transmitted to the RDP port number a assigned to the RDP.

이 때에, RDP 연결요청정보에는 가상서버(120) k의 도메인이름이 포함되지 않아서 가상서버(120)를 k로 특정할 수 없으므로 프록시 서버(140)는 클라이언트(300)를 가상서버(120) k와 연결시킬 수는 없다.At this time, since the RDP connection request information does not include the domain name of the virtual server 120 k, the virtual server 120 cannot be specified as k, so the proxy server 140 sets the client 300 to the virtual server 120 k You cannot connect with.

그러나, 프록시 서버(140)는 RDP 연결요청정보에 포함된 포트번호 a로부터 클라이언트(300)가 접속하려는 가상서버(120) k의 시스템 환경이 WINDOWS 7이라는 것을 알 수 있으므로 프록시 서버(140)의 연결요청 대응부(148)는 RDP 연결요청정보에 대응하여 WINDOWS 7 운영체제를 갖는 가상서버(120) k가 전송할 RDP 연결응답정보를 가상서버(120) k를 대신하여 클라이언트(300)에 전송할 수 있다.However, since the proxy server 140 can know that the system environment of the virtual server 120 k to which the client 300 wants to access is WINDOWS 7 from the port number a included in the RDP connection request information, the connection of the proxy server 140 The request response unit 148 may transmit the RDP connection response information to be transmitted by the virtual server 120 k having the WINDOWS 7 operating system to the client 300 in place of the virtual server 120 k in response to the RDP connection request information.

한편, 전술한 사항은 하나의 예에 불과하므로, 시스템 환경은 운영체제에만 한정되는 것은 아니고 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경을 구별하도록 하는 정보는 포트번호에만 한정되는 것도 아니다. 또한, 이와 같은 방법은 RDP 뿐만 아니라 MySQL 등 다른 서비스에도 적용될 수 있다.On the other hand, since the above-mentioned matter is only one example, the system environment is not limited to the operating system, and information that allows the client 300 to distinguish the system environment of the virtual server 120 to be accessed is not limited to the port number. . In addition, this method can be applied to other services such as MySQL as well as RDP.

이와 관련하여, 도 7에서 구체적으로 살펴본다.In this regard, it will be described in detail in FIG. 7.

도 4는 본 발명에 따른 클라우드 기반 호스팅 방법의 일례를 예시적으로 나타낸 도면이다.4 is a diagram illustrating an example of a cloud-based hosting method according to the present invention.

도 4를 참조하면, 일 실시예에 따른 클라우드 기반 호스팅 방법(400)은 가상서버 생성단계(S410), 가상서버 등록단계(S420), 연결요청 수신단계(S430), 가상서버 검색단계(S440) 및 통신매개단계(S450)를 포함하여 구성될 수 있다.4, the cloud-based hosting method 400 according to an embodiment includes a virtual server creation step (S410), a virtual server registration step (S420), a connection request reception step (S430), and a virtual server search step (S440). And it may be configured to include a communication mediation step (S450).

도 5는 본 발명에 따른 클라우드 기반 호스팅 시스템이 동작하는 일례를 예시적으로 나타낸 도면이다.5 is a diagram illustrating an example of the operation of the cloud-based hosting system according to the present invention.

도 5를 참조하면, 클라우드 매니저(110), 가상서버(120), 데이터베이스(130), 프록시 서버(140), 가상서버 관리자 단말(200) 및 클라이언트 단말(300)은 서로 통신하여 클라이언트(300)에게 서비스를 제공할 수 있고 각 단계는 도 4의 각 단계(S410 내지 S450)와 매칭될 수 있다.5, the cloud manager 110, the virtual server 120, the database 130, the proxy server 140, the virtual server manager terminal 200 and the client terminal 300 communicate with each other to the client 300 To each service, and each step may be matched with each step (S410 to S450) of FIG. 4.

클라우드 기반 호스팅 방법(400)과 관련하여 도 4 및 도 5를 함께 살펴본다.4 and 5 in connection with the cloud-based hosting method 400.

가상서버 생성단계(S410)에서, 클라우드 기반 호스팅 시스템(100)은 가상서버 관리자(200)의 요청에 의해 가상서버(120)를 생성할 수 있다. 구체적으로 클라우드 매니저(110)는 도메인이름을 포함하는 가상서버 관리자(200)의 가상서버 생성요청정보를 수신하여 가상서버(120)를 생성할 수 있다.In the virtual server creation step (S410 ), the cloud-based hosting system 100 may generate the virtual server 120 at the request of the virtual server manager 200. Specifically, the cloud manager 110 may generate the virtual server 120 by receiving the virtual server creation request information of the virtual server manager 200 including the domain name.

가상서버 등록단계(S420)에서, 클라우드 기반 호스팅 시스템(100)은 생성된 가상서버(120)의 도메인이름 및 사설망 IP주소를 설정하고 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스(130)에 등록할 수 있다.In the virtual server registration step (S420), the cloud-based hosting system 100 sets the domain name and the private network IP address of the generated virtual server 120 and associates the domain name with the private network IP address to register in the database 130. Can.

구체적으로, 클라우드 기반 호스팅 시스템(100)의 클라우드 매니저(110)는 가상서버 생성요청정보에 포함된 도메인이름을 가상서버(120)의 도메인이름으로 설정할 수 있고 사용 가능한 사설망 IP주소 중에서 어느 하나를 가상서버(120)의 사설망 IP주소로 설정할 수 있다.Specifically, the cloud manager 110 of the cloud-based hosting system 100 can set the domain name included in the virtual server creation request information as the domain name of the virtual server 120 and virtually use any one of the available private network IP addresses. It can be set to the private network IP address of the server 120.

이 때에, 클라우드 매니저(110)는 가상서버(120)를 생성한 직후에 사설망 IP주소를 설정할 수도 있고 가상서버(120)가 공중망 또는 사설망을 통해 실제로 통신을 해야할 필요가 있는 시점에 가상서버(120)의 사설망 IP주소를 설정할 수도 있다. 후자와 관련된 사항은 도 6에서 살펴본다.At this time, the cloud manager 110 may set the private network IP address immediately after the virtual server 120 is created, or the virtual server 120 at a time when the virtual server 120 needs to actually communicate through the public network or the private network. ) Can also set the private network IP address. The latter is related to FIG. 6.

또한, 클라우드 매니저(110)는 생성된 가상서버(120)의 서비스종류 및 서비스종류에 대응하는 가상서버 포트번호를 가상서버(120)의 도메인이름과 연관시켜 데이터베이스(130)에 등록할 수 있다.In addition, the cloud manager 110 may register the virtual server port number corresponding to the generated service type and service type of the virtual server 120 with the domain name of the virtual server 120 and register it in the database 130.

또한, 클라우드 매니저(110)는 상기 도메인이름을 프록시 서버(140)의 공중망 IP주소로 변환하도록 상기 도메인이름과 프록시 서버(140)의 공중망 IP주소를 함께 DNS 서버에 등록할 수 있다. 다만, 상기 도메인이름이 프록시 서버(140)의 공중망 IP주소로 변환되도록 이미 등록된 도메인이름의 하위 도메인에 해당하면 DNS 서버에 등록은 불필요할 수 있다.In addition, the cloud manager 110 may register the domain name and the public network IP address of the proxy server 140 together with the DNS server to convert the domain name into the public network IP address of the proxy server 140. However, if the domain name corresponds to a sub-domain of a domain name already registered to be converted to the public network IP address of the proxy server 140, registration with the DNS server may not be necessary.

연결요청 수신단계(S430)에서, 클라우드 기반 호스팅 시스템(100)은 클라이언트(300)로부터 가상서버에 대한 도메인이름을 포함하는 연결요청정보를 수신할 수 있다. 구체적으로, 클라우드 기반 호스팅 시스템(100)의 프록시 서버(140)는 프록시 서버(140)의 공중망 IP주소 및 서비스종류에 대해 일반적으로 사용되는 포트번호로 가상서버(120)의 도메인이름이 포함된 연결요청정보를 수신할 수 있다.In the connection request reception step (S430 ), the cloud-based hosting system 100 may receive connection request information including the domain name for the virtual server from the client 300. Specifically, the proxy server 140 of the cloud-based hosting system 100 is a port number that is generally used for the public network IP address and service type of the proxy server 140, and includes the domain name of the virtual server 120. Request information can be received.

다만, 클라이언트(300)가 프록시 서버(140)의 공중망 IP주소를 알지 못한 경우에는 DNS(domain name server) 서버로부터 가상서버(120)의 도메인이름과 연관되어 등록된 프록시 서버(140)의 공중망 IP주소를 먼저 얻을 수 있다.However, if the client 300 does not know the public network IP address of the proxy server 140, the public network IP of the proxy server 140 registered in association with the domain name of the virtual server 120 from a domain name server (DNS) server. You can get the address first.

가상서버 검색단계(S440)에서, 클라우드 기반 호스팅 시스템(100)은 연결요청 수신부(142)에서 수신된 도메인이름과 연관된 사설망 IP주소를 데이터베이스(130)에서 검색할 수 있다.In the virtual server search step (S440 ), the cloud-based hosting system 100 may search the database 130 for the private network IP address associated with the domain name received in the connection request receiver 142.

또한, 클라우드 기반 호스팅 시스템(100)은 연결요청 수신부(142)에서 수신된 서비스종류에 대응하는 가상서버 포트번호를 데이터베이스(130)에서 검색할 수 있다.In addition, the cloud-based hosting system 100 may search the database 130 for the virtual server port number corresponding to the service type received from the connection request receiving unit 142.

구체적으로, 프록시 서버(140)는 데이터베이스(130)로부터 연결요청 수신부(142)에서 수신된 연결요청정보에 포함된 도메인이름 및 서비스종류에 대응하는 가상서버(120)의 사설망 IP주소 및 포트번호를 얻을 수 있다.Specifically, the proxy server 140 displays the private network IP address and port number of the virtual server 120 corresponding to the domain name and service type included in the connection request information received from the connection request receiving unit 142 from the database 130. Can be obtained.

통신매개단계(S450)에서, 클라우드 기반 호스팅 시스템(100)은 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개할 수 있다.In the communication mediation step (S450), the cloud-based hosting system 100 may mediate communication between the virtual server corresponding to the searched private network IP address and the client.

또한, 클라우드 기반 호스팅 시스템(100)은 검색된 가상서버 포트번호를 이용하여 가상서버(120)와 클라이언트(300) 사이의 통신을 매개할 수 있다.In addition, the cloud-based hosting system 100 may mediate communication between the virtual server 120 and the client 300 using the searched virtual server port number.

구체적으로, 클라우드 기반 호스팅 시스템(100)은 검색된 사설망 IP주소 및 검색된 가상서버 포트번호에 해당하는 가상서버(120)의 서비스 포트와 연결을 설정하고 클라이언트(300)로부터 수신한 패킷을 상기 가상서버(120)의 서비스 포트로 포워딩하고 상기 가상서버(120)의 서비스 포트로부터 수신한 패킷을 클라이언트(300)로 포워딩할 수 있다.Specifically, the cloud-based hosting system 100 establishes a connection with the service port of the virtual server 120 corresponding to the searched private network IP address and the searched virtual server port number, and receives packets received from the client 300 from the virtual server ( Forwarding to the service port of 120) and the packet received from the service port of the virtual server 120 may be forwarded to the client (300).

이와 같이, 클라우드 기반 호스팅 시스템(100)은 가상서버(120)에 공중망 IP주소가 아닌 사설망 IP주소를 부여하고 프록시 서버(140)가 가상서버(120)의 도메인이름을 이용하여 공중망의 클라이언트(300)와 가상서버(120) 간 통신을 매개하도록 함으로써, 가상서버(120)의 개수가 제한되지 않고 비용을 절감할 수 있다.As described above, the cloud-based hosting system 100 gives the virtual server 120 a private network IP address rather than a public network IP address, and the proxy server 140 uses the domain name of the virtual server 120 to obtain a public network client 300 ) And mediating the communication between the virtual servers 120, the number of virtual servers 120 is not limited and cost can be reduced.

또한, 가상서버(120)에 공중망 IP주소를 할당하지 않아도 클라이언트(300)에게 HTTP, HTTPS, MySQL, Mariadb, RDP 등의 다양한 서비스를 제공할 수 있고 프록시 서버에만 공중망 IP주소가 할당되므로 가상서버(120)가 속한 사설망에 대한 보안이 강화될 수 있다.In addition, even if a public network IP address is not assigned to the virtual server 120, various services such as HTTP, HTTPS, MySQL, Mariadb, RDP, etc. can be provided to the client 300, and the public server IP address is assigned only to the proxy server. 120) Security of the private network to which it belongs may be strengthened.

도 6은 본 발명에 따른 클라우드 기반 호스팅 시스템이 동작하는 다른 일례를 예시적으로 나타낸 도면이다.6 is a diagram illustrating another example of the operation of the cloud-based hosting system according to the present invention.

도 6을 참조하면, 클라우드 매니저(110), 가상서버(120), 데이터베이스(130), 프록시 서버(140), 가상서버 관리자 단말(200) 및 클라이언트 단말(300)은 서로 통신하여 클라이언트(300)에게 서비스를 제공할 수 있고 가상서버(120)의 사설망 IP주소는 동적으로 할당될 수 있다. 도 6을 도 5와 비교하여 살펴보면 다음과 같다.Referring to FIG. 6, the cloud manager 110, the virtual server 120, the database 130, the proxy server 140, the virtual server manager terminal 200, and the client terminal 300 communicate with each other to communicate with the client 300 Service provider and the IP address of the private network of the virtual server 120 can be dynamically allocated. Referring to Figure 6 compared to Figure 5 is as follows.

도 6에서, 클라우드 매니저(110)의 가상서버 관리부(116)는 가상서버 등록단계(S420)에서 도 5와 달리 가상서버(120)의 사설망 IP주소를 설정하지 않고 도메인이름만 설정하면서 가상서버(120)를 생성할 수 있고 가상서버(120)를 생성하면서 할당된 가상서버 식별자와 상기 도메인이름을 연관시켜 데이터베이스(130)에 저장할 수 있다.In FIG. 6, the virtual server management unit 116 of the cloud manager 110 does not set the private network IP address of the virtual server 120, but sets the domain name only, in contrast to FIG. 5 in the virtual server registration step (S420). 120) can be generated and associated with the assigned virtual server identifier and the domain name while creating the virtual server 120 and stored in the database 130.

또한, 도 6은 도 5와 달리, 가상서버 검색단계(S440)에서 프록시 서버(140)의 가상서버 검색부(144)가 연결요청 수신부(112)에서 수신된 도메인이름과 연관된 사설망 IP주소를 데이터베이스(130)에서 검색하지 못한 경우에 가상서버 검색부(144)는 수신된 도메인 이름에 해당하는 가상서버 식별자를 데이터베이스(130)로부터 전달받고 전달받은 가상서버 식별자를 클라우드 매니저(110)에게 전송하여 사설망 IP주소를 설정할 것을 요청할 수 있다.6, unlike FIG. 5, in the virtual server search step (S440), the virtual server search unit 144 of the proxy server 140 records the private network IP address associated with the domain name received from the connection request receiving unit 112. If the search fails in 130, the virtual server search unit 144 receives the virtual server identifier corresponding to the received domain name from the database 130 and transmits the received virtual server identifier to the cloud manager 110 in the private network. You can request to set an IP address.

클라우드 매니저(110)의 가상서버 관리부(116)는 전달받은 가상서버 식별자를 갖는 가상서버(120)에 대해서 사설망 IP주소를 설정하고 가상서버(120)의 가상서버 식별자와 설정된 사설망 IP주소를 연관시켜 데이터베이스(130)에 등록할 수 있고 설정된 가상서버(120)의 사설망 IP주소를 프록시 서버(140)에 전송할 수 있다.The virtual server management unit 116 of the cloud manager 110 sets the private network IP address for the virtual server 120 having the received virtual server identifier, and associates the virtual server identifier of the virtual server 120 with the set private network IP address. It is possible to register in the database 130 and transmit the private network IP address of the configured virtual server 120 to the proxy server 140.

도 6에서, 가상서버 검색단계(S440) 이후의 단계인 통신매개단계(S450)는 도 5와 동일하다.In FIG. 6, the communication mediation step (S450 ), which is a step after the virtual server search step (S440 ), is the same as FIG. 5.

한편, 도 6과 달리, 도메인이름으로 가상서버를 식별할 수 있는 경우에는 가상서버 식별자 대신 도메인이름이 사용될 수도 있다.Meanwhile, unlike FIG. 6, when a virtual server can be identified by a domain name, a domain name may be used instead of the virtual server identifier.

또한, 도 6과 달리, 클라우드 매니저(110)의 가상서버 관리부(116)는 사설망 IP주소가 설정되지 않은 가상서버(120)가 사설망 또는 공중망을 통해 통신을 하고자 하는 경우에 가상서버(120)의 사설망 IP주소를 설정하고 가상서버(120)의 가상서버 식별자와 설정된 사설망 IP주소를 연관시켜 데이터베이스에 등록할 수도 있다.In addition, unlike FIG. 6, the virtual server management unit 116 of the cloud manager 110 may use the virtual server 120 when the virtual server 120, in which the private network IP address is not set, communicates through the private network or the public network. It is also possible to set a private network IP address and associate the virtual server identifier of the virtual server 120 with the set private network IP address to register in the database.

한편, 클라우드 매니저(110)의 가상서버 관리부(116)는 가상서버(120)가 특정한 시간 동안 통신을 하지 않는 경우에 가상서버(120)에 설정된 사설망 IP주소를 회수할 수도 있다. 여기에서, 회수란 가상서버(120)의 사설망 IP주소가 설정되지 않은 것으로 정하고 데이터베이스에서 가상서버(120)의 도메인이름과 연관되어 저장된 사설망 IP주소를 삭제하는 것을 의미할 수 있다.Meanwhile, the virtual server management unit 116 of the cloud manager 110 may retrieve the private network IP address set in the virtual server 120 when the virtual server 120 does not communicate for a specific time. Here, the number of times may mean that the private network IP address of the virtual server 120 is not set and the stored private network IP address associated with the domain name of the virtual server 120 is deleted from the database.

이와 같이, 클라우드 매니저(110)는 가상서버(120)의 사설망 IP주소를 동적으로 할당함으로써, 사설망 IP주소의 개수가 제한되어 가상서버의 개수가 제한되는 문제를 해결할 수 있다.In this way, the cloud manager 110 can solve the problem that the number of virtual servers is limited because the number of private network IP addresses is limited by dynamically allocating the private network IP address of the virtual server 120.

도 7은 본 발명에 따른 클라우드 기반 호스팅 시스템이 동작하는 다른 일례를 예시적으로 나타낸 도면이다.7 is a diagram showing another example of the operation of the cloud-based hosting system according to the present invention by way of example.

도 7을 참조하면, 가상서버(120), 데이터베이스(130), 프록시 서버(140)와 클라이언트 단말(300)은 서로 통신하여 클라이언트(300)에게 SSL 기반 RDP 서비스를 제공할 수 있다.Referring to FIG. 7, the virtual server 120, the database 130, the proxy server 140 and the client terminal 300 communicate with each other to provide an SSL-based RDP service to the client 300.

이 때에, RDP negotiation request 메시지에는 TLS Client Hello 메시지와는 달리 가상서버(120)의 도메인이름이 포함되지 않으므로 프록시 서버(140)는 도메인이름으로 가상서버(120)를 특정할 수 없어서 RDP negotiation request 메시지에 대응하는 RDP negotiation response 메시지를 가상서버(120)로부터 전송받아서 클라이언트(300)로 포워딩할 수 없다.At this time, unlike the TLS Client Hello message, the RDP negotiation request message does not include the domain name of the virtual server 120, so the proxy server 140 cannot identify the virtual server 120 by the domain name, so the RDP negotiation request message RDP negotiation response message corresponding to the received from the virtual server 120 is unable to forward to the client (300).

이와 관련하여, 도 5와 도 7을 비교하여 구체적으로 설명하면 다음과 같다.In this regard, it will be described in detail with reference to FIGS. 5 and 7 as follows.

도 7과 달리 도 5에서는 클라이언트 단말(300)이 프록시 서버(140)에 전송하는 요청 메시지에 도메인이름이 포함되어 있으므로 프록시 서버(140)는 도메인이름에 해당하는 가상서버(120)를 데이터베이스(130)에서 검색하여 가상서버(120)를 특정할 수 있으므로 클라이언트 단말(300)로부터 전송받은 요청 메시지를 가상서버(120)에 포워딩하고 가상서버(120)로부터 응답 메시지를 전송받아 클라이언트(300)로 포워딩할 수 있다.Unlike FIG. 7, in FIG. 5, since the request message transmitted from the client terminal 300 to the proxy server 140 includes the domain name, the proxy server 140 stores the virtual server 120 corresponding to the domain name in the database 130 ), so that the virtual server 120 can be specified, forwards the request message received from the client terminal 300 to the virtual server 120, receives the response message from the virtual server 120, and forwards it to the client 300 can do.

그러나, 도 7에서 프록시 서버(140)는 요청 메시지(RDP negotiation request)에 도메인이름이 포함되지 않아서 가상서버(120)를 특정할 수 없으므로 요청 메시지(RDP negotiation request)를 수신한 직후에 가상서버(120)에 요청 메시지(RDP negotiation request)를 전송할 수 없고 따라서 가상서버(120)로부터 응답 메시지(RDP negotiation response)도 수신할 수 없다.However, since the proxy server 140 in FIG. 7 cannot specify the virtual server 120 because the domain name is not included in the request message (RDP negotiation request), the virtual server immediately after receiving the request message (RDP negotiation request) ( It is not possible to send a request message (RDP negotiation request) to 120), and therefore, a response message (RDP negotiation response) cannot be received from the virtual server 120.

도 7에서 프록시 서버(140)는 RDP negotiation을 한 후에 도메인이름을 포함하는 TLS Client Hello 메시지를 수신하고 데이터베이스(130)에서 검색하여 가상서버(120)를 특정한 후에야 RDP negotiation request 메시지를 가상서버(120)에 전송할 수 있다.In FIG. 7, the proxy server 140 receives the TLS Client Hello message including the domain name after RDP negotiation and searches the database 130 to specify the virtual server 120 before the RDP negotiation request message is sent to the virtual server 120. ).

그런데, RDP 프로토콜에 따르면, 프록시 서버(140)가 도 7과 같이 RDP negotiation request 메시지를 수신한 직후에 클라이언트 단말(300)에 RDP negotiation response 메시지를 전송하지 않는다면 클라이언트(300)는 RDP 서비스를 제공받을 수 없다.However, according to the RDP protocol, if the proxy server 140 does not transmit the RDP negotiation response message to the client terminal 300 immediately after receiving the RDP negotiation request message as shown in FIG. 7, the client 300 receives RDP service. Can't.

따라서, 프록시 서버(140)는 TLS Client Hello 메시지에 포함된 도메인이름을 통해 장래에 특정될 가상서버(120)가 전송할 RDP negotiation response 메시지를 예측하여 클라이언트(300)에 전송해야 한다.Therefore, the proxy server 140 must predict and transmit the RDP negotiation response message to be transmitted by the virtual server 120 to be specified in the future through the domain name included in the TLS Client Hello message.

이 때에, 장래에 특정될 가상서버(120)가 전송할 RDP negotiation response 메시지에 포함된 selectedProtocol과 같은 값이 RDP negotiation request 메시지에 포함된 requestedProtocols과 같은 값에만 영향을 받는다면 프록시 서버(140)는 RDP negotiation request의 값만으로 RDP negotiation response를 간단하게 예측하여 클라이언트(300)에 전송할 수 있다.At this time, if a value such as selectedProtocol included in the RDP negotiation response message to be transmitted by the virtual server 120 to be specified in the future is affected only by the same value as requestedProtocols included in the RDP negotiation request message, the proxy server 140 performs RDP negotiation. The RDP negotiation response can be easily predicted and transmitted to the client 300 only with the value of the request.

그런데, 가상서버(120)의 운영체제와 같은 시스템 환경에 따라서 RDP negotiation 메시지에 포함된 selectedProtocol 값이 달라질 수 있다.However, the selectedProtocol value included in the RDP negotiation message may vary depending on the system environment such as the operating system of the virtual server 120.

구체적으로, 동일한 WINDOWS 10 운영체제가 설치된 클라이언트 단말(300)의 RDP negotiation request에 대해 WINDOWS 2012와 WINDOWS 7 운영체제가 설치된 가상서버(120)의 RDP negotiation response에 포함된 selectedProtocol 값은 각각 8 및 2로 서로 다르다.Specifically, for the RDP negotiation request of the client terminal 300 having the same WINDOWS 10 operating system installed, the selectedProtocol values included in the RDP negotiation response of the WINDOWS 2012 and the virtual server 120 installed with the WINDOWS 7 operating system are 8 and 2, respectively. .

따라서, 프록시 서버(140)는 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경에 따라 RDP negotiation request에 대응되는 RDP negotiation response를 예측하여 클라이언트(300)에 전송해야 한다.Therefore, the proxy server 140 should predict the RDP negotiation response corresponding to the RDP negotiation request and transmit it to the client 300 according to the system environment of the virtual server 120 to which the client 300 wants to access.

즉, 프록시 서버(140)는 RDP negotiation request와 같은 연결요청정보로부터 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경을 구별할 수 있어야 하고 구별된 가상서버(120)의 시스템 환경에 따라 미리 정해놓은 RDP negotiation response와 같은 연결응답정보를 클라이언트(300)에 전송할 수 있어야 한다.That is, the proxy server 140 should be able to distinguish the system environment of the virtual server 120 to which the client 300 wants to access from connection request information such as RDP negotiation request, and according to the system environment of the distinguished virtual server 120. Connection response information such as a predetermined RDP negotiation response should be able to be transmitted to the client 300.

프록시 서버(140)가 RDP negotiation request와 같은 연결요청정보로부터 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경을 구별할 수 있도록 하기 위해서 예를 들면, 클라이언트(300)는 접속하려는 가상서버(120)의 시스템 환경에 따라 서로 다른 포트번호로 RDP negotiation request와 같은 연결요청정보를 전송하도록 할 수도 있고 연결요청정보에 특별한 값을 설정하여 전송하도록 할 수도 있다.For example, in order for the proxy server 140 to distinguish the system environment of the virtual server 120 to which the client 300 wants to access from connection request information such as an RDP negotiation request, for example, the client 300 wants to access the virtual server to connect to. Depending on the system environment of (120), connection request information such as an RDP negotiation request may be transmitted to different port numbers, or a special value may be set and transmitted to the connection request information.

여기에서, 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경에 따라 서로 다른 포트번호를 이용하는 방법은 연결요청 대응부(148)에서 전술한 바와 같다.Here, the method of using different port numbers according to the system environment of the virtual server 120 to which the client 300 wants to connect is as described above in the connection request counterpart 148.

도 7과 관련하여 살펴본 방법은 RDP 서비스 외에 연결요청정보에 도메인이름이 포함되지 않는 다양한 서비스에 적용될 수 있다.The method described with reference to FIG. 7 can be applied to various services in which the domain name is not included in connection request information in addition to the RDP service.

이와 같이, 프록시 서버(140)가 클라이언트(300)로부터 가상서버(120)에 대한 도메인이름을 포함하지 않고 클라이언트(300)가 접속하려는 가상서버(120)의 시스템 환경에 따라 구별된 연결요청정보를 수신한 경우에 프록시 서버(140)는 수신된 연결요청정보에 대해 접속하려는 가상서버(120)의 시스템 환경에 따라 대응되는 연결응답정보를 클라이언트(300)에 전송함으로써, 가상서버(120)가 도메인이름을 통해 특정되기 전에도 이후에 특정될 가상서버(120)의 시스템 환경에 따라 가상서버(120)와 클라이언트(300) 사이에 연결이 올바로 이루어지도록 할 수 있고 가상서버(120)의 다양한 시스템 환경에 맞추어 다양한 서비스를 제공할 수 있도록 한다.In this way, the proxy server 140 does not include the domain name for the virtual server 120 from the client 300, and the connection request information distinguished according to the system environment of the virtual server 120 to which the client 300 wants to access is received. When received, the proxy server 140 transmits corresponding connection response information to the client 300 according to the system environment of the virtual server 120 to connect to the received connection request information, so that the virtual server 120 is a domain. Depending on the system environment of the virtual server 120 to be specified later even before being specified through the name, the connection between the virtual server 120 and the client 300 can be made properly, and various system environments of the virtual server 120 can be made. We can provide various services according to your needs.

한편, 클라우드 매니저(110)는 생성된 가상서버(120)의 상위 도메인이름이 동일하게 설정되도록 가상서버 관리자(200)의 입력을 제한할 수 있다. 여기에서, 상위 도메인이름이란 도메인 이름의 뒷부분으로서 예를 들면, 도메인 이름 a1.dom.com에서 dom.com을 의미할 수 있다.Meanwhile, the cloud manager 110 may limit the input of the virtual server manager 200 so that the upper domain name of the generated virtual server 120 is set identically. Here, the upper domain name may refer to the domain name a1.dom.com to dom.com as the latter part of the domain name.

상위 도메인이름이 동일하게 설정되도록 하면 가상서버(120)의 도메인이름은 예를 들면, a1.dom.com, a2.dom.com 과 같이 (최)하위 도메인이름만 달라질 수 있다.If the upper domain name is set to be the same, the domain name of the virtual server 120 may be different only from the (most) lower domain name, for example, a1.dom.com, a2.dom.com.

이와 같이, 가상서버(120)의 상위 도메인이름을 동일하게 설정되도록 함으로써, 도메인이름 등록에 따른 비용을 절약할 수 있고 DNS 서버에서 상위 도메인이름만으로 프록시 서버(140)의 공중망 IP주소를 검색할 수 있으므로 프록시 서버(140)의 공중망 IP주소를 빠르게 검색할 수 있다.As such, by setting the upper domain name of the virtual server 120 to be the same, the cost of domain name registration can be saved, and the IP address of the proxy server 140 can be retrieved from the DNS server using only the upper domain name. Therefore, the public network IP address of the proxy server 140 can be quickly searched.

도 8은 http 서비스를 제공하는 일례를 예시적으로 나타낸 도면이다.8 is a diagram illustrating an example of providing an http service.

도 8을 참조하면, 두 개의 클라이언트 단말(200)이 서로 다른 도메인이름 a1.dom.com 과 a2.dom.com으로 http 서비스 요청을 한 경우에 프록시 서버(140)는 도메인이름을 기준으로 서비스 요청을 분류하여 해당하는 도메인이름을 갖는 가상서버A1과 가상서버B1으로 서비스 요청을 포워딩할 수 있다.Referring to FIG. 8, when two client terminals 200 request http services with different domain names a1.dom.com and a2.dom.com, the proxy server 140 requests service based on the domain name. By categorizing, service requests can be forwarded to the virtual servers A1 and VB with the corresponding domain names.

도 9는 http 및 https 서비스를 제공하는 일례를 예시적으로 나타낸 도면이다.9 is a diagram showing an example of providing http and https services by way of example.

도 9을 참조하면, 하나의 클라이언트 단말(200)이 동일한 도메인이름 a1.dom.com으로 http 및 https 서비스를 요청한 경우에 프록시 서버(140)는 서비스종류 별로 구분하여 http 서비스는 가상서버A1의 가상서버 포트번호 80번으로, https 서비스는 가상서버A1의 가상서버 포트번호 443번으로 서비스 요청을 포워딩할 수 있다.Referring to FIG. 9, when one client terminal 200 requests http and https services with the same domain name a1.dom.com, the proxy server 140 is divided into service types, and the http service is virtual of the virtual server A1. The server port number 80, the https service may forward the service request to the virtual server port number 443 of the virtual server A1.

도 10은 본 발명에 따른 프록시 서버의 일례를 예시적으로 나타낸 도면이다.10 is a view showing an example of a proxy server according to the present invention by way of example.

도 10를 참조하면, 일 실시예에 따른 프록시 서버(140)는 전술한 바와 달리 데이터베이스(130)를 포함하여 구성될 수 있다. 따라서, 프록시 서버(140)는 클라우드 매니저(110)가 데이터베이스(130)에 접근하여 가상서버(120)에 대한 정보를 변경할 수 있도록 포워딩 정보 업데이트 서비스를 제공할 수 있고 포워딩 정보 업데이트 서비스는 포트번호 1440번을 통해 클라우드 매니저(110)에게 제공될 수 있다.Referring to FIG. 10, the proxy server 140 according to an embodiment may be configured to include the database 130 as described above. Therefore, the proxy server 140 may provide a forwarding information update service so that the cloud manager 110 can access the database 130 and change information about the virtual server 120, and the forwarding information update service is provided with port number 1440. It can be provided to the cloud manager 110 through the burn.

또한, 도 10에서, 프록시 서버(140)는 http(포트번호 80번), https(포트번호 443번), MySQL(포트번호 3306번) 및 RDP(포트번호 3389번) 서비스에 대해서 클라이어트 단말(300)과 가상서버(120) 사이의 통신을 매개할 수 있다.In addition, in Fig. 10, the proxy server 140 is a client terminal 300 for the http (port number 80), https (port number 443), MySQL (port number 3306) and RDP (port number 3389) service ) And the virtual server 120.

이상에서와 같이, 본 출원의 바람직한 실시예 들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.As described above, although described with reference to preferred embodiments of the present application, those skilled in the art variously modify the present application without departing from the spirit and scope of the present invention described in the following claims. And can be changed.

100 : 클라우드 기반 호스팅 시스템
110 : 클라우드 매니저 112 : 가상서버 관리자 인터페이스
114 : 가상서버 생성부 116 : 가상서버 관리부
120 : 가상서버 130 : 데이터베이스
140 : 프록시 서버 142 : 연결요청 수신부
144 : 가상서버 검색부 146 : 통신매개부
200 : 가상서버 관리자 단말 300 : 클라이언트 단말
400 : 클라우드 기반 호스팅 방법
100: cloud-based hosting system
110: cloud manager 112: virtual server administrator interface
114: virtual server generation unit 116: virtual server management unit
120: virtual server 130: database
140: proxy server 142: connection request receiving unit
144: virtual server search unit 146: communication media unit
200: virtual server manager terminal 300: client terminal
400: cloud-based hosting method

Claims (8)

물리적 서버의 일부를 이용하는 가상서버;
상기 가상서버를 생성하고 관리하기 위한 클라우드 매니저;
클라이언트와 가상서버를 연결해 주는 프록시 서버를 포함하여 구성되며,
상기 클라우드 매니저는,
가상서버 관리자의 요청에 의해 가상서버를 생성하는 가상서버 생성부; 및
생성된 가상서버의 사설망 IP주소를 설정하고 데이터베이스에 등록하는 가상서버 관리부를 포함하며,
상기 프록시 서버는,
클라이언트로부터 가상서버에 대한 연결요청정보를 수신하는 연결요청 수신부;
상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하는 가상서버 검색부;
상기 검색된 사설망 IP주소에 해당하는 가상서버와 상기 클라이언트 사이의 통신을 매개하는 통신매개부; 및
상기 연결요청정보에 대응하는 연결응답정보를 클라이언트에 전송하는 연결요청 대응부를 포함하며,
상기 연결요청 수신부는 클라이언트로부터 가상서버에 대한 도메인이름을 포함하지 않는 연결요청정보를 수신하고,
상기 연결요청정보는 클라이언트가 접속하려는 가상서버의 시스템 환경에 따라 구별되고,
상기 연결요청 대응부는 복수의 연결응답정보를 미리 저장하고, 상기 연결요청정보에 기초하여 접속하려는 가상서버의 시스템 환경을 분류하고 분류된 가상서버의 시스템 환경에 대응하는 연결응답정보를 상기 저장된 연결응답정보로부터 선택하여 클라이언트에 전송하는 클라우드 기반 호스팅 시스템.
A virtual server using a part of the physical server;
A cloud manager for creating and managing the virtual server;
It consists of a proxy server that connects the client and the virtual server.
The cloud manager,
A virtual server generating unit generating a virtual server at the request of the virtual server administrator; And
Includes a virtual server management unit that sets the private network IP address of the created virtual server and registers it in the database.
The proxy server,
A connection request receiving unit that receives connection request information for a virtual server from a client;
A virtual server search unit searching for a private network IP address associated with the received domain name from the database;
A communication mediator for mediating communication between the virtual server corresponding to the searched private network IP address and the client; And
It includes a connection request response unit for transmitting the connection response information corresponding to the connection request information to the client,
The connection request receiving unit receives connection request information that does not include the domain name for the virtual server from the client,
The connection request information is distinguished according to the system environment of the virtual server to which the client intends to access,
The connection request response unit pre-stores a plurality of connection response information, classifies a system environment of a virtual server to be accessed based on the connection request information, and connects the stored connection response information corresponding to the system environment of the classified virtual server. A cloud-based hosting system that selects information and transmits it to clients.
제 1항에 있어서,
상기 가상서버 관리부는 상기 생성된 가상서버의 서비스종류 및 서비스종류에 대응하는 가상서버 포트번호를 상기 도메인이름과 연관시켜 상기 데이터베이스에 등록하고,
상기 연결요청 수신부는 클라이언트로부터 가상서버에 대한 서비스종류를 포함하는 연결요청정보를 수신하고,
상기 가상서버 검색부는 상기 데이터베이스로부터 상기 수신된 서비스종류에 대응하는 가상서버 포트번호를 검색하고,
상기 통신매개부는 상기 검색된 가상서버 포트번호를 이용하여 상기 가상서버와 상기 클라이언트 사이의 통신을 매개하는 클라우드 기반 호스팅 시스템.
According to claim 1,
The virtual server management unit registers the virtual server port number corresponding to the service type and service type of the generated virtual server in the database by associating it with the domain name,
The connection request receiving unit receives connection request information including a service type for a virtual server from a client,
The virtual server search unit searches the virtual server port number corresponding to the received service type from the database,
The communication medium is a cloud-based hosting system that mediates communication between the virtual server and the client using the searched virtual server port number.
제 2항에 있어서,
상기 가상서버 관리부는 상기 생성된 가상서버의 도메인이름, 사설망 IP주소, 서비스종류 또는 서비스종류에 대응하는 가상서버 포트번호가 변경된 경우에는 변경사항을 상기 데이터베이스에 등록하는 클라우드 기반 호스팅 시스템.
According to claim 2,
The virtual server management unit is a cloud-based hosting system that registers the changes to the database when the virtual server port number corresponding to the domain name, private network IP address, service type or service type of the generated virtual server is changed.
제 1항에 있어서,
상기 가상서버 관리부는,
상기 생성된 가상서버의 도메인이름을 설정하여 데이터베이스에 저장하고,
상기 가상서버 검색부가 상기 데이터베이스로부터 상기 수신된 도메인이름과 연관된 사설망 IP주소를 검색하지 못하거나 상기 생성된 가상서버가 사설망 또는 공중망을 통해 통신을 하고자 하는 경우에,
상기 생성된 가상서버의 사설망 IP주소를 설정하고 상기 저장된 도메인이름과 사설망 IP주소를 연관시켜 데이터베이스에 등록하는 클라우드 기반 호스팅 시스템.
According to claim 1,
The virtual server management unit,
Set the domain name of the created virtual server and store it in the database,
If the virtual server search unit is unable to retrieve the private network IP address associated with the received domain name from the database, or if the generated virtual server wishes to communicate through a private network or a public network,
A cloud-based hosting system that sets the private network IP address of the created virtual server and associates the stored domain name with the private network IP address to register in the database.
제 1항에 있어서,
상기 가상서버 관리부는,
가상서버가 특정한 시간 동안 통신을 하지 않는 경우에 상기 가상서버에 설정된 사설망 IP주소를 회수하는 클라우드 기반 호스팅 시스템.
According to claim 1,
The virtual server management unit,
Cloud-based hosting system that retrieves the private network IP address set in the virtual server when the virtual server does not communicate for a specific time.
삭제delete 제 1항에 있어서,
상기 생성된 가상서버의 상위 도메인이름이 동일하게 설정되는 클라우드 기반 호스팅 시스템.
According to claim 1,
A cloud-based hosting system in which the upper domain name of the created virtual server is set identically.
삭제delete
KR1020180144708A 2018-11-21 2018-11-21 System and method for cloud based hosting service KR102131083B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180144708A KR102131083B1 (en) 2018-11-21 2018-11-21 System and method for cloud based hosting service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180144708A KR102131083B1 (en) 2018-11-21 2018-11-21 System and method for cloud based hosting service

Publications (2)

Publication Number Publication Date
KR20200059683A KR20200059683A (en) 2020-05-29
KR102131083B1 true KR102131083B1 (en) 2020-07-07

Family

ID=70912286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180144708A KR102131083B1 (en) 2018-11-21 2018-11-21 System and method for cloud based hosting service

Country Status (1)

Country Link
KR (1) KR102131083B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022064463A1 (en) * 2020-09-27 2022-03-31 Tavakoli Hamidreza A virtual address id system for implementing secure transactions and delivery of items

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101328344B1 (en) 2011-01-24 2013-11-11 주식회사 엘지씨엔에스 Heterogeneous Virtual Server Consolidation System and Method
KR101408034B1 (en) 2011-08-24 2014-06-17 주식회사 케이티 Apparatus for setting policy of virtual machine in cloud computing server system, method therefor, and method for providing policy of virtual machine in cloud computing server system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068592A (en) * 2011-12-15 2013-06-26 한국전자통신연구원 Method for address management of virtual machine using resource name
KR20140098919A (en) * 2013-01-31 2014-08-11 한국전자통신연구원 Method of providing virtual machine for real time virtual desktop service and service gateway of the same
KR101680702B1 (en) * 2014-04-25 2016-11-30 (주)나누미넷 System for web hosting based cloud service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101328344B1 (en) 2011-01-24 2013-11-11 주식회사 엘지씨엔에스 Heterogeneous Virtual Server Consolidation System and Method
KR101408034B1 (en) 2011-08-24 2014-06-17 주식회사 케이티 Apparatus for setting policy of virtual machine in cloud computing server system, method therefor, and method for providing policy of virtual machine in cloud computing server system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022064463A1 (en) * 2020-09-27 2022-03-31 Tavakoli Hamidreza A virtual address id system for implementing secure transactions and delivery of items

Also Published As

Publication number Publication date
KR20200059683A (en) 2020-05-29

Similar Documents

Publication Publication Date Title
US10469314B2 (en) API gateway for network policy and configuration management with public cloud
US11533289B2 (en) Split-tunneling for clientless SSL-VPN sessions with zero-configuration
US11095711B2 (en) DNS Resolution of internal tenant-specific domain addresses in a multi-tenant computing environment
US11362986B2 (en) Resolution of domain name requests in heterogeneous network environments
JP6677782B2 (en) Virtual network interface object
US11616690B2 (en) Discovery of virtualization environments
US11108740B2 (en) On premises, remotely managed, host computers for virtual desktops
KR101840904B1 (en) Virtualization gateway between virtualized and non-virtualized networks
CN109729187B (en) Proxy communication method, system, device and storage medium
US11128597B1 (en) Information passing for content-based source selection via DNS
US20130007207A1 (en) Systems and methods for retrieving objects from a plurality of network locations
WO2021063028A1 (en) Method and apparatus for providing network service for service, and computing device
EP3973668B1 (en) Network traffic steering with programmatically generated proxy auto-configuration files
US20170048159A1 (en) Method and system for identifying network resources
JP2019536332A (en) On-premises and off-premises communication methods, systems, and programs
CN114025009B (en) Method, system, proxy server and device for forwarding request
KR102131083B1 (en) System and method for cloud based hosting service
WO2024078208A1 (en) Domain name query method and apparatus based on ecs protocol, and storage medium and device
US11134117B1 (en) Network request intercepting framework for compliance monitoring
CN116389599A (en) Gateway service request processing method and device and cloud native gateway system management method and device
US20230006968A1 (en) Secure networking engine for a secure networking system
CN115225606A (en) Domain name access method and system of cross-network protocol of container cloud platform
US11652746B1 (en) Resilient consistent hashing for a distributed cache
CN114342341A (en) Sharing resources between client devices in a virtual workspace environment
US20200127923A1 (en) System and method of performing load balancing over an overlay network

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant