[go: up one dir, main page]

KR101816854B1 - Game service platform and method for providing game service thereof - Google Patents

Game service platform and method for providing game service thereof Download PDF

Info

Publication number
KR101816854B1
KR101816854B1 KR1020110079561A KR20110079561A KR101816854B1 KR 101816854 B1 KR101816854 B1 KR 101816854B1 KR 1020110079561 A KR1020110079561 A KR 1020110079561A KR 20110079561 A KR20110079561 A KR 20110079561A KR 101816854 B1 KR101816854 B1 KR 101816854B1
Authority
KR
South Korea
Prior art keywords
game
service
server
platform
user
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020110079561A
Other languages
Korean (ko)
Other versions
KR20130017245A (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 KR1020110079561A priority Critical patent/KR101816854B1/en
Priority to JP2012176494A priority patent/JP2013037696A/en
Publication of KR20130017245A publication Critical patent/KR20130017245A/en
Application granted granted Critical
Publication of KR101816854B1 publication Critical patent/KR101816854B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

게임 서비스 플랫폼 및 상기 플랫폼을 사용한 서비스 제공 방법이 개시된다. 플랫폼은 게임 서비스에 필요한 서비스 컴포넌트를 전산 자원으로서 추상화할 수 있다. 게임 서비스 플랫폼은 추상화된 전산 자원을 사용자에게 클라우드 서비스로서 제공할 수 있다. 또한, 게임 서비스 플랫폼은 전산 자원의 사용에 대한 과금을 처리할 수 있다.A game service platform and a service providing method using the platform are disclosed. The platform can abstract the service components required for the game service as a computational resource. The game service platform can provide abstracted computer resources as a cloud service to users. In addition, the game service platform can handle billing for the use of computational resources.

Figure R1020110079561
Figure R1020110079561

Description

게임 서비스 플랫폼 및 이를 이용한 게임 서비스 제공 방법{GAME SERVICE PLATFORM AND METHOD FOR PROVIDING GAME SERVICE THEREOF} TECHNICAL FIELD [0001] The present invention relates to a game service platform and a game service providing method using the same,

아래의 실시예들은 게임 서비스 플랫폼에 관한 것이다.The following embodiments relate to a game service platform.

추상화된 전산 자원을 제공하는 게임 서비스 플랫폼 및 이를 이용한 게임 서비스 제공 방법이 개시된다.A game service platform providing abstracted computer resources and a game service providing method using the same.

온라인 게임은 컴퓨터 네트워크 상에서 플레이(play)되는 게임이다.An online game is a game that is played on a computer network.

예컨대, 스마트폰(smartphone) 등의 휴대(mobile) 단말(terminal) 상에서 실행되는 앱(App)과 같이, 새롭고 다양한 온라인 게임들이 서비스되고 있다.For example, new and various online games, such as an app running on a mobile terminal such as a smartphone, are being serviced.

온라인 게임을 위해 사용되는 기술은 점점 복잡해지고, 기술적 또는 심미적으로 요구되는 사항 또한 점점 높아진다. 따라서, 온라인 게임의 제작사는 모든 기술 역량을 투입해야만 시장에서 호응 받을 수 있는 온라인 게임을 제공할 수 있다.The technology used for online games is becoming increasingly complex, and technical and aesthetic requirements are also increasingly high. Therefore, the manufacturer of the online game can only provide online games that can receive a response in the market by inputting all the technical capabilities.

일반적으로, 온라인 게임의 클라이언트(client)가 필요로 하는 전산 자원(resource)은 서버(server) 플랫폼(platform)에 의해 제공된다.Generally, the resources required by a client of an online game are provided by a server platform.

상이한 주체들에 의해 개발된 다양한 기존의 플랫폼들은 일관된 형태를 갖고 있지 않을 수 있으며, 통일되지 않은 다양한 사용성을 가질 수 있다.Various existing platforms developed by different entities may not have a consistent form and may have various unusual usability.

이러한 비일관적인 형태 및 다양한 사용성에 의해, 여러 플랫폼들을 사용하는 온라인 게임 서비스를 개발(develop)할 때 요구되는 개발의 복잡도가 높아질 수 있다.This inconsistent form and various usability can increase the complexity of development required when developing an online game service using multiple platforms.

따라서, 서비스로서의 인프라 제공(Infrastructure as a Service; IAAS) 및 서비스로서의 플렛폼 제공(Platform as a Service; PaaS)이 구현되어야 할 필요가 있다.Therefore, there is a need to implement an infrastructure as a service (IAAS) as a service and a platform as a service (PaaS) as a service.

본 발명의 일 실시예는 온라인 게임의 서버 개발 및 온라인 게임의 서비스를 위한 플랫폼 및 상기 플랫폼을 사용한 게임 서비스를 제공할 수 있다.One embodiment of the present invention can provide a platform for server development of online games, a service for online games, and a game service using the platform.

본 발명의 일 실시예는 서비스 컴포넌트를 추상화 함으로써 전산 자원을 사용자에게 제공하는 플랫폼 및 방법을 제공할 수 있다.One embodiment of the present invention can provide a platform and a method for providing computational resources to a user by abstracting a service component.

본 발명의 일 측에 따르면, 게임에 대한 서비스를 제공받기 위한 사용자의 접근을 처리하는 서비스 버스, 상기 서비스 버스를 통해 수신된 상기 게임의 데이터를 저장하는 저장소 서버 및 상기 게임이 사용하는 추상화된 전산 자원을 하나 이상의 게임 서버들에게 배포 및 할당하는 자원 제어기를 포함하는, 게임 서비스 플랫폼이 제공된다.According to an aspect of the present invention, there is provided a game system comprising a service bus for processing a user's access to receive a service for a game, a storage server for storing data of the game received via the service bus, A resource controller for distributing and allocating resources to one or more game servers.

상기 자원 제어기는 부하 분산 정책에 기반하여 상기 하나 이상의 게임 서버들 중 상기 게임을 배포할 상기 게임 서버를 선택할 수 있다.The resource controller may select the game server to distribute the game among the one or more game servers based on the load balancing policy.

상기 서비스 버스는 상기 게임 서비스 플랫폼에 의해 제공되는 백-앤드 서비스들에 대한 위치 투명성을 상기 사용자에게 제공할 수 있다.The service bus may provide location transparency to the user for back-end services provided by the game service platform.

상기 게임 서비스 플랫폼은, 상기 하나 이상의 게임 서버들 간의 메시지 송수신 및 데이터 교환을 제공하는 글로벌 큐 서버를 더 포함할 수 있다.The game service platform may further include a global queue server that provides message transmission / reception and data exchange between the one or more game servers.

상기 게임 서비스 플랫폼은, 상기 하나 이상의 게임 서버들 간에 사용되는 공유 데이터에 대한 동기화를 제공하는 글로럴 락 서버를 더 포함할 수 있다.The game service platform may further include a global lock server that provides synchronization for shared data used between the one or more game servers.

상기 게임 서비스 플랫폼은, 상기 사용자가 사용한 상기 전산 자원의 양을 측정하고 상기 사용한 전산 자원의 양에 따른 과금을 결정하는 과금 서버를 더 포함할 수 있다.The game service platform may further include a charging server for measuring the amount of the computer resources used by the user and for determining the charging based on the amount of the computer resources used.

상기 게임 서비스 플랫폼은, 상기 사용자에게 상기 게임 서비스 플랫폼 상의 디버깅 및 테스트를 제공하는 테스트 서버를 더 포함할 수 있다.The game service platform may further include a test server that provides the user with debugging and testing on the game service platform.

본 발명의 다른 일 측에 따르면, 사용자 접속을 처리하는 서비스 버스가 게임의 데이터를 수신하는 단계, 저장소 서버가 상기 수신된 게임의 데이터를 저장하는 단계, 상기 서비스 버스가 상기 게임의 서비스 시작 요청을 수신하는 단계, 자원 제어기가 상기 게임을 게임 서비스 자원으로서 게임 서버로 배포하는 단계 및 상기 서비스 버스가 상기 게임을 게임 서비스로서 제공하는 단계를 포함하는, 게임 서비스 제공 방법이 제공된다.According to another aspect of the present invention, there is provided a method for controlling a game in which a service bus for processing a user connection receives data of a game, a storage server stores data of the received game, The method comprising the steps of: receiving, by a resource controller, distributing the game as a game service resource to a game server; and providing the game as a game service.

상기 게임 서버는 하나 이상의 게임 서버들일 수 있다.The game server may be one or more game servers.

상기 게임 서비스 제공 방법은, 상기 자원 제어기가 상기 게임의 게임 로직을 하나 이상의 서비스 컴포넌트들과 연동하는 단계를 더 포함할 수 있다.The game service providing method may further include the step of the resource controller interlocking the game logic of the game with one or more service components.

상기 서비스 컴포넌트는 게임 도메인 기반 컴포넌트 및 게임 플렛폼 기반 컴포넌트 중 하나 이상을 포함하는, 게임 서비스 제공 방법.Wherein the service component comprises at least one of a game domain based component and a game platform based component.

본 발명의 또 다른 일 측에 따르면, 서비스 버스가 사용자 및 게임 서비스 간의 연결을 설정하는 단계, 상기 서비스 버스가 상기 연결을 통해 상기 사용자에게 전산 자원을 제공하는 단계 및 과금 서버가 상기 사용자가 사용한 상기 전산 자원의 양을 측정하고 상기 사용한 전산 자원의 양에 따른 과금을 결정하는 단계를 포함하는, 게임 서비스 제공 방법이 제공된다.According to another aspect of the present invention, there is provided a method for controlling a service bus, the method comprising the steps of: establishing a connection between a user and a game service; providing a computer resource to the user via the connection; Measuring the amount of computer resources and determining a charge based on the amount of computer resources used.

상기 전산 자원을 제공하는 단계는, 상기 서비스 버스가 상기 사용자에게 상기 게임 서비스와 관련된 데이터의 독출 및 기입을 제공하는 단계를 포함할 수 있다.The step of providing the computational resources may include the step of the service bus providing the user with reading and writing of data related to the game service.

온라인 게임의 서버 개발 및 온라인 게임의 서비스를 위한 플랫폼이 제공된다.A platform for server development of online games and services of online games is provided.

상기의 플랫폼은 온라인 게임 서비스에 필요한 추상화된 전산 자원을 사용자에게 제공할 수 있다.The platform may provide the user with the abstracted computational resources required for the online game service.

상기의 플랫폼은 전산 자원의 사용량에 따라 사용자에게 과금할 수 있다.The above-mentioned platform can charge the user according to the usage amount of computer resources.

도 1은 본 발명의 일 실시예에 따른 게임 서비스 플랫폼(100)을 설명한다.
도 2는 본 발명의 일 실시예에 따른 게임 서비스 플랫폼(100)의 구조도이다.
도 3은 본 발명의 일 실시예에 따른 게임 서비스 제공 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 서비스 컴포넌트(120) 제공 방법의 흐름도이다.
FIG. 1 illustrates a game service platform 100 according to an embodiment of the present invention.
2 is a structural diagram of a game service platform 100 according to an embodiment of the present invention.
3 is a flowchart of a method of providing a game service according to an embodiment of the present invention.
4 is a flow diagram of a method for providing a service component 120 in accordance with an embodiment of the present invention.

이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

도 1은 본 발명의 일 실시예에 따른 게임 서비스 플랫폼(100)을 설명한다.FIG. 1 illustrates a game service platform 100 according to an embodiment of the present invention.

게임 서비스 플랫폼(100)(이하, 플랫폼(100)으로 약술한다.)은, 온라인 게임의 서버를 개발하기 위해 사용될 수 있으며, 온라인 게임 서비스를 제공하기 위해 사용될 수 있다.The game service platform 100 (hereinafter referred to as the platform 100) can be used for developing a server of an online game and can be used for providing an online game service.

온라인 게임 서비스는 1) 온라인 게임을 만들 경우에 필요한 서비스(또는, 서버의 기능)를 의미할 수 있으며, 2) 온라인 게임을 플레이할 경우에 필요한 서비스(또는, 서버의 기능)를 의미할 수 있다.The online game service may mean 1) a service (or a server function) necessary when making an online game, and 2) a service (or a server function) required when playing an online game .

온라인 게임을 만들 경우에 요구되는 서버의 기능으로서, 플랫폼(100)은 대규모 사용자 접속 처리, 사용자 랭킹, 사용자들 간의 매치 메이킹, 사용자들 간의 채팅, 사용자들로 구성된 그룹(예컨대, 길드(guild) 또는 파티(party)), 게임 내의 방(room) 및 게임 내의 로비(lobby) 등이 플랫폼(100)에 의해 제공될 수 있다.As a function of a server required when creating an online game, the platform 100 may be a group of large user access processing, user ranking, matchmaking between users, chatting between users, groups of users (e.g., A room in a game, a lobby in a game, and the like may be provided by the platform 100.

즉, 게임 제작사(또는, 게임 제작자)가 특정한 게임을 네트워크를 통해 서비스하고자 할 때, 게임 제작사가 온라인 게임을 제공하기 위한 모든 서비스(예컨데, 전술된 온라인 게임을 만들 경우에 요구되는 서버의 기능)를 직접 제작한다면, 시간 및 비용 등의 측면에 있어서 과도한 자원이 투입될 수 있다. In other words, when a game maker (or a game maker) wants to provide a specific game through a network, the game maker can provide all the services for providing an online game (e.g., a server function required when the above- , It is possible to put excessive resources in terms of time and cost.

또는, 게임 제작사의 역량에 따라 이러한 모든 서비스를 직접 제작하는 것이 불가능 또는 부적당할 수 있다.Or it may be impossible or inadequate to produce all these services directly, depending on the capabilities of the game publisher.

또한, 서비스가 제작된 경우에도, 게임 제작사가 이러한 서비스를 직접 제공하는 것이 관리 또는 비용 등의 측면에서 불합리할 수 있다.In addition, even when a service is produced, it may be unreasonable for a game production company to provide such a service directly in terms of management or cost.

따라서, 게임 제작사는 자신의 온라인 게임에 요구되는 서비스의 전부 또는 일부를 플랫폼(100)을 사용함으로써 제공할 수 있다. 게임 유저 등은 플랫폼(100)의 프론트-앤드(front-end)를 통한 직접적인 방법, 또는 게임 제작사의 포털(portal) 등을 경유한 간접적인 방법으로 플랫폼(100)을 통해 제공되는 온라인 게임 서비스를 사용할 수 있다.Accordingly, the game maker can provide all or a part of the service required for the online game by using the platform 100. [ A game user may use an online game service provided through the platform 100 by a direct method through a front-end of the platform 100 or indirectly via a portal of a game maker Can be used.

플랫폼(100)은, 운영 체제(operating system)과 유사하게, 인터넷(internet) 범위에서 전산 자원(110) 및 하드웨어(hardware)를 관리할 수 있다.The platform 100 may manage computational resources 110 and hardware in the Internet range, similar to an operating system.

여기서, '인터넷 범위의 관리'는 네트워크로 연결된 전산 자원(110) 및 하드웨어를 관리할 수 있음을 의미한다.Here, 'management of the Internet range' means that it is possible to manage the hardware resources 110 and the hardware connected to the network.

또한, 전산 자원(110)은 온라인 게임 서비스를 제공하는데 필요한 서비스 기능들이 자원으로서 추상화된 것을 의미할 수 있다. 예컨대, 전산 자원(110)은 게임 서비스를 위한 인프라(infra), 소프트웨어(software) 및 네트워크(network)를 포함할 수 있다.In addition, the computerized resource 110 may mean that the service functions necessary for providing the online game service are abstracted as resources. For example, the computing resource 110 may include infra, software, and network for game services.

또한, '하드웨어 관리'는 플랫폼(100) 내의 서버들 및 네트워크 대역폭(bandwidth)와 같은 하드웨어를 관리함을 의미할 수 있다.Also, 'hardware management' may mean managing hardware such as servers in the platform 100 and network bandwidth.

하기에서, 플랫폼(100)에 의한 전산 자원(110)의 관리에 대해 설명한다.Management of the computational resources 110 by the platform 100 will be described below.

플랫폼(100)은 온라인 게임 서비스를 제공하는데 필요한 전산 자원(110)을 정의 및 관리할 수 있으며, 상기의 전산 자원(110)을 추상화하여 추상화된 전산 자원(110)을 사용자에게 필요한 만큼 제공할 수 있다.The platform 100 can define and manage the computational resources 110 required to provide the online game service and can abstract the computational resources 110 to provide the abstracted computational resources 110 as needed to the user have.

여기서, 사용자는 게임 제작사, 게임 제작자, 게임 유저, 게임 유저의 컴퓨터 및 게임 유저의 휴대 단말 중 하나 이상을 의미할 수 있다. 즉, 사용자는 온라인 게임 서비스를 제공받는 임의의 주체를 의미할 수 있다.Here, the user may refer to one or more of game producers, game producers, game users, computer users of game users, and mobile terminals of game users. That is, the user may refer to any subject who is provided with the online game service.

전산 자원(110)을 제공하기 위해, 플랫폼(100)은 게임 서비스 제공을 위해 사용되는 서비스 컴포넌트(120)(component)들을 추상화할 수 있다.In order to provide computational resources 110, the platform 100 may abstract service components 120 that are used for providing game services.

서비스 컴포넌트(120)는 게임 서비스를 위해 요구되는 기능들을 제공하기 위해 설계된 컴포넌트들을 의미할 수 있다. 서비스 컴포넌트(120)는 특정한 서비스를 제공하는 서버일 수 있다.The service component 120 may refer to components designed to provide the functions required for the game service. The service component 120 may be a server that provides a specific service.

예컨대, 서비스 컴포넌트(120)는 도 2를 참조하여 후술될 서비스 버스(service bus)(210), 저장소 서버(storage server)(220), 자원 제어기(resource controller)(230), 글로벌 큐 서버(global queue server)(240), 글로벌 락 서버(global lock server)(250), 과금 서버(account/billing server)(260), 테스트 서버(test server)(270) 및 게임 서버(game server)(280) 등을 포함할 수 있다.For example, the service component 120 may include a service bus 210, a storage server 220, a resource controller 230, a global queue server a global lock server 250, an account / billing server 260, a test server 270 and a game server 280. The server 260 may be a server, And the like.

서비스 컴포넌트(120)는 락 서버(lock server), 스케쥴링(scheduling) 서버, 큐(queue) 서버 등을 포함할 수 있으며, 다양한 클라이언트 환경들을 위한 프론트-앤드 서버를 포함할 수 있다.The service component 120 may include a lock server, a scheduling server, a queue server, and the like, and may include a front-end server for various client environments.

서비스 컴포넌트(120)는 게임 도메인(domain)에 따라 구분될 수 있다. 예컨대, 1인칭 슈팅 게임(First-Person Shooter; FPS), 대규모 다중 사용자 온라인 롤 플레잉 게임(Massive Multiplayer Online Role Playing Game; MMORPG) 등과 같이, 게임의 타입(또는, 장르)에 따라 게임 서비스를 위해 요구되는 기능이 서로 상이할 수 있기 때문이다.The service component 120 may be classified according to a game domain. (Or a genre), such as a first-person shooter (FPS), a massive multi-player online role playing game (MMORPG) And the functions of the second embodiment may be different from each other.

서비스 컴포넌트(120)는 게임 플랫폼에 기반하여 구분될 수 있다. 예컨대, 1) 게임 서비스를 위해 공통적으로 필요한 기능을 제공하는 서비스 컴포넌트(120)(예컨대, 서비스 버스(210) 및 자원 제어기(230)), 2) 게임 데이터를 저장하기 위해 필요한 기능을 제공하는 서비스 컴포넌트(120)(예컨대, 저장소 서버(220)) 및 3) 네트워크 서비스를 위해 필요한 기능(예컨대, 글로벌 큐 서버(240) 및 글로벌 락 서버(250)) 등을 제공하는 서비스 컴포넌트(120) 등이 있을 수 있다.The service component 120 may be distinguished based on the game platform. (For example, a service bus 210 and a resource controller 230) that provide common functions necessary for a game service, 2) a service that provides functions necessary for storing game data, A service component 120 that provides components 120 (e.g., repository server 220) and 3) functions necessary for network services (e.g., global queue server 240 and global lock server 250) Can be.

