KR20150085376A - 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법 - Google Patents

클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법 Download PDF

Info

Publication number
KR20150085376A
KR20150085376A KR1020140005190A KR20140005190A KR20150085376A KR 20150085376 A KR20150085376 A KR 20150085376A KR 1020140005190 A KR1020140005190 A KR 1020140005190A KR 20140005190 A KR20140005190 A KR 20140005190A KR 20150085376 A KR20150085376 A KR 20150085376A
Authority
KR
South Korea
Prior art keywords
server
game
information
load
rendering
Prior art date
Application number
KR1020140005190A
Other languages
English (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 KR1020140005190A priority Critical patent/KR20150085376A/ko
Priority to US14/295,759 priority patent/US20150196841A1/en
Publication of KR20150085376A publication Critical patent/KR20150085376A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Pinball Game Machines (AREA)

Abstract

본 발명은 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법에 관한 것으로, 서버들의 부하를 예측하여 게임을 특정 서버에 할당시, 게임별로 적절한 렌더링 속도를 제공함으로써 사용자들에게 만족스러운 게임 서비스를 제공하면서도 한정된 자원의 효율적인 활용이 가능하도록 한 것이다.

Description

클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법{Load balancing system for rendering service over cloud gaming environment and load balancing method thereof}
본 발명은 부하 분산 기술에 관련한 것으로, 특히 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법에 관한 것이다.
많은 수의 사용자들에게 실시간 렌더링 서비스를 제공하기 위해서는 다수의 서버들에게 부하를 분산할 필요가 있다. 대한민국 공개특허 제10-2011-0136079호(2011. 12. 21) 등에서 게임 서버의 부하 분산 기술을 기재하고 있다. 그러나, 기존 부하 분산 기술의 경우 실시간 렌더링 서비스의 일종인 클라우드 게이밍 서비스 요청의 특성과 클라우드 게이밍 서버들의 상태를 활용할 수 없으므로 최적의 부하 분산이 가능하지 않았다.
클라우드 게이밍의 경우 게임별로 적절한 FPS(Frames Per Second)로 화면이 렌더링되고 인코딩되어 서비스되지 않을 경우, 사용자의 만족도가 떨어지거나 자원을 필요 이상으로 소모하게 된다. 클라우드 게이밍의 경우 각 사용자가 소모하는 자원이 크고 예측 가능하므로, 이를 활용하여 특정 서버가 과부하 상태가 되지 않도록 예방할 수 있다. 또한, 하나의 서버에서 동일한 게임이 수행되도록 하면 캐시 활용도가 높아져 서버 자원을 효율적으로 활용할 수 있다.
대한민국 공개특허 제10-2011-0136079호(2011. 12. 21)
본 발명은 상기한 취지하에 발명된 것으로, 클라우드 게이밍 환경에서 실시간 렌더링 서비스 요청을 여러 서버들에게 분배할 때, 게임을 충분한 속도로 실행할 수 있도록 서버에게 요청을 분배하고, 각 게임들이 적절한 속도로 수행되도록 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법을 제공함을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템이 각 서버의 부하 상태 및 각 게임별 예상 자원 소모량에 따라 클라이언트 장치로부터 실행 요청된 게임이 할당될 서버를 선택하고, 해당 선택된 서버 정보와 해당 선택된 서버에서 게임 화면이 렌더링(Rendering) 되는 렌더링 속도 정보를 상기 클라이언트 장치로 전송하는 부하 분산기와; 각 서버가 서비스 중인 게임 및 각 서버의 부하 상태를 모니터링하고, 상기 부하 분산기로 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 제공하는 모니터링 서버를; 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 부하 분산기가 상기 모니터링 서버로부터 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 수집하는 정보 수집부와; 상기 정보 수집부에 의해 수집되는 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 저장하는 정보 저장부와; 상기 정보 저장부에 저장된 각 서버의 부하 상태 정보를 기반으로 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하는 자원 소모 예측부와; 상기 자원 소모 예측부에 의해 예측된 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때의 자원 소모량을 기반으로 부하가 최소인 서버를 선택하는 서버 선택부를; 포함하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 서버 선택부가 상기 선택된 부하가 최소인 서버 정보를 게임 실행을 요청한 클라이언트 장치로 전송하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 서버 선택부가 상기 선택된 부하가 최소인 서버의 해당 게임에 대한 렌더링 속도 정보를 게임 실행을 요청한 클라이언트 장치로 더 전송하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 각 서버가 서비스 중인 게임 정보가 각 게임을 식별하기 위한 고유의 게임 식별 정보와; 각 게임이 서버에 할당되었을 때의 소모 CPU(Central Processing Unit) 용량 정보와; 각 게임이 서버에 할당되었을 때의 소모 GPU(Graphics Processing Unit) 용량 정보와; 각 게임이 서버에 할당되었을 때의 소모 메모리 용량 정보와; 각 게임이 서버에 할당되었을 때의 소모 네트워크 용량 정보와; 각 게임이 서버에 할당되었을 때의 렌더링 속도 정보를; 포함하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 서버의 부하 상태 정보가 각 서버를 식별하기 위한 고유의 서버 식별 정보와; 각 서버의 IP 주소를 기록한 IP 주소 정보와; 각 서버의 CPU 용량 및 CPU 부하를 기록한 CPU 정보와; 각 서버의 GPU 용량 및 GPU 부하를 기록한 GPU 정보와; 각 서버의 메모리 용량 및 메모리 사용량을 기록한 메모리 정보와; 각 서버의 네트워크 용량 및 네트워크 사용량을 기록한 네트워크 정보와; 각 서버에서 현재 할당된 게임의 게임 식별 정보와, 해당 게임의 렌더링 속도 정보와, 해당 게임을 실행 요청한 클라이언트 식별 정보를 기록한 게임 할당 정보를; 포함하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 서버 선택부가 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 자원 소모량을 기반으로 각 서버의 자원 가용량을 예측하여 자원 가용량(available capacity)이 최대로 예측된 서버를 부하가 최소인 서버로 선택하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 서버 선택부가 렌더링 속도 정보로 게임별로 상이한 FPS(Frame Per Second) 정보를 전송하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 렌더링 속도 정보는 미리 설정되는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 자원 소모 예측부가 각 서버에는 게임 할당되었으나, 해당 게임으로 인한 부하가 아직 모니터링되지 않은 추가 예약된 게임 정보를 더 반영하여 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하는 것을 특징으로 한다.
본 발명의 부가적인 양상에 따르면, 상기 추가 예약된 게임 정보가 추가 예약된 게임이 할당될 서버의 서버 식별 정보와; 추가 예약된 게임의 게임 식별 정보와; 추가 예약된 게임을 실행 요청한 클라이언트 식별 정보를; 포함하는 것을 특징으로 한다.
본 발명의 또 다른 양상에 따르면, 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산 방법이 모니터링 서버가 각 서버가 서비스 중인 게임 및 각 서버의 부하 상태를 모니터링하는 모니터링 단계와; 모니터링 서버가 상기 모니터링 단계에 의해 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태를 부하 분산기로 제공하는 정보 제공 단계와; 부하 분산기가 모니터링 서버로부터 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 수집하는 정보 수집 단계와; 부하 분산기가 상기 정보 수집 단계에 의해 수집되는 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 저장하는 정보 저장 단계와; 부하 분산기가 클라이언트 장치로부터 특정 게임에 대한 실행 요청을 수신하는 게임 실행 요청 단계와; 부하 분산기가 상기 정보 저장 단계에 의해 저장된 각 서버의 부하 상태 정보를 기반으로 상기 게임 실행 요청 단계에 의해 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하는 자원 소모 예측 단계와; 부하 분산기가 상기 자원 소모 예측 단계에 의해 예측된 실행 요청된 게임이 각 서버에 할당되었을 때의 자원 소모량을 기반으로 부하가 최소인 서버를 선택하는 서버 선택 단계와; 부하 분산기가 상기 서버 선택 단계에 의해 선택된 서버 정보와 해당 선택된 서버에서 게임 화면이 렌더링 되는 렌더링 속도 정보를 상기 클라이언트 장치로 전송하는 정보 전송 단계를; 포함하여 이루어지는 것을 특징으로 한다.
본 발명은 서버들의 부하를 예측하여 게임을 특정 서버에 할당시, 게임별로 적절한 렌더링 속도를 제공함으로써 사용자들에게 만족스러운 게임 서비스를 제공하면서도 한정된 자원의 효율적인 활용을 가능하도록 하는 효과가 있다.
도 1 은 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 개요도이다.
도 2 는 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산기의 일 실시예의 구성을 도시한 블럭도이다.
도 3 은 각 서버가 서비스 중인 게임 정보의 일 예를 도시한 도면이다.
도 4 는 서버의 부하 상태 정보의 일 예를 도시한 도면이다.
도 5 는 추가 예약된 게임 정보의 일 예를 도시한 도면이다.
도 6 은 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산 방법의 일 실시예의 구성을 도시한 흐름도이다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 발명 명세서 전반에 걸쳐 사용되는 용어들은 본 발명 실시예에서의 기능을 고려하여 정의된 용어들로서, 사용자 또는 운용자의 의도, 관례 등에 따라 충분히 변형될 수 있는 사항이므로, 이 용어들의 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1 은 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 개요도이다. 도 1 에 도시한 바와 같이, 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템은 부하 분산기(100)와 모니터링 서버(200)를 포함한다. 상기 부하 분산기(100)와 모니터링 서버(200)는 물리적인 하나의 장치안에 논리적으로 분리되어 구현될 수도 있고, 물리적인 두 장치안에 각각 물리적으로 분리되어 구현될 수도 있다.
상기 부하 분산기(100)는 다수의 서버(300)와 다수의 클라이언트 장치(400)들과 연동되어, 각 서버(300)의 부하 상태 및 각 게임별 예상 자원 소모량에 따라 클라이언트 장치(400)로부터 실행 요청된 게임이 할당될 서버를 선택하고, 해당 선택된 서버 정보와 해당 선택된 서버에서 게임 화면이 렌더링(Rendering) 되는 렌더링 속도 정보를 상기 클라이언트 장치(400)로 전송한다.
상기 모니터링 서버(200)는 다수의 서버(300)와 연동되어, 각 서버(300)가 서비스 중인 게임 및 각 서버(300)의 부하 상태를 모니터링하고, 상기 부하 분산기(100)로 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 제공한다. 이 때, 모니터링 서버(200)가 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 주기적 또는 비주기적으로 상기 부하 분산기(100)에 전송하도록 구현될 수 있다.
이와 같이 구현함에 의해 본 발명은 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산기(100)가 서버들의 부하를 예측하여 게임을 특정 서버에 할당시, 클라이언트 장치(400)로 게임별로 적절한 렌더링 속도를 제공함으로써 사용자들에게 만족스러운 게임 서비스를 제공하면서도 한정된 자원의 효율적인 활용을 가능하도록 할 수 있다.
도 2 는 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산기의 일 실시예의 구성을 도시한 블럭도이다. 도 2 에 도시한 바와 같이, 이 실시예에 따른 부하 분산기(100)는 정보 수집부(110)와, 정보 저장부(120)와, 자원 소모 예측부(130)와, 서버 선택부(140)를 포함한다.
상기 정보 수집부(110)는 상기 모니터링 서버(200)로부터 각 서버(300)가 서비스 중인 게임 정보 및 각 서버(300)의 부하 상태 정보를 수집한다. 모니터링 서버(200)에 의해 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보가 주기적 또는 비주기적으로 전송되면, 상기 정보 수집부(110)가 이를 수집한다.
상기 정보 저장부(120)는 상기 정보 수집부(110)에 의해 수집되는 각 서버(300)가 서비스 중인 게임 정보 및 각 서버(300)의 부하 상태 정보를 저장한다. 예컨대, 상기 정보 저장부(120)에 의해 저장되는 각 서버가 서비스 중인 게임 정보가 도 3 에 도시한 바와 같이 구현될 수 있다.
도 3 은 각 서버가 서비스 중인 게임 정보의 일 예를 도시한 도면으로, 각 서버가 서비스 중인 게임 정보가 각 게임을 식별하기 위한 고유의 게임 식별 정보와, 각 게임이 서버에 할당되었을 때의 소모 CPU(Central Processing Unit) 용량 정보와, 각 게임이 서버에 할당되었을 때의 소모 GPU(Graphics Processing Unit) 용량 정보와, 각 게임이 서버에 할당되었을 때의 소모 메모리 용량 정보와, 각 게임이 서버에 할당되었을 때의 소모 네트워크 용량 정보와, 각 게임이 서버에 할당되었을 때의 렌더링 속도 정보를 포함한다.
예컨대, 상기 정보 저장부(120)에 의해 저장되는 서버의 부하 상태 정보가 도 4 에 도시한 바와 같이 구현될 수 있다. 도 4 는 서버의 부하 상태 정보의 일 예를 도시한 도면으로, 서버의 부하 상태 정보가 각 서버를 식별하기 위한 고유의 서버 식별 정보와, 각 서버의 IP 주소를 기록한 IP 주소 정보와, 각 서버의 CPU 용량 및 CPU 부하를 기록한 CPU 정보와, 각 서버의 GPU 용량 및 GPU 부하를 기록한 GPU 정보와, 각 서버의 메모리 용량 및 메모리 사용량을 기록한 메모리 정보와, 각 서버의 네트워크 용량 및 네트워크 사용량을 기록한 네트워크 정보와, 각 서버에서 현재 할당된 게임의 게임 식별 정보와 해당 게임의 렌더링 속도 정보 및 해당 게임을 실행 요청한 클라이언트 식별 정보를 기록한 게임 할당 정보를 포함한다.
상기 자원 소모 예측부(130)는 상기 정보 저장부(120)에 저장된 각 서버(300)의 부하 상태 정보를 기반으로 클라이언트 장치(400)로부터 실행 요청된 게임이 각 서버(300)에 할당되었을 때 예상되는 예상 자원 소모량을 예측한다.
예컨대, 상기 자원 소모 예측부(130)가 각 서버(300)에게 최초 점수 0을 부여하고, 상기 정보 저장부(120)에 저장된 각 서버(300)의 부하 상태 정보를 이용해 각 서버(300)의 현재 부하량을 파악하고, 각 서버(300)에 클라이언트 장치(400)로부터 실행 요청된 게임을 새로이 할당하였을 경우 변동되는 부하량에 따라 각 서버의 점수를 변화시켜 자원 소모량을 예측하도록 구현될 수 있다.
예컨대, 클라이언트 장치(400)로부터 실행 요청된 게임을 각 서버(300)에 새로이 할당하였을 경우 변동되는 CPU 부하가 80% 이상 90% 미만인 경우 40점을 빼고, 90% 이상인 경우 100점을 빼도록 구현함으로써 각 서버의 점수를 변화시킬 수 있다.
예컨대, 클라이언트 장치(400)로부터 실행 요청된 게임을 각 서버(300)에 새로이 할당하였을 경우 변동되는 GPU 부하가 70% 이상 80% 미만인 경우 20점을 빼고, 80% 이상 90% 미만인 경우 40점을 빼고, 90% 이상인 경우 100점을 빼도록 구현함으로써 각 서버의 점수를 변화시킬 수 있다.
예컨대, 클라이언트 장치(400)로부터 실행 요청된 게임을 각 서버(300)에 새로이 할당하였을 경우 변동되는 사용 가능한 메모리 용량 즉, 메모리 가용량이 1GB 이상일 경우 20점을 더하고, 100MB 미만일 경우 100점을 빼도록 구현함으로써 각 서버의 점수를 변화시킬 수 있다.
예컨대, 클라이언트 장치(400)로부터 실행 요청된 게임을 각 서버(300)에 새로이 할당하였을 경우 변동되는 사용 가능한 네트워크 용량 즉, 네트워크 가용량이 10Mbps 이상일 경우 20점을 더하고, 5 Mbps 미만일 경우 100점을 빼도록 구현함으로써 각 서버의 점수를 변화시킬 수 있다.
예컨대, 클라이언트 장치(400)로부터 실행 요청된 게임과 동일한 게임이 현재 서버(300)에서 할당중인 경우, 해당 서버에 20점을 더하여 각 서버의 점수를 변화시킬 수 있다.
상기 서버 선택부(140)는 상기 자원 소모 예측부(130)에 의해 예측된 클라이언트 장치(400)로부터 실행 요청된 게임이 각 서버(300)에 할당되었을 때의 자원 소모량을 기반으로 부하가 최소인 서버를 선택한다.
예컨대, 상기 서버 선택부(140)가 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 자원 소모량을 기반으로 각 서버의 자원 가용량을 예측하여 자원 가용량(available capacity)이 최대로 예측된 서버를 부하가 최소인 서버로 선택하도록 구현될 수 있다.
예컨대, 자원 가용량이 최대로 예측된 서버가 상기 자원 소모 예측부(130)에 의해 각 서버(300)에 클라이언트 장치(400)로부터 실행 요청된 게임을 새로이 할당하였을 경우 변동되는 부하량에 따라 변화되는 각 서버 중 점수가 가장 높은 서버일 수 있다.
이렇게 구현함에 의해 본 발명은 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산기(100)가 서버(300)들의 부하를 예측하여 게임을 할당할 부하가 최소인 서버를 선택하게 된다.
한편, 상기 서버 선택부(140)가 상기 선택된 부하가 최소인 서버 정보를 게임 실행을 요청한 클라이언트 장치(400)로 전송하도록 구현될 수 있다. 더 나아가, 상기 서버 선택부(140)가 상기 선택된 부하가 최소인 서버의 해당 게임에 대한 렌더링 속도 정보를 게임 실행을 요청한 클라이언트 장치로 더 전송하도록 구현될 수 있다.
예컨대, 상기 서버 선택부(140)가 렌더링 속도 정보로 게임별로 상이한 FPS(Frame Per Second) 정보를 전송하도록 구현될 수 있다. 이 때, 상기 렌더링 속도 정보는 미리 설정될 수 있다.
예컨대, 레이싱 게임이나 슈팅 게임의 경우 FPS가 높아야 사용자들의 만족도가 높으므로 FPS를 상대적으로 높게 설정하고, 어드벤처 및 퍼즐 게임의 경우 FPS가 상대적으로 낮아도 만족도가 높을 수 있으므로 FPS를 상대적으로 낮게 설정하도록 구현될 수 있다. 이 때, FPS가 높을수록 자원 소모량이 많으므로 각 게임별로 사용자의 만족도가 보장되는 범위 안에서 최소값으로 FPS를 설정해야 한다.
이와 같이 구현함에 의해 본 발명은 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산기(100)가 서버들의 부하를 예측하여 게임을 특정 서버에 할당시, 클라이언트 장치(400)로 게임별로 적절한 렌더링 속도를 제공함으로써 사용자들에게 만족스러운 게임 서비스를 제공하면서도 한정된 자원의 효율적인 활용을 가능하도록 할 수 있다.
한편, 발명의 부가적인 양상에 따르면, 상기 자원 소모 예측부(130)가 각 서버에는 게임 할당되었으나, 해당 게임으로 인한 부하가 아직 모니터링되지 않은 추가 예약된 게임 정보를 더 반영하여 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하도록 구현될 수도 있다.
예컨대, 상기 추가 예약된 게임 정보가 도 5 에 도시한 바와 같이 추가 예약된 게임이 할당될 서버의 서버 식별 정보와, 추가 예약된 게임의 게임 식별 정보 및 추가 예약된 게임을 실행 요청한 클라이언트 식별 정보를 포함하는 추가 게임 정보를 포함할 수 있다. 도 5 는 추가 예약된 게임 정보의 일 예를 도시한 도면이다.
만약, 추가 예약된 게임 정보내에 포함된 게임 식별 정보를 가진 게임으로 인한 부하가 모니터링된다면, 상기 자원 소모 예측부(130)가 추가 예약된 게임 정보에서 해당 부하가 모니터링된 게임과 관련한 정보를 삭제하도록 구현될 수 있다.
이렇게 구현함에 의해 본 발명은 게임 서비스가 특정 서버에 할당이 되었지만, 그 게임 할당으로 인한 부하가 모니터링 되지 않은 게임들을 고려하여 서버의 부하 상태를 예측함으로써 특정 서버가 과부하 상태가 되지 않도록 예방할 수 있다.
이상에서 설명한 바와 같은 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산 동작을 도 6 을 통해 알아본다. 도 6 은 본 발명에 따른 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산 방법의 일 실시예의 구성을 도시한 흐름도이다.
먼저, 모니터링 단계(610)에서 모니터링 서버가 각 서버가 서비스 중인 게임 및 각 서버의 부하 상태를 모니터링 한다.
그 다음, 정보 제공 단계(620)에서 모니터링 서버가 상기 모니터링 단계(610)에 의해 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태를 부하 분산기로 제공한다.
그러면, 정보 수집 단계(630)에서 부하 분산기가 모니터링 서버로부터 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 수집한다.
그리고, 정보 저장 단계(640)에서 부하 분산기가 상기 정보 수집 단계(630)에 의해 수집되는 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 저장한다.
이 상태에서, 특정 클라이언트 장치가 특정 게임에 대한 실행을 요청하면, 게임 실행 요청 단계(650)에서 부하 분산기가 클라이언트 장치로부터 특정 게임에 대한 실행 요청을 수신한다.
그리고, 자원 소모 예측 단계(660)에서 부하 분산기가 상기 정보 저장 단계(640)에 의해 저장된 각 서버의 부하 상태 정보를 기반으로 상기 게임 실행 요청 단계(650)에 의해 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측한다. 부하 분산기의 예상 자원 소모량 예측과 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
그 다음, 서버 선택 단계(670)에서 부하 분산기가 상기 자원 소모 예측 단계(660)에 의해 예측된 실행 요청된 게임이 각 서버에 할당되었을 때의 자원 소모량을 기반으로 부하가 최소인 서버를 선택한다. 부하 분산기의 서버 선택과 관련해서는 기 설명하였으므로, 중복 설명은 생략한다.
그 다음, 정보 전송 단계(680)에서 부하 분산기가 상기 서버 선택 단계(670)에 의해 선택된 서버 정보와 해당 선택된 서버에서 게임 화면이 렌더링 되는 렌더링 속도 정보를 상기 클라이언트 장치로 전송한다.
이와 같이 구현함에 의해 본 발명은 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템이 서버들의 부하를 예측하여 게임을 특정 서버에 할당시, 클라이언트 장치로 게임별로 적절한 렌더링 속도를 제공함으로써 사용자들에게 만족스러운 게임 서비스를 제공하면서도 한정된 자원의 효율적인 활용을 가능하도록 할 수 있으므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있다.
본 발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.
본 발명은 게임 부하 분산 기술분야 및 이의 응용 기술분야에서 산업상으로 이용 가능하다.
100 : 부하 분산기
110 : 정보 수집부
120 : 정보 저장부
130 : 자원 소모 예측부
140 : 서버 선택부
200 : 모니터링 서버
300 : 서버
400 : 클라이언트 장치

Claims (12)

  1. 각 서버의 부하 상태 및 각 게임별 예상 자원 소모량에 따라 클라이언트 장치로부터 실행 요청된 게임이 할당될 서버를 선택하고, 해당 선택된 서버 정보와 해당 선택된 서버에서 게임 화면이 렌더링(Rendering) 되는 렌더링 속도 정보를 상기 클라이언트 장치로 전송하는 부하 분산기와;
    각 서버가 서비스 중인 게임 및 각 서버의 부하 상태를 모니터링하고, 상기 부하 분산기로 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 제공하는 모니터링 서버를;
    포함하여 이루어지는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  2. 제 1 항에 있어서,
    상기 부하 분산기가:
    상기 모니터링 서버로부터 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 수집하는 정보 수집부와;
    상기 정보 수집부에 의해 수집되는 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 저장하는 정보 저장부와;
    상기 정보 저장부에 저장된 각 서버의 부하 상태 정보를 기반으로 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하는 자원 소모 예측부와;
    상기 자원 소모 예측부에 의해 예측된 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때의 자원 소모량을 기반으로 부하가 최소인 서버를 선택하는 서버 선택부를;
    포함하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  3. 제 2 항에 있어서,
    상기 서버 선택부가:
    상기 선택된 부하가 최소인 서버 정보를 게임 실행을 요청한 클라이언트 장치로 전송하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  4. 제 3 항에 있어서,
    상기 서버 선택부가:
    상기 선택된 부하가 최소인 서버의 해당 게임에 대한 렌더링 속도 정보를 게임 실행을 요청한 클라이언트 장치로 더 전송하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  5. 제 2 항에 있어서,
    상기 각 서버가 서비스 중인 게임 정보가:
    각 게임을 식별하기 위한 고유의 게임 식별 정보와;
    각 게임이 서버에 할당되었을 때의 소모 CPU(Central Processing Unit) 용량 정보와;
    각 게임이 서버에 할당되었을 때의 소모 GPU(Graphics Processing Unit) 용량 정보와;
    각 게임이 서버에 할당되었을 때의 소모 메모리 용량 정보와;
    각 게임이 서버에 할당되었을 때의 소모 네트워크 용량 정보와;
    각 게임이 서버에 할당되었을 때의 렌더링 속도 정보를;
    포함하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  6. 제 2 항에 있어서,
    상기 서버의 부하 상태 정보가:
    각 서버를 식별하기 위한 고유의 서버 식별 정보와;
    각 서버의 IP 주소를 기록한 IP 주소 정보와;
    각 서버의 CPU 용량 및 CPU 부하를 기록한 CPU 정보와;
    각 서버의 GPU 용량 및 GPU 부하를 기록한 GPU 정보와;
    각 서버의 메모리 용량 및 메모리 사용량을 기록한 메모리 정보와;
    각 서버의 네트워크 용량 및 네트워크 사용량을 기록한 네트워크 정보와;
    각 서버에서 현재 할당된 게임의 게임 식별 정보와, 해당 게임의 렌더링 속도 정보와, 해당 게임을 실행 요청한 클라이언트 식별 정보를 기록한 게임 할당 정보를;
    포함하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  7. 제 2 항에 있어서,
    상기 서버 선택부가:
    클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 자원 소모량을 기반으로 각 서버의 자원 가용량을 예측하여 자원 가용량(available capacity)이 최대로 예측된 서버를 부하가 최소인 서버로 선택하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  8. 제 4 항에 있어서,
    상기 서버 선택부가:
    렌더링 속도 정보로 게임별로 상이한 FPS(Frame Per Second) 정보를 전송하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  9. 제 2 항에 있어서,
    상기 렌더링 속도 정보는:
    미리 설정되는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  10. 제 2 항에 있어서,
    상기 자원 소모 예측부가:
    각 서버에는 게임 할당되었으나, 해당 게임으로 인한 부하가 아직 모니터링되지 않은 추가 예약된 게임 정보를 더 반영하여 클라이언트 장치로부터 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  11. 제 10 항에 있어서,
    상기 추가 예약된 게임 정보가:
    추가 예약된 게임이 할당될 서버의 서버 식별 정보와;
    추가 예약된 게임의 게임 식별 정보와;
    추가 예약된 게임을 실행 요청한 클라이언트 식별 정보를;
    포함하는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템.
  12. 모니터링 서버가 각 서버가 서비스 중인 게임 및 각 서버의 부하 상태를 모니터링하는 모니터링 단계와;
    모니터링 서버가 상기 모니터링 단계에 의해 모니터링된 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태를 부하 분산기로 제공하는 정보 제공 단계와;
    부하 분산기가 모니터링 서버로부터 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 수집하는 정보 수집 단계와;
    부하 분산기가 상기 정보 수집 단계에 의해 수집되는 각 서버가 서비스 중인 게임 정보 및 각 서버의 부하 상태 정보를 저장하는 정보 저장 단계와;
    부하 분산기가 클라이언트 장치로부터 특정 게임에 대한 실행 요청을 수신하는 게임 실행 요청 단계와;
    부하 분산기가 상기 정보 저장 단계에 의해 저장된 각 서버의 부하 상태 정보를 기반으로 상기 게임 실행 요청 단계에 의해 실행 요청된 게임이 각 서버에 할당되었을 때 예상되는 예상 자원 소모량을 예측하는 자원 소모 예측 단계와;
    부하 분산기가 상기 자원 소모 예측 단계에 의해 예측된 실행 요청된 게임이 각 서버에 할당되었을 때의 자원 소모량을 기반으로 부하가 최소인 서버를 선택하는 서버 선택 단계와;
    부하 분산기가 상기 서버 선택 단계에 의해 선택된 서버 정보와 해당 선택된 서버에서 게임 화면이 렌더링 되는 렌더링 속도 정보를 상기 클라이언트 장치로 전송하는 정보 전송 단계를;
    포함하여 이루어지는 것을 특징으로 하는 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템의 부하 분산 방법.
KR1020140005190A 2014-01-15 2014-01-15 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법 KR20150085376A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140005190A KR20150085376A (ko) 2014-01-15 2014-01-15 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법
US14/295,759 US20150196841A1 (en) 2014-01-15 2014-06-04 Load balancing system and method for rendering service in cloud gaming environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140005190A KR20150085376A (ko) 2014-01-15 2014-01-15 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법

Publications (1)

Publication Number Publication Date
KR20150085376A true KR20150085376A (ko) 2015-07-23

Family

ID=53520489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140005190A KR20150085376A (ko) 2014-01-15 2014-01-15 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법

Country Status (2)

Country Link
US (1) US20150196841A1 (ko)
KR (1) KR20150085376A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110227259A (zh) * 2018-03-06 2019-09-13 华为技术有限公司 一种数据处理的方法、装置、服务器和系统
WO2023023696A1 (en) * 2021-08-24 2023-03-02 Radian Arc Limited A computer system and computer implemented method for gaming in a virtualisation environment

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6412708B2 (ja) 2014-04-01 2018-10-24 株式会社ソニー・インタラクティブエンタテインメント プロセッシングシステムおよびマルチプロセッシングシステム
JP6373620B2 (ja) * 2014-04-01 2018-08-15 株式会社ソニー・インタラクティブエンタテインメント ゲーム提供システム
CN106302595B (zh) * 2015-06-02 2020-03-17 阿里巴巴集团控股有限公司 一种对服务器进行健康检查的方法及设备
CN105959820A (zh) * 2016-06-06 2016-09-21 汪栋 一种利用分布式计算实现重度游戏在智能电视终端设备呈现的方法及系统
CN106469091B (zh) * 2016-09-05 2018-05-18 北京百度网讯科技有限公司 用于分配可用区的方法和装置
US10725759B2 (en) * 2016-10-03 2020-07-28 Avaya Inc. Web application system and method to dynamically select between local installed and cloud-based resources
US10491666B2 (en) * 2017-04-03 2019-11-26 Sony Interactive Entertainment America Llc Systems and methods for using a distributed game engine
WO2020163635A1 (en) * 2019-02-06 2020-08-13 Apple Inc. Enabling interactive service for cloud rendering gaming in 5g systems
US11938406B2 (en) * 2019-06-07 2024-03-26 Nvidia Corporation Dynamic allocation of compute resources for highlight generation in cloud gaming systems
KR102579203B1 (ko) 2019-12-31 2023-09-15 한국전자통신연구원 게임 결과 예측 장치 및 방법
CN111617466B (zh) * 2020-05-12 2023-04-28 咪咕文化科技有限公司 编码格式的确定方法、装置及云游戏的实现方法
CN113413606B (zh) * 2021-06-04 2023-04-28 中国联合网络通信集团有限公司 资源分配方法及资源分配装置、终端设备
US11724194B2 (en) * 2021-07-28 2023-08-15 Blizzard Entertainment, Inc. Initial results of a reinforcement learning model using a heuristic
CN113877199B (zh) * 2021-12-07 2022-03-11 北京蔚领时代科技有限公司 一种适用于云游戏场景的线路调度方法及装置
CN114515429A (zh) * 2021-12-17 2022-05-20 网易(杭州)网络有限公司 游戏进程的分配控制方法、装置和电子设备
CN114404960A (zh) * 2022-02-07 2022-04-29 腾讯科技(深圳)有限公司 云游戏资源数据处理方法、装置、计算机设备和存储介质
CN118093084B (zh) * 2024-04-23 2024-07-02 中国标准化研究院 基于云计算的电子信息系统视图优化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110227259A (zh) * 2018-03-06 2019-09-13 华为技术有限公司 一种数据处理的方法、装置、服务器和系统
CN110227259B (zh) * 2018-03-06 2022-04-29 华为技术有限公司 一种数据处理的方法、装置、服务器和系统
US11878237B2 (en) 2018-03-06 2024-01-23 Huawei Technologies Co., Ltd. Server and data processing method, apparatus, and system
WO2023023696A1 (en) * 2021-08-24 2023-03-02 Radian Arc Limited A computer system and computer implemented method for gaming in a virtualisation environment

Also Published As

Publication number Publication date
US20150196841A1 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
KR20150085376A (ko) 클라우드 게이밍 환경에서 렌더링 서비스를 위한 부하 분산 시스템 및 이의 부하 분산 방법
CN110858161B (zh) 资源分配方法、装置、系统、设备和介质
CN109936604B (zh) 一种资源调度方法、装置和系统
US9442763B2 (en) Resource allocation method and resource management platform
CN106453457B (zh) 云计算平台内的多优先级服务实例分配
CN112269641B (zh) 一种调度方法、装置、电子设备及存储介质
US8589543B2 (en) Virtual data center monitoring
CN107278365B (zh) 用于可扩展的对等匹配的设备
US20140244844A1 (en) Control device and resource control method
US20160156567A1 (en) Allocation method of a computer resource and computer system
CN105052074A (zh) 用于提供虚拟化直径网络架构以及用于将业务量路由至动态实例化的直径资源实例的方法、系统和计算机可读介质
CN110545450B (zh) 一种节点分配方法、系统及电子设备和存储介质
CN108259603B (zh) 一种负载均衡方法及装置
JP2012099062A (ja) サービス連携システムおよび情報処理システム
US8914582B1 (en) Systems and methods for pinning content in cache
CN110020061B (zh) 一种智慧城市时空信息云平台服务引擎
WO2015191359A1 (en) Efficient and scalable pull-based load distribution
Issawi et al. An efficient adaptive load balancing algorithm for cloud computing under bursty workloads
CN109960565B (zh) 云平台、基于云平台的虚拟机调度方法及装置
KR101613513B1 (ko) 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템
CN111274022B (zh) 服务器资源分配方法和系统
CN106375372B (zh) 一种大数据资源分配方法和装置
TWI639088B (zh) 用於機架空間功率利用的方法、系統及非暫時性電腦可讀媒體
JP4743904B2 (ja) リソース過分配防止システム
JP2013127685A (ja) 情報処理システムおよび運用管理方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid