KR20140084190A - 클라우드 기반 게임 시스템에서의 부하 균형 - Google Patents

클라우드 기반 게임 시스템에서의 부하 균형 Download PDF

Info

Publication number
KR20140084190A
KR20140084190A KR1020147012969A KR20147012969A KR20140084190A KR 20140084190 A KR20140084190 A KR 20140084190A KR 1020147012969 A KR1020147012969 A KR 1020147012969A KR 20147012969 A KR20147012969 A KR 20147012969A KR 20140084190 A KR20140084190 A KR 20140084190A
Authority
KR
South Korea
Prior art keywords
game
game server
client devices
player
interactive
Prior art date
Application number
KR1020147012969A
Other languages
English (en)
Other versions
KR101595075B1 (ko
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 엠파이어 테크놀로지 디벨롭먼트 엘엘씨
Publication of KR20140084190A publication Critical patent/KR20140084190A/ko
Application granted granted Critical
Publication of KR101595075B1 publication Critical patent/KR101595075B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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 MPEG-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
    • 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/45Controlling the progress of the video game
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • 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
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Abstract

클라우드 기반 게임 시스템을 위한 부하 균형 체계에 관한 기술이 일반적으로 설명된다. 일부 예시에서, 부하 균형 시스템은 게임 서버의 리소스 사용을 측정하도록 구성되는 리소스 사용 측정 유닛, 리소스 사용 측정 유닛에 의해 측정된 리소스 사용에 적어도 부분적으로 기초하여 게임 서버에 연결된 복수의 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정하도록 구성되는 결정 유닛, 및 소정의 게임 이벤트의 발생시 클라이언트 장치 중 하나 이상에 비대화형 미디어 파일을 스트리밍하기 위한 전송 유닛을 포함할 수 있다.

Description

클라우드 기반 게임 시스템에서의 부하 균형{LOAD BALANCING IN CLOUD-BASED GAME SYSTEM}
클라우드 컴퓨팅 기술의 탄생과 스마트폰, 태블릿 및 디지털 텔레비전과 같은 고급 전자 장치의 보급은 사용자가 자신의 장치로 고품질의 게임을 즐기도록 유인하여 왔다. 클라우드 기반 환경에서, 높은 성능을 가지는(예컨대, 높은 처리 능력을 가지는) 게임 서버는 고품질의 게임 애플리케이션을 실행 또는 실시할 수 있고, 게임 서버에 연결된 다수의 사용자 장치에 게임 서비스를 제공할 수 있다. 그러한 경우, 사용자는 고품질 게임 애플리케이션을 실행할 충분한 처리 능력을 가지지 않을 수 있는 자신의 사용자 장치로 게임을 즐길 수 있다. 그러나, 엄청난 수의 사용자가 동시에 게임 서버에 액세스하는 경우, 서버는 사용자 장치 각각에 기대되는 높은 성능을 제공할 처리 능력이 부족할 수 있다.
일 예시에서, 부하 균형 시스템(load balancing system)은 게임 서버의 리소스 사용(resource usage)을 측정하도록 구성되는 리소스 사용 측정 유닛, 리소스 사용 측정 유닛에 의해 측정되는 리소스 사용에 적어도 부분적으로 기초하여 게임 서버에 연결된 다수의 클라이언트 장치 중에서 비대화형(non-interactive) 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정하도록 구성되는 결정 유닛, 및 소정의 게임 이벤트 발생 시 클라이언트 장치 중 하나 이상에 비대화형 미디어 파일을 스트리밍하기 위한 전송 유닛을 포함할 수 있다.
다른 예시에서, 게임 서버의 제어 하에서 수행되는 방법은 게임 서버의 리소스 사용을 측정하는 단계, 측정된 리소스 사용을 소정의 임계치와 비교하는 단계, 게임 서버에 연결된 다수의 클라이언트 장치 중에서, 측정된 리소스 사용이 소정의 임계치를 초과하는 경우 각각에서 소정의 게임 이벤트가 발생할 참인 하나 이상의 후보(candidate) 클라이언트 장치를 결정하는 단계, 및 하나 이상의 후보 클라이언트 장치 중 적어도 일부로 비대화형 미디어 파일을 스트리밍하는 단계를 포함할 수 있다.
또 다른 예시에서, 컴퓨터 판독 가능 저장 매체는 실행에 대한 응답으로 부하 균형 시스템으로 하여금 게임 서버의 리소스 사용이 소정의 임계치를 초과하는 경우 게임 서버에 연결된 다수의 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정하는 것, 및 결정된 하나 이상의 클라이언트 장치로 비대화형 미디어 파일을 스트리밍하는 것을 포함하는 동작을 수행하도록 하는 컴퓨터 실행 가능 명령어를 저장할 수 있다.
이상의 요약은 단지 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 위에서 설명된 예시적인 양태들, 실시예들 및 특징들에 더하여, 추가적인 양태들, 실시예들 및 특징들 또한 명확해질 것이다.
본 개시의 전술한 특징들 및 다른 특징들은 첨부 도면과 함께, 다음의 설명 및 첨부된 청구범위로부터 더욱 명확해질 것이다. 이들 도면은 본 개시에 따른 단지 몇 개의 실시예들을 묘사할 뿐이고, 따라서 그 범위를 제한하는 것으로 고려되어서는 안될 것임을 이해하면서, 본 개시는 첨부 도면을 사용하여 더 구체적이고 상세하게 설명될 것이다.
도 1은 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 다수의 클라이언트 장치가 네트워크 상에서 클라우드 기반 게임 서비스를 제공하는 게임 서버에 연결되는 클라우드 기반 게임 시스템의 예시를 개략적으로 도시한다.
도 2는 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하기 위한 예시적인 아키텍처를 도시하는 개략적인 블록도를 도시한다.
도 3은 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하기 위한 프로세스의 예시적인 흐름도를 도시한다.
도 4는 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하는 데에 이용될 수 있는 컴퓨터 프로그램 제품을 도시한다.
도 5는 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하는 데에 이용될 수 있는 예시적인 컴퓨팅 장치를 도시하는 블록도이다.
이하의 상세한 설명에서, 본 개시의 일부를 이루는 첨부 도면에 대한 참조가 이루어진다. 문맥에서 달리 지시하고 있지 않은 한, 도면에서 유사한 부호는 통상적으로 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면 및 청구범위에 설명되는 예시적인 실시예들은 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서 다른 실시예가 이용될 수 있고 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고 도면에 도시되는 본 개시의 양태가 다양한 다른 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있음과 이 모두가 여기에서 명시적으로 고려됨이 기꺼이 이해될 것이다.
일반적으로 본 개시는, 그 중에서도 특히, 클라우드 기반 게임 시스템을 위한 부하 균형 체계(load balancing scheme)에 관련된 방법, 기기, 시스템, 장치 및 컴퓨터 프로그램 제품에 관한 것이다.
네트워크 상에서 게임 서버가 다수의 클라이언트 장치에 클라우드 기반 게임 서비스를 제공하는 클라우드 기반 게임 시스템에 대한 기술이 일반적으로 설명된다. 일부 예시에서, 너무 많은 클라이언트 장치가 동시에 동일한 게임 서버에 액세스하는 경우, 게임 서버에 부과되는 처리 부하는 게임 서버가 감당할 수 있는 것 이상일 수 있다. 그러한 경우, 게임 서버는 게임 서버에 연결된 다수의 클라이언트 장치 중 적어도 일부에, 예컨대 비대화형 비디오 파일과 비대화형 오디오 파일과 같은 비대화형 미디어 파일을 제공 또는 스트리밍할 수 있다. 비대화형 미디어 파일의 스트리밍은 실제 대화형(interactive) 게이밍 파일을 제공하는 것만큼의 처리 능력을 요구하지 않으므로, 비대화형 미디어 파일의 스트리밍은 게임 서버에 대한 전체적인 처리 부하를 낮출 수 있다.
일부 예시에서, 게임 서버는 게임 서버의 리소스 사용이 소정의 임계치를 초과하는 경우, 게임 서버에 연결된 다수의 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 특히, 높은 품질의 사용자 경험을 유지하는 것에 관련된 것을 포함하는 다양한 이유에서, 게임 서버는 각각에서 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정 또는 식별할 수 있다. 소정의 게임 이벤트는 게임을 시작하는 것, 게임에서 새로운 단계나 새로운 장소에 들어가는 것, 게임에서 임무를 완수하는 것, 게임 아이템을 획득하는 것, 다른 캐릭터와 만나거나 대화하는 것, 또는 어떠한 다른 미리 정의된 게임 마일스톤(milestone) 중 적어도 하나와 연관될 수 있다. 이후, 게임 서버는 후보 클라이언트 장치 중 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있고, 소정의 게임 이벤트의 발생시 결정 또는 식별된 클라이언트 장치에 비대화형 미디어 파일을 스트리밍할 수 있다.
예를 들어, 사용자가 클라우드 기반 게임 서버에 의해 제공되는 전투(fighting) 게임을 플레이하는 경우, 사용자의 장치를 통해 사용자에 의해 조종되는 게임 캐릭터는 방에 들어가고, 적(enemy) 캐릭터를 만나고, 적 캐릭터와 싸움을 시작할 수 있다. 게임 서버의 리소스가 충분한 경우, 게임이 진행될 수 있고 사용자의 장치를 통해 사용자에 의해 조종되는 게임 캐릭터는 적 캐릭터와 싸울 수 있다. 한편, 게임 서버의 리소스가 부과된 처리 부하를 만족시키기에는 충분하지 않은 경우, 사용자의 장치는 대신 (게임 서버에 의해 사용자의 장치로 제공 또는 스트리밍되는 비대화형 미디어 파일인) 영화를 수신 및 플레이할 수 있고, 여기서 예컨대 가장 최근의 대화형 지점에서 게임을 진행하는 대신, 그렇지 않으면 사용자의 장치를 통해 사용자에 의해 조종되는 게임 캐릭터가 적을 만나고 대화한다. 따라서, 사용자의 장치 상에서의 비대화형 영화의 플레이의 완료 후에 전투가 시작할 수 있다.
도 1은 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 다수의 클라이언트 장치가 네트워크 상에서 클라우드 기반 게임 서비스를 제공하는 게임 서버에 연결되는 클라우드 기반 게임 시스템의 예시를 개략적으로 도시한다.
도 1에 도시된 바와 같이, 게임 서버(100)는 네트워크(120) 상에서 다수의 클라이언트 장치(110-1, 110-2, 110-3, ..., 110-n)에 클라우드 기반 게임 서비스를 제공할 수 있다. 클라이언트 장치(110-1, 110-2, 110-3, ..., 110-n)의 예시는, 모바일 전화, 스마트폰, PDA(personal digital assistant), 태블릿, 모바일 게임 콘솔, 랩탑 컴퓨터, 데스크탑 컴퓨터, 또는 통신 기능을 가지는 임의의 기타 장치를 포함할 수 있으나, 이에 제한되지 않는다.
일부 실시예에서, 게임 서버(100)는, 예컨대 리소스 사용 측정 유닛에 의해, 그 리소스 사용을 모니터링 또는 측정할 수 있다. 일부 실시예에서, 리소스 사용은 게임 서버(100)의 CPU(central processing unit)의 리소스 사용, 게임 서버(100)의 GPU(graphic processing unit)의 리소스 사용, 게임 서버(100)의 메인 메모리의 리소스 사용, 및/또는 게임 서버(100)의 그래픽 메모리의 리소스 사용 등과 연관될 수 있다.
일부 실시예에서, 게임 서버(100)는, 예컨대 리소스 사용 측정 유닛에 의해, 소정의 임계치와 측정된 리소스 사용을 비교할 수 있다. 일부 실시예에서, 소정의 임계치는 게임 서버(100)의 처리 능력과 연관될 수 있다. 제한적이지 않은 예시로서, 처리 능력은 CPU(central processing unit)의 처리 능력, GPU(graphic processing unit)의 처리 능력, 메인 메모리의 성능 및/또는 그래픽 메모리의 성능 등과 연관될 수 있다.
일부 실시예에서, 게임 서버(100)는, 예컨대 결정 유닛에 의해, 리소스 사용이 소정의 임계치를 초과하는 것으로 결정되는 경우, 클라이언트 장치(110-1, 110-2, 110-3, ..., 110-n) 중 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 제한적이지 않은 예시로서, 비대화형 미디어 파일은 비대화형 비디오 파일, 비대화형 오디오 파일, 비대화형 이미지 파일, 비대화형 텍스트 파일, 또는 게임 서버(100)가 예컨대 렌더링 프로세스와 같은 복잡한 처리를 수행하지 않으면서 클라이언트 장치로 스트리밍만 해야할 수 있는 임의의 기타 미디어 파일을 포함할 수 있다.
일부 실시예에서, 게임 서버(100)는, 예컨대 결정 유닛에 의해, 리소스 사용이 소정의 임계치를 초과하는 것으로 결정되는 경우, 클라이언트 장치(110-1, 110-2, 110-3, ..., 110-n) 중에서 각각에서 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정 또는 식별할 수 있다. 소정의 게임 이벤트의 예시는 게임의 플레이어에 의한 게임의 시작, 플레이어에 의한 게임에서의 새로운 단계 진입, 플레이어에 의한 게임에서의 새로운 장소 진입, 플레이어에 의한 게임에서의 임무 완수, 플레이어에 의한 게임 아이템 획득, 플레이어에 의한 게임에서의 다른 캐릭터와의 만남, 플레이어에 의한 게임에서의 다른 캐릭터와의 대화, 게임에서의 장면 변화의 발생, 임의의 기타 미리 정의된 게임 관련 이벤트 또는 마일스톤, 또는 심지어 고품질의 사용자 경험에 지장을 주는 것을 회피하도록 의도된 지점에서의 게임의 중지를 포함할 수 있으나, 이에 제한되지 않는다. 예를 들어, 도 1에 도시된 예시에서, 클라이언트 장치(110-1)의 사용자, 즉 플레이어(130-1)가 게임에서 막 새로운 단계에 진입할 참이고, 클라이언트 장치(110-2)의 사용자, 즉 플레이어(130-2)가 게임에서 막 임무를 완수할 참이며, 클라이언트 장치(110-3)의 사용자, 즉 플레이어(130-3)가 막 새로운 게임 아이템을 획득할 참이라고 가정될 수 있다. 그러한 경우, 게임 서버(100)는 게임 서버(100) 상에 부과되는 처리 부하를 감소시키기 위해 비대화형 미디어 파일을 스트리밍할 후보 클라이언트 장치로서 클라이언트 장치(110-1, 110-2, 110-3)를 결정 또는 식별할 수 있다.
일부 실시예에서, 게임 서버(100)는, 예컨대 결정 유닛에 의해, 하나 이상의 후보 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 일부 실시예에서, 게임 서버(100)는, 예컨대 CPU(central processing unit)의 처리 능력, GPU(graphic processing unit)의 처리 능력, 메인 메모리의 성능 및/또는 그래픽 메모리의 성능과 같은 게임 서버(100)의 가용 처리 능력을 고려함으로써 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 예를 들어, 도 1에 도시된 예시에서, 게임 서버(100)는 게임 서버(100)의 처리 능력과 게임 서버(100)의 측정된 리소스 사용에 비추어 3개의 후보 클라이언트 장치(110-1, 110-2, 110-3) 중 2개의 클라이언트 장치에만 비대화형 미디어 파일을 스트리밍할 필요가 있다고 결정할 수 있다.
일부 실시예에서, 게임 서버(100)는 후보 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 임의로(randomly) 결정 또는 식별할 수 있다. 대안적인 실시예에서, 게임 서버(100)는 하나 이상의 후보 클라이언트 장치 각각에 대한 비대화형 미디어 파일 스트리밍의 횟수에 적어도 부분적으로 기초하여 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 예를 들어, 도 1에 도시된 예시에서, 게임 서버(100)가 이전에 비대화형 미디어 파일을 클라이언트 장치(110-1)에 2회, 클라이언트 장치(110-2)에 5회, 클라이언트 장치(110-3)에 10회 제공 또는 스트리밍한 경우, 게임 서버(100)는 공평한 방식으로 클라이언트 장치 간에 지연 또는 다른 처리 부담을 분산하기 위한 시도에서 소정의 게임 이벤트의 발생시 클라이언트 장치(110-1 및 110-2)에 비대화형 미디어 파일을 스트리밍하는 것으로 결정할 수 있다.
렌더링과 같은 복잡한 그래픽 처리를 요하는 게임 플레잉을 제공하는 것보다 비대화형 미디어 파일을 스트리밍하는 것이 게임 서버(100)의 리소스를 덜 사용하므로, 클라이언트 장치(110-1, 110-2, 110-3, ..., 110-n) 중 일부에 비대화형 미디어 파일을 스트리밍함으로써 게임 서버(100)의 처리 부하가 감소될 수 있다.
도 2는 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하기 위한 예시적인 아키텍처를 도시하는 개략적인 블록도를 도시한다.
도시된 바와 같이, 부하 균형 시스템(200)은 리소스 사용 측정 유닛(210), 결정 유닛(220) 및 전송 유닛(230)을 포함할 수 있다. 별개의 컴포넌트들로 도시되어 있으나, 개시된 대상의 범위 내에서 다양한 컴포넌트들이 추가적인 컴포넌트들로 분할되거나 더 적은 컴포넌트들로 조합되거나 함께 제거될 수 있다.
리소스 사용 측정 유닛(210)은 게임 서버(예컨대, 게임 서버(100))의 리소스 사용을 측정하도록 구성될 수 있다. 제한적이지 않은 예시로서, 게임 서버의 리소스 사용은 게임 서버의 CPU(central processing unit)의 리소스 사용, 게임 서버의 GPU(graphic processing unit)의 리소스 사용, 게임 서버의 메인 메모리의 리소스 사용, 및/또는 게임 서버의 그래픽 메모리의 리소스 사용 등과 연관될 수 있다.
결정 유닛(220)은 리소스 사용 측정 유닛(210)에 의해 측정된 리소스 사용에 적어도 부분적으로 기초하여, 게임 서버에 연결된 다수의 클라이언트 장치(예컨대, 클라이언트 장치(110-1, 110-2, 110-3, ..., 110-n)) 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 일부 실시예에서, 결정 유닛(220)은 리소스 사용 측정 유닛(210)에 의해 측정된 리소스 사용을 소정의 임계치와 비교할 수 있다. 제한적이지 않은 예시로서, 소정의 임계치는, 예컨대 CPU(central processing unit)의 처리 능력, GPU(graphic processing unit)의 처리 능력, 메인 메모리의 성능 및/또는 그래픽 메모리의 성능 등과 같은 게임 서버의 처리 능력에 연관될 수 있다.
일부 실시예에서, 결정 유닛(220)은 게임 서버의 또는 게임 서버에 해당하는 리소스 사용이 소정의 임계치를 초과하는 것으로 결정되는 경우, 게임 서버에 연결된 다수의 클라이언트 장치 중에서 각각에서 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정 또는 식별할 수 있다. 소정의 게임 이벤트의 예시는 게임의 플레이어에 의한 게임의 시작, 플레이어에 의한 게임에서의 새로운 단계 진입, 플레이어에 의한 게임에서의 새로운 장소 진입, 플레이어에 의한 게임에서의 임무 완수, 플레이어에 의한 게임 아이템 획득, 플레이어에 의한 게임에서의 다른 캐릭터와의 만남, 플레이어에 의한 게임에서의 다른 캐릭터와의 대화, 게임에서의 장면 변화의 발생, 및 임의의 기타 이벤트, 그 발생이 플레이어로 하여금 심하게 짜증나게 만들지 않을 수 있는 게임의 중지를 포함할 수 있으나, 이에 제한되지 않는다.
일부 실시예에서, 결정 유닛(220)은 후보 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 일부 실시예에서, 결정 유닛(220)은 예컨대 CPU(central processing unit)의 처리 능력, GPU(graphic processing unit)의 처리 능력, 메인 메모리의 성능 및/또는 그래픽 메모리의 성능 등과 같은 게임 서버의 처리 능력에 적어도 부분적으로 기초하여 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다.
일부 실시예에서, 결정 유닛(220)은 후보 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 임의로 결정 또는 식별할 수 있다. 대안적인 실시예에서, 결정 유닛(220)은 공평한 방식으로 클라이언트 장치 사이에 지연 또는 기타 처리 부담을 분산시키려는 시도에서, 후보 클라이언트 장치 각각에 대한 이전의 비대화형 미디어 파일 스트리밍의 횟수에 적어도 부분적으로 기초하여 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다.
전송 유닛(230)은 소정의 게임 이벤트 발생시, 결정 유닛(220)에 의해 결정된 클라이언트 장치로 비대화형 미디어 파일을 전송 또는 스트리밍하도록 구성될 수 있다. 렌더링과 같이 복잡한 그래픽 처리를 요하는 게임 플레잉을 제공하는 것보다 비대화형 미디어 파일을 스트리밍하는 것이 게임 서버의 리소스를 덜 사용하므로, 비대화형 미디어 파일을 클라이언트 장치 중 일부에 스트리밍함으로써 게임 서버의 처리 부하가 감소될 수 있다.
도 3은 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하기 위한 프로세스의 예시적인 흐름도를 도시한다.
도 3의 프로세스는 위에서 설명된 게임 서버(100)와 같은 게임 서버 및/또는 리소스 사용 측정 유닛(210), 결정 유닛(220) 및 전송 유닛(230)을 포함하는 부하 균형 시스템(200)과 같은 부하 균형 시스템에서 구현될 수 있다. 예시적인 프로세스는 하나 이상의 블록(300, 310, 320, 330 및/또는 340)에 의해 도시된 하나 이상의 동작, 작용 또는 기능을 포함할 수 있다. 별개의 블록들로 도시되어 있으나, 요구되는 구현에 따라 다양한 블록들이 추가적인 블록들로 분할되거나 더 적은 블록들로 조합되거나 제거될 수 있다. 프로세싱은 블록 300에서 시작할 수 있다.
블록 300에서, 게임 서버 또는 부하 균형 시스템은 게임 서버의 리소스 사용을 측정할 수 있다. 제한적이지 않은 예시로서, 게임 서버의 리소스 사용은 게임 서버의 CPU(central processing unit)의 리소스 사용, 게임 서버의 GPU(graphic processing unit)의 리소스 사용, 게임 서버의 메인 메모리의 리소스 사용, 및/또는 게임 서버의 그래픽 메모리의 리소스 사용 등과 연관될 수 있다. 프로세싱은 블록 300에서 블록 310으로 계속될 수 있다.
블록 310에서, 게임 서버 또는 부하 균형 시스템은 측정된 리소스 사용을 소정의 임계치와 비교할 수 있다. 제한적이지 않은 예시로서, 소정의 임계치는 CPU(central processing unit)의 처리 능력, GPU(graphic processing unit)의 처리 능력, 메인 메모리의 성능 및/또는 그래픽 메모리의 성능 등과 연관될 수 있다. 측정된 리소스 사용이 소정의 임계치를 초과하는 경우(예), 프로세싱은 블록 310에서 블록 320으로 계속될 수 있다. 그렇지 않은 경우, 프로세싱은 블록 300으로 돌아갈 수 있다.
블록 320에서, 게임 서버 또는 부하 균형 시스템은 게임 서버에 연결된 다수의 클라이언트 장치 중에서, 각각에서 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정 또는 식별할 수 있다. 소정의 게임 이벤트의 예시는 게임의 플레이어에 의한 게임의 시작, 플레이어에 의한 게임에서의 새로운 단계 진입, 플레이어에 의한 게임에서의 새로운 장소 진입, 플레이어에 의한 게임에서의 임무 완수, 플레이어에 의한 게임 아이템 획득, 플레이어에 의한 게임에서의 다른 캐릭터와의 만남, 플레이어에 의한 게임에서의 다른 캐릭터와의 대화, 게임에서의 장면 변화의 발생, 및 사용자 경험의 품질에 대한 임의의 지장을 줄이도록 의도된 시각에서의 게임의 중지를 포함하는 임의의 다른 게임 마일스톤을 포함할 수 있으나, 이에 제한되지 않는다. 프로세싱은 블록 320에서 블록 330으로 계속될 수 있다.
블록 330에서, 게임 서버 또는 부하 균형 시스템은 하나 이상의 후보 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 일부 실시예에서, 게임 서버 또는 부하 균형 시스템은 게임 서버의 처리 능력에 적어도 부분적으로 기초하여 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정 또는 식별할 수 있다. 일부 실시예에서, 게임 서버 또는 부하 균형 시스템은 후보 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 임의로 결정 또는 식별할 수 있다. 대안적인 실시예에서, 게임 서버 또는 부하 균형 시스템은 공평한 방식으로 클라이언트 장치 사이에 지연이나 다른 처리 부담을 분산시키려는 시도에서, 하나 이상의 후보 클라이언트 장치 각각에 대한 이전의 비대화형 미디어 파일 스트리밍의 횟수에 적어도 부분적으로 기초하여 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 선택할 수 있다. 프로세싱은 블록 330에서 블록 340으로 계속될 수 있다.
블록 340에서, 게임 서버 또는 부하 균형 시스템은 결정 또는 식별된 클라이언트 장치로 비대화형 미디어 파일을 전송 또는 스트리밍할 수 있다. 프로세싱은 블록 340에서 블록 300으로 계속될 수 있다. 비대화형 미디어 파일의 스트리밍은 실제 대화형 게이밍 파일을 제공하는 것만큼의 처리 능력을 요구하지 않으므로, 비대화형 미디어 파일의 스트리밍은 게임 서버에 대한 전체적인 처리 부하를 낮출 수 있다.
당업자라면, 여기에서 개시된 이러한 및 다른 프로세스 및 방법에 대해, 프로세스 및 방법에서 수행되는 기능이 상이한 순서로 구현될 수 있음을 이해할 것이다. 또한, 약술된 단계 및 동작은 단지 예시로서 제공된 것이고, 이러한 단계 및 동작의 일부는, 개시된 실시예의 본질에서 벗어나지 않으면서, 선택적일 수 있거나, 더 적은 단계 및 동작으로 조합될 수 있거나, 추가적인 단계 및 동작으로 확장될 수 있다.
도 4는 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하는 데에 이용될 수 있는 컴퓨터 프로그램 제품을 도시한다.
프로그램 제품(400)은 신호 베어링 매체(signal bearing medium)(402)를 포함할 수 있다. 신호 베어링 매체(402)는 예컨대 프로세서에 의하여 실행되면, 도 1 내지 3에 관하여 전술된 기능을 제공할 수 있는 하나 이상의 명령어(404)를 포함할 수 있다. 예를 들어, 명령어(404)는 게임 서버의 리소스 사용이 소정의 임계치를 초과하는 경우 게임 서버에 연결된 다수의 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정하기 위한 하나 이상의 명령어, 결정된 하나 이상의 클라이언트 장치로 비대화형 미디어 파일을 스트리밍하기 위한 하나 이상의 명령어를 포함할 수 있다. 따라서, 예컨대 도 2를 참조하면, 부하 균형 시스템(200)은 명령어(404)에 응답하여 도 3에 도시된 블록들 중 하나 이상을 착수할 수 있다.
일부 구현예에서, 신호 베어링 매체(402)는 하드 디스크 드라이브, CD, DVD, 디지털 테이프, 메모리 등과 같은 컴퓨터 판독 가능 매체(406)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(402)는 메모리, 읽기/쓰기(R/W) CD, R/W DVD 등과 같은 기록 가능 매체(408)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(402)는 디지털 및/또는 아날로그 통신 매체(예컨대, 광섬유 케이블, 도파관(waveguide), 유선 통신 링크, 무선 통신 링크 등)와 같은 통신 매체(410)를 포함할 수 있으나, 이에 제한되지는 않는다. 따라서, 예를 들어, 프로그램 제품(400)은, 신호 베어링 매체(402)가 무선 통신 매체(410)(예컨대, IEEE 802.11 표준에 따르는 무선 통신 매체)에 의해 전달되는 RF 신호 베어링 매체(402)에 의하여 부하 균형 시스템(200)의 하나 이상의 모듈로 전달될 수 있다.
도 5는 여기에 설명되는 적어도 일부 실시예에 따라 배열되는, 클라우드 기반 게임 시스템을 위한 부하 균형 체계를 제공하는 데에 이용될 수 있는 예시적인 컴퓨팅 장치를 도시하는 블록도이다.
이러한 예시에서, 컴퓨팅 장치(500)의 구성요소들은 클라우드 기반 게임 시스템을 위해 배열 또는 구성될 수 있다. 매우 기본적인 구성(basic configuration)(502)에서, 컴퓨팅 장치(500)는 전형적으로 하나 이상의 프로세서(504) 및 시스템 메모리(506)를 포함한다. 메모리 버스(508)가 프로세서(504)와 시스템 메모리(506) 사이의 통신을 위해 사용될 수 있다.
요구되는 구성에 따라, 프로세서(504)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(504)는 레벨 1 캐시(510) 및 레벨 2 캐시(512)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(514) 및 레지스터(516)를 포함할 수 있다. 예시적인 프로세서 코어(514)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(518)는 또한 프로세서(504)와 사용될 수 있거나, 또는 일부 구현예에서, 메모리 컨트롤러(518)는 프로세서(504)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(506)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함하나 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(506)는 운영 체제(520), 하나 이상의 애플리케이션(522) 및 프로그램 데이터(524)를 포함할 수 있다. 애플리케이션(522)은 도 2에 도시된 부하 균형 시스템(200) 아키텍처에 관하여 설명된 작용 또는 도 3에 도시된 흐름도에 관하여 설명된 작용을 포함하여 여기에 설명된 기능을 수행하도록 배열될 수 있는 명령어(526)를 포함할 수 있다. 일부 예시에서, 여기에서 설명되는 부하 균형 시스템을 위한 명령어를 구현하도록 애플리케이션(522)은 운영 체제(520) 상에서 프로그램 데이터(524)와 동작하도록 배열될 수 있다.
컴퓨팅 장치(500)는 추가적인 특징 또는 기능, 및 기본 구성(502)과 임의의 요구되는 장치와 인터페이스 사이의 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들어, 버스/인터페이스 컨트롤러(530)는 저장 인터페이스 버스(534)를 통한 기본 구성(502)과 하나 이상의 데이터 저장 장치(532) 간의 통신을 용이하게 하는 데에 사용될 수 있다. 데이터 저장 장치(532)는 분리형 저장 장치(536), 비분리형 저장 장치(538), 또는 그 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive(SSD)) 및 테이프 드라이브를 포함할 수 있다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(506), 분리형 저장 장치(536) 및 비분리형 저장 장치(538)는 컴퓨터 저장 매체의 예시이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데에 사용될 수 있고 컴퓨팅 장치(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 장치(500)의 일부일 수 있다.
컴퓨팅 장치(500)는 버스/인터페이스 컨트롤러(530)를 통한 다양한 인터페이스 장치(예컨대, 출력 장치(542), 주변 인터페이스(544) 및 통신 장치(546))로부터 기본 구성(502)으로의 통신을 용이하게 하기 위한 인터페이스 버스(540)도 포함할 수 있다. 예시적인 출력 장치(542)는 그래픽 처리 유닛(548) 및 오디오 처리 유닛(550)을 포함하며, 이는 하나 이상의 A/V 포트(552)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(544)는 직렬 인터페이스 컨트롤러(554) 또는 병렬 인터페이스 컨트롤러(556)를 포함하며, 이는 하나 이상의 I/O 포트(558)를 통해 입력 장치(예컨대, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예컨대, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(546)는 네트워크 컨트롤러(560)를 포함하며, 이는 하나 이상의 통신 포트(564)를 통해 네트워크 통신 링크 상에서의 하나 이상의 다른 컴퓨팅 장치(562)와의 통신을 용이하게 하도록 배열될 수 있다.
네트워크 통신 링크는 통신 매체의 일례일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향(acoustic), 무선 주파수(RF), 마이크로파(microwave), 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(500)는 휴대 전화, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 특수 용도 장치, 또는 위 기능 중 임의의 것을 포함하는 하이브리드(hybrid) 장치와 같은 소형 폼 팩터(small-form factor)의 휴대용(또는 모바일) 전자 장치의 일부로서 구현될 수 있다. 컴퓨팅 장치(500)는 또한 랩탑 컴퓨터 및 랩탑이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다.
본 개시는 다양한 태양의 예시로서 의도된 본 출원에 기술된 특정 실시예들에 제한되지 않을 것이다. 당업자에게 명백할 바와 같이, 많은 수정과 변형이 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 장치가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항의 용어에 의해서만, 그러한 청구항에 부여된 균등물의 전 범위와 함께, 제한될 것이다. 본 개시가 물론 다양할 수 있는 특정 방법, 시약, 화합물, 조성 또는 생물학적 시스템에 제한되지 않는 것으로 이해될 것이다. 또한, 여기에서 사용된 용어는 단지 특정 실시예들을 설명하기 위한 목적이고, 제한하는 것으로 의도되지 않음이 이해될 것이다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 여기에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위 본문)에 사용된 용어들이 일반적으로 "개방적(open)" 용어로 의도됨을 이해할 것이다(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 제한되지 않는다" 등으로 해석되어야 한다). 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부된 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예로, 그러한 도입된 청구항 기재사항을 포함하는 임의의 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")와 같은 부정관사를 포함하는 경우에도 마찬가지로 해석되어야 한다(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 한다). 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 전형적으로 적어도 기재된 수를 의미하도록 해석되어야 함을 이해할 것이다(예를 들어, 다른 수식어가 없이 "두 개의 기재사항"을 단순히 기재한 것은, 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미한다). 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않는다). "A, B 또는 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않는다). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려하는 것으로 이해되어야 함을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
또한, 개시의 특징 또는 양태가 마쿠시(Markush) 그룹으로 기술되는 경우, 개시는 마쿠시 그룹의 임의의 개별 요소 또는 요소들의 하위 그룹의 면에서도 설명됨을 당업자는 인식할 것이다.
당업자에게 이해될 것과 같이, 서면의 설명을 제공하는 측면에서와 같은 임의의 그리고 모든 목적에서, 여기에 개시되어 있는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그러한 하위범위의 조합을 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시가능하게 하는 것으로서 쉽게 인식될 수 있다. 제한하지 않는 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3, 상위 1/3 등으로 나누어질 수 있다. 또한, "까지", "적어도" 등과 같은 모든 언어가 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭함이 당업자에게 이해되어야 한다. 마지막으로, 범위는 각각의 개별 요소를 포함함이 이해되어야 한다. 따라서, 예를 들어, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 지칭한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 지칭하는 등이다.
이상으로부터, 본 개시의 다양한 실시예가 예시의 목적을 위해 여기에서 설명되었고, 다양한 수정이 본 개시의 사상과 범위를 벗어나지 않으면서 이루어질 수 있음이 이해될 것이다. 따라서, 여기에서 개시된 다양한 실시예는 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하의 청구범위에서 나타난다.

Claims (30)

  1. 게임 서버의 리소스 사용(resource usage)을 측정하도록 구성되는 리소스 사용 측정 유닛;
    상기 리소스 사용 측정 유닛에 의해 측정된 상기 리소스 사용에 적어도 부분적으로 기초하여, 상기 게임 서버에 연결된 복수의 클라이언트 장치 중에서 비대화형(non-interactive) 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정하도록 구성되는 결정 유닛; 및
    소정의 게임 이벤트 발생시 상기 클라이언트 장치 중 하나 이상에 상기 비대화형 미디어 파일을 스트리밍하도록 구성되는 전송 유닛
    을 포함하는 부하 균형 시스템(load balancing system).
  2. 제1항에 있어서,
    상기 게임 서버의 상기 리소스 사용은 상기 게임 서버의 CPU(central processing unit)의 리소스 사용, 상기 게임 서버의 GPU(graphic processing unit)의 리소스 사용, 상기 게임 서버의 메인 메모리의 리소스 사용, 및 상기 게임 서버의 그래픽 메모리의 리소스 사용 중 적어도 하나와 연관되는, 부하 균형 시스템.
  3. 제1항에 있어서,
    상기 결정 유닛은 상기 리소스 사용 측정 유닛에 의해 측정된 상기 리소스 사용을 소정의 임계치와 비교하도록 더 구성되는, 부하 균형 시스템.
  4. 제3항에 있어서,
    상기 소정의 임계치는 상기 게임 서버의 처리 능력(processing power)에 연관되는, 부하 균형 시스템.
  5. 제4항에 있어서,
    상기 게임 서버의 상기 처리 능력은 상기 게임 서버의 CPU(central processing unit)의 처리 능력, 상기 게임 서버의 GPU(graphic processing unit)의 처리 능력, 상기 게임 서버의 메인 메모리의 성능, 및 상기 게임 서버의 그래픽 메모리의 성능 중 적어도 하나와 연관되는, 부하 균형 시스템.
  6. 제3항에 있어서,
    상기 결정 유닛은 상기 리소스 사용이 상기 소정의 임계치를 초과하는 것으로 결정되는 경우, 상기 게임 서버에 연결된 상기 복수의 클라이언트 장치 중에서, 각각에서 상기 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정하도록 더 구성되는, 부하 균형 시스템.
  7. 제6항에 있어서,
    상기 소정의 게임 이벤트는 게임의 플레이어에 의한 상기 게임의 시작, 상기 플레이어에 의한 상기 게임에서의 새로운 단계 진입, 상기 플레이어에 의한 상기 게임에서의 새로운 장소 진입, 상기 플레이어에 의한 상기 게임에서의 임무 완수, 상기 플레이어에 의한 게임 아이템 획득, 상기 플레이어에 의한 상기 게임에서의 다른 캐릭터와의 만남, 상기 플레이어에 의한 상기 게임에서의 다른 캐릭터와의 대화, 및 상기 게임에서의 장면 변화의 발생 중 적어도 하나와 연관되는, 부하 균형 시스템.
  8. 제6항에 있어서,
    상기 결정 유닛은 상기 게임 서버의 처리 능력에 적어도 부분적으로 기초하여 상기 하나 이상의 후보 클라이언트 장치 중에서 상기 비대화형 미디어 파일을 스트리밍할 상기 하나 이상의 클라이언트 장치를 선택하도록 더 구성되는, 부하 균형 시스템.
  9. 제8항에 있어서,
    상기 게임 서버의 상기 처리 능력은 상기 게임 서버의 CPU(central processing unit)의 처리 능력, 상기 게임 서버의 GPU(graphic processing unit)의 처리 능력, 상기 게임 서버의 메인 메모리의 성능, 및 상기 게임 서버의 그래픽 메모리의 성능 중 적어도 하나와 연관되는, 부하 균형 시스템.
  10. 제8항에 있어서,
    상기 결정 유닛은 상기 비대화형 미디어 파일을 스트리밍할 상기 하나 이상의 클라이언트 장치를 임의로(randomly) 선택하도록 더 구성되는, 부하 균형 시스템.
  11. 제8항에 있어서,
    상기 결정 유닛은 상기 하나 이상의 후보 클라이언트 장치 각각에 대한 미디어 파일 스트리밍의 횟수에 적어도 부분적으로 기초하여 상기 비대화형 미디어 파일을 스트리밍할 상기 하나 이상의 클라이언트 장치를 선택하도록 더 구성되는, 부하 균형 시스템.
  12. 제1항에 있어서,
    상기 비대화형 미디어 파일은 비대화형 비디오 파일, 비대화형 오디오 파일, 비대화형 이미지 파일 및 비대화형 텍스트 파일 중 적어도 하나를 포함하는, 부하 균형 시스템.
  13. 게임 서버의 제어 하에서 수행되는 방법으로서,
    상기 게임 서버의 리소스 사용을 측정하는 단계;
    상기 측정된 리소스 사용을 소정의 임계치와 비교하는 단계;
    상기 측정된 리소스 사용이 상기 소정의 임계치를 초과하는 경우, 상기 게임 서버에 연결된 복수의 클라이언트 장치 중에서, 각각에서 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정하는 단계; 및
    상기 하나 이상의 후보 클라이언트 장치 중 적어도 일부로 비대화형 미디어 파일을 스트리밍하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 게임 서버의 상기 리소스 사용은 상기 게임 서버의 CPU(central processing unit)의 리소스 사용, 상기 게임 서버의 GPU(graphic processing unit)의 리소스 사용, 상기 게임 서버의 메인 메모리의 리소스 사용, 및 상기 게임 서버의 그래픽 메모리의 리소스 사용 중 적어도 하나와 연관되는, 방법.
  15. 제13항에 있어서,
    상기 소정의 임계치는 상기 게임 서버의 처리 능력과 연관되는, 방법.
  16. 제13항에 있어서,
    상기 소정의 게임 이벤트는 게임의 플레이어에 의한 상기 게임의 시작, 상기 플레이어에 의한 상기 게임에서의 새로운 단계 진입, 상기 플레이어에 의한 상기 게임에서의 새로운 장소 진입, 상기 플레이어에 의한 상기 게임에서의 임무 완수, 상기 플레이어에 의한 게임 아이템 획득, 상기 플레이어에 의한 상기 게임에서의 다른 캐릭터와의 만남, 상기 플레이어에 의한 상기 게임에서의 다른 캐릭터와의 대화, 및 상기 게임에서의 장면 변화의 발생 중 적어도 하나와 연관되는, 방법.
  17. 제13항에 있어서,
    상기 비대화형 미디어 파일을 스트리밍할 상기 하나 이상의 후보 클라이언트 장치 중 상기 적어도 일부를 선택하는 단계를 더 포함하는 방법.
  18. 제17항에 있어서,
    상기 선택하는 단계는 상기 게임 서버의 처리 능력에 적어도 부분적으로 기초하여 상기 하나 이상의 후보 클라이언트 장치 중 상기 적어도 일부를 선택하는 단계를 포함하는, 방법.
  19. 제17항에 있어서,
    상기 선택하는 단계는 상기 하나 이상의 후보 클라이언트 장치 중 상기 적어도 일부를 임의로 선택하는 단계를 포함하는, 방법.
  20. 제17항에 있어서,
    상기 선택하는 단계는 상기 하나 이상의 후보 클라이언트 장치 각각에 대한 비대화형 미디어 파일 스트리밍의 횟수에 적어도 부분적으로 기초하여 상기 하나 이상의 후보 클라이언트 장치 중 상기 적어도 일부를 선택하는 단계를 포함하는, 방법.
  21. 제13항에 있어서,
    상기 비대화형 미디어 파일은 비대화형 비디오 파일, 비대화형 오디오 파일, 비대화형 이미지 파일 및 비대화형 텍스트 파일 중 적어도 하나를 포함하는, 방법.
  22. 실행에 대한 응답으로 부하 균형 시스템으로 하여금,
    게임 서버의 리소스 사용이 소정의 임계치를 초과하는 경우, 상기 게임 서버에 연결된 복수의 클라이언트 장치 중에서 비대화형 미디어 파일을 스트리밍할 하나 이상의 클라이언트 장치를 결정하는 것; 및
    상기 결정된 하나 이상의 클라이언트 장치로 상기 비대화형 미디어 파일을 스트리밍하는 것
    을 포함하는 동작을 수행하도록 하는 컴퓨터 실행 가능 명령어가 저장된 컴퓨터 판독 가능 저장 매체.
  23. 제22항에 있어서,
    상기 동작은 상기 게임 서버의 상기 리소스 사용을 측정하는 것을 더 포함하는, 컴퓨터 판독 가능 저장 매체.
  24. 제22항에 있어서,
    상기 게임 서버의 상기 리소스 사용은 상기 게임 서버의 CPU(central processing unit)의 리소스 사용, 상기 게임 서버의 GPU(graphic processing unit)의 리소스 사용, 상기 게임 서버의 메인 메모리의 리소스 사용, 및 상기 게임 서버의 그래픽 메모리의 리소스 사용 중 적어도 하나와 연관되는, 컴퓨터 판독 가능 저장 매체.
  25. 제22항에 있어서,
    상기 소정의 임계치는 상기 게임 서버의 처리 능력에 연관되는, 컴퓨터 판독 가능 저장 매체.
  26. 제25항에 있어서,
    상기 게임 서버의 상기 처리 능력은 상기 게임 서버의 CPU(central processing unit)의 처리 능력, 상기 게임 서버의 GPU(graphic processing unit)의 처리 능력, 상기 게임 서버의 메인 메모리의 성능, 및 상기 게임 서버의 그래픽 메모리의 성능 중 적어도 하나와 연관되는, 컴퓨터 판독 가능 저장 매체.
  27. 제22항에 있어서,
    상기 결정하는 것은, 상기 게임 서버에 연결된 상기 복수의 클라이언트 장치 중에서, 각각에서 소정의 게임 이벤트가 곧 발생할 참인 하나 이상의 후보 클라이언트 장치를 결정하는 것과, 상기 게임 서버의 처리 능력에 적어도 부분적으로 기초하여 상기 하나 이상의 후보 클라이언트 장치 중에서 상기 비대화형 미디어 파일을 스트리밍할 상기 하나 이상의 클라이언트 장치를 선택하는 것을 포함하는, 컴퓨터 판독 가능 저장 매체.
  28. 제27항에 있어서,
    상기 소정의 게임 이벤트는 게임의 플레이어에 의한 상기 게임의 시작, 상기 플레이어에 의한 상기 게임에서의 새로운 단계 진입, 상기 플레이어에 의한 상기 게임에서의 새로운 장소 진입, 상기 플레이어에 의한 상기 게임에서의 임무 완수, 상기 플레이어에 의한 게임 아이템 획득, 상기 플레이어에 의한 상기 게임에서의 다른 캐릭터와의 만남, 상기 플레이어에 의한 상기 게임에서의 다른 캐릭터와의 대화, 및 상기 게임에서의 장면 변화의 발생 중 적어도 하나와 연관되는, 컴퓨터 판독 가능 저장 매체.
  29. 제27항에 있어서,
    상기 게임 서버의 상기 처리 능력은 상기 게임 서버의 CPU(central processing unit)의 처리 능력, 상기 게임 서버의 GPU(graphic processing unit)의 처리 능력, 상기 게임 서버의 메인 메모리의 성능, 및 상기 게임 서버의 그래픽 메모리의 성능 중 적어도 하나와 연관되는, 컴퓨터 판독 가능 저장 매체.
  30. 제22항에 있어서,
    상기 비대화형 미디어 파일은 비대화형 비디오 파일, 비대화형 오디오 파일, 비대화형 이미지 파일 및 비대화형 텍스트 파일 중 적어도 하나를 포함하는, 컴퓨터 판독 가능 저장 매체.
KR1020147012969A 2012-02-14 2012-02-14 클라우드 기반 게임 시스템에서의 부하 균형 KR101595075B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/024995 WO2013122572A1 (en) 2012-02-14 2012-02-14 Load balancing in cloud-based game system

Publications (2)

Publication Number Publication Date
KR20140084190A true KR20140084190A (ko) 2014-07-04
KR101595075B1 KR101595075B1 (ko) 2016-02-17

Family

ID=48946028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012969A KR101595075B1 (ko) 2012-02-14 2012-02-14 클라우드 기반 게임 시스템에서의 부하 균형

Country Status (5)

Country Link
US (3) US8795087B2 (ko)
JP (1) JP5945010B2 (ko)
KR (1) KR101595075B1 (ko)
CN (1) CN104011700B (ko)
WO (1) WO2013122572A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323581B1 (en) * 2011-03-31 2016-04-26 Emc Corporation Space inheritance
US9348430B2 (en) * 2012-02-06 2016-05-24 Steelseries Aps Method and apparatus for transitioning in-process applications to remote devices
WO2013122572A1 (en) 2012-02-14 2013-08-22 Empire Technology Development Llc Load balancing in cloud-based game system
EP2763038A3 (en) * 2013-02-01 2017-03-01 Samsung Electronics Co., Ltd Method and apparatus for processing multimedia content on a graphic cloud
US20140274408A1 (en) * 2013-03-14 2014-09-18 Zynga Inc. Methods and systems for provisioning a game container within a cloud computing system
WO2015012786A1 (en) * 2013-07-22 2015-01-29 Empire Technology Development Llc Game load management
JP5559445B1 (ja) * 2013-12-26 2014-07-23 株式会社スクウェア・エニックス 描画システム、制御方法、プログラム、及び記録媒体
DK178380B1 (en) * 2014-07-01 2016-01-25 Magma Giessereitechnologie Gmbh Method of beam tracking for use in a simulation or calculation process
US9860789B2 (en) * 2014-12-30 2018-01-02 Fortinet, Inc. Load balancing for a cloud-based wi-fi controller based on local conditions
CN104780164B (zh) 2015-03-25 2016-12-21 腾讯科技(深圳)有限公司 一种运行游戏客户端的方法和装置
US10737183B1 (en) * 2015-10-27 2020-08-11 BlueStack Systems, Inc. Smart streaming
CN105872098B (zh) * 2016-06-03 2019-04-26 腾讯科技(深圳)有限公司 数据处理方法、负载均衡器和交互式应用服务器及系统
CN108066986B (zh) * 2017-10-26 2021-04-02 咪咕互动娱乐有限公司 一种流媒体确定方法及装置和存储介质
WO2019139998A1 (en) * 2018-01-09 2019-07-18 Alexander Erik Methods and systems for interactive gaming
CN108200185B (zh) * 2018-01-15 2020-12-04 杭州迪普科技股份有限公司 一种实现负载均衡的方法及装置
CN109274718A (zh) * 2018-08-23 2019-01-25 郑州云海信息技术有限公司 一种基于云计算的共享单车数据处理系统
CN109120700A (zh) * 2018-08-23 2019-01-01 郑州云海信息技术有限公司 一种基于云计算的居民区私有车位共享租赁系统
CN109491715B (zh) * 2018-11-06 2021-10-22 深圳市风云实业有限公司 基于Windows NT的应用管理方法、装置及终端
US11938406B2 (en) * 2019-06-07 2024-03-26 Nvidia Corporation Dynamic allocation of compute resources for highlight generation in cloud gaming systems
US11200775B2 (en) 2020-02-10 2021-12-14 Igt Electronic gaming machine with wireless communication capabilities
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统
TWI765374B (zh) * 2020-10-15 2022-05-21 捷欣企業股份有限公司 料片結構
JP2023046337A (ja) * 2021-09-23 2023-04-04 株式会社セガ 情報処理装置及び実行切替システム
CN113877199B (zh) * 2021-12-07 2022-03-11 北京蔚领时代科技有限公司 一种适用于云游戏场景的线路调度方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100105454A1 (en) * 2006-04-13 2010-04-29 Igt Methods and systems for interfacing with a third-party application
JP2010269047A (ja) * 2009-05-25 2010-12-02 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム処理方法、ならびに、プログラム

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560717B1 (en) * 1999-12-10 2003-05-06 Art Technology Group, Inc. Method and system for load balancing and management
US9047609B2 (en) 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US20090119168A1 (en) 2001-11-14 2009-05-07 Retaildna, Llc System and method for providing an incentive based on the hardware used to place an order
US7075541B2 (en) 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7584353B2 (en) * 2003-09-12 2009-09-01 Trimble Navigation Limited Preventing unauthorized distribution of media content within a global network
US7458894B2 (en) 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
CN101091175B (zh) * 2004-09-16 2012-03-14 辉达公司 负载均衡
JP4645649B2 (ja) 2005-03-14 2011-03-09 パナソニック株式会社 切替元デバイス、切替先デバイス、高速デバイス切替システムおよびシグナリング方法
US7901294B2 (en) 2006-02-24 2011-03-08 Igt Method and apparatus for enabling a player to simultaneously control game play on multiple gaming devices
US20070293319A1 (en) 2006-06-20 2007-12-20 Microsoft Corporation Transfer of Features Between Gaming Devices
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
JP4644175B2 (ja) * 2006-10-10 2011-03-02 日本放送協会 アクセス負荷制御装置およびそのプログラム、ならびに、投稿受付システム
CN101378390B (zh) * 2007-08-27 2012-04-18 神乎科技股份有限公司 一种分布式运算的推拉式信息服务系统以及方法
EP2235642A4 (en) * 2007-12-13 2016-08-03 Highwinds Holdings Inc CONTENT DELIVERY NETWORK
US8392580B2 (en) 2008-02-20 2013-03-05 Research In Motion Limited Methods and systems for facilitating transfer of sessions between user devices
JP5345796B2 (ja) * 2008-03-27 2013-11-20 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US8167703B2 (en) 2008-04-02 2012-05-01 Wms Gaming Inc. Gaming system having alternate wagering game configurations
WO2010031009A1 (en) * 2008-09-12 2010-03-18 Jamabi, Inc. Method and system for distributing media content and processing payments and/or voluntary data collection
EP2319597A1 (en) 2009-10-13 2011-05-11 Crytek GmbH A system of providing data for entertaining presentations to at least one audience
US8620879B2 (en) 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
US20110119293A1 (en) * 2009-10-21 2011-05-19 Randy Gilbert Taylor Method And System For Reverse Pattern Recognition Matching
US9524138B2 (en) 2009-12-29 2016-12-20 Nvidia Corporation Load balancing in a system with multi-graphics processors and multi-display systems
JP2011186834A (ja) * 2010-03-09 2011-09-22 Copcom Co Ltd ゲームプログラム、記録媒体、及びコンピュータ装置
JP5174066B2 (ja) * 2010-03-10 2013-04-03 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームサーバ、ゲーム装置、ゲームシステムの制御方法、ゲームサーバの制御方法、ゲーム装置の制御方法、及びプログラム
JP5371857B2 (ja) * 2010-03-29 2013-12-18 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームシステムの制御方法、及びプログラム
US8359361B2 (en) * 2010-05-06 2013-01-22 Microsoft Corporation Techniques to share media files through messaging
US8342948B2 (en) 2010-06-02 2013-01-01 Bally Gaming, Inc. System, apparatus and method for saving game state and for utilizing game states on different gaming devices
US9421460B2 (en) 2010-08-31 2016-08-23 Sony Interactive Entertainment Inc. Offline Progress of console game via portable device
WO2012032502A1 (en) * 2010-09-10 2012-03-15 Nokia Corporation A method and apparatus for adaptive streaming
US20120079606A1 (en) 2010-09-24 2012-03-29 Amazon Technologies, Inc. Rights and capability-inclusive content selection and delivery
US20120102185A1 (en) 2010-10-20 2012-04-26 Sony Computer Entertainment America Inc. Resource management of server hosts in online game environment
US8435121B1 (en) 2010-11-05 2013-05-07 Amazon Technologies, Inc. Providing remote access to games designed for a single-machine experience
US20120142429A1 (en) 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
KR101662726B1 (ko) * 2010-12-29 2016-10-14 삼성전자주식회사 전자 기기의 스크롤 방법 및 장치
US20120252582A1 (en) 2011-03-30 2012-10-04 Electronic Arts Inc. Metagame Translation
US8719627B2 (en) 2011-05-20 2014-05-06 Microsoft Corporation Cross-cloud computing for capacity management and disaster recovery
US8543582B1 (en) * 2011-08-26 2013-09-24 Google Inc. Updateable metadata for media content
US10862784B2 (en) * 2011-10-04 2020-12-08 Electro Industries/Gauge Tech Systems and methods for processing meter information in a network of intelligent electronic devices
US20150356104A9 (en) * 2011-10-04 2015-12-10 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
WO2013122572A1 (en) 2012-02-14 2013-08-22 Empire Technology Development Llc Load balancing in cloud-based game system
WO2015012786A1 (en) 2013-07-22 2015-01-29 Empire Technology Development Llc Game load management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100105454A1 (en) * 2006-04-13 2010-04-29 Igt Methods and systems for interfacing with a third-party application
JP2010269047A (ja) * 2009-05-25 2010-12-02 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム処理方法、ならびに、プログラム

Also Published As

Publication number Publication date
KR101595075B1 (ko) 2016-02-17
CN104011700B (zh) 2016-10-26
JP2015512089A (ja) 2015-04-23
WO2013122572A1 (en) 2013-08-22
US9531797B2 (en) 2016-12-27
CN104011700A (zh) 2014-08-27
US20160036901A1 (en) 2016-02-04
US8795087B2 (en) 2014-08-05
US20140302929A1 (en) 2014-10-09
US20130210526A1 (en) 2013-08-15
US9237115B2 (en) 2016-01-12
JP5945010B2 (ja) 2016-07-05

Similar Documents

Publication Publication Date Title
KR101595075B1 (ko) 클라우드 기반 게임 시스템에서의 부하 균형
US9455931B2 (en) Load balancing between processors
US9526989B2 (en) Method and apparatus for receiving game streaming data, and method and server for transmitting game streaming data
CA2989209A1 (en) Method for controlling interaction with virtual target, terminal, and storage medium
US20150130821A1 (en) System and method of dynamically throttling cpu frequency for gaming workloads
US9358467B2 (en) Game load management
US20210185045A1 (en) Apparatus and method for online service access control
JP2016049202A (ja) マルチプレイヤーオンラインゲームのマッチングシステム
KR101744684B1 (ko) 클라우드 게임 서비스 제공 장치 및 방법
JP2022084763A (ja) コンピュータプログラム、方法、及び、サーバ装置
EP2861313B1 (en) Processing system, information processing apparatus, control method, program and storage medium
KR20210064914A (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR102271849B1 (ko) 입력 장치의 감도를 조절하는 전자 장치의 동작 방법 및 전자 장치
KR102170825B1 (ko) 게임 제어 장치 및 방법
US20210185047A1 (en) Apparatus and method for online service access control
Vishnumolakala Performance evaluation of Gaming Anywhere server in a virtual environment
US10293250B2 (en) Game device, game system, control method, and control program
US20140310378A1 (en) Computer, device, system and methods therefor
KR20150009618A (ko) 온라인 게임에서의 드래그 입력 처리 방법
KR20120032224A (ko) 스트리밍 게임 시스템에서의 서비스 정보 제공 방법

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: 20190328

Year of fee payment: 4