JP5380298B2 - クローズドシステムへのコンテンツの転送 - Google Patents

クローズドシステムへのコンテンツの転送 Download PDF

Info

Publication number
JP5380298B2
JP5380298B2 JP2009540372A JP2009540372A JP5380298B2 JP 5380298 B2 JP5380298 B2 JP 5380298B2 JP 2009540372 A JP2009540372 A JP 2009540372A JP 2009540372 A JP2009540372 A JP 2009540372A JP 5380298 B2 JP5380298 B2 JP 5380298B2
Authority
JP
Japan
Prior art keywords
closed
computer
computer device
information
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009540372A
Other languages
English (en)
Other versions
JP2010512180A (ja
Inventor
ドネル イエーツ ジュニア ロニー
アンドリュー メイヤー リチャード
ジョシュア ノニス アーロン
ジェイ.スティアチャック ステファン
ジャック ニコラス エリー ジュリアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010512180A publication Critical patent/JP2010512180A/ja
Application granted granted Critical
Publication of JP5380298B2 publication Critical patent/JP5380298B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/532Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Description

本技術は、コンピューティングの分野に関し、さらに具体的にはゲーム環境に関する。
ゲームシステムは、今日のコンピューター環境において広く普及している。ゲームコンソールは、一般的にクローズドシステムであり、ハードウェアのベンダーが管理する署名済みのゲームのみがそのコンソール上で実行可能である。この制限は様々な理由によってなされる可能性がある。その理由としては、発行者のために厳重に管理される環境を有して知的財産権の侵害を最小限に抑えたビジネスモデル、または、例えば、子供に対する親の期待に見合うコンテンツの再生のみを可能にするゲームシステム上で、再生することが可能なゲームの種類を管理するビジネスモデル、を保護するかどうか等である。加えて、コンテンツを署名済みのコードに制限することにより、コミュニティ・スコアまたはデジタル通貨等の特定の条件が正確であることが不可欠である、オンラインのコミュニティ上のゲームにおいて、不正が行われる可能性を制御または軽減する助けとなることが可能である。
しかし、ゲームコンソールに対するこれらの厳重な制限は、より大きな創造的なコミュニティ全体による、クローズドゲームコンソール上でのゲームまたはゲーム的なアプリケーションの開発を妨げる。従って、開発者、ゲーム愛好者、一般的な愛好家、および学生のゲーム開発コミュニティが、とりわけ、自分が所有するコンピューターデバイス上の従来クローズドシステム用のゲームを書くことを可能にする必要性、および、任意のゲームコンテンツを何らかの移送機構または通信機構を介してクローズドデバイスに送信する能力を提供する必要性に対処することが重要である。
本明細書において、クローズドコンピューターシステムと他のコンピューターシステムとの間の通信を可能にする機構を提供する。例えば、ゲームコンソールは、無署名のコンテンツをPCからゲームコンソールに送信するときに、本機構を使用してPCと通信することが可能である。本開示の一態様によると、通信機構は多数のチャネルを有し、無署名のコンテンツに関連するコードおよび/またはデータを含むことができる情報をPCからゲームコンソールに送信することが可能である。そのような情報を、通信機構上の数チャネルで配信することができる。
一例示的および非限定的な態様において、通信機構は、最初に情報のセットのサブセットをコンピューターシステムからクローズドコンピューターシステムへ送信することが可能である。次に、クローズドシステム資源に応じて、残りの情報のセットをクローズドシステムに送信することが可能である。種々のヒューリスティック(heuristic)を使用して、GPU資源、メモリ資源等を含むがこれに限定されない、送信した情報のサブセットに続いて、情報のセットを送信するかどうかの判定を行うことが可能である。
本概要は、以下の発明の詳細な説明でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものであることに注意されたい。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲を決定に際して、補助として使用することを目的とするものでもない。
前述の概要は、以下の詳細な説明と同様、添付の図面と併せて読むことでより良く理解されよう。本明細書で開示される主題事項を例示するために、本開示の種々の態様が示される。しかし、本開示は、論じられる具体的な態様に限定されない。
署名済みのソフトウェアコンポーネントのみ、すなわち署名済みのゲームのみが、一般的にクローズドシステム上で稼動することが可能である、従来技術のシステムを例示する図である。 署名済みのゲームおよび無署名のゲームの両方がクローズドシステム上で稼動することが可能である、システムを例示する図である。 署名済みのゲームが認定され、無署名のゲームが認定されないことを例示する図である。 無署名のコンテンツを何らかのコンピューティングソースからクローズドシステムへ提供することが可能な、無数の方法があることを例示する図である。 クローズドシステムとコンピューティングソースとの間で通信を確立するための、一例示的および非限定的な方法を例示する図である。 クローズドデバイスが(例えば、オープンな)コンピューターデバイスと通信している時に、通信チャネルが数個のストリームを含むことができることを例示する図である。 あるデータセットのサブセットをクローズドコンピューターデバイスに最初に送り、当該サブセットに関連するより大きなデータセットを、クローズドコンソール資源により処理することが可能であるかどうかを判定することを例示する図である。 図4から図7を参照して論じられる態様を実装する方法のためのブロック図フローチャートである。 署名済みまたは無署名のコンテンツが、何らかのリモートコンピューターシステムからクローズドコンピューターシステムへ移送された後、本明細書で開示される主題事項に従って実行することが可能である、例示の非限定的なコンピューターシステム環境を表すブロック図である。 本明細書で論じられる移送機構または通信機構とインターフェース接続することができる、例示の非限定的なマルチメディアコンソールデバイスを示す、ブロック図である。
概説
ゲームコンソールは、デフォルトの設定でクローズドであり、遠隔の宛先からの無署名のコードの転送は許可しない。そこで、セキュアなネットワーク層が本明細書に開示され、これにより、クローズドコンソールとリモートコンピューターデバイス(例えば、PC)との間の通信が可能となる。そのような通信は、その実装に応じて、オープンコンピューターデバイスとクローズドコンピューターデバイスとの間、または、クローズドデバイス間の通信とすることができる。加えて、セキュアなネットワーク層は、例えば、デバッグ、パフォーマンス監視、およびプロファイリング等の追加のサービスも許可するように構築される。
トランスポート層のセキュリティは重要であるため、本明細書で開示される主題事項の一一般的態様において、以下のセキュリティ機能が提供される。すなわち、PCとゲームコンソールとの間のセキュアな接続を索出し確立すること、PCのユーザーとゲームコンソールとの間のセキュアな接続を認証すること、および、PCとゲームコンソールとの間を通るデータを保証することである。これらのセキュリティ機能を整えた上で、無署名のコードおよびデータの移送を、小売のゲームコンソール等のクローズドコンピューターデバイスとPC等のオープンコンピューターデバイスとの間で管理することが可能である。
具体的にはセキュリティの目的で、この種のクローズドデバイスは、暗号的にランダムなデータを生成する能力を有することが可能である。この種のクローズドデバイスは、GUID(Globally Unique identifier:グローバル一意識別子)等のデバイス特有の秘密事項が、システム自体の内部に埋め込まれており、システムメモリへのアクセスの一部としてデータを暗号化/復号化する能力を有することが可能である。暗号的にランダムなデータを生成する能力は、システム内の他の場所で使用されるセキュアな暗号化キーの作成には必須条件であるかもしれない。デバイス特有の秘密事項を使用し、その秘密事項を使用してデータ署名を作成することによって、または一意のシードを使用して暗号化することによって、システム内のデータを保護することが可能である。
ユーザーは、無署名のゲームを自分のPCでコーディングし、次にこの情報をゲームコンソールに転送することが可能であり、そのゲームを行うことが可能となる。本態様は、PCとゲームコンソールとの間(実装に依存して、片方向または双方向)で情報を流すための転送手段を提供する。そのような情報の流れにより、ゲームがPCからゲームコンソールへ転送されて、PCとゲームコンソールとの間の情報が同期化され、またはPCからゲームコンソールへ情報が生でストリーム配信される。
クローズドシステム内の無署名のコンテンツの態様
本開示に対する文脈を提供するために、この章では、クローズドシステム内の無署名のコンテンツを、セキュアな方法で(すなわち、クローズドシステム内の資源が保護されるように)実行することに焦点を合わせる。これらの態様に対するより良い理解を得るため、これらの態様を従来技術と比較することは有益である。
そこで、図1に、署名済みのソフトウェアコンポーネントのみ、すなわち署名済みのゲームのみが、一般的にクローズドシステム上で稼動することが可能である、従来技術のシステムを例示する。具体的には、クローズドシステム180は、ゲームA 185およびゲームB 190等の種々の署名済みのゲームが実行可能である(195)システムに対して示されている。これらのゲーム185、190は、一般的にはクローズドシステム180の製造者により認可される。しかし、幾つかの態様において、これらのゲームはゲーム開発者または他の何らかの第三機関により認可されることが可能である。いずれにしても、システム180は、全てのソフトウェアプログラムまたはアプリケーションが稼動可能なわけではないという意味において「クローズド」であると見なされ、その他の点では汎用パーソナルコンピューター(PC)と同様とすることができる。
一般的な署名処理は当技術分野では周知であり、上述したように、知的財産権の侵害を制限する、および誰が適切なコンテンツへのアクセスを有するかを制御する等、の様々な目的に対応する。しかし、そのようなクローズドシステム180の多数の利点にもかかわらず、この署名処理は、時には、他の「無署名の」ゲーム(ゲームの関係機関に公式に認可されない、または認定されないゲーム)の開発を不必要に制限する。そのような無署名のゲームは、既存のゲームの上に構築されるゲームかもしれないし(そのような署名済みのゲームの発行者から許可を得る場合は、「署名済み」ゲームでさえ)、または新規に開発されるもので、そうしなければクローズドシステム上で稼動できないゲームかもしれない。
従って、図1とは対照的に、図2に、署名済みのゲームおよび無署名のゲームの両方がクローズドシステム上で稼動することが可能であるシステムを例示する。図1のクローズドシステム180と比べて異なるクローズドシステム200は、署名済みのゲームA 205およびB 210のみならず、無署名のゲームC 215およびD 220も、稼動させることが可能である。しかし、図示されるクローズドシステム180および200は単なる例であり、コンピューターデバイスの任意の特定の製造業者または生産に限定されないことに留意すべきである(図1および図2で、そのようなシステムの抽象的な四角形を、具体的な表現の代わりに示すことができる)。従って、例示のシステム180および200は、単に例であり、これに限定されない。
上述したように、無署名のゲームコンテンツC 215およびD 220を、無署名のコンテンツを一般的には稼動させないシステム200上で稼動させることは、そのようなシステム200のゲームの能力を拡大させることになる。しかし、無署名のゲームコンテンツ215、220の稼動を許可することは、また、セキュリティ問題を提起する。ゲームC 215およびD 220が無署名であるため、すなわち、これらのゲームの趣旨が確認されないため、悪意のあるまたは好ましくないコードおよびデータが、最終的にゲームシステム220上で稼動することになる可能性がある。従って、セキュリティ層が存在し、この問題に対処することが可能となる。また、さらにこのセキュリティ層は、そもそも無署名のゲームが稼動するのを可能にするだけでなく、さらに、好ましくないコードおよびデータがゲームシステム200の資源と対話することを防ぐという利点を有することも可能である。
次に、図3に、署名済みのゲームが認定され、無署名のゲームが認定されないことを例示する。具体的には、ゲームA 305およびB 310が何らかの認証機関または検証当局により署名され、これらのゲームは、当該機関により設計される特定のクローズドシステム上で稼動可能になる(335)。このような署名済みのゲームA 305およびB 310は、認定されたゲーム325と言える。対照的に、認定されていないゲーム330は、何らかのそのような機関により署名されないゲーム、すなわちゲームA 315およびB320であり、従って一般的にはクローズドシステム300上で稼動することができない。本開示の上記および以下の態様のいくつかの実装により、このようなゲーム315、320は、クローズドシステム300上で(元々の署名済みのゲームA 305およびB310に加えて)稼動可能になる。
最後に、図4に示すように、無署名のコンテンツを何らかのコンピューターシステム、デバイス、またはソースからクローズドシステム、デバイス、または目的物に提供することが可能な、無数の方法がある。本態様において考えられる種類のコンテンツは、クローズドコンピューターシステム408(詳細には図6から図8を参照して論じられる)に関連する通信機構を介して1回のみ提供されるコンテンツ402、システム406へ通信機構を介してストリーム配信されるコンテンツ404、または、システム408へ通信機構を介して周期的および動的に提供されるコンテンツ408を含むことが可能である。
アーキテクチャを提供する種々の種類のコンテンツが、本明細書において考えられる。ある種類では、コンピューティングソース402、404、406およびクローズドシステム408の間に介在するサーバー410を有することができ、一方、他の種類では、コンピューティングソースとクローズドシステム408(例えば、図6に示される)との間の直接接続を有することができる。情報が受け取られ、格納され、およびシステム408へ伝えられる方法は、通信機構に関連するトランスポート層または通信層にシステム408の製造者により設置される制限に依存する可能性がある。従って、トランスポート層は、以下の説明および対応する図5から図8において詳細に論じられる、多チャネルの移送機構等の任意の所定の通信機構のための、種々の通信ポリシーを決定することが可能である。
クローズドシステムとコンピューターデバイスとの間の転送機構の態様
コンピューターデバイスからクローズドコンピューターデバイスへコンテンツを確立し転送する、種々のステップがあり得る。本開示の例示の非限定的な態様において、図5にブロック図の形式で、一般的な接続をこのようなデバイス間(または、より大きな規模で実装される場合はシステム間)でどのように確立することが可能であるかを例示する。ブロック500において、ワンタイムパスワード(OTP)初期化処理および転送処理が実施される。当業者には容易に理解されるように、OTPが生成される前に、ユーザーは、何らかの手段によりデバイスに認証されることが可能である。前述のクローズドデバイス秘密事項を対称暗号の基準として使用して、暗号化されたメモリ領域を作成することが可能である。クローズドデバイスの暗号的にランダムなデータのジェネレータを使用して、対称キーをその保護されたメモリ領域内に生成することが可能である。OTPを符号化しユーザーに提示し、接続してデータを転送することを許可されたオープンデバイスに手動でエントリさせることが可能である。
データを対称暗号化しデータを署名する基準としてクローズドデバイス秘密事項を使用して、OTPをクローズドデバイス内に保存することも可能である。従って、クローズドデバイス内に格納されるOTPの回収または不正使用を防ぎ、クローズドデバイス秘密事項が最初に漏洩することがない。この暗号化しおよび署名したOTPの記憶装置は、「キー保管部(key vault)」と呼ばれる。オープンデバイスでは、OTPは、任意のユーザー固有の記憶領域に格納することが可能である。
次に、ブロック505において、ワンタイム・ネゴシエーション要求を行うことが可能である。OTPをオープンコンピューターデバイス(例えば、PC)に手動で転送することが可能であるとすると、オープンコンピューターデバイスは、次に、既知のポートでローカルネットワークにブロードキャストするハンドシェーク要求を作成することが可能となる。このハンドシェーク要求を、OTPにより対称的に暗号化することが可能であり、OTPを生成したクローズドデバイスのみで読み取り可能とすることができる。
クローズドデバイスは、次に、ネットワークからの要求を受け取るために、リスニング状態におかれることが可能である。ユーザーがクローズドデバイスにリスニングを要求すると、OTPがあるかどうかキー保管部を検査することが可能であり、存在する場合、クローズドデバイスはOTPにより暗号化されたメッセージを待つ。そのような要求を受け取ると、クローズドデバイスは非対称キーの対(「認証キー」)を生成し、その秘密キーをキー保管部に保存し、OTPを廃棄することが可能である。
この処理に続いて、次に、ブロック510においてワンタイム・ネゴシエーション応答を行うことが可能である。クローズドデバイスは、OTPにより暗号化された公開認証キーで、ローカルネットワーク上にブロードキャストすることにより応答できる。この応答は、OTPを生成したオープンコンピューターデバイスが読むことが可能であり、公開認証キーを、将来のセッションのために保存することが可能である。
次に、ブロック515において、認証要求を行うことが可能である。オープンデバイスに一意の認証キーを割り当てた上で、セッションキー(全て公開認証キーにより暗号化されている)を含有する接続要求を既知のポートへローカルネットワーク上で発行することが可能である。クローズドデバイスがユーザーの要求でリスニング状態に入ると、キー保管部を検査し、OTPではなく認証キーが見付かれば、クローズドデバイスは認証要求のみリスニングする。認証キーを生成したクローズドコンピューターデバイスのみが、そのクローズドデバイスへの認証要求を正確に解読することが可能である。
このステップに続き、ブロック520において、認証応答を行う。認証要求を(ブロック515において)を受け取ると、クローズドデバイスは、その要求内に存在するセッションキーにより暗号化されたTCP/IP接続情報を含有する確認応答ブロードキャストを送信することができる。オープンコンピューターデバイスがこの確認応答を受け取ると、クローズドデバイスに接続可能であることを確認する。
認証要求(ブロック515)および認証応答(ブロック520)が処理されると、ブロック525において、接続要求を行うことが可能である。セッションキーを両側に確立した上で、オープンコンピューターシステムは、認証応答の一部として提供される、IPポートへのTCP要求を開始することが可能である。クローズドシステムとの接続を確立すると、オープンシステムは、セッションキーで暗号化されたノンスを送信して接続を有効にすることが可能である。
ブロック530において、接続要求(ブロック525)に続いて、接続検証を行う。クローズドコンピューターデバイスへの接続の着信時、クローズドコンピューターデバイスは、最初のデータグラムが届くのをリスニングする。受け取り時、およびノンスの検証時、確認応答が起動中のシステムに送信され、再度セッションキーにより暗号化される。最後に、ブロック535において、転送要求を行う。オープンデバイスをクローズドデバイスに対して認証し、セッションキーを転送した上で、全てのさらなるトラフィックをストリームに符号化して、暗号化された形式で転送する。コンソールは、特定の符号化された要求を受信すると、コンテナファイルを初期化し、転送されたデータをストレージファイルにストリーミングする。次に、そのファイルは、クローズドデバイス秘密事項を使用して署名され、データの完全性を確実にする。
クローズドシステムとコンピューターデバイスとの間の転送機構の態様
本明細書で開示される主題事項の別の態様において、図6は、クローズドコンピューターシステムとオープンコンピューターシステムとの間の通信チャネルが、通信用の多数のチャネルを有することが可能であることを例示する。例えば、ゲームコンソール等のクローズドコンピューターシステム600は、どのチャネルからストリーム配信するかまたはどのチャネルからコードおよび/またはデータを受信するかを選択するチャネルブローカー635を有することが可能である(代替実施形態においては、チャネルブローカー635は、オープンコンピューターシステム605または本明細書には描かれないサーバー等の他の何らかのサードパーティシステム上に存在することが可能である)。
オープンコンピューターシステム605、例えばPC、から送信されたコードおよび/またはデータは、コマンドストリーム615、ある種のサービスストリームA 620、もしくは他のサービスストリームB 625、またはさらに他の種類のストリーム630を含むことが可能である。ストリームの数は論理的には任意の数に限定されないが、どちらかというと、幾つのストリームまたは関連チャネルを任意の所定のシステムが多重送信することを意図しているか、必要とするか、または望むかに依存する。複数の異なるまたは関連するストリームを使用して、2つの例示のシステム600、605の間を通信することができる。例えば、コマンドストリーム615を使用して、コマンド(例えば、コード)をオープンシステム605からクローズドシステム600へ送信することが可能である。サービスストリームA 620等の他のストリームを使用して、データをオープンシステムからクローズドシステム600へ送信することが可能である。
従って、本明細書で開示される主題事項の本態様において、オープンコンピューターシステム605からクローズドコンピューターシステム600へ送信される任意の情報(コードおよび/またはデータを含むことができる)を、確立される通信機構640内の種々のチャネルを通して配信することができる。通信機構640の確立を、上記で図5を参照して論じられる電気通信機構、または他の何らかの種類の同等のもしくは代替の機構により識別することができる。当業者は、使用可能な他の多数の通信機構があることを容易に理解するであろう。
例えば、図4の検討において、開発者がオープンコンピューターシステム605を使用して無署名のゲームをコーディングして、クローズドコンピューターシステム600上で稼動させる場合、通信機構640を介してクローズドシステム600へ、1つのトランザクションで、または幾つかの関連するもしくは関連しないトランザクション(例えば、同期更新)の一部として、情報を提供することが可能であり、または、開発者がコーディングするのと同時に、情報をストリーム配信することが可能である。通信機構640は、これらの通信レジームおよび他の通信アーキテクチャのそれぞれを受け入れることが可能である。
次に、図7に、あるデータセットのサブセットをクローズドコンピューターデバイスに最初に送り、当該サブセットに関連するより大きなデータセットをクローズドコンソール資源により処理することが可能であるかどうかを判定することを例示する。具体的には、図6に示すオープンコンピューターシステム605は、種々のデータを格納することが可能である。本明細書で開示される主題事項の一態様において、これは、より小さなデータのサブセット705も有する大きなデータセット700(約数メガバイト、ギガバイト、テラバイト等)とすることが可能である。このサブセットの大きさは、実装に依存するもので、数バイト、キロバイト、メガバイト等とすることが可能である。本明細書における一般概念は、サブセット705がより大きなデータセット700のある一部または因子であることである。一実施形態において、このサブセット705は、より大きなデータセット700を代表するものとすることが可能であり、他の実施形態においては、サブセット705は、より大きなデータセット700の一部とすることが可能である。
従って、本開示のこの態様において、サブセット705がある時間t=xに送信される。この時、サブセット705が、オープンシステム605(ここで開発者が無署名のコンテンツを作成している可能性がある)からクローズドシステム600へ送信される。クローズドシステム600が、このデータのサブセット705をシステム600で稼動するように修正可能であると見なす場合、このサブセット705が、クローズドシステム600が探している種類のサブセットであるからか、またはクローズドシステム600がおそらくこのサブセット705を扱うための資源を有するからか、にかかわらず、次に、より大きなデータセット700を送信することも可能である。GPU処理能力、クローズドコンソール資源のメモリサイズ、等が含まれる種々のヒューリスティックを使用して、この判定を行うことが可能である。
このように、より大きなデータセット700を、図7に示すように、異なる時間、または後の時間、t=x+λに送信することが可能である。さらに、このより大きなデータセット700を、上記で論じたサブセット705に関する判定に従い送信することが可能である。例えば、クローズドシステム600は、サブセット705に基づき、より大きなデータセット700の残りを受信するか否かを判定することが可能である。例えば、サブセット705が、データセット700の残りを代表するある複雑なグラフィックスデータ(テクスチャ・マッピング、ピクセルシェーディング等)である場合、クローズドシステム600は、サブセット705の検査に基づき、十分な資源(例えば、GPU処理、メモリ等)を現在持っていないと判定すれば、データセット700の残りを受信することを拒否することができる。反対に、サブセット705が、ある単純なデータでありデータセット700の情報を代表するものである場合、クローズドシステム600はデータセット700を受け入れることができる。
図7は、また、サブセット705およびデータセット700が、異なる時間に送信されるだけでなく、通信機構640の異なるチャネルで送信されることを示す。例えば、サブセット705をチャネルA 710で送信し、一方、データセットをチャネルB 715で送信することが可能である。代替として、データセット700をオープンシステム605からクローズドシステム600へ配信することが可能な、大きさ、コンテンツの種類、またはスピードに基づくか否かに関わらず、データセット700を通信機構640の数チャネルに渡って広げることが可能である。そしてさらに、オープンシステム605とクローズドシステム600との間で送信される任意の情報は、当該情報をオープンシステム605からクローズドシステム600へ送信することができ(上述した多くのシナリオを含む)、および、クローズドシステム600からオープンシステム605へ送信することができる(例えば、更新、通知、または他の情報)点において、双方向とすることが可能である。
ここまで論じた主題事項の概要として、図8に、ブロック図の形式で、上述した種々の態様を図4から図7を参照して例示する。ブロック800において、図4を参照して詳細に論じたように、通信チャネルの通信レジームの種類(例えば、1回、同期、生のストリーム配信)に関して判定を行う。この判定がなされると、図5を参照して詳細に論じたように、ブロック805において、クローズドシステムとオープンシステムとの間に、通信接続を確立することが可能である。次に、ブロック810において、実際のチャネルを選択することができ、2つのシステム間の通信に使用される。上述したように、通信は任意のクローズドシステムと任意の他のシステムとの間で生じることが可能である(オープンかクローズドであるかにかかわらない。標準のクローズドシステムおよびオープンシステムのシナリオに関するシナリオは、単に例示であり、これに限定されない)ということに留意されたい。使用可能な種々のチャネルを図6に示す。最後に、ブロック815において、コンテンツの種類を選択し、オープンシステムからクローズドシステムへ送信する。本開示の一態様において、コンテンツは無署名のゲームコンテンツとすることができるが、他のプログラムおよび/またはアプリケーションも、署名済みか無署名かにかかわらず、クローズドシステムとその対応するシステム(すなわち、通信機構の他方の側のシステム)との間で通信することが可能である。
例示のコンピューターデバイス
このように、本明細書で開示される主題事項は、無署名のコンテンツを他のクローズドシステム上で稼動させることが望ましい任意のデバイス、および、そのようなクローズドシステムと関連して上記で説明した通信機構を使用することが望ましい任意のデバイスに適用される。一方、上記で示したように、無署名のコンテンツと同等の他のコンテンツが、本明細書で開示される全ての種類のコンピューターオブジェクトと連携することが可能であることを理解すべきである。従って、以下で図9において説明する、以下の汎用リモートコンピューターは、ほんの一例であり、本通信機構は、任意のクライアントまたは携帯用デバイス(スタンドアロンであろうと、ネットワーク/バス相互運用および相互作用を有するものであろうと)とインターフェース接続することができる。従って、本主題事項を、非常に少数のまたは最小限のクライアント資源が関連付けされる、ネットワーク化されたホスト型サービスの環境で実装することができる。当該環境としては、例えば、クライアントデバイスが、単に、電化製品に設置されるオブジェクト等のネットワーク/バスへのインターフェースとして働く、ネットワーク環境がある。
必須ではないが、本主題事項は、デバイスまたはオブジェクトのサービスの開発者が使用するために、オペレーティングシステムを使用して管理されること、および/または、本主題事項に関連して作動するアプリケーションソフトウェア内に含まれることが可能である。ソフトウェアを、クライアントワークステーション、サーバー、または他のデバイス等の1つまたは複数のコンピューターにより実行される、プログラムモジュール等、コンピューター実行可能な命令の一般的なコンテクストに即して説明することができる。当業者は、理解するであろうが、本主題事項を、他のコンピューターシステム構成およびプロトコルで実践することができる。
従って、図9は、図2から図8を参照して説明される種々の態様を実装できる、適切なコンピューターシステム環境100aの例を例示し、上記で明らかにされたが、コンピューターシステム環境100aは、実行デバイスのための適切なコンピューター環境の単なる一例であり、これらの種々の態様の使用または機能性の範囲についていかなる制限を示唆することも意図していない。コンピューター環境100aは、例示の動作環境100aに例示されるコンポーネントの1つまたはその組合せのいずれかに関する、任意の従属関係も要求も有するように解釈されるべきではない。
図9を参照すると、前述の態様とインターフェース接続する例示のリモートデバイスは、コンピューター110aの形式の汎用コンピューターデバイスを含む。コンピューター110aのコンポーネントには、処理装置120a、システムメモリ130a、および、システムメモリを含む種々のシステムコンポーネントを処理装置120aに接続するシステムバス121aが含まれるが、これに限定されない。システムバス121aは、メモリバスまたはメモリコントローラー、周辺機器用バス、および種々のバスアーキテクチャのいずれかを使用するローカルバスを含む、幾つかの種類のバス構造のいずれかとすることができる。
コンピューター110aは、一般的に様々なコンピューター読み取り可能な媒体を備える。コンピューター読み取り可能な媒体は、コンピューター110aがアクセス可能な任意の入手可能な媒体とすることができる。例として、コンピューター読み取り可能な媒体には、コンピューター記憶媒体および通信媒体が含まれるが、これに限定されない。コンピューター記憶媒体には、コンピューター読み取り可能な命令、データ構造体、プログラムモジュール、または他のデータ等の情報を格納する任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体が含まれる。コンピューター記憶媒体には、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM、フラッシュメモリもしくは他のメモリ技術、CDROM、DVDもしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望の情報を格納するために使用でき、かつコンピューター110aがアクセス可能な任意の他の媒体が含まれるが、これに限定されない。通信媒体は、典型的には、コンピューター読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の転送機構等の変調データ信号として具現化したものであり、また、任意の情報送達媒体が含まれる。上記で論じた通信機構を、種々のそのような媒体内に格納することが可能である。
システムメモリ130aには、ROMおよび/またはRAM等の揮発性および/または不揮発性メモリの形式のコンピューター記憶媒体が含まれる。起動時等にコンピューター110a内の構成要素間の情報の転送を助ける基本ルーチンを含むBIOS(Basic Input/Output System)を、メモリ130aに格納することができる。メモリ130aには、一般的に、処理装置120aがすぐにアクセス可能な、および/または、現在作動させているデータおよび/またはプログラムモジュールが含まれる。例として、メモリ130aには、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、およびプログラムデータが含まれるが、これに限定されない。
コンピューター110aは、また、他の取り外し可能/取り外し不可能な、揮発性/不揮発性コンピューター記憶媒体を備えることができる。例えば、コンピューター110aは、取り外し不可能な、不揮発性磁気媒体に読み書きするハードディスクドライブ、取り外し可能な、不揮発性磁気ディスクに読み書きする磁気ディスクドライブ、および/または、CD−ROMまたは他の光媒体等の取り外し可能な、不揮発性光ディスクに読み書きする光ディスクドライブを備えることができる。例示の動作環境で使用可能な、他の取り外し可能/取り外し不可能な、揮発性/不揮発性コンピューター記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等が含まれるが、これに限定されない。ハードディスクドライブは、一般的に、インターフェース等の取り外し不可能なメモリインターフェースを介してシステムバス121aに接続され、磁気ディスクドライブまたは光ディスクドライブは、一般的に、インターフェース等の取り外し可能なメモリインターフェースによりシステムバス121aに接続される。
ユーザーは、コントローラーを介してクローズドコンピューターデバイスに入力を行うことが可能であるのに加えて、キーボードおよび一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス等の入力装置を介して、コンピューター110aに、コマンドおよび情報を入力することができる。そのような周辺機器に加えて、他の入力装置には、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれる。これらのおよび他の入力装置は、多くの場合、ユーザー入力140aおよびシステムバス121aに接続される関連インターフェースを介して、処理装置120aに接続されるが、他のインターフェースおよびパラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)等のバス構造により接続することもできる。グラフィックスサブシステムも、システムバス121aに接続することができる。モニタまたは他の種類のディスプレイ装置も、出力インターフェース150a等のインターフェースを介してシステムバス121aに接続され、当該出力インターフェース150a等のインターフェースはビデオメモリと順次に通信することができる。モニタに加えて、コンピューターは、スピーカーおよびプリンタ等の他の周辺出力装置をさらに備えることができ、それらを、出力インターフェース150aを介して接続することができる。これら全てのデバイスは、上記で論じた転送機構を介してクローズドデバイスへ提供される、無署名のコンテンツの実行をエクスペリエンスするユーザーの助けとなることが可能である。
コンピューター110aは、ネットワーク化された環境または分散環境で、リモートコンピューター170a等の1つまたは複数の他のリモートコンピューターへの論理接続を使用して動作することができ、リモートコンピューター170a等のリモートコンピューターは、デバイス110aとは異なる媒体能力を順次有することができる。リモートコンピューター170aは、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピアデバイスもしくは他の共通ネットワークノード、または任意の他のリモートメディア消費もしくは伝送デバイスとすることができ、コンピューター110aに関して上記で説明した任意または全ての要素を備えることができる。図9に示す論理接続は、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)等のネットワーク171aを含むが、他のネットワーク/バスも含むことができる。そのようなネットワーク環境は、家庭、事務所、企業規模のコンピューターネットワーク、イントラネット、およびインターネットでは一般的なものである。
LANネットワーク環境で使用される場合、コンピューター110aはネットワークインターフェースまたはアダプタを介してLAN 171aに接続される。WANネットワーク環境で使用される場合、コンピューター110aは、一般的には、インターネット等のWANを介した通信を確立するための、モデムまたは他の手段を備える。モデムは、内蔵型でも外付けでもよく、入力140aのユーザー入力インターフェースまたは他の適切な機構を介して、システムバス121aに接続され得る。ネットワーク環境において、コンピューター110aに関連して、またはその一部として示されるプログラムモジュールを、リモートメモリ記憶装置に格納することができる。図示し、および説明したネットワーク接続は例であり、コンピューター間で通信リンクを確立する他の手段を使用できることは理解されよう。従って、任意のこれらのおよび他の通信手段は、図5から図8の通信機構を使用して、クローズドコンピューターシステムと他のコンピューターシステムとの間で通信リンクを確立する基盤とすることができる。
例示のマルチメディア(クローズド)コンソール環境
次に、図10を参照すると、別の例示の非限定的コンピューターデバイス、すなわち、例示のマルチメディアコンソールを示すブロック図が示されている。マルチメディアコンソールは、何らかの署名機関(クローズドデバイスの製造者でもまたは何らかのゲームの発行者でも良い)により署名されている、限定された数のソフトウェアコンポーネントに対してクローズドとすることができる。図10に、本明細書で開示される主題事項の態様を実装できる、マルチメディアコンソール100の機能的コンポーネントを示す。言い換えれば、図4から図8の通信機構を、このコンソール側で実装することが可能である(ただし、当業者は、オープンなPC側で実装することも可能であることは理解するであろう)。
マルチメディアコンソール100は、レベル1(Ll)キャッシュ102、レベル2(L2)キャッシュ104、およびフラッシュROM 106を有する、中央処理装置(CPU)101を有する。レベル1キャッシュ102およびレベル2キャッシュ104は、一時的にデータを格納することによってメモリアクセスの周期の回数を減らし、それにより処理速度およびスループットを向上させる。フラッシュROM 106は、マルチメディアコンソール100の電源投入時、ブート処理の初期段階でロードされる実行可能なコードを格納することができる。代替として、初期ブート段階でロードされる実行可能なコードを、フラッシュメモリデバイス(図示せず)に格納することができる。さらに、ROM 106を、CPU 101とは別に設置することができる。任意のこれらの資源は、クローズドコンピューターデバイスと他のコンピューターデバイス間のコンテンツの移送において助けとなることが可能である。
このコンソールは、高速で高解像度なグラフィックス処理のためのビデオ処理パイプラインからのグラフィックス処理装置(GPU)108およびビデオエンコーダー/ビデオコーデック(コーダー/デコーダー)114等の、コンソールが使用可能な様々な他の資源を有することができる。この構成において、データは、グラフィックス処理装置108からバスを介してビデオエンコーダー/ビデオコーデック114へ送られる。ビデオ処理パイプラインは、テレビまたは他のディスプレイへの伝送のためのA/V(オーディオ/ビデオ)ポート140へデータを出力する。メモリコントローラー110は、GPU 108およびCPU 101に接続され、RAM等の、しかしこれに限定されない種々の種類のメモリ112へのプロセッサーのアクセスを容易にする。
マルチメディアコンソール100は、I/Oコントローラー120、システム管理コントローラー122、オーディオ処理装置123、ネットワークインターフェース・コントローラー124、第1のUSBホストコントローラー126、第2のUSBコントローラー128、およびフロントパネルI/Oサブアセンブリ130を含み、それらは、モジュール118上に実装されていることが好ましい。USBコントローラー126および128は、周辺コントローラー142(1)〜142(2)、無線アダプタ148、および外部メモリ装置146(例えば、フラッシュメモリ、外付けのCD/DVD ROMドライブ、取り外し可能媒体、等)に対するホストとして働く。ネットワークインターフェース124および/または無線アダプタ148は、ネットワーク(例えば、インターネット、ホームネットワーク等)へのアクセスを提供し、イーサネット(登録商標)カード、モデム、Bluetooth(登録商標)モジュール、ケーブルモデム等を含む多種多様の、様々な有線または無線のインターフェースコンポーネントのうちの任意のものとすることができる。
システムメモリ143が設けられて、ブート処理中にロードされるアプリケーションデータを格納する。媒体ドライブ144が設けられるが、これには、DVD/CDドライブ、ハードドライブ、または他の取り外し可能媒体ドライブ等が含まれる。媒体ドライブ144は、マルチメディアコンソール100に内蔵または外付けでも良い。アプリケーションデータには、媒体ドライブ144を介して実行、再生等のために、マルチメディアコンソール100によりアクセスすることができる。媒体ドライブ144は、シリアルATAバスまたは他の高速接続(例えば、IEEE1394)等のバスを介して、I/Oコントローラー120に接続される。
システム管理コントローラー122は、マルチメディアコンソール100の可用性の保証に関する様々なサービス機能を提供する。オーディオ処理装置123およびオーディオコーデック132は、高忠実度およびステレオ処理を有する対応するオーディオ処理パイプラインを形成する。オーディオデータは、通信リンクを介して、オーディオ処理装置123とオーディオコーデック132との間で送られる。オーディオ処理パイプラインは、オーディオ能力を有する外部オーディオ再生機または装置による再生のために、A/Vポート140にデータを出力する。
フロントパネルI/Oサブアセンブリ130は、電源ボタン150およびイジェクトボタン152の機能、ならびにマルチメディアコンソール100の外面に露出した任意のLED(Light Emitting Diode)または他のインジケータの機能をサポートする。システム電力供給モジュール136は、マルチメディアコンソール100のコンポーネントに電力を提供する。ファン138は、マルチメディアコンソール100内の回路を冷却する。
CPU 101、GPU 108、メモリコントローラー110、およびマルチメディアコンソール100内の種々の他のコンポーネントは、シリアルおよびパラレルバス、メモリバス、周辺機器用バス、および任意の様々なバスアーキテクチャを使用するプロセッサーまたはローカルバスを含む、1つまたは複数のバスを介して相互接続される。
マルチメディアコンソール100が電源投入されるとき、または再起動されるときに、アプリケーションデータは、システムメモリ143からメモリ112および/またはキャッシュ102、104内にロードされ、CPU 101上で実行することができる。アプリケーションは、マルチメディアコンソール100上で使用可能な異なる種類の媒体に移動する場合に、一貫したユーザーエクスペリエンスを提供するグラフィカルユーザーインターフェースを提示することができる。動作時には、媒体ドライブ144内に含まれるアプリケーションおよび/または他の媒体が、媒体ドライブ144から起動または再生されて、マルチメディアコンソール100に追加の機能を提供することができる。
マルチメディアコンソール100は、単にシステムをテレビまたは他のディスプレイに接続することによって、また、前述の通信機構を使用することによって、スタンドアロンのシステムとして動作することができる。このスタンドアロンモードでは、マルチメディアコンソール100は、1人または複数のユーザーがシステムと対話し、映画を鑑賞し、音楽を聴くこと等を可能にする。しかし、ネットワークインターフェース124または無線アダプタ148を介して使用可能になるブロードバンド接続の統合により、マルチメディアコンソール100は、さらに、より大きなネットワークコミュニティに加わって動作することができる。
図10に示すマルチメディアコンソールは、例えば、ゲーム等のマルチメディアアプリケーションを実行するのに使用できる、一般的なマルチメディアコンソールである。マルチメディアアプリケーションを、例えば、システム設定、音声チャット、ネットワークゲーム、ネットワークを介して他のユーザーと対話する能力、電子メール、ブラウザアプリケーション等を含む、システム特徴で強化することができる。そのようなシステム特徴により、例えば、異なる場所におけるプレーヤーが、インターネットを介して共通のゲームを行うことができる等、マルチメディアコンソール100の機能を向上させることができる。従って、通信機構は、無署名のゲームコンテンツだけでなく、これらのシステム特徴(音声チャット、電子メール等)をも提供することが可能である。
また、時間と共にシステムの特徴は、前記通信機構を介してマルチメディアアプリケーションに更新または追加することができる。マルチメディア開発者がそれらのシステム特徴を提供するようにマルチメディアアプリケーションに重要な変更を加えることを必要とせず、本明細書で説明されるシステムおよび方法により、マルチメディア開発者は、マルチメディアアプリケーションと連携して機能する別個のシステムアプリケーションを介してシステム特徴を提供できるようになる。例えば、システムアプリケーションは、ネットワーク能力に関連する機能を実現し、それによって、マルチメディアアプリケーションは、マルチメディア(例えば、ゲーム)開発者がほとんど作業することなく、容易に適合されて、ネットワーク能力を提供できるようになる。1つのそのような能力が、複数のネットワークユーザに対するシステムレベル通知の能力である。システムレベル通知が、システム上で実行されているゲーム等の、個々のマルチメディアアプリケーションによって扱われるのではなく、システムアプリケーションの一部となるようにすることにより、ゲーム招待等の通知を表示する処理が、マルチメディアアプリケーション開発者の開発プロセスから取り除かれ、開発者がマルチメディアアプリケーション自体に集中できるようになる。
上述のように、本主題事項の例示の実施形態が種々のコンピューターデバイスおよびネットワーアーキテクチャとの関連において説明されてきたが、基本的な概念を、任意のコンピューターデバイス、システム、または、入力装置を利用してデバイスまたはシステムを制御する(ローカル、またはリモート、にかかわらない)ことができる通信機構に適用することができる。例えば、論じた態様のアルゴリズムおよびハードウェア実装を、コンピューターデバイスのオペレーティングシステムに適用することができ、デバイス上の別個のオブジェクトとして、別のオブジェクトの一部として、再利用可能なコントロールとして、サーバーからダウンロード可能なオブジェクトとして、デバイスまたはオブジェクトとネットワークとの間の「中間者」として、分散されたオブジェクトとして、ハードウェアとして、前述のいずれかの組合せ等として、メモリに提供される。例示のプログラム言語、名前および例は、種々の選択の代表として本明細書で選択されたものであり、これらの言語、名前、および例に限定されることを意図していない。
本明細書で説明した様々な技術をハードウェアもしくはソフトウェア、または必要に応じてその両方の組み合わせと関連させて実施できることは理解されるべきである。従って、本主題事項の方法および装置、または特定の態様もしくはその一部は、フロッピー(登録商標)ディスク、CD−ROM、ハードドライブ、または任意の他の機械読み取り可能な記憶媒体等の、有形媒体で具現化したプログラムコード(例えば、命令)の形態を取ることができる。プログラムコードをコンピューターなどのマシンにロードして実行すると、そのマシンは本発明を実践する装置となる。プログラム可能なコンピューター上でプログラムコードを実行する場合、コンピューターデバイスは、一般に、プロセッサー、プロセッサーにより読み取り可能な記憶媒体(揮発性および不揮発性メモリ、および/または記憶素子を含む)、少なくとも1つの入力装置、および少なくとも1つの出力装置を備える。これらの態様に従って提供される任意のソフトウェアを実装または利用できる、1つまたは複数のプログラムを、好ましくは、高レベルの手続き型またはオブジェクト指向のプログラミング言語で実装して、コンピューターシステムと通信する。ただし、必要に応じてプログラムをアセンブリまたは機械語で実施することができる。いずれにせよ、言語はコンパイル言語またはインタープリタ型言語に変換される言語であってもよく、ハードウェア装置と組み合わされてもよい。
本明細書で開示される態様の方法および装置は、電気配線またはケーブルを介して、光ファイバーを介して、または他の任意の伝送形式を介して等、何らかの伝送媒体を介して送信されるプログラムコードの形式で組み込むこともでき、プログラムコードは、EPROM、ゲートアレイ、プログラム可能論理デバイス(PLD)、クライアントコンピューター等のマシンにより受信され、ロードされ、実行されると、そのマシンは本明細書で開示される主題事項を実施する装置になる。汎用プロセッサー上で実装されるとき、プログラムコードは、プロセッサーと結合して、本主題事項の機能を実行するように動作する一意の装置を提供する。加えて、本態様と関連して使用される任意の記憶技術は、常にハードウェアおよびソフトウェアの組み合わせとすることができる。
上記に記載された態様は、種々の図面の好適実施形態とともに説明してきたが、本発明から逸脱することなく本発明の同じ機能を実行するために、他の同様の実施形態を使用し、または、変更および追加を記載した実施形態に加えることができることを理解されたい。例えば、当業者は認識するであろうが、本願に記載されるような方法が、ゲームコンソール、ハンドヘルドコンピューター、携帯用コンピューター等、有線または無線にかかわらず、任意のコンピューターデバイスまたは環境に適用され、また、通信ネットワークを介して接続され、上述の通信機構を介してネットワーク上で対話する、任意の数のコンピューターデバイスに適用され得る。
さらに、強調されるべきこととして、ハンドヘルドデバイス・オペレーティングシステムおよび他のアプリケーション固有のオペレーティングシステムを含む、様々なコンピュータープラットフォームが、本明細書において、通信機構とインターフェース接続するものとして考えられているが、これは特に、無線ネットワークデバイスの数が急増し続けているためである。またさらに、本主題事項の機能性を、複数の処理チップまたはデバイス内にまたはそれらにわたって実装することができ、また記憶を、同様に複数のデバイスにわたって達成することができる。従って、本明細書で開示される態様は、任意の単一の実施形態に限定されるべきではなく、むしろ、添付の請求項に従って広さおよび範囲について解釈されるべきである。
概要
要約すると、種々の方法、システム、およびコンピューター読み取り可能な媒体は、上記で論じた種々の態様を具現化することが可能である。図8等の他の図面に関して上述したように、無署名のソフトウェアコンテンツコンポーネント(例えば、ユーザーまたは開発者が製作したゲーム)を、接続機構を介して、コンピューターデバイス(または、代替として、名目上の場合、DVDまたは他の何らかの光、磁気、または同等のデバイスを介して)からクローズドコンピューターデバイスに提供することが可能である。さらに、このような提供を、動的に通信を介してコンピューターデバイス(PC、サーバー、または他のゲームコンソールにかかわらず)から達成することが可能であり、または、代替として、無署名のコンテンツをそのようなコンピューターデバイスからストリーミング配信することによって達成することが可能である。本概要は、もちろん、単なる例であり、これに限定されない。本明細書に記載されないが上記で論じた他の態様、例えば、一意の識別子および公開/秘密キー暗号化を使用して暗号化された通信を確実にするセキュリティ対策も本概要においては明確には言及していないが、本明細書において意図されることは明らかである。

