(57)【特許請求の範囲】
【請求項１】
コンピューターデバイス間でコンテンツを転送する方法であって、該方法は、前記コンピュータデバイスに記憶されたコンピュータプログラムを前記コンピューターデバイスが実行することによって前記コンピューターデバイスによって実施され、
第１のコンピューターデバイスが、クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の通信セッションを確立するステップと、
前記第１のコンピューターデバイスが、前記通信セッション内で使用する少なくとも１つのチャネルを選択するステップと、
前記第１のコンピューターデバイスが、前記クローズドコンピューターデバイスに、無署名のコンテンツを前記少なくとも１つのチャネルで送信するステップであって、
最初に、前記無署名コンテンツに含まれた情報のセットのサブセットを送信するステップであって、前記情報のセットのサブセットは、前記情報のセットの残りを表すステップと、
次いで、前記情報のセットのサブセット及び前記クローズドコンピューターデバイスの資源に基づいて、前記情報のセットの残りを前記クローズドコンピューターデバイスへ送信すべきであると判定された場合に、前記情報のセットの残りを送信するステップと
を含むステップと
を含むことを特徴とする方法。
【請求項２】
前記通信セッションが、前記クローズドコンピューターデバイスにおいて実行されるワンタイムパスワード初期化および転送、前記クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の認証要求および認証応答、前記クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の接続要求および接続検証、ならびに前記クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の転送要求により、確立されることを特徴とする請求項１に記載の方法。
【請求項３】
前記無署名のコンテンツを送信するステップが、前記無署名のコンテンツを符号化するステップ、および前記無署名のコンテンツを復号化するステップのうちの１つを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記少なくとも１つのチャネルを選択するステップが、前記情報のサブセットを送信するための第１のチャネルおよび前記情報のセットを送信するための第２のチャネルを選択するステップを含み、前記第２のチャネルが、チャネルのセットの少なくとも１つのチャネルを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記送信するステップが、（ａ）１回のトランザクション、（ｂ）同期トランザクション、および（ｃ）ストリーミングトランザクション、のうちの１つを使用して実行されることを特徴とする請求項１に記載の方法。
【請求項６】
前記第１のコンピューターデバイスは、オープンコンピューターデバイスおよびクローズドコンピューターデバイスのうちの１つであることを特徴とする請求項１に記載の方法。
【請求項７】
コンピューターデバイス間でコンテンツを転送するシステムであって、
クローズドコンピューターデバイスと第１のコンピューターデバイスとの間の通信セッションを確立する通信機構と、
前記通信セッション内で使用する少なくとも１つのチャネルを選択するチャネルブローカーと
を備え、
前記第１のコンピューターデバイスは、前記クローズドコンピューターデバイスに、最初に、無署名のコンテンツに含まれた情報のセットのサブセットであって、前記情報のセットの残りを表す前記情報のセットのサブセットを前記少なくとも１つのチャネルで送信し、次いで、前記情報のセットのサブセットおよび前記クローズドコンピューターデバイスの資源に基づいて、前記情報のセットの残りを前記クローズドコンピューターデバイスへ送信すべきであると判定された場合に、前記情報のセットの残りを送信することを特徴とするシステム。
【請求項８】
前記通信機構が、前記通信セッションを、前記クローズドコンピューターデバイスにおいて実行されるワンタイムパスワード初期化と転送、前記クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の認証要求および認証応答、前記クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の接続要求および接続検証、ならびに前記クローズドコンピューターデバイスと前記第１のコンピューターデバイスとの間の転送要求により、確立することを特徴とする請求項７に記載のシステム。
【請求項９】
前記第１のコンピューターデバイスによる送信が、前記無署名のコンテンツを符号化すること、および前記無署名のコンテンツを復号化することのうちの１つを含むことを特徴とする請求項７に記載のシステム。
【請求項１０】
前記チャネルブローカーが少なくとも１つのチャネルを選択し、前記情報のサブセットを送信するための第１のチャネルおよび前記情報のセットを送信するための第２のチャネルを選択することを含み、前記第２のチャネルが、チャネルのセットの少なくとも１つのチャネルを含むことを特徴とする請求項７に記載のシステム。
【請求項１１】
前記第１のコンピューターデバイスによる送信が、（ａ）１回のトランザクション、（ｂ）同期トランザクション、および（ｃ）ストリーミングトランザクション、のうちの１つを使用して実行されることを特徴とする請求項７に記載のシステム。
【請求項１２】
前記第１のコンピューターデバイスは、オープンコンピューターデバイスおよびクローズドコンピューターデバイスのうちの１つであることを特徴とする請求項７に記載のシステム。
【請求項１３】
請求項１乃至６のいずれかに記載の方法をコンピューターデバイスに実行させるためのコンピュータプログラムを記憶したコンピューター読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンピューティングの分野に関し、さらに具体的にはゲーム環境に関する。
【背景技術】
【０００２】
ゲームシステムは、今日のコンピューター環境において広く普及している。ゲームコンソールは、一般的にクローズドシステムであり、ハードウェアのベンダーが管理する署名済みのゲームのみがそのコンソール上で実行可能である。この制限は様々な理由によってなされる可能性がある。その理由としては、発行者のために厳重に管理される環境を有して知的財産権の侵害を最小限に抑えたビジネスモデル、または、例えば、子供に対する親の期待に見合うコンテンツの再生のみを可能にするゲームシステム上で、再生することが可能なゲームの種類を管理するビジネスモデル、を保護するかどうか等である。加えて、コンテンツを署名済みのコードに制限することにより、コミュニティ・スコアまたはデジタル通貨等の特定の条件が正確であることが不可欠である、オンラインのコミュニティ上のゲームにおいて、不正が行われる可能性を制御または軽減する助けとなることが可能である。
【０００３】
しかし、ゲームコンソールに対するこれらの厳重な制限は、より大きな創造的なコミュニティ全体による、クローズドゲームコンソール上でのゲームまたはゲーム的なアプリケーションの開発を妨げる。従って、開発者、ゲーム愛好者、一般的な愛好家、および学生のゲーム開発コミュニティが、とりわけ、自分が所有するコンピューターデバイス上の従来クローズドシステム用のゲームを書くことを可能にする必要性、および、任意のゲームコンテンツを何らかの移送機構または通信機構を介してクローズドデバイスに送信する能力を提供する必要性に対処することが重要である。
【発明の概要】
【０００４】
本明細書において、クローズドコンピューターシステムと他のコンピューターシステムとの間の通信を可能にする機構を提供する。例えば、ゲームコンソールは、無署名のコンテンツをＰＣからゲームコンソールに送信するときに、本機構を使用してＰＣと通信することが可能である。本開示の一態様によると、通信機構は多数のチャネルを有し、無署名のコンテンツに関連するコードおよび／またはデータを含むことができる情報をＰＣからゲームコンソールに送信することが可能である。そのような情報を、通信機構上の数チャネルで配信することができる。
【０００５】
一例示的および非限定的な態様において、通信機構は、最初に情報のセットのサブセットをコンピューターシステムからクローズドコンピューターシステムへ送信することが可能である。次に、クローズドシステム資源に応じて、残りの情報のセットをクローズドシステムに送信することが可能である。種々のヒューリスティック（heuristic）を使用して、ＧＰＵ資源、メモリ資源等を含むがこれに限定されない、送信した情報のサブセットに続いて、情報のセットを送信するかどうかの判定を行うことが可能である。
【０００６】
本概要は、以下の発明の詳細な説明でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものであることに注意されたい。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲を決定に際して、補助として使用することを目的とするものでもない。
【図面の簡単な説明】
【０００７】
前述の概要は、以下の詳細な説明と同様、添付の図面と併せて読むことでより良く理解されよう。本明細書で開示される主題事項を例示するために、本開示の種々の態様が示される。しかし、本開示は、論じられる具体的な態様に限定されない。
【図１】署名済みのソフトウェアコンポーネントのみ、すなわち署名済みのゲームのみが、一般的にクローズドシステム上で稼動することが可能である、従来技術のシステムを例示する図である。
【図２】署名済みのゲームおよび無署名のゲームの両方がクローズドシステム上で稼動することが可能である、システムを例示する図である。
【図３】署名済みのゲームが認定され、無署名のゲームが認定されないことを例示する図である。
【図４】無署名のコンテンツを何らかのコンピューティングソースからクローズドシステムへ提供することが可能な、無数の方法があることを例示する図である。
【図５】クローズドシステムとコンピューティングソースとの間で通信を確立するための、一例示的および非限定的な方法を例示する図である。
【図６】クローズドデバイスが（例えば、オープンな）コンピューターデバイスと通信している時に、通信チャネルが数個のストリームを含むことができることを例示する図である。
【図７】あるデータセットのサブセットをクローズドコンピューターデバイスに最初に送り、当該サブセットに関連するより大きなデータセットを、クローズドコンソール資源により処理することが可能であるかどうかを判定することを例示する図である。
【図８】図４から図７を参照して論じられる態様を実装する方法のためのブロック図フローチャートである。
【図９】署名済みまたは無署名のコンテンツが、何らかのリモートコンピューターシステムからクローズドコンピューターシステムへ移送された後、本明細書で開示される主題事項に従って実行することが可能である、例示の非限定的なコンピューターシステム環境を表すブロック図である。
【図１０】本明細書で論じられる移送機構または通信機構とインターフェース接続することができる、例示の非限定的なマルチメディアコンソールデバイスを示す、ブロック図である。
【発明を実施するための形態】
【０００８】
（概説）
ゲームコンソールは、デフォルトの設定でクローズドであり、遠隔の宛先からの無署名のコードの転送は許可しない。そこで、セキュアなネットワーク層が本明細書に開示され、これにより、クローズドコンソールとリモートコンピューターデバイス（例えば、ＰＣ）との間の通信が可能となる。そのような通信は、その実装に応じて、オープンコンピューターデバイスとクローズドコンピューターデバイスとの間、または、クローズドデバイス間の通信とすることができる。加えて、セキュアなネットワーク層は、例えば、デバッグ、パフォーマンス監視、およびプロファイリング等の追加のサービスも許可するように構築される。
【０００９】
トランスポート層のセキュリティは重要であるため、本明細書で開示される主題事項の一一般的態様において、以下のセキュリティ機能が提供される。すなわち、ＰＣとゲームコンソールとの間のセキュアな接続を索出し確立すること、ＰＣのユーザーとゲームコンソールとの間のセキュアな接続を認証すること、および、ＰＣとゲームコンソールとの間を通るデータを保証することである。これらのセキュリティ機能を整えた上で、無署名のコードおよびデータの移送を、小売のゲームコンソール等のクローズドコンピューターデバイスとＰＣ等のオープンコンピューターデバイスとの間で管理することが可能である。
【００１０】
具体的にはセキュリティの目的で、この種のクローズドデバイスは、暗号的にランダムなデータを生成する能力を有することが可能である。この種のクローズドデバイスは、ＧＵＩＤ（Globally Unique identifier：グローバル一意識別子）等のデバイス特有の秘密事項が、システム自体の内部に埋め込まれており、システムメモリへのアクセスの一部としてデータを暗号化／復号化する能力を有することが可能である。暗号的にランダムなデータを生成する能力は、システム内の他の場所で使用されるセキュアな暗号化キーの作成には必須条件であるかもしれない。デバイス特有の秘密事項を使用し、その秘密事項を使用してデータ署名を作成することによって、または一意のシードを使用して暗号化することによって、システム内のデータを保護することが可能である。
【００１１】
ユーザーは、無署名のゲームを自分のＰＣでコーディングし、次にこの情報をゲームコンソールに転送することが可能であり、そのゲームを行うことが可能となる。本態様は、ＰＣとゲームコンソールとの間（実装に依存して、片方向または双方向）で情報を流すための転送手段を提供する。そのような情報の流れにより、ゲームがＰＣからゲームコンソールへ転送されて、ＰＣとゲームコンソールとの間の情報が同期化され、またはＰＣからゲームコンソールへ情報が生でストリーム配信される。
【００１２】
（クローズドシステム内の無署名のコンテンツの態様）
本開示に対する文脈を提供するために、この章では、クローズドシステム内の無署名のコンテンツを、セキュアな方法で（すなわち、クローズドシステム内の資源が保護されるように）実行することに焦点を合わせる。これらの態様に対するより良い理解を得るため、これらの態様を従来技術と比較することは有益である。
【００１３】
そこで、図１に、署名済みのソフトウェアコンポーネントのみ、すなわち署名済みのゲームのみが、一般的にクローズドシステム上で稼動することが可能である、従来技術のシステムを例示する。具体的には、クローズドシステム１８０は、ゲームＡ  １８５およびゲームＢ  １９０等の種々の署名済みのゲームが実行可能である（１９５）システムに対して示されている。これらのゲーム１８５、１９０は、一般的にはクローズドシステム１８０の製造者により認可される。しかし、幾つかの態様において、これらのゲームはゲーム開発者または他の何らかの第三機関により認可されることが可能である。いずれにしても、システム１８０は、全てのソフトウェアプログラムまたはアプリケーションが稼動可能なわけではないという意味において「クローズド」であると見なされ、その他の点では汎用パーソナルコンピューター（ＰＣ）と同様とすることができる。
【００１４】
一般的な署名処理は当技術分野では周知であり、上述したように、知的財産権の侵害を制限する、および誰が適切なコンテンツへのアクセスを有するかを制御する等、の様々な目的に対応する。しかし、そのようなクローズドシステム１８０の多数の利点にもかかわらず、この署名処理は、時には、他の「無署名の」ゲーム（ゲームの関係機関に公式に認可されない、または認定されないゲーム）の開発を不必要に制限する。そのような無署名のゲームは、既存のゲームの上に構築されるゲームかもしれないし（そのような署名済みのゲームの発行者から許可を得る場合は、「署名済み」ゲームでさえ）、または新規に開発されるもので、そうしなければクローズドシステム上で稼動できないゲームかもしれない。
【００１５】
従って、図１とは対照的に、図２に、署名済みのゲームおよび無署名のゲームの両方がクローズドシステム上で稼動することが可能であるシステムを例示する。図１のクローズドシステム１８０と比べて異なるクローズドシステム２００は、署名済みのゲームＡ  ２０５およびＢ  ２１０のみならず、無署名のゲームＣ  ２１５およびＤ  ２２０も、稼動させることが可能である。しかし、図示されるクローズドシステム１８０および２００は単なる例であり、コンピューターデバイスの任意の特定の製造業者または生産に限定されないことに留意すべきである（図１および図２で、そのようなシステムの抽象的な四角形を、具体的な表現の代わりに示すことができる）。従って、例示のシステム１８０および２００は、単に例であり、これに限定されない。
【００１６】
上述したように、無署名のゲームコンテンツＣ  ２１５およびＤ  ２２０を、無署名のコンテンツを一般的には稼動させないシステム２００上で稼動させることは、そのようなシステム２００のゲームの能力を拡大させることになる。しかし、無署名のゲームコンテンツ２１５、２２０の稼動を許可することは、また、セキュリティ問題を提起する。ゲームＣ  ２１５およびＤ  ２２０が無署名であるため、すなわち、これらのゲームの趣旨が確認されないため、悪意のあるまたは好ましくないコードおよびデータが、最終的にゲームシステム２２０上で稼動することになる可能性がある。従って、セキュリティ層が存在し、この問題に対処することが可能となる。また、さらにこのセキュリティ層は、そもそも無署名のゲームが稼動するのを可能にするだけでなく、さらに、好ましくないコードおよびデータがゲームシステム２００の資源と対話することを防ぐという利点を有することも可能である。
【００１７】
次に、図３に、署名済みのゲームが認定され、無署名のゲームが認定されないことを例示する。具体的には、ゲームＡ  ３０５およびＢ  ３１０が何らかの認証機関または検証当局により署名され、これらのゲームは、当該機関により設計される特定のクローズドシステム上で稼動可能になる（３３５）。このような署名済みのゲームＡ  ３０５およびＢ  ３１０は、認定されたゲーム３２５と言える。対照的に、認定されていないゲーム３３０は、何らかのそのような機関により署名されないゲーム、すなわちゲームＡ  ３１５およびＢ３２０であり、従って一般的にはクローズドシステム３００上で稼動することができない。本開示の上記および以下の態様のいくつかの実装により、このようなゲーム３１５、３２０は、クローズドシステム３００上で（元々の署名済みのゲームＡ  ３０５およびＢ３１０に加えて）稼動可能になる。
【００１８】
最後に、図４に示すように、無署名のコンテンツを何らかのコンピューターシステム、デバイス、またはソースからクローズドシステム、デバイス、または目的物に提供することが可能な、無数の方法がある。本態様において考えられる種類のコンテンツは、クローズドコンピューターシステム４０８（詳細には図６から図８を参照して論じられる）に関連する通信機構を介して１回のみ提供されるコンテンツ４０２、システム４０６へ通信機構を介してストリーム配信されるコンテンツ４０４、または、システム４０８へ通信機構を介して周期的および動的に提供されるコンテンツ４０８を含むことが可能である。
【００１９】
アーキテクチャを提供する種々の種類のコンテンツが、本明細書において考えられる。ある種類では、コンピューティングソース４０２、４０４、４０６およびクローズドシステム４０８の間に介在するサーバー４１０を有することができ、一方、他の種類では、コンピューティングソースとクローズドシステム４０８（例えば、図６に示される）との間の直接接続を有することができる。情報が受け取られ、格納され、およびシステム４０８へ伝えられる方法は、通信機構に関連するトランスポート層または通信層にシステム４０８の製造者により設置される制限に依存する可能性がある。従って、トランスポート層は、以下の説明および対応する図５から図８において詳細に論じられる、多チャネルの移送機構等の任意の所定の通信機構のための、種々の通信ポリシーを決定することが可能である。
【００２０】
（クローズドシステムとコンピューターデバイスとの間の転送機構の態様）
コンピューターデバイスからクローズドコンピューターデバイスへコンテンツを確立し転送する、種々のステップがあり得る。本開示の例示の非限定的な態様において、図５にブロック図の形式で、一般的な接続をこのようなデバイス間（または、より大きな規模で実装される場合はシステム間）でどのように確立することが可能であるかを例示する。ブロック５００において、ワンタイムパスワード（ＯＴＰ）初期化処理および転送処理が実施される。当業者には容易に理解されるように、ＯＴＰが生成される前に、ユーザーは、何らかの手段によりデバイスに認証されることが可能である。前述のクローズドデバイス秘密事項を対称暗号の基準として使用して、暗号化されたメモリ領域を作成することが可能である。クローズドデバイスの暗号的にランダムなデータのジェネレータを使用して、対称キーをその保護されたメモリ領域内に生成することが可能である。ＯＴＰを符号化しユーザーに提示し、接続してデータを転送することを許可されたオープンデバイスに手動でエントリさせることが可能である。
【００２１】
データを対称暗号化しデータを署名する基準としてクローズドデバイス秘密事項を使用して、ＯＴＰをクローズドデバイス内に保存することも可能である。従って、クローズドデバイス内に格納されるＯＴＰの回収または不正使用を防ぎ、クローズドデバイス秘密事項が最初に漏洩することがない。この暗号化しおよび署名したＯＴＰの記憶装置は、「キー保管部（key vault）」と呼ばれる。オープンデバイスでは、ＯＴＰは、任意のユーザー固有の記憶領域に格納することが可能である。
【００２２】
次に、ブロック５０５において、ワンタイム・ネゴシエーション要求を行うことが可能である。ＯＴＰをオープンコンピューターデバイス（例えば、ＰＣ）に手動で転送することが可能であるとすると、オープンコンピューターデバイスは、次に、既知のポートでローカルネットワークにブロードキャストするハンドシェーク要求を作成することが可能となる。このハンドシェーク要求を、ＯＴＰにより対称的に暗号化することが可能であり、ＯＴＰを生成したクローズドデバイスのみで読み取り可能とすることができる。
【００２３】
クローズドデバイスは、次に、ネットワークからの要求を受け取るために、リスニング状態におかれることが可能である。ユーザーがクローズドデバイスにリスニングを要求すると、ＯＴＰがあるかどうかキー保管部を検査することが可能であり、存在する場合、クローズドデバイスはＯＴＰにより暗号化されたメッセージを待つ。そのような要求を受け取ると、クローズドデバイスは非対称キーの対（「認証キー」）を生成し、その秘密キーをキー保管部に保存し、ＯＴＰを廃棄することが可能である。
【００２４】
この処理に続いて、次に、ブロック５１０においてワンタイム・ネゴシエーション応答を行うことが可能である。クローズドデバイスは、ＯＴＰにより暗号化された公開認証キーで、ローカルネットワーク上にブロードキャストすることにより応答できる。この応答は、ＯＴＰを生成したオープンコンピューターデバイスが読むことが可能であり、公開認証キーを、将来のセッションのために保存することが可能である。
【００２５】
次に、ブロック５１５において、認証要求を行うことが可能である。オープンデバイスに一意の認証キーを割り当てた上で、セッションキー（全て公開認証キーにより暗号化されている）を含有する接続要求を既知のポートへローカルネットワーク上で発行することが可能である。クローズドデバイスがユーザーの要求でリスニング状態に入ると、キー保管部を検査し、ＯＴＰではなく認証キーが見付かれば、クローズドデバイスは認証要求のみリスニングする。認証キーを生成したクローズドコンピューターデバイスのみが、そのクローズドデバイスへの認証要求を正確に解読することが可能である。
【００２６】
このステップに続き、ブロック５２０において、認証応答を行う。認証要求を（ブロック５１５において）を受け取ると、クローズドデバイスは、その要求内に存在するセッションキーにより暗号化されたＴＣＰ／ＩＰ接続情報を含有する確認応答ブロードキャストを送信することができる。オープンコンピューターデバイスがこの確認応答を受け取ると、クローズドデバイスに接続可能であることを確認する。
【００２７】
認証要求（ブロック５１５）および認証応答（ブロック５２０）が処理されると、ブロック５２５において、接続要求を行うことが可能である。セッションキーを両側に確立した上で、オープンコンピューターシステムは、認証応答の一部として提供される、ＩＰポートへのＴＣＰ要求を開始することが可能である。クローズドシステムとの接続を確立すると、オープンシステムは、セッションキーで暗号化されたノンスを送信して接続を有効にすることが可能である。
【００２８】
ブロック５３０において、接続要求（ブロック５２５）に続いて、接続検証を行う。クローズドコンピューターデバイスへの接続の着信時、クローズドコンピューターデバイスは、最初のデータグラムが届くのをリスニングする。受け取り時、およびノンスの検証時、確認応答が起動中のシステムに送信され、再度セッションキーにより暗号化される。最後に、ブロック５３５において、転送要求を行う。オープンデバイスをクローズドデバイスに対して認証し、セッションキーを転送した上で、全てのさらなるトラフィックをストリームに符号化して、暗号化された形式で転送する。コンソールは、特定の符号化された要求を受信すると、コンテナファイルを初期化し、転送されたデータをストレージファイルにストリーミングする。次に、そのファイルは、クローズドデバイス秘密事項を使用して署名され、データの完全性を確実にする。
【００２９】
（クローズドシステムとコンピューターデバイスとの間の転送機構の態様）
本明細書で開示される主題事項の別の態様において、図６は、クローズドコンピューターシステムとオープンコンピューターシステムとの間の通信チャネルが、通信用の多数のチャネルを有することが可能であることを例示する。例えば、ゲームコンソール等のクローズドコンピューターシステム６００は、どのチャネルからストリーム配信するかまたはどのチャネルからコードおよび／またはデータを受信するかを選択するチャネルブローカー６３５を有することが可能である（代替実施形態においては、チャネルブローカー６３５は、オープンコンピューターシステム６０５または本明細書には描かれないサーバー等の他の何らかのサードパーティシステム上に存在することが可能である）。
【００３０】
オープンコンピューターシステム６０５、例えばＰＣ、から送信されたコードおよび／またはデータは、コマンドストリーム６１５、ある種のサービスストリームＡ  ６２０、もしくは他のサービスストリームＢ  ６２５、またはさらに他の種類のストリーム６３０を含むことが可能である。ストリームの数は論理的には任意の数に限定されないが、どちらかというと、幾つのストリームまたは関連チャネルを任意の所定のシステムが多重送信することを意図しているか、必要とするか、または望むかに依存する。複数の異なるまたは関連するストリームを使用して、２つの例示のシステム６００、６０５の間を通信することができる。例えば、コマンドストリーム６１５を使用して、コマンド（例えば、コード）をオープンシステム６０５からクローズドシステム６００へ送信することが可能である。サービスストリームＡ  ６２０等の他のストリームを使用して、データをオープンシステムからクローズドシステム６００へ送信することが可能である。
【００３１】
従って、本明細書で開示される主題事項の本態様において、オープンコンピューターシステム６０５からクローズドコンピューターシステム６００へ送信される任意の情報（コードおよび／またはデータを含むことができる）を、確立される通信機構６４０内の種々のチャネルを通して配信することができる。通信機構６４０の確立を、上記で図５を参照して論じられる電気通信機構、または他の何らかの種類の同等のもしくは代替の機構により識別することができる。当業者は、使用可能な他の多数の通信機構があることを容易に理解するであろう。
【００３２】
例えば、図４の検討において、開発者がオープンコンピューターシステム６０５を使用して無署名のゲームをコーディングして、クローズドコンピューターシステム６００上で稼動させる場合、通信機構６４０を介してクローズドシステム６００へ、１つのトランザクションで、または幾つかの関連するもしくは関連しないトランザクション（例えば、同期更新）の一部として、情報を提供することが可能であり、または、開発者がコーディングするのと同時に、情報をストリーム配信することが可能である。通信機構６４０は、これらの通信レジームおよび他の通信アーキテクチャのそれぞれを受け入れることが可能である。
【００３３】
次に、図７に、あるデータセットのサブセットをクローズドコンピューターデバイスに最初に送り、当該サブセットに関連するより大きなデータセットをクローズドコンソール資源により処理することが可能であるかどうかを判定することを例示する。具体的には、図６に示すオープンコンピューターシステム６０５は、種々のデータを格納することが可能である。本明細書で開示される主題事項の一態様において、これは、より小さなデータのサブセット７０５も有する大きなデータセット７００（約数メガバイト、ギガバイト、テラバイト等）とすることが可能である。このサブセットの大きさは、実装に依存するもので、数バイト、キロバイト、メガバイト等とすることが可能である。本明細書における一般概念は、サブセット７０５がより大きなデータセット７００のある一部または因子であることである。一実施形態において、このサブセット７０５は、より大きなデータセット７００を代表するものとすることが可能であり、他の実施形態においては、サブセット７０５は、より大きなデータセット７００の一部とすることが可能である。
【００３４】
従って、本開示のこの態様において、サブセット７０５がある時間ｔ＝ｘに送信される。この時、サブセット７０５が、オープンシステム６０５（ここで開発者が無署名のコンテンツを作成している可能性がある）からクローズドシステム６００へ送信される。クローズドシステム６００が、このデータのサブセット７０５をシステム６００で稼動するように修正可能であると見なす場合、このサブセット７０５が、クローズドシステム６００が探している種類のサブセットであるからか、またはクローズドシステム６００がおそらくこのサブセット７０５を扱うための資源を有するからか、にかかわらず、次に、より大きなデータセット７００を送信することも可能である。ＧＰＵ処理能力、クローズドコンソール資源のメモリサイズ、等が含まれる種々のヒューリスティックを使用して、この判定を行うことが可能である。
【００３５】
このように、より大きなデータセット７００を、図７に示すように、異なる時間、または後の時間、ｔ＝ｘ＋λに送信することが可能である。さらに、このより大きなデータセット７００を、上記で論じたサブセット７０５に関する判定に従い送信することが可能である。例えば、クローズドシステム６００は、サブセット７０５に基づき、より大きなデータセット７００の残りを受信するか否かを判定することが可能である。例えば、サブセット７０５が、データセット７００の残りを代表するある複雑なグラフィックスデータ（テクスチャ・マッピング、ピクセルシェーディング等）である場合、クローズドシステム６００は、サブセット７０５の検査に基づき、十分な資源（例えば、ＧＰＵ処理、メモリ等）を現在持っていないと判定すれば、データセット７００の残りを受信することを拒否することができる。反対に、サブセット７０５が、ある単純なデータでありデータセット７００の情報を代表するものである場合、クローズドシステム６００はデータセット７００を受け入れることができる。
【００３６】
図７は、また、サブセット７０５およびデータセット７００が、異なる時間に送信されるだけでなく、通信機構６４０の異なるチャネルで送信されることを示す。例えば、サブセット７０５をチャネルＡ  ７１０で送信し、一方、データセットをチャネルＢ  ７１５で送信することが可能である。代替として、データセット７００をオープンシステム６０５からクローズドシステム６００へ配信することが可能な、大きさ、コンテンツの種類、またはスピードに基づくか否かに関わらず、データセット７００を通信機構６４０の数チャネルに渡って広げることが可能である。そしてさらに、オープンシステム６０５とクローズドシステム６００との間で送信される任意の情報は、当該情報をオープンシステム６０５からクローズドシステム６００へ送信することができ（上述した多くのシナリオを含む）、および、クローズドシステム６００からオープンシステム６０５へ送信することができる（例えば、更新、通知、または他の情報）点において、双方向とすることが可能である。
【００３７】
ここまで論じた主題事項の概要として、図８に、ブロック図の形式で、上述した種々の態様を図４から図７を参照して例示する。ブロック８００において、図４を参照して詳細に論じたように、通信チャネルの通信レジームの種類（例えば、１回、同期、生のストリーム配信）に関して判定を行う。この判定がなされると、図５を参照して詳細に論じたように、ブロック８０５において、クローズドシステムとオープンシステムとの間に、通信接続を確立することが可能である。次に、ブロック８１０において、実際のチャネルを選択することができ、２つのシステム間の通信に使用される。上述したように、通信は任意のクローズドシステムと任意の他のシステムとの間で生じることが可能である（オープンかクローズドであるかにかかわらない。標準のクローズドシステムおよびオープンシステムのシナリオに関するシナリオは、単に例示であり、これに限定されない）ということに留意されたい。使用可能な種々のチャネルを図６に示す。最後に、ブロック８１５において、コンテンツの種類を選択し、オープンシステムからクローズドシステムへ送信する。本開示の一態様において、コンテンツは無署名のゲームコンテンツとすることができるが、他のプログラムおよび／またはアプリケーションも、署名済みか無署名かにかかわらず、クローズドシステムとその対応するシステム（すなわち、通信機構の他方の側のシステム）との間で通信することが可能である。
【００３８】
（例示のコンピューターデバイス）
このように、本明細書で開示される主題事項は、無署名のコンテンツを他のクローズドシステム上で稼動させることが望ましい任意のデバイス、および、そのようなクローズドシステムと関連して上記で説明した通信機構を使用することが望ましい任意のデバイスに適用される。一方、上記で示したように、無署名のコンテンツと同等の他のコンテンツが、本明細書で開示される全ての種類のコンピューターオブジェクトと連携することが可能であることを理解すべきである。従って、以下で図９において説明する、以下の汎用リモートコンピューターは、ほんの一例であり、本通信機構は、任意のクライアントまたは携帯用デバイス（スタンドアロンであろうと、ネットワーク／バス相互運用および相互作用を有するものであろうと）とインターフェース接続することができる。従って、本主題事項を、非常に少数のまたは最小限のクライアント資源が関連付けされる、ネットワーク化されたホスト型サービスの環境で実装することができる。当該環境としては、例えば、クライアントデバイスが、単に、電化製品に設置されるオブジェクト等のネットワーク／バスへのインターフェースとして働く、ネットワーク環境がある。
【００３９】
必須ではないが、本主題事項は、デバイスまたはオブジェクトのサービスの開発者が使用するために、オペレーティングシステムを使用して管理されること、および／または、本主題事項に関連して作動するアプリケーションソフトウェア内に含まれることが可能である。ソフトウェアを、クライアントワークステーション、サーバー、または他のデバイス等の１つまたは複数のコンピューターにより実行される、プログラムモジュール等、コンピューター実行可能な命令の一般的なコンテクストに即して説明することができる。当業者は、理解するであろうが、本主題事項を、他のコンピューターシステム構成およびプロトコルで実践することができる。
【００４０】
従って、図９は、図２から図８を参照して説明される種々の態様を実装できる、適切なコンピューターシステム環境１００ａの例を例示し、上記で明らかにされたが、コンピューターシステム環境１００ａは、実行デバイスのための適切なコンピューター環境の単なる一例であり、これらの種々の態様の使用または機能性の範囲についていかなる制限を示唆することも意図していない。コンピューター環境１００ａは、例示の動作環境１００ａに例示されるコンポーネントの１つまたはその組合せのいずれかに関する、任意の従属関係も要求も有するように解釈されるべきではない。
【００４１】
図９を参照すると、前述の態様とインターフェース接続する例示のリモートデバイスは、コンピューター１１０ａの形式の汎用コンピューターデバイスを含む。コンピューター１１０ａのコンポーネントには、処理装置１２０ａ、システムメモリ１３０ａ、および、システムメモリを含む種々のシステムコンポーネントを処理装置１２０ａに接続するシステムバス１２１ａが含まれるが、これに限定されない。システムバス１２１ａは、メモリバスまたはメモリコントローラー、周辺機器用バス、および種々のバスアーキテクチャのいずれかを使用するローカルバスを含む、幾つかの種類のバス構造のいずれかとすることができる。
【００４２】
コンピューター１１０ａは、一般的に様々なコンピューター読み取り可能な媒体を備える。コンピューター読み取り可能な媒体は、コンピューター１１０ａがアクセス可能な任意の入手可能な媒体とすることができる。例として、コンピューター読み取り可能な媒体には、コンピューター記憶媒体および通信媒体が含まれるが、これに限定されない。コンピューター記憶媒体には、コンピューター読み取り可能な命令、データ構造体、プログラムモジュール、または他のデータ等の情報を格納する任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体が含まれる。コンピューター記憶媒体には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤＲＯＭ、ＤＶＤもしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用でき、かつコンピューター１１０ａがアクセス可能な任意の他の媒体が含まれるが、これに限定されない。通信媒体は、典型的には、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の転送機構等の変調データ信号として具現化したものであり、また、任意の情報送達媒体が含まれる。上記で論じた通信機構を、種々のそのような媒体内に格納することが可能である。
【００４３】
システムメモリ１３０ａには、ＲＯＭおよび／またはＲＡＭ等の揮発性および／または不揮発性メモリの形式のコンピューター記憶媒体が含まれる。起動時等にコンピューター１１０ａ内の構成要素間の情報の転送を助ける基本ルーチンを含むＢＩＯＳ（Basic Input/Output System）を、メモリ１３０ａに格納することができる。メモリ１３０ａには、一般的に、処理装置１２０ａがすぐにアクセス可能な、および／または、現在作動させているデータおよび／またはプログラムモジュールが含まれる。例として、メモリ１３０ａには、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、およびプログラムデータが含まれるが、これに限定されない。
【００４４】
コンピューター１１０ａは、また、他の取り外し可能／取り外し不可能な、揮発性／不揮発性コンピューター記憶媒体を備えることができる。例えば、コンピューター１１０ａは、取り外し不可能な、不揮発性磁気媒体に読み書きするハードディスクドライブ、取り外し可能な、不揮発性磁気ディスクに読み書きする磁気ディスクドライブ、および／または、ＣＤ−ＲＯＭまたは他の光媒体等の取り外し可能な、不揮発性光ディスクに読み書きする光ディスクドライブを備えることができる。例示の動作環境で使用可能な、他の取り外し可能／取り外し不可能な、揮発性／不揮発性コンピューター記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ等が含まれるが、これに限定されない。ハードディスクドライブは、一般的に、インターフェース等の取り外し不可能なメモリインターフェースを介してシステムバス１２１ａに接続され、磁気ディスクドライブまたは光ディスクドライブは、一般的に、インターフェース等の取り外し可能なメモリインターフェースによりシステムバス１２１ａに接続される。
【００４５】
ユーザーは、コントローラーを介してクローズドコンピューターデバイスに入力を行うことが可能であるのに加えて、キーボードおよび一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス等の入力装置を介して、コンピューター１１０ａに、コマンドおよび情報を入力することができる。そのような周辺機器に加えて、他の入力装置には、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれる。これらのおよび他の入力装置は、多くの場合、ユーザー入力１４０ａおよびシステムバス１２１ａに接続される関連インターフェースを介して、処理装置１２０ａに接続されるが、他のインターフェースおよびパラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）等のバス構造により接続することもできる。グラフィックスサブシステムも、システムバス１２１ａに接続することができる。モニタまたは他の種類のディスプレイ装置も、出力インターフェース１５０ａ等のインターフェースを介してシステムバス１２１ａに接続され、当該出力インターフェース１５０ａ等のインターフェースはビデオメモリと順次に通信することができる。モニタに加えて、コンピューターは、スピーカーおよびプリンタ等の他の周辺出力装置をさらに備えることができ、それらを、出力インターフェース１５０ａを介して接続することができる。これら全てのデバイスは、上記で論じた転送機構を介してクローズドデバイスへ提供される、無署名のコンテンツの実行をエクスペリエンスするユーザーの助けとなることが可能である。
【００４６】
コンピューター１１０ａは、ネットワーク化された環境または分散環境で、リモートコンピューター１７０ａ等の１つまたは複数の他のリモートコンピューターへの論理接続を使用して動作することができ、リモートコンピューター１７０ａ等のリモートコンピューターは、デバイス１１０ａとは異なる媒体能力を順次有することができる。リモートコンピューター１７０ａは、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピアデバイスもしくは他の共通ネットワークノード、または任意の他のリモートメディア消費もしくは伝送デバイスとすることができ、コンピューター１１０ａに関して上記で説明した任意または全ての要素を備えることができる。図９に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）等のネットワーク１７１ａを含むが、他のネットワーク／バスも含むことができる。そのようなネットワーク環境は、家庭、事務所、企業規模のコンピューターネットワーク、イントラネット、およびインターネットでは一般的なものである。
【００４７】
ＬＡＮネットワーク環境で使用される場合、コンピューター１１０ａはネットワークインターフェースまたはアダプタを介してＬＡＮ  １７１ａに接続される。ＷＡＮネットワーク環境で使用される場合、コンピューター１１０ａは、一般的には、インターネット等のＷＡＮを介した通信を確立するための、モデムまたは他の手段を備える。モデムは、内蔵型でも外付けでもよく、入力１４０ａのユーザー入力インターフェースまたは他の適切な機構を介して、システムバス１２１ａに接続され得る。ネットワーク環境において、コンピューター１１０ａに関連して、またはその一部として示されるプログラムモジュールを、リモートメモリ記憶装置に格納することができる。図示し、および説明したネットワーク接続は例であり、コンピューター間で通信リンクを確立する他の手段を使用できることは理解されよう。従って、任意のこれらのおよび他の通信手段は、図５から図８の通信機構を使用して、クローズドコンピューターシステムと他のコンピューターシステムとの間で通信リンクを確立する基盤とすることができる。
【００４８】
（例示のマルチメディア（クローズド）コンソール環境）
次に、図１０を参照すると、別の例示の非限定的コンピューターデバイス、すなわち、例示のマルチメディアコンソールを示すブロック図が示されている。マルチメディアコンソールは、何らかの署名機関（クローズドデバイスの製造者でもまたは何らかのゲームの発行者でも良い）により署名されている、限定された数のソフトウェアコンポーネントに対してクローズドとすることができる。図１０に、本明細書で開示される主題事項の態様を実装できる、マルチメディアコンソール１００の機能的コンポーネントを示す。言い換えれば、図４から図８の通信機構を、このコンソール側で実装することが可能である（ただし、当業者は、オープンなＰＣ側で実装することも可能であることは理解するであろう）。
【００４９】
マルチメディアコンソール１００は、レベル１（Ｌｌ）キャッシュ１０２、レベル２（Ｌ２）キャッシュ１０４、およびフラッシュＲＯＭ  １０６を有する、中央処理装置（ＣＰＵ）１０１を有する。レベル１キャッシュ１０２およびレベル２キャッシュ１０４は、一時的にデータを格納することによってメモリアクセスの周期の回数を減らし、それにより処理速度およびスループットを向上させる。フラッシュＲＯＭ  １０６は、マルチメディアコンソール１００の電源投入時、ブート処理の初期段階でロードされる実行可能なコードを格納することができる。代替として、初期ブート段階でロードされる実行可能なコードを、フラッシュメモリデバイス（図示せず）に格納することができる。さらに、ＲＯＭ  １０６を、ＣＰＵ  １０１とは別に設置することができる。任意のこれらの資源は、クローズドコンピューターデバイスと他のコンピューターデバイス間のコンテンツの移送において助けとなることが可能である。
【００５０】
このコンソールは、高速で高解像度なグラフィックス処理のためのビデオ処理パイプラインからのグラフィックス処理装置（ＧＰＵ）１０８およびビデオエンコーダー／ビデオコーデック（コーダー／デコーダー）１１４等の、コンソールが使用可能な様々な他の資源を有することができる。この構成において、データは、グラフィックス処理装置１０８からバスを介してビデオエンコーダー／ビデオコーデック１１４へ送られる。ビデオ処理パイプラインは、テレビまたは他のディスプレイへの伝送のためのＡ／Ｖ（オーディオ／ビデオ）ポート１４０へデータを出力する。メモリコントローラー１１０は、ＧＰＵ  １０８およびＣＰＵ  １０１に接続され、ＲＡＭ等の、しかしこれに限定されない種々の種類のメモリ１１２へのプロセッサーのアクセスを容易にする。
【００５１】
マルチメディアコンソール１００は、Ｉ／Ｏコントローラー１２０、システム管理コントローラー１２２、オーディオ処理装置１２３、ネットワークインターフェース・コントローラー１２４、第１のＵＳＢホストコントローラー１２６、第２のＵＳＢコントローラー１２８、およびフロントパネルＩ／Ｏサブアセンブリ１３０を含み、それらは、モジュール１１８上に実装されていることが好ましい。ＵＳＢコントローラー１２６および１２８は、周辺コントローラー１４２（１）〜１４２（２）、無線アダプタ１４８、および外部メモリ装置１４６（例えば、フラッシュメモリ、外付けのＣＤ／ＤＶＤ  ＲＯＭドライブ、取り外し可能媒体、等）に対するホストとして働く。ネットワークインターフェース１２４および／または無線アダプタ１４８は、ネットワーク（例えば、インターネット、ホームネットワーク等）へのアクセスを提供し、イーサネット（登録商標）カード、モデム、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、ケーブルモデム等を含む多種多様の、様々な有線または無線のインターフェースコンポーネントのうちの任意のものとすることができる。
【００５２】
システムメモリ１４３が設けられて、ブート処理中にロードされるアプリケーションデータを格納する。媒体ドライブ１４４が設けられるが、これには、ＤＶＤ／ＣＤドライブ、ハードドライブ、または他の取り外し可能媒体ドライブ等が含まれる。媒体ドライブ１４４は、マルチメディアコンソール１００に内蔵または外付けでも良い。アプリケーションデータには、媒体ドライブ１４４を介して実行、再生等のために、マルチメディアコンソール１００によりアクセスすることができる。媒体ドライブ１４４は、シリアルＡＴＡバスまたは他の高速接続（例えば、ＩＥＥＥ１３９４）等のバスを介して、Ｉ／Ｏコントローラー１２０に接続される。
【００５３】
システム管理コントローラー１２２は、マルチメディアコンソール１００の可用性の保証に関する様々なサービス機能を提供する。オーディオ処理装置１２３およびオーディオコーデック１３２は、高忠実度およびステレオ処理を有する対応するオーディオ処理パイプラインを形成する。オーディオデータは、通信リンクを介して、オーディオ処理装置１２３とオーディオコーデック１３２との間で送られる。オーディオ処理パイプラインは、オーディオ能力を有する外部オーディオ再生機または装置による再生のために、Ａ／Ｖポート１４０にデータを出力する。
【００５４】
フロントパネルＩ／Ｏサブアセンブリ１３０は、電源ボタン１５０およびイジェクトボタン１５２の機能、ならびにマルチメディアコンソール１００の外面に露出した任意のＬＥＤ（Light Emitting Diode）または他のインジケータの機能をサポートする。システム電力供給モジュール１３６は、マルチメディアコンソール１００のコンポーネントに電力を提供する。ファン１３８は、マルチメディアコンソール１００内の回路を冷却する。
【００５５】
ＣＰＵ  １０１、ＧＰＵ  １０８、メモリコントローラー１１０、およびマルチメディアコンソール１００内の種々の他のコンポーネントは、シリアルおよびパラレルバス、メモリバス、周辺機器用バス、および任意の様々なバスアーキテクチャを使用するプロセッサーまたはローカルバスを含む、１つまたは複数のバスを介して相互接続される。
【００５６】
マルチメディアコンソール１００が電源投入されるとき、または再起動されるときに、アプリケーションデータは、システムメモリ１４３からメモリ１１２および／またはキャッシュ１０２、１０４内にロードされ、ＣＰＵ  １０１上で実行することができる。アプリケーションは、マルチメディアコンソール１００上で使用可能な異なる種類の媒体に移動する場合に、一貫したユーザーエクスペリエンスを提供するグラフィカルユーザーインターフェースを提示することができる。動作時には、媒体ドライブ１４４内に含まれるアプリケーションおよび／または他の媒体が、媒体ドライブ１４４から起動または再生されて、マルチメディアコンソール１００に追加の機能を提供することができる。
【００５７】
マルチメディアコンソール１００は、単にシステムをテレビまたは他のディスプレイに接続することによって、また、前述の通信機構を使用することによって、スタンドアロンのシステムとして動作することができる。このスタンドアロンモードでは、マルチメディアコンソール１００は、１人または複数のユーザーがシステムと対話し、映画を鑑賞し、音楽を聴くこと等を可能にする。しかし、ネットワークインターフェース１２４または無線アダプタ１４８を介して使用可能になるブロードバンド接続の統合により、マルチメディアコンソール１００は、さらに、より大きなネットワークコミュニティに加わって動作することができる。
【００５８】
図１０に示すマルチメディアコンソールは、例えば、ゲーム等のマルチメディアアプリケーションを実行するのに使用できる、一般的なマルチメディアコンソールである。マルチメディアアプリケーションを、例えば、システム設定、音声チャット、ネットワークゲーム、ネットワークを介して他のユーザーと対話する能力、電子メール、ブラウザアプリケーション等を含む、システム特徴で強化することができる。そのようなシステム特徴により、例えば、異なる場所におけるプレーヤーが、インターネットを介して共通のゲームを行うことができる等、マルチメディアコンソール１００の機能を向上させることができる。従って、通信機構は、無署名のゲームコンテンツだけでなく、これらのシステム特徴（音声チャット、電子メール等）をも提供することが可能である。
【００５９】
また、時間と共にシステムの特徴は、前記通信機構を介してマルチメディアアプリケーションに更新または追加することができる。マルチメディア開発者がそれらのシステム特徴を提供するようにマルチメディアアプリケーションに重要な変更を加えることを必要とせず、本明細書で説明されるシステムおよび方法により、マルチメディア開発者は、マルチメディアアプリケーションと連携して機能する別個のシステムアプリケーションを介してシステム特徴を提供できるようになる。例えば、システムアプリケーションは、ネットワーク能力に関連する機能を実現し、それによって、マルチメディアアプリケーションは、マルチメディア（例えば、ゲーム）開発者がほとんど作業することなく、容易に適合されて、ネットワーク能力を提供できるようになる。１つのそのような能力が、複数のネットワークユーザに対するシステムレベル通知の能力である。システムレベル通知が、システム上で実行されているゲーム等の、個々のマルチメディアアプリケーションによって扱われるのではなく、システムアプリケーションの一部となるようにすることにより、ゲーム招待等の通知を表示する処理が、マルチメディアアプリケーション開発者の開発プロセスから取り除かれ、開発者がマルチメディアアプリケーション自体に集中できるようになる。
【００６０】
上述のように、本主題事項の例示の実施形態が種々のコンピューターデバイスおよびネットワーアーキテクチャとの関連において説明されてきたが、基本的な概念を、任意のコンピューターデバイス、システム、または、入力装置を利用してデバイスまたはシステムを制御する（ローカル、またはリモート、にかかわらない）ことができる通信機構に適用することができる。例えば、論じた態様のアルゴリズムおよびハードウェア実装を、コンピューターデバイスのオペレーティングシステムに適用することができ、デバイス上の別個のオブジェクトとして、別のオブジェクトの一部として、再利用可能なコントロールとして、サーバーからダウンロード可能なオブジェクトとして、デバイスまたはオブジェクトとネットワークとの間の「中間者」として、分散されたオブジェクトとして、ハードウェアとして、前述のいずれかの組合せ等として、メモリに提供される。例示のプログラム言語、名前および例は、種々の選択の代表として本明細書で選択されたものであり、これらの言語、名前、および例に限定されることを意図していない。
【００６１】
本明細書で説明した様々な技術をハードウェアもしくはソフトウェア、または必要に応じてその両方の組み合わせと関連させて実施できることは理解されるべきである。従って、本主題事項の方法および装置、または特定の態様もしくはその一部は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、または任意の他の機械読み取り可能な記憶媒体等の、有形媒体で具現化したプログラムコード（例えば、命令）の形態を取ることができる。プログラムコードをコンピューターなどのマシンにロードして実行すると、そのマシンは本発明を実践する装置となる。プログラム可能なコンピューター上でプログラムコードを実行する場合、コンピューターデバイスは、一般に、プロセッサー、プロセッサーにより読み取り可能な記憶媒体（揮発性および不揮発性メモリ、および／または記憶素子を含む）、少なくとも１つの入力装置、および少なくとも１つの出力装置を備える。これらの態様に従って提供される任意のソフトウェアを実装または利用できる、１つまたは複数のプログラムを、好ましくは、高レベルの手続き型またはオブジェクト指向のプログラミング言語で実装して、コンピューターシステムと通信する。ただし、必要に応じてプログラムをアセンブリまたは機械語で実施することができる。いずれにせよ、言語はコンパイル言語またはインタープリタ型言語に変換される言語であってもよく、ハードウェア装置と組み合わされてもよい。
【００６２】
本明細書で開示される態様の方法および装置は、電気配線またはケーブルを介して、光ファイバーを介して、または他の任意の伝送形式を介して等、何らかの伝送媒体を介して送信されるプログラムコードの形式で組み込むこともでき、プログラムコードは、ＥＰＲＯＭ、ゲートアレイ、プログラム可能論理デバイス（ＰＬＤ）、クライアントコンピューター等のマシンにより受信され、ロードされ、実行されると、そのマシンは本明細書で開示される主題事項を実施する装置になる。汎用プロセッサー上で実装されるとき、プログラムコードは、プロセッサーと結合して、本主題事項の機能を実行するように動作する一意の装置を提供する。加えて、本態様と関連して使用される任意の記憶技術は、常にハードウェアおよびソフトウェアの組み合わせとすることができる。
【００６３】
上記に記載された態様は、種々の図面の好適実施形態とともに説明してきたが、本発明から逸脱することなく本発明の同じ機能を実行するために、他の同様の実施形態を使用し、または、変更および追加を記載した実施形態に加えることができることを理解されたい。例えば、当業者は認識するであろうが、本願に記載されるような方法が、ゲームコンソール、ハンドヘルドコンピューター、携帯用コンピューター等、有線または無線にかかわらず、任意のコンピューターデバイスまたは環境に適用され、また、通信ネットワークを介して接続され、上述の通信機構を介してネットワーク上で対話する、任意の数のコンピューターデバイスに適用され得る。
【００６４】
さらに、強調されるべきこととして、ハンドヘルドデバイス・オペレーティングシステムおよび他のアプリケーション固有のオペレーティングシステムを含む、様々なコンピュータープラットフォームが、本明細書において、通信機構とインターフェース接続するものとして考えられているが、これは特に、無線ネットワークデバイスの数が急増し続けているためである。またさらに、本主題事項の機能性を、複数の処理チップまたはデバイス内にまたはそれらにわたって実装することができ、また記憶を、同様に複数のデバイスにわたって達成することができる。従って、本明細書で開示される態様は、任意の単一の実施形態に限定されるべきではなく、むしろ、添付の請求項に従って広さおよび範囲について解釈されるべきである。
【００６５】
（概要）
要約すると、種々の方法、システム、およびコンピューター読み取り可能な媒体は、上記で論じた種々の態様を具現化することが可能である。図８等の他の図面に関して上述したように、無署名のソフトウェアコンテンツコンポーネント（例えば、ユーザーまたは開発者が製作したゲーム）を、接続機構を介して、コンピューターデバイス（または、代替として、名目上の場合、ＤＶＤまたは他の何らかの光、磁気、または同等のデバイスを介して）からクローズドコンピューターデバイスに提供することが可能である。さらに、このような提供を、動的に通信を介してコンピューターデバイス（ＰＣ、サーバー、または他のゲームコンソールにかかわらず）から達成することが可能であり、または、代替として、無署名のコンテンツをそのようなコンピューターデバイスからストリーミング配信することによって達成することが可能である。本概要は、もちろん、単なる例であり、これに限定されない。本明細書に記載されないが上記で論じた他の態様、例えば、一意の識別子および公開／秘密キー暗号化を使用して暗号化された通信を確実にするセキュリティ対策も本概要においては明確には言及していないが、本明細書において意図されることは明らかである。
【図１】
0005380298.tif 000002
【図２】
0005380298.tif 000003
【図３】
0005380298.tif 000004
【図４】
0005380298.tif 000005
【図５】
0005380298.tif 000006
【図６】
0005380298.tif 000007
【図７】
0005380298.tif 000008
【図８】
0005380298.tif 000009
【図９】
0005380298.tif 000010
【図１０】
0005380298.tif 000011