(57)【要約】      （修正有）【課題】システムを構成する複数のサーバ全体としての効率を向上させることができるサーバシステムを提供する。【解決手段】演算サーバ１０００は、ユーザが有する端末から端末に対するユーザの操作に対応する信号を受信する受信部１１００と、受信した信号に基づいて画面生成命令を生成する生成部１２００と、複数の画面生成サーバ夫々の演算資源を管理する管理部１３００と、管理部によって管理された複数の画面生成サーバ夫々の演算資源に基づいて生成部により生成した画面生成命令を送信する画面生成サーバを選択する選択部１４００と、選択部により選択した画面生成サーバに生成部により生成した画面生成命令を送信する送信部１５００と、を有する。画面生成サーバ夫々は、送信部より送信された画面生成命令を受信する受信部と、受信した画面生成命令に基づいて画面を生成する画面生成部と、生成した画面を少なくとも端末に送信する送信部とを有する。【選択図】図２
2015143893.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが有する端末に送信する画面を生成する画面生成サーバを複数と、前記複数の画面生成サーバに接続され、且つ前記複数の画面生成サーバのうち少なくとも一の画面生成サーバに対して生成する画面に関する画面生成命令を送信する演算サーバと、を有するサーバシステムであって、
前記演算サーバは、
ユーザが有する端末から前記端末に対するユーザの操作に対応する信号を受信する第一の受信部と、
受信した前記信号に基づいて画面生成命令を生成する生成部と、
前記複数の画面生成サーバ夫々の演算資源を管理する管理部と、
前記管理部によって管理された前記複数の画面生成サーバ夫々の演算資源に基づいて前記生成部により生成した画面生成命令を送信する画面生成サーバを選択する選択部と、
前記選択部により選択した画面生成サーバに前記生成部により生成した画面生成命令を送信する第一の送信部と、を有し、
前記画面生成サーバ夫々は、
前記第一の送信部より送信された画面生成命令を受信する第二の受信部と、
受信した画面生成命令に基づいて画面を生成する画面生成部と、
生成した画面を少なくとも前記端末に送信する第二の送信部と、
を有するサーバシステム。
【請求項２】
前記管理部は、前記複数の画面生成サーバ夫々の演算資源を示すテーブルを有する
請求項１に記載のサーバシステム。
【請求項３】
前記演算サーバは、
前記第一送信部が前記画面生成命令を送信する際に前記テーブルを更新する更新部
を有する請求項２に記載のサーバシステム。
【請求項４】
前記演算サーバを複数有し、複数の前記演算サーバ夫々は前記複数の画面生成サーバ夫々と接続され、前記複数の演算サーバ夫々は前記テーブルにアクセス可能に構成されてなる
請求項２に記載のサーバシステム。
【請求項５】
前記演算資源は、前記複数の画面生成サーバ夫々が有するＶＲＡＭに記憶された演算資源であり、
前記選択部は、前記画面生成命令に基づいて生成される画面に使用される演算資源が記憶されているＶＲＡＭを有する画面生成サーバを優先的に選択する
請求項１〜４のいずれか一つに記載のサーバシステム。
【請求項６】
前記演算資源は、前記複数の画面生成サーバ夫々が有するＣＰＵの使用率、ＧＰＵの使用率、ＲＡＭの空き容量、またはＶＲＡＭの空き容量の少なくとも１つである
請求項１〜５のいずれか一つに記載のサーバシステム。
【請求項７】
ユーザが有する端末に送信する画面を生成する画面生成サーバと、前記画面生成サーバに接続され、且つ前記画面生成サーバに対して生成する画面に関する画面生成命令を送信する演算サーバを複数と、前記複数の演算サーバ夫々と接続される選択ユニットと、を有するサーバシステムであって、
前記選択ユニットは、
ユーザが有する端末から演算の開始に関する情報を受信する第一の受信部と、
前記複数の演算サーバ夫々の演算資源を管理する管理部と、
前記演算の開始に関する情報と、前記管理部によって管理された前記複数の演算サーバ夫々の演算資源とに基づいて前記第一の受信部が受信した情報に対応する情報を送信する対象を前記複数の演算サーバから決定する割当部と、
前記割当部が決定した演算サーバに前記第一の受信部が受信した情報に対応する情報を送信する第一の送信部と、を有し、
前記複数の演算サーバ夫々は、
前記第一の送信部が送信した情報を受信する第二の受信部と、
受信した情報に基づいて画面生成命令を生成する生成部と、
生成した前記画面生成命令を前記画面生成サーバに送信する第二の送信部と、を有し、
前記画面生成サーバは、
前記第二の送信部より送信された画面生成命令を受信する第三の受信部と、
受信した画面生成命令に基づいて画面を生成する画面生成部と、
生成した画面を送信する第三の送信部と、
を有するサーバシステム。
【請求項８】
前記管理部は、前記複数の演算サーバ夫々の記憶部に記憶されたプログラムの識別情報を有するテーブルを有し、
前記割当部は、前記複数の演算サーバのうち、前記演算の開始に関する情報に対応するプログラムが記憶された記憶媒体を有する演算サーバを決定する
請求項７に記載のサーバシステム。
【請求項９】
前記選択ユニットは、
前記複数の演算サーバのうち、前記演算の開始に関する情報に対応するプログラムが記憶された記憶媒体を有する演算サーバが存在しない場合前記複数の演算サーバのうち一のサーバに、前記プログラムをインストールせしめる指示を送信する指示部をさらに有し、
前記複数の演算サーバ夫々は、
前記指示部からの指示に応じて前記プログラムを記憶部に記憶せしめる制御部をさらに有する
請求項８に記載のサーバシステム。
【請求項１０】
前記選択ユニットは、
前記指示部による前記指示に基づいて前記テーブルを更新する更新部をさらに有する
請求項９に記載のサーバシステム。
【請求項１１】
前記演算資源は、前記複数の演算サーバ夫々が有するＣＰＵの使用率またはＲＡＭの使用容量のうち少なくとも１つである
請求項７〜１０のいずれか１つに記載のサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、2以上のサーバを含むサーバシステムに関し、ネットワークに接続されたクライアント機器に関して描画した画面を提供する技術に関する。
【背景技術】
【０００２】
関連する技術では、ユーザ側においてユーザの端末にて描画処理を実行し、描画した画面を端末が備える、または端末に接続された表示装置に表示していた。この場合端末には描画を行うために高い性能が要求され、昨今の美麗なグラフィックをユーザに提供するゲームの台頭により、描画を行うための性能に対する要求はますます高くなっている。
【０００３】
一方で、スマートフォンなどの携帯型の端末においてゲーム体験を所望するユーザも増加している。このような携帯型の端末は十分な描画性能を現状有しておらず、上述のような美麗なグラフィックを用いたゲーム体験を携帯型の端末でユーザが得るためにその描画性能の向上が求められている。
【０００４】
これに対し、特許文献１に記載されているように、ユーザ側の端末の描画性能等の処理能力に依存せずに、上述のような美麗なグラフィックを用いたゲーム体験をユーザに提供することのできる技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２４５３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば特許文献１に開示されているような関連する技術において、サーバを構成する部品夫々にはその性能や容量に当然限界がある。このため一つのサーバが同時に提供することのできるアプリケーションの数や一つのサーバが演算結果を提供することのできる端末の数には限界がある。例えばこの関連する技術を具現化したシステムの利用を多くのユーザが望んだ場合サーバの数を増加することによりその利用要求に対応することも可能ではある。しかし、コストとの関係上、際限なくサーバの数を増加することができない。このため、ユーザ数が増加した場合にシステムを構成する複数のサーバ全体としての効率を向上させるという問題の発生が予測される。
【０００７】
本発明の少なくとも１つの実施形態は、システムを構成する複数のサーバ全体としての効率を向上させるサーバシステムを提供すること目的とする。
【課題を解決するための手段】
【０００８】
非限定的な観点によると本発明の一実施形態に係るサーバシステムは、ユーザが有する端末に送信する画面を生成する画面生成サーバを複数と、前記複数の画面生成サーバに接続され、且つ前記複数の画面生成サーバのうち少なくとも一の画面生成サーバに対して生成する画面に関する画面生成命令を送信する演算サーバと、を有するサーバシステムであって、前記演算サーバは、ユーザが有する端末から前記端末に対するユーザの操作に対応する信号を受信する第一の受信部と、受信した前記信号に基づいて画面生成命令を生成する生成部と、前記複数の画面生成サーバ夫々の演算資源を管理する管理部と、前記管理部によって管理された前記複数の画面生成サーバ夫々の演算資源に基づいて前記生成部により生成した画面生成命令を送信する画面生成サーバを選択する選択部と、前記選択部により選択した画面生成サーバに前記生成部により生成した画面生成命令を送信する第一の送信部と、を有し、前記画面生成サーバ夫々は、前記第一の送信部より送信された画面生成命令を受信する第二の受信部と、受信した画面生成命令に基づいて画面を生成する画面生成部と、生成した画面を少なくとも前記端末に送信する第二の送信部と、を有する。
【０００９】
非限定的な観点によると本発明の一実施形態に係るサーバシステムは、ユーザが有する端末に送信する画面を生成する画面生成サーバと、前記画面生成サーバに接続され、且つ前記画面生成サーバに対して生成する画面に関する画面生成命令を送信する演算サーバを複数と、前記複数の演算サーバ夫々と接続される選択ユニットと、を有するサーバシステムであって、前記選択ユニットは、ユーザが有する端末から演算の開始に関する情報を受信する第一の受信部と、前記複数の演算サーバ夫々の演算資源を管理する管理部と、前記演算の開始に関する情報と、前記管理部によって管理された前記複数の演算サーバ夫々の演算資源とに基づいて前記第一の受信部が受信した情報に対応する情報を送信する対象を前記複数の演算サーバから決定する割当部と、前記割当部が決定した演算サーバに前記第一の受信部が受信した情報に対応する情報を送信する第一の送信部と、を有し、前記複数の演算サーバ夫々は、前記第一の送信部が送信した情報を受信する第二の受信部と、受信した情報に基づいて画面生成命令を生成する生成部と、生成した前記画面生成命令を前記画面生成サーバに送信する第二の送信部と、を有し、前記画面生成サーバは、前記第二の送信部より送信された画面生成命令を受信する第三の受信部と、受信した画面生成命令に基づいて画面を生成する画面生成部と、生成した画面を送信する第三の送信部と、を有する。
【発明の効果】
【００１０】
本願の各実施形態により１または２以上の不足が解決される。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の少なくとも一つに対応するサーバシステムを用いた場合のネットワークの構成例を示すブロック図である。
【図２】本発明の実施形態の少なくとも一つに対応するサーバシステムの構成例を示すブロック図である。
【図３】本発明の実施形態の少なくとも一つに対応する演算サーバの構成例を示すブロック図である。
【図４】本発明の実施形態の少なくとも一つに対応する画面生成サーバの構成例を示すブロック図である。
【図５】本発明の実施形態の少なくとも一つに対応するサーバシステムの構成例を示すブロック図である。
【図６】本発明の実施形態の少なくとも一つに対応する選択ユニットの構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。
【００１３】
［第１の実施の形態］
【００１４】
図１に示すように、本発明の一実施の形態におけるサーバシステム１００００と、ユーザが有する端末２００００１〜２００００Ｎ（Ｎは任意の整数）夫々はインターネットやＬＡＮ（ローカルエリアネットワーク）などのネットワーク３００００を介して接続される。
【００１５】
図２を用いてサーバシステム１００００の構成の例について説明する。サーバシステム１００００は、画面生成サーバ２０００１〜２０００Ｎ（Ｎは２以上の任意の整数）と、演算サーバ１０００と、を含む。
【００１６】
画面生成サーバ２００００１〜２００００Ｎの夫々は、端末２００００１〜２００００Ｎが有する端末２００００１〜２００００Ｎのうち少なくとも一つに送信する画面を生成する。
【００１７】
演算サーバ１０００は、画面生成サーバ２０００１〜２０００Ｎに接続され、且つ複数の画面生成サーバ２０００１〜２０００Ｎのうち少なくとも一の画面生成サーバに対して生成する画面に関する画面生成命令を送信する。
【００１８】
図３は、演算サーバ１０００の構成の例を説明する。演算サーバ１０００は、受信部１１００と、生成部１２００と、管理部１３００と、選択部１４００と、送信部１５００と、を少なくとも有する。
【００１９】
受信部１１００は、ユーザが有する端末２００００１〜２００００Ｎの少なくともいずれか一つから端末に対するユーザの操作に対応する信号を受信する。
【００２０】
生成部１２００は、受信した信号に基づいて画面生成命令を生成する。
【００２１】
管理部１３００は、複数の画面生成サーバ２０００１〜２０００Ｎ夫々の演算資源を管理する。例えば、管理部１３００は、図示しない記憶部により複数の画像生成サーバ２０００１〜２０００Ｎ夫々の演算資源を示すテーブルを記憶する。また演算資源とは、例えば、複数の画面生成サーバ２０００１〜２０００Ｎ夫々が有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の使用率、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の使用率、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の空き容量、またはＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の空き容量の少なくとも１つである。
【００２２】
選択部１４００は、管理部１３００によって管理された複数の画面生成サーバ２００００１〜２００００Ｎ夫々の演算資源に基づいて生成部１２００により生成した画面生成命令を送信する画面生成サーバを選択する。
【００２３】
送信部１５００は、選択部１４００により選択した画面生成サーバに生成部１２００により生成した画面生成命令を送信する。
【００２４】
図４に示すように、構成の一例として、画面生成サーバ２０００１〜２０００Ｎ夫々は、受信部２１００と、画面生成部２２００と、送信部２３００と、を少なくとも有する。したがって、画面生成サーバ２０００１〜２０００Ｎ夫々の構成が互いに異なっていてもよい。
【００２５】
受信部２１００は、送信部１５００より送信された画面生成命令を受信する。
【００２６】
画面生成部２２００は、受信した画面生成命令に基づいて画面を生成する。
【００２７】
送信部２３００は、生成した画面を、２００００１〜２００００Ｎの少なくともいずれか一つに送信する。
【００２８】
このように、演算サーバが、複数の画面生成サーバ夫々の演算資源に基づいて画面生成命令を送信する先を決定するため、複数の画面生成サーバ夫々を効率良く稼動させることができる。ここで効率の観点としては、例えば、予定された稼動時間に対する実際に画面生成サーバが稼動している時間の割合、画面生成サーバ夫々が、その最大性能に対して発揮する性能の割合、ＣＰＵ若しくはＧＰＵの使用率、またはＲＡＭ若しくはＶＲＡＭの使用率などがある。この結果、サーバシステム全体としての効率を向上させることができる。
【００２９】
演算サーバ１０００は、管理部１３００に接続され、送信部１５００が画面生成命令を送信する際にテーブルを更新する更新部をさらに有してもよい。これにより、テーブルが新しい状態に保たれる。また、演算サーバ１０００は、画面生成サーバ２０００１〜２０００Ｎ夫々の演算資源を定期的に収集する収集部を有してもよい。また、画面生成サーバ２０００１〜２０００Ｎ夫々に、夫々の演算資源を演算サーバ１０００に送信する報告部を備え、演算サーバ１０００は受信した画面生成サーバ２０００１〜２０００Ｎ夫々からの演算資源に関する情報に基づいてテーブルを更新する制御部を有していてもよい。
【００３０】
また、演算資源は、複数の画面生成サーバ２０００１〜２０００Ｎ夫々が有する図示しないＶＲＡＭに記憶された演算資源であり、選択部１４００は、画面生成命令に基づいて生成される画面に使用される演算資源が記憶されているＶＲＡＭを有する画面生成サーバを優先的に選択するようにしてもよい。この場合における演算資源とは、例えば、生成する画面を構成するオブジェクトのテクスチャなどである。これにより、ＶＲＡＭにすでに展開された演算資源を利用することができるため、ＶＲＡＭに演算資源を展開する時間を省略することができる。
【００３１】
さらに、演算サーバ１０００を複数有し、複数の演算サーバ１０００夫々は複数の画面生成サーバ２０００１〜２０００Ｎ夫々と接続され、複数の演算サーバ１０００夫々はテーブルにアクセス可能に構成されてなるようにサーバシステム１００００を構成することもできる。テーブルは、複数の演算サーバ１０００のうちいずれか一つに備えられていてもよいし、複数の演算サーバ１０００とは別にサーバシステム１００００に備えられていてもよい。
【００３２】
第１の実施形態では、管理部１３００および選択部１４００が演算サーバ１０００に備えられている例を挙げて本実施形態に係る発明を説明したが、管理部１３００および選択部１４００は演算サーバ１０００とは別にサーバシステム１００００内に設けられていてもよい。
【００３３】
［第２の実施の形態］
【００３４】
図５を用いサーバシステムの別の構成例について説明する。サーバシステム２００００は、ユーザが有する端末に送信する画面を生成する複数の画面生成サーバ５０００１〜５０００３と、画面生成サーバ５０００１〜５０００３夫々接続され、且つ画面生成サーバ５０００１〜５０００３のうちいずれか一つに対して生成する画面に関する画面生成命令を送信する演算サーバ４０００１〜４０００３と、複数の演算サーバ４０００１〜４０００３夫々と接続される選択ユニット３０００と、を有する。ここで、演算サーバおよび画面生成サーバの数を３つずつ有する例を用いて説明するが、演算サーバは2つ以上あればよく、また画面生成サーバは１つ以上であればよい。
【００３５】
選択ユニット３０００は、受信部３１００と、管理部３２００と、割当部３３００と、送信部３４００と、を少なくとも有する。
【００３６】
受信部３１００は、ユーザが有する端末２００００１〜２００００Ｎのいずれかから演算の開始に関する情報を受信する。この情報の例としては、アプリケーションの起動に対応する信号や、端末２００００１〜２００００Ｎの操作に対応する信号である。
【００３７】
管理部３２００は、前記複数の演算サーバ夫々の演算資源を管理する。演算資源の例としては、複数の演算サーバ４０００１〜４０００３夫々が有するＣＰＵの使用率、ＲＡＭの使用容量である。
【００３８】
割当部３３００は、演算の開始に関する情報と、管理部３２００によって管理された複数の演算サーバ４０００１〜４０００３夫々の演算資源とに基づいて受信部３１００が受信した情報に対応する情報を送信する対象を複数の演算サーバ４０００１〜４０００３から決定する。別の構成として、割当部３３００は、少なくとも管理部３２００によって管理された複数の演算サーバ４０００１〜４０００３夫々の演算資源に基づいて受信部３１００が受信した情報に対応する情報を送信する対象を複数の演算サーバ４０００１〜４０００３から決定してもよい。
【００３９】
送信部３４００は、割当部３３００が決定した演算サーバに受信部３１００が受信した情報に対応する情報を送信する。
【００４０】
複数の演算サーバ４０００１〜４０００３夫々は、演算サーバ１０００と同様の構成をとることができる。また、画面生成サーバが一つの場合には管理部１３００および選択部１４００を備えなくてもよい。
【００４１】
複数の画像生成サーバ５０００１〜５０００３夫々は、画像生成サーバ２００００１〜２００００Ｎのいずれかと同様の構成をとることができる。
【００４２】
このように、選択ユニットが、演算の開始に関する情報と、管理部によって管理された複数の演算サーバ夫々の演算資源とに基づいて演算を行う演算サーバを決定するため、複数の演算サーバ夫々を効率良く稼動させることができる。ここで効率の観点としては、例えば、予定された稼動時間に対する実際に演算サーバが稼動している時間の割合、演算サーバ夫々が、その最大性能に対して発揮する性能の割合、ＣＰＵの使用率、またはＲＡＭの使用率などがある。この結果、サーバシステム全体としての効率を向上させることができる。
【００４３】
管理部３２００は、複数の演算サーバ４０００１〜４０００３夫々の記憶部（図示しない）に記憶されたプログラムの識別情報を有するテーブルを有していてもよい。この場合割当部３３００は、複数の演算サーバ４０００１〜４０００３のうち、演算の開始に関する情報に対応するプログラムが記憶された記憶媒体を有する演算サーバを決定する。
【００４４】
さらに、選択ユニット３０００は、複数の演算サーバ４０００１〜４０００３のうち、演算の開始に関する情報に対応するプログラムが記憶された記憶媒体を有する演算サーバが存在しない場合複数の演算サーバ４０００１〜４０００３のうち一のサーバに、そのプログラムをインストールせしめる指示を送信する指示部（図示しない）をさらに有していてもよい。この場合前記複数の演算サーバ４０００１〜４０００３夫々は、指示部からの指示に応じてプログラムを記憶部に記憶せしめる制御部（図示しない）を有する。また、プログラムを記憶部に記憶せしめた場合に指示部による指示に基づいてテーブルを更新する更新部をさらに備えせしめることもできる。
【産業上の利用可能性】
【００４５】
本発明によれば、システムを構成する複数のサーバ全体としての効率を向上させるのに有用である。
【符号の説明】
【００４６】
１００００、２００００  サーバシステム
２００００１、２００００２、２００００Ｎ  端末
３００００  ネットワーク
１０００  演算サーバ
２０００１、２０００２、２０００Ｎ  画面生成サーバ
１１００  受信部
１２００  生成部
１３００  管理部
１４００  選択部
１５００  送信部
２１００  受信部
２２００  画面生成部
２３００  送信部
３０００  選択ユニット
３１００  受信部
３２００  管理部
３３００  割当部
３４００  送信部
【図１】
2015143893.tif 000003
【図２】
2015143893.tif 000004
【図３】
2015143893.tif 000005
【図４】
2015143893.tif 000006
【図５】
2015143893.tif 000007
【図６】
2015143893.tif 000008