KR20150137597A - Apparatus and method for sacling web service - Google Patents
Apparatus and method for sacling web service Download PDFInfo
- Publication number
- KR20150137597A KR20150137597A KR1020140065712A KR20140065712A KR20150137597A KR 20150137597 A KR20150137597 A KR 20150137597A KR 1020140065712 A KR1020140065712 A KR 1020140065712A KR 20140065712 A KR20140065712 A KR 20140065712A KR 20150137597 A KR20150137597 A KR 20150137597A
- Authority
- KR
- South Korea
- Prior art keywords
- web service
- web
- snapshot
- server
- configuration information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5051—Service on demand, e.g. definition and deployment of services in real time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명의 실시예들은 클라우드 환경에서의 웹 서비스 확장(scaling) 기술에 관한 것이다.Embodiments of the present invention relate to web service scaling techniques in a cloud environment.
클라우드 컴퓨팅은 인터넷 기반의 컴퓨팅 기술로, 인터넷 상의 유틸리티 데이터 서버에 프로그램을 두고 필요 시 컴퓨터, 휴대폰 등에 불러와서 사용하는 웹 기반의 소프트웨어 서비스이다.Cloud computing is an Internet-based computing technology. It is a web-based software service that uses programs on a utility data server on the Internet and brings them to computers and mobile phones when needed.
최근, 클라우드 컴퓨팅 서비스에서 서비스의 부하량과 사용량에 맞게 탄력적으로 컴퓨팅 자원을 늘였다가 줄였다는 스케일링(scaling) 기능이 제공되고 있다. Recently, a scaling function has been provided in the cloud computing service to flexibly increase or decrease computing resources according to the load and usage of services.
스케일링 기능은 크게 자동 및 수동으로 나눌 수 있다. 자동 스케일링 기능은 여러 개의 인스턴스를 하나의 그룹으로 묶어 로드 밸런스를 이용하여 관리한다. 구체적으로, 기 정의된 조건, 예컨대 평균 CPU 사용률이 80% 이상이 기 설정된 시간 동안 지속되는 조건이 발생되면, 자동 스케일링 기능이 실행되어 그룹 내에서 인스턴스가 사용하고 있는 동일한 VM 이미지를 스토리지로부터 읽어드린 후 VM 이미지를 이용하여 인스턴스를 자동으로 추가시켜 로드 밸런스에 연결시킨다.The scaling function can be largely divided into automatic and manual. The autoscaling function manages load balancing by grouping multiple instances into a single group. Specifically, when a predefined condition occurs, for example, an average CPU utilization of 80% or more lasts for a preset time, the automatic scaling function is executed to read the same VM image used by the instance from the storage in the group Then add the instances automatically using the VM image and link them to the load balance.
그러나, 종래의 기술은 VM 이미지 수준으로 자동 스케일링 기능을 제공하기 때문에 웹 서비스 수준의 스케일링이 되지 않는 문제점이 있다. 다시 말해서, 웹 서버, 웹 어플리케이션 서버 및 웹 어플리케이션이 없기 때문에 웹 서비스 수준의 스케일링은 되지 않는 문제점이 있다.However, since the conventional technology provides an automatic scaling function at the VM image level, there is a problem that scaling is not performed at the level of the web service. In other words, there is no web server, web application server, and web application, so there is a problem that scaling is not done at the level of web service.
또한, 종래의 자동 스케일링 기능을 이용할 경우 웹 어플리케이션이 설치되지 않은 VM 이미지로 생성된 인스턴스에 트래픽을 보내게 되어 장애를 발생시킬 우려가 있다.
In addition, when the conventional automatic scaling function is used, traffic may be sent to an instance created as a VM image without a web application installed, which may cause a failure.
본 발명의 실시예들은 웹 서비스 확장 시 장애 발생과 시간을 줄일 수 있는 클라우드 환경에서의 웹 서비스 스케일링 장치 및 방법을 제공하기 위한 것이다.
Embodiments of the present invention are intended to provide an apparatus and method for scaling Web services in a cloud environment in which failure and time can be reduced when extending a Web service.
본 발명의 예시적인 실시예에 따르면, 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷과 상기 웹 서비스에 대한 구성 정보가 저장된 스냅샷 보관부; 및 상기 웹 서비스에 대한 스케일링 이벤트 발생에 대한 응답으로 상기 웹 서비스에 대한 스냅샷을 임의의 서버에 로딩하며, 상기 웹 서비스에 대한 구성 정보를 상기 임의의 서버에 설정하여 상기 웹 서비스를 확장하는 스케일링 실행부를 포함하는 웹 서비스 스케일링 장치가 제공된다.According to an exemplary embodiment of the present invention, a snapshot of a web server or a web application server providing a web service and a snapshot storage unit storing configuration information for the web service are stored. And loading a snapshot of the web service to a server in response to a scaling event for the web service, setting scaling information for the web service to the arbitrary server, There is provided a web service scaling apparatus including an execution unit.
상기 웹 서비스 스케일링 장치에서 상기 스케일링 실행부는 상기 웹 서비스에 대한 스케일링 이벤트 발생을 수신하면, 상기 스냅샷 보관부에 상기 스냅샷을 요청한 후 이에 대한 응답으로 수신한 스냅샷을 상기 임의의 서버에 로딩하는 스냅샷 로딩 모듈; 및 상기 웹 서비스에 대한 구성 정보를 상기 스냅샷이 로딩된 임의의 서버에 설정하는 웹 서비스 설정 모듈을 포함할 수 있다.In the web service scaling device, when the scaling execution unit receives the scaling event occurrence for the web service, the scaling execution unit requests the snapshot to the snapshot storage unit, and loads the snapshot received in response thereto into the arbitrary server Snapshot loading module; And a web service setting module for setting configuration information for the web service to any server loaded with the snapshot.
상기 웹 서비스 스케일링 장치는 임의의 웹 서비스에 대한 스냅샷 생성 요청에 대한 응답으로 상기 임의의 웹 서비스에 대한 스냅샷과 구성 정보를 생성하여 상기 스냅샷 보관부에 제공하는 스냅샷 생성부를 더 포함할 수 있다.The web service scaling device further includes a snapshot generation unit for generating a snapshot and configuration information for the arbitrary web service in response to the snapshot creation request for the arbitrary web service and providing the generated snapshot and configuration information to the snapshot storage unit .
상기 웹 서비스 스케일링 장치에서 상기 스냅샷 생성부는 상기 임의의 웹 서비스가 구현된 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성하는 스냅샷 생성 모듈; 및 상기 임의의 웹 서비스의 토폴로지 또는 상기 웹 서버 또는 웹 어플리케이션 서버의 환경 설정(configuration)을 검색하여 상기 임의의 웹 서비스의 구성 정보를 생성하는 웹 서비스 구성 정보 검색 모듈을 포함할 수 있다.In the web service scaling device, the snapshot generation unit may include: a snapshot generation module that generates a snapshot of the web server or the web application server in which the arbitrary web service is implemented; And a web service configuration information search module for searching the topology of the web service or the configuration of the web server or the web application server to generate configuration information of the arbitrary web service.
상기 웹 서비스 스케일링 장치에서 상기 스냅샷 생성 요청은 상기 임의의 웹 서비스를 제공하는 상기 웹 서버 또는 웹 어플리케이션 서버에 대한 설정이 변경되거나, 어플리케이션이 설치될 때 생성될 수 있다.In the web service scaling device, the snapshot creation request may be generated when a setting for the web server or the web application server providing the arbitrary web service is changed or an application is installed.
상기 웹 서비스 스케일링 장치에서 상기 스케일링 이벤트 발생은 상기 웹 서비스에 대한 트래픽이 기 설정된 범위를 넘어서거나 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 처리량이 기 설정된 범위를 넘어설 때 생성될 수 있다.In the web service scaling device, the scaling event generation may be generated when the traffic for the web service exceeds a preset range or the throughput of the web server or the web application server that provides the web service exceeds a preset range .
상기 웹 서비스 스케일링 장치에서 상기 구성 정보는 상기 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 환경 설정 정보를 포함할 수 있다.In the web service scaling device, the configuration information may include a topology of the web service or environment setting information of a web server or a web application server that provides the web service.
상기 웹 서비스 스케일링 장치에서 상기 스냅샷 보관부는 상기 웹 서비스에 대한 스냅샷과 상기 구성 정보가 저장되는 저장 모듈; 및 상기 스케일링 실행부의 요청에 따라 상기 저장된 스냅샷과 상기 구성 정보를 제공하는 송신모듈을 포함할 수 있다. In the web service scaling device, the snapshot storage unit may include a storage module for storing a snapshot of the web service and the configuration information; And a transmission module for providing the stored snapshot and the configuration information according to a request of the scaling execution unit.
상기 웹 서비스 스케일링 장치는 임의의 웹 서비스에 대한 스냅샷 생성 요청에 대한 응답으로 상기 웹 서비스를 구현하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성하며, 상기 임의의 웹 서비스의 토폴로지 또는 상기 웹 서버 또는 웹 어플리케이션 서버의 구성(configuration)을 검색하여 상기 임의의 웹 서비스의 구성 정보를 생성한 후 상기 생성된 스냅샷 및 상기 생성된 구성 정보를 상기 스냅샷 보관부에 저장하는 스냅샷 생성부를 더 포함할 수 있다.The web service scaling device generates a snapshot of a web server or a web application server that implements the web service in response to a snapshot creation request for an arbitrary web service. The topology of the web service or the web A snapshot generation unit for searching configuration of a server or a web application server to generate configuration information of the arbitrary web service and storing the generated snapshot and the generated configuration information in the snapshot storage unit .
상기 웹 서비스 스케일링 장치에서 상기 스냅샷 생성 요청은 상기 임의의 웹 서비스를 제공하는 상기 웹 서버 또는 웹 어플리케이션 서버에 대한 설정이 변경되거나, 어플리케이션이 설치될 때 생성될 수 있다.In the web service scaling device, the snapshot creation request may be generated when a setting for the web server or the web application server providing the arbitrary web service is changed or an application is installed.
상기 웹 서비스 스케일링 장치에서 상기 스케일링 이벤트 발생은 상기 웹 서비스에 대한 트래픽이 기 설정된 범위를 넘어서거나 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 처리량이 기 설정된 범위를 넘어설 때 생성될 수 있다.In the web service scaling device, the scaling event generation may be generated when the traffic for the web service exceeds a preset range or the throughput of the web server or the web application server that provides the web service exceeds a preset range .
상기 웹 서비스 스케일링 장치에서 상기 구성 정보는 상기 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 환경 설정 정보를 포함할 수 있다.In the web service scaling device, the configuration information may include a topology of the web service or environment setting information of a web server or a web application server that provides the web service.
본 발명의 다른 예시적인 실시예에 따르면, 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷과 상기 웹 서비스에 대한 구성 정보를 생성하는 단계; 상기 웹 서비스에 대한 스케일링 이벤트가 발생되면, 상기 웹 서비스에 대한 스냅샷을 임의의 서버에 로딩하는 단계; 및 상기 웹 서비스에 대한 구성 정보를 상기 임의의 서버에 설정하여 상기 웹 서비스를 확장하는 단계를 포함하는 웹 서비스 스케일링 방법이 제공된다.According to another exemplary embodiment of the present invention, there is provided a method for providing a web service, comprising: generating a snapshot of a web server or a web application server providing web service and configuration information for the web service; Loading a snapshot of the web service into a server when a scaling event for the web service is generated; And expanding the web service by setting configuration information for the web service in the arbitrary server.
상기 웹 서비스 스케일링 방법에서 상기 생성하는 단계는 임의의 웹 서비스에 대한 스냅샷 생성 요청에 대한 응답으로 상기 임의의 웹 서비스를 구현하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성하는 단계; 및 상기 임의의 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 서버에 대한 구성 정보를 검색하여 상기 임의의 웹 서비스 구성 정보를 생성하여 스냅샷 보관부에 저장하는 단계를 포함할 수 있다.Wherein the generating of the web service scaling method comprises: generating a snapshot of a web server or a web application server that implements the web service in response to a snapshot creation request for any web service; And searching the topology of the web service or the configuration information of the server providing the web service to generate the arbitrary web service configuration information and storing the generated web service configuration information in the snapshot storage unit.
상기 웹 서비스 스케일링 방법에서 상기 생성하는 단계는 상기 임의의 웹 서비스를 제공하는 상기 웹 서버 또는 웹 어플리케이션 서버에 대한 구성이 변경되거나 상기 임의의 웹 서비스의 토폴로지가 변경되거나 상기 웹 서버 또는 웹 어플리케이션 서버에 임의의 어플리케이션이 설치될 때 실행될 수 있다.In the web service scaling method, the generating may include changing the configuration of the web server or the web application server providing the arbitrary web service, changing the topology of the arbitrary web service, It can be executed when any application is installed.
상기 웹 서비스 스케일링 방법에서 상기 로딩하는 단계는 상기 웹 서비스에 대한 트래픽이 기 설정된 범위를 넘어서거나 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 처리량이 기 설정된 범위를 넘어설 때 실행될 수 있다.In the web service scaling method, the loading step may be executed when the traffic for the web service exceeds a preset range or the throughput of the web server or the web application server that provides the web service exceeds a predetermined range.
상기 웹 서비스 스케일링 방법에서 상기 구성 정보는 상기 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 구성과 관련된 정보를 포함할 수 있다.In the web service scaling method, the configuration information may include information related to a topology of the web service or a configuration of a web server or a web application server providing the web service.
상기 웹 서비스 스케일링 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 저장 매체에 구현될 수 있다.
The computer program for executing the web service scaling method may be embodied in a computer-readable storage medium having stored thereon.
본 발명의 실시예들에 따르면, 웹 서버 또는 웹 어플리케이션 서버의 스냅샷을 이용하여 웹 서비스를 확장함으로써, 웹 서비스를 확장에 걸리는 시간을 단축할 수 있다. According to embodiments of the present invention, the time taken to expand the web service can be shortened by extending the web service using the snapshot of the web server or the web application server.
또한, 본 발명의 실시예들에 따르면, 스냅샷을 이용하여 웹 서비스를 확장하기 때문에 웹 서비스를 위한 어플리케이션의 설치를 생략할 수 있다.In addition, according to the embodiments of the present invention, since the web service is extended using the snapshot, the installation of the application for the web service can be omitted.
본 발명의 실시예들에 따르면, 스냅샷을 이용하여 웹 서비스에 필요한 웹 어플리케이션까지 동시에 설치가 가능하기 때문에 웹 서비스 확장 시 발생되는 장애를 최소화시킬 수 있다.
According to the embodiments of the present invention, it is possible to simultaneously install a web application required for a web service using a snapshot, thereby minimizing a failure occurring when expanding a web service.
도 1은 본 발명의 실시예에 따른 웹 서비스 스케일링 장치와 그 주변 구성을 도시한 블록도
도 2는 본 발명의 실시예에 따른 웹 서비스 스케일링 방법을 도시한 흐름도.1 is a block diagram illustrating a web service scaling apparatus and its peripheral configuration according to an embodiment of the present invention;
2 is a flow diagram illustrating a web service scaling method in accordance with an embodiment of the present invention.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and / or systems described herein. However, this is merely an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification. The terms used in the detailed description are intended only to describe embodiments of the invention and should in no way be limiting. Unless specifically stated otherwise, the singular forms of the expressions include plural forms of meanings. In this description, the expressions "comprising" or "comprising" are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, Should not be construed to preclude the presence or possibility of other features, numbers, steps, operations, elements, portions or combinations thereof.
도 1은 본 발명의 실시예에 따른 웹 서비스 스케일링 장치(150)와 그 주변 구성을 도시한 블록도이다.1 is a block diagram illustrating a web
도 1에 도시된 바와 같이, 웹 서비스 스케일링 장치(150)는 외부 인터페이스부(100)와 연동되어 스냅샷을 생성하거나 스냅샷을 이용하여 웹 서비스를 확장할 수 있다. As shown in FIG. 1, the web
도 1의 웹 서비스 스케일링 장치(150)는 기 설정된 조건 또는 외부의 요청에 따라 클라우드 환경에서 스냅샷(snapshot)을 이용하여 웹 서비스를 위한 클라우드 서버를 생성할 수 있다.The web
본 발명의 실시예에서 스냅샷은 메모리 바이트, 하드웨어 레지스터, 상태 표시기 등의 모든 내용을 포함한 메모리의 현재 상태를 저장하는 것으로, 시스템 복구 또는 확장 시 이용될 수 있다. 또한, 스냅샷은 데이터 전체가 아니라 데이터에 대한 이미지를 복사해서 스냅샷 생성 시점의 데이터를 그대로 유지시킬 수 있다. 구체적으로, 본 발명의 실시예에 따른 스냅샷은 웹 서비스 스케일링(확장)에 필요한 가상 머신(VM : Virtual Machine) 생성, 웹 서버 또는 웹 어플리케이션 서버 설치, 웹 어플리케이션 설치 상태에 대응하는 데이터에 대한 이미지를 의미할 수 있다.In an embodiment of the present invention, the snapshot stores the current state of the memory, including all contents of memory bytes, hardware registers, status indicators, etc., and can be used for system recovery or expansion. In addition, the snapshot can copy the image of the data, not the whole data, so that the data at the time of the snapshot creation can be maintained. Specifically, the snapshot according to the embodiment of the present invention can be used for creating a virtual machine (VM) necessary for scaling (extension) of a web service, installing a web server or a web application server, . ≪ / RTI >
소정 실시예에 따른 스냅샷 기반의 웹 서비스 스케일링 장치(150)는, 도 1에 도시된 바와 같이, 외부 인터페이스부(100)의 스냅샷 생성 요청 또는 스케일링 이벤트 발생에 따라 동작할 수 있다. 또한, 웹 서비스 스케일링 장치(150)는 스냅샷 생성부(160), 스냅샷 보관부(170) 및 스케일링 실행부(180)를 포함할 수 있다.The snapshot-based web
외부 인터페이스부(100)의 스냅샷 생성 요청은 스냅샷을 생성하기 위한 것으로, 관리자 또는 외부 사용자에 의해 생성될 수 있다.The snapshot creation request of the
또한, 스냅샷 생성 요청은 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 설정이 변경될 때 자동으로 생성되어 본 발명의 실시예에 따른 웹 서비스 스케일링 장치(150)에 제공될 수 있다.In addition, the snapshot creation request may be automatically generated when the setting of the web server or the web application server providing the web service is changed, and may be provided to the web
외부 인터페이스부(100)의 스케일링 이벤트 발생은 스냅샷을 이용하여 웹 서비스가 스케일링되도록 하기 위한 것으로, 관리자 또는 외부 사용자의 요청에 따라 생성되거나 기 설정된 조건에 따라 생성될 수 있다. 본 발명의 일 실시예에서, 스케일링 이벤트 발생의 조건은 웹 서비스를 제공하는 시스템 환경에서 부하량, 예컨대 CPU 부하량, 네트워크 트래픽 부하량이 될 수 있다. 다시 말해서, 시스템 환경의 부하량이 기 설정된 값 이상으로 소정 시간 동안 지속되는 경우 스케일링 이벤트가 발생될 수 있다.The scaling event occurrence of the
스냅샷 생성부(160)는 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성할 수 있다. 이를 위하여 스냅샷 생성부(160)는 스냅샷 생성 모듈(162)과 웹 서비스 구성 정보 검색 모듈(164)를 포함할 수 있다.The
스냅샷 생성 모듈(162)은 스냅샷 생성 요청에 따라 해당 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성할 수 있다. 구체적으로 스냅샷 생성 모듈(162)은 웹 서버 또는 웹 어플리케이션 서버에 대한 메모리의 현재 상태를 기반으로 스냅샷을 생성할 수 있다.The
웹 서비스 구성 정보 검색 모듈(164)은 해당 웹 서버 또는 웹 어플리케이션 서버에서 제공되는 웹 서비스의 토폴로지 및 웹 서버 또는 웹 어플리케이션 서버의 구성(configuration)을 확인하여 웹 서비스 구성 정보를 생성할 수 있다.The web service configuration
스냅샷 생성부(160)는 스냅샷 생성 모듈(162)에서 생성된 스냅샷과 웹 서비스 구성 정보 검색 모듈(164)에서 생성된 웹 서비스 구성 정보를 스냅샷 보관부(170)에 제공할 수 있다.The
스냅샷 보관부(170)는 스냅샷과 웹 서비스 구성 정보를 저장하고, 스케일링 실행부(180)의 요청에 대한 응답으로 스냅샷과 웹 서비스 구성 정보를 송신할 수 있다.The
본 발명의 일 실시예에서, 스냅샷 보관부(170)는 저장 모듈(172)과 송신 모듈(174)로 구성될 수 있다.In one embodiment of the present invention, the
저장 모듈(172)은 스냅샷 생성부(160)와의 연동을 통해 임의의 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷 및 웹 서비스 구성 정보를 저장 및 관리할 수 있다.The
송신 모듈(174)은 스케일링 실행부(180)와의 연동을 통해 저장 모듈(172)에 저장된 스냅샷과 웹 서비스 구성 정보를 스케일링 실행부(180)에 제공할 수 있다.The
스케일링 실행부(180)는 외부 인터페이스부(100)로부터 스케일링 이벤트에 대한 응답으로 스냅샷을 웹 서비스 확장을 위한 임의의 서버에 로딩시킨 후 스냅샷이 로딩된 임의의 서버에 웹 서비스 구성 정보를 설정하여 웹 서비스를 확장시킬 수 있다. The scaling
본 발명의 일 실시예에서 임의의 서버는 클라우드 환경에서 웹 서비스를 제공하는 컴퓨터 등과 같은 물리적 장치이거나, 웹 서비스를 제공할 수 있는 가상화 서버일 수 있다.In one embodiment of the present invention, any server may be a physical device such as a computer providing a web service in a cloud environment, or may be a virtualization server capable of providing web services.
본 발명의 일 실시예에서, 스케일링 실행부(180)는 스냅샷 로딩 모듈(182)과 웹 서비스 설정 모듈(184)로 구성될 수 있다. In one embodiment of the present invention, the scaling
스냅샷 로딩 모듈(182)은 스냅샷 보관부(170)에 요청하여 송신 모듈(174)로부터 스냅샷을 전송받으며, 전송받은 스냅샷을 웹 서비스 확장을 위한 클라우드 서버에 로딩할 수 있다. The
웹 서비스 설정 모듈(184)은 스냅샷 보관부(170)에 요청하여 송신 모듈(174)로부터 웹 서비스 구성 정보를 전송받으며, 스냅샷이 로딩된 클라우드 서버에 웹 서비스 구성 정보를 설정하여 웹 서비스를 스케일링할 수 있다.The web
상술한 바와 같이, 본 발명의 실시예에 따른 웹 서비스 스케일링 장치(100)는 스냅샷을 임의의 서버에 로딩시켜 웹 서비스에 필요한 어플리케이션이 설치 및 실행된 상태로 임의의 서버를 만든 후 웹 서비스의 토폴리지와 환경 설정 정보를 적용함으로써, 임의의 서버를 웹 서비스가 구현될 수 있는 상태로 만들어 클라우드 환경에서 웹 서비스의 확장이 가능하다. 즉, 가상 이미지를 이용하는 경우 웹 서비스를 위해서 어플리케이션을 설치하고, 이에 따른 환경 설정과 토폴로지를 설정하는 과정이 수동으로 이루어지지만, 본 발명의 웹 서비스 스케일 장치는 스냅샷과 웹 서비스의 토폴로지 및 환경 설정을 적용하여 별도의 어플리케이션 설치 또는 설정 과정 없이 자동으로 웹 서비스를 확장할 수 있다.As described above, the web
상기와 같은 구성을 갖는 웹 서비스 스케일링 장치(150)의 웹 서비스 스케일링 방법(200)에 대해 도 2를 참조하여 설명한다.The web
도 2는 본 발명의 실시예에 따른 웹 서비스 스케일링 장치(150)의 웹 서비스 스케일링 방법(200)을 도시한 흐름도이다.FIG. 2 is a flow diagram illustrating a Web
도 2에 도시된 웹 서비스 스케일링 방법(200)은 예를 들어, 전술한 스케일링 실행부(180)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 도 2에 도시되지 않은 하나 이상의 단계들이 도 2에 도시된 방법과 함께 수행될 수도 있다.The web
웹 서비스 스케일링 방법(200)는, 도 2에 도시된 바와 같이, 크게 스냅샷 생성 부분(210), 웹 서비스 확장 부분(220)으로 구성될 수 있다.The web
먼저, 스냅샷 생성 부분(210)에 대해 설명하면, 웹 서비스에 대한 스냅샷 생성 요청이 외부 인터페이스부(100)로부터 수신되면(단계 212), 스냅샷 생성부(160)는 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성하고, 웹 서버 또는 웹 어플리케이션 서버에 의해 제공되는 웹 서비스의 토폴로지, 환경 설정 정보를 검색하여 웹 서비스 구성 정보를 생성한 후 스냅샷과 웹 서비스 구성 정보를 스냅샷 보관부(170)에 저장한다(단계 214).First, the
다음으로, 웹 서비스 확장 부분(220)에 대해 설명하면, 외부 인터페이스부(100)로부터 스케일링 이벤트가 발생되면(단계 222), 스케일링 실행부(180)는 웹 서비스에 대한 스냅샷과 웹 서비스 구성 정보를 스냅샷 보관부(170)에서 읽어드린다(단계 224).Next, a description will be made of the web
그런 다음, 스케일링 실행부(180)는 스냅샷을 클라우드 서버에 로딩(단계 226)한 후 웹 서비스 구성 정보를 이용하여 클라우드 서버에 웹 서비스를 위한 환경 설정 정보(configuration)를 적용하고, 웹 서비스 구조에 해당하는 토폴로지를 설정한다(단계 228). 이에 따라, 클라우드 서버는 클라우드 컴퓨팅 환경에서 다른 서버와 더불어 웹 서비스를 제공할 수 있다.Then, the scaling
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들, 즉 웹 서비스 스케일링 방법(200)을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.On the other hand, embodiments of the present invention may include a computer readable medium including a program for performing the methods described herein, i.e., the web
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, . Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.
100 : 외부 인터페이스부
150 : 웹 서비스 스케일링 장치
160 : 스냅샷 생성부
162 : 스냅샷 생성 모듈
164 : 웹 서비스 구성 정보 검색 모듈
170 : 스냅샷 보관부
172 : 저장 모듈
174 : 송신 모듈
180 : 스케일링 실행부
182 : 스냅샷 로딩 모듈
184 : 웹 서비스 설정 모듈100: External interface unit
150: Web service scaling device
160: Snapshot generation unit
162: Snapshot generation module
164: Web service configuration information retrieval module
170: Snapshot storage
172: storage module
174: Transmission module
180: scaling execution unit
182: Snapshot loading module
184: Web service configuration module
Claims (14)
상기 웹 서비스에 대한 스케일링 이벤트 발생에 대한 응답으로 상기 웹 서비스에 대한 스냅샷을 임의의 서버에 로딩하며, 상기 웹 서비스에 대한 구성 정보를 상기 임의의 서버에 설정하여 상기 웹 서비스를 확장하는 스케일링 실행부를 포함하는, 웹 서비스 스케일링 장치.
A snapshot storage unit for storing a snapshot of a web server or a web application server providing the web service and configuration information for the web service; And
A snapshot of the web service is loaded into a server in response to the occurrence of a scaling event for the web service, and the configuration information for the web service is set in the arbitrary server, And a Web service scaling unit.
상기 스케일링 실행부는
상기 웹 서비스에 대한 스케일링 이벤트 발생을 수신하면, 상기 스냅샷 보관부에 상기 스냅샷을 요청한 후 이에 대한 응답으로 수신된 스냅샷을 상기 임의의 서버에 로딩하는 스냅샷 로딩 모듈; 및
상기 웹 서비스에 대한 구성 정보를 상기 스냅샷이 로딩된 임의의 서버에 설정하는 웹 서비스 설정 모듈을 포함하는, 웹 서비스 스케일링 장치.
The method according to claim 1,
The scaling execution unit
A snapshot loading module that receives the scaling event for the web service and requests the snapshot to the snapshot storage and loads the received snapshot into the arbitrary server in response to the request; And
And a web service configuration module for setting configuration information for the web service to any server loaded with the snapshot.
상기 웹 서비스 스케일링 장치는
임의의 웹 서비스에 대한 스냅샷 생성 요청에 대한 응답으로 상기 임의의 웹 서비스에 대한 스냅샷과 구성 정보를 생성하여 상기 스냅샷 보관부에 제공하는 스냅샷 생성부를 더 포함하는, 웹 서비스 스케일링 장치.
The method according to claim 1,
The web service scaling device
Further comprising a snapshot generation unit for generating a snapshot and configuration information for the arbitrary web service in response to the snapshot creation request for the arbitrary web service and providing the snapshot and the configuration information to the snapshot storage unit.
상기 스냅샷 생성부는
상기 임의의 웹 서비스가 구현된 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성하는 스냅샷 생성 모듈; 및
상기 임의의 웹 서비스의 토폴로지 또는 상기 웹 서버 또는 웹 어플리케이션 서버의 환경 설정(configuration)을 검색하여 상기 임의의 웹 서비스의 구성 정보를 생성하는 웹 서비스 구성 정보 검색 모듈을 포함하는, 웹 서비스 스케일 장치.
The method of claim 3,
The snapshot generation unit
A snapshot generation module for generating a snapshot of the web server or the web application server in which the arbitrary web service is implemented; And
And a web service configuration information search module for searching the topology of the arbitrary web service or the configuration of the web server or the web application server to generate configuration information of the arbitrary web service.
상기 스냅샷 생성 요청은 상기 임의의 웹 서비스를 제공하는 상기 웹 서버 또는 웹 어플리케이션 서버에 대한 설정이 변경되거나, 어플리케이션이 설치될 때 생성되는, 웹 서비스 스케일링 장치.
The method of claim 3,
Wherein the snapshot creation request is generated when a setting for the web server or the web application server providing the arbitrary web service is changed or an application is installed.
상기 스케일링 이벤트 발생은 상기 웹 서비스에 대한 트래픽이 기 설정된 범위를 넘어서거나 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 처리량이 기 설정된 범위를 넘어설 때 생성되는, 웹 서비스 스케일링 장치.
The method according to claim 1,
Wherein the scaling event generation is generated when the traffic for the web service exceeds a predetermined range or the throughput of the web server or the web application server providing the web service exceeds a preset range.
상기 구성 정보는 상기 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 환경 설정 정보를 포함하는, 웹 서비스 스케일링 장치.
The method according to claim 1,
Wherein the configuration information includes a topology of the web service or configuration information of the web server or the web application server providing the web service.
상기 스냅샷 보관부는
상기 웹 서비스에 대한 스냅샷과 상기 구성 정보가 저장되는 저장 모듈; 및
상기 스케일링 실행부의 요청에 따라 상기 저장된 스냅샷과 상기 구성 정보를 제공하는 송신모듈을 포함하는, 웹 서비스 스케일 장치.
The method according to claim 1,
The snapshot storage unit
A storage module for storing a snapshot of the web service and the configuration information; And
And a transmission module for providing the stored snapshot and the configuration information according to a request of the scaling execution unit.
상기 웹 서비스에 대한 스케일링 이벤트가 발생되면, 상기 웹 서비스에 대한 스냅샷을 임의의 서버에 로딩하는 단계; 및
상기 웹 서비스에 대한 구성 정보를 상기 임의의 서버에 설정하여 상기 웹 서비스를 확장하는 단계를 포함하는, 웹 서비스 스케일링 방법.
Generating a snapshot of a web server or a web application server providing web service and configuration information for the web service;
Loading a snapshot of the web service into a server when a scaling event for the web service is generated; And
And setting the configuration information for the web service to the arbitrary server to expand the web service.
상기 생성하는 단계는
임의의 웹 서비스에 대한 스냅샷 생성 요청에 대한 응답으로 상기 임의의 웹 서비스를 구현하는 웹 서버 또는 웹 어플리케이션 서버에 대한 스냅샷을 생성하는 단계; 및
상기 임의의 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 서버에 대한 구성 정보를 검색하여 상기 임의의 웹 서비스 구성 정보를 생성하여 상기 스냅샷 보관부에 저장하는 단계를 포함하는, 웹 서비스 스케일링 방법.
10. The method of claim 9,
The generating step
Generating a snapshot of a web server or a web application server that implements the arbitrary web service in response to a snapshot creation request for the arbitrary web service; And
Searching the topology of the arbitrary web service or the configuration information of the server providing the web service to generate the arbitrary web service configuration information and storing the generated web service configuration information in the snapshot storage unit.
상기 생성하는 단계는 상기 임의의 웹 서비스를 제공하는 상기 웹 서버 또는 웹 어플리케이션 서버에 대한 구성이 변경되거나 상기 임의의 웹 서비스의 토폴로지가 변경되거나 상기 웹 서버 또는 웹 어플리케이션 서버에 임의의 어플리케이션이 설치될 때 실행되는, 웹 서비스 스케일링 방법.
11. The method of claim 10,
The generating may include changing the configuration of the web server or the web application server providing the arbitrary web service, changing the topology of the arbitrary web service, or installing an arbitrary application in the web server or the web application server When executed, a Web service scaling method.
상기 로딩하는 단계는 상기 웹 서비스에 대한 트래픽이 기 설정된 범위를 넘어서거나 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 처리량이 기 설정된 범위를 넘어설 때 실행되는, 웹 서비스 스케일링 방법.
10. The method of claim 9,
Wherein the loading is performed when the traffic for the web service exceeds a predetermined range or when the throughput of the web server or the web application server providing the web service exceeds a preset range.
상기 구성 정보는 상기 웹 서비스의 토폴로지 또는 상기 웹 서비스를 제공하는 웹 서버 또는 웹 어플리케이션 서버의 환경 설정 정보를 포함하는, 웹 서비스 스케일링 방법.
10. The method of claim 9,
Wherein the configuration information includes a topology of the web service or environment setting information of the web server or the web application server providing the web service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140065712A KR20150137597A (en) | 2014-05-30 | 2014-05-30 | Apparatus and method for sacling web service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140065712A KR20150137597A (en) | 2014-05-30 | 2014-05-30 | Apparatus and method for sacling web service |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150137597A true KR20150137597A (en) | 2015-12-09 |
Family
ID=54873510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140065712A KR20150137597A (en) | 2014-05-30 | 2014-05-30 | Apparatus and method for sacling web service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20150137597A (en) |
-
2014
- 2014-05-30 KR KR1020140065712A patent/KR20150137597A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11778057B2 (en) | System and method for intent-based service deployment | |
CN107506258B (en) | Method and apparatus for data backup | |
CN104937584B (en) | Based on the quality of shared resource to the service quality of virtual machine and application program offer optimization through priority ranking | |
EP2989543B1 (en) | Method and device for updating client | |
US10067692B2 (en) | Method and apparatus for backing up and restoring cross-virtual machine application | |
CN102754073B (en) | For the method and system that virtualized extension point is declaratively registered | |
JP6288275B2 (en) | Virtualization infrastructure management apparatus, virtualization infrastructure management system, virtualization infrastructure management method, and virtualization infrastructure management program | |
US9378039B2 (en) | Virtual machine storage replication schemes | |
US11588698B2 (en) | Pod migration across nodes of a cluster | |
US9141363B2 (en) | Application construction for execution on diverse computing infrastructures | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
KR20150137530A (en) | System and method for managing multi-cloud deployment | |
US20160182403A1 (en) | Automatic creation of affinity-type rules for resources in distributed computer systems | |
EP3146426A1 (en) | High-performance computing framework for cloud computing environments | |
US10466991B1 (en) | Computing instance software package installation | |
US11263297B2 (en) | Dynamic insertion of variablized secrets in a pipeline integration system | |
US9349012B2 (en) | Distributed processing system, distributed processing method and computer-readable recording medium | |
KR101977602B1 (en) | Apparatus and method for managing microservice | |
US11875175B2 (en) | Providing physical host hardware state information to virtual machines deployed on the physical host | |
KR20150137597A (en) | Apparatus and method for sacling web service | |
CN115136133A (en) | Single use execution environment for on-demand code execution | |
US9836315B1 (en) | De-referenced package execution | |
US10140155B2 (en) | Dynamically provisioning, managing, and executing tasks | |
US10684840B1 (en) | Software package installation and monitoring | |
US9058232B2 (en) | Systems and methods to create a clean install of an application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |