KR20160141407A - 클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템 - Google Patents

클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템 Download PDF

Info

Publication number
KR20160141407A
KR20160141407A KR1020150077029A KR20150077029A KR20160141407A KR 20160141407 A KR20160141407 A KR 20160141407A KR 1020150077029 A KR1020150077029 A KR 1020150077029A KR 20150077029 A KR20150077029 A KR 20150077029A KR 20160141407 A KR20160141407 A KR 20160141407A
Authority
KR
South Korea
Prior art keywords
game
data
user terminal
server
transmitting
Prior art date
Application number
KR1020150077029A
Other languages
English (en)
Other versions
KR101725066B1 (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 주식회사 엔씨소프트
Priority to KR1020150077029A priority Critical patent/KR101725066B1/ko
Publication of KR20160141407A publication Critical patent/KR20160141407A/ko
Application granted granted Critical
Publication of KR101725066B1 publication Critical patent/KR101725066B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

게임 클라이언트를 포함하고, 사용자 단말로부터 수신되는 사용자 입력 데이터를 플레이 데이터로 변환하여 게임 서버로 전송하고, 게임 서버로부터 게임 데이터를 수신하여 스트리밍 데이터로 변환하고, 스트리밍 데이터를 사용자 단말로 전송하는 클라우드 서버와; 클라우드 서버로부터 수신된 플레이 데이터를 기초로 게임을 실행하고 실행 결과를 포함하는 게임 데이터를 클라우드 서버로 전송하는 게임 서버와; 입력 수단을 통해 수신되는 사용자 입력 데이터를 클라우드 서버로 전송하고 클라우드 서버로부터 스트리밍 데이터를 수신하여 출력하고, 게임 서버 또는 클라우드 서버로부터 게임 데이터를 수신하는 사용자 단말을 포함하는 클라우드 게이밍 환경에서의 데이터 처리 시스템과 데이터 처리 방법이 개시된다.

Description

클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템 {Method and system for processing data in cloud gaming environment}
본 발명은 클라우드 게이밍 환경에서 부가 기능이나 편의 기능의 제공을 위해 데이터를 처리하는 방법 및 시스템에 대한 것이다.
기존 게임 서비스의 경우 사용자의 단말에 게임 소프트웨어인 게임 클라이언트 프로그램을 설치하여 실행하는 방식이 대부분이었다. 도 1은 종래에 게임 클라이언트가 설치된 사용자 단말에 게임 서비스를 제공하는 게임 시스템의 구성도이다.
도 1을 참조하면, 사용자는 게임 클라이언트(111)가 설치된 사용자 단말(110)에서 게임 클라이언트(111)를 실행시키고 마우스, 키보드, 터치 스크린 등의 입력 수단을 이용하여 게임 진행을 위한 다양한 조작을 한다. 사용자로부터 입력된 데이터는 게임 클라이언트(111)에 의해 게임 서버(120)가 처리할 수 있는 플레이 데이터로 변환되어 게임 서버(120)로 전송될 것이다. 게임 서버(120)는 게임사용자 단말들(110)로부터 수신되는 플레이 데이터를 기초로 게임을 실행하고 그 결과를 게임 데이터로 피드백한다.
한편, 게임 이용자의 게임에 대한 요구 수준이 높아지고 게임 기술이 발달함에 따라 현재 시장에서 출시되고 있는 온라인 게임들은 대부분 화려한 그래픽을 자랑하는 3D(Three-Dimensional) 게임이 대부분을 차지하고 있다.
이러한 게임들은 고사양의 하드웨어를 가진 단말에서만 실행이 가능하다. 따라서, 기존의 게임 설치 방식을 이용하면 사용자는 고가의 그래픽 카드, CPU, 메모리 등으로 사용자의 단말을 업그레이드하여야만 게임 서비스를 이용할 수 있었으며, 이러한 문제의 해결을 위해 게임 서비스에 클라우드 컴퓨팅 기술이 적용되기에 이르렀다.
클라우드 컴퓨팅은 네트워크 상의 클라우드 서버가 문서나 프로그램을 영구적으로 저장하고, 개인용 컴퓨터나 스마트폰 등의 사용자 단말은 필요할 때 클라우드 서버로부터 문서를 불러들여 일시적으로 저장하거나 서버가 자신의 자원을 이용하여 실행하는 프로그램의 실행 결과만을 수신하여 사용자에게 제공하는 컴퓨팅 기술을 말한다.
도 2는 종래의 클라우드 게이밍 환경에서 사용자 단말에 게임 서비스를 제공하는 게임 시스템의 구성도이다.
도 2를 참조하면, 클라우드 게이밍 환경에서 고사양의 하드웨어 자원을 필요로하는 게임 클라이언트(221)는 클라우드 서버(220)에 설치되며, 사용자 단말(210)은 클라우드 서버(220)로부터 수신되는 스트리밍 데이터를 재생하여 게임 화면을 사용자에게 제공하고, 게임 중 사용자가 입력한 데이터를 클라우드 서버(220)로 전달하는 클라우드 클라이언트만을 가지고 있다.
클라우드 서버(220)는 게임 클라이언트(221)를 통해 게임 서버(230)와 연동하여 게임을 진행하고, 사용자 단말로부터 수신된 입력 데이터에 대응하는 플레이 데이터를 게임 서버(230)로 전달하고 게임 실행의 결과인 게임 데이터를 게임 서버(230)로부터 수신한다. 클라우드 서버(220)는 게임 데이터를 AV 데이터(Audio-visual data)로 변환 및 인코딩하여 사용자 단말(210)에 스트리밍한다.
이와 같은 클라우드 게이밍 환경에서 사용자 단말(210)은 스트리밍되는 AV 데이터만을 수신하기 때문에 고사양의 하드웨어 자원이 없어도 된다는 장점 뿐만 아니라 화면 제어를 제외하고는 해킹이나 봇(BOT) 프로그램으로부터 안전하다는 장점이 있다.
봇 프로그램은 온라인 게임에서 거래되는 게임 아이템이나 게임 머니를 자동으로 수집하는 악성 모듈을 사용자 단말에서 실행중인 온라인 게임 프로세스에 주입(Injection)시키는데, 온라인 게임 프로세스에 주입된 악성 모듈은 게임 클라이언트가 제공하는 정상적인 함수를 호출하여 게임을 진행하고, 게임 내에서 사냥이나 채집 등을 스스로 수행하여 게임 내 재화를 획득한다.
클라우드 게이밍 환경에서는 사용자 단말에서 게임 클라이언트가 실행되지 않기 때문에 봇 프로그램이나 해킹에 노출될 위험이 거의 없는 것이다.
그러나, 다른면에서 보면, 클라우드 게이밍 환경에서는 게임 서버로부터 전송되는 게임 데이터나 게임 서버로 전송하는 플레이 데이터를 사용자 단말이 전혀 알 수 없고, 처리된 결과만 사용자 단말에 전달되기 때문에, 사용자 단말측에서는 더이상 게임 메모리 혹은 게임 서버에서 생성되는 패킷 데이터를 이용한 제3자(3rd party)의 프로그램 개발이나 기타 부가 기능 또는 편의 기능을 제공하기 위한 시스템의 개발이 원천적으로 차단된다는 문제가 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해소하기 위한 것으로, 클라우드 게이밍 환경에서도 3rd 파티 프로그램 개발이나 부가 기능 또는 편의 기능 제공을 위해 필요한 데이터를 사용자 단말이나 게임 서버에 제공하기 위한 데이터 처리 방법 및 시스템을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 클라우드 게이밍 환경에서의 데이터 처리 시스템은, 게임 클라이언트를 포함하고, 사용자 단말로부터 수신되는 사용자 입력 데이터를 플레이 데이터로 변환하여 상기 게임 서버로 전송하고, 상기 게임 서버로부터 게임 데이터를 수신하여 스트리밍 데이터로 변환하고, 상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 클라우드 서버와; 상기 클라우드 서버로부터 수신된 플레이 데이터를 기초로 게임을 실행하고 실행 결과를 포함하는 게임 데이터를 상기 클라우드 서버로 전송하는 게임 서버와; 입력 수단을 통해 수신되는 사용자 입력 데이터를 상기 클라우드 서버로 전송하고 상기 클라우드 서버로부터 상기 스트리밍 데이터를 수신하여 출력하고, 상기 게임 서버 또는 상기 클라우드 서버로부터 상기 게임 데이터를 수신하는 사용자 단말을 포함할 수 있다.
상기 사용자 단말은, 상기 사용자 입력 데이터로부터 게임 진행을 위한 플레이 데이터를 생성하여 상기 게임 서버로 전송할 수 있다.
상기 사용자 단말은, 상기 게임 서버 또는 상기 클라우드 서버로부터 상기 게임 데이터를 수신하거나, 상기 사용자 입력 데이터로부터 게임 진행을 위한 플레이 데이터를 생성하여 상기 게임 서버로 전송하기 위한 API(Application Program Interface)를 포함할 수 있다.
본 발명의 다른 실시예에 따른 클라우드 게이밍 환경에서 게임 서비스를 제공하는 게임 서버의 데이터 처리 방법은, 클라우드 서버에 설치된 게임 클라이언트를 통해 사용자 단말의 사용자 입력 데이터로부터 생성된 플레이 데이터를, 상기 클라우드 서버로부터 수신하는 단계와; 상기 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 상기 클라우드 서버로 전송하는 단계와; 상기 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
상기 데이터 처리 방법은, 상기 사용자 단말에 의해 상기 사용자 입력 데이터로부터 생성된 플레이 데이터를, 상기 사용자 단말로부터 수신하는 단계를 더 포함할 수 있다.
상기 데이터 처리 방법은, 상기 사용자 단말이 상기 게임 서버로부터 상기 게임 데이터를 수신하거나 사용자 입력 데이터로부터 플레이 데이터를 생성하여 상기 게임 서버로 전송하기 위한 API(Application Program Interface)를 상기 사용자 단말에 제공하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따라 클라우드 게이밍 환경에서 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 서버에 전달하고 게임 실행 결과를 상기 사용자 단말에 스트리밍하는 클라우드 서버에서의 데이터 처리 방법은,
상기 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 클라이언트를 통해 게임 진행을 위한 플레이 데이터로 변환하여 상기 게임 서버로 전송하는 단계와; 상기 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 상기 게임 클라이언트를 통해 상기 게임 서버로부터 수신하여 스트리밍 데이터로 변환하는 단계와; 상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 단계와; 상기 게임 서버로부터 수신되는 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함할 수 있다.
상기 데이터 처리 방법은, 상기 클라우드 서버로부터 상기 게임 데이터를 수신하기 위한 API(Application Program Interface)를 상기 사용자 단말에 제공하는 단계를 더 포함할 수 있다.
상기와 같은 본 발명에 의하면, 클라우드 게이밍 환경에서도 3rd 파티 프로그램 개발이나 부가 기능 또는 편의 기능 제공을 위해 필요한 데이터를 사용자 단말이나 게임 서버에서 획득할 수 있다.
도 1은 종래에 게임 클라이언트가 설치된 사용자 단말에 게임 서비스를 제공하는 게임 시스템의 구성도이다.
도 2는 종래의 클라우드 게이밍 환경에서 사용자 단말에 게임 서비스를 제공하는 게임 시스템의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 게임 서버에서의 데이터 처리 방법을 설명하기 위한 순서도이다.
도 4는 도 3의 실시예에 따라 클라우드 게이밍 환경에서 데이터를 처리하는 시스템의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 서버에서의 데이터 처리 방법을 설명하기 위한 순서도이다.
도 6은 도 5의 실시예에 따라 클라우드 게이밍 환경에서 데이터를 처리하는 시스템의 구성도이다.
도 7은 본 발명의 다른 실시예에 따라 클라우드 게이밍 환경에서 데이터를 처리하는 시스템의 구성도이다.
도 8은 본 발명의 다른 실시예에 따른 클라우드 서버에서의 데이터 처리 방법을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...수단", "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 3은 본 발명의 일 실시예에 따른 게임 서버에서의 데이터 처리 방법을 설명하기 위한 순서도이고, 도 4는 이 실시예에 따라 클라우드 게이밍 환경에서 데이터를 처리하는 시스템의 구성도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 클라우드 게이밍 환경에서의 데이터 처리 시스템은 네트워크를 통해 서로 통신하는 사용자 단말(410), 클라우드 서버(420) 및 게임 서버(430)를 포함하여 구성된다. 네트워크는 다양한 종류의 유무선 통신망이 이용될 수 있다.
사용자 단말(410)은 사용자가 게임을 즐기는 하나 이상의 장치로서, 네트워크를 통해 연결되어 다양한 종류의 클라우드 게임 서비스를 제공 받을 수 있는 멀티미디어 재생이 가능한 컴퓨팅 장치일 수 있다. 사용자 단말(410)은 특정 장치에 한정되지 않으며, PC, 스마트폰 등의 이동 전화, IPTV 셋톱박스, 노트북 등이 될 수 있다.
클라우드 서버(420) 및 게임 서버(430)는 각각 게임 클라우드 서비스 및 게임 서비스를 제공하기 위한 컴퓨팅 장치로서, 네트워크를 통해 서로 통신하는 별도의 장치로 구현될 수 있으나, 하나의 장치로도 구현될 수 있다.
사용자 단말(410)에는 게임 클라이언트 대신 클라우드 게이밍을 지원하기 위한 클라우드 클라이언트가 설치된다. 사용자 단말(410)의 클라우드 클라이언트는, 사용자가 마우스, 키보드 및/또는 터치 스크린 등의 입력 수단을 이용하여 입력한 사용자 입력 데이터를 클라우드 서버(420)로 전송한다.
사용자 입력 데이터는 원하는 캐릭터를 선택한다거나 캐릭터를 이동시키거나 사냥 동작을 수행하도록 하는 등 게임을 조작하기 위해 사용자로부터 입력되는 모든 입력 신호를 포함할 수 있다. 사용자 단말(410)의 클라우드 클라이언트는, 클라우드 서버(420)부터 스트리밍 데이터를 수신하여 재생, 출력함으로써 사용자가 게임을 즐기도록 한다.
클라우드 서버(420)에는 게임 클라이언트(421)가 설치되며, 클라우드 서버(420)는 사용자 단말(410)로부터 사용자 입력 데이터를 수신하고, 게임 클라이언트(421)를 통해 사용자 입력 데이터를 플레이 데이터로 변환하여 게임 서버(430)로 전송한다. 플레이 데이터는 온라인 게임 내 캐릭터의 좌표나 캐릭터의 동작에 관한 정보 등을 포함할 수 있다.
게임 서버(430)는, 클라우드 서버(420)로부터 수신된 플레이 데이터를 기초로 게임을 실행하게 되며, 이 게임 실행의 결과를 포함하는 게임 데이터를 클라우드 서버(420)로 전송한다(S310, S320). 게임 데이터는 게임 실행의 결과로 게임 클라이언트(421)에게 제공하는 데이터로서, 그래픽 데이터, 사운드 데이터, 텍스트 데이터 등을 포함할 수 있다. 클라우드 서버(420)는 게임 서버로(430)부터 전송되는 게임 데이터를 AV(Audio-visual) 데이터로 변환하여 사용자 단말(410)로 스트리밍 해준다.
또한, 게임 서버(430)는, 도 4에 도시된 바와 같이 클라우드 서버(420) 뿐만 아니라 사용자 단말(410)에도 게임 데이터(400)를 추가로 전송한다(S330). 게임 서버(430)에 의해 사용자 단말(410)에 추가적으로 전달되는 게임 데이터(400)는 게임 서버(430)가 생성하는 게임 데이터 전체 또는 일부를 포함할 수 있다. 또한, 게임 서버(430)는 사용자 단말(410)로부터의 요청에 따라 게임 데이터를 선별하여 전송할 수 있다.
사용자 단말(410)은 게임 클라이언트를 포함하고 있지 않으므로, 게임 서버(430)로부터 전송되는 게임 데이터(400)를 수신하기 위한 별도의 수단을 구비하여야 한다.
이를 위해, 사용자 단말이 게임 데이터의 수신을 위한 별도의 프로그램을 설치하거나, 클라우드 클라이언트 프로그램을 통해 게임 데이터를 수신하도록 구현될 수 있다.
또한, 게임 서버(430)나 게임 서비스 제공 업체는 보다 원활한 3rd 파티 지원을 위해 게임을 직접 제어하는 API(Application Program Interface)를 사용자 단말(410)에 제공할 수 있으며, 이 경우 사용자 단말(410)은 이 API를 통해 게임 서버(430)로 원하는 게임 데이터를 요청하거나 게임 서버(430)로부터 게임 데이터를 수신할 수 있을 것이다. 예컨대, 사용자 단말(410)은 API를 이용하여 사냥이나 채집에 관련된 게임 데이터 만을 수신할 수 있다.
이와 같이 클라우드 게이밍 환경에서 사용자 단말(410)에 추가적으로 제공되는 게임 데이터(400)는 게임 서비스 이외의 부가 기능이나 편의 기능을 개발하는데 사용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 클라우드 서버에서의 데이터 처리 방법을 설명하기 위한 순서도이고, 도 6은 이 실시예에 따라 클라우드 게이밍 환경에서 데이터를 처리하는 시스템의 구성도이다.
클라우드 서버(420)는 사용자 단말(410)로부터 수신되는 사용자 입력 데이터를 게임 클라이언트(421)를 통해 게임 진행을 위한 플레이 데이터로 변환하고, 변환된 플레이 데이터를 게임 서버(430)로 전송한다(S510).
다음으로, 클라우드 서버(420)는 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를, 게임 클라이언트(421)를 통해 게임 서버(430)로부터 수신하고, 수신된 게임 데이터를 사용자 단말(410)이 재생할 수 있도록 스트리밍 데이터로 변환한다(S520).
클라우드 서버(420)는 변환된 스트리밍 데이터를 사용자 단말(410)로 전송한다(S530).
본 발명의 일 실시예에 따른 클라우드 서버(420)는 상기와 같이 사용자 단말(410) 대신 게임 클라이언트(420)를 구동함으로써 사용자 단말(410)과 게임 서버(430) 간의 게임 중계를 수행할 뿐만 아니라, 게임 서버(430)로부터 수신되는 게임 데이터(610)를 사용자 단말(410)로 전송한다. 클라우드 서버(420)는 게임 서버(430)로부터 전송되는 게임 데이터 패킷을 복제하여 사용자 단말(410)에 제공할 있다.
클라우드 서버(420)에 의해 사용자 단말(410)에 추가적으로 전달되는 게임 데이터(610)는 게임 서버(430)가 생성하여 보내주는 게임 데이터 전체가 아니라 일부만을 포함할 수도 있다. 또한, 클라우드 서버(420)는 사용자 단말(410)로부터의 요청에 따라 게임 데이터를 선별하여 전송할 수 있다.
사용자 단말(410)은 게임 클라이언트를 포함하고 있지 않으므로, 클라우드 서버(420)로부터 전송되는 게임 데이터(610)를 수신하기 위한 별도의 수단을 구비하여야 한다.
이를 위해, 클라우드 서버(420)는 사용자 단말(410)의 클라우드 클라이언트를 통해 게임 데이터(610)를 전달하거나, 사용자 단말(410)에 설치된 별도의 프로그램을 통해 게임 데이터(610)를 전송할 수 있다.
또한, 클라우드 서버(420)는 보다 원활한 3rd 파티 지원을 위해 게임을 직접 제어하는 API를 사용자 단말(410)에 제공할 수 있으며, 이 경우 사용자 단말은 이 API를 통해 클라우드 서버(420)로 게임 데이터 요청을 하거나 클라우드 서버(420)로부터 게임 데이터(610)를 수신할 수 있을 것이다.
이와 같이 클라우드 게이밍 환경에서 사용자 단말(410)에 추가적으로 제공되는 게임 데이터(610)는 게임 서비스 이외의 부가 기능이나 편의 기능을 개발하는데 사용될 수 있다.
도 7은 본 발명의 다른 실시예에 따라 클라우드 게이밍 환경에서 데이터를 처리하는 시스템의 구성도이다.
도 7을 참조하면, 클라우드 게이밍 환경에서 게임 클라이언트 없이 사용자에게 게임 서비스를 제공하는 사용자 단말(410)은, 클라우드 서버(420)로부터 수신하는 스트리밍 데이터 이외에, 게임 서버(430)로부터 게임 데이터(710)를 직접 수신하며, 사용자의 입력 데이터에 대응하는 플레이 데이터(720)를 게임 서버(430)로 전송한다.
사용자 단말(410)은 게임 클라이언트를 포함하고 있지 않으므로, 게임 서버(430)로부터 전송되는 게임 데이터(710)를 수신하고, 플레이 데이터(720)를 생성하여 게임 서버(430)로 전송하기 위한 별도의 수단을 구비할 필요가 있다.
이를 위해, 사용자 단말(410)은 별도의 프로그램을 구비하여 게임 서버(430)와의 직접 통신 및 데이터 송수신을 처리할 수 있다.
또한, 게임 서버(430)나 게임 서비스 제공 업체는 보다 원활한 3rd 파티 지원을 위해 게임을 직접 제어하는 API를 사용자 단말(410)에 제공할 수 있으며, 이 경우 사용자 단말은 이 API를 통해 게임 서버(430)로 게임 데이터 요청을 하거나 게임 서버(430)로부터 게임 데이터(710)를 수신할 수 있을 것이다. 또한, 사용자 단말(410)은 이 API를 통해 게임 실행 중 사용자에 의해 입력된 데이터를 플레이 데이터(720)로 변환한 후 게임 서버(430)로 전송할 수 있다.
이와 같이 클라우드 게이밍 환경에서 사용자 단말(410)에 추가적으로 제공되는 게임 데이터(710)는 게임 서비스 이외의 부가 기능 또는 편의 기능을 개발하는데 사용될 수 있으며, 게임 서버(430) 역시 사용자 단말(410)로부터 직접적으로 수신한 플레이 데이터(720)를 게임 서비스 이외의 추가 기능 개발, 게임 서비스 분석 등에 사용할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 클라우드 서버에서의 데이터 처리 방법을 설명하기 위한 순서도로서, 클라우드 서버(420)가 스트리밍 데이터를 전송하는 것과 별도로 게임 데이터를 사용자 단말(410)에 임의로 전달하고, 임의로 생성한 플레이 데이터를 게임 서버(430)로 전송하는 실시예에 대한 것이다.
도 8을 참조하면, 클라우드 서버(420)가 사용자 단말(410)로부터 소정의 API 호출을 인지하면, 플레이 데이터를 생성하여 게임 서버(430)로 전송한다(S810). 이때 생성되는 플레이 데이터는 게임 플레이 중 사용자 단말(410)에 입력되는 사용자 입력 신호와 무관하게 조작되어 생성되는 플레이 데이터로서, 사용자 단말(410)에서 호출하는 API의 파라미터를 기초로 생성되거나, 클라우드 서버(420) 운영자의 의도에 따라 생성될 수 있다.
클라우드 서버(420)나 클라우드 서비스 업체는 이를 위해 자체 개발한 API를 사용자 단말에 제공하고, 클라우드 서버(420)는 이 API를 통해 게임 화면 인식 프로세싱 없이 곧바로 플레이 데이터를 생성하여 게임 서버(430)로 전송할 수 있다.
클라우드 서버(420)는 상기와 같은 플레이 데이터 생성 및 해당 패킷 전송을 수행하기 위해 게임을 콘트롤할 수 있는 별도의 추가적인 프로그램을 포함할 수 있으며, 또는 클라우드 서버(420)의 게임 클라이언트 내에 주입(Injection)된 DLL(Dynamic Linking Library)을 이용해 상기 단계를 수행할 수도 있다.
다음으로, 클라우드 서버(420)는 상기에서 전송된 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 게임 클라이언트를 통해 게임 서버(430)로부터 수신하여 스트리밍 데이터로 변환한다(S820). 또한, 변환된 스트리밍 데이터를 사용자 단말(410)로 전송한다(S830).
클라우드 서버(420)는 게임 서버(430)로부터 수신되는 게임 데이터도 사용자 단말(410)로 전송한다(S840).
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
400, 610, 710: 게임 데이터
410: 사용자 단말
420: 클라우드 서버
430: 게임 서버
720: 플레이 데이터

Claims (12)

  1. 클라우드 게이밍 환경에서의 데이터 처리 시스템에 있어서,
    게임 클라이언트를 포함하고, 사용자 단말로부터 수신되는 사용자 입력 데이터를 플레이 데이터로 변환하여 상기 게임 서버로 전송하고, 상기 게임 서버로부터 게임 데이터를 수신하여 스트리밍 데이터로 변환하고, 상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 클라우드 서버와;
    상기 클라우드 서버로부터 수신된 플레이 데이터를 기초로 게임을 실행하고 실행 결과를 포함하는 게임 데이터를 상기 클라우드 서버로 전송하는 게임 서버와;
    입력 수단을 통해 수신되는 사용자 입력 데이터를 상기 클라우드 서버로 전송하고 상기 클라우드 서버로부터 상기 스트리밍 데이터를 수신하여 출력하고, 상기 게임 서버 또는 상기 클라우드 서버로부터 상기 게임 데이터를 수신하는 사용자 단말을 포함하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서,
    상기 사용자 단말은,
    상기 사용자 입력 데이터로부터 게임 진행을 위한 플레이 데이터를 생성하여 상기 게임 서버로 전송하는 것을 특징으로 하는 시스템.
  3. 제2항에 있어서,
    상기 사용자 단말은,
    상기 게임 서버 또는 상기 클라우드 서버로부터 상기 게임 데이터를 수신하거나, 상기 사용자 입력 데이터로부터 게임 진행을 위한 플레이 데이터를 생성하여 상기 게임 서버로 전송하기 위한 API(Application Program Interface)를 포함하는 것을 특징으로 하는 시스템.
  4. 클라우드 게이밍 환경에서 게임 서비스를 제공하는 게임 서버의 데이터 처리 방법에 있어서,
    클라우드 서버에 설치된 게임 클라이언트를 통해 사용자 단말의 사용자 입력 데이터로부터 생성된 플레이 데이터를, 상기 클라우드 서버로부터 수신하는 단계와;
    상기 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 상기 클라우드 서버로 전송하는 단계와;
    상기 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 사용자 단말에 의해 상기 사용자 입력 데이터로부터 생성된 플레이 데이터를, 상기 사용자 단말로부터 수신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 사용자 단말이 상기 게임 서버로부터 상기 게임 데이터를 수신하거나 사용자 입력 데이터로부터 플레이 데이터를 생성하여 상기 게임 서버로 전송하기 위한 API(Application Program Interface)를 상기 사용자 단말에 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 클라우드 게이밍 환경에서 게임 서비스를 제공하는 게임 서버의 데이터 처리 방법을 수행하기 위해 기록매체에 기록된 프로그램에 있어서, 상기 방법은,
    클라우드 서버에 포함된 게임 클라이언트를 통해 사용자 단말의 사용자 입력 데이터로부터 생성된 플레이 데이터를, 상기 클라우드 서버로부터 수신하는 단계와;
    상기 수신된 플레이 데이터에 응답하여, 상기 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 상기 클라우드 서버로 전송하는 단계와;
    상기 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 프로그램.
  8. 클라우드 게이밍 환경에서 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 서버에 전달하고 게임 실행 결과를 상기 사용자 단말에 스트리밍하는 클라우드 서버에서의 데이터 처리 방법에 있어서,
    상기 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 클라이언트를 통해 게임 진행을 위한 플레이 데이터로 변환하여 상기 게임 서버로 전송하는 단계와;
    상기 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 상기 게임 클라이언트를 통해 상기 게임 서버로부터 수신하여 스트리밍 데이터로 변환하는 단계와;
    상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 단계와;
    상기 게임 서버로부터 수신되는 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 클라우드 서버로부터 상기 게임 데이터를 수신하기 위한 API(Application Program Interface)를 상기 사용자 단말에 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 클라우드 게이밍 환경에서 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 서버에 전달하고 게임 실행 결과를 상기 사용자 단말에 스트리밍하는 클라우드 서버에서의 데이터 처리 방법을 실행하기 위해 기록매체에 기록된 컴퓨터 프로그램에 있어서, 상기 방법은,
    상기 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 클라이언트를 통해 게임 진행을 위한 플레이 데이터로 변환하여 상기 게임 서버로 전송하는 단계와;
    상기 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 상기 게임 클라이언트를 통해 상기 게임 서버로부터 수신하여 스트리밍 데이터로 변환하는 단계와;
    상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 단계와;
    상기 게임 서버로부터 수신되는 게임 데이터를 상기 사용자 단말에 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  11. 클라우드 게이밍 환경에서 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 서버에 전달하고 게임 실행 결과를 상기 사용자 단말에 스트리밍하는 클라우드 서버에서의 데이터 처리 방법에 있어서,
    상기 사용자 단말로부터 소정의 API가 호출되면 플레이 데이터를 생성하여 상기 게임 서버로 전송하는 단계와;
    상기 전송된 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 게임 클라이언트를 통해 상기 게임 서버로부터 수신하여 스트리밍 데이터로 변환하는 단계와;
    상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 단계와;
    상기 게임 서버로부터 수신되는 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 클라우드 게이밍 환경에서 사용자 단말로부터 수신되는 사용자 입력 데이터를 게임 서버에 전달하고 게임 실행 결과를 상기 사용자 단말에 스트리밍하는 클라우드 서버에서의 데이터 처리 방법을 수행하기 위해 기록매체에 기록된 컴퓨터 프로그램에 있어서, 상기 방법은,
    상기 사용자 단말로부터 소정의 API가 호출되면 플레이 데이터를 생성하여 상기 게임 서버로 전송하는 단계와;
    상기 전송된 플레이 데이터에 기초한 게임 실행 결과를 포함하는 게임 데이터를 게임 클라이언트를 통해 상기 게임 서버로부터 수신하여 스트리밍 데이터로 변환하는 단계와;
    상기 스트리밍 데이터를 상기 사용자 단말로 전송하는 단계와;
    상기 게임 서버로부터 수신되는 게임 데이터를 상기 사용자 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
KR1020150077029A 2015-06-01 2015-06-01 클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템 KR101725066B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150077029A KR101725066B1 (ko) 2015-06-01 2015-06-01 클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150077029A KR101725066B1 (ko) 2015-06-01 2015-06-01 클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20160141407A true KR20160141407A (ko) 2016-12-09
KR101725066B1 KR101725066B1 (ko) 2017-04-10

Family

ID=57574449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150077029A KR101725066B1 (ko) 2015-06-01 2015-06-01 클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101725066B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102021237B1 (ko) * 2018-05-08 2019-09-11 주식회사 투비원솔루션즈 스마트카 클라우드 서버 시스템 및 그 시스템을 이용한 사용자 단말기와 서비스 제공 서버의 연결 방법
CN111150998A (zh) * 2019-12-23 2020-05-15 杭州竟盟信息技术有限公司 Vr游戏数据共享系统及方法
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统
CN111773665A (zh) * 2020-08-05 2020-10-16 网易(杭州)网络有限公司 基于游戏平台的数据处理方法及平台、装置
KR20200123950A (ko) * 2019-04-23 2020-11-02 넷마블 주식회사 스트리밍에 기초한 게임 제공 방법 및 장치
CN112073754A (zh) * 2020-11-11 2020-12-11 深圳乐播科技有限公司 一种云游戏投屏方法、装置、计算机设备、计算机可读存储介质及云游戏投屏交互系统
CN112107852A (zh) * 2020-09-16 2020-12-22 西安万像电子科技有限公司 云游戏的控制方法及装置、云游戏控制系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110138503A (ko) * 2010-06-21 2011-12-28 에스케이플래닛 주식회사 스트리밍 방식을 이용한 게임 제공시스템 및 방법, 그 단말 및 게임서버
KR20120072904A (ko) * 2010-12-24 2012-07-04 주식회사 케이티 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110138503A (ko) * 2010-06-21 2011-12-28 에스케이플래닛 주식회사 스트리밍 방식을 이용한 게임 제공시스템 및 방법, 그 단말 및 게임서버
KR20120072904A (ko) * 2010-12-24 2012-07-04 주식회사 케이티 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102021237B1 (ko) * 2018-05-08 2019-09-11 주식회사 투비원솔루션즈 스마트카 클라우드 서버 시스템 및 그 시스템을 이용한 사용자 단말기와 서비스 제공 서버의 연결 방법
KR20200123950A (ko) * 2019-04-23 2020-11-02 넷마블 주식회사 스트리밍에 기초한 게임 제공 방법 및 장치
CN111150998A (zh) * 2019-12-23 2020-05-15 杭州竟盟信息技术有限公司 Vr游戏数据共享系统及方法
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统
CN111773665A (zh) * 2020-08-05 2020-10-16 网易(杭州)网络有限公司 基于游戏平台的数据处理方法及平台、装置
CN112107852A (zh) * 2020-09-16 2020-12-22 西安万像电子科技有限公司 云游戏的控制方法及装置、云游戏控制系统
CN112073754A (zh) * 2020-11-11 2020-12-11 深圳乐播科技有限公司 一种云游戏投屏方法、装置、计算机设备、计算机可读存储介质及云游戏投屏交互系统
CN112073754B (zh) * 2020-11-11 2021-02-05 深圳乐播科技有限公司 一种云游戏投屏方法、装置、计算机设备、计算机可读存储介质及云游戏投屏交互系统

Also Published As

Publication number Publication date
KR101725066B1 (ko) 2017-04-10

Similar Documents

Publication Publication Date Title
KR101725066B1 (ko) 클라우드 게이밍 환경에서의 데이터 처리 방법 및 시스템
CN108536461B (zh) 资源更新方法、装置、终端及存储介质
US9549152B1 (en) Application content delivery to multiple computing environments using existing video conferencing solutions
US8903897B2 (en) System and method for providing interactive content to non-native application environments
US9451043B2 (en) Remote virtualization of mobile apps
US9936335B2 (en) Mobile computing device application sharing
US20150082239A1 (en) Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
EP3203748B1 (en) Cloud streaming service system, cloud streaming service method using optimal gpu, and apparatus for same
US10262115B2 (en) Secure connected digital media platform
US11716516B2 (en) Validating parameters on discrete computing applications to grant access control to content or commands
KR20210068333A (ko) 응용 프로그램의 조작 안내 방법, 장치, 기기 및 판독 가능 저장 매체
Puder et al. Exposing native device APIs to web apps
CN112354176A (zh) 云游戏实现方法、云游戏实现装置、存储介质与电子设备
KR20140092908A (ko) 입력 맵핑 영역들
CN110134450A (zh) 一种视频重定向方法,装置和计算机可读存储介质
US20150066513A1 (en) Mechanism for performing speech-based commands in a system for remote content delivery
KR101744684B1 (ko) 클라우드 게임 서비스 제공 장치 및 방법
KR20180125097A (ko) 클라우드 기반 하이브리드 스마트 tv를 제공하는 장치 및 방법
CN115040866A (zh) 云游戏图像处理方法、装置、设备及计算机可读存储介质
KR20120079622A (ko) 게임 서비스 시스템 및 그의 게임 실행 방법
US11949564B2 (en) Virtual gaming environment
KR102399661B1 (ko) 원격 접속을 위한 장치 및 방법
KR102369525B1 (ko) 원격 접속을 위한 장치, 시스템 및 방법
Sayyad et al. Mirroring of Source and Sink Devices in Android Screen Casting
KR20230135333A (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: 20200206

Year of fee payment: 4