(57)【特許請求の範囲】
【請求項１】
システム・オン・チップ（ＳｏＣ）であって、
複数のモードのうちの１つで動作させるように構成され、
第一モードで、前記ＳｏＣは、ネットワーク・トラフィックを管理するためにネットワーク計算サブシステムを動作させるように構成され、
第二モードで、前記ＳｏＣは、計算サービスを提供するためにサーバ計算サブシステムを動作させるように構成され、
第三モードで、前記ＳｏＣは、前記ネットワーク計算サブシステム、及び前記サーバ計算サブシステムを同時に動作させるように構成される、
前記第一モードで、前記ＳｏＣは、第二ネットワーク計算サブシステムとして前記サーバ計算サブシステムを別の目的のために再利用するようにさらに構成される、
ＳｏＣ。
【請求項２】
前記第一モードで、前記ＳｏＣは、ホスト・システム内のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・デバイス上で前記ネットワーク計算サブシステムを動作させるように構成される、請求項１のＳｏＣ。
【請求項３】
前記第二モードで、前記ＳｏＣは、ホスト・システム内のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・デバイス上で前記サーバ計算サブシステムを動作させるように構成される、請求項１又は２に記載のＳｏＣ。
【請求項４】
前記第二モードで、前記ＳｏＣは、ホスト・システムで汎用プロセッサとして動作させるように構成される、請求項１〜３のいずれかに記載のＳｏＣ。
【請求項５】
前記第一モードで、前記ＳｏＣは、前記サーバ計算サブシステムを無効にし、前記サーバ計算サブシステムと関連する処理及びメモリ・リソースを再構成し、前記ネットワーク計算サブシステムについてのリソースとして動作させるようにさらに構成される、請求項１〜４のいずれかに記載のＳｏＣ。
【請求項６】
前記第二モードで、前記ＳｏＣは、前記ネットワーク計算サブシステムを無効にし、前記ネットワーク計算サブシステムと関連する処理及びメモリ・リソースを再構成し、前記サーバ計算サブシステムについてのリソースとして動作させるようにさらに構成される、請求項１〜５のいずれかに記載のＳｏＣ。
【請求項７】
前記ＳｏＣは、前記第二モードで第二サーバ計算サブシステムとして前記ネットワーク計算サブシステムを別の目的のために再利用するようにさらに構成される、請求項１〜６のいずれかに記載のＳｏＣ。
【請求項８】
前記ＳｏＣは、再構成可能な処理及びメモリ・リソースを備え、前記ＳｏＣは、前記第一モードで前記ネットワーク計算サブシステムへ前記再構成可能な処理及びメモリ・リソースのうちの少なくとも部分を割り当てるようにさらに構成される、請求項１〜７のいずれかに記載のＳｏＣ。
【請求項９】
前記ＳｏＣは、再構成可能な処理及びメモリ・リソースを備え、前記ＳｏＣは、前記第二モードで、前記サーバ計算サブシステムへ前記再構成可能な処理及びメモリ・リソースのうちの少なくとも部分を割り当てるようにさらに構成される、請求項１〜８のいずれかに記載のＳｏＣ。
【請求項１０】
前記第三モードで、前記ＳｏＣは、ホスト・システムとして前記サーバ計算サブシステムを動作させるように、及び前記ネットワーク計算サブシステムを動作させ、前記ホスト・システムについてのネットワーク・トラフィックを管理するようにさらに構成される、請求項１〜９のいずれかに記載のＳｏＣ。
【請求項１１】
前記ＳｏＣは、管理計算サブシステムを備え、前記管理計算サブシステムは、前記複数のモードのうちの１つで、前記ＳｏＣを設定するように構成される、請求項１〜１０のいずれかに記載のＳｏＣ。
【請求項１２】
システム・オン・チップ（ＳｏＣ）・システムであって、
複数のＳｏＣを備え、前記複数のＳｏＣは、第一ＳｏＣ、及び第二ＳｏＣを備え、前記第二ＳｏＣは、前記第一ＳｏＣへ通信可能に結合され、前記第一ＳｏＣは、複数のモードのうちの１つで動作させるように構成され、
第一モードで、前記第一ＳｏＣは、第一ネットワーク計算サブシステムを動作させるように構成され、
第二モードで、前記第一ＳｏＣは、第一サーバ計算サブシステムを動作させるように構成され、
第三モードで、前記第一ＳｏＣは、前記第一ネットワーク計算サブシステム、及び前記第一サーバ計算サブシステムを同時に動作させるように構成され、
前記第一ＳｏＣは、前記第一モードで、第三ネットワーク計算サブシステムとして別の目的のために再利用される前記第一サーバ計算サブシステムで構成される、
ＳｏＣシステム。
【請求項１３】
前記第二ＳｏＣは、また前記複数のモードのうちの１つで動作させるように構成され、
前記第一モードで、前記第二ＳｏＣは、第二ネットワーク計算サブシステムを動作させるように構成され、
前記第二モードで、前記第二ＳｏＣは、第二サーバ計算サブシステムを動作させるように構成され、
前記第三モードで、前記第二ＳｏＣは、前記第二ネットワーク計算サブシステム、及び前記第二サーバ計算サブシステムを同時に動作させるように構成される、
請求項１２のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
相互参照
本出願は、国際出願であり、２０１５年２月１３日に出願され、「ＭＵＬＴＩ−ＭＯＤＥ  ＳＹＳＴＥＭ  ＯＮ  Ａ  ＣＨＩＰ」と題し、その本開示がその全体を参照により本明細書に援用される、米国特許出願第１４／６２２，６６１号へ優先権を主張する。
【０００２】
多くの組織及び企業は、複数の通信ネットワーク経由でコンピューティング・サービスを提供する。たとえば、コンピューティング・サービスは、インターネット経由で異なるクライアントへ提供されることが可能であるウェブ・ストレージ、または仮想サーバなどの、ウェブ・サービスを有することができる。
【０００３】
一般的に言えば、システムは、いくつかの異なる機能を実行する１つ以上のサブシステムを含むことができる。しかしながら、システムを作成すると、各サブシステムは、特定の機能性を実行することへ制限される可能性がある。いくつかの実施例で、追加の機能性は、より多くのシリコンを浪費して提供される可能性がある。したがって、ほとんどの場合に、クライアントは、そのサブシステムについて所定の構成に基づき各サブシステムにより提供される特定の機能性を使用することに限定される可能性がある。
【０００４】
さまざまな実施形態は、本開示に従い、図面を参照して記述される。
【図面の簡単な説明】
【０００５】
【図１】開示された技術のいくつかの実施形態により、システムのブロック図を図示する。
【図２】本技術の特定の実施形態により、システム・オン・チップ（ＳｏＣ）の詳細なブロック図を図示する。
【図３Ａ】開示された技術の１つの実施形態により、第一モードでＳｏＣ構成を図示する。
【図３Ｂ】開示された技術の１つの実施形態により、第二モードでＳｏＣ構成を図示する。
【図３Ｃ】開示された技術の１つの実施形態により、第三モードでＳｏＣ構成を図示する。
【図４Ａ】開示された技術の１つの実施形態により、第一モードで、ネットワーク計算サブシステムとして別の目的のために再利用されたサーバ計算サブシステムを含むＳｏＣ構成を図示する。
【図４Ｂ】開示された技術の１つの実施形態により、第二モードで、サーバ計算サブシステムとして別の目的のために再利用されたネットワーク計算サブシステムを含むＳｏＣ構成を図示する。
【図５】開示された技術の１つの実施形態により、リソースのフレキシブル・プールを含むＳｏＣのブロック図を図示する。
【図６Ａ】開示された技術のいくつかの実施形態により、フレキシブル・リソースを含む第一モードで動作させるように構成されるＳｏＣを図示する。
【図６Ｂ】開示された技術のいくつかの実施形態により、第二モードで動作させるように構成されるＳｏＣを図示する。
【図７Ａ】本技術の１つの実施形態により、第一モードで動作させるように構成される第二ＳｏＣと通信する第二モードで動作させるように構成される第一ＳｏＣを図示する。
【図７Ｂ】本技術の１つの実施形態により、第二モードで動作させるように構成される第二ＳｏＣと通信する第二モードで動作させるように構成される第一ＳｏＣを図示する。
【図７Ｃ】本技術の１つの実施形態により、第三モードで動作させるように構成される第二ＳｏＣと通信する第二モードで動作させるように構成される第一ＳｏＣを図示する。
【図８】本技術の１つの実施形態により、複数のＳｏＣを含むシステムを図示する。
【図９】本技術の特定の実施形態により、管理計算サブシステムのブロック図を図示する。
【図１０】本技術の特定の実施形態により、ネットワークＩ／Ｏサブシステムのブロック図を図示する。
【図１１】本技術の特定の実施形態により、サーバＩ／Ｏサブシステムのブロック図を図示する。
【図１２】本技術の特定の実施形態により、共有リソース・サブシステムのブロック図を図示する。
【図１３】少なくとも１つの例示的な実施形態により、１つ以上のネットワークを介して接続される１つ以上のサービス・プロバイダ・コンピュータ、及び／またはユーザ・デバイスを含む、本明細書に記述される特徴及びシステムについての例示的なアーキテクチャを図示する。
【図１４】さまざまな実施形態を実施することが可能である環境を図示する。
【発明を実施するための形態】
【０００６】
以下の説明で、さまざまな実施形態を記述する。説明目的のために、本実施形態の完全な理解を提供するために、具体的な構成及び詳細を記載する。しかしながら、これらの具体的な詳細なしで実施形態を実施することができることも当業者に明らかであろう。さらに、記述されている実施形態を不明瞭にしないために、既知の特徴を省略する、または簡略化することができる。
【０００７】
一般に、コンピューティング・システムは、いくつかの異なる機能を実行する１つ以上の計算サブシステムを含むことができる。ほとんどの場合に、コンピューティング・システムを作成すると、各計算サブシステムは、特定の機能性を実行することに限定される可能性がある。いくつかの実施例で、追加の機能性は、より多くのシリコンを浪費して提供される可能性がある。たとえば、コンピューティング・システムは、追加の機能性を提供するために追加のチップを必要とする可能性がある。したがって、ほとんどの場合に、クライアントは、そのサブシステムについての所定の構成に基づき各サブシステムにより提供される具体的な機能性を使用することに制限される可能性がある。
【０００８】
本技術の実施形態は、システム・オン・チップ（ＳｏＣ）を動作させるためにさまざまな構成及びモードを提供することが可能である。たとえば、ＳｏＣは、ホスト・システム（たとえば、ｘ８６サーバ）へ通信可能に結合され、ネットワーク・トラフィック監視、ネットワーク・トラフィック・シェーピング、コンピューティングなどのような、さまざまなサービスを提供することができる。特定の実施形態により、ＳｏＣは、ホスト・システムについてのネットワーク・トラフィックを少なくとも管理するためのネットワーク計算サブシステム、及び計算サービスを提供するためのサーバ計算サブシステムを含むことができる。開示された技術のいくつかの実施形態で、ＳｏＣは、ネットワーキング・サービスのみを提供する（たとえば、サーバ計算サブシステムが構成解除される、または非アクティブであるときに）第一モードで、計算サービスのみを提供する（たとえば、ネットワーク計算サブシステムが構成解除される、または非アクティブであるときに）第二モードで、またはネットワーキング及び計算サービスの両方を同時に提供する（たとえば、ネットワーク計算サブシステム、及びサーバ計算サブシステムの両方がアクティブである、または機能的であるときに）第三モードで動作することができる。
【０００９】
コンピュータ・ネットワークは、データをホストし、複数のクライアントまたは組織へサービスを提供することが可能である複数のサーバを典型的に含むことができる。たとえば、サーバは、クラウド・コンピューティング、分析、ウェブ・サービス、ストレージ、データベース、アプリケーション、デプロイメント・サービスなどのようなサービスを潜在的に多数のクライアント・コンピュータへ提供することが可能である。クライアントまたは組織は、これらのサービスまたはデータを使用して、ストレージ、データ処理及びウェアハウジング、ウェブ及びモバイル・アプリケーション、アーカイブ、ならびに多くの他のタスクのような多種多様な作業負荷に電力を供給することが可能である。一般に、クライアントは、サーバからのサービスまたはデータを要求し、サーバは、ネットワーク経由で要求にサービスを提供する、及び／またはデータを提供する特定のタスクを実行することで応答する。ネットワーク・トラフィックは、特定の時間にサービスを要求するクライアント数、サーバ容量などのような複数の要因により変化する可能性がある。
【００１０】
いくつかの実施例で、ネットワーク・システムは、ネットワーク・トラフィックを監視し、トラフィックを調整し、帯域幅輻輳を最小限にすることが可能である。たとえば、ネットワーク・システムは、異なるクライアントへウェブ・サービスを提供するホスト・システム（たとえば、ｘ８６サーバ）へ通信可能に結合されることができる。ネットワーク・システムは、１つ以上のプロセッサ・コア、キャッシュ、ネットワーク・アクセラレーション・ロジック、メモリ・コントローラ、及びＩ／Ｏサブシステムなどを含むことができる。いくつかの実施形態で、ネットワーク・システムは、サーバ（たとえば、ホスト・システム）により提示されたウェブ・サービスと関連する、トラフィック・シェーピング、ネットワーク・ストレージ処理などのような他の機能を実行することもできる。いくつかの実施例で、ネットワーク・システムの機能性は、ホスト・システムへ通信可能に結合されることができるシステム・オン・チップ（ＳｏＣ）で計算サブシステムとして実装されることができる。たとえば、ＳｏＣは、プラグイン・カードを使用してホスト・システム（たとえば、１つ以上のサーバ）へ結合されることが可能である、またはホスト・システムのマザーボードにはんだ付けされることが可能である。
【００１１】
いくつかの実施形態で、ＳｏＣは、ネットワーク計算サブシステムに加えて、サーバ計算サブシステム、及び管理計算サブシステムを含むこともできる。たとえば、サーバ計算サブシステムは、計算サービスを提供するように構成されることができ、管理計算サブシステムは、ネットワーク計算サブシステム、及びサーバ計算サブシステムについてのリソースを管理するように構成されることができる。いくつかの実施例で、ネットワーク計算サブシステム、及びサーバ計算サブシステムは、専用リソースを含むことができる。たとえば、リソースは、プロセッサ・コア、レベル１（Ｌ１）キャッシュ、レベル２（Ｌ２）キャッシュ、レベル３（Ｌ３）、またはラスト・レベル・キャッシュ、メモリ・コントローラ、メモリ・チャネル、Ｉ／Ｏコントローラ、さまざまなＩ／Ｏインタフェースなどを含むことができる。
【００１２】
ほとんどの場合に、ＳｏＣを製造すると、ＳｏＣは、特定の構成に基づき特定の種類のサービスのみを提供することに限定されることができる。たとえば、ＳｏＣは、１セットの機能性を提供する第一構成で、または別のセットの機能性を提供する第二構成で製造されることができる。加えて、特定の構成でＳｏＣを製造すると、処理及びメモリ・リソースの数及び種類は、各計算サブシステムについて固定されることができる。したがって、各ＳｏＣは、所定の構成に基づきサービスのタイプ及びレベルを提供することに限定されることができる。
【００１３】
開示された技術の実施形態は、システム・オン・チップ（ＳｏＣ）を動作させるためのさまざまな構成及びモードを提供することが可能である。ＳｏＣは、トラフィック監視、トラフィック・シェーピング、コンピューティングなどのような、さまざまなサービスを提供するホスト・システム（たとえば、ｘ８６サーバ）へ通信可能に結合されることができる。本技術のいくつかの実施形態で、ＳｏＣは、計算サービスを提供するサーバ計算サブシステム、ネットワーク・トラフィックを少なくとも管理するネットワーク計算サブシステム、ならびにネットワーク計算サブシステム、及びサーバ計算サブシステムを管理する管理計算サブシステムのような複数のサブシステムを含むことができる。
【００１４】
開示された技術の実施形態で、ＳｏＣは、複数のモードのうちの１つで動作させるように構成されることが可能である。たとえば、異なる実施形態で、ＳｏＣは、ネットワーキング・サービスのみを提供する第一モードで、計算サービスのみを提供する第二モードで、またはネットワーキング及び計算サービスの両方を同時に提供する第三モードで動作することができる。加えて、各モードは、異なる技術を使用して実施されることが可能である。たとえば、１つの実施形態で、各計算サブシステムは、固定されたリソース割り当てを有することが可能である。別の実施形態で、構成解除済み、または非アクティブ計算サブシステムと関連するリソースは、アクティブ計算サブシステムへ再割り当てされることが可能である。別の実施形態で、ＳｏＣは、アクティブ計算サブシステムへステアリングされることが可能である再構成可能なリソースを含むことが可能である。いくつかの実施形態で、管理計算サブシステムは、ハードウェア構成（たとえば、１つ以上のピン、ジャンパー線、またはフューズ）、ソフトウェア構成（たとえば、ソフトウェア・レジスタのデータ・フィールド）、またはポリシーに基づく電源投入でＳｏＣについての構成を決定することができる。たとえば、ポリシーは、ネットワーク接続を介して、外部エンティティ、またはオペレータにより提供されることができる。
【００１５】
１つの実施形態で、管理計算サブシステムは、第一モードで動作させるようにＳｏＣを構成することができ、たとえば、ＳｏＣは、ネットワーク関連サービスのみを提供することができる。たとえば、サーバ計算サブシステムは、電源を遮断される、または構成解除される可能性がある。１つの実施形態で、ＳｏＣは、ホスト・システム内のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・デバイスでネットワーク計算サブシステムとして動作させるように構成されることが可能である。いくつかの実施形態で、さらに管理計算サブシステムは、サーバ計算サブシステムを無効にし、サーバ計算サブシステムと関連する処理及びメモリ・リソースを再構成し、ネットワーク計算サブシステムについてのリソースとして動作させるように第一モードでＳｏＣを構成することが可能である。別の実施形態で、さらに管理計算サブシステムは、第二ネットワーク計算サブシステムとしてサーバ計算サブシステムを別の目的のために再利用するように第一モードでＳｏＣを構成することが可能である。たとえば、ネットワーク計算サブシステムは、第一ネットワーク計算サブシステムとして使用されることができ、サーバ計算サブシステムは、第二ネットワーク計算サブシステムとして使用されることができる。いくつかの実施形態で、再構成可能なリソースのうちの少なくとも部分を第一モードでネットワーク計算サブシステムへステアリングすることが可能である。このようにして、開示された技術のいくつかの実施形態は、たとえば、サーバ計算サブシステムと関連するリソース、または再構成可能なリソースを使用して、ＳｏＣが第一モードで高性能ネットワーキング・サービスを提供することを可能にすることができる。
【００１６】
１つの実施形態で、管理計算サブシステムは、第二モードで動作させるようにＳｏＣを構成することが可能であり、たとえば、ＳｏＣは、計算関連サービスのみを提供することができる。たとえば、ネットワーク計算サブシステムは、電源を遮断される、または構成解除されることができる。１つの実施形態で、ＳｏＣは、ホスト・システム内のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・デバイスでサーバ計算サブシステムとして動作させるように構成されることが可能である。いくつかの実施形態で、さらに管理計算サブシステム１０８は、ネットワーク計算サブシステムを無効にし、ネットワーク計算サブシステムと関連する処理及びメモリ・リソースを再構成し、サーバ計算サブシステムについてのリソースとして動作させる第二モードで、ＳｏＣを構成することができる。別の実施形態で、さらに管理計算サブシステムは、第二サーバ計算サブシステムとしてネットワーク計算サブシステムを別の目的のために再利用する第二モードでＳｏＣを構成することができる。たとえば、サーバ計算サブシステムは、第一サーバ計算サブシステムとして使用されることができ、ネットワーク計算サブシステムは、第二サーバ計算サブシステムとして使用されることができる。いくつかの実施形態で、再構成可能なリソースの少なくとも部分を第二モードでサーバ計算サブシステムへステアリングすることが可能である。このようにして、開示された技術のいくつかの実施形態は、たとえば、ネットワーク計算サブシステムと関連するリソース、または再構成可能なリソースを使用して、第二モードで高性能コンピューティング・サービスをＳｏＣが提供することを可能にすることができる。
【００１７】
１つの実施形態で、管理計算サブシステムは、第三モードで動作させるようにＳｏＣを構成することが可能であり、たとえば、ネットワーク計算サブシステム、及びサーバ計算サブシステムの両方は、有効にされることができ、ＳｏＣは、ネットワーク関連サービス、及び計算関連サービスを同時に提供することができる。第三モードで、それぞれのネットワーク計算サブシステム、及びサーバ計算サブシステムは、その専用処理及びメモリ・リソースを利用することができる。いくつかの実施形態で、第三モードで、サーバ計算サブシステムは、ホスト・システムとして構成されることができ、ネットワーク計算サブシステムは、ホスト・システムとして構成されるサーバ計算サブシステムについてのネットワーク・トラフィックを管理するように構成されることができる。
【００１８】
開示された技術のいくつかの実施形態で、システムは、複数のＳｏＣを含むことが可能であり、複数のＳｏＣの内の第一ＳｏＣは、複数のモードのうちの１つで動作させるように構成されることが可能であり、複数のＳｏＣの内の第二ＳｏＣは、複数のモードのうちの１つで動作させるように構成されることが可能である。１つの実施形態で、システム内の複数のＳｏＣは、ペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・インタフェースのような標準インタフェースを使用して互いと通信することが可能である。たとえば、１つの実施形態で、計算サービスのみを提供する第二モードで動作させるように構成される第一ＳｏＣは、ホスト・システムで汎用プロセッサとして動作させることが可能であり、複数のモードのうちの１つで構成される１つ以上の他のＳｏＣと通信することが可能である。別の実施形態で、ネットワーク・サービスのみを提供する第一モードで動作させるように構成される第一ＳｏＣは、１つ以上のサーバについてのネットワーク・プロセッサ（たとえば、第二モードで構成されるＳｏＣ、または第三者のＳｏＣ）として動作させることが可能である。
【００１９】
典型的なＳｏＣは、単一のチップ内に統合されたシステムの機能性を有することができる。たとえば、ＳｏＣは、複数のプロセッサ・コア、揮発性及び不揮発性メモリ・モジュール、メモリ・コントローラ、１つ以上の内部バス、標準インタフェース、ペリフェラル、電圧レギュレータ、電源管理回路、発振器及び位相同期回路のようなタイミング・リソースなどを含むことが可能である。単一のチップで複数のチップの機能性を実装することは、製造コスト、及び組み立てコストを削減することが可能である。加えて、一般的にＳｏＣは、より小さいフットプリント及び空間要件を有する。したがって、一般的にＳｏＣ実装は、同一の機能性を実装するマルチチップ・システムと比較して、より少ない電力を消費し、よりコスト効率が良い。
【００２０】
３つモードのうちの１つで動作させるようにＳｏＣを構成するように、開示された技術の実施形態を記述して示すが、開示された技術の態様は、３つモードのうちの１つで動作させるようにＳｏＣを構成することに限定されない。たとえば、いくつかの実装で、複数の計算サブシステムは、ＳｏＣ内に含まれることができ、ＳｏＣは、開示された技術の範囲から逸脱することなく、計算サブシステムのうちの１つとして動作させるように、または２つより多い計算サブシステムとして同時に動作させるように構成されることが可能である。
【００２１】
図１は、本明細書に記述される技術の特定の実施形態による例示的なシステム１００を図示する。特定の実施形態で、システム・オン・チップ（ＳｏＣ）１０２は、複数のモードのうちの１つで動作させるように構成されることができる。
【００２２】
ＳｏＣ１０２は、ネットワーク計算サブシステム１０４、サーバ計算サブシステム１０６、及び管理計算サブシステム１０８を含むことができる。ＳｏＣ１０２は、ホスト・システム１１０と通信するように構成されることができる。ＳｏＣ１０２、及びホスト・システム１１０間の通信は、ペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・インタフェース、または任意の他の適切なインタフェースのようなインタフェース１１２を使用して、実行されることができる。
【００２３】
いくつかの実施例で、ホスト・システム１１０は、複数のクライアントへマルチテナント・プラットフォームを提供することができる。たとえば、ホスト・システム１１０は、異なるクライアントへ、クラウド・コンピューティング、クラウド・ストレージ、分析、ウェブ・サービス、データベース、アプリケーション、デプロイメント・サービスなどのようなサービスを提供することができる。ホスト・システム１１０は、サーバ、たとえば、ｘ８６サーバを含むことができる。いくつかの実施形態で、ホスト・システム１１０内の１つ以上のプロセッサは、ＳｏＣ１０２上のソケットへ接続されることができる。いくつかの実装で、ＳｏＣ１０２は、プラグイン・カードを使用してホスト・システム１１０へ結合される、またはホスト・システム１１０のマザーボードにはんだ付けされることが可能である。
【００２４】
ネットワーク計算サブシステム１０４は、ネットワーク・トラフィック・シェーピング、ネットワーク・アクセラレーション、ネットワーク・ストレージ処理などのようなネットワーク関連機能性を提供するように構成されることができる。いくつかの実施形態で、ネットワーク計算サブシステム１０４は、ネットワーク・インタフェース・コントローラ（ＮＩＣ）、またはネットワーク・コプロセッサの少なくともいくつかの機能性を有することができる。特定の実施形態で、ネットワーク計算サブシステム１０４は、ホスト・システム１１０により提示されるウェブ・サービス、たとえば、ビリング、レート、トラフィック・シェーピング、暗号化、チョーキングなどに関連するいくつかの機能性を有することができる。ネットワーク計算サブシステム１０４は、処理コア、キャッシュ、メモリ・コントローラ、Ｉ／Ｏコントローラなどのような処理及びメモリ・リソースを含むことができる。
【００２５】
サーバ計算サブシステム１０６は、計算サービス、たとえば、クライアント・コンピュータへの仮想または物理リソースを提供するように構成されることができる。たとえば、計算サービスは、さまざまなサイズの仮想マシン・インスタンスを起動させ、必要に応じて仮想マシンへストレージ・ボリュームを関連付け、仮想マシン、データ処理、ストレージなどをレンタルすることで、アプリケーションを実行するリソースをクライアント・コンピュータに提供することを備えることができる。サーバ計算サブシステム１０６は、処理コア、キャッシュ、メモリ・コントローラ、Ｉ／Ｏコントローラなどのような処理及びメモリ・リソースを含むことができる。
【００２６】
いくつかの実施形態で、サーバ計算サブシステム１０６を使用して、ホスト・システム１１０の作業負荷のいくらかを軽減することができる。いくつかの実施例で、サーバ計算サブシステム１０６と併せてホスト・システム１１０は、高性能計算サービスを提供することができる。たとえば、ホスト・システム１１０は、迅速にターンアラウンド・サービスを処理することに集中することができ、サーバ計算サブシステム１０６へいずれかの低性能作業負荷を軽減するため、システムのスループットを向上させることができる。
【００２７】
開示された技術の実施形態で、ＳｏＣ１０２は、複数のモードのうちの１つで動作させるように構成されることが可能である。たとえば、第一モードで、ＳｏＣ１０２は、ネットワーク・トラフィックを少なくとも管理するためにネットワーク計算サブシステム１０４を動作させるように構成されることが可能である。たとえば、いくつかの実施形態で、ＳｏＣ１０２は、ホスト・システム１１０（たとえば、インタフェース１１２を介して）内のＰＣＩｅデバイスでネットワーク計算サブシステム１０４を動作させるように、たとえば、ホスト・システム１１０についてのネットワーク・トラフィックを管理するように構成されることができる。第二モードで、ＳｏＣ１０２は、計算サービスを提供するためにサーバ計算サブシステム１０６を動作させるように構成されることが可能である。たとえば、いくつかの実施形態で、ＳｏＣ１０２は、ホスト・システム１１０（たとえば、インタフェース１１２を介して）内のＰＣＩｅデバイスでサーバ計算サブシステム１０６を動作させるように構成されることができる。第三モードで、ＳｏＣ１０２は、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６を同時に動作させるように構成されることが可能である。いくつかの実施形態で、サーバ計算サブシステム１０６は、ホスト・システムとして構成されることができ、ネットワーク計算サブシステム１０４は、ホスト・システムとして構成されるサーバ計算サブシステム１０６についてのネットワーク・トラフィックを管理することができる。いくつかの実施形態で、ＳｏＣ１０２は、管理計算サブシステム１０８により複数のモードのうちの１つで構成されることが可能である。
【００２８】
いくつかの実施形態で、ＳｏＣ１０２を第一モードで動作させるときに、サーバ計算サブシステム１０６は、構成解除される、または非アクティブであることができる。たとえば、いくつかの実施例で、サーバ計算サブシステム１０６は、電源を遮断されることができる。いくつかの他の実施形態で、ＳｏＣ１０２を第一モードで動作させるときに、サーバ計算サブシステム１０６は、第二ネットワーク計算サブシステムとして別の目的のために再利用されることができる。たとえば、いくつかの実施例で、ＳｏＣ１０２は、２つのネットワーク計算サブシステムを利用することで、高性能ネットワーキング・サービスを提供するように構成されることができる。いくつかの実施形態において、第一モードで、ＳｏＣ１０２は、サーバ計算サブシステム１０６を無効にし、サーバ計算サブシステム１０６と関連する処理及びメモリ・リソースを再構成し、ネットワーク計算サブシステム１０４についてのリソースとして動作させ、高性能ネットワーキング・サービスを提供するように構成されることができる。いくつかの実施形態において、第一モードで、ＳｏＣ１０２は、１つ以上のサーバについてのネットワーク・プロセッサとして動作させるように構成されることが可能である。
【００２９】
いくつかの実施形態で、ＳｏＣ１０２を第二モードで動作させるときに、ネットワーク計算サブシステム１０４は、構成解除される、または非アクティブであることができる。たとえば、いくつかの実施例で、ネットワーク計算サブシステム１０４は、電源を切断されることができる。１つの実施形態において、第二モードで、ＳｏＣ１０２は、ホスト・システム１１０内の汎用プロセッサとして動作させるように構成されることが可能である。たとえば、いくつかの実施形態で、汎用プロセッサは、いずれかのプラットフォーム、たとえば、いずれかのオペレーティング・システム上で実行することが可能であることができる。いくつかの実施形態で、汎用プロセッサは、汎用コンピューテーションのようなコンピュータの中央処理装置の機能性のほとんどを実行することが可能であることができ、複数のネットワーキング及びメッセージング・プロトコルを支援することが可能であることができる。いくつかの他の実施形態で、ＳｏＣ１０２を第二モードで動作させるときに、ネットワーク計算サブシステム１０４は、第二サーバ計算サブシステムとして別の目的のために再利用されることができる。たとえば、いくつかの実施例で、ＳｏＣ１０２は、２つのサーバ計算サブシステムを利用することで高性能計算サービスを提供するように構成されることができる。いくつかの実施形態において、第二モードで、ＳｏＣ１０２は、ネットワーク計算サブシステム１０４を無効にし、ネットワーク計算サブシステム１０４と関連する処理及びメモリ・リソースを再構成し、サーバ計算サブシステム１０６についてのリソースとして動作させ、高性能計算サービスを提供するように構成されることができる。
【００３０】
いくつかの実施形態で、管理計算サブシステム１０８は、複数のモードのうちの１つ、たとえば、第一モード、第二モード、または第三モードで動作させるようにＳｏＣ１０２を設定するように構成されることができる。また管理計算サブシステム１０８は、ＳｏＣ１０２のさまざまなサブシステムを管理するように構成されることができる。たとえば、管理計算サブシステム１０８は、ブート管理、異なるサブシステムのリセット及び電源管理、ならびに任意の他のＳＯＣ管理関連機能性を提供するように構成されることができる。たとえば、いくつかの実施形態で、管理計算サブシステム１０８は、他の計算サブシステム、たとえば、ネットワーク計算サブシステム１０４に影響を与えずに、各計算サブシステムの電源を遮断するように構成されることができ、サーバ計算サブシステム１０６は、独立して電源を投入される、または遮断されることができる。また管理計算サブシステム１０８は、異なるサブシステムと関連するリソースを管理するように構成されることができる。いくつかの実施形態で、管理計算サブシステム１０８は、１つ以上のプロセッサ・コアのようなそれ自体の処理リソースを含むことができる。
【００３１】
したがって、開示された技術の実施形態は、ＳｏＣ１０２が同一のシリコンを使用して異なる機能性を提供することで複数のモードのうちの１つで動作させることを可能にすることができる。たとえば、同一のＳｏＣ１０２は、最小コストで、任意の追加のシリコンの必要なしで異なる構成で、ネットワーク計算サブシステムとして、サーバ計算サブシステムとして、または同時にネットワーク計算サブシステム、及びサーバ計算サブシステムとして動作することが可能である。
【００３２】
図２は、開示された技術のいくつかの実施形態によりＳｏＣ１０２の詳細なブロック図を図示する。
【００３３】
ＳｏＣ１０２は、ネットワーク計算サブシステム１０４、サーバ計算サブシステム１０６、管理計算サブシステム１０８、及び共有リソース・サブシステム２３０を含むことができる。管理計算サブシステム１０８は、内部バス２３２を使用して、ネットワーク計算サブシステム１０４、サーバ計算サブシステム１０６、及び共有リソース・サブシステム２３０のような他のサブシステムと通信することができる。
【００３４】
ネットワーク計算サブシステム１０４は、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、Ｌ１／Ｌ２キャッシュ２０４、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６、Ｌ３キャッシュ２０８、ネットワークＩ／Ｏサブシステム２１０、ネットワーク計算サブシステム・メモリ・コントローラ２１２、及びアクセラレーション部２１４を含むことができる。いくつかの実施形態で、ネットワーク計算サブシステム１０４についての処理及びメモリ・リソースの割り当てを固定することができる。たとえば、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２内の複数のマルチコア・プロセッサ数、ネットワーク計算サブシステム・メモリ・コントローラ２１２内の複数のメモリ・コントローラ数、及びＬ１／Ｌ２キャッシュ２０４、Ｌ３キャッシュ２０８のサイズは、パワー・オン・リセット後に固定されることができる。
【００３５】
サーバ計算サブシステム１０６は、サーバ計算サブシステム・マルチコア・プロセッサ２１６、Ｌ１／Ｌ２キャッシュ２１８、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０、Ｌ３キャッシュ２２２、サーバＩ／Ｏサブシステム２２４、サーバ計算サブシステム・メモリ・コントローラ２２６、及びブート周辺デバイス２２８を含むことができる。いくつかの実施形態で、サーバ計算サブシステム１０６についての処理及びメモリ・リソースの割り当てを固定することができる。たとえば、サーバ計算サブシステム・マルチコア・プロセッサ２１６内の複数のマルチコア・プロセッサ数、サーバ計算サブシステム・メモリ・コントローラ２２６内の複数のメモリ・コントローラ、及びＬ１／Ｌ２キャッシュ２１８の数、Ｌ３キャッシュ２２２のサイズは、パワー・オン・リセット後に固定されることができる。
【００３６】
ネットワーク計算サブシステム・マルチコア・プロセッサ２０２は、同一のプロセッサ内で、複数のマルチコア・プロセッサ、または処理部を含むことができる。たとえば、１つの実施例で、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２は、１２個の２コア・プロセッサを含むことができる。ネットワーク計算サブシステム・マルチコア・プロセッサ２０２は、プロセッサ・コアの１つ以上のプロセッサで集合的に複数の命令を実行するように構成されることができる。これらの命令は、たとえば、コンピュータ・プログラムの形式で、コンピュータ可読記憶媒体に格納されることができる。コンピュータ可読記憶媒体は、非一時的であることができる。いくつかの実施形態で、マルチコア・プロセッサは、複数のコア間のバス及びレベル１（Ｌ１）キャッシュ、及び／またはレベル２（Ｌ２）キャッシュのような、特定のリソースを共有することができる。たとえば、いくつかの実施例で、またシングル・コアまたはマルチコア・プロセッサ内の各コアは、複数の実行中の論理プロセッサ（またはスレッド）を含むことができる。このようなコア（複数の論理プロセッサを支援する）で、実行パイプラインのいくつかのステージ、及びより低いレベルのキャッシュ（たとえば、Ｌ１またはＬ２）も、共有することができる。マルチコア・プロセッサの非限定的な実施例のうちのいくつかは、ＡＲＭのＣｏｒｔｅｘ  Ａ５７、ＭＩＰＳ、ＡＭＤ  Ｐｈｅｎｏｍ、Ｉｎｔｅｌ  ＡＴＯＭなどを含むことができる。
【００３７】
いくつかの実施形態で、Ｌ１／Ｌ２キャッシュ２０４は、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２の複数のコア間で共有されることができる。たとえば、Ｌ１キャッシュを１次キャッシュとして使用することができ、Ｌ２キャッシュを２次キャッシュとして使用することができる。いくつかの実施形態で、Ｌ１／Ｌ２キャッシュ２０４をネットワーク計算サブシステム・マルチコア・プロセッサ２０２内に組み込むことができる。たとえば、１つのＬ１／Ｌ２キャッシュを１つのマルチコア・プロセッサと統合することができる。いくつかの実施形態で、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、及びＬ１／Ｌ２キャッシュ２０４は、サーバ計算サブシステム１０６についてのコンピューティング・リソースとして動作させるように再構成されることができる。たとえば、ＳｏＣ１０２を第二モードで動作させるように構成するときに、ネットワーク計算サブシステム１０４は、ＳｏＣ１０２により提供されるネットワーク関連機能性を無効にするように構成解除されることができる。
【００３８】
ネットワークＩ／Ｏサブシステム２１０は、さまざまな内部及び外部コンポーネントと通信する１つ以上のインタフェースを含むことができる。たとえば、ネットワークＩ／Ｏサブシステム２１０は、ホスト・システム１１０と通信するインタフェース２３６を含むことができる。ネットワークＩ／Ｏサブシステム２１０は、サーバ計算サブシステム１０６と通信する内部インタフェース、たとえば、インタフェース２３４を含むことができる。いくつかの実施形態で、サーバ計算サブシステム１０６を無効にするときに、サーバ計算サブシステム１０６と通信するインタフェース２３４を利用しないことができる。いくつかの実施形態で、サーバ計算サブシステム１０６は、ネットワークＩ／Ｏサブシステム２１０を介して、たとえば、インタフェース２３４を介してホスト・システム１１０、及びネットワークと通信することができる。いくつかの実施形態で、ホスト・システム１１０、及びサーバ計算サブシステム１０６と通信するインタフェースは、ＰＣＩｅのような標準インタフェースに基づくことができる。またネットワークＩ／Ｏサブシステム２１０は、ネットワーク（たとえば、インターネット、イントラネット）などと通信するインタフェースを含むことができる。たとえば、インタフェースは、イーサネット、トークン・リング、Ｗｉ−Ｆｉ、ＡＴＭ（非同期転送モード）などのような規格に基づくことができる。いくつかの実施形態で、またネットワークＩ／Ｏサブシステム２１０は、１つ以上のＳＡＴＡコントローラ、イーサネットＭＡＣ、ＰＣＩｅデバイス、ＳＥＲＤＥＳ（シリアライズ・デシリアライズ）Ｉ／Ｏマルチプレクサ、ＵＡＲＴ（汎用非同期送受信回路）、Ｉ２Ｃ（集積回路間）、ＧＰＩＯ（汎用入出力）、及びＳｏＣ機能性用の任意の他の適切なＩ／Ｏデバイスのような周辺デバイスを含むことができる。いくつかの実施形態で、またネットワークＩ／Ｏサブシステム２１０は、ハード・ドライブ、光学ドライブなどのような外部マス・ストレージ・デバイスへ接続するインタフェース（たとえば、ＳＡＴＡ）を含むことができる。
【００３９】
ネットワーク計算サブシステム・メモリ・コントローラ２１２は、ＤＤＲ（ダブル・データ・レート）コントローラ、ＤＤＲ２コントローラ、または任意の適切なメモリ・コントローラのような、複数のメモリ・コントローラを含むことができる。ネットワーク計算サブシステム・メモリ・コントローラ２１２を使用して、外部メモリ（たとえば、システム・メモリ）へのアクセスを管理することができる。たとえば、外部システム・メモリは、ＤＤＲ同期ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、ＤＤＲ２  ＤＲＡＭ、ＤＲＡＭなどを含むことができる。いくつかの実施形態で、ネットワーク計算サブシステム・メモリ・コントローラ２１２内のメモリ・コントローラ数は、プロセッサ・コア数、キャッシュ・サイズなどに基づくことができる。
【００４０】
アクセラレーション部２１４は、ネットワーク・アクセラレータのような１つ以上のアクセラレータを含むことができる。いくつかの実施形態で、アクセラレーション部２１４は、たとえば、ハードウェア・アクセラレータ、さまざまなパイプライン、キャッシング、圧縮などを使用して、帯域幅最適化、またはネットワーク・アクセラレーションを提供する、さまざまなハードウェア及びソフトウェア技術の組み合わせを含むことができる。またアクセラレーション部２１４は、ＲＤＭＡ（リモート・ダイレクト・メモリ・アクセス）、暗号化エンジンなどを支援することができる。たとえば、いくつかの実施例で、暗号化エンジンは、ハードウェアで暗号化機能を実行するため、ソフトウェア・オーバーヘッドを削減し、ネットワーキングに関連する復号化、暗号化及び認証機能の実行を加速することができる。
【００４１】
Ｌ３キャッシュ２０８は、ラスト・レベル・キャッシュを含むことができる。いくつかの実施形態で、Ｌ３キャッシュ２０８は、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２の複数のコアにより共有されることができる。本明細書で、用語、ラスト・レベル・キャッシュ、及びＬ３キャッシュを交換可能に使用することができるが、いくつかのシステムで、ラスト・レベル・キャッシュは、本技術の範囲から逸脱することなく、レベル２キャッシュ、またはレベル４キャッシュ、または任意の他のレベルであってもよい。いくつか実施形態で、Ｌ３キャッシュ２０８、及びネットワーク計算サブシステム・メモリ・コントローラ２１２は、サーバ計算サブシステム１０６についてのコンピューティング・リソースとして動作させるように再構成されることができる。たとえば、ＳｏＣ１０２を第二モードで動作させるように構成するときに、ネットワーク計算サブシステム１０４は、ＳｏＣ１０２により提供されるネットワーク関連機能性を無効にするように構成解除されることができる。
【００４２】
ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、ネットワーク計算サブシステム１０４へ割り当てられるすべてのリソースへ接続することが可能である物理層ファブリックを表現することができる。開示された技術のいくつかの実施形態で、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、ネットワーク計算サブシステム１０４へ割り当てられるすべてのリソースについての専用ハードウェア・パスを許可することで、ハードウェア・セキュリティ、及びパフォーマンス／ジッタ隔離を提供することができる。いくつかの実施形態で、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、ネットワーク計算サブシステム１０４の異なるコンポーネント、たとえば、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、Ｌ１／Ｌ２キャッシュ２０４、Ｌ３キャッシュ２０８、ネットワークＩ／Ｏサブシステム２１０、ネットワーク計算サブシステム・メモリ・コントローラ２１２、アクセラレーション部２１４、及び共有リソース・サブシステム２３０間の整合性を維持するように構成されることができる。いくつかの実施例で、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、ネットワーク計算サブシステム１０４の通信バックボーンを表現することができる。いくつかの実施形態で、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、すべての共有データがネットワーク計算サブシステム１０４でコヒーレントであることを確実にするように構成されることができる。たとえば、特定の共有データを２つ以上の位置（たとえば、複数のプロセッサ、１つのプロセッサの複数のコア、キャッシュなど）に格納する場合に、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、異なる位置でこの共有データの一貫性を維持するように動作可能であることができる。いくつかの実施形態で、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、ネットワーク計算サブシステム１０４の異なるコンポーネント間の整合性を維持する、整合性コントローラ、及び整合性ディレクトリを含むことができる。
【００４３】
サーバ計算サブシステム・マルチコア・プロセッサ２１６は、同一のプロセッサ内の複数のマルチコア・プロセッサ、または処理部を含むことができる。たとえば、１つの実施例で、サーバ計算サブシステム・マルチコア・プロセッサ２１６は、１２個の２コア・プロセッサを含むことができる。サーバ計算サブシステム・マルチコア・プロセッサ２１６は、プロセッサ・コアの１つ以上のプロセッサで集合的に複数の命令を実行するように構成されることができる。たとえば、コンピュータ・プログラムの形式で、命令をコンピュータ可読記憶媒体に格納することができる。コンピュータ可読記憶媒体は、非一時的であることができる。
【００４４】
いくつかの実施形態で、Ｌ１／Ｌ２キャッシュ２１８をサーバ計算サブシステム・マルチコア・プロセッサ２１６の複数のコア間で共有することができる。たとえば、Ｌ１キャッシュを１次キャッシュとして使用することができ、Ｌ２キャッシュを２次キャッシュとして使用することができる。いくつかの実施形態で、Ｌ１／Ｌ２キャッシュ２１８をサーバ計算サブシステム・マルチコア・プロセッサ２１６内へ組み込むことができる。いくつかの実施形態で、サーバ計算サブシステム・マルチコア・プロセッサ２１６、及びＬ１／Ｌ２キャッシュ２１８は、ネットワーク計算サブシステム１０４についてのコンピューティング・リソースとして動作させるように再構成されることができる。たとえば、ＳｏＣ１０２が第一モードで動作させるように構成されるときに、サーバ計算サブシステム１０６は、ＳｏＣ１０２により提供される計算関連機能性を無効にするように構成解除されることができる。
【００４５】
サーバ計算サブシステム・メモリ・コントローラ２２６は、ＤＤＲコントローラ、ＤＤＲ２コントローラ、または任意の適切なメモリ・コントローラのような複数のメモリ・コントローラを含むことができる。サーバ計算サブシステム・メモリ・コントローラ２２６を使用して、外部メモリへのアクセスを管理することができる。いくつかの実施形態で、サーバ計算サブシステム・メモリ・コントローラ２２６内のメモリ・コントローラ数は、プロセッサ・コア数、キャッシュ・サイズなどに基づくことができる。
【００４６】
サーバＩ／Ｏサブシステム２２４は、さまざまな内部及び外部コンポーネントと通信する１つ以上のインタフェースを含むことができる。たとえば、サーバＩ／Ｏサブシステム２２４は、ホスト・システム１１０と通信するインタフェース２３８を含むことができる。サーバＩ／Ｏサブシステム２２４は、ネットワーク計算サブシステム１０４と通信する内部インタフェース、たとえば、インタフェース２３４を含むことができる。いくつかの実施形態で、ネットワーク計算サブシステム１０４を無効にするときに、ネットワーク計算サブシステム１０４と通信するインタフェース２３４を利用することができる。いくつかの実施形態で、サーバ計算サブシステム１０６は、ネットワークＩ／Ｏサブシステム２１０を介して、たとえば、インタフェース２３４を介してホスト・システム１１０、及びネットワークと通信することができる。いくつかの実施形態で、ホスト・システム１１０、及びネットワーク計算サブシステム１０４と通信するインタフェースは、ＰＣＩｅのような標準インタフェースに基づくことができる。またサーバＩ／Ｏサブシステム２２４は、ネットワーク（たとえば、インターネット、イントラネット）などと通信するインタフェースを含むことができる。たとえば、インタフェースは、イーサネット、トークン・リング、Ｗｉ−Ｆｉ、ＡＴＭ（非同期転送モード）などのような規格に基づくことができる。いくつかの実施形態で、またサーバＩ／Ｏサブシステム２２４は、１つ以上のＳＡＴＡコントローラ、イーサネットＭＡＣ、ＰＣＩｅデバイス、ＳＥＲＤＥＳ（シリアライズ・デシリアライズ）Ｉ／Ｏマルチプレクサ、ＵＡＲＴ、Ｉ２Ｃ、ＧＰＩＯ、及びＳｏＣ機能性についての任意の他の適切なＩ／Ｏデバイスのような、周辺デバイスを含むことができる。いくつかの実施形態で、またサーバＩ／Ｏサブシステム２２４は、ハード・ドライブ、光学ドライブなどのような外部マス・ストレージ・デバイスへ接続するインタフェース（たとえば、ＳＡＴＡ）を含むことができる。
【００４７】
Ｌ３キャッシュ２２２は、ラスト・レベル・キャッシュを含むことができる。いくつかの実施形態で、Ｌ３キャッシュ２２２は、サーバ計算サブシステム・マルチコア・プロセッサ２１６の複数のコアにより共有されることができる。いくつかの実施形態で、Ｌ３キャッシュ２２２、及びサーバ計算サブシステム・メモリ・コントローラ２２６は、ネットワーク計算サブシステム１０４についてのメモリ・リソースとして動作させるように再構成されることができる。たとえば、ＳｏＣ１０２を第一モードで動作させるように構成するときに、サーバ計算サブシステム１０６は、ＳｏＣ１０２により提供される計算関連機能性を無効にするように構成解除されることができる。
【００４８】
ブート周辺デバイス２２８は、サーバ計算サブシステム１０６についての１つ以上のペリフェラルを含むことができる。たとえば、ブート周辺デバイス２２８は、ブートＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュ・メモリを含むことができる。いくつかの実施形態で、ブート周辺デバイス２２８のうちの１つは、サーバ計算サブシステム１０６についてのオペレーティング・システムをブートストラップするＢＩＯＳソフトウェアを含むことができる。
【００４９】
サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、サーバ計算サブシステム１０６へ割り当てられるすべてのリソースへ接続することが可能である物理層ファブリックを表現することができる。開示された技術の実施形態で、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、サーバ計算サブシステム１０６へ割り当てられるすべてのリソースについての専用ハードウェア・パスを許可することで、ハードウェア・セキュリティ及びパフォーマンス／ジッタ隔離を提供することができる。いくつかの実施形態で、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、サーバ計算サブシステム１０６の異なるコンポーネント、たとえば、サーバ計算サブシステム・マルチコア・プロセッサ２１６、Ｌ１／Ｌ２キャッシュ２１８、サーバ計算サブシステム・メモリ・コントローラ２２６、Ｌ３キャッシュ２２２、サーバＩ／Ｏサブシステム２２４、及び共有リソース・サブシステム２３０間の整合性を維持するように構成されることができる。いくつかの実施例で、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、サーバ計算サブシステム１０６の通信バックボーンを表現することができる。いくつかの実施形態で、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、すべての共有データがサーバ計算サブシステム１０６内でコヒーレントであることを確実にするように構成されることができる。たとえば、特定の共有データを２箇所以上の位置（たとえば、複数のプロセッサ、１つのプロセッサの複数のコア、キャッシュなど）に格納する場合に、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、異なる位置で共有データの一貫性を維持するように動作可能であることができる。いくつかの実施形態で、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、サーバ計算サブシステム１０６の異なるコンポーネント間の整合性を維持する、整合性コントローラ、及び整合性ディレクトリを含むことができる。
【００５０】
共有リソース・サブシステム２３０は、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６間で共有されることが可能である１つ以上のリソースを含むことができる。いくつかの実施形態で、共有リソース・サブシステム２３０は、いかなるジッタまたは安全性の懸念事項を生じることなく、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６間で安全に共有されることが可能である１つ以上のペリフェラルを含むことができる。たとえば、共有リソース・サブシステム２３０は、乱数生成器、通信メールボックス、スクラッチパッド・メモリ、フラッシュ・メモリなどを含むことができる。
【００５１】
管理計算サブシステム１０８は、複数のモードのうちの１つで動作させるようにＳｏＣ１０２を設定するように構成されることができる。いくつかの実施形態で、管理計算サブシステム１０８は、ハードウェア構成（たとえば、１つ以上のピン、ジャンパー線、またはフューズ）、ソフトウェア構成（たとえば、ソフトウェア・レジスタのデータ・フィールド）、またはポリシーに基づき電源投入でＳｏＣ１０２についての構成を決定することができる。たとえば、ポリシーは、ネットワーク接続を介して外部エンティティ、またはオペレータにより提供されることができる。いくつかの実施形態で、管理計算サブシステム１０８は、ランタイムに動的にＳｏＣ１０２の構成を決定することができる。
【００５２】
１つの実施形態で、管理計算サブシステム１０８は、第一モードで動作させるようにＳｏＣ１０２を構成することができ、たとえば、ＳｏＣ１０２は、ネットワーク関連サービスのみを提供することができる。たとえば、サーバ計算サブシステム１０６は、電源を切断される、または構成解除されることができる。いくつかの実施形態で、さらに管理計算サブシステム１０８は、サーバ計算サブシステム１０６を無効にし、サーバ計算サブシステム１０６と関連する処理及びメモリ・リソースを再構成し、ネットワーク計算サブシステム１０４についてのリソースとして動作させる、第一モードでＳｏＣ１０２を構成することができる。１つの実施形態で、管理計算サブシステム１０８は、ネットワーク計算サブシステム１０４についてのリソースとして動作させるように、サーバ計算サブシステム・マルチコア・プロセッサ２１６、Ｌ１／Ｌ２キャッシュ２１８、Ｌ３キャッシュ２２２、サーバ計算サブシステム・メモリ・コントローラ２２６、及びサーバＩ／Ｏサブシステム２２４を再構成することができる。別の実施形態で、さらに管理計算サブシステム１０８は、第二ネットワーク計算サブシステムとしてサーバ計算サブシステム１０６を別の目的のために再利用するように第一モードでＳｏＣ１０２を構成することができる。たとえば、ネットワーク計算サブシステム１０４を第一ネットワーク計算サブシステムとして使用することができ、サーバ計算サブシステム１０６を第二ネットワーク計算サブシステムとして使用することができる。したがって、開示された技術のいくつかの実施形態は、ＳｏＣ１０２が第一モードで高性能ネットワーキング・サービスを提供することを可能にすることができる。
【００５３】
１つの実施形態で、管理計算サブシステム１０８は、第二モードで動作させるようにＳｏＣ１０２を構成することができ、たとえば、ＳｏＣ１０２は、計算関連サービスのみを提供することができる。たとえば、ネットワーク計算サブシステム１０４は、電源を切断される、または構成解除されることができる。いくつかの実施形態で、さらに管理計算サブシステム１０８は、ネットワーク計算サブシステム１０４を無効にし、ネットワーク計算サブシステム１０４と関連する処理及びメモリ・リソースを再構成し、サーバ計算サブシステム１０６についてのリソースとして動作させる、第二モードでＳｏＣ１０２を構成することができる。１つの実施形態で、管理計算サブシステム１０８は、サーバ計算サブシステム１０６についてのリソースとして動作させるように、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、Ｌ１／Ｌ２キャッシュ２０４、Ｌ３キャッシュ２０８、ネットワーク計算サブシステム・メモリ・コントローラ２１２、及びネットワークＩ／Ｏサブシステム２１０を再構成することができる。別の実施形態で、さらに管理計算サブシステム１０８は、第二サーバ計算サブシステム１０６としてネットワーク計算サブシステム１０４を別の目的のために再利用するように第二モードで、ＳｏＣ１０２を構成することができる。たとえば、サーバ計算サブシステム１０６を第一サーバ計算サブシステムとして使用することができ、ネットワーク計算サブシステム１０４を第二サーバ計算サブシステムとして使用することができる。したがって、開示された技術のいくつかの実施形態は、ＳｏＣ１０２が第二モードで高性能コンピューティング・サービスを提供することを可能にすることができる。
【００５４】
１つの実施形態で、管理計算サブシステム１０８は、第三モードで動作させるようにＳｏＣ１０２を構成することができ、たとえば、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６の両方は、有効にされることができ、ＳｏＣ１０２は、ネットワーク関連サービス、及び計算関連サービスを同時に提供することができる。第三モードで、それぞれのネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６は、その専用処理及びメモリ・リソースを利用することができる。
【００５５】
図３Ａは、開示された技術の実施形態により、第一モードでＳｏＣ構成を図示する。
【００５６】
第一モードで、ＳｏＣ１０２は、ホスト・システム１１０についてのネットワーク・トラフィックを少なくとも管理するためのネットワーク計算サブシステムとして動作することが可能である。１つの実施形態で、ＳｏＣ１０２は、たとえば、インタフェース２３６を使用して、ホスト・システム１１０内のＰＣＩｅデバイスでネットワーク計算サブシステム１０４を動作させるように構成されることができる。たとえば、いくつかの実施例で、ＳｏＣを使用して、ネットワーク・トラフィック・シェーピング、ネットワーク・アクセラレーション、ネットワーク・ストレージ処理などのようなネットワーク関連機能性のみを提供することができ、ＳｏＣを使用しないで、計算関連サービスを提供することができる。いくつかの実施形態で、図３Ａで図示されるように、第一モードで、唯一のネットワーク計算サブシステム１０４は、アクティブである、またはホスト・システム１１０についてのネットワーク・トラフィックを少なくとも管理するように構成されることができる。サーバ計算サブシステム１０６は、非アクティブである、または構成解除されることができる。いくつかの実施形態で、サーバ計算サブシステム１０６の少なくとも部分は、電源を切断されることができる。管理計算サブシステム１０８は、アクティブであり、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６についてのリソースを管理するように構成されることができる。たとえば、いくつかの実施形態で、さらに管理計算サブシステム１０８は、サーバ計算サブシステム１０６と関連する処理及びメモリ・リソースを再構成し、ネットワーク計算サブシステム１０４についてのリソースとして動作させるようにＳｏＣ１０２を構成することができる。図２に戻り参照して、管理計算サブシステム１０８は、サーバ計算サブシステム・マルチコア・プロセッサ２１６、Ｌ１／Ｌ２キャッシュ２１８、Ｌ３キャッシュ２２２、サーバ計算サブシステム・メモリ・コントローラ２２６、及びサーバＩ／Ｏサブシステム２２４を再構成し、ネットワーク計算サブシステム１０４についてのリソースとして動作させることができる。したがって、開示された技術のいくつかの実施形態は、ＳｏＣ１０２が計算サブシステムの両方からのリソースを利用することで、高性能ネットワーキング・サービスを提供することを可能にすることができる。
【００５７】
図３Ｂは、開示された技術の実施形態により、第二モードでＳｏＣ構成を図示する。
【００５８】
第二モードで、ＳｏＣ１０２は、計算サービスを提供するためのサーバ計算サブシステムとして動作することが可能である。１つの実施形態で、ＳｏＣ１０２は、たとえば、インタフェース２３８を使用して、ホスト・システム１１０内のＰＣＩｅデバイスでサーバ計算サブシステム１０６を動作させるように構成されることができる。たとえば、いくつかの実施例で、ＳｏＣ１０２は、コンピューティング、データ処理、または他の仮想若しくは物理リソースを提供することのようなサーバ関連機能性のみを提供するために使用されることができ、ネットワーク関連サービスを提供するために使用されないことができる。いくつかの実施形態で、図３Ｂで図示されるように、第二モードで、唯一のサーバ計算サブシステム１０６は、アクティブである、または計算サービスを提供するように構成されることができる。ネットワーク計算サブシステム１０４は、非アクティブである、または構成解除されることができる。いくつかの実施形態で、ネットワーク計算サブシステム１０４の少なくとも部分は、電源を遮断されることができる。管理計算サブシステム１０８は、アクティブであり、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６についてのリソースを管理するように構成されることができる。たとえば、いくつかの実施形態で、さらに管理計算サブシステム１０８は、ネットワーク計算サブシステム１０４と関連する処理及びメモリ・リソースを再構成し、サーバ計算サブシステム１０６についてのリソースとして動作させるようにＳｏＣ１０２を構成することができる。図２に戻り参照して、管理計算サブシステム１０８は、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、Ｌ１／Ｌ２キャッシュ２０４、Ｌ３キャッシュ２０８、ネットワーク計算サブシステム・メモリ・コントローラ２１２、及びネットワークＩ／Ｏサブシステム２１０を再構成し、サーバ計算サブシステム１０６についてのリソースとして動作させることができる。したがって、開示された技術のいくつかの実施形態は、ＳｏＣ１０２が計算サブシステムの両方からのリソースを利用することで、高性能計算サービスを提供することを可能にすることができる。
【００５９】
図３Ｃは、開示された技術の１つの実施形態により、第三モードでＳｏＣ構成を図示する。
【００６０】
第三モードで、ＳｏＣ１０２は、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６として同時に動作することが可能である。たとえば、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６の両方は、アクティブであることが可能である。いくつかの実施形態で、ネットワーク計算サブシステム１０４を使用して、ネットワーク・トラフィック・シェーピング、ネットワーク・アクセラレーション、ネットワーク・ストレージ処理などのような、ネットワーク関連サービスを提供することができ、サーバ計算サブシステム１０６を使用して、コンピューティング、データ処理、または他の仮想若しくは物理リソースを提供することのような、計算サービスを提供することができる。いくつかの実施形態で、第三モードで、さらにＳｏＣ１０２は、ホスト・システムとしてサーバ計算サブシステム１０６を動作させるように、及びサーバ計算サブシステム１０６についてのネットワーク・トラフィックを管理するようにネットワーク計算サブシステム１０４を動作させるように構成されることができる。たとえば、いくつかの実施形態で、計算サービス、及びネットワーク・サービスを提供することが可能であるホスト・システムとしてＳｏＣ１０２を使用することができる。管理計算サブシステム１０８は、アクティブであり、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６についてのリソースを管理するように構成されることができる。したがって、開示された技術のいくつかの実施形態は、ＳｏＣ１０２が両方の計算サブシステムを利用することでネットワーク・サービス、及び計算サービスを同時に提供することを可能にすることができる。
【００６１】
図４Ａは、開示された技術の１つの実施形態により、第一モードで、ネットワーク計算サブシステムとして別の目的のために再利用されるサーバ計算サブシステムを含むＳｏＣ構成を図示する。
【００６２】
いくつかの実施形態において、第一モードで、ＳｏＣ４０２は、第二ネットワーク計算サブシステム４０６としてサーバ計算サブシステムを別の目的のために再利用するように構成されることが可能である。たとえば、図３Ａに戻り参照して、サーバ計算サブシステム１０６は、第一モードで、非アクティブである、または構成解除されることができる。またＳｏＣ４０２は、図２及び３Ａを参照して、先に考察されるように、ネットワーク計算サブシステム１０４に類似することが可能である第一ネットワーク計算サブシステム４０４、及び管理計算サブシステム１０８に類似することが可能である管理計算サブシステム４０８を含むことが可能である。いくつかの実施形態で、ネットワーク計算サブシステムとしてサーバ計算サブシステムを別の目的のために再利用することは、サーバ計算サブシステムと関連する１つ以上のリソースを利用し、計算サーバ関連機能性の代わりにネットワーク関連機能性を実行することを備えることができる。たとえば、図２に戻り参照して、サーバＩ／Ｏサブシステム２３８は、ネットワーク・トラフィック監視のために利用されることができ、サーバ計算サブシステム・マルチコア・プロセッサ２１６、Ｌ１／Ｌ２キャッシュ２１８、Ｌ３キャッシュ２２２、及びサーバ計算サブシステム・メモリ・コントローラ２２６は、ネットワーク・ストレージ処理を実行するために利用されることができる。いくつかの実施形態で、ＳｏＣ４０２は、ネットワーク・プロセッサとして動作することが可能である。したがって、開示された技術のいくつかの実施形態は、リソースの効率的な使用が高性能ネットワーキング・サービスを提供することを可能にすることができる。
【００６３】
図４Ｂは、開示された技術の実施形態により、第二モードで、サーバ計算サブシステムとして別の目的のために再利用されるネットワーク計算サブシステムを含むＳｏＣ構成を図示する。
【００６４】
いくつかの実施形態において、第二モードで、ＳｏＣ４１０は、第二サーバ計算サブシステム４１４としてネットワーク計算サブシステム１０４を別の目的のために再利用するように構成されることが可能である。たとえば、図３Ｂへ戻り参照して、ネットワーク計算サブシステム１０４は、第二モードで、非アクティブである、または構成解除されることができる。またＳｏＣ４１０は、図２及び３Ｂを参照して先に考察されるように、管理計算サブシステム４０８、及びサーバ計算サブシステム１０６に類似することが可能である第一サーバ計算サブシステム４１２を含むことが可能である。いくつかの実施形態で、第二サーバ計算サブシステムとしてネットワーク計算サブシステムを別の目的のために再利用することは、ネットワーク計算サブシステムと関連する１つ以上のリソースを利用し、ネットワーク関連機能性の代わりに計算サーバ関連機能性を実行することを備えることができる。たとえば、図２に戻り参照して、ネットワークＩ／Ｏサブシステム２１０は、ホスト・システム１１０と通信するために利用されることができ、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、Ｌ１／Ｌ２キャッシュ２０４、Ｌ３キャッシュ２０８、及びネットワーク計算サブシステム・メモリ・コントローラ２１２は、データ処理を実行するために利用されることができる。いくつかの実施形態で、ＳｏＣ４１０は、汎用プロセッサとして動作することが可能である。したがって、開示された技術のいくつかの実施形態は、リソースの効率的な使用が高性能計算サービスを提供することを可能にすることができる。
【００６５】
図５は、開示された技術の１つの実施形態により、再構成可能な処理及びメモリ・リソースを含むＳｏＣ５０２のブロック図を図示する。一般に、ＳｏＣ５０２は、モードに基づき、ネットワーク計算サブシステムの部分として、またはサーバ計算サブシステムの部分として機能するように構成されることが可能である、再構成可能な処理及びメモリ・リソースを含むことが可能である。またネットワーク計算サブシステム、及びサーバ計算サブシステムは、それぞれ、それ自体の専用処理及びメモリ・リソースを含むことが可能である。
【００６６】
ＳｏＣ５０２は、図２を参照して先に考察されるようなＳｏＣ１０２に類似することが可能である。１つの実施形態で、ＳｏＣ５０２は、図２を参照して考察されるような、ネットワーク計算サブシステム１０４、サーバ計算サブシステム１０６、管理計算サブシステム１０８、及び共有リソース・サブシステム２３０に加えて、再構成可能な処理コア５０４、Ｌ１／Ｌ２キャッシュ５０６、ステアリング部５０８、ファブリック・ブリッジ５１２、及び再構成可能なメモリ・コントローラ５１０を含むことができる。ネットワーク計算サブシステム１０４は、図２を参照して考察されるような、ネットワーク計算サブシステム・マルチコア・プロセッサ２０２、Ｌ１／Ｌ２キャッシュ２０４、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６、Ｌ３キャッシュ２０８、ネットワークＩ／Ｏサブシステム２１０、ネットワーク計算サブシステム・メモリ・コントローラ２１２、及びアクセラレーション部２１４を含むことができる。サーバ計算サブシステム１０６は、サーバ計算サブシステム・マルチコア・プロセッサ２１６、Ｌ１／Ｌ２キャッシュ２１８、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０、Ｌ３キャッシュ２２２、サーバ計算サブシステム・メモリ・コントローラ２２６、ブート周辺デバイス２２８、及びサーバＩ／Ｏサブシステム２２４を含むことができる。
【００６７】
再構成可能な処理コア５０４は、ネットワーク計算サブシステム１０４の部分として、またはサーバ計算サブシステム１０６の部分として機能するように構成されることが可能である複数の処理コアを含むことができる。Ｌ１／Ｌ２キャッシュ５０６は、ネットワーク計算サブシステム１０４の部分として、またはサーバ計算サブシステム１０６の部分として機能するように構成されることが可能である複数のＬ１／Ｌ２キャッシュを含むことができる。いくつかの実施形態で、それぞれのＬ１／Ｌ２キャッシュ５０６は、１つ以上の処理コアにより共有されることができる。
【００６８】
１つの実施形態で、管理計算サブシステム１０８は、ネットワーク計算サブシステム１０４へ、再構成可能な処理コア５０４、及びＬ１／Ｌ２キャッシュ５０６のうちの１つ以上を割り当てるようにＳｏＣ５０２を構成することができる。たとえば、第一モードで、ＳｏＣ５０２は、ホスト・システム１１０についてのネットワーク・トラフィックを少なくとも管理するためにネットワーク計算サブシステムとして動作することができる。たとえば、いくつかの実施例で、ＳｏＣ５０２は、ネットワーク・トラフィック・シェーピング、ネットワーク・アクセラレーション、ネットワーク・ストレージ処理などのような、ネットワーク関連機能性のみを提供するために使用されることができ、計算関連サービスを提供するために使用されることができる。いくつかの実施形態で、再構成可能な処理コア５０４、及びＬ１／Ｌ２キャッシュ５０６のうちの少なくともいくつかは、ネットワーク計算サブシステム１０４についてのリソースとして動作させるように再構成されることができる。いくつかの実施形態で、またＳｏＣ５０２は、ネットワーク計算サブシステム１０４の部分として、またはサーバ計算サブシステム１０６の部分として機能するように構成されることができる再構成可能なＬ３またはラスト・レベル・キャッシュを含むことができる。したがって、ＳｏＣ５０２は、ネットワーク計算サブシステム１０４と関連する専用リソース、及びネットワーク計算サブシステム１０４へステアリングされる再構成可能なリソースを利用し、高性能ネットワーキング・サービスを提供することができる。
【００６９】
１つの実施形態で、管理計算サブシステム１０８は、サーバ計算サブシステム１０６へ、再構成可能な処理コア５０４、及びＬ１／Ｌ２キャッシュ５０６のうちの１つ以上を割り当てるようにＳｏＣ５０２を構成することができる。たとえば、第二モードで、ＳｏＣ５０２は、計算サービスを提供するためにサーバ計算サブシステムとして動作することができる。たとえば、いくつかの実施例で、ＳｏＣ５０２は、コンピューティング、データ処理、または他の仮想若しくは物理リソースを提供することのようなサーバ関連機能性のみを提供するために使用されることができ、ネットワーク関連サービスを提供するために使用されることができない。いくつかの実施形態で、再構成可能な処理コア５０４、及びＬ１／Ｌ２キャッシュ５０６のうちの少なくともいくつかは、サーバ計算サブシステム１０６についてのリソースとして動作させるように再構成されることができる。したがって、ＳｏＣ５０２は、サーバ計算サブシステム１０６と関連する専用リソース、及びサーバ計算サブシステム１０６へステアリングされる再構成可能なリソースを利用し、高性能計算サービスを提供することができる。
【００７０】
ステアリング部５０８は、ネットワーク計算サブシステム１０４へ、またはサーバ計算サブシステム１０６へ再構成可能なメモリ・コントローラ５１０内の１つ以上のメモリ・コントローラをステアリングするように構成されることができる。たとえば、管理計算サブシステム１０８は、ＳｏＣ５０２のモードに基づき、ネットワーク計算サブシステム１０４の部分として、またはサーバ計算サブシステム１０６の部分として機能するように再構成可能なメモリ・コントローラ５１０を構成することが可能である。いくつかの実施形態で、管理計算サブシステム１０８は、ステアリング部５０８へ制御信号を提供し、第一モードでネットワーク計算サブシステム１０４へ、または第二モードでサーバ計算サブシステム１０６へ再構成可能なメモリ・コントローラ５１０をステアリングするように構成されることができる。
【００７１】
いくつかの実施形態で、またステアリング部５０８は、ネットワーク計算サブシステム１０４（たとえば、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６を介して）へ、またはサーバ計算サブシステム１０６（たとえば、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０を介して）へ再構成された処理コア５０４、及びＬ１／Ｌ２キャッシュ５０６をステアリングするために使用されることができる。
【００７２】
ファブリック・ブリッジ５０６は、物理層へ各リソースをマッピングするルーティング・ファブリックを表現することができる。たとえば、ファブリック・ブリッジ５１２は、ネットワーク計算サブシステム１０４、またはサーバ計算サブシステム１０６と関連することができる、物理層ファブリックへ再構成可能な処理コア５０４、及びＬ１／Ｌ２キャッシュ５０６をマッピングすることが可能である。いくつかの実施形態で、ファブリック・ブリッジ５１２を使用して、再構成可能なメモリ・コントローラ５１０をネットワーク計算サブシステム１０４へ、またはサーバ計算サブシステム１０６へマッピングすることができる。本技術のいくつかの実施形態で、複数の物理層は、各物理層がサブシステムについてのコヒーレント・ファブリックと関連することが可能であるところに存在することができる。たとえば、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、ネットワーク計算サブシステム１０４についての第一物理層ファブリックを表現することができ、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、サーバ計算サブシステム１０６についての第二物理層ファブリックを表現することができる。いくつかの実施形態で、それぞれのネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６、及びサーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、リソースへ接続するポートを含むことができる。いくつかの実施形態で、ファブリック・ブリッジ５１２は、たとえば、リソースのインタフェースを介して、各再構成可能なリソースへ物理的に接続するポートを含むことができる。ファブリック・ブリッジ５１２は、それぞれの物理層ファブリックのポートへ接続されたリソースをマッピングするように構成されることができる。たとえば、それぞれのネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６、及びサーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、ファブリック・ブリッジ５１２上のポートへ物理的に接続されるリソースに接続することを許可することが可能である、クロス・バー、メッシュ、リング、または任意の他の適切な実装として実施されることができる。開示された技術の実施形態は、両方の計算サブシステムについてのジッタ及びセキュリティ・リスクを低減することが可能である各計算サブシステムについての物理的に隔離された物理層ファブリックを許可することが可能である。
【００７３】
いくつかの実施形態で、ネットワーク計算サブシステム・キャッシュ・コヒーレント・ファブリック２０６は、第一物理層へネットワーク計算サブシステム１０４についてのすべての構成されたリソースを隔離することで低減されたジッタ及びセキュリティ懸念事項をもたらすことができ、サーバ計算サブシステム・キャッシュ・コヒーレント・ファブリック２２０は、第二物理層へサーバ計算サブシステム１０６についてのすべての構成されたリソースを隔離することで低減されたジッタ及びセキュリティ懸念事項をもたらすことができる。
【００７４】
図６Ａは、開示された技術のいくつかの実施形態により、再構成可能なリソースを含む第一モードで動作させるように構成されたＳｏＣ５０２を図示する。
【００７５】
図６Ａで図示されるように、ＳｏＣ５０２は、ネットワーク計算サブシステム６０２、サーバ計算サブシステム１０６、及び管理計算サブシステム１０８を含むことができる。いくつかの実施形態で、ネットワーク計算サブシステム６０２は、図５を参照して考察されるような、ネットワーク計算サブシステム１０４についての専用リソース、ならびに再構成可能な処理及びメモリ・リソースを含むことができる。たとえば、ネットワーク計算サブシステム６０２は、ネットワーク計算サブシステム１０４と関連する専用処理及びメモリ・リソースに加えて、再構成された処理コア５０４、Ｌ１／Ｌ２キャッシュ５０６、及び再構成されたメモリ・コントローラ５１０を含むことができる。
【００７６】
図３Ａを参照して先に考察されるように、第一モードで、サーバ計算サブシステム１０６は、非アクティブである、または構成解除されることができる。たとえば、いくつかの実施例で、サーバ計算サブシステム１０６のうちの少なくともいくつかの部分は、電源を遮断されることができる。いくつかの実施形態で、第一モードで、ＳｏＣ５０２は、ネットワーク計算サブシステム１０４と関連する専用リソース、ならびにネットワーク計算サブシステム１０４についてのリソースとして動作させるように構成される再構成可能な処理及びメモリ・リソースを含む、ネットワーク計算サブシステム６０２として動作することができる。これは、ＳｏＣ５０２がより多くのリソースを利用することで高性能ネットワーキング・タスクを実行することを可能にすることができる。
【００７７】
図６Ｂは、開示された技術のいくつかの実施形態により、第二モードで動作させるように構成されるＳｏＣ５０２を図示する。
【００７８】
図６Ｂで図示されるように、ＳｏＣ５０２は、ネットワーク計算サブシステム１０４、サーバ計算サブシステム６０４、及び管理計算サブシステム１０８を含むことができる。いくつかの実施形態で、サーバ計算サブシステム６０４は、図５を参照して考察されるような、サーバ計算サブシステム１０６についての専用リソース、ならびに再構成可能な処理及びメモリ・リソースを含むことができる。たとえば、サーバ計算サブシステム６０４は、サーバ計算サブシステム１０６と関連するリソースに加えて、再構成された処理コア５０４、Ｌ１／Ｌ２キャッシュ５０６、及び再構成されたメモリ・コントローラ５１０を含むことができる。
【００７９】
図３Ｂを参照して先に考察されるように、第二モードで、ネットワーク計算サブシステム１０４は、非アクティブである、または構成解除されることができる。たとえば、いくつかの実施例で、ネットワーク計算サブシステム１０４の少なくともいくつかの部分は、電源を遮断されることができる。いくつかの実施例で、ネットワーク計算サブシステム１０４の小さい部分は、ＳｏＣ５０２について不可欠なネットワーキング機能性を提供するように機能的であることができる。いくつかの実施形態において、第二モードで、ＳｏＣ５０２は、サーバ計算サブシステム１０６と関連する専用リソース、ならびにサーバ計算サブシステム１０６についてのリソースとして動作させるように構成される再構成可能な処理及びメモリ・リソースを含む、サーバ計算サブシステム６０４として動作することができる。これは、ＳｏＣ５０２がより多くのリソースを利用することで高性能コンピューティング・タスクを実行することを可能にすることができる。
【００８０】
図７Ａ−７Ｃは、インタフェース７１０を介して通信するように構成されることができる第一ＳｏＣ、及び第二ＳｏＣを含むことができるシステム７００を図示する。たとえば、インタフェース７１０は、ＰＣＩｅのような標準インタフェースに基づくことができる。第一ＳｏＣは、複数のモードのうちの１つで、たとえば、ネットワーク計算サブシステムを動作させる第一モードで、サーバ計算サブシステムを動作させる第二モードで、またはネットワーク計算サブシステム、及びサーバ計算サブシステムの両方を同時に動作させる第三モードで構成されることができる第二ＳｏＣと通信するように構成されることができる。
【００８１】
図７Ａは、本技術の１つの実施形態により、第一モードで動作させるように構成される第二ＳｏＣと通信するように第二モードで動作させるように構成される第一ＳｏＣを図示する。たとえば、第一ＳｏＣ７０２は、計算サービスを提供する第二モードで動作させるように構成されることができる。いくつかの実施形態で、ＳｏＣ５０２を第一ＳｏＣ７０２、または第二ＳｏＣ１０２の適所に使用することができることに留意するであろう。しかしながら、例示目的のみのために、ＳｏＣ１０２を第二ＳｏＣとして示す。
【００８２】
図７Ａで図示されるように、第一ＳｏＣ７０２は、第二モードで、第二サーバ計算サブシステムとして別の目的のために再利用されるネットワーク計算サブシステムで構成されるＳｏＣ１０２に類似することが可能である。いくつかの実施形態で、ＳｏＣ７０２は、第二モードで、ホスト・システム（たとえば、ホスト・システム１１０）内の汎用プロセッサとして動作させるように構成されることができる。たとえば、いくつかの実施形態で、汎用プロセッサは、任意のプラットフォーム、たとえば、任意のオペレーティング・システムで実行することが可能であることができる。いくつかの実施形態で、汎用プロセッサは、汎用コンピューテーションのようなコンピュータの中央処理装置のほとんどの機能性を実行することが可能であることができ、複数のネットワーキング及びメッセージング・プロトコルを支援することが可能であることができる。ＳｏＣ７０２は、第一サーバ計算サブシステム７０４、第二サーバ計算サブシステム７０６、及び管理計算サブシステム７０８を含むことができる。第一サーバ計算サブシステム７０４は、図４Ｂを参照して先に考察されるように、サーバ計算サブシステム１０６に類似することができ、第二サーバ計算サブシステム７０６は、第二サーバ計算サブシステム４１４に類似することができる。たとえば、第二サーバ計算サブシステム７０６は、別の目的のために再利用されたネットワーク計算サブシステムであることができる。管理計算サブシステム７０８は、図２を参照して先に考察されるような、管理計算サブシステム１０８に類似することができる。
【００８３】
ＳｏＣ１０２は、図３Ａを参照して先に考察されるような第一モードで動作することができる。たとえば、いくつかの実施形態で、ＳｏＣ１０２は、第一ＳｏＣ７０２についてのネットワーク・トラフィックを少なくとも管理するためにネットワーク計算サブシステム１０４を動作させるように構成されることができる。サーバ計算サブシステム１０６は、非アクティブである、または構成解除されることができる。いくつかの実施例で、サーバ計算サブシステム１０６の少なくともいくつかの部分は、電源を遮断されることができる。いくつかの実施形態で、第一モードで、ＳｏＣ１０２は、ホスト・システムとして動作させるＳｏＣ７０２内のＰＣＩｅデバイスでネットワーク計算サブシステム１０４を動作させるように構成されることができる。たとえば、ＰＣＩｅデバイスは、図２を参照して考察されるようなサーバＩ／Ｏサブシステム２２４の部分であることができる。このようにして、いくつかの実施形態で、ＳｏＣ１０２は、ＳｏＣ７０２についてのネットワーク・プロセッサとして動作させることができる。
【００８４】
図７Ｂは、本技術の１つの実施形態により、第二モードで動作させるように構成される第二ＳｏＣと通信する第二モードで動作させるように構成される第一ＳｏＣを図示する。たとえば、第一ＳｏＣ７０２は、図７Ａを参照して先に考察されるような計算サービスを提供する第二モードで動作させるように構成されることができる。いくつかの実施形態で、ＳｏＣ７０２は、第二モードでホスト・システム（たとえば、ホスト・システム１１０）内の汎用プロセッサとして動作させるように構成されることができる。
【００８５】
図７Ｂで図示されるように、ＳｏＣ１０２は、図３Ｂを参照して先に考察されるような第二モードで動作することができる。たとえば、ＳｏＣ１０２は、計算サービスを提供するためにサーバ計算サブシステム１０６を動作させるように構成されることができる。ネットワーク計算サブシステム１０４は、非アクティブである、または構成解除されることができる。いくつかの実施例で、ネットワーク計算サブシステム１０４の少なくともいくつかの部分は、電源を遮断されることができる。いくつかの実施形態で、第二モードで、ＳｏＣ１０２は、ホスト・システムとして動作させるＳｏＣ７０２内のＰＣＩｅデバイスでサーバ計算サブシステム１０６を動作させるように構成されることができる。たとえば、ＰＣＩｅデバイスは、図２を参照して考察されるようなサーバＩ／Ｏサブシステム２２４の部分であることができる。したがって、ＳｏＣ７０２は、ＰＣＩｅインタフェースを介してサーバ計算サブシステム１０６と通信することが可能である汎用プロセッサとして動作することが可能である。たとえば、いくつかの実施形態で、サーバ計算サブシステム１０６は、第一ＳｏＣ７０２の作業負荷のいくらかを軽減するために使用されることができる。いくつかの実施例で、サーバ計算サブシステム１０６と併せて第二モードで構成される第一ＳｏＣ７０２は、高性能計算サービスを提供することができる。たとえば、第一ＳｏＣ７０２は、迅速にターンアラウンド・サービスを処理することに集中することができ、サーバ計算サブシステム１０６への低性能作業負荷を軽減するため、システムのスループットを向上させることができる。
【００８６】
図７Ｃは、本技術の１つの実施形態により、第三モードで動作させるように構成される第二ＳｏＣと通信するように第二モードで動作させるように構成される第一ＳｏＣを図示する。たとえば、第一ＳｏＣ７０２は、図７Ａを参照して先に考察されるような計算サービスを提供するように第二モードで動作させるように構成されることができる。いくつかの実施形態で、ＳｏＣ７０２は、第二モードでホスト・システム（たとえば、ホスト・システム１１０）内の汎用プロセッサとして動作させるように構成されることができる。
【００８７】
図７Ｃで図示されるように、ＳｏＣ１０２は、図３Ｃを参照して先に考察されるような第三モードで動作することができる。たとえば、ＳｏＣ１０２は、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６を同時に動作させるように構成されることができる。したがって、ＳｏＣ７０２は、ＰＣＩｅインタフェースを介してネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６と通信することが可能である汎用プロセッサとして動作することが可能である。いくつかの実施形態で、ＳｏＣ７０２は、図２を参照して先に考察されるように、ネットワークＩ／Ｏサブシステム２１０（たとえば、インタフェース２３６）を介してネットワーク計算サブシステム１０４と、及びサーバＩ／Ｏサブシステム２２４（たとえば、インタフェース２３８）を介してサーバ計算サブシステム１０６と通信することが可能である。
【００８８】
図８は、本技術の１つの実施形態により、複数のＳｏＣを含むシステム８００を図示する。第一ＳｏＣは、本技術の１つの実施形態により、ＰＣＩｅインタフェースを使用して１つ以上のＳｏＣと通信するように構成されることが可能であるネットワーク計算サブシステムとして動作させるように構成されることが可能である。いくつかの実施形態で、第一ＳｏＣは、第三者ＳｏＣ、たとえば、汎用プロセッサを含むＳｏＣであることが可能である第二ＳｏＣと通信するように構成されることができる。
【００８９】
ＳｏＣ８０２は、ネットワーク・トラフィックを少なくとも管理するためにネットワーク計算サブシステムを動作させるように第一モードで構成されることができる。たとえば、ＳｏＣ８０２は、図４Ａを参照して先に考察されるように第一ネットワーク計算サブシステム８０４、及び第二ネットワーク計算サブシステム８０６を含むことができる。第一ネットワーク計算サブシステム８０４は、第一ネットワーク計算サブシステム４０４に類似することができ、ネットワーク・トラフィックを少なくとも管理するために構成されることができる。第二ネットワーク計算サブシステム８０６は、別の目的のために再利用されたサーバ計算サブシステム、たとえば、サーバ計算サブシステム１０６であることができる。ＳｏＣ８０２は、第一ネットワーク計算サブシステム８０４、及び第二ネットワーク計算サブシステム８０６と関連するリソースを利用することで高性能ネットワーキング・サービスを提供するように構成されることができる。
【００９０】
いくつかの実施形態で、ＳｏＣ８０２は、１つ以上のサーバについてのネットワーク・プロセッサとして動作することができる。たとえば、ＳｏＣ８０２は、サーバ・サブシステムとして構成される１つ以上のＳｏＣ、たとえば、ＳｏＣ８０８、ＳｏＣ８２０、及びＳｏＣ８３２と通信するように構成されることができる。たとえば、それぞれのＳｏＣ８０８、８２０及び８３２は、計算サービスを提供するためのサーバ計算サブシステムとして動作させる、第二モードで動作させるように構成されることができる。ＳｏＣ８０８は、第一サーバ計算サブシステム８１０、及び第二サーバ計算サブシステム８１２を含むことができる。たとえば、第二サーバ計算サブシステム８１２は、４Ｂを参照して先に考察されるような別の目的のために再利用されたネットワーク計算サブシステムであることができる。ＳｏＣ８２０は、第一サーバ計算サブシステム８２２、及び第二サーバ計算サブシステム８２４を含むことができ、第二サーバ計算サブシステム８２４は、別の目的のために再利用されたネットワーク計算サブシステムであることができる。ＳｏＣ８３２は、第一サーバ計算サブシステム８３４、及び第二サーバ計算サブシステム８３６を含むことができ、第二サーバ計算サブシステム８３６は、別の目的のために再利用されたネットワーク計算サブシステムであることができる。ＳｏＣ８０８、８２０及び８３２が処理及びメモリ・リソースの同一の、または異なる構成を有することができることに留意する。さらに、いくつかの実施形態で、ＳｏＣ８０８、８２０及び８３２のうちのいずれかは、唯一のサーバ計算サブシステムを含むことができる（たとえば、他のサーバ計算サブシステムが非アクティブであることができる）。いくつかの実施形態で、ＳｏＣ８０８、８２０及び８３２のうちの１つ以上は、図６Ｂを参照して考察されるような、ＳｏＣ５０２に類似することができる。
【００９１】
ＳｏＣ８０８は、第一サーバ計算サブシステム８１０、及びＳｏＣ８０２間のインタフェース８１６、ならびに第二サーバ計算サブシステム８１８、及びＳｏＣ８０２間のインタフェース８１８を含むことができる。いくつかの実施形態で、インタフェース８１６及び８１８は、ＰＣＩｅまたはイーサネット・インタフェースであることができる。またＳｏＣ８０８は、ソリッド・ステート・ドライブ、ＤＲＡＭなど（図示せず）のような外部メモリについてのインタフェース８１４を含むことができる。いくつかの実施形態で、インタフェース８１４は、ＰＣＩｅインタフェースであることができる。またＳｏＣ８０８は、ＳＡＴＡコントローラ、ＧＰＩＯ、Ｉ２Ｃなどのような他のＩ／Ｏデバイスについてのインタフェースを含むことができる。ＳｏＣ８２０は、インタフェース８２６、８２８及び８３０を含むことができ、ＳｏＣ８３２は、インタフェース８３８、８４０及び８４２を含むことができる。ＳｏＣ８２０、及びＳｏＣ８３２についてのインタフェースは、ＳｏＣ８０８についてのそれぞれのインタフェースに類似することができる。いくつかの実施形態で、ＳｏＣ８０８、８２０及び８３２は、同一のＳｏＣのインスタンスであることができる、または異なるＳｏＣであることができる。
【００９２】
いくつかの実施形態で、ＳｏＣ８０２は、第三者により提供されるＳｏＣ（たとえば、ＡＲＭ（登録商標）サーバに基づくＳｏＣのような汎用ＳｏＣ）と通信するように構成されることができる。たとえば、いくつかの実施形態で、ＳｏＣ８０２は、ＰＣＩｅｘ４／ｘ８スロットを使用して４つの、または８つのＳｏＣまでと通信することができる。いくつかの実施形態で、ＳｏＣ８０２、及びＳｏＣ８０８、８２０、８３２は、簡略化のために図８で示されない、図２を参照して先に考察されるような、管理計算サブシステム、共有リソース・サブシステムなどのような他のコンポーネントを含むことができる。
【００９３】
管理計算サブシステム１０８は、マルチコア・プロセッサ９０２、Ｌ１／Ｌ２キャッシュ９０４、ネットワーク・インタフェース部９０６、プライベート・メモリ９０８、周辺デバイス９１０、及びコンピュータ可読記憶媒体９１２を含むことができる。
【００９４】
マルチコア・プロセッサ９０２は、ＡＲＭ（登録商標）によるＡ５７のような２つ以上のプロセッサ・コアを含むことができる。いくつかの実施形態で、シングル・コア・プロセッサは、マルチコア・プロセッサ９０２の適所に使用されることができる。Ｌ１／Ｌ２キャッシュ９０４は、マルチコア・プロセッサ９０２の内部に、または外部にあることができ、すべてのプロセッサ・コアにより共有されることができる。マルチコア・プロセッサ９０２は、コンピュータ可読記憶媒体９１２に格納されることができる複数の命令を実行するように構成されることができる。たとえば、コンピュータ可読媒体は、複数のモードのうちの１つ、たとえば、第一モード、第二モード、または第三モードで動作させるようにＳｏＣ（たとえば、ＳｏＣ１０２）を構成する命令を含むことができる。コンピュータ可読記憶媒体９１２は、非一時的であることができる。いくつかの実施形態で、コンピュータ可読記憶媒体は、限定されないが、パラメータ・ランダム・アクセス・メモリ（ＰＲＡＭ）、ＳＲＡＭ、ＤＲＡＭ、ＲＡＭ、読み出し専用メモリ（ＲＯＭ）、電気的に消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、若しくは他のメモリ技術、コンパクト・ディスク（ＣＤ）−ＲＯＭ、デジタル・ビデオ・ディスク（ＤＶＤ）、若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気ストレージ・デバイス、または所望の情報を格納するために使用されることが可能であり、マルチコア・プロセッサ９０２によりアクセスされることが可能である任意の他のメディアを含むことができる。いくつかの実施形態で、コンピュータ可読記憶媒体９１２は、周辺デバイス９１０の部分であることができる。Ｌ１／Ｌ２キャッシュ９０４は、一時的なデータ・ストレージについてのデータ・キャッシュであることができる。
【００９５】
ネットワーク・インタフェース部９０６は、管理計算サブシステム１０８がネットワークへ接続することを可能にすることができる。たとえば、ネットワーク・インタフェース部９０６は、管理計算サブシステム１０８がイーサネットのようなネットワークへ接続することを可能にすることができるイーサネットＭＡＣ（媒体アクセス制御）を含むことができる。いくつかの実施例で、イーサネットＭＡＣは、ネットワークへ接続するためのＰＨＹ（物理層）デバイスへインタフェースで接続するイーサネット・ポートを提供することができる。いくつかの実施形態で、管理計算サブシステム１０８は、ＳｏＣを構成するためのモードを決定するためにネットワーク経由で外部エンティティ、またはシステムと通信することが可能である。
【００９６】
プライベート・メモリ９０８は、管理計算サブシステム１０８のプライベート使用のためにメモリを含むことができる。プライベート・メモリ９０８は、ランダム・アクセス・メモリ（たとえば、ＳＲＡＭまたはＤＲＡＭ）のような揮発性メモリを含むことができる。たとえば、管理計算サブシステム１０８は、一時的なデータ・ストレージのためのプライベート・メモリ９０８を使用することができる。
【００９７】
周辺デバイス９１０は、管理計算サブシステム１０８のためのプライベート周辺デバイスを含むことができる。いくつかの実施形態で、いくつかのプライベート周辺デバイス９１０は、ＳｏＣ１０２の異なるサブシステムのリブート及び電源管理のためのデバイスを含むことができる。たとえば、周辺デバイス９１０は、他のサブシステムに電源を投入する前に信頼の起点を確立するために電源投入で実行することが可能であるブート・ファームウェアを含む信頼できる管理モジュールを含むことができる。いくつかの実施形態で、電源管理は、電圧操作、クロック操作、または任意の他の適切な方法を通して提供されることができる。
【００９８】
いくつかの実施形態で、管理計算サブシステム１０８は、モードに基づき、ネットワーク計算サブシステム１０４、またはサーバ計算サブシステム１０６の少なくともいくつかの部分の電源を遮断するように構成されることができる。たとえば、１つの実施形態において、第一モードで、ＳｏＣ１０２は、ネットワーク計算サブシステム１０４を動作させることができるため、サーバ計算サブシステム１０６の少なくともいくつかの部分は、たとえば、利用される可能性がない計算集約型ロジックの電源を遮断されることができる。同様に、別の実施形態において、第二モードで、ＳｏＣ１０２は、サーバ計算サブシステム１０６を動作させることができるため、ネットワーク計算サブシステム１０４の少なくともいくつかの部分は、たとえば、利用される可能性がないネットワーク集約型ロジックの電源を遮断されることができる。
【００９９】
いくつかの実施形態で、管理計算サブシステム１０８は、ＳｏＣ２０２全体のコールド・パワー・オン時に実行する最初であるように構成されることができる。いくつかの実施例で、管理計算サブシステム１０８は、それらが電源を投入される前に他のサブシステムについての信頼の起点を確立するように最初に電源を投入されることができる。たとえば、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６についてのブート・プロセスは、管理計算サブシステム１０８についてのコア・ブート下で階層的にみなされることができる。いくつかの実施形態で、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６で後に実行するソフトウェアは、ホスト・システム１１４と関連する秘密鍵、またはホスト・システム１１４により提供される特定のサービスを使用して署名されている場合に管理計算サブシステム１０８により認証されていることができる。これは、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６プロセスの両方が信頼でき、独立したブート・ローダを介してブートすることを可能にすることができる。
【０１００】
いくつかの実施形態で、管理計算サブシステム１０８は、ネットワーク計算サブシステム１０４、及びサーバ計算サブシステム１０６の両方の運転する動作に影響を与えることなく、別個のリセット・ラインでリセット／リブートされることができる。
【０１０１】
ネットワークＩ／Ｏサブシステム２１０は、バス・インタフェース部１００２、ネットワーク・インタフェース部１００４、及びＩ／Ｏ周辺部１００６を含むことができる。
【０１０２】
バス・インタフェース部１００２は、内部または外部コンポーネントとの通信のために１つ以上のバス・インタフェースを含むことができる。たとえば、バス・インタフェース部１００２は、ホスト・システム１１０と通信する第一インタフェース、たとえば、インタフェース２３６を含むことができる。いくつかの実施形態で、第一インタフェースは、ＰＣＩｅインタフェースであることができる。たとえば、バス・インタフェース部１００２は、他のＰＣＩｅポートへ接続する１つ以上のＰＣＩｅポートを含むことができる。バス・インタフェース部１００２は、ルート・コンプレックス（ＲＣ）・ポート、及びエンドポイント・ポート（ＥＰ）を含むことができる。いくつかの実施形態で、ネットワーク計算サブシステム１０４は、インタフェース２３６を使用して、ネットワークＩ／Ｏサブシステム２１０内のＰＣＩｅポート、及びホスト・システム１１０内のＰＣＩｅポートを介してホスト・システム１１０と通信することができる。いくつかの実施形態で、ＳｏＣ１０２は、ホスト・システム１１０内のＰＣＩｅデバイスに第一モードでネットワーク計算サブシステム１０４として動作させるように構成される。バス・インタフェース部１００２は、サーバ計算サブシステム１０６と接続する第二インタフェース、たとえば、インタフェース２３４を含むことができる。たとえば、インタフェース２３４は、ＰＣＩｅインタフェースであることができ、バス・インタフェース部１００２は、ＰＣＩｅインタフェースを介してサーバＩ／Ｏサブシステム２２４内のＰＣＩｅポートへ接続することができる。
【０１０３】
ネットワーク・インタフェース部１００４は、ネットワークへ接続する第三インタフェースを含むことができる。いくつかの実施形態で、ネットワーク・インタフェース部１００４は、イーサネット・ネットワークへ接続するための１つ以上のイーサネットＭＡＣ（たとえば、１０／２５／４０／５０Ｇｂ／ｓｅｃ）を含むことができる。いくつかの実施例で、イーサネットＭＡＣは、ネットワークへ接続するためのＰＨＹ（物理層）デバイスへインタフェースで接続するためにイーサネット・ポートを提供することができる。
【０１０４】
Ｉ／Ｏ周辺部１００６は、１つ以上の周辺デバイスを含むことができる。たとえば、Ｉ／Ｏ周辺部１００６は、ＵＡＲＴ、Ｉ２Ｃ、ＧＰＩＯ、ＳＡＴＡコントローラ、ＳＥＲＤＥＳ（シリアライズ・デシリアライズ）インタフェースなどのような１つ以上の周辺デバイスを含むことができる。
【０１０５】
サーバＩ／Ｏサブシステム２２４は、バス・インタフェース部１１０２、ネットワーク・インタフェース部１１０４、及びＩ／Ｏ周辺部１１０６を含むことができる。
【０１０６】
バス・インタフェース部１１０２は、内部または外部コンポーネントとの通信用の１つ以上のバス・インタフェースを含むことができる。たとえば、バス・インタフェース部１１０２は、ホスト・システム１１０と通信する第一インタフェース、たとえば、インタフェース２３８を含むことができる。いくつかの実施形態で、第一インタフェースは、ＰＣＩｅインタフェースであることができる。たとえば、バス・インタフェース部１１０２は、他のＰＣＩｅポートへ接続するために１つ以上のＰＣＩｅポートを含むことができる。バス・インタフェース部１１０２は、ルート・コンプレックス（ＲＣ）・ポート、及びエンドポイント・ポート（ＥＰ）を含むことができる。いくつかの実施形態で、サーバ計算サブシステム１０６は、インタフェース２３８を使用して、サーバＩ／Ｏサブシステム２２４内のＰＣＩｅポート、及びホスト・システム１１０内のＰＣＩｅポートを介してホスト・システム１１０と通信することができる。いくつかの実施形態で、ＳｏＣ１０２は、ホスト・システム１１０内のＰＣＩｅデバイスに第二モードでサーバ計算サブシステム１０６を動作させるように構成される。バス・インタフェース部１１０２は、ネットワーク計算サブシステム１０４と接続する第二インタフェース、たとえば、インタフェース２３４を含むことができる。たとえば、バス・インタフェース部１１０２は、ＰＣＩｅインタフェースを介してネットワークＩ／Ｏサブシステム２１０内のＰＣＩｅポートへ接続することができる。
【０１０７】
ネットワーク・インタフェース部１１０４は、ネットワークへ接続するための第三インタフェースを含むことができる。いくつかの実施形態で、ネットワーク・インタフェース部１１０４は、１つ以上のイーサネットＭＡＣ（たとえば、１０／２５／４０／５０Ｇｂ／ｓｅｃ）を含み、イーサネット・ネットワークへ接続することができる。いくつかの実施例で、イーサネットＭＡＣは、ネットワークへ接続するためのＰＨＹ（物理層）デバイスへインタフェースで接続するイーサネット・ポートを提供することができる。
【０１０８】
Ｉ／Ｏ周辺部１１０６は、１つ以上の周辺デバイスを含むことができる。たとえば、Ｉ／Ｏ周辺部１１０６は、ＵＡＲＴ、Ｉ２Ｃ、ＧＰＩＯ、ＳＡＴＡコントローラ、ＳＥＲＤＥＳ（シリアライズ・デシリアライズ）インタフェースなどのような１つ以上の周辺デバイスを含むことができる。いくつかの実施形態で、Ｉ／Ｏ周辺部９０６は、図１０を参照して考察されるＩ／Ｏ周辺部１００６と異なるタイプ及び数のＩ／Ｏデバイスを含むことができる。たとえば、いくつかの実施例で、Ｉ／Ｏ周辺部１１０６は、Ｉ／Ｏ周辺部１００６と比較して、より多くのＳＡＴＡコントローラを含むことができる。いくつかの実施例で、Ｉ／Ｏ周辺部１１０６のみは、ＧＰＩＯを含むことができ、Ｉ／Ｏ周辺部１００６のみは、ＵＡＲＴを含むことができる。
【０１０９】
本技術の実施形態で、共有リソース・サブシステム２３０は、処理状態を有する可能性がないコンポーネントを含むことができる。共有リソース・サブシステム２３０は、メモリ・モジュール１２０２、ランダム生成モジュール１２０４、通信メールボックス１２０６、及びスクラッチパッド・メモリ・モジュール１２０８を含むことができる。
【０１１０】
メモリ・モジュール１２０２は、フラッシュ・メモリのような不揮発性メモリ・ストレージを含むことができる。たとえば、メモリ・モジュール１２０２は、組み込み型マルチメディア・コントローラ（ｅＭＭＣ）、またはセキュア・デジタル（ＳＤ）を含み、低レベル・フラッシュ・メモリ管理を提供することができる。いくつかの実施形態で、メモリ・モジュール１２０２を使用して、制御コード、たとえば、ＢＩＯＳ（ベーシック入出力システム）、ブート・ローダなどを格納することができる。たとえば、メモリ・モジュール１２０２は、両方の計算サブシステムにより共有されることができるコードを含むことができる。
【０１１１】
ランダム生成モジュール１２０４は、数字または記号のランダム・シーケンスを生成するように構成されることができる。たとえば、乱数は、データの暗号化のような暗号化アプリケーション、または任意のこれらのようなアプリケーションのために使用されることができる。いくつかの実施形態で、ランダム生成モジュール１２０４を使用して、電源投入、またはリブート後に各計算サブシステムに電源を投入する前に各計算サブシステムの認証のために管理計算サブシステム１０８により使用されることができる、乱数、またはランダム・シーケンスを生成することができる。
【０１１２】
通信メールボックス１２０６を使用して、２つのサブシステムと関連する異なるプロセス間の通信を容易にすることができる。たとえば、メッセージ受け渡し、同期、共有メモリ、及びリモート・プロシージャ・コール（ＲＰＣ）のような、さまざまな機能のために、データ交換用にプロセス間通信モジュールとして通信メールボックス１２０６を使用することができる。
【０１１３】
スクラッチパッド・メモリ・モジュール１２０８は、両方のサブシステムにより使用されることができる一時的なデータ・ストレージのために使用されることができる。いくつかの実施形態で、スクラッチパッド・メモリ・モジュール１２０８は、迅速な取得用の少量のデータ、たとえば、命令、または中間値を格納する高速メモリ（たとえば、２ＭＢ  ＳＲＡＭ）を含むことができる。
【０１１４】
開示された技術の実施形態は、システム・オン・チップ（ＳｏＣ）を動作させるためにさまざまな構成及びモードを提供することが可能である。開示された技術の異なる実施形態で、ＳｏＣは、ネットワーキング・サービスのみを提供する第一モードで、計算サービスのみを提供する第二モードで、またはネットワーキング及び計算サービスの両方を同時に提供する第三モードで動作することができる。いくつかの実施形態で、第一計算サブシステムは、高性能ネットワーキング・サービス、または高性能計算サービスを提供する第二計算サブシステムとして別の目的のために再利用されることができる。いくつかの実施形態で、再構成可能な処理及びメモリ・リソースは、ＳｏＣが動作させているモードにより、第一計算サブシステムへ、または第二計算サブシステムへステアリングされることが可能である。いくつかの他の実施形態で、構成解除された計算サブシステムの処理及びメモリ・リソースは、アクティブ計算サブシステム用のリソースとして動作させるように再構成されることができる。したがって、開示された技術のさまざまな実施形態は、リソースの効率的な利用が高性能ネットワーキング・サービス、または高性能コンピューティング・サービスを提供することを可能にすることができる。さらに、開示された技術のいくつかの実施形態は、第一ＳｏＣを第一モードでネットワーク・プロセッサとして構成することが可能であり、第二ＳｏＣを第二モードでサーバとして構成することが可能である複数のＳｏＣを含むシステムを提供する。
【０１１５】
図１３は、少なくとも１つの例示的な実施形態により、１つ以上のネットワーク経由で接続される１つ以上のサービス・プロバイダ・コンピュータ、及び／またはユーザ・デバイスを含む、本明細書に記述される特徴及びシステムについての例示的なアーキテクチャを図示する。図１−１２で考察されるデバイスは、図１３で記述されるコンピューティング・デバイスの１つ以上のコンポーネントを使用することができる、または図１３で記述される１つ以上のコンピューティング・デバイスを表現することができる。アーキテクチャ１３００で、１人以上のユーザ１３０２は、１つ以上のネットワーク１３０８を介して、アプリケーション１３０６（たとえば、ウェブ・ブラウザ、またはモバイル・デバイス・アプリケーション）にアクセスするためにユーザ・コンピューティング・デバイス１３０４（１）−（Ｎ）（集合的に、ユーザ・デバイス１３０４）を利用することができる。いくつかの態様で、アプリケーション１３０６は、コンピューティング・リソース・サービス、またはサービス・プロバイダにより、ホストされる、管理される、及び／または提供されることができる。１つ以上のサービス・プロバイダ・コンピュータ１３１０は、ユーザ（複数可）１３０２がインタラクトすることができるユーザ・デバイス１３０４で実行するように構成されるネイティブ・アプリケーションを提供することができる。サービス・プロバイダ・コンピュータ（複数可）１３１０は、いくつかの実施例で、限定されないが、クライアント・エンティティ、低レイテンシ・データ・ストレージ、デュラブル・データ・ストレージ、データ・アクセス、管理、仮想化、クラウド・ベース・ソフトウェア・ソリューション、電子コンテンツ・パフォーマンス管理などのようなコンピューティング・リソースを提供することができる。またサービス・プロバイダ・コンピュータ（複数可）１３１０は、ウェブ・ホスティング、コンピュータ・アプリケーション開発及び／または実装プラットフォーム、前述のものの組み合わせ、または同様のものをユーザ（複数可）１３０２へ提供するように動作可能であることができる。サービス・プロバイダ・コンピュータ（複数可）１３１０は、いくつかの実施例で、１つ以上の第三者コンピュータ１３１２と通信することができる。
【０１１６】
いくつかの実施例で、ネットワーク（複数可）１３０８は、ケーブル・ネットワーク、インターネット、無線ネットワーク、セルラ・ネットワーク、及び他のプライベート及び／またはパブリック・ネットワークのような、多くの異なるタイプのネットワークのうちのいずれかの１つ、または組み合わせを含むことができる。図示された実施例は、ネットワーク（複数可）１３０８経由でアプリケーション１３０６にアクセスするユーザ（複数可）１３０２を表現するが、記述された技術は、ユーザ（複数可）１３０２がキオスクを介して、または任意の他の方式で、固定電話経由でユーザ・デバイス（複数可）１３０４を介してサービス・プロバイダ・コンピュータ（複数可）１３１０とインタラクトする実施例で、等しく適用されることができる。また、記述された技術が非クライアント／サーバ配置（たとえば、ローカルに格納されたアプリケーションなど）でと同様に、他のクライアント／サーバ配置（たとえば、セット・トップ・ボックスなど）で適用されることができることに留意する。
【０１１７】
上記で簡潔に記述されるように、アプリケーション１３０６は、ユーザ（複数可）１３０２がウェブ・コンテンツ（たとえば、ウェブ・ページ、音楽、ビデオなど）にアクセスすることのような、サービス・プロバイダ・コンピュータ（複数可）１３１０とインタラクトすることを可能にすることができる。サーバのクラスタ内に、またはサーバ・ファームとして配置されるかもしれない、サービス・プロバイダ・コンピュータ（複数可）１３１０は、アプリケーション１３０６、及び／またはクラウド・ベース・ソフトウェア・サービスをホストすることができる。また、他のサーバ・アーキテクチャを使用して、アプリケーション１３０６をホストすることができる。アプリケーション１３０６は、多くのユーザ１３０２からの要求を処理し、応答して、さまざまなアイテム・ウェブ・ページを提供することが可能であることができる。アプリケーション１３０６は、ソーシャル・ネットワーキング・サイト、オンライン・リテーラ、情報サイト、ブログ・サイト、検索エンジン・サイト、ニュース、及びエンターテイメント・サイト、ならびにその他のものを含むユーザ・インタラクションを支援する任意のタイプのウェブサイトを提供することが可能である。上記で考察されるように、記述された技術は、ユーザ・デバイス（複数可）１３０４で実行する他のアプリケーションでのような、アプリケーション１３０６外部で同様に実装されることが可能である。
【０１１８】
ユーザ・デバイス（複数可）１３０４は、限定されないが、モバイル・フォン、スマート・フォン、パーソナル・デジタル・アシスタント（ＰＤＡ）、ラップトップ・コンピュータ、デスクトップ・コンピュータ、シンクライアント・デバイス、タブレットＰＣ、電子ブック（ｅ−ｂｏｏｋ（登録商標））・リーダなどのような、任意のタイプのコンピューティング・デバイスであることができる。いくつかの実施例で、ユーザ・デバイス（複数可）１３０４は、ネットワーク（複数可）１３０８を介して、または他のネットワーク接続を介してサービス・プロバイダ・コンピュータ（複数可）１３１０と通信していることができる。加えて、ユーザ・デバイス（複数可）１３０４は、サービス・プロバイダ・コンピュータ（複数可）１３１０（たとえば、サービス・プロバイダ・コンピュータ１３１０と統合されたコンソール・デバイス）の部分により管理される、これにより制御される、またはその他の方法をされる分散型システムの部分であることができる。
【０１１９】
１つの例示的な構成で、ユーザ・デバイス（複数可）１３０４は、少なくとも１つのメモリ１３１４、及び１つ以上の処理部（またはプロセッサ（複数可））１３１６を含むことができる。プロセッサ（複数可）１３１６は、ハードウェア、コンピュータ実行可能命令、ファームウェア、またはそれらの組み合わせで必要に応じて実装されることができる。プロセッサ（複数可）１３１６のコンピュータ実行可能命令、またはファームウェア実装は、任意の適切なプログラミング言語で書き込まれたコンピュータ実行可能、または機械実行可能命令を含み、記述されたさまざまな機能を実行することができる。また、ユーザ・デバイス（複数可）１３０４は、ユーザ・デバイス（複数可）１３０４と関連する地理的位置情報を提供する、及び／または記録するためのジオロケーション・デバイス（たとえば、全地球測位システム（ＧＰＳ）・デバイス、または同様のもの）を含むことができる。
【０１２０】
メモリ１３１４は、これらのプログラムの実行中に生成されたデータと同様に、プロセッサ（複数可）１３１６でロード可能で実行可能であるプログラム命令を格納することができる。ユーザ・デバイス（複数可）１３０４の構成及びタイプにより、メモリ１３１４は、揮発性（ランダム・アクセス・メモリ（ＲＡＭ）のような）及び／または不揮発性（読み出し専用メモリ（ＲＯＭ）、フラッシュ・メモリなどのような）であることができる。また、ユーザ・デバイス（複数可）１３０４は、限定されないが、磁気ストレージ、光学ディスク、及び／またはテープ・ストレージを含む、追加のリムーバブル・ストレージ、及び／または非リムーバブル・ストレージを含むことができる。ディスク・ドライブ及びそれらの関連したコンピュータ可読媒体は、コンピューティング・デバイスのための、コンピュータ可読命令、データ構造、プログラム・モジュール、及び他のデータの不揮発性ストレージを提供することができる。いくつかの実装で、メモリ１３１４は、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、またはＲＯＭのような、複数の異なるタイプのメモリを含むことができる。
【０１２１】
より詳細にメモリ１３１４のコンテンツに目を向けると、メモリ１３１４は、ブラウザ・アプリケーション１３０６、または専用アプリケーション（たとえば、スマート・フォン・アプリケーション、タブレット・アプリケーションなど）を介してのような、少なくともユーザが提供した入力要素、または電子サービス・ウェブ・ページを含む本明細書で開示された特徴を実装するためのオペレーティング・システム、及び１つ以上のアプリケーション・プログラムまたはサービスを含むことができる。ブラウザ・アプリケーション１３０６は、サービス・プロバイダ・コンピュータ（複数可）１３１０とインタラクトするためのウェブサイト、または他のインタフェースを受信する、格納する、及び／または表示するように構成されることができる。加えて、メモリ１３１４は、限定されないが、ユーザＩＤ、パスワード、及び／または他のユーザ情報のようなアクセス・クレデンシャル、及び／または他のユーザ情報を格納することができる。いくつかの実施例で、ユーザ情報は、限定されないが、デバイスＩＤ、クッキー、ＩＰアドレス、位置、または同様のもののようなアカウント・アクセス要求を認証するための情報を含むことができる。加えて、ユーザ情報は、ユーザ・デバイス１３０４により取得される、秘密の質問、または地理的位置へユーザが提供した応答を含むことができる。
【０１２２】
いくつかの態様で、また、サービス・プロバイダ・コンピュータ（複数可）１３１０は、限定されないが、モバイル・フォン、スマート・フォン、パーソナル・デジタル・アシスタント（ＰＤＡ）、ラップトップ・コンピュータ、デスクトップ・コンピュータ、サーバ・コンピュータ、シンクライアント・デバイス、タブレットＰＣなどのような、いずれかのタイプのコンピューティング・デバイスであることができる。加えて、いくつかの実施形態で、ホストされたコンピューティング環境で実装された１つ以上の仮想マシンがサービス・プロバイダ・コンピュータ（複数可）１３１０を実行することに留意するべきである。ホストされたコンピューティング環境は、１つ以上の迅速にプロビジョニングされリリースされたコンピューティング・リソースを含むことができ、コンピューティング・リソースは、コンピューティング、ネットワーキング、及び／またはストレージ・デバイスを含むことができる。また、ホストされたコンピューティング環境は、クラウド・コンピューティング環境と言われることができる。いくつかの実施例で、サービス・プロバイダ・コンピュータ（複数可）１３１０は、ネットワーク（複数可）１３０８を介して、または他のネットワーク接続を介してユーザ・デバイス（複数可）１３０４、及び／または他のサービス・プロバイダと通信していることができる。サービス・プロバイダ・コンピュータ（複数可）１３１０は、サーバ・ファームとして、または互いと関連しない個々のサーバとして、クラスタ内に配置されるかもしれない、１つ以上のサーバを含むことができる。これらのサーバは、統合された分散コンピューティング環境の部分として本明細書に記述されるキーワード分類及び格付け機能サービスを実装するように構成されることができる。
【０１２３】
１つの例示的な構成で、サービス・プロバイダ・コンピュータ（複数可）１３１０は、少なくとも１つのメモリ１３１８、及び１つ以上の処理部（またはプロセッサ（複数可））１３２０を含むことができる。プロセッサ（複数可）１３２０は、ハードウェア、コンピュータ実行可能命令、ファームウェア、またはそれらの組み合わせで必要に応じて実装されることができる。プロセッサ（複数可）１３２０のコンピュータ実行可能命令、またはファームウェア実装は、任意の適切なプログラミング言語で書き込まれたコンピュータ実行可能、または機械実行可能命令を含み、記述されたさまざまな機能を実行することができる。
【０１２４】
いくつかの実施例で、ハードウェア・プロセッサ（複数可）１３２０は、シングル・コア・プロセッサ、またはマルチコア・プロセッサであることができる。マルチコア・プロセッサは、同一のプロセッサ内に複数の処理部を含むことができる。いくつかの実施形態で、マルチコア・プロセッサは、マルチコア間の、バス、及び第二または第三レベルのキャッシュのような、特定のリソースを共有することができる。いくつかの実施例で、また、シングル・コア、またはマルチコア・プロセッサ内の各コアは、複数の実行中の論理プロセッサ（またはスレッド）を含むことができる。このようなコア（複数の論理プロセッサを支援する）で、実行パイプライン、及びより低レベル・キャッシュのいくつかのステージも共有することができる。
【０１２５】
メモリ１３１８は、これらのプログラムの実行中に生成されたデータと同様に、プロセッサ（複数可）１３２０でロード可能で実行可能であるプログラム命令を格納することができる。サービス・プロバイダ・コンピュータ（複数可）１３１０の構成及びタイプにより、メモリ１３１８は、揮発性（ＲＡＭのような）、及び／または不揮発性（ＲＯＭ、フラッシュ・メモリなどのような）であることができる。また、サービス・プロバイダ・コンピュータ（複数可）１３１０、またはサーバは、リムーバブル・ストレージ、及び／または非リムーバブル・ストレージを含むことができる、追加のストレージ１３２２を含むことができる。この追加のストレージ１３２２は、限定されないが、磁気ストレージ、光学ディスク、及び／またはテープ・ストレージを含むことができる。ディスク・ドライブ、及びそれらの関連するコンピュータ可読媒体は、コンピューティング・デバイス用の、コンピュータ可読命令、データ構造、プログラム・モジュール、及び他のデータの不揮発性ストレージを提供することができる。いくつかの実装で、メモリ１３１８は、ＳＲＡＭ、ＤＲＡＭ、またはＲＯＭのような、複数の異なるタイプのメモリを含むことができる。
【０１２６】
リムーバブル及び非リムーバブルの両方の、メモリ１３１８、追加のストレージ１３２２は、コンピュータ可読記憶媒体のすべての実施例である。たとえば、コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータのような情報の格納のための任意の方法または技術で実装される、揮発性または不揮発性、リムーバブルまたは非リムーバブル・メディアを含むことができる。メモリ１３１８、及び追加のストレージ１３２２は、コンピュータ・ストレージ・メディアのすべての実施例である。サービス・プロバイダ・コンピュータ（複数可）１３１０内に存在することができる、追加のタイプのコンピュータ・ストレージ・メディアは、限定されないが、ＰＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、若しくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気ストレージ・デバイス、または所望の情報を格納するために使用されることが可能であり、サービス・プロバイダ・コンピュータ（複数可）１３１０によりアクセスされることが可能である任意の他のメディアを含むことができる。また上記のうちのいずれかの組み合わせをコンピュータ可読媒体の範囲内に含む。
【０１２７】
代替に、コンピュータ可読通信媒体は、コンピュータ可読命令、プログラム・モジュール、または搬送波若しくは他の伝送のような、データ信号内で伝送される他のデータを含むことができる。しかしながら、本明細書で使用されるように、コンピュータ可読記憶媒体は、コンピュータ可読通信媒体を含まない。
【０１２８】
また、サービス・プロバイダ・コンピュータ（複数可）１３１０は、サービス・プロバイダ・コンピュータ（複数可）１３１０がネットワーク（複数可）１３０８で、格納されたデータベース、別のコンピューティング・デバイスまたはサーバ、ユーザ端末、及び／または他のデバイスと通信することを可能にする通信接続（複数可）１３２４を含むことができる。また、サービス・プロバイダ・コンピュータ（複数可）１３１０は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、ディスプレイ、スピーカ、プリンタ、及び同様のもののような、Ｉ／Ｏデバイス（複数可）１３２６を含むことができる。
【０１２９】
メモリ１３１８は、オペレーティング・システム１３２８、１つ以上のデータ・ストア１３３０、及び／または任意選択で管理計算サブシステム・モジュール１３３２、ネットワーク計算サブシステム・モジュール１３３４、及びサーバ計算サブシステム・モジュール１３３６を含む、本明細書で開示された特徴を実装するための１つ以上のアプリケーション・プログラムまたはサービスを含むことができる。本明細書に記述されたこれらのモジュールは、ソフトウェア・モジュール、ハードウェア・モジュール、またはそれらの適切な組み合わせであることができる。これらのモジュールがソフトウェア・モジュールである場合に、モジュールは、非一時的なコンピュータ可読媒体で具現化され、本明細書に記述されたコンピュータ・システムのうちのいずれか内のプロセッサにより処理されることが可能である。いくつかの実施形態で、図２に戻り参照して、管理計算サブシステム・モジュール１３３２は、管理計算サブシステム１０８の機能性を有することが可能であり、ネットワーク計算サブシステム・モジュール１３３４は、ネットワーク計算サブシステム１０４の機能性を有することが可能であり、サーバ計算サブシステム・モジュール１３３６は、サーバ計算サブシステム１０６の機能性を有することが可能である。記述されたプロセス及びアーキテクチャが任意のユーザ・インタラクションの前にリアルタイムで、または非同期モードで、のいずれか一方で実行されることが可能であることに留意するべきである。これらのモジュールは、図１３で提案された方式で構成されることができる、及び／または本明細書に記述された機能は、別個のモジュールとして存在する１つ以上のモジュールにより提供されることが可能である、及び／または本明細書に記述されたモジュール機能は、複数のモジュールに分散されることが可能である。
【０１３０】
図１４は、さまざまな実施形態に従う態様を実装するための例示的な環境１４００の態様を図示する。理解されるように、ウェブ・ベース環境を説明のために使用するが、異なる環境を使用し、適切に、さまざまな実施形態を実装することができる。この環境は、適切なネットワーク１４０４を介して要求、メッセージまたは情報を送受信し、デバイスのユーザへ情報を返送するように動作可能な、任意の適切なデバイスを含むことが可能である、電子クライアント・デバイス１４０２を含む。このようなクライアント・デバイスの実施例は、パーソナル・コンピュータ、携帯電話、ハンドヘルド・メッセージング・デバイス、ラップトップ・コンピュータ、セット・トップ・ボックス、パーソナル・データ・アシスタント、電子ブック・リーダ、及び同様のものを含む。ネットワークは、イントラネット、インターネット、セルラ・ネットワーク、ローカル・エリア・ネットワーク、若しくは任意の他のこのようなネットワーク、またはそれらの組み合わせを含む、任意の適切なネットワークを含むことが可能である。このようなシステムのために使用されるコンポーネントは、選択されたネットワーク及び／または環境のタイプに少なくとも部分的に依存することが可能である。このようなネットワークを介して通信するためのプロトコル及びコンポーネントは、既知であり、詳細に本明細書で考察されない。ネットワーク経由の通信は、有線または無線接続、及びそれらの組み合わせにより有効にされることが可能である。この実施例で、当業者に明らかであるように、他のネットワークについて同様の目的を果たす代替デバイスを使用することが可能であるが、環境がそこへ応答して要求を受信し、コンテンツを提供するためのウェブ・サーバ１４０６を含む場合に、ネットワークは、インターネットを含む。
【０１３１】
例示的な環境は、少なくとも１つのアプリケーション・サーバ１４０８、及びデータ・ストア１４１０を含む。適切なデータ・ストアからデータを取得するようなタスクを実行するためにインタラクトすることが可能である、連鎖される、またはその他の方法で構成されることができる、いくつかのアプリケーション・サーバ、層、または他の要素、プロセス、若しくはコンポーネントがあることが可能であることを理解するであろう。本明細書に使用されるように、用語「データ・ストア」は、任意の標準の、分散された、またはクラスタ化された環境で、データ・サーバ、データベース、データ・ストレージ・デバイス、及びデータ・ストレージ・メディアのうちのいずれかの組み合わせ、及びいくつかを含むことができる、データを格納し、これにアクセスし、これを取得することが可能である、任意のデバイス、またはデバイスの組み合わせを指す。アプリケーション・サーバは、アプリケーションのための、データ・アクセス及びビジネス・ロジックの大部分を処理する、クライアント・デバイスについての１つ以上のアプリケーションの態様を実行するために必要に応じてデータ・ストアと統合するための任意の適切なハードウェア及びソフトウェアを含むことが可能である。アプリケーション・サーバは、データ・ストアと協動してアクセス制御サービスを提供し、この実施例で、ハイパーテキスト・マークアップ言語（「ＨＴＭＬ」）、拡張可能なマークアップ言語（「ＸＭＬ」）、または別の適切な構造化言語の形式で、ウェブ・サーバによりユーザへ提供されることができる、ユーザへ転送されるテキスト、グラフィックス、オーディオ、及び／またはビデオのようなコンテンツを生成することが可能である。クライアント・デバイス１４０２、及びアプリケーション・サーバ１４０８間のコンテンツの配信と同様に、すべての要求及び応答の処理は、ウェブ・サーバにより処理されることが可能である。本明細書で考察される構造化コードを本明細書の他の箇所で考察されるような任意の適切なデバイス、またはホスト・マシンで実行することが可能である場合に、ウェブ及びアプリケーション・サーバが必要とされず、単に例示的なコンポーネントであることを理解するであろう。
【０１３２】
データ・ストア１４１０は、特定の態様に関するデータを格納するために、いくつかの別個のデータ・テーブル、データベース、または他のデータ・ストレージ・メカニズム及びメディアを含むことが可能である。たとえば、図示されたデータ・ストアは、プロダクション側にコンテンツを提供するために使用されることが可能である、プロダクション・データ１４１２、及びユーザ情報１４１６を格納するためのメカニズムを有する。またデータ・ストアは、報告、分析、または他のこのような目的のために使用されることが可能である、ログ・データ１４１４を格納するためのメカニズムを有するように示される。必要に応じて、上記で列挙されたメカニズムのうちのいずれかに、またはデータ・ストア１４１０内の追加のメカニズムに格納されることが可能である、ページ画像情報についてのようなデータ・ストア内に格納されるために、及び権利情報にアクセスするために必要である可能性がある、多くの他の態様があることが可能であることを理解するであろう。データ・ストア１４１０は、それに関連するロジックを介して、動作可能であり、アプリケーション・サーバ１４０８から命令を受信し、それに応答してデータを取得する、更新する、またはその他の方法で処理する。１つの実施例で、ユーザは、特定のタイプのアイテムについて検索要求を提示することができる。この事例で、データ・ストアは、ユーザ情報にアクセスし、ユーザのアイデンティティを検証することができ、カタログ詳細情報にアクセスし、そのタイプのアイテムについての情報を取得することが可能である。つぎにこの情報は、ユーザがユーザ・デバイス１４０２上のブラウザを介して視聴することが可能であるウェブ・ページ上でリストにする結果でのような、ユーザへ返されることが可能である。関心の特定のアイテムについての情報をブラウザの専用ページまたはウィンドウで視聴することが可能である。
【０１３３】
典型的に各サーバは、そのサーバの一般的な管理及び操作のために実行可能なプログラム命令を提供するオペレーティング・システムを含み、典型的に、サーバのプロセッサにより実行されるときに、サーバがその意図された機能を実行することを可能にする命令を格納するコンピュータ可読記憶媒体（たとえば、ハード・ディスク、ランダム・アクセス・メモリ、読み出し専用メモリなど）を含む。サーバのオペレーティング・システム、及び一般的な機能性についての適切な実装は、既知または市販であり、特に本明細書の開示に照らして、当業者により容易に実施される。
【０１３４】
１つの実施形態で、この環境は、１つ以上のコンピュータ・ネットワーク、または直接接続を使用して、通信リンクを介して相互接続される、いくつかのコンピュータ・システム及びコンポーネントを利用する、分散コンピューティング環境である。しかしながら、このようなシステムが図１４で図示されるものより少ない、またはより多いコンポーネントを含むシステムで等しく良く動作させることが可能であることを当業者は、理解するであろう。このようにして、図１４でシステム１４００の描写は、本質的に例示であり、本開示の範囲を限定しないとみなされるであろう。
【０１３５】
さらにさまざまな実施形態は、複数のアプリケーションのうちのいずれかを動作させるために使用されることが可能である、いくつかの事例で、１つ以上のユーザ・コンピュータ、コンピューティング・デバイス、または処理デバイスを含むことが可能である、多種多様なオペレーティング環境で実施されることが可能である。ユーザまたはクライアント・デバイスは、標準オペレーティング・システムを実行するデスクトップまたはラップトップ・コンピュータのような、複数の汎用パーソナル・コンピュータ、ならびにモバイル・ソフトウェアを実行し複数のネットワーキング及びメッセージング・プロトコルを支援することが可能である、セルラ、無線、及びハンドヘルド・デバイスのうちのいずれかを含むことが可能である。このようなシステムは、開発及びデータベース管理のような目的のために、さまざまな市販のオペレーティング・システム、及び他の既知のアプリケーションのいずれかを実行する複数のワークステーションを含むことも可能である。また、これらのデバイスは、ネットワークを介して通信することが可能である、ダミー端末、シンクライアント、ゲーミング・システム、及び他のデバイスのような、他の電子機器を含むことが可能である。
【０１３６】
ほとんどの実施形態は、伝送制御プロトコル／インターネット・プロトコル（「ＴＣＰ／ＩＰ」）、オープン・システム・インターコネクション（「ＯＳＩ」）、ファイル転送プロトコル（「ＦＴＰ」）、ユニバーサル・プラグ・アンド・プレイ（「ＵｐｎＰ」）、ネットワーク・ファイル・システム（「ＮＦＳ」）、共通インターネット・ファイル・システム（「ＣＩＦＳ」）、及びＡｐｐｌｅＴａｌｋのような、さまざまな市販のプロトコルのうちのいずれかを使用して通信を支援するために当業者に既知である、少なくとも１つのネットワークを利用する。このネットワークは、たとえば、ローカル・エリア・ネットワーク、ワイドエリア・ネットワーク、仮想プライベート・ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及び任意のそれらの組み合わせであることが可能である。
【０１３７】
ウェブ・サーバを利用する実施形態で、ウェブ・サーバは、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）・サーバ、ＦＴＰサーバ、共通ゲートウェイ・インタフェース（「ＣＧＩ」）・サーバ、データ・サーバ、Ｊａｖａサーバ、及びビジネス・アプリケーション・サーバを含む、さまざまなサーバまたはミッドティア・アプリケーションのうちのいずれかを実行することが可能である。またサーバ（複数可）は、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃若しくはＣ＋＋のような任意のプログラミング言語、またはＰｅｒｌ、Ｐｙｔｈｏｎ若しくはＴＣＬのような任意のスクリプト言語、及びそれらの組み合わせで書き込まれた１つ以上のスクリプトまたはプログラムとして実装されることができる、１つ以上のウェブ・アプリケーションを実行することでのような、ユーザ・デバイスからの要求に応答してプログラムまたはスクリプトを実行することが可能であることができる。またサーバ（複数可）は、限定ではなく、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）及びＩＢＭ（登録商標）から市販されているそれらを含む、データベース・サーバを含むことができる。
【０１３８】
この環境は、上記で考察されるような、さまざまなデータ・ストア、ならびに他のメモリ及びストレージ・メディアを含むことが可能である。これらは、コンピュータのうちの１つ以上へローカルに（及び／または常駐の）、またはネットワーク上のコンピュータのうちのいずれか、若しくはすべてからリモートにストレージ・メディアでのような、さまざまな位置にあることが可能である。特定のセットの実施形態で、この情報は、当業者に既知のストレージエリア・ネットワーク（「ＳＡＮ」）にあることができる。同様に、コンピュータ、サーバ、または他のネットワーク・デバイスに起因する機能を実行するためにいずれかの必要なファイルは、適切にローカルに、及び／またはリモートに格納されることができる。システムは、コンピュータ化デバイスを含み、それぞれのこのようなデバイスは、バスを介して電気的に結合されることができるハードウェア要素を含むことが可能であり、これらの要素は、たとえば、少なくとも１つの中央処理装置（「ＣＰＵ」）、少なくとも１つの入力デバイス（たとえば、マウス、キーボード、コントローラ、タッチ・スクリーン、またはキーパッド）、及び少なくとも１つの出力デバイス（たとえば、表示装置、プリンタまたはスピーカ）を含む。また、このようなシステムは、ディスク・ドライブ、光学ストレージ・デバイス、及びランダム・アクセス・メモリ（「ＲＡＭ」）または読み出し専用メモリ（「ＲＯＭ」）のようなソリッドステート・ストレージ・デバイスのような１つ以上のストレージ・デバイス、ならびにリムーバブル・メディア・デバイス、メモリ・カード、フラッシュ・カードなどを含むことができる。
【０１３９】
また、このようなデバイスは、上述されるような、コンピュータ可読記憶媒体リーダ、通信デバイス（たとえば、モデム、ネットワーク・カード（無線の、または有線の）、赤外線通信デバイスなど）、及びワーキング・メモリを含むことが可能である。コンピュータ可読記憶媒体リーダは、リモートの、ローカルの、固定の、及び／またはリムーバブル・ストレージ・デバイスを表現するコンピュータ可読記憶媒体、及びコンピュータ可読情報を一時的に、及び／またはより永続的に含み、格納し、伝送し、取得するためのストレージ・メディアと接続される、またはこれらを受信するように構成されることが可能である。またシステム、及びさまざまなデバイスは、クライアント・アプリケーション、またはウェブ・ブラウザのような、オペレーティング・システム、及びアプリケーション・プログラムを含む、少なくとも１つのワーキング・メモリ・デバイス内に設置された、複数のソフトウェア・アプリケーション、モジュール、サービス、または他の要素を典型的に含む。代替の実施形態が上述されるものから複数の変形形態を含むことができることを理解するであろう。たとえば、カスタマイズされたハードウェアも使用することができる、及び／または特定の要素をハードウェア、ソフトウェア（アプレットのような、ポータブル・ソフトウェアを含む）、または両方で実装することができる。さらにネットワーク入出力デバイスのような他のコンピューティング・デバイスへの接続を用いることができる。
【０１４０】
コード、またはコードの部分を含むためのストレージ・メディア、及びコンピュータ可読媒体は、限定されないが、所望の情報を格納するために使用されることが可能であり、システム・デバイスによりアクセスされることが可能である、ＲＡＭ、ＲＯＭ、電気的に消去可能プログラマブル読み出し専用メモリ（「ＥＥＰＲＯＭ」）、フラッシュ・メモリ、若しくは他のメモリ技術、コンパクト・ディスク読み出し専用メモリ（「ＣＤ−ＲＯＭ」）、デジタル多目的ディスク（ＤＶＤ）、若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、若しくは他の磁気ストレージ・デバイス、または任意の他のメディアを含む、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータのような情報のストレージ及び／または伝送用の任意の方法または技術で実装される、揮発性及び不揮発性、リムーバブル及び非リムーバブル・メディアのような、ストレージ・メディア、及び通信メディアを含む、当該技術分野で既知の、または使用される任意の適切なメディアを含むことが可能である。本明細書に提供される本開示及び教示に基づき、当業者は、さまざまな実施形態を実施するために他の方式及び／または方法を理解するであろう。
【０１４１】
本明細書及び図面は、したがって、制限的ではなく例示的な意味とみなされるであろう。しかしながら、特許請求の範囲で記載されるような本開示のより広い趣旨及び範囲から逸脱することなく、さまざまな修正形態及び変形形態を行うことができることは、明らかであろう。
【０１４２】
以下の条項を考慮して本開示の実施形態を記述することが可能である。
条項１．システム・オン・チップ（ＳｏＣ）であって、
ホスト・システムについてのネットワーク・トラフィックを管理するためのネットワーク計算サブシステム、及び
計算サービスを提供するためのサーバ計算サブシステム、
を備え、
前記ＳｏＣは、複数のモードのうちの１つで動作させるように構成され、
第一モードで、前記ＳｏＣは、前記ネットワーク計算サブシステムを動作させるように構成され、
第二モードで、前記ＳｏＣは、前記サーバ計算サブシステムを動作させるように構成され、
第三モードで、前記ＳｏＣは、前記ネットワーク計算サブシステム、及び前記サーバ計算サブシステムを同時に動作させるように構成される、
前記ＳｏＣ。
【０１４３】
条項２．前記第一モードで、前記ＳｏＣは、第二ネットワーク計算サブシステムとして前記サーバ計算サブシステムを別の目的のために再利用するようにさらに構成される、条項１の前記ＳｏＣ。
【０１４４】
条項３．前記第二モードで、前記ＳｏＣは、第二サーバ計算サブシステムとして前記ネットワーク計算サブシステムを別の目的のために再利用するようにさらに構成される、いずれかの先行条項の前記ＳｏＣ。
【０１４５】
条項４．前記ＳｏＣは、再構成可能な処理及びメモリ・リソースをさらに備え、前記ＳｏＣは、前記再構成可能な処理及びメモリ・リソースのうちの少なくとも部分を割り当て、前記第二モードで前記サーバ計算サブシステムについてのリソースとして動作させる、または前記第一モードで前記ネットワーク計算サブシステムについてのリソースとして動作させるようにさらに構成される、いずれかの先行条項の前記ＳｏＣ。
【０１４６】
条項５．システム・オン・チップ（ＳｏＣ）であって、
複数のモードのうちの１つで動作させるように構成され、
第一モードで、前記ＳｏＣは、ネットワーク・トラフィックを管理するためにネットワーク計算サブシステムを動作させるように構成され、
第二モードで、前記ＳｏＣは、計算サービスを提供するためにサーバ計算サブシステムを動作させるように構成され、
第三モードで、前記ＳｏＣは、前記ネットワーク計算サブシステム、及び前記サーバ計算サブシステムを同時に動作させるように構成される、
前記ＳｏＣ。
【０１４７】
条項６．前記第一モードで、前記ＳｏＣは、ホスト・システム内のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・デバイス上で前記ネットワーク計算サブシステムを動作させるように構成される、条項５の前記ＳｏＣ。
【０１４８】
条項７．前記第二モードで、前記ＳｏＣは、ホスト・システム内のペリフェラル・コンポーネント・インターコネクト・エクスプレス（ＰＣＩｅ）・デバイス上で前記サーバ計算サブシステムを動作させるように構成される、条項５または６の前記ＳｏＣ。
【０１４９】
条項８．前記第二モードで、前記ＳｏＣは、ホスト・システムで汎用プロセッサとして動作させるように構成される、条項５−７のうちのいずれかの前記ＳｏＣ。
【０１５０】
条項９．前記第一モードで、前記ＳｏＣは、前記サーバ計算サブシステムを無効にし、前記サーバ計算サブシステムと関連する処理及びメモリ・リソースを再構成し、前記ネットワーク計算サブシステムについてのリソースとして動作させるようにさらに構成される、条項５−８のうちのいずれかの前記ＳｏＣ。
【０１５１】
条項１０．前記第一モードで、前記ＳｏＣは、第二ネットワーク計算サブシステムとして前記サーバ計算サブシステムを別の目的のために再利用するようにさらに構成される、条項５−９のうちのいずれかの前記ＳｏＣ。
【０１５２】
条項１１．前記第二モードで、前記ＳｏＣは、前記ネットワーク計算サブシステムを無効にし、前記ネットワーク計算サブシステムと関連する処理及びメモリ・リソースを再構成し、前記サーバ計算サブシステムについてのリソースとして動作させるようにさらに構成される、条項５−１０のうちのいずれかの前記ＳｏＣ。
【０１５３】
条項１２．前記ＳｏＣは、前記第二モードで第二サーバ計算サブシステムとして前記ネットワーク計算サブシステムを別の目的のために再利用するようにさらに構成される、条項５−１１のうちのいずれかの前記ＳｏＣ。
【０１５４】
条項１３．前記ＳｏＣは、再構成可能な処理及びメモリ・リソースを備え、前記ＳｏＣは、前記第一モードで前記ネットワーク計算サブシステムへ前記再構成可能な処理及びメモリ・リソースのうちの少なくとも部分を割り当てるようにさらに構成される、条項５−１２のうちのいずれかの前記ＳｏＣ。
【０１５５】
条項１４．前記ＳｏＣは、再構成可能な処理及びメモリ・リソースを備え、前記ＳｏＣは、前記第二モードで前記サーバ計算サブシステムへ前記再構成可能な処理及びメモリ・リソースのうちの少なくとも部分を割り当てるようにさらに構成される、条項５−１３のうちのいずれかの前記ＳｏＣ。
【０１５６】
条項１５．前記第三モードで、前記ＳｏＣは、ホスト・システムとして前記サーバ計算サブシステムを動作させるように、及び前記ネットワーク計算サブシステムを動作させ、前記ホスト・システムについてのネットワーク・トラフィックを管理するようにさらに構成される、条項５−１４のうちのいずれかの前記ＳｏＣ。
【０１５７】
条項１６．前記ＳｏＣは、管理計算サブシステムを備え、前記管理計算サブシステムは、前記複数のモードのうちの１つで前記ＳｏＣを設定するように構成される、条項５−１５のうちのいずれかの前記ＳｏＣ。
【０１５８】
条項１７．システム・オン・チップ（ＳｏＣ）・システムであって、
複数のＳｏＣを備え、前記複数のＳｏＣは、第一ＳｏＣ、及び第二ＳｏＣを備え、前記第二ＳｏＣは、前記第一ＳｏＣへ通信可能に結合され、前記第一ＳｏＣは、複数のモードのうちの１つで動作させるように構成され、
第一モードで、前記第一ＳｏＣは、第一ネットワーク計算サブシステムを動作させるように構成され、
第二モードで、前記第一ＳｏＣは、第一サーバ計算サブシステムを動作させるように構成され、
第三モードで、前記第一ＳｏＣは、前記第一ネットワーク計算サブシステム、及び前記第一サーバ計算サブシステムを同時に動作させるように構成される、
前記ＳｏＣシステム。
【０１５９】
条項１８．前記第二ＳｏＣは、また前記複数のモードのうちの１つで動作させるように構成され、
前記第一モードで、前記第二ＳｏＣは、第二ネットワーク計算サブシステムを動作させるように構成され、
前記第二モードで、前記第二ＳｏＣは、第二サーバ計算サブシステムを動作させるように構成され、
前記第三モードで、前記第二ＳｏＣは、前記第二ネットワーク計算サブシステム、及び前記第二サーバ計算サブシステムを同時に動作させるように構成される、
条項１７の前記システム。
【０１６０】
条項１９．前記第一ＳｏＣは、前記第一モードで、第三ネットワーク計算サブシステムとして別の目的のために再利用される前記第一サーバ計算サブシステムで構成され、前記第二ＳｏＣは、前記第二モードで、第三サーバ計算サブシステムとして別の目的のために再利用される前記第二ネットワーク計算サブシステムで構成される、条項１８の前記システム。
【０１６１】
条項２０．前記第二ＳｏＣは、汎用ＳｏＣである、条項１７−１９のうちのいずれかの前記システム。
【０１６２】
他の変形形態は、本開示の趣旨内にある。したがって、開示された技術は、さまざまな修正形態、及び代替構成の影響を受けやすく、特定の図示されたこれらの実施形態は、図面内で示され、詳細に上記で説明されている。しかしながら、開示された特定の単一の形態、または複数の形態へ本開示を限定する意図はないが、対照的に、この意図が添付の特許請求の範囲で定められるように、本開示の趣旨及び範囲内に入るすべての修正形態、代替構成、及び均等物を網羅することを理解するであろう。
【０１６３】
用語「ａ」、及び「ａｎ」、及び「ｔｈｅ」、及び開示された実施形態を記述する文脈内で（特に以下の特許請求の範囲の文脈内で）同様の指示対象の使用は、別段に本明細書で示されない限り、または明らかに文脈が矛盾しない限り、単数形及び複数形の両方を網羅するように解釈される。用語「ｃｏｍｐｒｉｓｉｎｇ（含む）」、「ｈａｖｉｎｇ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、及び「ｃｏｎｔａｉｎｉｎｇ（含む）」は、特に断りのない限り、オープン・エンド用語（すなわち、「ｉｎｃｌｕｄｉｎｇ（含む）がこれに限定されない」ことを意味する）として解釈される。用語「接続される」は、何かが介在している場合であっても、部分的に、または全体的に、この内に含まれる、これに取り付けられる、または共に結合されると解釈される。本明細書で値の範囲の列挙は、本明細書で特に指示されない限り、この範囲内に入る各別個の値へ個々に参照する省略表現方法として機能することを単に意図され、各別個の値は、それが本明細書で個々に列挙されたかのように本明細書で援用される。本明細書に記述されるすべての方法は、本明細書で特に指示されない、または特に明らかに文脈が矛盾しない限り、任意の適切な順序で実行されることが可能である。本明細書で提供される、任意の、及びすべての実施例の使用、または例示的な言語（たとえば、「ｓｕｃｈ  ａｓ（のような）」）は、本開示の実施形態のより良い理解を容易にすることを単に意図され、特に請求されない限り本開示の範囲を限定するものではない。本明細書内の言語は、本開示の実施へ必須であるとして任意の請求されない要素を示すように解釈されない。
【０１６４】
語句「Ｘ、Ｙ、またはＺのうちの少なくとも１つ」のような選言は、特に具体的に明言されない限り、項目、用語などがＸ、Ｙ、若しくはＺ、または任意のそれら（たとえば、Ｘ、Ｙ、及び／またはＺ）の組み合わせのいずれかであることができることを提示するために一般に使用されるように文脈内で理解されることを意図される。したがって、このような選言は、特定の実施形態が各存在する、Ｘのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、またはＺのうちの少なくとも１つを必要とすることを一般に意図されず、このことを必要とすることを意味しない。
【０１６５】
本開示を実行する発明者らに知られている最良のモードを含む、本開示の好ましい実施形態を本明細書で記述する。これらの好ましい実施形態の変形形態は、前述の説明を読めば、当業者に明らかになるであろう。発明者らは、当業者が適切なものとしてこれらのような変形形態を用いることを期待し、発明者らは、本開示について本明細書で具体的に記述されるものと別の方法で実施されることを意図する。その結果、本開示は、適用法により許容されるように本明細書に添付される特許請求の範囲で列挙される発明の主題のすべての修正形態及び均等物を含む。さらに、それらのすべての可能な変形形態内の上記で説明された要素の任意の組み合わせは、本明細書で特に示されない、または特に明らかに文脈が矛盾しない限り、本開示により包含される。
【図１】
0006445710.tif 000002
【図２】
0006445710.tif 000003
【図３Ａ】
0006445710.tif 000004
【図３Ｂ】
0006445710.tif 000005
【図３Ｃ】
0006445710.tif 000006
【図４Ａ】
0006445710.tif 000007
【図４Ｂ】
0006445710.tif 000008
【図５】
0006445710.tif 000009
【図６Ａ】
0006445710.tif 000010
【図６Ｂ】
0006445710.tif 000011
【図７Ａ】
0006445710.tif 000012
【図７Ｂ】
0006445710.tif 000013
【図７Ｃ】
0006445710.tif 000014
【図８】
0006445710.tif 000015
【図９】
0006445710.tif 000016
【図１０】
0006445710.tif 000017
【図１１】
0006445710.tif 000018
【図１２】
0006445710.tif 000019
【図１３】
0006445710.tif 000020
【図１４】
0006445710.tif 000021