説明

ゲームサービスプラットフォーム及びこれを用いたゲームサービス提供方法

【課題】ゲームサービスプラットフォーム及びプラットフォームを用いたサービス提供方法を提供する。
【解決手段】ゲームに対するサービスを提供するためのユーザのアクセスを処理するサービスバス210と、前記サービスバス210を介して受信した前記ゲームのデータを格納する格納領域サーバ220と、前記ゲームが用いる抽象化されたコンピュータリソース110を1つ以上のゲームサーバ280に配布及び割り当てるリソースコントローラ230と、を備えることを特徴とするゲームサービスプラットフォーム100は抽象化されたコンピュータリソース110をユーザにクラウドサービスとして提供してもよい。また、ゲームサービスプラットフォーム100はコンピュータリソース110の使用に対する課金を処理してもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はゲームサービスプラットフォームに関する。
【0002】
本発明において、抽象化されたコンピュータリソースを提供するゲームサービスプラットフォーム及びこれを用いたゲームサービス提供方法が開示される。
【背景技術】
【0003】
オンラインゲームとは、ネットワーク上でプレイされるゲームである。
【0004】
現在、例えば、スマートフォン(smart phone)などの携帯(mobile)端末(terminal)上で実行されるアプリケーション(App)のように、新規かつ多様なオンラインゲームがサービスされている。
【0005】
オンラインゲームのために用いられる技術は次第に複雑になり、技術的またはグラフィック的に要求される事項も次第に高まっている。したがって、オンラインゲームの制作会社はその持てる技術力全てを質・量ともに投入しなければ、市場でヒットするオンラインゲームを提供することができない。
【0006】
一般に、オンラインゲームのクライアントが必要とするコンピュータリソース(resource)はサーバのプラットフォーム(platform)によって提供される。
【0007】
異なる主体によって開発された従来の多様なプラットフォームは、一貫性を有さず、統一されていない様々な仕様を有する場合がある。
【0008】
このような一貫性を有しない形態及び多様な仕様によって、様々なプラットフォームを用いるオンラインゲームサービスを開発するとき要求される開発の複雑度は高くなり得る。
【0009】
したがって、サービスとしてのインフラ提供(Infrastructure as a Service;IAAS)及びサービスとしてのプラットフォーム提供(Platform as a Service;PaaS)が実現される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の目的は、オンラインゲームのサーバ開発及びオンラインゲームのサービスのためのプラットフォーム及びプラットフォームを用いたゲームサービスを提供することにある。
【0011】
また、本発明の目的は、サービスコンポーネントを抽象化することによってコンピュータリソースをユーザに提供するプラットフォーム及び方法を提供することにある。
【課題を解決するための手段】
【0012】
本発明の一実施形態によると、ゲームに対するサービスを提供するためのユーザのアクセスを処理するサービスバスと、サービスバスを介して受信したゲームのデータを格納する格納領域サーバと、ゲームが用いる抽象化されたコンピュータリソースを1つ以上のゲームサーバに配布及び割り当てるリソースコントローラとを備えるゲームサービスプラットフォームが提供される。
【0013】
リソースコントローラは、負荷分散ポリシーに基づいて一つ以上のゲームサーバのうちからゲームを配布するゲームサーバを選択してもよい。
【0014】
サービスバスは、ゲームサービスプラットフォームによって提供されるバックエンドサービスに対する位置透過性をユーザに提供してもよい。
【0015】
ゲームサービスプラットフォームは、一つ以上のゲームサーバ間のメッセージ送受信及びデータ交換を行うグローバルキューサーバをさらに備えてもよい。
【0016】
ゲームサービスプラットフォームは、一つ以上のゲームサーバ間で用いられる共有データの同期化を行うグローバルロックサーバをさらに備えてもよい。
【0017】
ゲームサービスプラットフォームは、ユーザが用いたコンピュータリソースの量を測定し、コンピュータリソースの使用量に応じて課金額を決定する課金サーバをさらに備えてもよい。
【0018】
ゲームサービスプラットフォームは、ユーザがゲームサービスプラットフォーム上のデバッグ及びテストを実行可能な環境を提供するテストサーバをさらに備えてもよい。
【0019】
本発明の他の一実施形態によると、ユーザ接続を処理するサービスバスがゲームのデータを受信するステップと、格納領域サーバが受信したゲームのデータを格納するステップと、サービスバスがゲームのサービス開始リクエストを受信するステップと、リソースコントローラがゲームをゲームサービスリソースとしてゲームサーバに配布するステップと、サービスバスがゲームをゲームサービスとして提供するステップとを含むゲームサービス提供方法が提供される。
【0020】
ゲームサーバは1つ以上のゲームサーバであってもよい。
【0021】
ゲームサービス提供方法は、リソースコントローラがゲームのゲームロジックを1つ以上のサービスコンポーネントと連動させるステップをさらに含んでもよい。
【0022】
サービスコンポーネントは、ゲームドメインベースコンポーネント及びゲームプラットフォームベースコンポーネントのうちの1つ以上を含んでもよい。
【0023】
本発明の他の一実施形態によると、サービスバスがユーザ及びゲームサービス間の接続を設定するステップと、サービスバスが接続によってユーザにコンピュータリソースを提供するステップと、課金サーバがユーザの用いたコンピュータリソースの量を測定し、用いたコンピュータリソースの量に応じて課金額を決定するステップとを含むゲームサービス提供方法が提供される。
【0024】
コンピュータリソースを提供するステップは、サービスバスがユーザにゲームサービスに関連するデータの読み出し及び書き込みの実行を提供するステップを含んでもよい。
【発明の効果】
【0025】
本発明によると、オンラインゲームのサーバ開発及びオンラインゲームのサービス提供のためのプラットフォームを提供することができる。
【0026】
本発明によると、プラットフォームは、オンラインゲームサービスの実施に必要な抽象化されたコンピュータリソースをユーザに提供することができる。
【0027】
本発明によると、プラットフォームは、コンピュータリソースの使用量に応じてユーザに課金することができる。
【図面の簡単な説明】
【0028】
【図1】本発明の一実施形態に係るゲームサービスプラットフォームを説明するための図である。
【図2】本発明の一実施形態に係るゲームサービスプラットフォームの構成図である。
【図3】本発明の一実施形態に係るゲームサービス提供方法のフローチャートである。
【図4】本発明の一実施形態に係るサービスコンポーネント提供方法のフローチャートである。
【発明を実施するための形態】
【0029】
以下、本発明の実施形態について添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示された同一の参照符号は同一の部材・構成を示す。
【0030】
図1は、本発明の一実施形態に係るゲームサービスプラットフォーム100を説明するための図である。
【0031】
ゲームサービスプラットフォーム100(以下、プラットフォーム100と称する)は、オンラインゲームのサーバを開発するために用いられてもよく、オンラインゲームサービスを提供するために用いられてもよい。
【0032】
オンラインゲームサービスは、(1)オンラインゲームを制作する場合に必要なサービス(または、サーバの機能)を意味してもよく、(2)オンラインゲームをプレイする場合に必要なサービス(または、サーバの機能)を意味してもよい。
【0033】
オンラインゲームを制作する場合に要求されるサーバの機能として、プラットフォーム100は、大規模のユーザ接続処理、ユーザランキング、ユーザ間のマッチメイキング、ユーザ間のチャット、ユーザから構成されたグループ(例えば、ギルド(guild)またはパーティー(party))、ゲーム内の部屋(room)、及びゲーム内のロビー(lobby)などがプラットフォーム100によって提供される。
【0034】
すなわち、ゲーム制作会社(または、ゲーム制作者)が特定のゲームをネットワークを介してサービスしたい場合、ゲーム制作会社がオンラインゲームを提供するための全てのサービス(例えば、前述したオンラインゲームを制作する場合に要求されるサーバの機能)を直接制作することになると、時間及び費用などの側面において過度なリソースを要求されることがある。
【0035】
また、ゲーム制作会社の力量によっては、このような全てのサービスを直接制作することができない場合もあり、または不適当な場合もある。
【0036】
また、サービスが制作されても、ゲーム制作会社が制作したサービスを直接提供することが管理または費用面において不合理な場合もある。
【0037】
したがって、ゲーム制作会社は、自身のオンラインゲームに要求されるサービスの全部または一部をプラットフォーム100を用いることによって提供してもよい。ゲームユーザなどのサービス利用者は、プラットフォーム100のフロントエンド(front−end)を通じた直接的な方法、または、ゲーム制作会社のポータル(portal)などを経由する間接的な方法に基づいて、プラットフォーム100によって提供されるオンラインゲームサービスを用いることができる。
【0038】
プラットフォーム100は、オペレーティング・システム(operating system)によるリソースやハードウェアの管理と類似の方法で、インターネットを通じた範囲での コンピュータリソース110及びハードウェアを管理する。
【0039】
ここで、「インターネットを通じた範囲での管理」はネットワークに接続されたコンピュータリソース110及びハードウェアを管理する可能性があることを意味する。
【0040】
また、コンピュータリソース110は、オンラインゲームサービスを提供するために必要なサービス機能をリソースとして抽象化したものを意味する。例えば、コンピュータリソース110は、ゲームサービスのためのインフラ(infra)、ソフトウェア及びネットワークを含んでもよい。
【0041】
また、「ハードウェアを管理する」は、プラットフォーム100内のサーバ及びネットワークの帯域幅(bandwidth)のようなハードウェアを管理することを意味する。
【0042】
下記では、プラットフォーム100によるコンピュータリソース110の管理について説明する。
【0043】
プラットフォーム100は、オンラインゲームサービスを提供するために必要なコンピュータリソース110を定義及び管理し、コンピュータリソース110を抽象化し、抽象化されたコンピュータリソース110をユーザに必要な分だけ提供してもよい。
【0044】
ここで、ユーザとは、ゲーム制作会社、ゲーム制作者、ゲームユーザ、ゲームユーザのコンピュータ及びゲームユーザの携帯端末のうちの1つ以上を意味する。すなわち、ユーザとはオンラインゲームサービスを提供しまたは提供される任意の主体を意味する。
【0045】
コンピュータリソース110を提供するために、プラットフォーム100はゲームサービス提供のために用いられるサービスコンポーネント(component)120を抽象化する。
【0046】
サービスコンポーネント120は、ゲームサービスのために要求される機能を提供するために設計されたコンポーネントを意味する。サービスコンポーネント120は特定のサービスを提供するサーバであってもよい。
【0047】
例えば、サービスコンポーネント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などを備えてもよい。
【0048】
サービスコンポーネント120は、ロックサーバ(lock server)、スケジューリング(scheduling)サーバ、キュー(queue)サーバなどを含んでもよく、多様なクライアント環境に対応するためのフロントエンドサーバを含んでもよい。
【0049】
サービスコンポーネント120は、ゲームドメイン(domain)により区分してもよい。例えば、1人称視点シューティング・ゲーム(First−Person Shooter;FPS)、大規模多人数同時参加型オンラインロールプレイングゲーム(Massive Multiplayer Online Role Playing Game;MMORPG)などのように、ゲームのタイプ(または、ジャンル)に応じてゲームサービスのために要求される機能が互いに異なる。
【0050】
サービスコンポーネント120は、ゲームプラットフォームに基づいて区分してもよい。例えば、(1)ゲームサービスのために共通して必要な機能を提供するサービスコンポーネント120(例えば、サービスバス210及びリソースコントローラ230)、(2)ゲームデータを格納するために必要な機能を提供するサービスコンポーネント120(例えば、格納領域サーバ220)、及び(3)ネットワークサービスのために必要な機能(例えば、グローバルキューサーバ240及びグローバルロックサーバ250)などを提供するサービスコンポーネント120などに区分してもよい。
【0051】
また、サービスコンポーネント120は、ゲームドメインベースコンポーネント及びゲームプラットフォームベースコンポーネントのうちの1つ以上を含んでもよい。
【0052】
プラットフォーム100によって提供されるコンピュータリソース110は、下位概念としてゲームサービスリソースを含んでもよい。
【0053】
さらに、ゲームサービスリソースは、その下位概念として、ゲームドメインリソースを含んでもよい。
【0054】
ゲームドメインリソースは、ゲームサービスリソース(または、コンピュータリソース110)のうち特定の種類のゲームに特化したリソースを意味する。すなわち、ゲームサービスリソースには、多様な種類のゲームそれぞれに特化した相異なるゲームドメインリソースが含まれる。また、ゲームドメインリソースは、ゲームドメインコンポーネントがリソースとして抽象化されたものを意味する。
【0055】
ゲームドメインリソースは、ゲームプレイ(play)、チャネル(channel)、部屋、ロビー、ランキング(ranking)、マッチメイキング(match making)、チャット及びゲームロジック(logic)などを含んでもよい。
【0056】
プラットフォーム100は、ゲームドメインリソースをユーザからの要求に応じて提供してもよい。
【0057】
ゲームサービスリソースは、その下位概念としてゲームプラットフォームリソースを含んでもよい。
【0058】
ゲームサービスリソースは、ゲームサービスコンポーネント120がリソースとして抽象化されたものを意味する。例えば、ゲームサービスリソースは、(1)格納領域サーバ220を介して提供される格納領域サービス、(2)サービスバス210によって提供されるフロントエンドサービス、(3)グローバルキューサーバ240によって提供されるキューサービス、及び(4)グローバルロックサーバ250によって提供されるラックサービスなどを含んでもよい。
【0059】
また、プラットフォーム100は、コンピュータリソース110の使容量に応じてユーザに課金を行なってもよい。
【0060】
プラットフォーム100は、複数の分散サーバを用いる分散サーバプラットフォームであってもよい。このような分散サーバプラットフォームは、プラットフォーム100が複数のユーザに大容量のサービスを提供できるようにする。
【0061】
前述した分散サーバを用いることによって、プラットフォーム100はユーザにクラウド(cloud)サービスを提供してもよい。
【0062】
このクラウドサービスは、サービス提供者の側面から、複数のユーザそれぞれが抽象化されたコンピュータリソース110を必要とする分だけいつどこでも使用できるようにすることを意味する。
【0063】
また、このクラウドサービスにおいては、ユーザサービスの側面から、複数のユーザがオンプレミス(On−Premise)に必要なコンピュータリソース110を予め準備することなく、コンピュータリソースをネットワークを用いて各ユーザが必要な分だけ使用できるようにし、使用したコンピュータリソースの量だけ各ユーザが費用を支払うことを意味する。
【0064】
プラットフォーム100によって分散していた複数の多様なゲームプラットフォームがクラウド形態に統合されることで、オンラインゲームサービスにおける開発の複雑度を減少させることができる。
【0065】
また、ゲーム開発会社は、ゲームの開発からパブリッシング(publishing)まで単一のプラットフォーム100を使用することでゲームサービス提供の環境の一貫性が維持されるという効果を取得できる。
【0066】
図2は、本発明の一実施形態に係るゲームサービスプラットフォーム100の構成図である。
【0067】
ゲームサービスプラットフォーム100は、サービスバス210、格納領域サーバ220、リソースコントローラ230、グローバルキューサーバ240、グローバルロックサーバ250、課金サーバ260、テストサーバ270、及び1つ以上のゲームサーバ280を備えてもよい。
【0068】
サービスバス210は、ゲームに対するサービスを提供されるためのユーザのアクセスを処理する。
【0069】
サービスバス210は、ユーザ接続を処理するフロントエンドサービスを提供してもよい。
【0070】
フロントエンドサービスの一例として、サービスバス210はゲームのデータを受信してもよい。例えば、ゲーム制作者は、開発者ポータルサイト(site)を用いてゲームのデータをアップロードしてもよく、そのアップロードの過程において、サービスバス210はゲームのデータを受信してもよい。
【0071】
また、サービスバス210は、ユーザからゲームのサービス開始リクエストを受信してもよい。サービスバス210はユーザとゲームサービスとの間の接続を設定してもよく、設定された接続によってユーザにコンピュータリソース110を提供してもよい。
【0072】
サービスバス210は、ユーザにプラットフォーム100によって提供されるバックエンド(back−end)サービスに対する位置の透過性を提供することができる。
【0073】
バックエンドサービスは、後述される格納領域サーバ220、リソースコントローラ230、グローバルキューサーバ240、グローバルロックサーバ250、課金サーバ260、テストサーバ270及び1つ以上のゲームサーバ280などによって提供されるサービスのうち1つ以上のサービスを意味する。
【0074】
また、サービスバス210は、ゲームプレイをゲームサービスとしてユーザに提供してもよい。
【0075】
格納領域サーバ220はゲームのためのデータ格納サービスを提供する。
【0076】
そのため、格納領域サーバ220はゲームのためのデータを格納してもよい。
【0077】
例えば、格納領域サーバ220は、サービスバス210により受信した(すなわち、ゲーム制作者やユーザ等からサービスバス210を介してアップロードされた)ゲームのデータを格納してもよい。
【0078】
格納領域サーバ220は、関係型データベース管理システム(Relational DataBase Management System;RDBMS)を提供してもよい。また、格納領域サーバ220は、ゲームに適する文書(document)に基づいたNoSQL格納領域を提供してもよい。
【0079】
NoSQL格納領域は、従来の関係型データベースの形態ではない、大容量データを格納するために特化された格納領域を意味する。
【0080】
リソースコントローラ230は、ゲームが用いる抽象化されたコンピュータリソース110を1つ以上のゲームサーバ280のうち特定のゲームサーバに配布及び割り当ててもよい。すなわち、ユーザがプラットフォーム100においてゲームをアップロードすると、リソースコントローラ230は、アップロードされたゲームに、自動で1つ以上のゲームサーバ280のうち特定のゲームサーバを割り当ててゲームをサービスすることができる。
【0081】
例えば、リソースコントローラ230は、格納領域サーバ220内に格納されたゲームをゲームサービスリソースとして1つ以上のゲームサーバ280のうち特定のゲームサーバに配布してもよい。
【0082】
1つ以上のゲームサーバ280は、クラウドプラットフォームの分散(distributed)サーバであってもよい。すなわち、1つ以上のゲームサーバ280は、プラットフォーム100によって提供されるクラウドサービスのインフラ設備を意味してもよい。
【0083】
リソースコントローラ230は、負荷分散ポリシーに基づいて1つ以上のゲームサーバ280のうちゲームを配布するゲームサーバを選択してもよい。
【0084】
リソースコントローラ230は、ゲームのゲームロジックを1つ以上のサービスコンポーネント120と連動してもよい。したがって、リソースコントローラ230によって1つ以上のサービスコンポーネント120と連動されたゲームサービスが提供される。
【0085】
グローバルキューサーバ240は、1つ以上のゲームサーバ280間のメッセージ送受信及びデータ交換の機能を提供してもよい。例えば、グローバルキューサーバ240は、1つ以上のゲームサーバ280間のメッセージ送受信及びデータ交換のために用いられる待機列を提供してもよい。
【0086】
グローバルロックサーバ250は、1つ以上のゲームサーバ280間に用いられる共有データにおける同期化を行ってもよい。
【0087】
ネットワーク上に分散されている1つ以上のゲームサーバ280がデータを共有するとき、1つ以上のゲームサーバ280が共有データを読み出し及び記入する過程でデータの完全性(integrity)が損なわれることがある。グローバルロックサーバ250は、1つ以上のゲームサーバ280に共有データを同期化してアクセスする方法を提供してもよい。
【0088】
課金サーバ260は、ユーザがリソースコントローラ230によって用いたコンピュータリソース110の量を測定してもよく、利用したコンピュータリソースの量に応じてユーザの課金額を決定してもよい。
【0089】
また、課金サーバ260はユーザ認証機能を提供してもよい。
【0090】
テストサーバ270は、ユーザにプラットフォーム100上のデバッギング(debugging)及びテストを実行可能な環境を提供してもよい。
【0091】
また、テストサーバ270は、ユーザが用いるコンピュータリソース110に障害が発生した場合、発生した障害に対する診断機能を提供してもよい。
【0092】
図3は、本発明の一実施形態に係るゲームサービス提供方法のフローチャートである。
【0093】
下記のステップS310からステップS360は、ゲーム制作者が作成したゲームをプラットフォーム100にアップロードし、ゲームサービスを提供する一連の流れに対応する。
【0094】
ゲーム制作者は、開発者ポータルサイトを用いてゲームのデータをプラットフォーム100にアップロードしてもよい。
【0095】
ステップS310において、ユーザ接続を処理するサービスバス210がゲームのデータを受信する。
【0096】
ステップS320において、格納領域サーバ220が受信されたゲームのデータを格納する。
【0097】
次に、ゲーム制作者は、開発者ポータルによってプラットフォーム100にゲームサービス開始のリクエストを行ってもよい。
【0098】
上記のリクエストに応じて、ステップS330において、サービスバス210がゲームサービス開始のリクエストを受信する。
【0099】
ステップS340において、リソースコントローラ230は、ゲームをゲームサービスリソース(または、ゲームドメインリソース)として1つ以上のゲームサーバ280に配布する。
【0100】
ここで、リソースコントローラ230は、負荷分散ポリシーに基づいて、1つ以上のゲームサーバ280のうちから、ゲームを配布するゲームサーバを選択してもよい。
【0101】
ここで、ゲームサービスリソースはゲームにおける実際のゲームロジックであってもよい。
【0102】
ステップS350において、リソースコントローラ230は、ゲームのゲームロジックを1つ以上のサービスコンポーネント120と連動してもよい。
【0103】
ステップS360において、サービスバス210はゲームをゲームサービスとして提供する。
【0104】
前述した図1から図2を参照して説明された本発明の一実施形態に係る技術的な内容が以下における本実施形態にそのまま適用されてもよい。したがって、以下において上述した内容の詳細な説明は省略する。
【0105】
図4は、本発明の一実施形態に係るサービスコンポーネント120の提供方法のフローチャートである。
【0106】
下記のステップS410からステップS430は、ユーザがプラットフォーム100の提供する個別サービスコンポーネント120を用いる一連の流れに対応する。
【0107】
ステップS410において、ユーザはサービスバス210を介してプラットフォーム100に接続される。すなわち、サービスバス210は、ユーザ及びプラットフォーム100によって提供されるゲームサービスの間の接続を設定する。
【0108】
この接続によって、ユーザは、サービスバス210を介してプラットフォーム100が提供するプラットフォーム100内のサービスを用いることができる。
【0109】
また、上記接続によって、サービスバス210は、ユーザにゲームサービスが提供するコンピュータリソース110の位置透過性を提供してもよい。ここで、位置透過性とは、ユーザがプラットフォーム100のサービス(例えば、格納領域サービス、グローバルキューサービス及びグローバル同期化サービスなど)の物理的アドレス(例えば、IPアドレスまたはHTTPアドレスなど)を知ることなくサービスを使用できることを意味する。
【0110】
すなわち、サービスバス210の中継を介してユーザは、サービスバス210の物理的アドレスを把握するだけでプラットフォーム100の他のサービスを用いることができる。
【0111】
ステップS420において、サービスバス210は接続によってユーザにコンピュータリソース110を提供する。
【0112】
ステップS420は、ユーザに提供されるコンピュータリソース110に応じて下記のステップ(1)〜ステップ(4)を含んでもよい。
【0113】
ステップ(1)は、サービスバス210を通じてゲームサービスに関連するデータの読み出し及び書き込みをユーザに提供するステップ(このデータは、格納領域サーバ220内に書き込まれたり、格納領域サーバ220から読み出されたりする)である。
【0114】
ステップ(2)は、グローバルキューサーバ240がサービスバス210を介して1つ以上のサーバ280間のメッセージ送受信及びデータ交換の機能をユーザに提供するステップである。
【0115】
ステップ(3)は、グローバルロックサーバ250がサービスバス210を介して1つ以上のサーバ280間の共有データの同期化の機能をユーザに提供するステップである。
【0116】
ステップ(4)は、テストサーバ270がサービスバス210を介してプラットフォーム100上で実行中であるゲームのデバッギング及びテストのための環境をユーザに提供するステップである。
【0117】
ステップS430において、課金サーバ260はユーザが用いたコンピュータリソースの量を測定してもよく、利用したコンピュータリソースの量に応じて課金額を決定してもよい。
【0118】
ユーザは、決定された課金額に応じてコンピュータリソース110を使用した分だけの費用を支払う。
【0119】
以下における実施形態では、上記の図1から図3を参照して説明された本発明の一実施形態に係る技術的な内容が本実施形態にそのまま適用されてもよい。したがって、本詳細な説明について以下では省略することにする。
【0120】
本発明の一実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独または組み合わせたものを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
【0121】
以上のように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【0122】
したがって、本発明の範囲は、開示された実施形態に限定して定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0123】
100 ゲームサービスプラットフォーム
110 コンピュータリソース
210 サービスバス
220 格納領域サーバ
230 リソースコントローラ

【特許請求の範囲】
【請求項1】
ゲームに対するサービスを提供するためのユーザのアクセスを処理するサービスバスと、
前記サービスバスを介して受信した前記ゲームのデータを格納する格納領域サーバと、
前記ゲームが用いる抽象化されたコンピュータリソースを1つ以上のゲームサーバに配布及び割り当てるリソースコントローラと、
を備えることを特徴とするゲームサービスプラットフォーム。
【請求項2】
前記リソースコントローラは、負荷分散ポリシーに基づいて前記一つ以上のゲームサーバのうち前記ゲームを配布する前記ゲームサーバを選択することを特徴とする請求項1に記載のゲームサービスプラットフォーム。
【請求項3】
前記サービスバスは、前記ゲームサービスプラットフォームによって提供されるバックエンドサービスに対する位置透過性を前記ユーザに提供することを特徴とする請求項1に記載のゲームサービスプラットフォーム。
【請求項4】
前記一つ以上のゲームサーバ間のメッセージ送受信及びデータ交換を行うグローバルキューサーバをさらに備えることを特徴とする請求項1に記載のゲームサービスプラットフォーム。
【請求項5】
前記一つ以上のゲームサーバ間で用いられる共有データの同期化を行うグローバルロックサーバをさらに備えることを特徴とする請求項1に記載のゲームサービスプラットフォーム。
【請求項6】
前記ユーザが用いた前記コンピュータリソースの量を測定し、前記コンピュータリソースの使用量に応じて課金額を決定する課金サーバをさらに備えることを特徴とする請求項1に記載のゲームサービスプラットフォーム。
【請求項7】
前記ユーザに前記ゲームサービスプラットフォーム上のデバッギング及びテストを実行可能な環境を提供するテストサーバをさらに備えることを特徴とする請求項1に記載のゲームサービスプラットフォーム。
【請求項8】
ユーザ接続を処理するサービスバスがゲームのデータを受信するステップと、
格納領域サーバが前記受信したゲームのデータを格納するステップと、
前記サービスバスが前記ゲームのサービス開始リクエストを受信するステップと、
リソースコントローラが前記ゲームをゲームサービスリソースとしてゲームサーバに配布するステップと、
前記サービスバスが前記ゲームをゲームサービスとして提供するステップと、
を含むことを特徴とするゲームサービス提供方法。
【請求項9】
前記ゲームサーバは1つ以上のゲームサーバであり、
前記リソースコントローラは、負荷分散ポリシーに基づいて前記一つ以上のゲームサーバのうちから前記ゲームを配布するゲームサーバを選択することを特徴とする請求項8に記載のゲームサービス提供方法。
【請求項10】
前記リソースコントローラが前記ゲームのゲームロジックを1つ以上のサービスコンポーネントと連動させるステップをさらに含むことを特徴とする請求項8に記載のゲームサービス提供方法。
【請求項11】
前記サービスコンポーネントは、ゲームドメインベースコンポーネント及びゲームプラットフォームベースコンポーネントのうちの1つ以上を含むことを特徴とする請求項8に記載のゲームサービス提供方法。
【請求項12】
サービスバスがユーザ及びゲームサービス間の接続を設定するステップと、
前記サービスバスが前記接続によって前記ユーザにコンピュータリソースを提供するステップと、
課金サーバが前記ユーザの用いた前記コンピュータリソースの量を測定し、前記用いたコンピュータリソースの量に応じて課金額を決定するステップと、
を含むことを特徴とするゲームサービス提供方法。
【請求項13】
前記サービスバスは、前記接続によって前記ユーザに前記ゲームサービスが提供するコンピュータリソースに対する位置透過性を提供することを特徴とする請求項12に記載のゲームサービス提供方法。
【請求項14】
前記コンピュータリソースを提供するステップは、前記サービスバスが前記ユーザに前記ゲームサービスに関連するデータの読み出し及び書き込みの実行を提供するステップを含むことを特徴とする請求項12に記載のゲームサービス提供方法。
【請求項15】
請求項8乃至請求項14のいずれか一項に記載のゲームサービス提供方法を行うプログラムを収録したコンピュータで読み出し可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate