(57)【要約】      （修正有）【課題】ゲームサービスプラットフォーム及びプラットフォームを用いたサービス提供方法を提供する。【解決手段】ゲームに対するサービスを提供するためのユーザのアクセスを処理するサービスバス２１０と、前記サービスバス２１０を介して受信した前記ゲームのデータを格納する格納領域サーバ２２０と、前記ゲームが用いる抽象化されたコンピュータリソース１１０を１つ以上のゲームサーバ２８０に配布及び割り当てるリソースコントローラ２３０と、を備えることを特徴とするゲームサービスプラットフォーム１００は抽象化されたコンピュータリソース１１０をユーザにクラウドサービスとして提供してもよい。また、ゲームサービスプラットフォーム１００はコンピュータリソース１１０の使用に対する課金を処理してもよい。【選択図】図２
2013037696.tif 000002
【特許請求の範囲】
【請求項１】
ゲームに対するサービスを提供するためのユーザのアクセスを処理するサービスバスと、
前記サービスバスを介して受信した前記ゲームのデータを格納する格納領域サーバと、
前記ゲームが用いる抽象化されたコンピュータリソースを１つ以上のゲームサーバに配布及び割り当てるリソースコントローラと、
を備えることを特徴とするゲームサービスプラットフォーム。
【請求項２】
前記リソースコントローラは、負荷分散ポリシーに基づいて前記一つ以上のゲームサーバのうち前記ゲームを配布する前記ゲームサーバを選択することを特徴とする請求項１に記載のゲームサービスプラットフォーム。
【請求項３】
前記サービスバスは、前記ゲームサービスプラットフォームによって提供されるバックエンドサービスに対する位置透過性を前記ユーザに提供することを特徴とする請求項１に記載のゲームサービスプラットフォーム。
【請求項４】
前記一つ以上のゲームサーバ間のメッセージ送受信及びデータ交換を行うグローバルキューサーバをさらに備えることを特徴とする請求項１に記載のゲームサービスプラットフォーム。
【請求項５】
前記一つ以上のゲームサーバ間で用いられる共有データの同期化を行うグローバルロックサーバをさらに備えることを特徴とする請求項１に記載のゲームサービスプラットフォーム。
【請求項６】
前記ユーザが用いた前記コンピュータリソースの量を測定し、前記コンピュータリソースの使用量に応じて課金額を決定する課金サーバをさらに備えることを特徴とする請求項１に記載のゲームサービスプラットフォーム。
【請求項７】
前記ユーザに前記ゲームサービスプラットフォーム上のデバッギング及びテストを実行可能な環境を提供するテストサーバをさらに備えることを特徴とする請求項１に記載のゲームサービスプラットフォーム。
【請求項８】
ユーザ接続を処理するサービスバスがゲームのデータを受信するステップと、
格納領域サーバが前記受信したゲームのデータを格納するステップと、
前記サービスバスが前記ゲームのサービス開始リクエストを受信するステップと、
リソースコントローラが前記ゲームをゲームサービスリソースとしてゲームサーバに配布するステップと、
前記サービスバスが前記ゲームをゲームサービスとして提供するステップと、
を含むことを特徴とするゲームサービス提供方法。
【請求項９】
前記ゲームサーバは１つ以上のゲームサーバであり、
前記リソースコントローラは、負荷分散ポリシーに基づいて前記一つ以上のゲームサーバのうちから前記ゲームを配布するゲームサーバを選択することを特徴とする請求項８に記載のゲームサービス提供方法。
【請求項１０】
前記リソースコントローラが前記ゲームのゲームロジックを１つ以上のサービスコンポーネントと連動させるステップをさらに含むことを特徴とする請求項８に記載のゲームサービス提供方法。
【請求項１１】
前記サービスコンポーネントは、ゲームドメインベースコンポーネント及びゲームプラットフォームベースコンポーネントのうちの１つ以上を含むことを特徴とする請求項８に記載のゲームサービス提供方法。
【請求項１２】
サービスバスがユーザ及びゲームサービス間の接続を設定するステップと、
前記サービスバスが前記接続によって前記ユーザにコンピュータリソースを提供するステップと、
課金サーバが前記ユーザの用いた前記コンピュータリソースの量を測定し、前記用いたコンピュータリソースの量に応じて課金額を決定するステップと、
を含むことを特徴とするゲームサービス提供方法。
【請求項１３】
前記サービスバスは、前記接続によって前記ユーザに前記ゲームサービスが提供するコンピュータリソースに対する位置透過性を提供することを特徴とする請求項１２に記載のゲームサービス提供方法。
【請求項１４】
前記コンピュータリソースを提供するステップは、前記サービスバスが前記ユーザに前記ゲームサービスに関連するデータの読み出し及び書き込みの実行を提供するステップを含むことを特徴とする請求項１２に記載のゲームサービス提供方法。
【請求項１５】
請求項８乃至請求項１４のいずれか一項に記載のゲームサービス提供方法を行うプログラムを収録したコンピュータで読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲームサービスプラットフォームに関する。
【０００２】
本発明において、抽象化されたコンピュータリソースを提供するゲームサービスプラットフォーム及びこれを用いたゲームサービス提供方法が開示される。
【背景技術】
【０００３】
オンラインゲームとは、ネットワーク上でプレイされるゲームである。
【０００４】
現在、例えば、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）などの携帯（ｍｏｂｉｌｅ）端末（ｔｅｒｍｉｎａｌ）上で実行されるアプリケーション（Ａｐｐ）のように、新規かつ多様なオンラインゲームがサービスされている。
【０００５】
オンラインゲームのために用いられる技術は次第に複雑になり、技術的またはグラフィック的に要求される事項も次第に高まっている。したがって、オンラインゲームの制作会社はその持てる技術力全てを質・量ともに投入しなければ、市場でヒットするオンラインゲームを提供することができない。
【０００６】
一般に、オンラインゲームのクライアントが必要とするコンピュータリソース（ｒｅｓｏｕｒｃｅ）はサーバのプラットフォーム（ｐｌａｔｆｏｒｍ）によって提供される。
【０００７】
異なる主体によって開発された従来の多様なプラットフォームは、一貫性を有さず、統一されていない様々な仕様を有する場合がある。
【０００８】
このような一貫性を有しない形態及び多様な仕様によって、様々なプラットフォームを用いるオンラインゲームサービスを開発するとき要求される開発の複雑度は高くなり得る。
【０００９】
したがって、サービスとしてのインフラ提供（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ；ＩＡＡＳ）及びサービスとしてのプラットフォーム提供（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ；ＰａａＳ）が実現される必要がある。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、オンラインゲームのサーバ開発及びオンラインゲームのサービスのためのプラットフォーム及びプラットフォームを用いたゲームサービスを提供することにある。
【００１１】
また、本発明の目的は、サービスコンポーネントを抽象化することによってコンピュータリソースをユーザに提供するプラットフォーム及び方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一実施形態によると、ゲームに対するサービスを提供するためのユーザのアクセスを処理するサービスバスと、サービスバスを介して受信したゲームのデータを格納する格納領域サーバと、ゲームが用いる抽象化されたコンピュータリソースを１つ以上のゲームサーバに配布及び割り当てるリソースコントローラとを備えるゲームサービスプラットフォームが提供される。
【００１３】
リソースコントローラは、負荷分散ポリシーに基づいて一つ以上のゲームサーバのうちからゲームを配布するゲームサーバを選択してもよい。
【００１４】
サービスバスは、ゲームサービスプラットフォームによって提供されるバックエンドサービスに対する位置透過性をユーザに提供してもよい。
【００１５】
ゲームサービスプラットフォームは、一つ以上のゲームサーバ間のメッセージ送受信及びデータ交換を行うグローバルキューサーバをさらに備えてもよい。
【００１６】
ゲームサービスプラットフォームは、一つ以上のゲームサーバ間で用いられる共有データの同期化を行うグローバルロックサーバをさらに備えてもよい。
【００１７】
ゲームサービスプラットフォームは、ユーザが用いたコンピュータリソースの量を測定し、コンピュータリソースの使用量に応じて課金額を決定する課金サーバをさらに備えてもよい。
【００１８】
ゲームサービスプラットフォームは、ユーザがゲームサービスプラットフォーム上のデバッグ及びテストを実行可能な環境を提供するテストサーバをさらに備えてもよい。
【００１９】
本発明の他の一実施形態によると、ユーザ接続を処理するサービスバスがゲームのデータを受信するステップと、格納領域サーバが受信したゲームのデータを格納するステップと、サービスバスがゲームのサービス開始リクエストを受信するステップと、リソースコントローラがゲームをゲームサービスリソースとしてゲームサーバに配布するステップと、サービスバスがゲームをゲームサービスとして提供するステップとを含むゲームサービス提供方法が提供される。
【００２０】
ゲームサーバは１つ以上のゲームサーバであってもよい。
【００２１】
ゲームサービス提供方法は、リソースコントローラがゲームのゲームロジックを１つ以上のサービスコンポーネントと連動させるステップをさらに含んでもよい。
【００２２】
サービスコンポーネントは、ゲームドメインベースコンポーネント及びゲームプラットフォームベースコンポーネントのうちの１つ以上を含んでもよい。
【００２３】
本発明の他の一実施形態によると、サービスバスがユーザ及びゲームサービス間の接続を設定するステップと、サービスバスが接続によってユーザにコンピュータリソースを提供するステップと、課金サーバがユーザの用いたコンピュータリソースの量を測定し、用いたコンピュータリソースの量に応じて課金額を決定するステップとを含むゲームサービス提供方法が提供される。
【００２４】
コンピュータリソースを提供するステップは、サービスバスがユーザにゲームサービスに関連するデータの読み出し及び書き込みの実行を提供するステップを含んでもよい。
【発明の効果】
【００２５】
本発明によると、オンラインゲームのサーバ開発及びオンラインゲームのサービス提供のためのプラットフォームを提供することができる。
【００２６】
本発明によると、プラットフォームは、オンラインゲームサービスの実施に必要な抽象化されたコンピュータリソースをユーザに提供することができる。
【００２７】
本発明によると、プラットフォームは、コンピュータリソースの使用量に応じてユーザに課金することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係るゲームサービスプラットフォームを説明するための図である。
【図２】本発明の一実施形態に係るゲームサービスプラットフォームの構成図である。
【図３】本発明の一実施形態に係るゲームサービス提供方法のフローチャートである。
【図４】本発明の一実施形態に係るサービスコンポーネント提供方法のフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の実施形態について添付する図面を参照しながら詳細に説明する。しかし、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に提示された同一の参照符号は同一の部材・構成を示す。
【００３０】
図１は、本発明の一実施形態に係るゲームサービスプラットフォーム１００を説明するための図である。
【００３１】
ゲームサービスプラットフォーム１００（以下、プラットフォーム１００と称する）は、オンラインゲームのサーバを開発するために用いられてもよく、オンラインゲームサービスを提供するために用いられてもよい。
【００３２】
オンラインゲームサービスは、（１）オンラインゲームを制作する場合に必要なサービス（または、サーバの機能）を意味してもよく、（２）オンラインゲームをプレイする場合に必要なサービス（または、サーバの機能）を意味してもよい。
【００３３】
オンラインゲームを制作する場合に要求されるサーバの機能として、プラットフォーム１００は、大規模のユーザ接続処理、ユーザランキング、ユーザ間のマッチメイキング、ユーザ間のチャット、ユーザから構成されたグループ（例えば、ギルド（ｇｕｉｌｄ）またはパーティー（ｐａｒｔｙ））、ゲーム内の部屋（ｒｏｏｍ）、及びゲーム内のロビー（ｌｏｂｂｙ）などがプラットフォーム１００によって提供される。
【００３４】
すなわち、ゲーム制作会社（または、ゲーム制作者）が特定のゲームをネットワークを介してサービスしたい場合、ゲーム制作会社がオンラインゲームを提供するための全てのサービス（例えば、前述したオンラインゲームを制作する場合に要求されるサーバの機能）を直接制作することになると、時間及び費用などの側面において過度なリソースを要求されることがある。
【００３５】
また、ゲーム制作会社の力量によっては、このような全てのサービスを直接制作することができない場合もあり、または不適当な場合もある。
【００３６】
また、サービスが制作されても、ゲーム制作会社が制作したサービスを直接提供することが管理または費用面において不合理な場合もある。
【００３７】
したがって、ゲーム制作会社は、自身のオンラインゲームに要求されるサービスの全部または一部をプラットフォーム１００を用いることによって提供してもよい。ゲームユーザなどのサービス利用者は、プラットフォーム１００のフロントエンド（ｆｒｏｎｔ−ｅｎｄ）を通じた直接的な方法、または、ゲーム制作会社のポータル（ｐｏｒｔａｌ）などを経由する間接的な方法に基づいて、プラットフォーム１００によって提供されるオンラインゲームサービスを用いることができる。
【００３８】
プラットフォーム１００は、オペレーティング・システム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）によるリソースやハードウェアの管理と類似の方法で、インターネットを通じた範囲での コンピュータリソース１１０及びハードウェアを管理する。
【００３９】
ここで、「インターネットを通じた範囲での管理」はネットワークに接続されたコンピュータリソース１１０及びハードウェアを管理する可能性があることを意味する。
【００４０】
また、コンピュータリソース１１０は、オンラインゲームサービスを提供するために必要なサービス機能をリソースとして抽象化したものを意味する。例えば、コンピュータリソース１１０は、ゲームサービスのためのインフラ（ｉｎｆｒａ）、ソフトウェア及びネットワークを含んでもよい。
【００４１】
また、「ハードウェアを管理する」は、プラットフォーム１００内のサーバ及びネットワークの帯域幅（ｂａｎｄｗｉｄｔｈ）のようなハードウェアを管理することを意味する。
【００４２】
下記では、プラットフォーム１００によるコンピュータリソース１１０の管理について説明する。
【００４３】
プラットフォーム１００は、オンラインゲームサービスを提供するために必要なコンピュータリソース１１０を定義及び管理し、コンピュータリソース１１０を抽象化し、抽象化されたコンピュータリソース１１０をユーザに必要な分だけ提供してもよい。
【００４４】
ここで、ユーザとは、ゲーム制作会社、ゲーム制作者、ゲームユーザ、ゲームユーザのコンピュータ及びゲームユーザの携帯端末のうちの１つ以上を意味する。すなわち、ユーザとはオンラインゲームサービスを提供しまたは提供される任意の主体を意味する。
【００４５】
コンピュータリソース１１０を提供するために、プラットフォーム１００はゲームサービス提供のために用いられるサービスコンポーネント（ｃｏｍｐｏｎｅｎｔ）１２０を抽象化する。
【００４６】
サービスコンポーネント１２０は、ゲームサービスのために要求される機能を提供するために設計されたコンポーネントを意味する。サービスコンポーネント１２０は特定のサービスを提供するサーバであってもよい。
【００４７】
例えば、サービスコンポーネント１２０は、図２を参照して後述するサービスバス（ｓｅｒｖｉｃｅ  ｂｕｓ）２１０、格納領域サーバ（ｓｔｏｒａｇｅ  ｓｅｒｖｅｒ）２２０、リソースコントローラ（ｒｅｓｏｕｒｃｅ  ｃｏｎｔｒｏｌｌｅｒ）２３０、グローバルキューサーバ（ｇｌｏｂａｌ  ｑｕｅｕｅ  ｓｅｒｖｅｒ）２４０、グローバルロックサーバ（ｇｌｏｂａｌ  ｌｏｃｋ  ｓｅｒｖｅｒ）２５０、課金サーバ（ａｃｃｏｕｎｔ／ｂｉｌｌｉｎｇ  ｓｅｒｖｅｒ）２６０、テストサーバ（ｔｅｓｔ  ｓｅｒｖｅｒ）２７０及びゲームサーバ（ｇａｍｅ  ｓｅｒｖｅｒ）２８０などを備えてもよい。
【００４８】
サービスコンポーネント１２０は、ロックサーバ（ｌｏｃｋ  ｓｅｒｖｅｒ）、スケジューリング（ｓｃｈｅｄｕｌｉｎｇ）サーバ、キュー（ｑｕｅｕｅ）サーバなどを含んでもよく、多様なクライアント環境に対応するためのフロントエンドサーバを含んでもよい。
【００４９】
サービスコンポーネント１２０は、ゲームドメイン（ｄｏｍａｉｎ）により区分してもよい。例えば、１人称視点シューティング・ゲーム（Ｆｉｒｓｔ−Ｐｅｒｓｏｎ  Ｓｈｏｏｔｅｒ；ＦＰＳ）、大規模多人数同時参加型オンラインロールプレイングゲーム（Ｍａｓｓｉｖｅ  Ｍｕｌｔｉｐｌａｙｅｒ  Ｏｎｌｉｎｅ  Ｒｏｌｅ  Ｐｌａｙｉｎｇ  Ｇａｍｅ；ＭＭＯＲＰＧ）などのように、ゲームのタイプ（または、ジャンル）に応じてゲームサービスのために要求される機能が互いに異なる。
【００５０】
サービスコンポーネント１２０は、ゲームプラットフォームに基づいて区分してもよい。例えば、（１）ゲームサービスのために共通して必要な機能を提供するサービスコンポーネント１２０（例えば、サービスバス２１０及びリソースコントローラ２３０）、（２）ゲームデータを格納するために必要な機能を提供するサービスコンポーネント１２０（例えば、格納領域サーバ２２０）、及び（３）ネットワークサービスのために必要な機能（例えば、グローバルキューサーバ２４０及びグローバルロックサーバ２５０）などを提供するサービスコンポーネント１２０などに区分してもよい。
【００５１】
また、サービスコンポーネント１２０は、ゲームドメインベースコンポーネント及びゲームプラットフォームベースコンポーネントのうちの１つ以上を含んでもよい。
【００５２】
プラットフォーム１００によって提供されるコンピュータリソース１１０は、下位概念としてゲームサービスリソースを含んでもよい。
【００５３】
さらに、ゲームサービスリソースは、その下位概念として、ゲームドメインリソースを含んでもよい。
【００５４】
ゲームドメインリソースは、ゲームサービスリソース（または、コンピュータリソース１１０）のうち特定の種類のゲームに特化したリソースを意味する。すなわち、ゲームサービスリソースには、多様な種類のゲームそれぞれに特化した相異なるゲームドメインリソースが含まれる。また、ゲームドメインリソースは、ゲームドメインコンポーネントがリソースとして抽象化されたものを意味する。
【００５５】
ゲームドメインリソースは、ゲームプレイ（ｐｌａｙ）、チャネル（ｃｈａｎｎｅｌ）、部屋、ロビー、ランキング（ｒａｎｋｉｎｇ）、マッチメイキング（ｍａｔｃｈ  ｍａｋｉｎｇ）、チャット及びゲームロジック（ｌｏｇｉｃ）などを含んでもよい。
【００５６】
プラットフォーム１００は、ゲームドメインリソースをユーザからの要求に応じて提供してもよい。
【００５７】
ゲームサービスリソースは、その下位概念としてゲームプラットフォームリソースを含んでもよい。
【００５８】
ゲームサービスリソースは、ゲームサービスコンポーネント１２０がリソースとして抽象化されたものを意味する。例えば、ゲームサービスリソースは、（１）格納領域サーバ２２０を介して提供される格納領域サービス、（２）サービスバス２１０によって提供されるフロントエンドサービス、（３）グローバルキューサーバ２４０によって提供されるキューサービス、及び（４）グローバルロックサーバ２５０によって提供されるラックサービスなどを含んでもよい。
【００５９】
また、プラットフォーム１００は、コンピュータリソース１１０の使容量に応じてユーザに課金を行なってもよい。
【００６０】
プラットフォーム１００は、複数の分散サーバを用いる分散サーバプラットフォームであってもよい。このような分散サーバプラットフォームは、プラットフォーム１００が複数のユーザに大容量のサービスを提供できるようにする。
【００６１】
前述した分散サーバを用いることによって、プラットフォーム１００はユーザにクラウド（ｃｌｏｕｄ）サービスを提供してもよい。
【００６２】
このクラウドサービスは、サービス提供者の側面から、複数のユーザそれぞれが抽象化されたコンピュータリソース１１０を必要とする分だけいつどこでも使用できるようにすることを意味する。
【００６３】
また、このクラウドサービスにおいては、ユーザサービスの側面から、複数のユーザがオンプレミス（Ｏｎ−Ｐｒｅｍｉｓｅ）に必要なコンピュータリソース１１０を予め準備することなく、コンピュータリソースをネットワークを用いて各ユーザが必要な分だけ使用できるようにし、使用したコンピュータリソースの量だけ各ユーザが費用を支払うことを意味する。
【００６４】
プラットフォーム１００によって分散していた複数の多様なゲームプラットフォームがクラウド形態に統合されることで、オンラインゲームサービスにおける開発の複雑度を減少させることができる。
【００６５】
また、ゲーム開発会社は、ゲームの開発からパブリッシング（ｐｕｂｌｉｓｈｉｎｇ）まで単一のプラットフォーム１００を使用することでゲームサービス提供の環境の一貫性が維持されるという効果を取得できる。
【００６６】
図２は、本発明の一実施形態に係るゲームサービスプラットフォーム１００の構成図である。
【００６７】
ゲームサービスプラットフォーム１００は、サービスバス２１０、格納領域サーバ２２０、リソースコントローラ２３０、グローバルキューサーバ２４０、グローバルロックサーバ２５０、課金サーバ２６０、テストサーバ２７０、及び１つ以上のゲームサーバ２８０を備えてもよい。
【００６８】
サービスバス２１０は、ゲームに対するサービスを提供されるためのユーザのアクセスを処理する。
【００６９】
サービスバス２１０は、ユーザ接続を処理するフロントエンドサービスを提供してもよい。
【００７０】
フロントエンドサービスの一例として、サービスバス２１０はゲームのデータを受信してもよい。例えば、ゲーム制作者は、開発者ポータルサイト（ｓｉｔｅ）を用いてゲームのデータをアップロードしてもよく、そのアップロードの過程において、サービスバス２１０はゲームのデータを受信してもよい。
【００７１】
また、サービスバス２１０は、ユーザからゲームのサービス開始リクエストを受信してもよい。サービスバス２１０はユーザとゲームサービスとの間の接続を設定してもよく、設定された接続によってユーザにコンピュータリソース１１０を提供してもよい。
【００７２】
サービスバス２１０は、ユーザにプラットフォーム１００によって提供されるバックエンド（ｂａｃｋ−ｅｎｄ）サービスに対する位置の透過性を提供することができる。
【００７３】
バックエンドサービスは、後述される格納領域サーバ２２０、リソースコントローラ２３０、グローバルキューサーバ２４０、グローバルロックサーバ２５０、課金サーバ２６０、テストサーバ２７０及び１つ以上のゲームサーバ２８０などによって提供されるサービスのうち１つ以上のサービスを意味する。
【００７４】
また、サービスバス２１０は、ゲームプレイをゲームサービスとしてユーザに提供してもよい。
【００７５】
格納領域サーバ２２０はゲームのためのデータ格納サービスを提供する。
【００７６】
そのため、格納領域サーバ２２０はゲームのためのデータを格納してもよい。
【００７７】
例えば、格納領域サーバ２２０は、サービスバス２１０により受信した（すなわち、ゲーム制作者やユーザ等からサービスバス２１０を介してアップロードされた）ゲームのデータを格納してもよい。
【００７８】
格納領域サーバ２２０は、関係型データベース管理システム（Ｒｅｌａｔｉｏｎａｌ  ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ；ＲＤＢＭＳ）を提供してもよい。また、格納領域サーバ２２０は、ゲームに適する文書（ｄｏｃｕｍｅｎｔ）に基づいたＮｏＳＱＬ格納領域を提供してもよい。
【００７９】
ＮｏＳＱＬ格納領域は、従来の関係型データベースの形態ではない、大容量データを格納するために特化された格納領域を意味する。
【００８０】
リソースコントローラ２３０は、ゲームが用いる抽象化されたコンピュータリソース１１０を１つ以上のゲームサーバ２８０のうち特定のゲームサーバに配布及び割り当ててもよい。すなわち、ユーザがプラットフォーム１００においてゲームをアップロードすると、リソースコントローラ２３０は、アップロードされたゲームに、自動で１つ以上のゲームサーバ２８０のうち特定のゲームサーバを割り当ててゲームをサービスすることができる。
【００８１】
例えば、リソースコントローラ２３０は、格納領域サーバ２２０内に格納されたゲームをゲームサービスリソースとして１つ以上のゲームサーバ２８０のうち特定のゲームサーバに配布してもよい。
【００８２】
１つ以上のゲームサーバ２８０は、クラウドプラットフォームの分散（ｄｉｓｔｒｉｂｕｔｅｄ）サーバであってもよい。すなわち、１つ以上のゲームサーバ２８０は、プラットフォーム１００によって提供されるクラウドサービスのインフラ設備を意味してもよい。
【００８３】
リソースコントローラ２３０は、負荷分散ポリシーに基づいて１つ以上のゲームサーバ２８０のうちゲームを配布するゲームサーバを選択してもよい。
【００８４】
リソースコントローラ２３０は、ゲームのゲームロジックを１つ以上のサービスコンポーネント１２０と連動してもよい。したがって、リソースコントローラ２３０によって１つ以上のサービスコンポーネント１２０と連動されたゲームサービスが提供される。
【００８５】
グローバルキューサーバ２４０は、１つ以上のゲームサーバ２８０間のメッセージ送受信及びデータ交換の機能を提供してもよい。例えば、グローバルキューサーバ２４０は、１つ以上のゲームサーバ２８０間のメッセージ送受信及びデータ交換のために用いられる待機列を提供してもよい。
【００８６】
グローバルロックサーバ２５０は、１つ以上のゲームサーバ２８０間に用いられる共有データにおける同期化を行ってもよい。
【００８７】
ネットワーク上に分散されている１つ以上のゲームサーバ２８０がデータを共有するとき、１つ以上のゲームサーバ２８０が共有データを読み出し及び記入する過程でデータの完全性（ｉｎｔｅｇｒｉｔｙ）が損なわれることがある。グローバルロックサーバ２５０は、１つ以上のゲームサーバ２８０に共有データを同期化してアクセスする方法を提供してもよい。
【００８８】
課金サーバ２６０は、ユーザがリソースコントローラ２３０によって用いたコンピュータリソース１１０の量を測定してもよく、利用したコンピュータリソースの量に応じてユーザの課金額を決定してもよい。
【００８９】
また、課金サーバ２６０はユーザ認証機能を提供してもよい。
【００９０】
テストサーバ２７０は、ユーザにプラットフォーム１００上のデバッギング（ｄｅｂｕｇｇｉｎｇ）及びテストを実行可能な環境を提供してもよい。
【００９１】
また、テストサーバ２７０は、ユーザが用いるコンピュータリソース１１０に障害が発生した場合、発生した障害に対する診断機能を提供してもよい。
【００９２】
図３は、本発明の一実施形態に係るゲームサービス提供方法のフローチャートである。
【００９３】
下記のステップＳ３１０からステップＳ３６０は、ゲーム制作者が作成したゲームをプラットフォーム１００にアップロードし、ゲームサービスを提供する一連の流れに対応する。
【００９４】
ゲーム制作者は、開発者ポータルサイトを用いてゲームのデータをプラットフォーム１００にアップロードしてもよい。
【００９５】
ステップＳ３１０において、ユーザ接続を処理するサービスバス２１０がゲームのデータを受信する。
【００９６】
ステップＳ３２０において、格納領域サーバ２２０が受信されたゲームのデータを格納する。
【００９７】
次に、ゲーム制作者は、開発者ポータルによってプラットフォーム１００にゲームサービス開始のリクエストを行ってもよい。
【００９８】
上記のリクエストに応じて、ステップＳ３３０において、サービスバス２１０がゲームサービス開始のリクエストを受信する。
【００９９】
ステップＳ３４０において、リソースコントローラ２３０は、ゲームをゲームサービスリソース（または、ゲームドメインリソース）として１つ以上のゲームサーバ２８０に配布する。
【０１００】
ここで、リソースコントローラ２３０は、負荷分散ポリシーに基づいて、１つ以上のゲームサーバ２８０のうちから、ゲームを配布するゲームサーバを選択してもよい。
【０１０１】
ここで、ゲームサービスリソースはゲームにおける実際のゲームロジックであってもよい。
【０１０２】
ステップＳ３５０において、リソースコントローラ２３０は、ゲームのゲームロジックを１つ以上のサービスコンポーネント１２０と連動してもよい。
【０１０３】
ステップＳ３６０において、サービスバス２１０はゲームをゲームサービスとして提供する。
【０１０４】
前述した図１から図２を参照して説明された本発明の一実施形態に係る技術的な内容が以下における本実施形態にそのまま適用されてもよい。したがって、以下において上述した内容の詳細な説明は省略する。
【０１０５】
図４は、本発明の一実施形態に係るサービスコンポーネント１２０の提供方法のフローチャートである。
【０１０６】
下記のステップＳ４１０からステップＳ４３０は、ユーザがプラットフォーム１００の提供する個別サービスコンポーネント１２０を用いる一連の流れに対応する。
【０１０７】
ステップＳ４１０において、ユーザはサービスバス２１０を介してプラットフォーム１００に接続される。すなわち、サービスバス２１０は、ユーザ及びプラットフォーム１００によって提供されるゲームサービスの間の接続を設定する。
【０１０８】
この接続によって、ユーザは、サービスバス２１０を介してプラットフォーム１００が提供するプラットフォーム１００内のサービスを用いることができる。
【０１０９】
また、上記接続によって、サービスバス２１０は、ユーザにゲームサービスが提供するコンピュータリソース１１０の位置透過性を提供してもよい。ここで、位置透過性とは、ユーザがプラットフォーム１００のサービス（例えば、格納領域サービス、グローバルキューサービス及びグローバル同期化サービスなど）の物理的アドレス（例えば、ＩＰアドレスまたはＨＴＴＰアドレスなど）を知ることなくサービスを使用できることを意味する。
【０１１０】
すなわち、サービスバス２１０の中継を介してユーザは、サービスバス２１０の物理的アドレスを把握するだけでプラットフォーム１００の他のサービスを用いることができる。
【０１１１】
ステップＳ４２０において、サービスバス２１０は接続によってユーザにコンピュータリソース１１０を提供する。
【０１１２】
ステップＳ４２０は、ユーザに提供されるコンピュータリソース１１０に応じて下記のステップ（１）〜ステップ（４）を含んでもよい。
【０１１３】
ステップ（１）は、サービスバス２１０を通じてゲームサービスに関連するデータの読み出し及び書き込みをユーザに提供するステップ（このデータは、格納領域サーバ２２０内に書き込まれたり、格納領域サーバ２２０から読み出されたりする）である。
【０１１４】
ステップ（２）は、グローバルキューサーバ２４０がサービスバス２１０を介して１つ以上のサーバ２８０間のメッセージ送受信及びデータ交換の機能をユーザに提供するステップである。
【０１１５】
ステップ（３）は、グローバルロックサーバ２５０がサービスバス２１０を介して１つ以上のサーバ２８０間の共有データの同期化の機能をユーザに提供するステップである。
【０１１６】
ステップ（４）は、テストサーバ２７０がサービスバス２１０を介してプラットフォーム１００上で実行中であるゲームのデバッギング及びテストのための環境をユーザに提供するステップである。
【０１１７】
ステップＳ４３０において、課金サーバ２６０はユーザが用いたコンピュータリソースの量を測定してもよく、利用したコンピュータリソースの量に応じて課金額を決定してもよい。
【０１１８】
ユーザは、決定された課金額に応じてコンピュータリソース１１０を使用した分だけの費用を支払う。
【０１１９】
以下における実施形態では、上記の図１から図３を参照して説明された本発明の一実施形態に係る技術的な内容が本実施形態にそのまま適用されてもよい。したがって、本詳細な説明について以下では省略することにする。
【０１２０】
本発明の一実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独または組み合わせたものを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、光ディスクのような光磁気媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例としては、コンパイラによって生成されるような機械語コード（ｍａｃｈｉｎｅ  ｃｏｄｅ）だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード（ｈｉｇｈｅｒ  ｌｅｖｅｌ  ｃｏｄｅ）を含む。上述したハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアのレイヤで動作するように構成されてもよい。
【０１２１】
以上のように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【０１２２】
したがって、本発明の範囲は、開示された実施形態に限定して定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１２３】
１００      ゲームサービスプラットフォーム
１１０      コンピュータリソース
２１０      サービスバス
２２０      格納領域サーバ
２３０      リソースコントローラ
【図１】
2013037696.tif 000003
【図２】
2013037696.tif 000004
【図３】
2013037696.tif 000005
【図４】
2013037696.tif 000006