KR100946696B1 - Streaming software service system using time-series technique and method thereof - Google Patents
Streaming software service system using time-series technique and method thereof Download PDFInfo
- Publication number
- KR100946696B1 KR100946696B1 KR1020070122476A KR20070122476A KR100946696B1 KR 100946696 B1 KR100946696 B1 KR 100946696B1 KR 1020070122476 A KR1020070122476 A KR 1020070122476A KR 20070122476 A KR20070122476 A KR 20070122476A KR 100946696 B1 KR100946696 B1 KR 100946696B1
- Authority
- KR
- South Korea
- Prior art keywords
- streaming
- software
- service
- time series
- patterns
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Abstract
본 발명은 타임 시리즈(time-series) 기법을 이용한 스트리밍 소프트웨어 서비스 시스템 및 그 방법에 관한 것으로, 서비스로 제공되는 소프트웨어(SaaS; Software as a Service)와 같은 소프트웨어의 스트리밍 서비스시 해당 소프트웨어의 스트리밍 패턴을 타임 시리즈(time-series) 기법을 이용해 클러스터링하고 각 클러스터로부터 해당 소프트웨어들의 소요되는 자원량을 추산해 자원을 할당하고 소요되는 자원 값을 이용해 스트리밍 서비스의 부하를 분산한다. 본 발명에 의하면, 대용량 소프트웨어 스트리밍 서비스를 준비하는 플랫폼에서 소요되는 자원량을 추산하여 부하를 분산할 수 있으므로, 최소한의 자원을 효율적으로 활용하면서 스트리밍 서비스를 하려는 시범 시스템을 구축할 수 있다.The present invention relates to a streaming software service system using a time-series technique and a method thereof. The present invention relates to a streaming pattern of a corresponding software in a streaming service of software such as software as a service (SaaS). Clustering is performed using a time-series technique, the resources of each software are estimated from each cluster, the resources are allocated, and the load of the streaming service is distributed using the resources. According to the present invention, since the load can be distributed by estimating the amount of resources required in the platform for preparing a large-capacity software streaming service, it is possible to build a pilot system for streaming service while efficiently utilizing a minimum of resources.
SaaS, 스트리밍 소프트웨어, 타임 시리즈, 자원 할당, 부하 분산 SaaS, Streaming Software, Time Series, Resource Allocation, Load Balancing
Description
본 발명은 스트리밍 소프트웨어 서비스 시스템 및 그 방법에 관한 것이며, 더욱 상세히는 스트리밍 서비스되는 소프트웨어의 특성을 타임 시리즈 기법을 이용해 분류 및 판단하고 서비스시 소요 자원량을 추산해 동적으로 서비스 부하를 분산하는 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템 및 그 방법에 관한 것이다.The present invention relates to a streaming software service system and a method thereof, and more particularly, a time series technique for classifying and determining the characteristics of a streaming service software using a time series technique and dynamically distributing a service load by estimating the amount of resources required for the service. The present invention relates to a streaming software service system and a method thereof.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-007-02, 과제명: 공개 SW 기반 온디맨드 사무환경 제공 기술 개발].The present invention is derived from the research conducted as part of the IT new growth engine core technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. [Task Management Number: 2005-S-007-02, Title: Open SW-based On-Demand Office Development of environmental provision technology].
소프트웨어 스트리밍 기술은 스트리밍 기법을 통하여 서버에 존재하는 응용 소프트웨어의 실행 코드 중 일부를 클라이언트에서 실행하는 기술로서, 클라이언트는 소프트웨어를 로컬 시스템의 저장 장치에 모두 다운로드하거나 직접 설치하지 않고도 실행에 필요한 부분만 네트워크를 통하여 서버로부터 전송받아 실행시킨다.Software streaming technology is a technology that executes a part of the execution code of application software existing in a server through a streaming technique on the client, and the client only needs to execute the software without downloading or installing all of the software to the storage device of the local system. Run by receiving from server.
최근 들어서는 이러한 소프트웨어 스트리밍 서비스 사용량이 증가하고 있으며, 서비스로 제공되는 소프트웨어(SaaS; Software as a Service)와 같은 스트리밍 방식의 소프트웨어의 수도 증가하고 있다.In recent years, the usage of such software streaming services is increasing, and the number of streaming software such as software as a service (SaaS) is increasing.
이러한 대용량 소프트웨어 스트리밍 서비스를 준비하는 시스템에서는 CPU, 메모리, 네트워크 대역폭 같은 자원의 효율적인 관리를 통한 부하 분산이 필요하다.In a system preparing such a large software streaming service, load balancing is required through efficient management of resources such as CPU, memory, and network bandwidth.
종래의 대용량 소프트웨어 스트리밍 서비스 부하 분산 기술은 부하 분산 스위치를 이용한 부하 분산 시스템이나 가상 서버 시스템을 이용한 부하 분산이 있다. 이러한 서버 부하 분산 방법들은 단순한 부하 분산 알고리즘만을 지원하고 있기 때문에 애플리케이션에 따른 유연한 부하 분산을 지원할 수 없다.Conventional high-capacity software streaming service load balancing technology includes a load balancing system using a load balancing switch or a load balancing system using a virtual server system. Since these server load balancing methods only support simple load balancing algorithms, they cannot support flexible load balancing according to the application.
또한, 소프트웨어 스트리밍 서비스의 특성상 소프트웨어 초기 실행과 사용자 요구에 의한 실행시에 사용하는 네트워크 대역폭의 차이점을 이용하여 부하 분산을 하는 경우도 있지만, 이 경우 단순히 초기 실행과 사용자 요구에 의한 부분만을 나누어 할당하기 때문에 사용자 요구 부분에 의해 대역폭 요구량이 많아지는 경우에 요구되는 자원을 시스템에서 동적으로 할당할 수가 없다.Also, due to the nature of the software streaming service, there are cases where load balancing is performed using the difference between the initial bandwidth of the software and the network bandwidth used at the time of user request. Therefore, the system cannot allocate the required resources dynamically in case the bandwidth demand increases due to the user's request.
본 발명은 상기한 종래의 문제점을 해결하기 위한 것으로, 본 발명은 대용량 소프트웨어 스트리밍 서비스를 준비하는 시스템에서 CPU, 메모리, 네트워크 대역폭 같은 자원의 효율적인 관리가 필요하며, 관리자가 소프트웨어 스트리밍 패턴에 따라 자원량을 예측하여 서비스 시 동적으로 할당할 수 있다면 시스템의 자원을 효율적으로 활용할 수 있고, 상기 스트리밍 소프트웨어의 패턴은 시간의 변화에 따라 페이지 요구량이 달라지기 때문에 나열된 패턴은 타임 시리즈(Time-series) 데이터 형태로 간주될 수 있는 점에 착안하여 개발되었다.The present invention is to solve the above-mentioned conventional problems, the present invention requires efficient management of resources such as CPU, memory, network bandwidth in a system for preparing a large software streaming service, and the administrator can manage the amount of resources according to the software streaming pattern If you can predict and allocate dynamically at the time of service, you can efficiently use the resources of the system, and since the pattern of the streaming software changes the page demand according to the change of time, the listed patterns are in the form of time-series data. It was developed based on what can be considered.
본 발명의 목적은 스트리밍 서비스되는 소프트웨어의 특성을 타임 시리즈 기법을 이용해 분류 및 판단하고 서비스시 소요 자원량을 추산하여 할당함으로써 최소한의 자원을 활용해 대용량 스트리밍 서비스를 효율적으로 서비스하고 동적으로 부하를 분산하는 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템 및 그 방법을 제공하는 것이다.An object of the present invention is to classify and determine the characteristics of the streaming service software using a time series technique and to allocate and estimate the required resource amount during the service to efficiently service a large-capacity streaming service using minimum resources, and to dynamically distribute load. The present invention provides a streaming software service system using the time series technique and a method thereof.
본 발명의 다른 목적은 새로운 스트리밍 소프트웨어가 추가되었을 시 타임 시리즈 기법을 이용한 클러스터링을 통해 해당 소프트웨어의 스트리밍 패턴이 어떤 클러스터에 속하는지 알아내고, 적절한 서비스 자원 값을 할당받도록 하는 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템 및 그 방법을 제공하는 것이다.Another object of the present invention is to find out which cluster the streaming pattern of the software belongs to through the clustering using the time series technique when new streaming software is added, and to stream the software using the time series technique to be assigned an appropriate service resource value. It is to provide a service system and a method thereof.
상기와 같은 본 발명의 목적을 달성하기 위하여 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템은, 특정 소프트웨어의 스트리밍 서비스시 스트리밍 패턴들을 수집하여, 수집된 스트리밍 패턴을 타임 시리즈 기법으로 정규화하고, 정규화된 여러 스트리밍 패턴들을 비슷한 특성을 가진 그룹들로 클러스터링하여 클러스터들로부터 대표 패턴을 추출하는 스트리밍 소프트웨어 분류기와; 추출된 대표 패턴에 대해 서비스 상황에 따라 소요되는 자원량을 할당하여 자원값 목록을 포함하는 부하 정보 테이블을 생성하는 자원 할당기; 및 클라이언트에서 소프트웨어 스트리밍 서비스를 요청하면 상기 자원 할당기에 의해 생성된 부하 정보 테이블을 참조하여 소프트웨어 스트리밍 서비스를 제공하기 위한 스트리밍 소프트웨어와 스트리밍 서비스 관리자를 포함하는 복수의 스트리밍 서비스 서버들 중 서비스 부하가 가장 적은 서버를 선택하여 클라이언트가 해당 서버로부터 스트리밍 서비스를 받도록 할당된 자원량에 따라 동적으로 스트리밍 서비스의 부하를 분산하는 부하 분산기;를 포함하여 구성된다.In order to achieve the object of the present invention as described above, a streaming software service system using a time series technique according to the present invention collects streaming patterns in a streaming service of a specific software, and normalizes the collected streaming patterns by a time series technique. A streaming software classifier that clusters the normalized streaming patterns into groups having similar characteristics to extract a representative pattern from the clusters; A resource allocator for allocating the amount of resources required according to the service situation to the extracted representative pattern to generate a load information table including a list of resource values; And when the client requests the software streaming service, the service load among the plurality of streaming service servers including the streaming software and the streaming service manager for providing the software streaming service by referring to the load information table generated by the resource allocator. Selecting a server, the load balancer for dynamically balancing the load of the streaming service according to the amount of resources allocated to the client to receive the streaming service from the server.
본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템은, 상기한 바와 같이 소프트웨어 스트리밍 패턴이 타임 시리즈와 유사한 점을 이용하는 것을 특징으로 한다.The streaming software service system using the time series technique according to the present invention is characterized in that the software streaming pattern uses a similar point to the time series as described above.
본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템은, 특정 소프트웨어의 스트리밍 서비스시 스트리밍 패턴들을 수집하고, 수집된 스트리밍 패턴들로부터 스트리밍 패턴을 타임 시리즈 기법으로 정규화하여, 타 임 시리즈 기법 중 클러스터링 기법을 이용해 정규화된 여러 스트리밍 패턴들을 비슷한 특성을 가진 그룹들로 클러스터링한다. 또한, 클러스터들로부터 대표 패턴을 추출하고, 해당 대표 패턴이 필요로 하는 자원량을 추산한 뒤, 이를 동일한 클러스터들의 소프트웨어에 적용함으로써 대용량 소프트웨어 스트리밍 서비스를 준비하는 플랫폼에서 소요되는 자원량을 추산할 수 있다.The streaming software service system using the time series technique according to the present invention collects streaming patterns in a streaming service of a specific software, normalizes the streaming patterns from the collected streaming patterns into a time series technique, and clustering techniques among the time series techniques. Clusters several normalized streaming patterns into groups with similar characteristics. Also, by extracting a representative pattern from the clusters, estimating the amount of resources required by the representative pattern, and applying the same to the software of the same clusters, it is possible to estimate the amount of resources required in the platform for preparing a large software streaming service.
본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템은, 소프트웨어가 대량으로 대용량 스트리밍 서비스 서버에 추가되었을 경우, 해당 소프트웨어들에 대해 재클러스터링하여 서비스에 필요한 자원의 소요량들을 재할당할 수도 있다. 또한, 새로운 스트리밍 소프트웨어가 추가되었을 시 클러스터들을 대표하는 대표 패턴과의 유사도 계산을 통해 가장 유사한 대표 패턴이 속한 자원 값을 새로운 스트리밍 소프트웨어에 할당하여 서버 자원의 이용량을 추산할 수 있게 한다.In the streaming software service system using the time series technique according to the present invention, when software is added to a large-capacity streaming service server in a large amount, the streaming software service system may re-cluster the corresponding software to reallocate requirements for resources required for the service. In addition, when new streaming software is added, the similarity with the representative pattern representing the clusters is calculated to allocate the resource value to which the most similar representative pattern belongs to the new streaming software to estimate the server resource usage.
본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템에 포함되는 부하 분산기는 이러한 할당 자원 정보를 기반으로 동적으로 스트리밍 서비스 부하를 분산하여 대용량 스트리밍 서비스의 서버 자원을 효율적으로 활용할 수 있도록 한다.The load balancer included in the streaming software service system using the time series method according to the present invention can efficiently distribute the streaming service load based on the allocated resource information so that the server resource of the large-scale streaming service can be efficiently utilized.
상기와 같은 본 발명의 목적을 달성하기 위하여 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 방법은, 특정 소프트웨어의 스트리밍 서비스시 스트리밍 패턴들을 수집하는 제1과정과; 수집된 스트리밍 패턴을 타임 시 리즈 기법으로 정규화하는 제2과정; 타임 시리즈 기법을 이용해 정규화된 여러 스트리밍 패턴들을 비슷한 특성을 가진 그룹들로 클러스터링하는 제3과정; 클러스터링된 패턴들로부터 대표 패턴을 추출하는 제4과정; 추출된 대표 패턴에 대해 서비스 상황에 따라 소요되는 자원량을 할당하여 자원값 목록을 포함하는 부하 정보 테이블을 생성하는 제5과정; 및 클라이언트에서 소프트웨어 스트리밍 서비스를 요청하면 복수의 스트리밍 서비스 서버들 중 서비스 부하가 가장 적은 서버를 선택하여 클라이언트가 해당 서버로부터 스트리밍 서비스를 받도록 할당된 자원량에 따라 동적으로 스트리밍 서비스의 부하를 분산하는 제6과정;으로 이루어지는 것을 특징으로 한다.In order to achieve the above object of the present invention, a streaming software service method using a time series technique according to the present invention includes: a first process of collecting streaming patterns in a streaming service of a specific software; A second step of normalizing the collected streaming pattern by a time series technique; Clustering the normalized streaming patterns into groups having similar characteristics using a time series technique; Extracting a representative pattern from the clustered patterns; Generating a load information table including a list of resource values by allocating an amount of resources required according to a service situation with respect to the extracted representative pattern; And requesting the software streaming service from the client, selecting a server having the least service load among the plurality of streaming service servers, and dynamically distributing the load of the streaming service according to the amount of resources allocated to the client to receive the streaming service from the server. Process; characterized by consisting of.
상술한 바와 같은 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템 및 그 방법에 의하면, 대용량 소프트웨어 스트리밍 서비스를 준비하는 플랫폼에서 소요되는 자원량을 추산하여 부하를 분산할 수 있으므로, 최소한의 자원을 효율적으로 활용하면서 스트리밍 서비스를 하려는 시범 시스템을 구축할 수 있다.According to the streaming software service system and the method using the time series technique according to the present invention as described above, the load can be distributed by estimating the amount of resources required in the platform for preparing a large software streaming service, so that the minimum resources can be efficiently It can be used to build a pilot system for streaming services.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 더욱 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings.
도 1을 참조하면, 본 발명에 따른 소프트웨어 스트리밍 서비스 시스템(120)은 통신망(100)을 통해 클라이언트(110A, 110B)와 연결된다.Referring to FIG. 1, the software
상기 클라이언트(110A,110B)는 스트리밍 서비스를 대용량 소프트웨어 스트리 밍 서비스 시스템(120)에게 요청하며, PC, 노트북 등이 포함된다.The
상기 통신망(100)은 유무선의 인터넷 망을 포함하는 개념이며, 소프트웨어 스트리밍 서비스 시스템(120)과 통신 가능한 모든 통신선 및 망을 포함한다.The
상기 소프트웨어 스트리밍 서비스 시스템(120)은 스트리밍 소프트웨어 분류기(121)와 자원 할당기(122), 부하 분산기(123), 스트리밍 서버(124)를 포함하여 구성된다.The software
상기 스트리밍 소프트웨어 분류기(121)는 특정 소프트웨어의 스트리밍 서비스시 스트리밍 패턴들을 수집하여, 수집된 스트리밍 패턴을 타임 시리즈 기법 중 클러스터링 기법으로 정규화하고, 정규화된 여러 스트리밍 패턴들을 비슷한 특성을 가진 그룹들로 클러스터링하여 클러스터들로부터 대표 패턴을 추출한다.The
상기 스트리밍 소프트웨어 분류기(121)는 정규화된 여러 스트리밍 패턴들을 비슷한 특성을 가진 그룹들로 클러스터링하여 클러스터들로부터 대표 패턴을 추출하고 동일한 클러스터에 속한 소프트웨어는 동일한 자원값을 할당받도록 동일한 태그를 부여한다.The
상기 스트리밍 소프트웨어 분류기(121)는 새로운 소프트웨어가 추가시 해당 스트리밍 패턴이 대표 패턴들의 어느 것과 유사한지 계산하여, 특정 클러스터에 해당 소프트웨어가 속하도록 하고, 새로운 소프트웨어의 추가로 새로운 클러스터링을 할 필요가 있을 경우 재클러스터링을 수행한다.The
상기 자원 할당기(122)는 추출된 대표 패턴에 대해 서비스 상황에 따라 소요되는 자원량을 할당하여 자원값 목록을 포함하는 부하 정보 테이블을 생성한다.The
상기 자원 할당기(122)는 자원값 목록을 포함하는 부하 정보 테이블을 생성할 때, 도 3에 나타낸 바와 같이 소프트웨어의 종류와 서비스 상황에 따른 자원량에 대응하여 스트리밍 소프트웨어의 자원 값을 '초기실행', 초기 실행 후 사용자에게 화면을 보인 후, 사용자 요구에 의한 실행시 많은 페이지를 요구하는 'busy'와 적은 페이지를 요구하는 'idle' 단계로 구분하여 할당한다.When the
상기 자원 할당기(122)는 스트리밍 소프트웨어 분류기(121)에 의해 대표되는 대표 패턴들의 스트리밍 패턴을 보고 스트리밍 소프트웨어의 자원 값을 상기한 스트리밍 서비스 '초기 실행', 'busy', 'idle' 뿐만 아니라 그 이상의 세분화된 상황으로 분류해 자원을 할당할 수 있으며, 이 경우 대표 패턴들이 속한 소프트웨어들의 자원 값은 대표 패턴의 값을 따르는 것이 바람직하다.The
상기 자원 값 목록은 각 소프트웨어들에 대해 자원 할당기(122)에 의해 할당된 자원값들을 의미한다. 자원 값 목록은 소프트웨어 클러스터의 타입 값와 관련 자원값을 목록으로 가진다. 특정 소프트웨어가 어느 클러스터 타입인지 알면, 해당 소프트웨어의 자원 값을 알 수 있다. The resource value list means resource values allocated by the
상기 부하 분산기(123)는 클라이언트(110A,110B)에서 소프트웨어 스트리밍 서비스를 요청하면 상기 자원 할당기(122)에 의해 생성된 부하 정보 테이블을 참조하여 소프트웨어 스트리밍 서비스를 제공하기 위한 스트리밍 소프트웨어(126)와 스트리밍 서비스 관리자(125)를 포함하는 복수의 스트리밍 서비스 서버(124)들 중 서비스 부하가 가장 적은 서버를 선택하여 클라이언트(110A,110B)가 해당 서버로부터 스트리밍 서비스를 받도록 할당된 자원량에 따라 동적으로 스트리밍 서비스의 부하 를 분산한다.When the load balancer 123 requests the software streaming service from the
상기 부하 분산기(123)가 참조하는 부하 정보 테이블의 부하 값들은 해당 서버에서 현재 서비스되고 있는 소프트웨어의 자원 값들의 합이다. 상기 부하 분산기(123)는 서비스 상황이 바뀌면 스트리밍 서비스 관리자(125)로부터 상황을 통고받아 자원 값 목록을 통해 필요로 하는 자원값을 이용해 동적으로 서버의 부하 상태를 변경한다.The load values of the load information table referenced by the
상기 부하 분산기(123)는 서비스 대상 소프트웨어가 어떤 소프트웨어 종류에 속하는지를 태그를 통해 알고 해당 종류와 서비스 상황에 따라 할당된 자원값을 이용해 동적으로 서버의 부하 상태를 변경한다.The
상기 부하 분산기(121)는 클라이언트(110A,110B)가 요구한 서비스 대상 소프트웨어가 필요로 하는 자원 값을 상기 자원값 목록을 포함하는 부하 정보 테이블을 이용해 알아보고, 이를 이용해 부하 분산 후, 상기 스트리밍 서버(124)의 스트리밍 서비스 관리자(124)의 관리하에 스트리밍 소프트웨어(126)를 서비스한다.The
상기 스트리밍 서비스 관리자(124)는 서비스 상황의 변화시 이를 부하 분산기(121)에게 알려 시스템 자원을 효율적으로 관리할 수 있도록 한다.The
상기와 같이 구성되는 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템은 다음과 같이 작동한다.The streaming software service system using the time series technique according to the present invention configured as described above operates as follows.
먼저, 도 2를 참조하여 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 방법의 수행 과정을 설명하면 다음과 같다. First, referring to FIG. 2, a process of performing a streaming software service method using a time series method according to the present invention will be described.
본 발명에서는, 가장 먼저 소프트웨어의 스트리밍 서비스 시 스트리밍 패턴들을 수집하고(S301), 수집된 스트리밍 패턴을 타임 시리즈 기법으로 정규화하며(S302), 타임 시리즈 기법을 이용해 정규화된 여러 스트리밍 패턴들을 클러스터링한다(S303). 또한, 클러스팅된 패턴들로부터 대표 패턴을 추출하고(S304), 대표 패턴에 대해 소프트웨어 종류를 설정하고 서비스 상황에 따라 소요되는 자원 값을 추정한다(S305). 추정된 값들은 도 3의 자원 목록 값을 포함하는 부하 정보 테이블 형식으로 저장되고, 각 스트리밍 소프트웨어들은 어떤 소프트웨어 종류에 속하는지를 판별하는 태그가 붙는다(S306). 스트리밍 서비스 시 생성 또는 수정된 자원 값 목록을 이용해 하기에서 상술하는 도 5를 참조하는 과정을 통해 부하 분산을 수행한다(S307).In the present invention, first, streaming patterns are collected in a streaming service of software (S301), normalized the collected streaming patterns by a time series technique (S302), and clustering various normalized streaming patterns by using a time series technique (S303). ). In addition, the representative pattern is extracted from the clustered patterns (S304), the software type is set for the representative pattern, and the resource value required according to the service situation is estimated (S305). The estimated values are stored in a load information table format including the resource list value of FIG. 3, and each streaming software is tagged to determine which software type belongs to the streaming software (S306). Load balancing is performed through the process of referring to FIG. 5 described below using the resource value list generated or modified during the streaming service (S307).
다른 한편, 상기와 같이 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 방법에 있어서, 새로운 소프트웨어가 본 발명에 따른 서비스 시스템(120)에 추가되는 경우, 자원 할당 과정을 설명하면 다음과 같다.On the other hand, in the streaming software service method using the time series technique as described above, when new software is added to the
만약, 정규화된 새로운 소프트웨어가 추가되면, 해당 소프트웨어의 스트리밍 패턴이 상기 스트리밍 소프트웨어 분류기(121)에 입력된다(S401). 추가된 소프트웨어의 누적값이 기 설정된 재클러스터링 설정값보다 낮으면(S402), 클러스터들의 대표 패턴들과 유사도를 계산해(S403) 가장 유사한 대표 패턴의 자원값이 할당되도록 대표 패턴과 동일한 태그를 붙이고(S404), 추가된 소프트웨어 누적값을 갱신한 다음(S405), 자원값 목록을 갱신한다(S406).If new normalized software is added, the streaming pattern of the corresponding software is input to the streaming software classifier 121 (S401). If the cumulative value of the added software is lower than the preset reclustering setting value (S402), the similarity with the representative patterns of the clusters is calculated (S403), and the same tag as the representative pattern is assigned so that the resource value of the most similar representative pattern is assigned ( In step S404, the added software cumulative value is updated (S405), and the resource value list is updated (S406).
반면에, 추가된 소프트웨어의 누적값이 기 설정된 재클러스터링 설정값을 초과하게 되면(S402), 전체 스트리밍 패턴을 재클러스터링하고(S407), 도 2의 S303단계부터 수행하여 스트리밍 소프트웨어들이 잘 분류될 수 있도록 한다.On the other hand, if the cumulative value of the added software exceeds the preset reclustering setting value (S402), the entire streaming pattern is reclustered (S407), and the streaming software may be well classified by performing from step S303 of FIG. Make sure
끝으로, 도 3과 도 4를 참조하여 설명한 부하 분산 과정과 소프트웨어 추가에 따른 자원 할당 과정을 통해, 실제 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템의 동작 과정을 설명하면 다음과 같다.Finally, the operation of the streaming software service system using the time series method according to the present invention is described through the load balancing process described above with reference to FIGS. 3 and 4 and the resource allocation process according to the addition of the software.
도 5를 참조하면, 가장 먼저 특정 소프트웨어에 대해 스트리밍 서비스를 클라이언트(110A,110B)로부터 요청받으면(S501), 상기 부하 분산기(123)는 스트리밍 소프트웨어 서비스 시스템(120) 내의 스트리밍 서버(124)들의 부하 상태 값을 보고 가장 적합한 스트리밍 서버(1124)가 서비스하도록 할당한다(S502).Referring to FIG. 5, first, when a streaming service is requested from a
이어서, 상기 부하 분산기(123)는 해당 소프트웨어의 '초기실행' 자원 값에 따라 할당된 서버의 유효 자원값을 수정하고(S503), 초기 실행이 완료된 후(S504), 상기 부하 분산기(123)는 해당 소프트웨어의 'idle' 자원값에 따라 할당된 서버의 유효 자원값을 수정한다(S505).Subsequently, the
이때 만약, 서비스중이면서 'busy'일 경우에는(S506) 'busy'자원 값에 따라 할당된 서버의 유효 자원값을 수정하고(S509), 상기 S506 단계는 서비스가 종료될 때까지 수행되며, 실제로 서비스 상황이 'busy'와 'idle'로 변동될 때마다 서버의 유효 자원값이 동적으로 갱신되어, 자원 관리가 효율적으로 이루어지게 한다.At this time, if the service is busy and 'busy' (S506) to modify the effective resource value of the assigned server according to the 'busy' resource value (S509), the step S506 is performed until the service is terminated, actually Whenever the service status changes to 'busy' and 'idle', the effective resource value of the server is dynamically updated, so that resource management can be efficiently performed.
서비스가 종료가 되면, 서비스 종료를 스트리밍 서버(124) 내의 스트리밍 서 비스 관리자(125)가 상기 부하 분산기(123)에게 알리며(S507), 이에 따라서 상기 부하 분산기(123)는 현재 스트리밍 서버(124)에 할당된 자원(소프트웨어의 자원 값)을 서버에 반환(서버의 유효 자원 값을 수정)한다(S508).When the service is terminated, the
이상에서 설명한 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템 및 그 방법은 상기한 실시예에 따른 서비스에 한정되지 않고, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양하게 변경하여 실시할 수 있는 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.The streaming software service system and the method using the time series technique according to the present invention described above are not limited to the service according to the above embodiment, and the present invention without departing from the gist of the present invention as claimed in the following claims. Anyone with ordinary knowledge in this field will have the technical spirit of the present invention to the extent that it can be variously modified and implemented.
도 1은 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템의 블록도.1 is a block diagram of a streaming software service system using a time series technique in accordance with the present invention.
도 2는 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 방법의 플로차트.2 is a flowchart of a streaming software service method using a time series technique according to the present invention.
도 3은 본 발명에 따른 스트리밍 소프트웨어 분류기에 의해 소프트웨어 타입과 서비스 상황에 따라 설정된 자원 값 목록의 부하 정보 테이블의 실시예.3 is an embodiment of a load information table of a resource value list set according to a software type and a service situation by a streaming software classifier according to the present invention.
도 4는 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템에 새로운 소프트웨어 추가시 자원 할당 과정을 나타낸 플로차트.4 is a flowchart illustrating a resource allocation process when new software is added to a streaming software service system using a time series technique according to the present invention.
도 5는 본 발명에 따른 타임 시리즈 기법을 이용한 스트리밍 소프트웨어 서비스 시스템의 동작 과정을 나타낸 플로차트.5 is a flowchart illustrating an operation process of a streaming software service system using a time series technique according to the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100: 통신망100: network
110A,110B: 클라이언트110A, 110B: Client
120 : 소프트웨어 스트리밍 서비스 시스템120: Software Streaming Service System
121 : 부하 분산기121: load balancer
122 : 스트리밍 소프트웨어 분류기122: Streaming Software Classifier
123 : 자원 할당기123 resource allocator
124 : 스트리밍 서버124: streaming server
125 : 스트리밍 서비스 관리자125: Streaming Service Manager
126 : 스트리밍 소프트웨어126: Streaming Software
Claims (8)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060121099 | 2006-12-02 | ||
KR20060121099 | 2006-12-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080050323A KR20080050323A (en) | 2008-06-05 |
KR100946696B1 true KR100946696B1 (en) | 2010-03-12 |
Family
ID=39805795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070122476A KR100946696B1 (en) | 2006-12-02 | 2007-11-29 | Streaming software service system using time-series technique and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100946696B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101293748B1 (en) * | 2011-12-26 | 2013-08-06 | 주식회사 솔박스 | System and method for controlling server based on load |
KR101373344B1 (en) * | 2012-02-06 | 2014-03-10 | 엘지전자 주식회사 | Network streaming system and load controling method thereof |
-
2007
- 2007-11-29 KR KR1020070122476A patent/KR100946696B1/en active IP Right Grant
Non-Patent Citations (2)
Title |
---|
2004년 한국정보과학회 가을 학술발표논문집 Vol.31,No.2,pp.355-357, 박총명외 5인, "클러스터 시스템에서 효과적인 미디어 트랜스코팅 부하 분산 정책" |
정보과학회 논문지: 컴퓨팅의 실제 제11권 제5호 (2005.10) pp.401-415, 서동만외 4인, "효과적인 트랜스코딩 부하 분산을 위한 자원 가중치 부하 분산 정책" |
Also Published As
Publication number | Publication date |
---|---|
KR20080050323A (en) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153700B (en) | Network slice resource management method and equipment | |
JP5880575B2 (en) | Resource search apparatus and program | |
CN111344688B (en) | Method and system for providing resources in cloud computing | |
CN107295090B (en) | Resource scheduling method and device | |
Patel et al. | Survey on resource allocation strategies in cloud computing | |
KR100956636B1 (en) | System and method for service level management in virtualized server environment | |
JP2010282420A (en) | Management computer, resource management method, resource management program, recording medium, and information processing system | |
CN103533063A (en) | Method and device capable of realizing dynamic expansion of WEB (World Wide Web) application resource | |
Mousicou et al. | Performance evaluation of dynamic cloud resource migration based on temporal and capacity-aware policy for efficient resource sharing | |
Paul et al. | I/o load balancing for big data hpc applications | |
Ben Jemaa et al. | Analytical models for QoS-driven VNF placement and provisioning in wireless carrier cloud | |
Goga et al. | Performance analysis of WRF simulations in a public cloud and HPC environment | |
Mendes et al. | Oversubscribing micro-clouds with energy-aware containers scheduling | |
KR100946696B1 (en) | Streaming software service system using time-series technique and method thereof | |
Lloyd et al. | Dynamic scaling for service oriented applications: implications of virtual machine placement on IaaS clouds | |
Malathy et al. | Performance improvement in cloud computing using resource clustering | |
Sonkar et al. | Load prediction analysis based on virtual machine execution time using optimal sequencing algorithm in cloud federated environment | |
JP6158751B2 (en) | Computer resource allocation apparatus and computer resource allocation program | |
Jayapandian et al. | The online control framework on computational optimization of resource provisioning in cloud environment | |
Soosai et al. | Dynamic replica replacement strategy in data grid | |
JP7239861B2 (en) | Resource allocation device, resource allocation method, and resource allocation program | |
JP2018181123A (en) | Resource allocation control system, resource allocation control method, and program | |
KR102064466B1 (en) | Method for allocationing virtual desktop in virtualization system and virtualization system thereof | |
Banerjee et al. | An approach towards amelioration of an efficient VM allocation policy in cloud computing domain | |
US20150263958A1 (en) | Load balancing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130304 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130730 Year of fee payment: 18 |