즉, 서비스 컴포넌트(120)는 게임 도메인 기반 컴포넌트 및 게임 플랫폼 기반 컴포넌트 중 하나 이상을 포함할 수 있다.That is, the service component 120 may include one or more of a game domain based component and a game platform based component.

플랫폼(100)에 의해 제공되는 전산 자원(110)은, 하위 개념으로서, 게임 서비스 자원을 포함할 수 있다.The computational resources 110 provided by the platform 100 may, as a sub-concept, include game service resources.

게임 서비스 자원은, 그 하위 개념으로서, 게임 도메인(domain) 자원을 포함할 수 있다.The game service resource, as a sub-concept thereof, may include a game domain resource.

게임 도메인 자원은 게임 서비스 자원(또는, 전산 자원(110)) 중 특정한 종류의 게임에 특화된 자원을 의미할 수 있다. 즉, 게임 서비스 자원 중 다양한 게임에 각각 특화된 상이한 게임 도메인 자원들이 있을 수 있다. 또한, 게임 도메인 자원은 게임 도메인 컴포넌트가 자원으로서 추상화된 것을 의미할 수 있다.A game domain resource may refer to a game-specific resource of a particular type of game service resource (or computational resource 110). That is, there may be different game domain resources that are specific to various games among the game service resources. Also, the game domain resource may mean that the game domain component is abstracted as a resource.