Claims (13)

  1. コンピューターデバイス間でコンテンツを転送する方法であって、該方法は、前記コンピュータデバイスに記憶されたコンピュータプログラムを前記コンピューターデバイスが実行することによって前記コンピューターデバイスによって実施され、
    第1のコンピューターデバイスが、クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の通信セッションを確立するステップと、
    前記第1のコンピューターデバイスが、前記通信セッション内で使用する少なくとも1つのチャネルを選択するステップと、
    前記第1のコンピューターデバイスが、前記クローズドコンピューターデバイスに、無署名のコンテンツを前記少なくとも1つのチャネルで送信するステップであって、
    最初に、前記無署名コンテンツに含まれた情報のセットのサブセットを送信するステップであって、前記情報のセットのサブセットは、前記情報のセットの残りを表すステップと、
    次いで、前記情報のセットのサブセット及び前記クローズドコンピューターデバイスの資源に基づいて、前記情報のセットの残りを前記クローズドコンピューターデバイスへ送信すべきであると判定された場合に、前記情報のセットの残りを送信するステップと
    を含むステップ
    を含むことを特徴とする方法。
  2. 前記通信セッションが、前記クローズドコンピューターデバイスにおいて実行されるワンタイムパスワード初期化および転送、前記クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の認証要求および認証応答、前記クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の接続要求および接続検証、ならびに前記クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の転送要求により、確立されることを特徴とする請求項1に記載の方法。
  3. 前記無署名のコンテンツを送信するステップが、前記無署名のコンテンツを符号化するステップ、および前記無署名のコンテンツを復号化するステップのうちの1つを含むことを特徴とする請求項1に記載の方法。
  4. 前記少なくとも1つのチャネルを選択するステップが、前記情報のサブセットを送信するための第1のチャネルおよび前記情報のセットを送信するための第2のチャネルを選択するステップを含み、前記第2のチャネルが、チャネルのセットの少なくとも1つのチャネルを含むことを特徴とする請求項1に記載の方法。
  5. 前記送信するステップが、(a)1回のトランザクション、(b)同期トランザクション、および(c)ストリーミングトランザクション、のうちの1つを使用して実行されることを特徴とする請求項1に記載の方法。
  6. 前記第1のコンピューターデバイスは、オープンコンピューターデバイスおよびクローズドコンピューターデバイスのうちの1つであることを特徴とする請求項1に記載の方法。
  7. コンピューターデバイス間でコンテンツを転送するシステムであって、
    クローズドコンピューターデバイスと第1のコンピューターデバイスとの間の通信セッションを確立する通信機構と、
    前記通信セッション内で使用する少なくとも1つのチャネルを選択するチャネルブローカーと
    を備え、
    前記第1のコンピューターデバイスは前記クローズドコンピューターデバイスに、最初に、無署名のコンテンツに含まれた情報のセットのサブセットであって、前記情報のセットの残りを表す前記情報のセットのサブセットを前記少なくとも1つのチャネルで送信し、次いで前記情報のセットのサブセットおよび前記クローズドコンピューターデバイスの資源に基づいて、前記情報のセットの残りを前記クローズドコンピューターデバイスへ送信すべきであると判定された場合、前記情報のセットの残りを送信することを特徴とするシステム。
  8. 前記通信機構が、前記通信セッションを、前記クローズドコンピューターデバイスにおいて実行されるワンタイムパスワード初期化と転送、前記クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の認証要求および認証応答、前記クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の接続要求および接続検証、ならびに前記クローズドコンピューターデバイスと前記第1のコンピューターデバイスとの間の転送要求により、確立することを特徴とする請求項に記載のシステム。
  9. 前記第1のコンピューターデバイスによる送信が、前記無署名のコンテンツを符号化すること、および前記無署名のコンテンツを復号化することのうちの1つを含むことを特徴とする請求項に記載のシステム。
  10. 前記チャネルブローカーが少なくとも1つのチャネルを選択し、前記情報のサブセットを送信するための第1のチャネルおよび前記情報のセットを送信するための第2のチャネルを選択することを含み、前記第2のチャネルが、チャネルのセットの少なくとも1つのチャネルを含むことを特徴とする請求項に記載のシステム。
  11. 前記第1のコンピューターデバイスによる送信が、(a)1回のトランザクション、(b)同期トランザクション、および(c)ストリーミングトランザクション、のうちの1つを使用して実行されることを特徴とする請求項に記載のシステム。
  12. 前記第1のコンピューターデバイスは、オープンコンピューターデバイスおよびクローズドコンピューターデバイスのうちの1つであることを特徴とする請求項に記載のシステム。
  13. 請求項1乃至6のいずれかに記載の方法をコンピューターデバイスに実行させるためのコンピュータプログラムを記憶したコンピューター読み取り可能な記憶媒体。
