JP2017523014A - マルチモードサーバのデータセンターの管理 - Google Patents

マルチモードサーバのデータセンターの管理 Download PDF

Info

Publication number
JP2017523014A
JP2017523014A JP2017520769A JP2017520769A JP2017523014A JP 2017523014 A JP2017523014 A JP 2017523014A JP 2017520769 A JP2017520769 A JP 2017520769A JP 2017520769 A JP2017520769 A JP 2017520769A JP 2017523014 A JP2017523014 A JP 2017523014A
Authority
JP
Japan
Prior art keywords
game
mode
video
data center
gaming
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.)
Pending
Application number
JP2017520769A
Other languages
English (en)
Inventor
ピーター ガーデン,ユアン
ピーター ガーデン,ユアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Microsoft Technology Licensing LLC
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 Microsoft Corp, Microsoft Technology Licensing LLC filed Critical Microsoft Corp
Publication of JP2017523014A publication Critical patent/JP2017523014A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2408Monitoring of the upstream path of the transmission network, e.g. client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Pinball Game Machines (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明の態様は、ゲームモードとビデオエンコードモードで動作し得るマルチモードゲーミングサーバに関する。本発明の態様では、データセンターにおいて異なる計算プロジェクトへのデマンドをモニタし、ゲーミングサーバを異なるモードに変更してそのデマンドを満たすことができる。異なるモードのゲーミングサーバの配置は、データセンターに渡る発熱を均等にバランスするように行い得る。

Description

一般に、データセンターにおける展開のために選択されるサーバは、広い範囲の計算タスクを実行できるが、幾つかの特殊な計算タスクを非常に効率的には実行できないことがある。例えば、エンタープライズサーバは、中央処理装置(CPU)によりビデオ符号化を実行できるかも知れないが、その処理は効率的ではないかも知れない。一方、ビデオ処理のために設計されたサーバは、一般的な計算プロジェクトを効率的には実行できないかも知れない。
本欄では、コンセプトの一部を選んで、簡単に説明するが、これらは発明の詳細な説明で詳しく説明する。この概要は、特許を請求する主題の重要な特徴や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を決定するのを助けるものでもない。
一態様では、データセンター内のマルチモードゲーミングサーバを管理する方法を提供する。本方法は、複数のマルチモードゲーミングサーバのうち50%より多くのものをゲームモードに設定するステップを含む。各マルチモードゲーミングサーバは中央処理装置(CPU)、グラフィックス処理装置(GPU)、及びビデオエンコーダを含む。本方法は、複数のマルチモードゲーミングサーバを含むデータセンターユニットにおけるゲームを求めるデマンドをモニタするステップも含む。本方法は、計算デバイスにおいて、新しいゲームセッションを求める要求のレートを分析することにより、ゲームを求めるデマンドがいつ閾値より低くなるか決定するステップをさらに含む。本方法は、前記決定に応じて、複数のマルチモードゲーミングサーバをゲームモードからビデオレンダモードに移行するステップをさらに含む。本方法は、サブセット中のマルチモードゲーミングサーバにビデオレンダジョブを割り当てるステップも含む。
本発明の態様を添付した図面を参照して以下に詳細に説明する。
本発明の態様を実装するのに適した計算環境例を示すブロック図である。
本発明の一態様によるゲーム環境を示す図である。
本発明の一態様による、マルチモードゲーミングサーバを有する一以上のデータセンターを有するリモートゲーミング環境を示す図である。
本発明の一態様による様々なモードのマルチモードゲーミングサーバの構成を示す図である。
本発明の一態様による様々なモードのマルチモードゲーミングサーバの構成を示す図である。
本発明の一態様によるアクティブゲーミングリソースを有する、電力使用を示すマザーボードを示す図である。
本発明の一態様によるアクティブレンダーリソースを有する、電力使用を示すマザーボードを示す図である。
本発明の一態様によるアクティブゲームスニペットモードを有する、電力使用を示すマザーボードを示す図である。
本発明の一態様によるデータセンター内の負荷を管理する方法を示す図である。
本発明の一態様によるデータセンター内のマルチモードゲーミングサーバを管理する方法を示す図である。
法定要件を満たすため、本発明の態様の主題をここに具体的に説明する。しかし、説明自体は本特許の範囲を限定することを意図するものではない。むしろ、本発明は、特許請求の主題が他の方法で実施することもできることを想定して、他の現在の又は将来の技術に関して、この文書で説明するものとは異なるステップ又は同様のステップの組み合わせを含む。さらに、「ステップ」及び/又は「ブロック」との用語を用いて、方法の異なる要素を示すが、これらの用語は、個々のステップの順序を明示的に説明しない限り、ここに開示される様々なステップ間の特定の順序を示唆するものと解釈してはならない。
本発明の態様は、ゲームモードとビデオエンコードモードで動作できるマルチモードゲーミングサーバ(別名「ゲーミングサーバ」または「ゲームサーバ」)の管理に関する。一般的に、データセンターコントローラは、ゲームを求めるデマンドがピークを迎えている時にはゲーミングサーバをゲームモードにし、オフピーク時にはゲーミングサーバをビデオレンダモードに移行できる。オフピーク時にビデオレンダリングを促進するために、データセンターはビデオレンダリングジョブを集積するキューを使用してもよい。このキューは、ビデオレンダリングジョブを優先して、使用可能となった第1のゲーミングサーバに、最も緊急のプロジェクトを割り当てる。
本発明の態様は、ゲームプレイの特徴をモニタして、ゲーミングサーバがゲームモードに入る又はゲームモードから出るべきか判断する。本発明の態様はゲームタイトルによりゲームインスタンスをモニタしてもよい。例えば、本発明の態様は、データセンターにおいてあるゲームタイトルを求めるデマンドが400ゲームインスタンスであることを予測してもよい。一態様では、ゲーミングサーバは単一のゲームタイトル又は少数のゲームタイトルのみがプリロードされる。この場合、個々のゲーミングサーバは、そのゲームサーバが実行するように設定されたゲームを求めるデマンドが減少するにつれ、ゲームモードから移行してもよい。
ここでは、「ゲーミングサーバ」は、そのゲーミングサーバがビデオゲームを実行して、クライアントデバイスに送信するため、そのビデオゲームのレンダリングされたビデオストリームを生成できるようにするソフトウェアと共に、CPU、GPU及びハードウェアビデオエンコーダを有する計算デバイスを指す。よって、汎用サーバは「ゲーミングサーバ」ではない。さらに、クライアントに対してレンダリングされたビデオゲーム画像を生成しないサーバは、ここで言うゲーミングサーバではない。
ゲーミングサーバはデータセンターで動作するハードウェアとソフトウェアとを有する。具体的に、ゲーミングサーバは、データセンターファブリック(data center fabric)としても説明されるデータセンターコントローラにより様々な計算タスクを実行するよう命令される。一態様では、ゲーミングサーバは、Microsoft社のXbox 360、SonyのPlayStation(登録商標)ファミリー、Xbox One、及びNintendo社のWiiなどの市販のビデオゲーム機で使われているのと同じCPU及びGPUを有する。
本発明の態様では、データセンター内の個々のサーバまたはサーバグループの冷却ニーズに基づき、サーバを管理してもよい。一態様では、ゲーミングサーバが発生する熱は2つのモードで異なる。本発明の態様では、ゲーミングサーバのモードを変更して、データセンターユニットにおいて使用できる冷却にマッチさせる。例えば、ファンウォール(fan wall)でラック内の一群のサーバを冷却してもよい。
ここで用いる「ゲーム用最適化計算リソース(gaming optimized computing resource)」は、ゲーム機などのクライアントデバイスにレンダリングされたビデオゲーム画像を出力するように構成されている。ビデオゲーム画像は、クライアントに送信される、ストリーミングビデオとしてレンダリングされてもよい。高画質のビデオゲーム画像をレンダリングするために、ゲーミング最適化計算リソースは、汎用の計算リソースに使われているようなグラフィックス処理ユニットよりもパワフルなグラフィックス処理ユニットを有することがある。ゲーム用最適化計算リソースは、専用のビデオエンコーディング機能も有する。
消費電力はプロセッサの機能のプロキシとして用いられる。一態様では、「ゲーミングサーバ」は、ピークパワー消費時にゲーミングサーバが使う、閾値パーセンテージより大きいパワーを消費するGPUを含むことにより定義できる。一態様では、パワーの閾値パーセンテージは、ピークパワーの40%より大きく、例えば、50%より大きく、例えば、60%より大きく、例えば、70%より大きく、又は80%より大きい。例えば、ゲーミングサーバ中のGPUは、ゲーム用最適化計算リソースで(例えば、GPU、CPU、及びビデオエンコードの)トータルパワー使用が150Wのときに、100W使うことがある。
本発明の態様では、様々なタイプの計算リソースが異なるパワーモード又は状態間を移行する。ここで、「低パワーモード」とは、リソースがその最大パワーレートの20%未満で動作することを意味する。一例として、低パワーモードのリソースは、マザーボードソケットでシャットオフされるが、パワーオンコマンドには応答できる。
ここで、「アクティブ処理モード」とは、計算リソースが計算負荷をアクティブに処理していることを意味する。アクティブ処理モードの計算リソースは、20%より大きいリソースの最大パワーレートを使うことができる。
本発明の態様の概要を簡単に説明したので、本発明の実施態様での使用に好適な動作環境例を以下に説明する。
《動作環境例》
図面を参照し、特に図1を最初に参照して、本発明の態様を実装する動作環境例を示し、広く計算デバイス100とする。計算デバイス100は、好適な計算環境の一例であり、本発明の使用又は機能の範囲に関する限定を示唆するものではない。どの計算デバイス100も、例示したコンポーネントのどれかまたはその組合せに依存するまたは必要とすると解してはならない。
本発明は、パーソナルデータアシスタントその他のハンドヘルドデバイスなどのコンピュータその他のマシンにより実行される、プログラムコンポーネントなどのコンピュータ実行可能命令を含む一般的なコンピュータコード又は機械使用可能命令の場合に説明する。一般的に、プログラムコンポーネントは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、あるタスクを実行し、またはある抽象的データタイプをインプリメントするコードを言う。本発明の態様は、ハンドヘルドデバイス、コンシューマエレクトロニクス、汎用コンピュータ、専門計算デバイスなどを含む様々なシステム構成で実施してもよい。本発明の態様は、通信ネットワークによりリンクされたリモート処理装置によりタスクが実行される分散計算環境で実施することもできる。
図1を参照して、計算デバイス100は、次のデバイスを直接的に又は間接的に結合するバス110を含む:メモリ112、一以上のプロセッサ114、一以上のプレゼンテーションコンポーネント116、入出力(I/O)ポート118、I/Oコンポーネント120、及び例示的電源122。バス110は、一以上のバスであるもの(アドレスバス、データバス、又はそれらの組み合わせなど)を表す。図1の様々なブロックは、明確化のために線で描かれているが、実際には、様々なコンポーネントを図で表現することはそれほど明らかではなく、隠喩的に、線はより正確にはグレーで曖昧である。例えば、ディスプレイデバイスなどのプレゼンテーションコンポーネントはI/Oコンポーネント120であると考えても良い。また、プロセッサはメモリを有する。この発明は、本技術の性質がかかる通りであり、図1は、本発明の一以上の対象に関して用いることができる単に計算デバイス例を示すだけであるものと、発明者は認識する。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などは区別しない。これらすべては図1の範囲内にあると考えられ、「コンピュータ」又は「計算デバイス」と呼ばれる。
計算デバイス100は、一般的には、様々なコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、計算デバイス100によりアクセスでき、揮発性及び不揮発性の媒体、リムーバブル及び非リムーバブルの媒体を含む。限定ではなく例として、コンピュータ読み取り可能媒体は「コンピュータ記憶媒体」と「通信媒体」とを含む。コンピュータ記憶媒体には、コンピュータ読み取り可能命令、データ構造、プログラムモジュールその他のデータなどの情報を記憶するための任意の方法や技術で実施された、揮発性および不揮発性、リムーバブルまたは非リムーバブルの媒体の両方を含む。
コンピュータストレージ媒体は、RAM、ROM、EEPROM、フラッシュメモリ又はその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、又はその他の磁気ストレージデバイスを含む。コンピュータストレージ媒体は伝搬されるデータ信号は含まない。
通信媒体は、一般的に、キャリア波などの変調データ信号やその他の伝送メカニズム中のコンピュータ読み取り可能命令、データ構造、プログラムモジュールその他のデータを化体し、任意の情報配信媒体を含む。「変調データ信号」との用語は、情報を信号にエンコードするように設定または変更された特徴を有する信号を意味する。限定でなく例示として、通信媒体は、優先ネットワークや直接優先接続などの有線媒体と、音響、RF、赤外線、その他の無線媒体などの無線媒体とを含む。上記のものの任意の組合せもコンピュータ読み取り可能媒体の範囲内に含まれる。
メモリ112は、揮発性及び/又は不揮発性メモリの形式のコンピュータストレージ媒体を含む。メモリ112は、リムーバブルでも、非リムーバブルでも、又はこれらの組み合わせでもよい。メモリの例には、固体メモリ、ハードディスクドライブ、光ディスクドライブなどが含まれる。計算デバイス100は、バス110、メモリ112又はI/Oコンポーネント120などの様々なエンティティからデータを読む一以上のプロセッサ114を含む。プレゼンテーションコンポーネント116はユーザまたはその他のデバイスにデータ指示(data indications)を提供する。プレゼンテーションコンポーネント116の例は、ディスプレイデバイス、スピーカ、印刷コンポーネント、振動コンポーネントなどを含む。I/Oポート118により、計算デバイス100は、I/Oコンポーネント120を含むその他のデバイスに論理的に結合しており、そのうちの幾つかは組み込まれていても良い。例示のI/Oコンポーネント120は、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ(satellite dish)、スキャナ、プリンタ、ワイヤレスデバイスなどを含む。
《オンラインゲーミング環境例》
図2を参照して、本発明の一態様による、マルチモードゲーミングサーバがデータセンター内に展開されるオンラインゲーミング環境200を示す。オンラインゲーミング環境200は、ネットワーク220を通してゲームサービス230に接続された様々なゲームクライアントを含む。ゲームクライアント例は、ゲーム機210、タブレット212、及びパーソナルコンピュータ214を含む。スマートフォンなどのその他のゲームクライアントを用いることも可能である。ゲーム機210は、それに通信可能に結合された一以上のゲームコントローラを有する。一態様では、タブレット212は、ゲーム機210又はパーソナルコンピュータ214の入力デバイスとして機能してもよい。他の一態様では、タブレット212はスタンドアロンのゲームクライアントである。ネットワーク220はインターネットなどのワイドエリアネットワークであってもよい。
ゲームサービス230は、互いに通信可能に結合された複数の計算デバイスを含む。一態様では、ゲームサービス230は、マルチモードゲーミングサーバを含む一以上のデータセンターを用いて実装される。データセンターは、世界中の都市を含む様々な地理的領域にわたり広がっていてもよい。このシナリオでは、ゲームクライアントは最も近いデータセンターに接続してもよい。本発明の実施形態はこの設定に限定されない。
ゲームサービス230により、ゲームは、ゲームサービス230により提供されるゲームを、計算デバイス内で実行できる。ゲームサービスとゲームクライアント間の通信セッションは、ゲームサービス230への入力トラフィックを送り(carries)、レンダリングされたゲーム画像を返す。この態様では、ゲームサービスの一部である計算デバイスは、様々なゲームクライアントに関連する入力デバイスにより生成された制御ストリームを用いて、ビデオゲームコードを実行するレンダリングされたビデオゲームは、次いで、ネットワークを介してゲームクライアントに送信され、レンダリングされたゲームはそこで表示のため出力される。
ゲームサービス230は、非マルチモードゲーミングサーバとマルチモードゲーミングサーバとの組み合わせを用いて、ゲームを実行し、ビデオゲーム画像をレンダリングするデータセンターにより提供されてもよい。一態様では、最低限の又は基本的なゲーミングデマンドにマッチするように、非マルチモードゲーミングサーバが含まれていても良い。非マルチモードゲーミングサーバは、様々なフォーマットでビデオをレンダリングするソフトウェアを含んでいなかも知れない。一方、マルチモードゲーミングサーバは、ビデオを一以上のフォーマットにエンコードするソフトウェアを含んでいてもよい。
《ゲームサービス例》
ここで図3を参照して、本発明の一態様によるリモートゲーミング環境300を示す。ゲーミング環境300は、ネットワーク330を介してゲームサービス340に通信可能に結合したゲームクライアント310を含む。ゲーミングサービスは、一以上のマルチモードゲーミングサービスを用いて、ピークゲーミングデマンドに対応してもよい。
ある実施形態では、ネットワークはインターネットであってもよい。図3のデバイスとそのデバイスで実行されているプログラムは、一以上の通信プロトコルを用いた互いに通信してもよい。通信プロトコルには、HTTP(hypertext transfer protocol)、RTP(real−time transport protocol)、RTSP(real time streaming protocol)、RTMP(real time messaging protocol)、SOAP(simple object access protocol)、REST(representational state transfer)、UDP(user datagram protocol)、及び/又はTCP(transmission control protocol)が含まれる。
ゲームクライアント310は、第1のゲーム入力デバイス312と、第2のゲーム入力デバイス314と、ディスプレイ316とに接続されている。ゲーム入力デバイスの例には、ゲームパッド、キーボード、マウス、タッチパッド、タッチスクリーン、音声コマンドを受信するマイクロホン、奥行きカメラ、ビデオカメラ、キーボード、及びトラックボールを含む。本発明の態様はこれらの入力デバイスに限定されない。ディスプレイデバイス316はビデオゲームコンテンツを表示できる。例えば、ディスプレイ316は、テレビジョンまたはコンピュータスクリーンであってもよい。他の一態様では、ディスプレイ316はゲームクライアント310に組み込まれたタッチスクリーンである。
ゲームクライアント310はビデオゲームを実行できる計算デバイスである。ゲームクライアント310はタブレットまたはラップトップコンピュータであってもよい。他の一態様では、ゲームクライアント310はゲーム機であり、ディスプレイ316はそのゲーム機に通信可能に結合したリモートディスプレイである。ゲームクライアント310は、動作環境320、ゲーム実行環境322、ゲームデータストア324、ゲームサービスクライアント326、及びプレーヤプロフィールデータストア328を含む。
動作環境320は、ハードウェアを管理し、ゲームクライアント310上で実行されているアプリケーションにサービスを提供するオペレーティングシステムにより提供されてもよい。オペレーティング環境は、クライアントリソースに、ゲームマイグレーション(game migration)の一部として、異なるアプリケーションを割り当ててもよい。例えば、動作環境は、ゲームプレイがゲームクライアント310に移行(migrate)されると、ゲーム実行環境322にディスプレイの制御を移す。
ゲーム実行環境322は、ゲームまたはゲームプレビューのインスタンスを実行するのに必要なクライアント310上のゲームリソースを含む。ゲーム実行環境322は、計算及びビデオ処理と共にアクティブメモリを含む。ゲーム実行環境322は、ゲーム制御を受け取り、ゲームのプログラムにしたがってそのゲームを操作及び進行させる。一態様では、ゲーム実行環境322は、レンダリングされたビデオストリームを出力する。ビデオストリームはディスプレイ316に送られる。
ゲームデータストア324は、ダウンロードされたゲーム、ゲームプレビュー、及び部分的にダウンロードされたゲームを記憶する。
ゲームサービスクライアント326は、ゲームサービス340から受け取った、レンダリングされたビデオゲーム画像を表示するクライアントアプリケーションである。ゲームサービスクライアント326は、ゲーム入力を処理し、それをアップロードが容易なフォーマットに変更してもよい。このフォーマットがゲームサービス340に送信される。ゲームサービスクライアント326は、サービス340から受信したレンダリングされたビデオゲーム画像を、ディスプレイ316に対して最適化されたサイズにスケーリングしてもよい。
プレーヤプロフィールデータストア328は、個々のゲームのプレーヤプロフィール情報を記憶する。プレーヤプロフィール情報は、プレビューを含む個々のゲームのツームストーン(tombstones)またはゲーム保存データを保存してもよい。ゲーム保存ファイル及びツームストーンの両方は、ゲーム進行を記録する。ゲーム実行環境322は、ゲーム保存データを読み出し、プレーヤがやめたところからサーバ上でゲームを開始する。反対のシナリオも可能であり、ゲーム保存データとプレーヤプロフィール情報がゲームクライアント310からゲームサービス340にアップロードされ、ゲームが開始されてもよい。
ゲームサービス340は、接続マネージャ342、プレーヤプロフィールデータストア344、ゲーム実行環境348、及びゲームデータストア350を有する。ゲームサービス340は、単一のボックスとして示したが、マルチモードゲーミングサーバを含む多数のマシンを有するデータセンターに、さらには複数のデータセンターに実装されてもよい。
接続マネージャ342は、クライアント310とサービス340との間に接続を構成する。接続マネージャ342は、ゲームサービス340にアクセスする許可をユーザが受けていることを確認する様々な認証メカニズムを提供してもよい。接続マネージャ342は、また、接続において使用できる帯域幅を分析して、ゲームプレイ中にゲームのダウンロードを調節し、ゲームプレイが損なわれないようにする。
プレーヤプロフィールデータストア344は、接続マネージャ342と連動して動作し、プレーヤ情報を構成及び記憶してもよい。プレーヤプロフィールの一部は、プレーヤの氏名、住所、またはゲームサービスにより提供されるゲーム及び体験に対する支払い又は購入をするためのクレジットカード情報その他の手段などのデモグラフィック情報及び金融情報を含んでもよい。
また、プレーヤプロフィールデータストア344は、個々のゲーム中にプレーヤの進行を記憶してもよい。プレーヤがゲーム又はゲームプレビューを進むにつれ、プレーヤのスコアとゲームレベルへのアクセスとが記憶されてもよい。さらに、プレーヤプロフィールデータストア344は、言語選択などの個々のプレーヤの選択(preferences)に関する情報を記憶してもよい。プレーヤのゲームクライアント及びネットワーク接続のスピードに関する情報も記憶されてもよく、ゲーム体験を最適化するのに使用されてもよい。例えば、一態様では、地理的に最も近いデータセンターがビジーであるとき、レイテンシがより高いインターネット接続をしているプレーヤは、好ましくは最も近いデータセンターに接続し、レイテンシがより低い接続をしているプレーヤは、より遠いデータセンターに接続してもよい。このように、レイテンシが増えても最も良く処理できるネットワーク接続をしているプレーヤが、レイテンシが増えるデータセンターに接続される。
プレーヤプロフィールデータストア344は、個々のプレーヤの使用履歴を記憶してもよい。ゲームの購入、ゲームの試用、又はゲームの購入を必要としないゲームサービスによるプレイが記憶されてもよい。使用情報を分析して、個々のプレーヤに関心のあるゲームを示唆してもよい。一態様では、購入履歴は、ゲームサービスを通して購入されていないゲームを含んでもよい。例えば、購入履歴は、小売店で購入されたゲームのキーを入力して、プレーヤにより補われてもよい。幾つかの態様では、プレーヤは、自分のゲームクライアント310で、及びゲームクライアントのところにいない時にはゲームサービスを通じて、両方で、ゲームにアクセスしてもよい。
ゲーム実行環境348は、ゲームのインスタンスを実行するのに必要なゲームリソースを含む。これらは、ゲームマネージャ352その他のコンポーネントにより管理される、前述のリソースである。ゲーム実行環境348は、計算及びビデオ処理と共にアクティブメモリを含む。ゲーム実行環境348は、I/Oチャンネルを通じてゲーム制御を受け取り、ゲームのプログラムにしたがってそのゲームを操作及び進行させる。一態様では、ゲーム実行環境348は、レンダリングされたビデオストリームを出力する。ビデオストリームはゲームクライアントに送られる。他の態様では、ゲーム実行環境348は、ゲームジオメトリ(game geometry)又はその他の表現(representations)を出力する。これはゲームビデオをレンダリングするゲーミングクライアントでローカルオブジェクトと結合されてもよい。
ゲームデータストア350は使用可能なゲームを格納する。ゲームはデータストアから読み出され、アクティブメモリを通して起動される。ゲームデータストア350は、パッシブ又は補助メモリとして説明されてもよい。一般的に、ゲームデータストア350のゲームはプレーオフできない。しかし、幾つかの態様では、補助メモリは仮想メモリとして使用されてもよい。この場合、ゲームデータストア350の一部がアクティブメモリとして機能してもよい。これは、アクティブメモリは必ずしも特定のハードウェアコンポーネントにより確定されず、ゲームリソースがメモリ中のオブジェクトをアクティブに操作及びアクセスできる能力により確定される。
ここで図4を参照して、本発明の一態様によるデータセンター400内のマルチモードゲーミングサーバ構成400を示す。この構成はラック410、ラック412、ラック414及びラック416を含む。簡単のため、4つのラックを示す。実際の実装では、数十、数百、又は数千のラックがデータセンター内に展開されてもよい。各ラックは、多数のサーバ、配電機器、及びネットワーキング機器を含む。一実施形態では、ネットワーキングケーブルが、ラック内のルータ/スイッチに配線される。ラック中の各サーバはルータに接続される。同様に、電源がラックに結合された配電ステーションに配線(run)される。各サーバは配電ステーションに結合される。
また、各ラックはファンなどの冷却機器を含み得る。一構成では、サーバの背後にファンウォールを設け、サーバを通して空気を吸引する。ファンウォールは、複数列のファンを有し、各列が一群のサーバを冷却する。垂直冷却構成では、一以上のファンがラックの上または下に配置され、ラック内のサーバへの気流を促進する。冷却機器は、温度、圧力、及びラックを通る気流を測定する熱電対その他のセンサを含んでも良い。ラックは、一以上の固定又は調節可能なバッフルを含み、冷却が必要なところに空気を配分してもよい。
制御ファブリック(control fabric)402は、代替的にデータセンターコントローラとしても説明されるが、ラックと、そのラック内のマルチモードゲーミングサーバとに通信可能に結合している。制御ファブリック402は各マルチモードゲーミングサーバの状態を管理する。例えば、制御ファブリック402は、ゲームモードとビデオエンコードモードとの間でマルチモードゲーミングサーバを移行できる。制御ファブリック402は、ゲームセッションとビデオエンコードジョブとを開始するステップを含む負荷を、複数の計算デバイスに分散できる。制御ファブリック402は、ラック内の冷却機器も管理できる。例えば、制御ファブリック402は、ラック内のサーバが低パワーモードにある時、そのラック内のファンスピードを下げることができる。
ビデオエンコードジョブマネージャ404は、ビデオエンコードジョブを蓄積して分配する。一態様では、ジョブマネージャ404は、単一のビデオが異なる複数のビデオフォーマットでエンコードされることを要するビデオエンコードジョブを受け取る。フォーマット例は、MPEG(Moving Pictures Experts Group)、H.261、H.262、H.263、H.264、及びH.265エンコーダ、非公式にはVC−1として知られているSMPTE(Society of Motion Picture and Television Engineers)421M、及びDiracまたはVC−2を含む。
制御ファブリック402は、使用データを分析して、なかんずく、あるゲームタイトルのいくつのスタンバイインスタンス(standby instances)が使用可能であるべきか、いくつのゲーミングサーバがスタンバイインスタンスに対応(accommodate)するゲームモードにあるべきか、判断する。一般に、デマンドが大きいゲームでは、ゲームのスタンバイインスタンスがより多く使用可能である。ゲームをアクティブメモリにロードしてスタンバイインスタンスを生成するには1,2分かかる。そのため、チャーンインとアウト(churn in and out)が大きいゲームは、より多くのスタンバイゲームインスタンスを使用できるようにする必要がある。ゲームタイトルのスタンバイインスタンスを生成するのにかかる時間も考慮しなければならない。比較的速くロードできるゲームは、スタンバイインスタンスが少なくて良い。追加のゲームインスタンスを、デマンドが変化するのに応じて素早く生成できるからである。言い換えると、ロード時間がかかるゲームは、より多くのスタンバイゲームを必要とする。各ゲーミングサーバにより処理されるゲームインスタンスの数も要因である。一態様では、個々のゲーミングサーバは2つのゲームインスタンスを生成できる。ゲームインスタンスはマルチプレーヤインスタンスであってもよい。
制御ファブリック402は、ゲーミングサーバのリソースをゲームプールに割り当てても良い。ゲームプールに割り当てられるサーバリソースは、アクティブゲームインスタンスを実行するのに必要なリソース、及びプレーヤにひも付けられていないスタンバイゲームインスタンスを含む。様々なゲームに対するデマンドが時間的に変化するにつれ、ゲームプールへのリソースの割り当ては調整され得る。さらに、使用履歴データ(historical usage data)を使用して変化を予測してもよい。例えば、第1のゲームが午後10:00と真夜中の間に第2のゲームより多くプレイされ、第2のゲームは日中により多くプレイされる場合、午後10:00から真夜中の間は、第2のゲームと第1のゲームとの間でリソースがスイッチされてもよい。
データセンターの異なるゲーミングサーバには、異なるビデオ符号化ソフトウェアがインストールされているかも知れない。例えば、各ゲーミングサーバはビデオを、1通り又は2通りの異なるフォーマットでエンコードできるだけかも知れない。データセンターにおいて符号化ソフトウェアを分散させることにより、最もよく使われる符号化フォーマットを均等に分散させてもよい。符号化ソフトウェアを均等に分散することにより、データセンター内に「ホットスポット(hot spots)」ができるのを防げる。ホットスポットは、一群のサーバであって、他のサーバが動作していない時、又はより低いパワーレベルで動作している時に、動作しているものである。ホットスポットを防ぐことにより、データセンター又はその一部に必要な冷却量を減らすことができる。
ネットワークリソースが、制御ファブリック402によって管理され、クライアントデバイスとゲームセッションとの間の通信をしてもよい。このように、追加的計算デバイスがゲームサービスに割り当てられるにつれて、ネットワークリソースが更新され、ゲームサービスが実行されている計算デバイスに通信が適宜ルーティングされてもよい。
ラック414と416は、モードが入り混ざった(mixture)マルチモードゲーミングサーバを示す。本発明の態様は、ラックシャーシなどのデータセンターユニットにおけるモードの混ざりに限定されない。一態様では、データセンターユニット内のすべてのマルチモードゲーミングサーバは、ラック416のように、同じモードで動作している。図4に示すように、ラック414のように、ラック内のモードが入り混ざってもよい。
例示として、ラック416は、ゲームモードのマルチモードゲーミングサーバ420と、ゲームモードのマルチモードゲーミングサーバ422と、ゲームモードのマルチモードゲーミングサーバ424とを含む。ラック416中のすべてのゲーミングサーバはゲームモードである。
例示として、ラック414は、ビデオエンコードモード(video encode mode)のマルチモードゲーミングサーバ430と、ゲームモードのマルチモードゲーミングサーバ432と、ゲームモードのマルチモードゲーミングサーバ424とを含む。3つのゲーミングサーバのうち1つはビデオエンコードモードであり、残りはゲームモードである。さらに、ビデオエンコードモードのゲーミングサーバは、ラック414に均等に分散している。2つに1つサーバ、3つに1つのサーバ、又はN個に1つのサーバ(ここで、Nは整数である)は、データセンターユニットにおける均等に分散したサーバモードの例である。一態様では、ラック内の計算デバイスは、均一なハードウェア構成をしていて、ゲームに最適化されたモードと非ゲームに最適化されたモードとの間でスイッチできる。
マルチモードゲーミングサーバはゲーム最適とビデオエンコードモードとの間で移行できる。一態様では、データセンターは複数の単一モードサーバが混ざったものも含み得る。単一モードサーバの数は、最適化されたサーバにより提供される計算サービスに対するベースデマンドに対応するように指定されてもよい。ベースデマンド(base demand)を満たすための単一モードサーバの展開により、単一モードサーバは平均的に、閾値時間より長くアクティブであり得る。例えば、展開される単一モードサーバの数は、平均で、1日の80%、アクティブでありうる数に限定されてもよい。ゲームなどの負荷に対して最適化された単一モードサーバと組み合わせて、マルチモードゲーミングサーバをピーク使用期間中に用いて、ゲームデマンドに対応することもできる。ピーク時には、ゲーミングサーバはビデオエンコードモードに移動することができる。
ここで図5を参照して、本発明の一態様によるデータセンター400内のマルチモードゲーミングサーバ構成400を示す。図5のハードウェアコンポーネントは図4を参照して前述した。図5は、図4と比較して、オフピークのゲーム使用時における、ゲームモードからビデオエンコードモードへのゲーミングサーバの移行を示す。
例示として、ラック416は、ゲームモード(game mode)のマルチモードゲーミングサーバ420と、ビデオエンコードモードのマルチモードゲーミングサーバ422と、ゲームモードのマルチモードゲーミングサーバ424とを含む。ビデオエンコードモードのゲーミングサーバは、ラック416に均等に分散している。
例示として、ラック414は、ビデオエンコードモード(video encode mode)のマルチモードゲーミングサーバ430と、ゲームモードのマルチモードゲーミングサーバ432と、ビデオエンコードモードのマルチモードゲーミングサーバ434とを含む。3つのゲーミングサーバのうち2つはビデオエンコードモードであり、残りはゲームモードである。さらに、ビデオエンコードモードのゲーミングサーバは、ラック414に均等に分散している。
ここで図6を参照して、本発明の一態様によるゲーミングサーバ内の異なるタイプのリソースが、ゲームモードにおけるそれぞれの使用電力量と共に示されている。マルチパーパス(multipurpose)サーバはマザーボード600を含む。マザーボード600は、ゲーム最適化CPU610、ゲーム最適化GPU612及びビデオエンコーダ614を含む。また、図示しないが、マザーボード600は、ゲーミングサーバの動作をサポートするメモリ及びその他のコンポーネントを含む。例えば、CPUは専用DRAMを有し得る。
一態様では、ゲーム最適化CPU610とゲーム最適化GPU612とは、市販のゲーム機に入っているのと同じチップである。ゲーム機の例には、Xbox 360、SonyのPlayStation(登録商標)ファミリー、Xbox One、及びNintendoのWiiなどが含まれる。ゲーミングサーバのハードウェア構成は、同一のチップセット使用を含め、ゲームを市販のゲーム機に書き込み、ゲームコードを修正せずに、マルチモードゲーミングサーバ上で実行するように構成され得る。ゲームがゲーム機のハードウェアとインターラクトするのと同じように、ゲームコードがハードウェアとインターラクトする場合、ゲームコードへの修正は必要ない。例えば、ゲーム機のGPUにより実行されるプロセスは、ゲームサーバのGPUにより実行され、同じ結果を生じ得る。
ゲームモードでは、図6に示すように、ゲーム最適化CPU610は50W使っている。対照的に、ゲーム最適化GPU612は90W使い、ビデオエンコーダ514は10W使い、ゲームモードでは総使用量が150Wである。
ここで図7を参照して、本発明の一態様によるビデオレンダモードにおけるパワー使用を説明する。ビデオレンダモードでは、ゲーム最適化CPU610は1Wのみ使い(drawing)、ゲーム最適化GPU612は50W使い、ビデオエンコーダ614は10W使い、トータルで61Wである。ゲームモードと比較すると、ビデオ符号化はCPU集約的でなく、GPU集約的でもない。電力使用量と発熱とは相関しているので、ゲーミングサーバは、ビデオレンダモードにある時に、発熱量が小さい。
ここで図8を参照して、本発明の一態様によるゲームスニペットモードにおける電力使用量を説明する。ゲームスニペットモードは特殊なタイプのビデオレンダリグモードである。ゲームスニペットはビデオゲームをプレイしているユーザのビデオである。ゲームスニペットはブラッグビデオ(brag video)として説明されることもある。例えば、スニペットは、プレーヤがスプーンを使って邪悪な魔法使いを退治する30秒のレコーディングである。ユーザは、友達と達成のビデオを録画、プレイ、及び共有できる。一態様では、ユーザは、ビデオゲームのネイティブ解像度により生成されるより高い画質のビデオを要求することができる。
これらの要求は、バッチされ、オフピークのゲーミング時間中にゲーミングサーバを用いてビデオ符号化される。一態様では、ゲームジオメトリは、スニペットを構成するのに使われるプレイの部分のゲーム状態情報を伴う、その要求の部分である。ここで、ゲームジオメトリは、ゲーム世界の外観の記述であり、その世界におけるプレーヤのロケーション、動き及び外観を含む。この場合、ゲームサーバは、ビデオゲームを、記録されたジオメトリとゲーミングサーバ上のゲームコードとを用いて実行し、より高解像度のゲームスニペットを生成する。このプロセスは、実際のゲームをプレイするよりもCPU集約的ではない。
ゲームスニペットモードでは、ゲーム最適化されたCPU610が25W使い、ゲーム最適化されたGPU612が90W使い、ビデオエンコーダ614が10W使い、トータル125Wである。ゲームモードと比較して、ゲームスニペットモード(game snippet mode)はCPU集約的ではなく、GPU集約的でもない。電力使用量と発熱は相関しているので、ゲーミングサーバは、ゲームスニペットモードにあるとき、ゲームモードにあるときよりも、発熱が少ない。対照的に、ゲーミングサーバは、ビデオレンダモードにある時よりも、ゲームスニペットモードにある時の方が、多くの熱を発生する。
ここで、図9を参照して、本発明の一態様による、データセンター内のマルチモードゲーミングサーバを管理する方法900を説明する。一態様では、方法900は、前述のデータセンターコントローラ402などのデータセンターコントローラにより実行される。複数のマルチモードゲーミングサーバは、中央処理装置(CPU)と、グラフィックス処理装置(GPU)と、ビデオエンコーダとを有する。さらに、ゲーミングサーバは、ゲーミングサーバがビデオゲームを実行し、クライアントデバイスに送信するためのビデオゲームのレンダされたビデオストリームを生成するソフトウェアを有する。このように、汎用サーバは「ゲーミングサーバ」ではない。さらに、クライアントに対してレンダされたビデオゲーム画像を生成しないサーバは、ここで言うゲーミングサーバではない。
ステップ910において、複数のマルチモードゲーミングサーバのうち50%より多いマルチモードゲーミングサーバがゲームモードに設定される。例えば、マルチモードゲーミングサーバの60%以上、例えば80%や100%のマルチモードゲーミングサーバがゲームモードに設定され得る。一態様では、100%のマルチモードゲーミングサーバが、ピークデマンドに対応するよう、ゲームモードに設定される。
ステップ920において、複数のマルチモードゲーミングサーバを含むデータセンターにおけるゲームへのデマンドをモニタする。本発明の態様は、デマンドをモニタし、予測し、リモートゲームサービスにおけるサーバモードを動的に管理して、デマンドに対応する。ゲームサービスは、ユーザがインターネットなどのワイドエリアネットワークを介して接続する、リモートゲーミング環境を提供する。例えば、ゲームサービスは、一連のサーバ、または世界中にある一連のデータセンターを使用して、ビデオゲームをホストする。プレーヤは、ゲーム機、スマートフォン、タブレット、パーソナルコンピュータ、その他の計算デバイスを含む様々なクライアントデバイスを用いて、ゲームサービスに接続する。
本発明の態様では、ゲームプレイの特徴をモニタして、ゲーミングサーバがゲームモードに、又はゲームモードから移行されるべきか判断する。本発明の態様では、ゲームタイトルごとにゲームインスタンスをモニタする。例えば、本発明の態様では、データセンターにおいてあるゲームタイトルへのデマンドが400ゲームインスタンスであると予測してもよい。一態様では、ゲーミングサーバは単一ゲームタイトルで、又は少数のゲームタイトルのみでプリロードされる。この場合、そのゲームサーバが実行するように設定されている1つのゲーム又は複数のゲームへのデマンドが減少すると、ゲーミングサーバはゲームモードから移行されてもよい。
デマンド予測を用いて、ゲームへのピークデマンド及びピークデマンドの時刻を判断し、ピークデマンドを越えたことを示すそのゲームの要求レート閾値を決定する。デマンドがより大きいゲームは、プレーヤがすぐに立ち寄れるスタンバイゲームインスタンスをより多く有しても良い。デマンドがより小さいゲームは、プレーヤがドロップインするのを待つアクティブゲームインスタンスがより少なくてもよい。様々なゲームのスタンバイインスタンスの数は、サーバのロケーション及びそのサーバによりサービスされるプレーヤによって異なっても良い。
スタンバイ状態では、アクティブメモリのゲームオブジェクトは、ゲームを実行するゲームサーバによりアクセス可能であり、操作可能である。アクティブメモリは、ゲームオブジェクトがパッシブに格納されるが、そのゲームオブジェクトはゲームアクションにおいて操作可能でない補助メモリと対照をなす。アクティブメモリで実行されるスタンバイゲームインスタンスは、プレーヤプロフィール又はゲームクライアントからのI/Oチャネルにはアタッチ(attach)されない。プレーヤがゲームを要求すると、そのプレーヤのプレーヤプロフィールが実行されているゲームインスタンスにロードされ、I/Oチャネルがゲームクライアントからゲームインスタンスにマップされる。このように、スタンバイゲームインスタンスは、プレーヤプロフィールやI/Oチャネル無しに実行されてもよい。プレーヤがスタンバイインスタンスに加えられると、ゲームインスタンスがアクティブインスタンスになる。
ゲームサービスの様々な特徴がモニタされ、デマンドを予測して最適な数のゲームインスタンスをスタンバイさせるために使われてもよい。例えば、タイトルの実行されているアクティブゲームセッションの数が、新しいゲームセッションに対する要求と、そのゲームタイトルの新しいゲームセッションを生成するのに係る時間と共にモニタする。これらの特徴を用いて、ゲームセッションの数が増減するのに応じて、デマンドを満たすのに必要な、ゲームモードのゲーミングサーバの最適数を計算するのに使われても良い。
ステップ930において、新しいゲームセッションを求める要求レートを分析することにより、ゲームへのデマンドが閾値より下がったことを判断する。新しいゲームセッションに対する要求は、ユーザがそのゲームサービスを介してあるゲームタイトルをプレイする要求であり得る。要求の絶対レートと、要求レートの変化との両方を分析できる。例えば、閾値は1分あたり5要求より少ないであり、レートの減少は、例えば1分あたり1要求の減少であってもよい。レートは、一時的なレートの急上昇をならすため、ローリング平均(rollingaverage)として計算してもよい。
上述の通り、閾値レートは使用履歴の分析に基づいて計算してもよい。閾値レートは、ゲーミングサーバをゲームモードに戻さなくても良い信頼因子(confidence factor)(90%確率など)を反映して、次の12時間内のゲームへのデマンドに対応することができる。
ステップ940において、前記決定に応じて、複数のマルチモードゲーミングサーバをゲームモードからビデオレンダモードに移行する。複数のゲーミングサーバは、ゲーミングサーバに命令を送信することにより、ゲームモードからビデオエンコードモードに移行されてもよい。その命令に応じて、ゲーミングサーバは、アクティブメモリから、ビデオゲームタイトルのゲームコードを含むゲーミング機能を削除してもよい。ゲーミングサーバは、ビデオ符号化を実行するのに必要なソフトウェアをロードし、アクティブメモリへのビデオ符号化ジョブを管理する。
サブセット中のゲーミングサーバは、ゲームモードのサーバがビデオエンコードモードのサーバと均等に分散するように選択されてもよい。前述の通り、ビデオエンコードモードのサーバは、ゲームモードのサーバより発熱が少ないかも知れない。サーバを均等に分散することにより、データセンター中の冷却を減らして、エネルギーを節約できる。不均一な分散は、データセンターの最も暑い部分に対応するため、冷却を高レベルに維持しなければならない。冷却をデータセンターの部分に粒度レベルで提供できる場合、そのデータセンターの部分内で均等分布を行ってもよい。
ステップ950において、ビデオレンダジョブがサブセット中のマルチモードゲーミングサーバに割り当てられる。一態様では、ビデオレンダジョブはゲームスニペットである。前述のように、ゲームスニペットはユーザによりプレイされたビデオゲームの「記録」又は表現であってもよい。一態様では、ゲームスニペットは、マルチモードゲーミングサーバ上で実行されるゲームコードによりレンダされ、記録されたゲームアクションのビデオ画像を再生することにより、ビデオ画像を符号化する。この方法により生成されるゲームスニペットは、解像度が向上し、及び/又はフォーマットが異なる点を除き、ゲームプレイ中にユーザにより体験されるビデオ出力を複製する。
一態様では、複数のマルチモードゲーミングサーバのサブセットがあるデータセンターとは離れたところにあるビデオゲーム機から、ビデオレンダジョブが受信される。例えば、ビデオゲーム機を用いてデータセンターのゲーミングサーバにより提供されるゲームをプレイするプレーヤは、ゲームスニペットを要求してもよい。この要求は、ゲーミングサーバがビデオエンコードモードに移行できるようになるまで、データセンターファブリック又はビデオエンコードマネージャにより記憶されてもよい。ゲーミングサーバがビデオ符号化をできるようになると、できるようになったゲーミングサーバにジョブを送信できる。一態様では、どのモードのゲーミングサーバからでも、ビデオエンコードモードのゲーミングサーバに、要求を直接送信してもよい。
ここで図10を参照して、本発明の一態様によるデータセンターにおいて作業負荷を管理する方法1000を示す。方法1000はデータセンターコントローラにより実行されてもよい。ステップ1010において、第1の期間中に、データセンター内の複数のマルチモードゲーミングサーバの実質的にすべてのマルチモードゲーミングサーバをゲームモードに設定する。マルチモードゲーミングサーバは、中央処理装置(CPU)と、グラフィックス処理装置(GPU)と、ビデオエンコーダとを有する。
ステップ1020において、第2の期間中に、複数のマルチモードゲーミングサーバのうち少なくとも50%をビデオエンコードモードに設定する。第2の期間は第1の期間と実質的に重ならない。第1と第2の期間は、前述の通り、ゲームへのデマンド履歴に基づいて計算されてもよい。
限定ではなく例示である本発明の態様を説明した。言うまでもなく、幾つかの特徴及びサブコンビネーションは、有用であり、他の特徴及びサブコンビネーションを参照せずに使用してもよい。これは特許請求の範囲で想定しており記載されている。




Claims (15)

  1. 計算デバイスに、データセンター内のマルチモードゲーミングサーバを管理する方法を実行させるコンピュータプログラムであって、前記計算デバイスに、
    複数のマルチモードゲーミングサーバのうち50%より多くのマルチモードゲーミングサーバをゲームモードに設定するステップであって、各マルチモードゲーミングサーバは中央処理装置とグラフィックス処理装置とビデオエンコーダとを有する、ステップと、
    前記複数のマルチモードゲーミングサーバを含むデータセンターにおけるゲームへのデマンドをモニタするステップと、
    前記計算デバイスが、新しいゲームセッションを求める要求レートを分析することにより、ゲームへのデマンドがいつ閾値より少なくなるか判断するステップと、
    前記判断に応じて、前記複数のマルチモードゲーミングサーバのサブセットを前記ゲームモードからビデオレンダモードに移行するステップと、
    前記サブセットのマルチモードゲーミングサーバにビデオレンダジョブを割り当てるステップとを実行させる、
    コンピュータプログラム。
  2. 前記ビデオレンダジョブはゲームスニペットである、
    請求項1に記載のコンピュータプログラム。
  3. 前記ゲームスニペットは、前記マルチモードゲーミングサーバにおいて、記録されたゲームアクションのビデオ画像を再生するゲームコードを実行し、前記ビデオ画像を符号化することによりレンダリングされる、
    請求項2に記載のコンピュータプログラム。
  4. 前記複数のマルチモードゲーミングサーバのサブセットがある前記データセンターとは離れたところにあるビデオゲーム機から、ビデオレンダジョブを受け取るステップをさらに実行させる、
    請求項2に記載のコンピュータプログラム。
  5. 前記ゲームモードで実行されているマルチモードゲーミングサーバから前記ビデオレンダジョブを受け取るステップをさらに実行させる、
    請求項2に記載のコンピュータプログラム。
  6. データセンターユニットにおいて前記ゲームモードとビデオエンコードモードのマルチモードゲーミングサーバが均等に分布するように、前記複数のマルチモードゲーミングサーバのサブセット内の個々のサーバを選択するステップをさらに実行させる、
    請求項1に記載のコンピュータプログラム。
  7. データセンターにおいて作業負荷を管理する方法であって、
    第1の期間に、前記データセンターの複数のマルチモードゲーミングサーバのうち実質的にすべてのマルチモードゲーミングサーバをゲームモードに設定するステップであって、各マルチモードゲーミングサーバは中央処理装置とグラフィックス処理装置とビデオエンコーダとを有する、ステップと、
    第2の期間に、前記複数のマルチモードゲーミングサーバの少なくとも50%をビデオエンコードモードに設定するステップとを含み、
    前記第2の期間は実質的に前記第1の期間と重ならない、
    方法。
  8. 前記第1の期間中にビデオエンコードプロジェクトを受け取り、前記第1の期間中に符号化するために前記ビデオエンコードプロジェクトを記憶するステップをさらに含む、
    請求項7に記載の方法。
  9. 前記ビデオエンコードプロジェクトは、ゲームプレイ中にレンダされた解像度よりも高い解像度でエンコードされるゲームスニペットである、
    請求項8に記載の方法。
  10. 受け取った新しいゲームセッションを求める要求量を分析して、期間当たりの要求レートがゲームプレイ履歴データを用いて決定された閾値よりいつ低くなるかを判断することにより、前記第2の期間の始期を決定するステップをさらに含む、
    請求項7に記載の方法。
  11. レンダされたビデオゲーム画像を、ワイドエリアネットワークを介して離れたところにあるデバイスに送信するステップであって、前記レンダされたビデオゲーム画像は前記ゲームモードで動作しているマルチモードゲーミングサーバにより生成される、ステップをさらに含む、
    請求項7に記載の方法。
  12. 中央処理装置(CPU)とグラフィックス処理装置(GPU)とビデオエンコーダとを有する複数のマルチモードゲーミングサーバと、
    前記複数のマルチモードゲーミングサーバの各々をビデオエンコードモードとゲームモードとの間で移行することにより、リモートゲーミングへのデマンドを管理する制御ファブリックとを有し、
    個々のゲーミングサーバは、前記ゲームモードにある時より前記ビデオエンコードモードにある時の方が、発熱が少なく、
    前記ゲームモードにある時、前記個々のゲーミングサーバは、ゲームのコードを実行し、レンダされたビデオゲーム画像を生成し、前記レンダされたビデオゲーム画像はデータセンターからリモート計算デバイスに送信される、
    データセンター。
  13. 前記データセンターは、ビデオエンコードジョブを受け取り、マルチモードゲーミングサーバがビデオレンダモードになった後、前記ビデオエンコードジョブを前記マルチモードゲーミングサーバに割り当てるビデオエンコードジョブマネージャをさらに有する、
    請求項12に記載のデータセンター。
  14. 前記GPUは、前記個々のゲーミングサーバが、前記ゲームモードにある時に消費する総電力の40%ないし60%を使う、
    請求項12に記載のデータセンター。
  15. 前記マルチモードゲーミングサーバは、市販のゲーム機でも使われているCPUと、前記市販のゲーム機でも使われているGPUとを有し、それにより前記市販のゲーム機のために書かれたビデオゲームコードを前記ゲーミングサーバが実行できるようにしている、
    請求項12に記載のデータセンター。


JP2017520769A 2014-06-30 2015-06-29 マルチモードサーバのデータセンターの管理 Pending JP2017523014A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/318,867 2014-06-30
US14/318,867 US9694281B2 (en) 2014-06-30 2014-06-30 Data center management of multimode servers
PCT/US2015/038206 WO2016003835A1 (en) 2014-06-30 2015-06-29 Data center management of multimode servers

Publications (1)

Publication Number Publication Date
JP2017523014A true JP2017523014A (ja) 2017-08-17

Family

ID=53682806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017520769A Pending JP2017523014A (ja) 2014-06-30 2015-06-29 マルチモードサーバのデータセンターの管理

Country Status (6)

Country Link
US (1) US9694281B2 (ja)
EP (1) EP3161636B1 (ja)
JP (1) JP2017523014A (ja)
CN (1) CN106470742A (ja)
RU (1) RU2701118C2 (ja)
WO (1) WO2016003835A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023089076A (ja) * 2018-12-03 2023-06-27 ソニー・インタラクティブエンタテインメント エルエルシー コンピューティングシステム及び方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127082B2 (en) 2012-04-05 2018-11-13 Electronic Arts Inc. Distributed realization of digital content
KR20160075228A (ko) * 2014-12-19 2016-06-29 삼성전자주식회사 전자 장치, 클라우드 서버, 게임 서비스 제공 시스템 및 그 게임 서비스 제공 방법
US9760376B1 (en) * 2016-02-01 2017-09-12 Sas Institute Inc. Compilation for node device GPU-based parallel processing
US10491666B2 (en) * 2017-04-03 2019-11-26 Sony Interactive Entertainment America Llc Systems and methods for using a distributed game engine
US10162396B2 (en) * 2017-04-18 2018-12-25 Baidu Usa Llc Method and system for removing heat using heat removal liquid based on workload of server components of electronic racks
US10589171B1 (en) * 2018-03-23 2020-03-17 Electronic Arts Inc. User interface rendering and post processing during video game streaming
US10537799B1 (en) * 2018-03-23 2020-01-21 Electronic Arts Inc. User interface rendering and post processing during video game streaming
US10987579B1 (en) 2018-03-28 2021-04-27 Electronic Arts Inc. 2.5D graphics rendering system
KR101950001B1 (ko) * 2018-08-31 2019-02-20 넷마블 주식회사 게임 어플리케이션 이외의 어플리케이션을 통한 제어에 기초하여 게임 서비스를 제공하는 서버 및 방법
US10918938B2 (en) 2019-03-29 2021-02-16 Electronic Arts Inc. Dynamic streaming video game client
US11431773B2 (en) 2019-06-13 2022-08-30 Caffeine Inc. Multicast broadcast network architcture
CN111467796B (zh) * 2020-04-02 2023-05-02 北京代码乾坤科技有限公司 分布式物理结算方法和装置
CN111617466B (zh) * 2020-05-12 2023-04-28 咪咕文化科技有限公司 编码格式的确定方法、装置及云游戏的实现方法
CN114265648B (zh) * 2020-09-16 2023-12-26 阿里巴巴集团控股有限公司 编码调度方法、服务器及客户端和获取远程桌面的系统
US11848842B2 (en) * 2021-12-08 2023-12-19 Sony Interactive Entertainment Inc. Network storage game allocation based on artificial intelligence
US11755272B2 (en) * 2021-12-10 2023-09-12 Vmware, Inc. Method and system for using enhancement techniques to improve remote display while reducing hardware consumption at a remote desktop

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080139301A1 (en) * 2006-12-11 2008-06-12 Ole-Ivar Holthe System and method for sharing gaming experiences
JP2011507077A (ja) * 2007-12-05 2011-03-03 オンライブ インコーポレイテッド ストリーミング双方向ビデオサーバー間でユーザセッションを移行する方法
JP2013109547A (ja) * 2011-11-21 2013-06-06 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、プログラム及び情報記憶媒体

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2014A (en) * 1841-03-24 Machine ecu cutting square-joint dovetails
US7819750B2 (en) * 1999-10-06 2010-10-26 Igt USB software architecture in a gaming machine
US7704147B2 (en) * 1999-10-06 2010-04-27 Igt Download procedures for peripheral devices
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US9756349B2 (en) 2002-12-10 2017-09-05 Sony Interactive Entertainment America Llc User interface, system and method for controlling a video stream
US7031870B2 (en) 2004-05-28 2006-04-18 Hewlett-Packard Development Company, L.P. Data center evaluation using an air re-circulation index
US7953843B2 (en) 2004-06-14 2011-05-31 Hewlett-Packard Development Company, L.P. System and method for evaluating a heterogeneous cluster for supporting expected workload in compliance with at least one service parameter
US7739524B2 (en) 2005-08-29 2010-06-15 The Invention Science Fund I, Inc Power consumption management
US8840462B2 (en) * 2005-09-07 2014-09-23 Bally Gaming, Inc. Tournament bonus awards and related methods
US8506394B2 (en) * 2005-09-07 2013-08-13 Bally Gaming, Inc. Tournament gaming systems, gaming devices and methods
US7756972B2 (en) 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
US8417838B2 (en) 2005-12-12 2013-04-09 Nvidia Corporation System and method for configurable digital communication
US9177445B2 (en) * 2007-11-10 2015-11-03 Bally Gaming, Inc. Tournament gaming systems and administration server
CN101533359B (zh) * 2008-03-14 2013-03-13 王荣 一种网络游戏服务器动态负载平衡的方法
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US9778718B2 (en) 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
CN101557419B (zh) * 2009-05-06 2012-07-11 成都市华为赛门铁克科技有限公司 一种数据读写系统和数据管理方法
US8484340B2 (en) * 2010-06-14 2013-07-09 Microsoft Corporation Server array capacity management calculator
US8335596B2 (en) 2010-07-16 2012-12-18 Verizon Patent And Licensing Inc. Remote energy management using persistent smart grid network context
US8830245B2 (en) 2010-12-14 2014-09-09 Amazon Technologies, Inc. Load balancing between general purpose processors and graphics processors
US8793686B2 (en) 2011-06-08 2014-07-29 Microsoft Corporation Operating system decoupled heterogeneous computing
US20130054987A1 (en) 2011-08-29 2013-02-28 Clemens Pfeiffer System and method for forcing data center power consumption to specific levels by dynamically adjusting equipment utilization
US10637799B2 (en) 2011-09-29 2020-04-28 Nant Holdings Ip, Llc Dynamic packet routing
US10232252B2 (en) 2011-11-21 2019-03-19 Sony Interactive Entertainment Inc. Information processing system, information processing method, program, and information storage medium
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US9304570B2 (en) 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
CN102789541A (zh) * 2012-06-15 2012-11-21 北京天空堂科技有限公司 一种网络游戏服务器端
CN102968549B (zh) * 2012-10-17 2016-01-20 北京大学 基于智能移动终端设备的多人在线交互方法与系统
US9148982B2 (en) 2012-11-08 2015-09-29 International Business Machines Corporation Separate control of coolant flow through coolant circuits
CN103873428B (zh) * 2012-12-07 2017-11-28 广州四三九九信息科技有限公司 网页游戏架构及应用该架构的方法
US10118095B2 (en) 2012-12-14 2018-11-06 Nvidia Corporation Implementing a remote gaming server on a desktop computer
CN103152386B (zh) * 2013-01-30 2015-10-28 青岛海信传媒网络技术有限公司 业务数据分发服务器及其业务数据分发方法
US20140286438A1 (en) 2013-03-19 2014-09-25 Nvidia Corporation Quality of service management server and method of managing streaming bit rate
US20150043905A1 (en) * 2013-08-07 2015-02-12 Futurewei Technologies, Inc. System and Method for Photonic Switching and Controlling Photonic Switching in a Data Center

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080139301A1 (en) * 2006-12-11 2008-06-12 Ole-Ivar Holthe System and method for sharing gaming experiences
JP2011507077A (ja) * 2007-12-05 2011-03-03 オンライブ インコーポレイテッド ストリーミング双方向ビデオサーバー間でユーザセッションを移行する方法
JP2013109547A (ja) * 2011-11-21 2013-06-06 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、プログラム及び情報記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023089076A (ja) * 2018-12-03 2023-06-27 ソニー・インタラクティブエンタテインメント エルエルシー コンピューティングシステム及び方法
JP7598964B2 (ja) 2018-12-03 2024-12-12 ソニー・インタラクティブエンタテインメント エルエルシー コンピューティングシステム及び方法

Also Published As

Publication number Publication date
CN106470742A (zh) 2017-03-01
US20150375112A1 (en) 2015-12-31
RU2701118C2 (ru) 2019-09-24
EP3161636A1 (en) 2017-05-03
WO2016003835A1 (en) 2016-01-07
RU2016150824A3 (ja) 2019-01-30
RU2016150824A (ru) 2018-06-25
EP3161636B1 (en) 2021-05-26
US9694281B2 (en) 2017-07-04

Similar Documents

Publication Publication Date Title
JP2017523014A (ja) マルチモードサーバのデータセンターの管理
CN105473196B (zh) 向远程游戏环境中的游戏标题的资源分配
US9433862B2 (en) Dynamic allocation of computing resources in remote gaming environment
CN103582509B (zh) 通用处理器和图形处理器之间的负载均衡
US9694279B2 (en) Game availability in a remote gaming environment
US9779463B2 (en) Local management for intermediary graphics rendition
US10503225B2 (en) Nonhomogeneous server arrangement
JP5760898B2 (ja) 配信システム、仮想マシン割当装置およびプログラム
RU2679978C1 (ru) Многорежимный игровой сервер
Hamid et al. Enhancing cloud gaming experience through optimized virtual machine placement: a comprehensive review
KR20130062463A (ko) 다중 사용자 및 멀티 플랫폼 지원을 위한 게임 스트리밍 시스템 및 방법
BR112016027181B1 (pt) Meio de armazenamento em computador, método para gerenciar cargas de trabalho dentro de um centro de dados e centro de dados
JP6389408B2 (ja) プログラム、提供システム、及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200303