게임 도메인 자원은 게임 플레이(play), 채널(channel), 방, 로비, 랭킹(ranking), 매치 메이킹(match making), 채팅 및 게임 로직(logic) 등을 포함할 수 있다.The game domain resources may include game play, channel, room, lobby, ranking, match making, chat, and game logic.

플랫폼(100)은 게임 도메인 자원을 사용자 요구에 따라 제공할 수 있다.The platform 100 may provide game domain resources according to a user's request.

게임 서비스 자원은, 그 하위 개념으로서, 게임 플랫폼 자원을 포함할 수 있다.The game service resource, as its sub-concept, may include game platform resources.

게임 서비스 자원은 게임 서비스 컴포넌트(120)가 자원으로서 추상화된 것을 의미할 수 있다. 예컨대, 게임 서비스 자원은 1) 저장소 서버(220)를 통해 제공되는 저장소 서비스, 2) 서비스 버스(210)에 의해 제공되는 프론트-앤드 서비스, 3) 글로벌 큐 서버(240)에 의해 제공되는 큐 서비스 및 4) 글로벌 락 서버(250)에 의해 제공되는 락 서비스 등을 포함할 수 있다.The game service resource may mean that the game service component 120 is abstracted as a resource. For example, the game service resources may include 1) a repository service provided via the repository server 220, 2) a front-end service provided by the service bus 210, 3) a queue service provided by the global queue server 240, And 4) a lock service provided by the global lock server 250 and the like.