JP2009540372A 2006-12-08 2007-11-16 クローズドシステムへのコンテンツの転送 Expired - Fee Related JP5380298B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/636,219 US7927214B2 (en) 2006-12-08 2006-12-08 Transfer of content to closed systems
US11/636,219 2006-12-08
PCT/US2007/084979 WO2008070427A1 (en) 2006-12-08 2007-11-16 Transfer of content to closed systems

Publications (2)

Publication Number Publication Date
JP2010512180A JP2010512180A (ja) 2010-04-22
JP5380298B2 true JP5380298B2 (ja) 2014-01-08

Family

ID=39492591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009540372A Expired - Fee Related JP5380298B2 (ja) 2006-12-08 2007-11-16 クローズドシステムへのコンテンツの転送

Country Status (4)

Country Link
US (1) US7927214B2 (ja)
EP (1) EP2115609B1 (ja)
JP (1) JP5380298B2 (ja)
WO (1) WO2008070427A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846866B2 (en) * 2007-02-22 2017-12-19 First Data Corporation Processing of financial transactions using debit networks
US20090007192A1 (en) * 2007-06-28 2009-01-01 Gajendra Prasad Singh On board wireless digital entertainment, communication and information system for mass transportation medium
SG11201505362WA (en) 2013-01-09 2015-08-28 Evernym Inc Systems and methods for access-controlled interactions
US11005867B1 (en) * 2018-06-14 2021-05-11 Ca, Inc. Systems and methods for tuning application network behavior

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592609A (en) 1994-10-31 1997-01-07 Nintendo Co., Ltd. Video game/videographics program fabricating system and method with unit based program processing
US20010032312A1 (en) * 2000-03-06 2001-10-18 Davor Runje System and method for secure electronic digital rights management, secure transaction management and content distribution
US6922782B1 (en) * 2000-06-15 2005-07-26 International Business Machines Corporation Apparatus and method for ensuring data integrity of unauthenticated code
US20030196120A1 (en) * 2000-08-28 2003-10-16 Contentguard Holdings, Inc. Method and apparatus for automatic deployment of a rendering engine
KR20020076846A (ko) * 2001-03-30 2002-10-11 (주)패러드림 인터넷을 이용한 게임제작 툴 제공 시스템 및 그 게임제작툴을 이용한 게임제작 방법
TW524705B (en) 2001-12-14 2003-03-21 Inventec Tomorrow Studio Corp Method to dynamically update the game map of palm-type electronic device
US7434259B2 (en) * 2002-10-21 2008-10-07 Microsoft Corporation Method for prompting a user to install and execute an unauthenticated computer application
JP2004334606A (ja) * 2003-05-09 2004-11-25 Nippon Telegr & Teleph Corp <Ntt> 認証通信システム装置
WO2006055840A2 (en) 2004-11-18 2006-05-26 Turbo Squid, Inc. Method of dynamically modifying a computer game
US8418058B2 (en) * 2007-12-17 2013-04-09 International Business Machines Corporation Graphical indication of signed content

Also Published As

Publication number Publication date
US7927214B2 (en) 2011-04-19
EP2115609B1 (en) 2013-11-13
EP2115609A1 (en) 2009-11-11
JP2010512180A (ja) 2010-04-22
WO2008070427A1 (en) 2008-06-12
US20080140845A1 (en) 2008-06-12
EP2115609A4 (en) 2012-02-01

Similar Documents

Publication Publication Date Title
US10839096B2 (en) Cryptographically provable zero-knowledge content distribution network
US8800050B2 (en) Security system for computing resources pre-releases
TWI489848B (zh) 客戶運算裝置中的內容處理方法、運算裝置及非暫態機器可讀取儲存媒體
CN102404314B (zh) 远程资源单点登录
KR101525292B1 (ko) 자산 리스 관리용 시스템 및 방법
US11595363B2 (en) System and method to secure the transmission of files to a valid client
US8979655B2 (en) System and method for securely hosting applications
US20150235011A1 (en) Drm protected video streaming on game console with secret-less application
CN112491972A (zh) 资源获取、分发、下载方法、装置、设备及存储介质
TWI461950B (zh) 用以致能數位內容中之對象物件的採購或對數位內容中之對象物件的資訊請求之方法及設備
MXPA04004143A (es) Substitucion dinamica de datos usb para la codificacion/descodificacion sobre la marcha.
JP2003337632A (ja) ポリシーを実行された安全なデジタルデータフォーマットおよびコード
TW200832438A (en) Secure co-processing memory controller integrated into an embedded memory subsystem
KR20100015532A (ko) 폐쇄된 시스템용의 프로그래밍 프레임워크
RU2685975C2 (ru) Обеспечение безопасности связи с расширенными мультимедийными платформами
WO2019061597A1 (zh) 一种数据处理方法及服务器
JP5380298B2 (ja) クローズドシステムへのコンテンツの転送
US8875271B2 (en) Executing unsigned content and securing access in a closed system
JP5047305B2 (ja) 閉鎖型コンピューティングシステムのサブスクリプションベースのサービス
US9432627B2 (en) Restricting information requested by an application
JP2017022711A (ja) 暗号化されたコンテンツの復号キーを安全に取得してコンテンツを再生するための方法およびシステム
JP2011041080A (ja) 認証システム、認証装置、およびこれらの制御方法、ならびに制御プログラム
TW202236135A (zh) 加解密神經網路模型的方法、電子設備及存儲介質
KR20060107975A (ko) 멀티미디어 전송시스템의 사용권 제한장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130617

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130930

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees