(57)【特許請求の範囲】
【請求項１】
マルチモード・サーバーであって、該マルチモード・サーバー内に配置され第１ハードウェア構成を有するゲーミング最適化計算リソースと、前記マルチモード・サーバー内に配置され前記第１ハードウェア構成とは異なる第２ハードウェア構成を有する一般処理最適化計算リソースとを有し、前記ゲーミング最適化計算リソースおよび前記一般処理最適化計算リソースが、ピーク電力において等しい量の電力を使用するように、電力均衡化され、前記マルチモード・サーバーが、所与の時点において、前記ゲーミング最適化計算リソースまたは前記一般処理最適化計算リソースのいずれかをアクティブ化する制御手段を含み、前記マルチモード・サーバーが前記ゲーミング最適化計算リソースをアクティブ化することによるゲーミング最適化と、前記一般処理最適化計算リソースをアクティブ化することによる一般処理最適化との間で移行する、マルチモード・サーバー。
【請求項２】
請求項１記載のマルチモード・サーバーにおいて、前記ゲーミング最適化計算リソースが、第１時間期間中にピーク使用がある第１作業負荷用に設計され、前記一般処理最適化計算リソースが、前記第１時間期間と重複しない第２時間期間中にピーク使用がある第２作業負荷用に設計される、マルチモード・サーバー。
【請求項３】
請求項１記載のマルチモード・サーバーにおいて、前記ゲーミング最適化計算リソースが、グラフィクス処理ユニット（「ＧＰＵ」）と中央処理ユニット（「ＣＰＵ」）とを有し、前記ＧＰＵの最大電力使用が、前記ゲーミング最適化計算リソースの最大電力使用の４０％よりも多い、マルチモード・サーバー。
【請求項４】
請求項１記載のマルチモード・サーバーにおいて、前記マルチモード・サーバーに設けられた電源が、前記ゲーミング最適化計算リソースおよび前記一般処理最適化計算リソースを同時に実行するために十分な電力を供給しない、マルチモード・サーバー。
【請求項５】
請求項１記載のマルチモード・サーバーにおいて、前記ゲーミング最適化計算リソースの少なくとも一部が、マザーボードにおいて第１ソケットに接続され、前記一般処理最適化計算リソースの少なくとも一部が前記マザーボードにおいて第２ソケットに接続される、マルチモード・サーバー。
【請求項６】
データー・センターにおいて作業負荷を管理する方法であって、
第１時間期間中、複数のマルチモード・サーバーの各々内にある第１タイプの計算リソースの全てを低電力モードに設定するステップであって、各マルチモード・サーバーが、該マルチモード・サーバー内に配置され異なるタイプの作業に最適化された複数の計算リソースを有し、前記複数の計算リソースが、少なくとも第１タイプの計算リソースと第２タイプの計算リソースとを含む、ステップと、
第２時間期間中、前記複数のマルチモード・サーバーの各々内にある前記第２タイプの計算リソースの全てを前記低電力モードに設定するステップであって、前記第２時間期間が前記第１時間期間と重複しない、ステップと、
を含み、
前記第１タイプの計算リソースおよび前記第２タイプの計算リソースが、使用時に、同様の量の熱を生成する、方法。
【請求項７】
請求項６記載の方法において、前記第１タイプの計算リソースを前記低電力モードに設定するステップが、前記第１タイプの計算リソースが取り付けられた１つ以上のマザーボード・ソケットを非アクティブ化するステップを含む、方法。
【請求項８】
請求項６記載の方法において、前記第１タイプの計算リソースが、前記第２時間期間中にピーク使用がある第１作業負荷用に設計され、前記第２タイプの計算リソースが、前記第１時間期間中にピーク使用がある第２作業負荷用に設計される、方法。
【請求項９】
請求項６記載の方法において、前記第１タイプの計算リソースが、レンダリング・ビデオ・ゲーム画像を、ワイド・エリア・ネットワークを介して、離れて位置するゲーミング・デバイスに出力する、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
一般に、データー・センターにおける配備のために選択されたサーバーは、広範囲の計算タスクを実行することができるが、一部の特殊計算タスクを非常に効率的に実行できない場合もある。
【発明の概要】
【０００２】
例えば、ビデオ集約的計算プロジェクトは、強力なＧＰＵおよびビデオ・エンコーダーを有するサーバーにおける方がより良く実行される。企業用サーバーは、ＣＰＵによって一部のビデオ関連作業を実行できる場合もあるが、作業が非効率的となるおそれがある。他方で、ビデオ関連作業のために設計されたサーバーが、一般的な計算プロジェクトを非効率的に実行するおそれがある。
【０００３】
この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられる。この摘要は、特許請求する主題の主要な特徴や必須の特徴を識別することを意図するのではなく、特許請求する主題の範囲を判定するときに補助として別個に使用されることを意図するのでもない。
【０００４】
本発明の形態は、異なるタイプの計算リソースが内部に設けられたマルチモード・ゲーミング・サーバーに関する。異なる計算リソースは、異なる計算タスクに対して最適化することができる。例えば、第１タイプのリソースは高品位グラフィクスを生成するために最適化することができ、第２タイプのリソースは企業用計算のために最適化することができる。各リソースは、異なる計算タスクに対する要求が１日にわたって変化するに連れて、アクティブ化または非アクティブ化することができる。１つの形態では、リソースは、異なるマザーボード・ソケットにおける異なるチップ・セットである。１つの形態では、マルチモード・サーバーにおける他のコンポーネント（例えば、冷却、電源、ネットワーク帯域）のプロビジョニングは、計算リソース双方が同時に実行するには適していない。
【０００５】
１つの形態では、サーバー用冷却容量(cooling capacity)は、サーバーにおける計算リソースの全てが同時にアクティブ処理モードである場合、マルチモード・サーバーにとって容認できる動作温度を維持するために十分な冷却を供給することができないように、意図的に大きさが決められる。データー・センターの制御ファブリックは、所与の時点においてマルチモード・サーバー内部において１つのタイプの計算リソースのみに作業負荷を割り当てることによって、サーバー内部において容認可能な動作温度を維持することができる。例えば、任意の所与の時点において、サーバーにおいてゲーミングに最適化された計算リソースに作業負荷を割り当てて、アクティブ処理モードにすることができる。サーバーにおける残りの計算リソースは、低電力状態に設定される。
【０００６】
１つの形態では、マルチモード・サーバー内部における異なる計算リソースが、アクティブ処理モードにあるとき、同様の最大電力使用を有する。例えば、１５０Ｗの最大電力使用を有するゲーミングに最適化されたリソース（例えば、ＧＰＵおよび特殊ＣＰＵ）は、１５０Ｗ容量を有する企業用ＣＰＵとして、同じマルチモード・サーバーにおいて配備することができる。
【０００７】
１つの形態では、ピーク期間における使用予測にしたがって、マルチモード・サーバーに含ませるために、計算リソースが選択される。ピーク期間の使用が互いに異なる特殊作業負荷のために設計されたリソースを、マルチモード・ゲーミング・サーバーに含ませることができる。例えば、午後４時から午後１２時までがピーク時間である特殊作業負荷に関連する第１タイプの計算リソースを、午前６時から午後２時までがピーク時間である特殊作業負荷を有する第２タイプの計算リソースと抱き合わせる(match)ことができる。言い換えると、所与の時間中、サーバーでは第１タイプまたは第２タイプのいずれかの計算リソースが高需要状態となる。
【図面の簡単な説明】
【０００８】
本発明の形態について、以下で添付図面を参照して詳細に説明する。図面において、
【図１】図１は、本発明の形態を実現するのに適した計算環境例のブロック図である。
【図２】図２は、本発明の形態によるゲーミング環境を示す図である。
【図３】図３は、本発明の形態にしたがって、ゲーミング・サーバーおよび汎用サーバーの異質(nonhomogeneous)構成を取る１つ以上のデーター・センターを有するリモート・ゲーミング環境を示す図である。
【図４】図４は、本発明の形態による、種々のモードにおけるマルチモード・ゲーミング・サーバーの構成を示す図である。
【図５】図５は、本発明の形態による、アクティブなゲーミング・リソースを有するマザーボードを示す図である。
【図６】図６は、本発明の形態による、アクティブな汎用リソースを有するマザーボードを示す図である。
【図７】図７は、本発明の形態にしたがって、データー・センター内において作業負荷を管理する方法を示す図である。
【発明を実施するための形態】
【０００９】
本発明の形態の主題について、法的要件を満たすために、本明細書においては具体性を持って説明する。しかしながら、説明自体は、本特許の範囲を限定することは意図していない。むしろ、本発明者は、特許請求する主題は、本文書において記載するステップとは異なるステップまたは同様のステップの組み合わせを含むように、他の現在の技術または今後の技術と関連付けて、別の方法で具体化してもよいことを想定している。更に、「ステップ」および／または「ブロック」という用語は、本明細書においては、採用される方法の異なるエレメントを言外に意味するために用いることもできるが、個々のステップの順序が明示的に記載されている場合を除いて(unless and except)、この用語は、本明細書において開示される種々のステップ間において、いかなる特定の順序をも暗示するように解釈してはならない。
【００１０】
本発明の形態は、異なるタイプの計算リソースが内部に設けられたマルチモード・ゲーミング・サーバーに関する。異なる計算リソースは、異なる計算タスクに対して最適化することができる。例えば、第１タイプのリソースは高品位グラフィクスを生成するために最適化することができ、第２タイプのリソースは企業用計算のために最適化することができる。各リソースは、異なる計算タスクに対する要求が１日にわたって変化するに連れて、アクティブ化または非アクティブ化することができる。１つの形態では、リソースは、異なるマザーボード・ソケットにおける異なるチップ・セットである。１つの形態では、マルチモード・サーバーにおける他のコンポーネント（例えば、冷却、電源、ネットワーク帯域）のプロビジョニングは、計算リソース双方が同時に実行するには適していない。
【００１１】
１つの形態では、サーバー用冷却容量(cooling capacity)は、サーバーにおける計算リソースの全てが同時にアクティブ処理モードである場合、マルチモード・サーバーにとって容認できる動作温度を維持するために十分な冷却を供給することができないように、意図的に大きさが決められる。データー・センターの制御ファブリックは、所与の時点においてマルチモード・サーバー内部において１つのタイプの計算リソースのみに作業負荷を割り当てることによって、サーバー内部において容認可能な動作温度を維持することができる。例えば、任意の所与の時点において、サーバーにおいてゲーミングに最適化された計算リソースに作業負荷を割り当てて、アクティブ処理モードにすることができる。サーバーにおける残りの計算リソースは、低電力状態に設定される。
【００１２】
１つの形態では、マルチモード・サーバー内部における異なる計算リソースがアクティブ処理モードにあるとき、同様の最大電力使用を有する。例えば、１５０Ｗの最大電力使用を有するゲーミングに最適化されたリソース（例えば、ＧＰＵおよび特殊ＣＰＵ）は、１５０Ｗ容量を有する企業用ＣＰＵとして、同じマルチモード・サーバーにおいて配備することができる。２つのタイプの計算リソースの総電力使用が同様であっても、リソースにおける電力使用の分散は大きく異なることができる。例えば、ゲーミングに最適化されたリソースは、１００Wを使用するグラフィクス処理ユニット（「ＧＰＵ」）および５０Ｗを使用する中央処理ユニット（「ＣＰＵ」）を有することができる。企業用リソースは、ＧＰＵを有していなくてもよいが、１５０Ｗを消費する一層強力なＣＰＵを有することができる。
【００１３】
１つの形態では、ピーク期間における使用予測にしたがって、マルチモード・サーバーに含ませるために、計算リソースが選択される。ピーク期間の使用が互いに異なる特殊作業負荷のために設計されたリソースを、マルチモード・ゲーミング・サーバーに含ませることができる。例えば、午後４時から午後１２時までがピーク時間である特殊作業負荷に関連する第１タイプの計算リソースを、午前６時から午後２時までがピーク時間である特殊作業負荷を有する第２タイプの計算リソースと抱き合わせる(match)ことができる。言い換えると、所与の時間中、サーバーにおける第１タイプまたは第２タイプのいずれかの計算リソースが高需要状態にある。
【００１４】
本明細書において使用する場合、「ゲーミング最適化計算リソース」(gaming optimized computing resource)は、レンダリング・ビデオ・ゲーム画像(rendered video game image)を、ゲーム・コンソールのようなクライアント・デバイスに出力するように構成される。ビデオ・ゲーム画像は、クライアントに伝達されるストリーミング・ビデオとしてレンダリングすることができる。高品質のビデオ・ゲーム画像をレンダリングするために、ゲーミングに最適化された計算リソースは、汎用計算リソースにおいてグラフィクス処理ユニットが見られることがあっても、それよりも強力なグラフィクス処理ユニットを有することができる。また、ゲーミング最適化計算リソースは、専用ビデオ・エンコーディング能力を有することもできる。
【００１５】
電力消費は、プロセッサー能力の代用(proxy)として使用することができる。１つの形態では、ゲーミング最適化計算リソースは、ピーク電力消費の間ゲーム最適化計算リソースによって使用される電力の閾値百分率よりも多い電力を消費するＧＰＵを含むと定めることができる。１つの形態では、電力の閾値百分率は、ピーク電力の４０％よりも多く、例えば、５０％よりも多く、例えば、６０％よりも多く、例えば、７０％よりも多く、または例えば、８０％よりも多い。例えば、ゲーミング最適化サーバー・リソースにおける総ピーク電力使用（例えば、ＧＰＵおよびＣＰＵ）が１５０Ｗである場合に、ゲーミング最適化計算リソースにおけるＧＰＵは１００Ｗを使用することができる。
【００１６】
本明細書において使用する場合、「汎用計算リソース」または「一般処理最適化計算リソース」とは、中央処理ユニットに通例関連する計算プロセスを強調するように設計されたリソースを記述する。汎用計算リソースは、特殊計算プロセスを実行することができても(can be capable of)、その目的に最適化されていないかもしれない。例えば、ＣＰＵがグラフィクス処理を実行できても、ＧＰＵが同じタスクまたは同様のタスクを実行する場合よりも非効率的になる。
【００１７】
本発明の形態は、種々のタイプの計算リソースを、異なる電力モードまたは状態間で移行させることができる。本明細書において使用する場合、「低電力モード」という用語は、リソースが現在そのリソースの最大定格電力の２０％未満で動作していることを意味する。一例として、低電力モードにおけるリソースは、マザーボードのソケットにおいて切断されても、電力投入コマンドに応答できればよい。
【００１８】
本明細書において使用する場合、「アクティブ処理モード」という句は、計算リソースが能動的に計算作業負荷を処理していることを意味する。アクティブ処理モードにある計算リソースは、そのリソースの最大定格電力の２０％よりも多くを使用することができる。
【００１９】
以上、本発明の形態の全体像について端的に説明したので、本発明の形態を実現するときに使用に適した動作環境例について以下に説明する。
動作環境例
図面全体を参照し、特に図１を最初に参照すると、本発明の実施形態を実現するための動作環境例が示されており、全体的に計算デバイス１００と名付けられている。計算デバイス１００は、適した計算環境の一例に過ぎず、本発明の使用範囲や機能に関して全く限定を示唆する意図はない。また、計算デバイス１００が、図示するコンポーネントの任意の１つまたは組み合わせに関して、何らかの依存性や用件を有するように解釈してはならない。
【００２０】
本発明は、コンピューター・コードまたはマシン使用可能命令という一般的なコンテキストで説明することができ、これらには、コンピューター、あるいはパーソナル・ディジタル・アシスタントまたは他のハンドヘルド・デバイスのような他のマシンによって実行される、プログラム・コンポーネントのようなコンピューター実行可能命令が含まれる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含むプログラム・コンポーネントは、特定のタスクを実行するコード、または特定の抽象データー型を実装するコードを指す。本発明の実施形態は、種々のシステム構成において実用化することができ、ハンドヘルド・デバイス、消費者用電子機器、汎用コンピューター、特殊計算デバイス等を含む。また、本発明の実施形態は、分散型計算環境において実用化することもでき、この場合、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【００２１】
引き続き図１を参照すると、計算デバイス１００は、以下のデバイスを直接的または間接的に結合するバス１１０を含む。メモリー１１２、１つ以上のプロセッサー１１４、１つ以上のプレゼンテーション・コンポーネント１１６、入力／出力（Ｉ／Ｏ）ポート１１８、Ｉ／Ｏコンポーネント１２０、および例示的な電源１２２。バス１１０は、１つ以上のバス（アドレス・バス、データー・バス、またはその組み合わせ）であってもよいものを代表する。図１の種々のブロックは、明確化のために、線で示されているが、種々のコンポーネントの区分けはそれほど明確ではなく、比喩的には、これらの線をもっと正確にすれば、灰色で曖昧になるであろう。例えば、ディスプレイ・デバイスのようなプレゼンテーション・コンポーネントをＩ／Ｏコンポーネント１２０であると見なす者もいるであろう。また、プロセッサーはメモリーを有する。本発明者は、このようなことは技術の性質であると認識しており、図１の図は、本発明の１つ以上の実施形態と関連付けて使用することができる計算デバイス例を例示するに過ぎないことを繰り返しておく。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルド・デバイス」等のようなカテゴリー間では区別は行われない。何故なら、これらは全て図１の範囲内に該当すると考えられ、「コンピューター」または「計算デバイス」を指すからである。
【００２２】
計算デバイス１００は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、計算デバイス１００によってアクセスすることができる任意の入手可能な媒体とすることができ、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の双方を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体の双方を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターというような情報の格納のための任意の方法または技術で実現される。
【００２３】
コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）または他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイスを含む。コンピューター記憶媒体は、伝搬データー信号を含まない。
【００２４】
通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターを、搬送波のような変調データー信号または他の移送メカニズム内に具体化し、任意の情報配信媒体を含む。「変調データー信号」という用語は、信号内に情報をエンコードするやり方で、その特性の内１つ以上を設定または変化させた信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、ならびに音響、ＲＦ、赤外線、および他のワイヤレス媒体のようなワイヤレス媒体を含む。以上の内任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲内に含まれてしかるべきである。
【００２５】
メモリー１１２は、コンピューター記憶媒体を揮発性および／または不揮発性メモリーの形態で含む。メモリー１１２は、リムーバブル、非リムーバブル、またはこれらの組み合わせでもよい。メモリーの例には、ソリッド・ステート・メモリー、ハード・ドライブ、光ディスク・ドライブ等が含まれる。計算デバイス１００は、バス１１０、メモリー１１２、またはＩ／Ｏコンポーネント１２０のような種々のエンティティからデーターを読み取る１つ以上のプロセッサー１１４を含む。プレゼンテーション・コンポーネント（１つまたは複数）１１６は、データー指示をユーザーまたは他のデバイスに提示する。プレゼンテーション・コンポーネント１１６の例には、ディスプレイ・デバイス、スピーカー、印刷コンポーネント、振動コンポーネント等が含まれる。Ｉ／Ｏポート１１８は、計算デバイス１００を、Ｉ／Ｏコンポーネント１２０を含む他のデバイスに論理的に結合することを可能にする。他のデバイスの一部は内蔵されてもよい。実証的なＩ／Ｏコンポーネント１２０には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー、プリンター、ワイヤレス・デバイス等が含まれる。
【００２６】
オンライン・ゲーミング環境例
これより図２に移ると、本発明の実施形態によるマルチモード・ゲーミング・サーバーをデーター・センター内に配備することができるオンライン・ゲーミング環境２００が示されている。オンライン・ゲーミング環境２００は、ネットワーク２２０を介してゲーム・サービス２３０に接続された種々のゲーム・クライアントを含む。ゲーム・クライアントの例には、ゲーム・コンソール２１０、タブレット２１２、およびパーソナル・コンピューター２１４が含まれる。スマート・フォンのような、他のゲーム・クライアントの使用も可能である。ゲーム・コンソール２１０には、１つ以上のゲーム・コントローラーが通信可能に結合されてもよい。一実施形態では、タブレット２１２がゲーム・コンソール２１０またはパーソナル・コンピューター２１４のために入力デバイスとして作用することもできる。他の実施形態では、タブレット２１２は単体ゲーム・クライアントである。ネットワーク２２０は、インターネットのようなワイド・エリア・ネットワークでもよい。
【００２７】
ゲーム・サービス２３０は、互いに通信可能に結合された複数の計算デバイスを含む。一実施形態では、ゲーム・サービス２３０は、マルチモード・ゲーミング・サーバーを含む１つ以上のデーター・センターを使用して実現される。データー・センターは、世界中の都市を含む種々の地理的領域にまたがって広がることができる。このシナリオでは、ゲーム・クライアントは最も近いデーター・センターに接続することができる。本発明の実施形態は、この設定に限定されるのではない。
【００２８】
ゲーム・サービス２３０は、ゲーム・サービス２３０によって提供されるゲームを計算デバイス内部で実行することを可能にする。ゲーム・サービスとゲーム・クライアントとの間における通信セッションは、入力トラフィックをゲーム・サービス２３０に搬送し、レンダリング・ゲーム画像を戻す。この実施形態では、ゲーム・サービスの一部である計算デバイスが、種々のゲーム・クライアントに関連する入力デバイスによって生成された制御ストリームを使用して、ビデオ・ゲーム・コードを実行する。次いで、レンダリング・ビデオ・ゲーム(rendered video game)は、ネットワークを介してゲーム・クライアントに伝達され、ゲーム・クライアントにおいて、レンダリング・ゲームが表示のために出力される。
【００２９】
ゲーム・サービス２３０は、データー・センターによって提供されてもよい。データー・センターは、ゲーミング最適化サービスの組み合わせを使用して、ゲームを実行しビデオ・ゲーム画像をレンダリングする。ゲーミング最適化サーバーは、マルチモード・ゲーミング・サーバーと共に配備されてもよい。マルチモード・ゲーミング・サーバーに適したタスクが入手可能でないとき、マルチモード・ゲーミング・サーバー内のゲーミングＣＰＵおよびＧＰＵを低電力モードに入れ、ゲーミング最適化でないＣＰＵをアクティブ化することができる。
【００３０】
ゲーム・サービスの一例
これより図３に移ると、本発明の実施形態によるリモート・ゲーミング環境例３００が示されている。ゲーミング環境３００は、ゲーム・クライアント３１０を含む。ゲーム・クライアント３１０は、ネットワーク３３０を介してゲーム・サービス３４０に通信可能に結合されていることが示されている。ゲーミング・サービスは、ピーク時のゲーミング需要に対応するために、１つ以上のマルチモード・ゲーミング・サーバーを使用することができる。
【００３１】
一実施形態では、ネットワークはインターネットでもよい。ゲーム・クライアント３１０は、第１ゲーム入力デバイス３１２、第２ゲーム入力デバイス３１４、およびディスプレイ３１６に接続されている。ゲーム入力デバイスの例には、ゲーム・パッド、キーボード、マウス、タッチ・パッド、タッチ・スクリーン、音声コマンドを受けるためのマイクロフォン、深度カメラ、ビデオ・カメラ、キーボード、およびトラックボールが含まれる。本発明の実施形態は、これらの入力デバイスに限定されるのではない。ディスプレイ・デバイス３１６は、ビデオ・ゲーム・コンテンツを表示することができる。例えば、ディスプレイ３１６は、テレビジョンまたはコンピューター画面でもよい。他の実施形態では、ディスプレイ３１６は、ゲーム・クライアント３１０と一体化されたタッチ・スクリーンである。
【００３２】
ゲーム・クライアント３１０は、ビデオ・ゲームを実行することができる計算デバイスである。ゲーム・クライアント３１０は、タブレットまたはラップトップ・コンピューターであることも可能である。他の実施形態では、ゲーム・クライアント３１０はゲーム・コンソールであり、ディスプレイ３１６は、このゲーム・コンソールに通信可能に結合されたリモート・ディスプレイである。ゲーム・クライアント３１０は、動作環境３２０、ゲーム実行環境３２２、ゲーム・データー・ストア３２４、ゲーム・サービス・クライアント３２６、およびプレーヤー・プロファイル・データー・ストア３２８を含む。
【００３３】
動作環境３２０は、オペレーティング・システムによって提供することができる。オペレーティング・システムは、ハードウェアを管理し、ゲーム・クライアント３１０において実行するアプリケーションにサービスを提供する。動作環境は、クライアント・リソースを異なるアプリケーションに、ゲーム・マイグレーション(game migration)の一部として割り当てることができる。例えば、一旦ゲーム・プレーがゲーム・クライアント３１０に移されたなら、動作環境はディスプレイの制御をゲーム実行環境３２２に与えることができる。
【００３４】
ゲーム実行環境３２２は、ゲームまたはゲーム・プレビューのインスタンスを実行するために必要とされるゲーミング・リソースをクライアント３１０内に含む。ゲーム実行環境３２２は、アクティブなメモリーを計算およびビデオ処理と共に含む。ゲーム実行環境３２２は、ゲーミング制御を受け、そのプログラミングにしたがってゲームを操作させ、進展させる。一実施形態では、ゲーム実行環境３２２はレンダリング・ビデオ・ストリームを出力し、このレンダリング・ビデオ・ストリームはディスプレイ３１６に伝達される。
【００３５】
ゲーム・データー・ストア３２４は、ダウンロードされたゲーム、ゲーム・プレビュー、および部分的にダウンロードされたゲームを格納する。
ゲーム・サービス・クライアント３２６は、ゲーム・サービス３４０から受けたレンダリング・ビデオ・ゲーム画像を表示するクライアント・アプリケーションである。また、ゲーム・サービス・クライアント３２６は、ゲーム入力を処理し、容易にアップロード可能なフォーマットにそれを変更することができる。この容易にアップロード可能なフォーマットは、ゲーム・サービス３４０に伝達される。また、ゲーム・サービス・クライアント３２６は、サービス３４０から受けたレンダリング・ビデオ・ゲーム画像を、ディスプレイ３１６に対して最適化されたサイズに拡縮することもできる。
【００３６】
プレーヤー・プロファイル・データー・ストア３２８は、個々のゲームについてのプレーヤー・プロファイル情報を格納する。また、プレーヤー・プロファイル情報は、プレビューも含み、個々のゲームについての墓石(tombstone)またはゲーム保存データーも保存することができる。ゲーム保存ファイルおよび墓石は双方共、ゲームの進展を記録する。次いで、ゲーム実行環境３２２は、ゲーム保存データーを読み取り、プレーヤーがサーバーにおいて止めたところからゲームを開始する。逆のシナリオも可能であり、その場合、ゲームを開始するために、ゲーム保存データーおよびプレーヤー・プロファイル情報をゲーム・クライアント３１０からゲーム・サービス３４０にアップロードする。
【００３７】
ゲーム・サービス３４０は、接続マネージャー３４２、プレーヤー・プロファイル・データー・ストア３４４、ゲーム実行環境３４８、およびゲーム・データー・ストア３５０を含む。１つのボックスとして図示したが、ゲーム・サービス３４０は、複数のマシンを含むデーター・センターにおいて実現することもでき、または数カ所のデーター・センターにおいて実現することもできる。
【００３８】
接続マネージャー３４２は、クライアント３１０とサービス３４０との間で接続を形成する(build)。また、接続マネージャー３４２は、ユーザーがゲーム・サービス３４０にアクセスするのを許可されていることを確認するために、種々の認証メカニズムを提供することもできる。また、接続マネージャー３４２は、接続内で利用可能な帯域幅を分析し、ゲーム・プレーが悪化しないことを確保するために、ゲーム・プレーの間にゲームのダウンロードを絞る(throttle)こともできる。
【００３９】
プレーヤー・プロファイル・データー・ストア３４４は、接続マネージャー３４２と共に動作して、プレーヤー情報を構築し格納することができる。プレーヤー・プロファイルの一部は、プレーヤーの名前、住所、クレジット・カード情報、あるいはゲーム・サービスによって提供されるゲームおよび体験のための支払いを行うまたは購入するための他のメカニズムを含むことができる。
【００４０】
加えて、プレーヤー・プロファイル・データー・ストア３４４は、個々のゲームにおけるプレーヤーの進展を格納することができる。プレーヤーがゲームまたはゲーム・プレビューを進めるに連れて、プレーヤーのスコアおよびゲーム・レベルへの入口(access)を格納することができる。更に、プレーヤー・プロファイル・データー・ストア３４４は、言語の好みのような、個々のプレーヤーの好みについての情報も格納することができる。プレーヤーのゲーム・クライアント、およびネットワーク接続の速度に関する情報も格納することができ、ゲーム体験を最適化するために利用することができる。例えば、一実施形態では、地理的に近いデーター・センターが使えないとき、インターネット接続のレイテンシーが高いプレーヤーを優先的に近隣のデーター・センターに接続することができ、接続のレイテンシーが低いプレーヤー程遠くにあるデーター・センターに接続すればよい。このように、追加のレイテンシーを最良に処理することができるネットワーク接続のプレーヤーが、位置のために追加のレイテンシーを生ずるデーター・センターに接続される。
【００４１】
また、プレーヤー・プロファイル・データー・ストア３４４は、個々のプレーヤーについての使用履歴も格納することができる。プレーヤーがゲームを購入した履歴、ゲームをサンプリングした履歴、またはゲームの購入を要求しないゲーム・サービスを介してゲームをプレーした履歴を格納することができる。使用情報は、関心のあるゲームを個々のプレーヤーに提案するために分析することもできる。一実施形態では、購入履歴は、ゲーム・サービスを介して購入されなかったゲームを含むこともできる。例えば、プレーヤーが小売店において購入したゲームからキーを入力することによって、購入履歴を増やすこともできる。ある実施形態では、プレーヤーは、ゲームがもはや彼らのゲーム・クライアントにないとき、彼らのゲーム・クライアント３１０において、そしてゲーム・サービスを介しての双方で、そのゲームにアクセスできてもよい。
【００４２】
ゲーム実行環境３４８は、ゲームのインスタンスを実行するために必要とされるゲーミング・リソースを含む。これらは、既に説明したリソースであり、ゲーム・マネージャー３５２および他のコンポーネントによって管理される。ゲーム実行環境３４８は、アクティブなメモリーを計算およびビデオ処理と共に含む。ゲーム実行環境３４８は、ゲーミング制御をＩ／Ｏチャネルを介して受け、そのプログラミングにしたがってゲームを操作し進展させる。一実施形態では、ゲーム実行環境３４８は、レンダリング・ビデオ・ストリームを出力する。このビデオ・ストリームはゲーム・クライアントに伝達される。他の実施形態では、ゲーム実行環境３４８は、ゲーム・ジオメトリー(game geometry)、または他の表現を出力する。これらはゲーミング・ビデオをレンダリングするためにゲーミング・クライアントにおいてローカル・オブジェクトと組み合わせることができる。
【００４３】
ゲーム・データー・ストア３５０は、利用可能なゲームを格納する。ゲームは、データー・ストアから引き出され、アクティブ・メモリーを介してアクティブ化される。ゲーム・データー・ストア３５０は、受動的メモリーまたは副メモリーと記述されてもよい。一般に、ゲームはゲーム・データー・ストア３５０からはプレーされないであろう。しかしながら、ある実施形態では、副メモリーを仮想メモリーとして利用することができ、この場合、ゲーム・データー・ストア３５０の一部がアクティブ・メモリーとして機能することもできる。これは、アクティブ・メモリーが必ずしも特定のハードウェア・コンポーネントによって定められるのではなく、ゲームを実行するためにメモリー内部においてオブジェクトを能動的に操作しこれらにアクセスするゲーム・リソースの能力によって定められることを例証する。
【００４４】
これより図４に移ると、本発明の形態によるデーター・センター４００内におけるマルチモード・ゲーミング・サーバーの構成が示されている。この構成は、ラック４１０、ラック４１２、ラック４１４、およびラック４１６を含む。簡単にするために４つのラックが示されているが、実際の実現例では、数十個、数百個、または数千個のラックを含み、データー・センター内に配備されることもあり得る。各ラックは、ある量のサーバー、配電機器、およびネットワーキング機器を含むことができる。一構成では、ネットワーキング・ケーブルが、ラック内部においてルーター／スイッチまで引かれている。次いで、ラックにおける各サーバーはルーターに接続する。同様に、ラックに関連する配電設備(station)まで電力を流すこともできる。次いで、各サーバーは配電設備に結合される。
【００４５】
加えて、各ラックは、ファンのような、冷却機器も含むことができる。一構成では、サーバーに空気を引き込むために、サーバーの背後にファン用の壁が設けられる。垂直冷却構成では、１つ以上のファンが、ラック内におけるサーバーへの空気流を促進するために、ラックの上または下に配置される。また、冷却機器は、熱電対、ならびに温度、圧力、およびラックに渡る空気流を測定する他のセンサも含むことができる。ラックは、冷却が求められるところに空気を分配するために、１つ以上の固定または調節可能なバッフルを含むこともできる。
【００４６】
制御ファブリック４０２は、通信可能にラックおよびラック内部の計算デバイスに結合されている。制御ファブリック４０２は、各マルチモード・ゲーミング・サーバーの状態を管理する。例えば、制御ファブリック４０２は、第１タイプの計算リソースをアクティブ化し、第２タイプの計算リソースを非アクティブ化することによって、マルチモード・サーバーをモード間で移行させることができる。制御ファブリック４０２は、作業負荷を計算デバイスに分散させることができる。また、制御ファブリック４０２は、ラック内部の冷却機器を管理することもできる。例えば、制御ファブリック４０２は、ラック内のサーバーが低電力モードにあるとき、ラック内におけるファン速度を低下させることができる。
【００４７】
ラック４１４および４１６は、モードの混合におけるマルチモード・サーバーを例示する。本発明の形態は、ラック・シャーシのようなデーター・センター・ユニット内においてモードを混合することに限定されるのではない。１つの形態では、データー・センター・ユニット内にける全てのマルチモード・ゲーミング・サーバーが同じモードで動作している。図４が例示するように、ラック内におけるモードの混合も可能である。
【００４８】
例証すると、ラック４１６は、ゲーム・モードのマルチモード・サーバー４２０、一般処理モードのマルチモード・サーバー４２２、および一般処理モードのマルチモード・サーバー４２４を含む。例証すると、ラック４１４は、ゲーム・モードのマルチモード・サーバー４３０、ゲーム・モードのマルチモード・サーバー４３２、およびゲーム・モードのマルチモード・サーバー４３４を含む。１つの形態では、ラック内の計算デバイスは、同質のハードウェア構成を有し、これらがゲーミング最適モードと非ゲーミング最適モードとの間で切り替えることを可能にする。
【００４９】
マルチモード・サーバーは、サーバー内において異なる計算リソースをアクティブ化することによって、ゲーミング最適化と汎用最適化との間で移行することができる。１つの態様では、汎用リソースおよびゲーム最適化リソースが、実質的に重複しないピーク使用期間を有する。ラック４１４および４１６のような、マルチモード・ゲーミング・サーバーの構成を有するラックは、ゲーミングのような１つの機能に最適化された単一モード・サーバーのラックと組み合わせて、データー・センター内に配備することができる。最適化されたサーバーによって提供される計算サービスに対する基本的需要に対応するように、単一モード・サーバーの台数を指定することもできる。基本的需要を満たすための単一モード・サーバーの配備により、単一モード・サーバーは、平均して、閾値時間量よりも長くアクティブであることが可能になる。例えば、配備される単一モード・サーバーの量を、平均して、１日の８０％だけアクティブになれるものに限定することができる。マルチモード・サーバーは、需要に対応するためにピーク使用期間の間、ゲーミングのような作業負荷に最適化された単一モード・サーバーと組み合わせて使用することができる。
【００５０】
これより図５に移ると、本発明の形態によるマルチモード・サーバー内における異なるタイプのリソースが示されている。多目的サーバーは、マザーボード５００を含む。マザーボード５００は、ゲーミングに最適化された第１タイプの計算リソースを含む。第１タイプの計算リソースは、ゲーム最適化ＣＰＵ５１０、ゲーム最適化ＧＰＵ５１２、およびビデオ・エンコーダー５１４を含む。これは、本明細書において使用する場合、計算リソースは複数のハードウェア品目を含むことができることを例証する。また、図示しないが、計算リソースは、メモリー、およびリソースをサポートする他のコンポーネントも含むことができる。例えば、ＣＰＵが専用のＤＲＡＭメモリーを有することができる。本発明の形態は、別個のビデオ・エンコーダーと共に使用することには限定されない。ビデオ・エンコーダーがＣＰＵまたはＧＰＵの一部であることも可能である。
【００５１】
１つの形態では、ゲーム最適化ＣＰＵ５１０およびゲーム最適化ＧＰＵ５１２は、市販のゲーム・コンソールにおいて見られるように、同じチップである。ゲーム・コンソールの例には、Ｘｂｏｘ３６０、ソニー社のＰｌａｙＳｔａｔｉｏｎ（登録商標）ファミリー、Ｘｂｏｘ  Ｏｎｅ、および任天堂のＷｉｉ（商標）等が含まれる。ゲーム最適化計算リソースに関連するハードウェア構成は、市販のゲーム・コンソール用に書かれたゲームが、ゲーム・コードに対する変更なしでマルチモード・サーバーにおいて実行し、ゲームがゲーム・コンソール内のハードウェアと相互作用するのと同様にハードウェアと相互作用することを可能にするように構成することができる。例えば、ゲーム・コンソールのＧＰＵによって実行されるプロセスは、ゲーム最適化計算リソースのＧＰＵによって実行することができる。
【００５２】
ゲーム最適化ＣＰＵ５１０、ゲーム最適化ＧＰＵ５１２、およびビデオ・エンコーダー５１４は全て、マザーボード内にあるソケットに結合することができる。１つの形態では、リソースが取り付けられているソケットをオフに切り替えることによって、低電力モードへの移行のために、計算リソースが非アクティブ化される。
【００５３】
マザーボード５００における汎用計算リソースは、企業最適化ＣＰＵ５２０を含む。図５に示すようなゲーム・モードでは、企業最適化ＣＰＵ５２０は、０Ｗを引き込んでいる。対照的に、ゲーム最適化ＣＰＵ５１０は５０Ｗを引き込んでおり、ゲーム最適化ＧＰＵ５１２は９０Ｗを引き込んでおり、ビデオ・エンコーダー５１４は１０Ｗを引き込んでおり、ゲーム・モードでは合計で１５０Ｗを使用する。
【００５４】
これより図６に移ると、本発明の形態による汎用計算モードにおける電力使用が例示されている。ここでは、ゲーム最適化ＣＰＵ５１０、ゲーム最適化ＧＰＵ５１２、およびビデオ・エンコーダー５１４は全て０Ｗを引き込んでいる。対照的に、企業最適化ＣＰＵ５２０は１５０Ｗを引き込んでいる。１つの形態では、異なるモードに関連する計算リソースの定格電力消費は実質的に等しい。
【００５５】
この場合、ゲーミング・モードに関連する計算リソースは、企業または一般計算モードに関連する計算リソースと同じ量の電力を引き込む。１つの態様では、マルチモード・サーバー用冷却システムは、１つのタイプの計算リソースが所与の時点においてアクティブになるように、ノット冷却(knot cooling)だけを設けることができる。
【００５６】
これより図７を参照して、本発明の形態にしたがってデーター・センター内において作業負荷を管理する方法７００を示す。方法７００は、データー・センター内において作業負荷を管理する制御ファブリックによって実行することができる。
【００５７】
ステップ７１０において、複数のマルチモード・サーバー内にある第１タイプの計算リソースの実質的に全てを、第１時間期間中低電力モードに設定する。各マルチモード・サーバーは、異なるタイプの作業に最適化された複数の計算リソースを有する。複数の計算リソースは、少なくとも第１タイプの計算リソースおよび第２タイプの計算リソースを含む。１つの態様では、第１時間期間は、第１タイプの計算リソースが処理するのに最適化された作業負荷のための低需要期間に対応する。例えば、ゲーミング作業負荷に対する低需要期間は日中に取ればよく、ゲーム最適化サーバーはこの時間期間中低電力モードに設定されるとよい。
【００５８】
ステップ７２０において、複数のマルチモード・サーバー内にある第２タイプの計算リソースの実質的に全てを、第２時間期間において低電力モードに設定する。１つの形態では、第１および第２時間期間は実質的に重複しない。これらの時間期間が重複しないことにより、第１タイプの計算リソースおよび第２タイプの計算リソースは、これらが処理するために最適化された計算負荷に対するピーク需要を満足することが可能になる。
【００５９】
個々のマルチモード・サーバー内でアクティブになる計算リソースのタイプは、作業負荷需要に基づいて調節することができる。第１タイプの作業負荷の供給が増大すると、第１タイプの作業負荷を処理するために構成されたリソースをアクティブ化することができる。異なるタイプの作業負荷に対する需要が変化すると、複数のマルチモード・サーバーにおいて状態の混合が存在することもある。例えば、全てのマルチモード・サーバーを、第１タイプの作業負荷を処理するように設定することができ、マルチモード・サーバーの内１／３を第１タイプの作業負荷を処理するように設定することができ、マルチモード・サーバーの内半分を、第１タイプの作業負荷を処理するように設定することができ、または第１タイプの作業負荷を処理するようにマルチモード・サーバーを設定しないことも可能である。第１タイプの作業負荷を処理するように設定されないマルチモード・サーバーは、異なるタイプの作業負荷を使用するように設定することができる。
【００６０】
以上、限定的ではなく例示的であるように本発明の形態について説明した。ある種の特徴およびサブコンビネーションは、有用であり、他の特徴やサブコンビネーションを参照することなく採用されてもよいことは理解されよう。これは、請求項の範囲によって想定されており、その範囲内に該当することである。
【図１】
0006539278.tif 000002
【図２】
0006539278.tif 000003
【図３】
0006539278.tif 000004
【図４】
0006539278.tif 000005
【図５】
0006539278.tif 000006
【図６】
0006539278.tif 000007
【図７】
0006539278.tif 000008