또한, 플랫폼(100)은 전산 자원(110)의 사용양에 따라 사용자에게 과금할 수 있다. In addition, the platform 100 can charge the user according to the usage amount of the computer resources 110. [

플랫폼(100)은 다수의 분산 서버들을 사용하는 분산 서버 플랫폼일 수 있다. 이러한 분산 서버 플랫폼은 플랫폼(100)이 다수의 사용자들에게 대용량의 서비스를 제공할 수 있게 한다.The platform 100 may be a distributed server platform using a plurality of distributed servers. This distributed server platform enables the platform 100 to provide a large amount of service to a large number of users.

상기의 분산 서버들을 사용함으로써, 플랫폼(100)은 사용자에게 클라우드(cloud) 서비스를 제공할 수 있다.By using the above distributed servers, the platform 100 can provide a cloud service to the user.

상기의 클라우드 서비스는, 서비스 제공자의 측면에서, 다수의 사용자들 각각이 추상화된 전산 자원(110)을 필요로 하는 만큼 언제 어디서나 사용할 수 있게 함을 의미할 수 있다.The cloud service may mean that, in terms of the service provider, each of a plurality of users can use the abstracted computational resource 110 as long as it is needed.

또한, 상기의 클라우드 서비스는, 서비스 사용자의 측면에서, 다수의 사용자들이 관내(On-Premise)에 필요한 전산 자원(110)들을 미리 준비하지 않은 채, 상기의 전산 자원들을 네트워크를 이용하여 필요한 만큼 사용할 수 있게 하며, 사용한 전산 자원의 양 만큼 비용을 지불할 수 있게 함을 의미할 수 있다.In addition, in the service user's viewpoint, the cloud service does not prepare the computational resources 110 required for on-premise by a large number of users, and uses the computational resources as much as necessary using the network And to pay for the amount of computing resources used.

플랫폼(100)에 의해, 분산되어 있던 다양한 게임 플랫폼들이 클라우드(cloud) 형태로 통합됨으로써 온라인 게임 서비스에 있어서의 개발의 복잡도가 감소될 수 있다.The complexity of development in an online game service can be reduced by integrating various distributed game platforms in a cloud form by the platform 100.

또한, 게임 개발사는 게임의 개발에서부터 퍼블리싱(publishing)까지 단일한 플랫폼(100)을 사용함에 따른 일관성이 이어지는 효과를 획득할 수 있다.
In addition, the game developer can obtain a consistent effect by using a single platform (100) from the development of the game to the publishing.

도 2는 본 발명의 일 실시예에 따른 게임 서비스 플랫폼(100)의 구조도이다.2 is a structural diagram of a game service platform 100 according to an embodiment of the present invention.

게임 서비스 플랫폼(100)은 서비스 버스(210), 저장소 서버(220), 자원 제어기(230), 글로벌 큐 서버(240), 글로벌 락 서버(250), 과금 서버(260), 테스트 서버(270) 및 하나 이상의 게임 서버들(280)을 포함할 수 있다.The game service platform 100 includes a service bus 210, a storage server 220, a resource controller 230, a global queue server 240, a global lock server 250, a billing server 260, a test server 270, And one or more game servers 280.

서비스 버스(210)는 게임에 대한 서비스를 제공받기 위한 사용자의 접근을 처리할 수 있다.The service bus 210 may process a user's access to receive a service for the game.

즉, 서비스 버스(210)는 사용자 접속을 처리하는 프론트-앤드 서비스를 제공할 수 있다.That is, the service bus 210 may provide a front-end service for handling user connections.

프론트-앤드 서비스의 일 예로서, 서비스 버스(210)는 게임의 데이터를 수신할 수 있다. 예컨대, 게임 제작자는 개발자 포탈 사이트(site)를 이용하여 게임의 데이터를 업로드할 수 있으며, 상기의 업로드 과정 중 서비스 버스(210)는 게임의 데이터를 수신할 수 있다.As an example of the front-end service, the service bus 210 may receive data of the game. For example, a game maker can upload data of a game using a developer portal site, and the service bus 210 can receive data of the game during the uploading process.

또한, 서비스 버스(210)는 사용자로부터 게임의 서비스 시작 요청을 수신할 수 있다. 서비스 버스(210)는 사용자 및 게임 서비스 간의 연결을 설정할 수 있고, 설정된 연결을 통해 사용자에게 전산 자원(110)을 제공할 수 있다.In addition, the service bus 210 can receive a service start request of the game from the user. The service bus 210 may establish a connection between the user and the game service, and may provide the computer resource 110 to the user through the established connection.

서비스 버스(210)는 사용자에게 플랫폼(100)에 의해 제공되는 백-앤드(back-end) 서비스들에 대한 위치 투명성을 제공할 수 있다.The service bus 210 may provide location transparency to the back-end services provided by the platform 100 to the user.

상기의 백-앤드 서비스들은 후술될 저장소 서버(220), 자원 제어기(230), 글로벌 큐 서버 (240), 글로벌 락 서버(250), 과금 서버(260), 테스트 서버(270) 및 하나 이상의 게임 서버들(280) 등에 의해 제공되는 서비스들 중 하나 이상의 서비스들을 의미할 수 있다.The above-described back-end services include a storage server 220, a resource controller 230, a global queue server 240, a global lock server 250, a billing server 260, a test server 270, Services 280 may be one or more of the services provided by the servers 280 and the like.

또한, 서비스 버스(210)는 게임 플레이를 게임 서비스로서 사용자에게 제공할 수 있다.In addition, the service bus 210 can provide game play to the user as a game service.

저장소 서버(220)는 게임을 위한 데이터 저장 서비스를 제공한다.The storage server 220 provides a data storage service for a game.

저장소 서버(220)는 게임을 위한 데이터를 저장할 수 있다.The storage server 220 may store data for the game.

예컨대, 저장소 서버(220)는 서비스 버스(210)에 의해 수신된(즉, 서비스 버스(210)를 통해 업로드(upload)된) 게임의 데이터를 저장할 수 있다.For example, the storage server 220 may store data of a game received by the service bus 210 (i.e., uploaded via the service bus 210).

저장소 서버(220)는 관계형 데이터베이스 관리 시스템(Relational DataBase Management System; RDBMS)을 제공할 수 있다. 또한, 저장소 서버(220)는, 게임에 적합한, 문서(document)에 기반한 NoSQL 저장소를 제공할 수 있다.The storage server 220 may provide a relational database management system (RDBMS). In addition, the repository server 220 can provide a NoSQL repository based on a document suitable for a game.

NoSQL 저장소는 기존의 관계형 데이터베이스 형태가 아닌, 대용량 데이터를 저장하기 위해 특화된 저장소를 의미할 수 있다..A NoSQL repository can represent a repository specialized for storing large amounts of data, rather than an existing relational database.

자원 제어기(230)는 게임이 사용하는 추상화된 전산 자원(110)을 하나 이상의 게임 서버들(280) 중 특정한 게임 서버들에게 배포 및 할당할 수 있다. 즉, 사용자가 플랫폼(100)으로 게임을 업로드하면, 자원 제어기(230)는 업로드된 게임에게 자동으로 하나 이상의 게임 서버들(280) 중 특정한 게임 서버를 할당하고, 게임을 서비스할 수 있다.The resource controller 230 may distribute and allocate the abstracted computational resources 110 used by the game to specific ones of the one or more game servers 280. [ That is, when the user uploads the game to the platform 100, the resource controller 230 can automatically assign a specific game server among the one or more game servers 280 to the uploaded game, and can serve the game.

예컨대, 자원 제어기(230)는 저장소 서버(220) 내에 저장된 게임을 게임 서비스 자원으로서 하나 이상의 게임 서버들(280) 중 특정한 게임 서버로 배포할 수 있다.For example, the resource controller 230 may distribute a game stored in the storage server 220 as a game service resource to a specific one of the one or more game servers 280.

하나 이상의 게임 서버들(280)은 클라우드 플랫폼의 분산(distributed) 서버들일 수 있다. 즉, 하나 이상의 게임 서버들(280)은 플랫폼(100)에 의해 제공되는 클라우드 서비스의 인프라(infra) 장비를 의미할 수 있다.The one or more game servers 280 may be distributed servers of the cloud platform. That is, one or more game servers 280 may refer to the infrastructure services of the cloud service provided by the platform 100.

자원 제어기(230)는 부하 분산 정책에 기반하여 하나 이상의 게임 서버들(280) 중 게임을 배포할 게임 서버를 선택할 수 있다.The resource controller 230 may select a game server from among the one or more game servers 280 to distribute the game based on the load balancing policy.

자원 제어기(230)는 게임의 게임 로직을 하나 이상의 서비스 컴포넌트(120)들과 연동할 수 있다. 따라서, 자원 제어기(230)에 의해 하나 이상의 서비스 컴포넌트(120)들과 연동된 게임 서비스가 제공될 수 있다.The resource controller 230 may interface the game logic of the game with one or more service components 120. Accordingly, a game service interworking with one or more service components 120 by the resource controller 230 may be provided.

글로벌 큐 서버(240)는 하나 이상의 게임 서버들(280) 간의 메시지 송수신 및 데이터 교환을 제공할 수 있다. 예컨대, 글로벌 큐 서버(240)는 하나 이상의 게임 서버들(280) 간의 메시지 송수신 및 데이터 교환을 위해 사용되는 대기 열을 제공할 수 있다.The global queue server 240 may provide message exchange between the one or more game servers 280 and data exchange. For example, the global queue server 240 may provide a queue used for sending and receiving messages and exchanging data between one or more game servers 280.

글로벌 락 서버(250)는 하나 이상의 게임 서버들(280) 간에 사용되는 공유 데이터에 대한 동기화를 제공할 수 있다.Global lock server 250 may provide synchronization for shared data used between one or more game servers 280. [

네트워크 상에 분산 되어 있는 하나 이상의 게임 서버들(280)이 데이터를 공유할 때, 하나 이상의 게임 서버들(280)이 공유 데이터를 독출 및 기입하는 과정에서 데이터의 무결성(integrity)이 손상될 수 있다. 글로벌 락 서버(250)는 하나 이상의 게임 서버들(280)에게 공유 데이터를 동기화 하여 접근하는 방법을 제공할 수 있다.When one or more game servers 280 distributed on the network share data, the integrity of the data may be compromised in the process of one or more game servers 280 reading and writing the shared data . The global lock server 250 may provide a method of synchronizing and accessing the shared data to one or more game servers 280. [

과금 서버(260)는 사용자가 자원 제어기(230)를 통해 사용한 전산 자원(110)의 양을 측정할 수 있으며, 사용한 전산 자원의 양에 따라 사용자에 대한 과금을 결정할 수 있다.The billing server 260 can measure the amount of the computation resources 110 that the user has used through the resource controller 230 and can determine the billing for the user according to the amount of computation resources used.

또한, 과금 서버(260)는 사용자 인증 기능을 제공할 수 있다.Also, the charging server 260 may provide a user authentication function.

테스트 서버(270)는 사용자에게 플랫폼(100) 상의 디버깅(debugging) 및 테스트를 제공할 수 있다.The test server 270 may provide the user with debugging and testing on the platform 100.

또한, 테스트 서버(270)는 사용자가 사용하는 전산 자원(110)에 장애가 발생했을 경우, 문제에 대한 진단 기능을 제공할 수 있다.
In addition, the test server 270 may provide a diagnostic function for a problem when a failure occurs in the computer resource 110 used by the user.

도 3은 본 발명의 일 실시예에 따른 게임 서비스 제공 방법의 흐름도이다.3 is a flowchart of a method of providing a game service according to an embodiment of the present invention.

하기의 단계들(310 내지 360)은, 게임 제작자가 작성된 게임을 플랫폼(100)에 업로드하여, 게임 서비스를 제공하는 시나리오에 대응할 수 있다.The following steps 310 to 360 may correspond to a scenario in which a game creator uploads the created game to the platform 100 and provides a game service.

게임 제작자는 개발자 포탈 사이트를 이용해 게임의 데이터를 플랫폼(100)으로 업로드할 수 있다.The game creator can upload data of the game to the platform 100 using the developer portal site.

단계(310)에서, 사용자 접속을 처리하는 서비스 버스(210)가 게임의 데이터를 수신한다.In step 310, a service bus 210, which handles user connections, receives data of the game.

단계(320)에서, 저장소 서버(220)가 수신된 게임의 데이터를 저장한다.In step 320, the storage server 220 stores the data of the received game.

다음으로, 게임 제작자는 개발자 포탈을 통해 플랫폼(100)에게 게임 서비스를 시작할 것을 요청할 수 있다.Next, the game creator can request the platform 100 to start the game service through the developer portal.

상기의 요청에 따라, 단계(330)에서, 서비스 버스(210)가 게임의 서비스 시작 요청을 수신한다.According to the request, in step 330, the service bus 210 receives a service start request of the game.

단계(340)에서, 자원 제어기(230)는 게임을 게임 서비스 자원(또는, 게임 도메인 자원)으로서 하나 이상의 게임 서버들(280)로 배포한다.At step 340, the resource controller 230 distributes the game to one or more game servers 280 as a game service resource (or game domain resource).

이 때, 자원 제어기(230)는 부하 분산 정책에 기반하여 하나 이상의 게임 서버(280)들 중 게임을 배포할 게임 서버를 선택할 수 있다.At this time, the resource controller 230 can select a game server from among the one or more game servers 280 based on the load distribution policy.

여기서, 게임 서비스 자원은 실제의 게임 로직이 될 수 있다.Here, the game service resources may be actual game logic.

단계(350)에서, 자원 제어기(230)는 게임의 게임 로직을 하나 이상의 서비스 컴포넌트(120)들과 연동할 수 있다.At step 350, the resource controller 230 may interface the game logic of the game with one or more service components 120. [

단계(360)에서, 서비스 버스(210)는 게임을 게임 서비스로서 제공한다.In step 360, the service bus 210 provides the game as a game service.

앞서 도 1 내지 도 2를 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
The technical contents according to one embodiment of the present invention described above with reference to Figs. 1 and 2 can be directly applied to this embodiment as well. Therefore, a more detailed description will be omitted below.

도 4는 본 발명의 일 실시예에 따른 서비스 컴포넌트(120) 제공 방법의 흐름도이다.4 is a flow diagram of a method for providing a service component 120 in accordance with an embodiment of the present invention.

하기의 단계들(410 내지 430)은, 사용자가 플랫폼(100)이 제공하는 개별 서비스 컴포넌트(120)를 사용하는 시나리오에 대응할 수 있다.The following steps 410 through 430 may correspond to scenarios in which the user uses the individual service component 120 provided by the platform 100. [

단계(410)에서, 사용자는 서비스 버스(210)를 통해 플랫폼(100)과 연결된다. 즉, 서비스 버스(210)는 사용자 및 플랫폼(100)에 의해 제공되는 게임 서비스 간의 연결을 설정한다.At step 410, the user is connected to the platform 100 via the service bus 210. That is, the service bus 210 establishes a connection between the user and the game service provided by the platform 100.

상기의 연결에 의해, 사용자는 서비스 버스(210)를 통하여 플랫폼(100)이 제공하는 내부 서비스를 사용할 수 있다.With the above connection, the user can use the internal service provided by the platform 100 via the service bus 210.

또한, 상기의 연결에 의해, 서비스 버스(210)는 사용자에게 게임 서비스가 제공하는 전산 자원(110)에 대한 위치 투명성을 제공할 수 있다. 여기서, 위치 투명성이란, 사용자가 플랫폼(100)의 서비스(예컨대, 저장소 서비스, 글로벌 큐 서비스 및 글로벌 동기화 서비스 등)의 실제 물리적 주소(예컨대, IP 주소 또는 HTTP 주소 등)를 알지 않은 채 상기의 서비스를 사용할 수 있다는 것을 의미한다.Also, with the above connection, the service bus 210 can provide the user with position transparency with respect to the computational resource 110 provided by the game service. The location transparency means that the user does not know the actual physical address (e.g., IP address or HTTP address) of the platform 100 service (e.g., repository service, global queue service, Can be used.

즉, 서비스 버스(210)의 중계를 통해, 사용자는 서비스 버스(210)의 물리적 주소를 아는 것 만으로 플랫폼(100)의 다른 서비스를 사용할 수 있다.That is, through relaying the service bus 210, the user can use other services of the platform 100 only by knowing the physical address of the service bus 210.

단계(420)에서, 서비스 버스(210)는 상기의 연결을 통해 사용자에게 전산 자원(110)을 제공한다.At step 420, the service bus 210 provides the computational resource 110 to the user via the connection.

단계(420)는, 사용자에게 제공되는 전산 자원(110)에 따라, 하기의 단계 1) 내지 단계 4)를 포함할 수 있다.Step 420 may include the following steps 1) through 4), depending on the computational resources 110 provided to the user.

1) 서비스 버스(210)가 통해 게임 서비스와 관련된 데이터의 독출 및 기입을 사용자에게 제공하는 단계. 상기의 데이터는 저장소 서버(220) 내에 기입되거나, 저장소 서버(220)로부터 독출될 수 있다.1) providing the user with the reading and writing of data related to the game service via the service bus 210; The data may be written into the storage server 220 or read from the storage server 220.

2) 글로벌 큐 서버(240)가 서비스 버스(210)를 통해 하나 이상의 서버들(280) 간의 메시지 송수신 및 데이터 교환을 사용자에게 제공하는 단계2) the global queue server 240 provides the user with message transmission and reception and data exchange between one or more servers 280 via the service bus 210

3) 글로벌 락 서버(250)가 서비스 버스(210)를 통해 하나 이상의 서버들(280) 간의 공유 데이터 동기화를 사용자에게 제공하는 단계3) global lock server 250 provides the user with shared data synchronization between one or more servers 280 via service bus 210

4) 테스트 서버(270)가 서비스 버스(210)를 통해 플랫폼(100) 상에서 실행 중인 게임에 대한 디버깅 및 테스트를 사용자에게 제공하는 단계4) providing test server 270 with debugging and testing for the game running on platform 100 via service bus 210 to the user

단계(430)에서, 과금 서버(260)는 사용자가 사용한 전산 자원의 양을 측정할 수 있고, 사용한 전산 자원의 양에 따른 과금을 결정할 수 있다.In step 430, the billing server 260 can measure the amount of computer resources used by the user and determine the billing based on the amount of computer resources used.

사용자는 결정된 과금에 따라, 전산 자원(110)을 사용한 만큼 비용을 지불할 수 있다.The user can pay for the computational resource 110 as much as he or she has used the determined charge.

앞서 도 1 내지 도 3을 참조하여 설명된 본 발명의 일 실시예에 따른 기술적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
The technical contents according to one embodiment of the present invention described above with reference to Figs. 1 to 3 can be applied to this embodiment as it is. Therefore, a more detailed description will be omitted below.

본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: 게임 서비스 플랫폼
110: 전산 자원
210: 서비스 버스
220: 저장소 서버
230: 자원 제어기
100: Game service platform
110: Computational resources
210: Service bus
220: Storage server
230: resource controller

Claims (15)

게임에 대한 서비스를 제공받기 위한 사용자의 접근을 처리하는 서비스 버스;
상기 서비스 버스를 통해 수신된 상기 게임의 데이터를 저장하는 저장소 서버; 및
상기 게임이 사용하는 전산 자원을, (1) 상기 게임의 종류에 특화되어 복수의 게임에 각각 특화된 상이한 복수의 게임 도메인 자원 및 (2) 상기 서비스 버스와 상기 저장소 서버를 추상화한 게임 플랫폼 자원으로 추상화하여, 복수의 게임 서버들에게 배포 및 할당하고, 상기 복수의 게임 서버들 중 업로드된 게임에 해당하는 특정한 게임 서버를 할당하는 자원 제어기
를 포함하고,
상기 업로드된 게임은 상기 할당된 게임 서버 및 상기 서비스 버스를 통해 서비스되고,
상기 자원 제어기는, 상기 업로드된 게임의 게임 로직을 상기 서비스 버스 및 상기 저장소 서버와 연동하는, 게임 서비스 플랫폼.
A service bus for processing a user's access to receive a service for a game;
A storage server for storing data of the game received via the service bus; And
(1) a plurality of different game domain resources, each of which is specialized for each of the plurality of games and specific to the type of game, and (2) a game platform resource abstracted from the service bus and the storage server A resource controller for distributing and allocating the game server to a plurality of game servers and allocating a specific game server corresponding to the uploaded game among the plurality of game servers,
Lt; / RTI >
The uploaded game is served through the assigned game server and the service bus,
Wherein the resource controller interlocks the game logic of the uploaded game with the service bus and the repository server.
제1항에 있어서,
상기 자원 제어기는 부하 분산 정책에 기반하여 상기 복수의 게임 서버들 중 상기 게임을 배포할 상기 게임 서버를 선택하는, 게임 서비스 플랫폼.
The method according to claim 1,
Wherein the resource controller selects the game server to distribute the game among the plurality of game servers based on a load distribution policy.
제1항에 있어서,
상기 서비스 버스는 상기 게임 서비스 플랫폼에 의해 제공되는 백-앤드 서비스들에 대한 위치 투명성을 상기 사용자에게 제공하는, 게임 서비스 플랫폼.
The method according to claim 1,
Wherein the service bus provides location transparency to the user for back-end services provided by the game service platform.
제1항에 있어서,
상기 복수의 게임 서버들 간의 메시지 송수신 및 데이터 교환을 제공하는 글로벌 큐 서버
를 더 포함하는, 게임 서비스 플랫폼.
The method according to claim 1,
A global queue server for providing message transmission / reception and data exchange between the plurality of game servers;
The game service platform.
제1항에 있어서,
상기 복수의 게임 서버들 간에 사용되는 공유 데이터에 대한 동기화를 제공하는 글로럴 락 서버
를 더 포함하는, 게임 서비스 플랫폼.
The method according to claim 1,
A global lock server providing synchronization for shared data used between the plurality of game servers;
The game service platform.
제1항에 있어서,
상기 사용자가 사용한 상기 전산 자원의 양을 측정하고 상기 사용한 전산 자원의 양에 따른 과금을 결정하는 과금 서버
를 더 포함하는, 게임 서비스 플랫폼.
The method according to claim 1,
A billing server for measuring the amount of the computational resources used by the user and determining the billing based on the amount of the computational resources used;
The game service platform.
제1항에 있어서,
상기 사용자에게 상기 게임 서비스 플랫폼 상의 디버깅 및 테스트를 제공하는 테스트 서버
를 더 포함하는, 게임 서비스 플랫폼.
The method according to claim 1,
A test server providing debugging and testing on the game service platform to the user;
The game service platform.
사용자 접속을 처리하는 서비스 버스가 게임의 데이터를 수신하는 단계;
저장소 서버가 상기 수신된 게임의 데이터를 저장하는 단계 - 게임이 사용하는 전산 자원은, (1) 게임의 종류에 특화되어 복수의 게임에 각각 특화된 상이한 복수의 게임 도메인 자원 및 (2) 상기 서비스 버스와 상기 저장소 서버를 추상화한 게임 플랫폼 자원으로 추상화되어, 복수의 게임 서버들에게 배포 및 할당됨 -;
상기 서비스 버스가 상기 게임의 서비스 시작 요청을 수신하는 단계;
자원 제어기가 상기 게임을 상기 게임 도메인 자원 및 상기 게임 플랫폼 자원을 포함하는 게임 서비스 자원으로서 게임 서버로 배포하는 단계; 및
상기 게임 서버가 상기 서비스 버스를 통해 상기 게임을 게임 서비스로서 제공하는 단계
를 포함하고,
상기 자원 제어기는, 상기 게임의 게임 로직을 상기 서비스 버스 및 상기 저장소 서버와 연동하는, 게임 서비스 제공 방법.
Receiving a data of a game by a service bus that handles user connections;
(1) a plurality of different game domain resources specific to a plurality of games, each of which is specialized for a type of game; and (2) And a game platform resource that abstracts the storage server, and is distributed and allocated to a plurality of game servers;
The service bus receiving a service start request of the game;
Distributing the game to a game server as a game service resource including the game domain resource and the game platform resource; And
The game server providing the game as a game service through the service bus
Lt; / RTI >
Wherein the resource controller interlocks the game logic of the game with the service bus and the storage server.
제8항에 있어서,
상기 자원 제어기는 부하 분산 정책에 기반하여 상기 복수의 게임 서버들 중 상기 게임을 배포할 게임 서버를 선택하는, 게임 서비스 제공 방법.
9. The method of claim 8,
Wherein the resource controller selects a game server to distribute the game among the plurality of game servers based on a load distribution policy.
삭제delete 삭제delete 서비스 버스가 사용자 및 게임 서비스 간의 연결을 설정하는 단계;
상기 서비스 버스가 상기 연결을 통해 상기 사용자에게 전산 자원을 제공하는 단계 - 게임이 사용하는 전산 자원은, 게임 서비스 플랫폼이 포함하는 자원 제어기에 의해 (1) 게임의 종류에 특화되어 복수의 게임에 각각 특화된 상이한 복수의 게임 도메인 자원 및 (2) 상기 서비스 버스와 수신된 상기 게임의 데이터를 저장하는 저장소 서버를 추상화한 게임 플랫폼 자원으로 추상화되어, 복수의 게임 서버들에게 배포 및 할당되고, 상기 복수의 게임 서버들 중 업로드된 게임에 해당하는 특정한 게임 서버가 할당되고, 상기 할당된 게임 서버를 통해 업로드된 게임이 서비스됨 -; 및
과금 서버가 상기 사용자가 사용한 상기 전산 자원의 양을 측정하고 상기 사용한 전산 자원의 양에 따른 과금을 결정하는 단계
를 포함하고,
상기 자원 제어기는, 상기 업로드된 게임의 게임 로직을 상기 서비스 버스 및 상기 저장소 서버와 연동하는, 게임 서비스 제공 방법.
Establishing a connection between the user and the game service by the service bus;
(1) providing a computer resource to the user through the connection, the computer resource used by the game being provided by a resource controller included in the game service platform; (1) (2) a game platform resource abstracted from the service bus and a storage server storing data of the received game, is distributed and allocated to a plurality of game servers, and the plurality A specific game server corresponding to an uploaded game among the game servers is allocated, and a game uploaded through the allocated game server is served; And
The charging server measures the amount of the computer resources used by the user and determines the charging based on the amount of the computer resources used
Lt; / RTI >
Wherein the resource controller interlocks the game logic of the uploaded game with the service bus and the storage server.
제12항에 있어서,
상기 서비스 버스는 상기 연결을 통해 상기 사용자에게 상기 게임 서비스가 제공하는 전산 자원에 대한 위치 투명성을 제공하는, 게임 서비스 제공 방법.
13. The method of claim 12,
Wherein the service bus provides the user with location transparency with respect to the computational resources provided by the game service through the connection.
제12항에 있어서,
상기 전산 자원을 제공하는 단계는,
상기 서비스 버스가 상기 사용자에게 상기 게임 서비스와 관련된 데이터의 독출 및 기입을 제공하는 단계
를 포함하는, 게임 서비스 제공 방법.
13. The method of claim 12,
Wherein the step of providing the computational resources comprises:
The service bus providing the user with reading and writing of data associated with the game service
The method comprising the steps of:
제8항, 제9항 또는 제12항 내지 제14항 중 어느 한 항의 게임 서비스 제공 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium embodying a program for carrying out the method for providing a game service according to any one of claims 8, 9, 12,
KR1020110079561A 2011-08-10 2011-08-10 Game service platform and method for providing game service thereof Active KR101816854B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110079561A KR101816854B1 (en) 2011-08-10 2011-08-10 Game service platform and method for providing game service thereof
JP2012176494A JP2013037696A (en) 2011-08-10 2012-08-08 Game service platform and game service providing method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110079561A KR101816854B1 (en) 2011-08-10 2011-08-10 Game service platform and method for providing game service thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180000672A Division KR101842011B1 (en) 2018-01-03 2018-01-03 Game service platform and method for providing game service thereof

Publications (2)

Publication Number Publication Date
KR20130017245A KR20130017245A (en) 2013-02-20
KR101816854B1 true KR101816854B1 (en) 2018-02-21

Family

ID=47887203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110079561A Active KR101816854B1 (en) 2011-08-10 2011-08-10 Game service platform and method for providing game service thereof

Country Status (2)

Country Link
JP (1) JP2013037696A (en)
KR (1) KR101816854B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102427276B1 (en) * 2016-03-28 2022-07-29 오라클 인터내셔날 코포레이션 Pre-formed commands for mobile cloud service
KR102024164B1 (en) * 2017-02-14 2019-09-23 권오현 Method and apparatus for automaticgeneration of auto scaling call rulefor individual tenant in multi-tenancy environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001252475A (en) * 2000-03-08 2001-09-18 Dolphin Net Kk Network game intermediating device, its method, storage medium, network game operating method, network game creation assiting device, and its method

Also Published As

Publication number Publication date
JP2013037696A (en) 2013-02-21
KR20130017245A (en) 2013-02-20

Similar Documents

Publication Publication Date Title
JP6982684B2 (en) How and system to schedule gameplay for video games
US10284641B2 (en) Content distribution storage management
US9781056B2 (en) Content source selection in a P2P network
US9596306B2 (en) Managed P2P network with content-delivery network
US10129334B2 (en) Centralized management of a P2P network
US10807006B1 (en) Behavior-aware player selection for multiplayer electronic games
US20150371295A1 (en) System and method for cross-application virtual goods management
EP3766270B1 (en) Preventing unauthorized account access based on location and time
Deng et al. Server allocation for multiplayer cloud gaming
CN118678991B (en) Method and computer system for game distribution in a game cloud system
EP3265944B1 (en) Digital management of content assets in the cloud
KR101816854B1 (en) Game service platform and method for providing game service thereof
KR101842011B1 (en) Game service platform and method for providing game service thereof
US10798147B2 (en) Constraint based controlled seeding
US20230148292A1 (en) System and method for reward-based computing services on a distributed computing platform
KR20240105046A (en) How to provide beta test service for mobile games before release
KR20190117162A (en) Method and computer program for providing a service of a game
KR20110134637A (en) Distributed middleware device and method for supporting interworking between virtual world components in heterogeneous virtual world environment
KR101447850B1 (en) Game service method for real time match game and system thereof
CN106411680B (en) Information interaction method and device
KR20130103236A (en) Method for providing on-line four card game supporting server mission and the game server thereof
KR101553284B1 (en) Data Integrated Administrable Social Network Game Platform System
CN119544719A (en) Method and device for determining load device, storage medium and electronic device
HK40048686B (en) Game data processing method and device, system, electronic equipment and storage medium
KR20120092285A (en) Game service system, and game execution method thereof

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20110810

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20130902

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20110810

Comment text: Patent Application

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20130905

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150212

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20150828

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20150212

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20150828

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20150410

Comment text: Amendment to Specification, etc.

PX0601 Decision of rejection after re-examination

Comment text: Decision to Refuse Application

Patent event code: PX06014S01D

Patent event date: 20151030

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20150930

Comment text: Decision to Refuse Application

Patent event code: PX06011S01I

Patent event date: 20150828

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20150410

Comment text: Notification of reason for refusal

Patent event code: PX06013S01I

Patent event date: 20150212

PJ0201 Trial against decision of rejection

Patent event date: 20151130

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20151030

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Patent event date: 20150828

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20170929

Appeal identifier: 2015101007115

Request date: 20151130

J301 Trial decision

Free format text: TRIAL NUMBER: 2015101007115; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20151130

Effective date: 20170929

PJ1301 Trial decision

Patent event code: PJ13011S01D

Patent event date: 20170929

Comment text: Trial Decision on Objection to Decision on Refusal

Appeal kind category: Appeal against decision to decline refusal

Request date: 20151130

Decision date: 20170929

Appeal identifier: 2015101007115

PS0901 Examination by remand of revocation
S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
PS0701 Decision of registration after remand of revocation

Patent event date: 20171109

Patent event code: PS07012S01D

Comment text: Decision to Grant Registration

Patent event date: 20171012

Patent event code: PS07011S01I

Comment text: Notice of Trial Decision (Remand of Revocation)

A107 Divisional application of patent
GRNT Written decision to grant
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20180103

Patent event code: PA01071R01D

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180103

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180104

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20201223

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20211224

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20231227

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20241223

Start annual number: 8

End annual number: 8