(57)【要約】  本発明は、アプリケーションをユーザに提供する方法および装置を提供する。ユーザは、アプリケーションを要求し、その要求には、アプリケーションを視聴するディスプレイの特性に関する情報が含まれる。要求に応答して、必要なリソースレベルが決定され、ユーザに割り当てられる。次いで、アプリケーションが、ユーザに送信されているディスプレイ情報、およびユーザから受信しているユーザ入力と共に、割り当てられたリソース上で実行され、ユーザがアプリケーションを制御することを可能とする。ユーザに送信されたディスプレイ情報は、ユーザが使用しているディスプレイに従ってフォーマットされる。
2009523268.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを、ネットワークを介してユーザに提供する方法であって、
ユーザ装置に対するディスプレイ特性に関する情報を含むアプリケーションに対する要求を、ユーザから受信するステップ（２０２）と、
前記ユーザ装置に対して前記アプリケーションを実行するのに必要なリソース量を決定するステップ（２０４）と、
前記リソース量を前記ユーザに割り当てるステップ（２０５）と、
前記ディスプレイ特性に関する情報からディスプレイ基準を決定するステップ（２０３）と、
前記割り当てたリソースを用いて前記アプリケーションを実行するステップ（２０６、２０７、２０８）とを備え、
前記アプリケーションを実行するステップは、ディスプレイ情報を前記ユーザ装置に送信するステップと、ユーザ入力情報を前記ユーザから受信するステップとを含み、前記ディスプレイ情報は、前記ディスプレイ基準に従ってフォーマットされることを特徴とするアプリケーションをユーザに提供する方法。
【請求項２】
前記リソース（１０８）は、処理装置（１０９）、メモリ（１１０）およびデータ記憶装置（１１１）のうちの少なくとも１つを備えることを特徴とする請求項１に記載のアプリケーションをユーザに提供する方法。
【請求項３】
前記要求はユーザ指定の基準を含み、前記リソース量を決定するステップは、前記アプリケーション、前記ディスプレイ特性に関する情報、および前記ユーザ指定の基準に基づくことを特徴とする請求項１または２に記載のアプリケーションをユーザに提供する方法。
【請求項４】
前記要求はユーザ指定の基準を含み、前記ディスプレイ基準を決定するステップは、前記ディスプレイ特性に関する情報、および前記ユーザ指定の基準に基づくことを特徴とする請求項１乃至３のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項５】
前記ユーザ指定の基準は、処理能力、音声品質、メモリ、ディスプレイ品質、データ記憶および前記アプリケーションの動作モードのうちの少なくとも１つを含むことを特徴とする請求項３または４に記載のアプリケーションをユーザに提供する方法。
【請求項６】
前記要求は、前記ユーザが使用するネットワーク接続の帯域幅に関する情報を含み、前記ディスプレイ基準を決定するステップは、前記ディスプレイ特性に関する情報、および前記帯域幅に関する情報に基づくことを特徴とする請求項１乃至３のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項７】
前記要求は、識別情報、認証情報および課金情報のうちの少なくとも１つを含むことを特徴とする請求項１乃至６のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項８】
前記ユーザから受信した入力に応答して、前記アプリケーションの実行を停止するステップ（２１２）と、
前記ユーザに対する前記リソース量の割り当てをキャンセルするステップ（２１３）と
をさらに備えることを特徴とする請求項1乃至７のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項９】
前記要求は、前記ユーザ装置に対するオーディオ特性に関する情報を含み、
前記オーディオ特性に関する情報から音声基準を決定するステップをさらに備え、
前記アプリケーションを実行するステップは、前記音声基準に従ってフォーマットされたオーディオ情報を前記ユーザ装置に送信するステップをさらに含むことを特徴とする請求項１乃至８のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項１０】
前記ユーザから、第２のユーザ装置に対するディスプレイ特性に関する情報を含む要求を受信して、前記第２のユーザ装置に対して前記アプリケーションを実行するステップ（４０３）と、
前記第２のユーザ装置に対して前記アプリケーションを実行するのに必要な第２のリソース量を決定するステップ（４０８、５０１）と、
追加のリソースを前記ユーザに割り当てるステップ（４０９、５０３）と、
前記第２のユーザ装置に対する前記ディスプレイ特性に関する情報から、第２のディスプレイ基準を決定するステップ（４０７）と、
前記第２のディスプレイ基準に従ってフォーマットされた第２のディスプレイ情報を、前記第２のユーザ装置に送信するステップ（４１１）と、
ディスプレイ情報を前記ユーザ装置に送信することを停止するステップ（４１５）と、
前記第２のリソース量が前記ユーザに割り当てられたままであるように、前記ユーザに割り当てられたリソースの一部をキャンセルするステップ（４１６；５０２）と
をさらに備えることを特徴とする請求項１乃至９のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項１１】
前記ディスプレイ情報の送信を停止するステップは、前記ユーザからの入力を受信する際に行うこと（４１４）を特徴とする請求項１０に記載のアプリケーションをユーザに提供する方法。
【請求項１２】
前記アプリケーションはゲームであることを特徴とする請求項１乃至１１のいずれかに記載のアプリケーションをユーザに提供する方法。
【請求項１３】
アプリケーションを、ネットワーク（１０５）を介してユーザに提供する装置であって、前記装置はリソース（１０８）とコントローラ（１０７）とを備え、前記コントローラは、
前記アプリケーションに対する要求を、前記ネットワークを介して前記ユーザから受信する手段と、
前記ユーザ装置に対して前記アプリケーションを実行するのに必要な前記リソースの一部を決定する手段と、
前記リソースの一部を前記ユーザに割り当てる手段と、
前記ユーザ装置に対するディスプレイ特性に関する情報を前記要求から検出する手段と、
前記ディスプレイ特性に関する情報からディスプレイ基準を決定する手段と、
前記リソースの一部を用いて前記アプリケーションを実行する手段であって、前記ディスプレイ基準に従ってフォーマットされたディスプレイ情報を前記ユーザ装置に送信する手段、およびユーザ入力情報を前記ユーザから受信する手段を含む手段と
を備えることを特徴とするアプリケーションをユーザに提供する装置。
【請求項１４】
前記リソースは、処理リソース（１０９）、メモリリソース（１１０）およびデータ記憶リソース（１１１）のうちの少なくとも１つを備えることを特徴とする請求項１３に記載のアプリケーションをユーザに提供する装置。
【請求項１５】
前記コントローラは、
ユーザ指定の基準を前記要求から検出する手段と、
前記リソースの一部を、前記アプリケーション、前記ディスプレイ特性に関する情報および前記ユーザ指定の基準に従って決定する手段と
をさらに備えることを特徴とする請求項１３または１４に記載のアプリケーションをユーザに提供する装置。
【請求項１６】
前記コントローラは、
第２のユーザ装置に対して前記アプリケーションを実行するための第２の要求を前記ユーザから受信する手段と、
前記第２のユーザ装置に対して前記アプリケーションを実行するのに必要な第２のリソース量を決定する手段と、
追加のリソースを前記ユーザに割り当てる手段と、
前記第２のユーザ装置に対するディスプレイ特性に関する情報を前記第２の要求から検出する手段と、
第２のディスプレイ基準を、前記第２のユーザ装置に対するディスプレイ特性に関する情報から決定する手段と、
前記第２のディスプレイ基準に従ってフォーマットされた第２のディスプレイ情報を前記第２のユーザ装置に送信する手段と、
前記ディスプレイ情報を前記ユーザ装置に送信することを停止する手段と、
前記第２のリソース量が前記ユーザに割り当てられたままであるように、前記ユーザに割り当てられた前記リソースの一部をキャンセルする手段と
をさらに備えることを特徴とする請求項１３乃至１５のいずれかに記載のアプリケーションをユーザに提供する装置。
【請求項１７】
前記アプリケーションはゲームであることを特徴とする請求項１３乃至１６のいずれかに記載のアプリケーションをユーザに提供する装置。
【請求項１８】
リモートサーバからアプリケーションにアクセスする装置であって、
ディスプレイ（１０３）と、
ユーザ入力装置（１０２）と、
通信装置（１０４）とを備え、前記通信装置は、
前記ディスプレイの特性に関する情報を含むアプリケーションに対する要求を、前記リモートサーバに送信する手段と、
前記ディスプレイに対してフォーマットされたディスプレイ情報を前記リモートサーバから受信し、前記ディスプレイ情報を前記ディスプレイに渡す手段と、
ユーザ入力情報を前記ユーザ入力装置から受信し、前記ユーザ入力情報を前記リモートサーバに送信する手段とを備え、
前記ディスプレイ情報は、前記アプリケーションに関連付けられたグラフィカル情報を含み、前記ユーザ入力情報は、前記リモートサーバ上の前記アプリケーションを制御することを特徴とするリモートサーバからアプリケーションにアクセスする装置。
【請求項１９】
前記要求は、識別情報、認証情報および課金情報のうちの少なくとも１つを含むことを特徴とする請求項１８に記載のリモートサーバからアプリケーションにアクセスする装置。
【請求項２０】
前記アプリケーションはゲームであることを特徴とする請求項１８または１９に記載のリモートサーバからアプリケーションにアクセスする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して、ユーザにアプリケーションを提供することに関する。
【背景技術】
【０００２】
過去１０年に渡って、ゲームコンソールは相当に発展し、コンソールの処理能力は大幅に向上した。新しいゲームはコンソールの処理能力の向上を利用し、それによりゲームは２Ｄから３Ｄへ変化し、グラフィックはよりきめ細かく現実的となることができ、ゲームはより複雑でやりがいのあるものとなることができた。しかしながら、ゲームの設計者は今でも新しいゲームを作成するときに利用可能な処理能力による制限を受けている。これはＰＤＡ（携帯情報端末）および携帯電話のような、他の装置と一体化したハンドヘルドコンソールまたはゲームプレイヤに特に当てはまる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ユーザにとって、コンソールとこれらのコンソール向けに作成されたゲームとが継続して発展すると費用のかかる問題となる。最新のゲームをプレイして最高品質のグラフィックを得ることができるためには、ユーザはハードウェアを頻繁にアップグレードしなければならないからである。
【０００４】
公知のゲームコンソールの不都合を軽減することが本発明の目的である。
【課題を解決するための手段】
【０００５】
以下に、本発明の基本的な理解を与えるための本開示の簡潔な要約を与える。本要約は本開示の広範囲な概要ではなく、本発明の主要／重要な要素または本発明の範囲を決定するものでもない。本要約の唯一の目的は、本明細書で開示する幾つかの概念を、後述するより詳細な説明に対する前置きとして簡潔な形で提示することである。
【０００６】
第１の態様は、アプリケーションを、ネットワークを介してユーザに提供する方法を提供する。この方法は、ユーザ装置のディスプレイ特性に関する情報を含む、アプリケーションに対する要求をユーザから受信するステップと、ユーザ装置に対してアプリケーションを実行するために必要なリソース量を決定するステップと、そのリソース量をユーザに割り当てるステップと、ディスプレイ特性に関する情報からディスプレイ基準を決定するステップと、割り当てたリソースを用いてアプリケーションを実行するステップとを備え、アプリケーションを実行するステップには、ディスプレイ情報をユーザ装置に送信するステップとユーザの入力情報をユーザから受信するステップとが含まれ、そのディスプレイ情報は上記のディスプレイ基準に従ってフォーマットされる。
【０００７】
ユーザ装置のハードウェア能力とは独立してアプリケーションが提供されることが、有利な点である。ユーザは、したがって、審美的理由で装置をアップグレードすることまたは改良されたディスプレイを入手することを選択できるが、利用可能な最新のアプリケーションを実行できるために常時そのように強制されるわけではない。
【０００８】
アプリケーションはプラットフォーム独立である、即ち、ユーザが使用するユーザ装置と無関係に任意のアプリケーションを使用できることが、別の有利な点である。
【０００９】
また、例えば自宅または職場内の装置から携帯型ユーザ装置に移るとき、ユーザは或るユーザ装置から別の装置へシームレスに移動することができることが、更なる有利な点である。
【００１０】
アプリケーションを実行するために必要なリソースを効率的に使用でき、リソースはユーザ間およびアプリケーション間で共有され、ユーザにはその固有の要件に依存して適切なリソース量が割当てられることが、別の有利な点である。
【００１１】
さらに、ユーザ装置は少ない処理機能と最小のメモリしか必要としないので、ユーザ装置のコストがより低くなりうることも利点である。
【００１２】
リソースは処理装置、メモリおよびデータ記憶装置のうち少なくとも１つを備えることが望ましい。
【００１３】
要求にはユーザ指定の基準（user specified criteria）が含まれ、リソース量を決定するステップは、アプリケーション、ディスプレイ特性に関する情報および上記のユーザ指定の基準に基づくことが望ましい。
【００１４】
要求にはユーザ指定の基準が含まれ、ディスプレイ基準を決定するステップは、ディスプレイ特性に関する情報と上記のユーザ指定の基準とに基づくことが望ましい。
【００１５】
ユーザ指定の基準は処理能力、音声品質、メモリ、ディスプレイ品質、データ記憶およびアプリケーションの動作モードのうち少なくとも１つを備えることが望ましい。
【００１６】
要求にはユーザが使用するネットワーク接続の帯域幅に関する情報が含まれ、ディスプレイ基準を決定するステップは、ディスプレイ特性に関する情報と上記の帯域幅に関する情報とに基づくことが望ましい。
【００１７】
要求は識別情報、認証情報および課金情報のうち少なくとも１つを含むことが望ましい。
【００１８】
上記の方法はさらに、ユーザから受信した入力に応じてアプリケーションの実行を停止するステップと、ユーザに対するリソース量の割当てをキャンセルするステップとを備えることが望ましい。
【００１９】
要求にはユーザ装置に対するオーディオ特性に関する情報が含まれ、上記の方法はさらにオーディオ特性に関する情報から音声基準を決定するステップをさらに備え、アプリケーションを実行するステップはさらにユーザ装置にオーディオ情報を送信するステップを含み、そのオーディオ情報は上記の音声基準に従ってフォーマットされることが望ましい。
【００２０】
上記の方法はさらに、第２のユーザ装置に対するディスプレイ特性に関する情報を含む、第２のユーザ装置に対してアプリケーションを実行するための要求をユーザから受信するステップと、第２のユーザ装置に対するアプリケーションの実行に必要な第２のリソース量を決定するステップと、そのユーザに追加のリソースを割当てるステップと、第２のユーザ装置に対するディスプレイ特性に関する情報から第２のディスプレイ基準を決定するステップと、第２のディスプレイ基準に従ってフォーマットされている第２のディスプレイ情報を第２のユーザ装置に送信するステップと、ユーザ装置に対するディスプレイ情報の送信を停止するステップと、第２のリソース量がユーザに割当てられたままであるように、ユーザに割当てたリソースの一部をキャンセルするステップとを備えることが望ましい。
【００２１】
ディスプレイ情報の送信を停止するステップは、ユーザから入力を受信する際に行うことが望ましい。
【００２２】
上記のアプリケーションはゲームであることが望ましい。
【００２３】
第２の態様は、ネットワークを介してアプリケーションをユーザに提供し、リソースとコントローラとを備える装置を提供する。そのコントローラは、アプリケーションに対する要求を、ネットワークを介してユーザから受信する手段と、ユーザ装置に対してアプリケーションを実行するために必要なリソースの一部を決定する手段と、その一部をユーザに割当てる手段と、ユーザ装置に対するディスプレイ特性に関する情報を上記の要求から検出する手段と、ディスプレイ特性に関する情報からディスプレイ基準を決定する手段と、ディスプレイ情報をユーザ装置に送信する手段と、ユーザからユーザ入力情報を受信する手段とを含む、上記のリソースの一部を用いてアプリケーションを実行する手段とを備え、上記のディスプレイ情報は上記のディスプレイ基準に従ってフォーマットされる。
【００２４】
リソースは処理リソース、メモリリソースおよびデータ記憶リソースのうち少なくとも１つを備えることが望ましい。
【００２５】
コントローラはさらに、ユーザ指定の基準を上記の要求から検出する手段と、リソースの一部をアプリケーション、ディスプレイ特性に関する情報および上記のユーザ指定の基準に基づいて決定する手段とを備えることが望ましい。
【００２６】
コントローラはさらに、第２のユーザ装置に対してアプリケーションを実行するための第２の要求をユーザから受信する手段と、第２のユーザ装置に対してアプリケーションを実行するために必要な第２のリソース量を決定する手段と、ユーザに追加のリソースを割当てる手段と、第２のユーザ装置に対するディスプレイ特性に関する情報を第２の要求から検出する手段と、第２のユーザ装置に対するディスプレイ特性に関する情報から第２のディスプレイ基準を決定する手段と、第２のディスプレイ基準に従ってフォーマットされている第２のディスプレイ情報を第２のユーザ装置に送信する手段と、ユーザ装置へのディスプレイ情報の送信を停止する手段と、第２のリソース量がユーザに割当てられたままであるように、ユーザに割当てたリソースの一部をキャンセルする手段とを備えることが望ましい。
【００２７】
上記のアプリケーションはゲームであることが望ましい。
【００２８】
第３の態様はアプリケーションにリモートサーバからアクセスする装置を提供する。その装置はディスプレイ、ユーザ入力装置、および通信装置を備える。その通信装置は、ディスプレイ特性に関する情報を含む、アプリケーションに対する要求をリモートサーバに送信する手段と、ディスプレイに対してフォーマットされているディスプレイ情報をリモートサーバから受信してそれをディスプレイに渡す手段と、ユーザ入力装置からユーザ入力情報を受信してそれをリモートサーバに送信する手段とを備え、上記のディスプレイ情報はアプリケーションに関連付けたグラフィカル情報を備え、上記のユーザ入力情報はリモートサーバ上のアプリケーションを制御する。
【００２９】
要求は識別情報、認証情報および課金情報のうち少なくとも１つを含むことが望ましい。
【００３０】
上記のアプリケーションはゲームであることが望ましい。
【００３１】
別の例は、アプリケーションへのアクセスに対する課金方法を提供する。ユーザに対して、使用したアプリケーション、（使用したアプリケーションにより決定されうる）必要なリソースレベルおよびリソースの使用時間を組み合わせて課金することができる。
【００３２】
上記の方法を、記憶媒体上のマシン読取可能な形態でのソフトウェアまたはファームウェアにより実施することができる。
【００３３】
これにより、ソフトウェアおよびファームウェアが貴重であり、独立して取引可能な商品でありうることが認められる。「低能（dumb）」または標準的なハードウェア上で実行またはそのハードウェアを制御する、所望の機能を実行するソフトウェアを含むよう意図している（従って、ソフトウェアが本質的にレジスタの機能を定義し、その標準的なハードウェアと組み合わせる前でもレジスタと称することができる）。同様な理由で、所望の機能を実現するためにシリコンチップの設計、またはユニバーサルプログラマブルチップの構成に対して使用されているように、ＨＤＬ（ハードウェア記述言語）ソフトウェアのようなハードウェア構成を「記述」または定義するソフトウェアを含むようにも意図している。
【００３４】
多数の付随する特徴は、添付図面と関連させて考慮して、以下の詳細な説明を参照することでより良く理解でき、より容易に理解できるであろう。
【００３５】
本発明は、添付図面を踏まえて以下の詳細な説明を読むとより良く理解できるであろう。
【００３６】
添付図面においては、同じ番号は、同じ部分を示す。
【発明を実施するための最良の形態】
【００３７】
以下で添付図面と関連して示す詳細な説明は、一実施例の説明を意図したものであり、本発明を構築または利用できる唯一の形態を示すものではない。以下の説明では、本実施例の機能を説明し、本実施例を構築および操作するステップの順序を説明する。しかしながら、同一または等価な機能および順序を別の例で実現してもよい。
【００３８】
図１は、アプリケーションをユーザに提供するシステム１００を示す。ユーザは、ユーザ装置１０１を介してアプリケーションにアクセスする。ユーザ装置１０１は、キーボード、マウスまたはゲームコントローラのようなユーザ入力装置１０２と、モニタ、テレビまたはディスプレイスクリーンのようなディスプレイ１０３と、通信装置１０４とを備える。ユーザ装置１０１は、装置の統合部分であることができ、あるいは有線接続または無線接続で互いに通信可能な独立した機能体を備えることができる。さらにユーザ入力装置の例には、タッチスクリーン、キーパッド、カメラ、動作検出器等が含まれる。
【００３９】
アプリケーションを、ネットワーク１０５に接続されるコントローラ１０７を備えるアプリケーションプロバイダ装置１０６により提供する。コントローラをさらに、処理装置１０９、メモリ１１０およびデータ記憶装置１１１のような多数のリソース１０８に接続する。アプリケーションを、そのリソース１０８を用いてアプリケーションプロバイダ装置１０６上で実行する。
【００４０】
アプリケーションにアクセスするために、通信装置１０４をネットワーク１０５に接続することができる。ネットワーク１０５はインターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、または他の適切なネットワークであることができる。ネットワーク１０５は有線ネットワークまたは無線ネットワークであることができ、あるいは有線である部分（例えば、ネットワークの中心部分）および無線である部分（例えば、ネットワークのアクセス部）を含むことができる。通信装置１０４は、ユーザがアプリケーショングラフィックを見ることができるようにネットワーク経由で受信したディスプレイ情報をディスプレイ１０３に渡し、通信装置１０４はさらにユーザ入力装置１０２から受信したユーザ入力をネットワーク１０５上でアプリケーションプロバイダ装置１０６に渡す。ユーザが、あたかもアプリケーションをローカルで実行しているかのようにアプリケーションを制御できるように、これらのユーザ入力をアプリケーションプロバイダ装置１０６側で解析および実装する。
【００４１】
本明細書で用いる用語「アプリケーション」は、特定の使用に対して設計されたコンピュータプログラムを指す。この用語には、標準的なコンピュータアプリケーションが含まれる。その標準的なコンピュータアプリケーションは、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、電子メール、情報ディスプレイおよびウェブ閲覧アプリケーション、ビデオ／オーディオストリーミングに対するマルチメディアアプリケーション、ゲームアプリケーション、専門アプリケーション（例えば、デザインアプリケーション、分析アプリケーション、ビジネスソフトウェア）およびデータベースを含むが、これらに限らない。
【００４２】
本実施例を、本明細書では図１に示すシステムで実装されるように説明および図示しているが、説明したシステムは例として提供するものでありこれに限定されない。当技術分野の技術者が理解するように、本実施例は様々なタイプのシステムにおけるアプリケーションに適している。
【００４３】
図１のシステム１００の動作を、図２に示すフロー図を参照して説明することができる。ユーザがアプリケーションを使用すること、例えばゲームをプレイすることを望む場合、ユーザは、ユーザ入力装置１０２を用いて必要なアプリケーションを選択する（ステップ２０１）。その選択を、ウェブページまたは他のグラフィカルユーザインタフェース（ＧＵＩ）上のボタンをクリックすることで行うことができる。通信装置は、プログラムを実行してＧＵＩを生成することができる。通信装置１０４は、必要なアプリケーションに対する要求を、アプリケーションプロバイダ装置１０６に送信する（ステップ２０２）。この要求は、必要なアプリケーションを識別する情報と、使用中のディスプレイ１０３に関する情報とを含む。使用中のディスプレイ１０３に関する情報を、本明細書ではディスプレイ特性に関する情報（例えば、スクリーンサイズ、解像度、インチ当りドット数、画素数等のようなディスプレイ性能の詳細、またはハイビジョンテレビ、携帯電話のスクリーン、ＰＤＡのスクリーンのような使用しているディスプレイタイプの詳細、またはモデルナンバーの詳細等）と称する。ディスプレイ特性に関する情報を、その特性の明示的な詳細の形で、またはコードで、またはアプリケーションプロバイダ装置が解釈でき且つアプリケーションプロバイダ装置１０６にディスプレイ基準を決定するのに十分な情報を提供する他の表現で、アプリケーションプロバイダ装置１０６に送信することができる（ステップ２０３）。上記の要求は、ユーザの身元に関する情報（例えばユーザ名）、認証情報および課金情報を含むこともできる。さらに、以下でより詳細に説明するように、上記の要求はユーザ装置１０１の他の態様に関する情報、ユーザ指定の基準および入力装置からの情報を含むことができる。
【００４４】
要求を受信すると、コントローラ１０７はディスプレイ特性に関する情報を検出して、ディスプレイ基準を決定する（ステップ２０３）。この基準は、後にユーザ装置１０１に送信し戻されるディスプレイ情報のフォーマットを決定する（後述するステップ２０８を参照）。コントローラはさらに、要求したアプリケーションと使用しているディスプレイとに基づいて必要なリソースを決定する（ステップ２０４）。この決定はさらに、上記の要求に含まれる他の情報の一部または全部によって影響を受けてもよい。１つの例において、ユーザが単純なゲーム（例えば、ソリティア）を要求する場合、必要な処理能力は少ないが、ユーザが複雑なゲーム（例えば、Ｈａｌｏ（登録商標））を要求する場合、必要な処理能力は非常に大きい。さらに、非常に高品質のグラフィックを要求し、必要な処理能力を増加させうる大型のハイビジョンテレビをユーザがディスプレイとして使用している場合と比較すると、ユーザがゲームを携帯電話スクリーンで表示している場合は、低解像度のグラフィックのみが要求され、必要な処理レベルに影響を与える可能性がある。以下でより詳細に説明するように、ユーザは必要なリソースの決定に影響を及ぼすこともできる（ステップ２０４）。
【００４５】
必要なリソースを決定すると、ユーザに対して最低限のサービス品質が保証されるように、コントローラはこれらのリソースをユーザに割当てる（ステップ２０５）。システムは、アプリケーションプロバイダ装置１０６でのリソース使用量が少ない場合、ユーザに要求量以上の追加リソースにアクセスさせることができ、またはシステムはそのユーザに割当てたリソースに対してのみユーザにアクセスさせることができる。
【００４６】
リソースが割当てられると、アプリケーションが開始され（ステップ２０６）、同時に課金カウンタを開始することができる（ステップ２０７）。アプリケーションは、（割当てられたリソースを用いて）アプリケーションプロバイダ装置１０６上で実行され、ディスプレイ情報が、ネットワーク１０５を介してユーザに送信される（ステップ２０８）。ディスプレイ情報は、ディスプレイ１０３に必要なグラフィックを表示させうるようなものであり（ステップ２０９）、ユーザ装置へ送信される前に、（ステップ２０３において）以前に確立したディスプレイ基準に従ってアプリケーションプロバイダ装置１０６内部でフォーマットされる。ユーザは公知の方法でユーザ入力装置１０２を用いてアプリケーションを制御（例えば、ゲームをプレイ）し、ユーザ入力情報を通信装置１０４によりコントローラ１０７に送信する（ステップ２１０）。
【００４７】
ユーザがアプリケーションの使用を終了（例えば、ゲームのプレイを終了）すると、ユーザは公知の方法でユーザ入力装置１０２を用いてこれを示し、その情報がコントローラ１０７に送られ（ステップ２１１）、コントローラ１０７がアプリケーションを停止させる（ステップ２１２）。アプリケーションに関してユーザに割当てられたリソースは、次いで解放され（ステップ２１３）、（上述のステップ２０７において）課金カウンタが開始している場合はこれを停止する（ステップ２１４）。課金カウンタ（またはユーザによってアプリケーションの使用を測定する他の手段）を使用している場合、アプリケーションの使用に対する金額を、課金カウンタ、割当てられたリソースおよび使用されたアプリケーションの量のパラメータの一部または全部に基づいて計算することができる（ステップ２１５）。課金カウンタは、時間（例えば、ユーザがアプリケーションにアクセスしている時間）または送信データ量または他の基準を記録することができる。前金（前払い）、（例えば、月次清算の）口座、あるいはペイメントカード（例えば、クレジットまたはデビットカード）または支払口座（例えば、Ｐａｙｐａｌ（登録商標））によるセッション毎の支払いにより、課金を行うことができる。課金は、アプリケーションプロバイダ側（例えば、月次の請求）またはユーザ側（例えば、前払い）のいずれかで実施することができる。または、両方がそのプロセスに参加するように課金を実施することもできる。
【００４８】
図２のフローチャートは、（ステップ２１１において）アプリケーション使用の終了を望むことを、ユーザがアクティブに表すことを示す。しかしながら、そのように表すことを、例えばユーザのネットワーク接続が失われた場合、またはユーザ装置１０１がクラッシュした場合、またはユーザ装置１０１の電源が切られた場合は、必ずしも行わなくてもよい。従って、例えば肯定応答を要求するメッセージを送信することで、コントローラ１０７が常に通信装置１０４の存在をチェックするように、ポーリングメカニズムをシステム１００に含めることが有利であろう。または、通信装置１０４を調整して定期的なメッセージをコントローラ１０７に送信し、その結果、コントローラ１０７が上記のメッセージを受信せずに所定期間が過ぎると、ユーザ装置１０１との連絡が失われアプリケーションが停止すると見なすことができる（ステップ２１２−２１５）。アプリケーションプロバイダ装置１０６は、アプリケーションを閉じる前にアプリケーションの状態を保存することができ、その結果、ユーザは接続の再確立時に同じ場所から再開することができる。
【００４９】
別の例では、例えば休憩を取る、食事を取る等のために、ユーザは、ゲームを停止するのではなく中断することができる。この場合、ユーザはユーザ入力装置１０２を用いてアクティビティを一時停止したいことを示すことができ、この情報は、アプリケーションを一時停止するコントローラ１０７に（ステップ２１１と同様に）送信される。コントローラはこの時点で、ユーザ装置に表示している現在の画像を含む、プレイ中のゲームの現在の状態を保存することができ、（ステップ２１３にあるように）ユーザに割り当てられたリソースの一部または全部を解放させることができる。この結果、リソースは効率的に割り当てられる（ユーザがアクティブにゲームをプレイしていない場合、リソースは割り当てられたままではない）。コントローラは、課金カウンタを一時停止することもできる。この結果、課金スキームがより公正になる。なぜならば、その公正な課金スキームにより、ユーザがゲームをプレイしていない間に、ユーザはリソースに対して支払い続けずにゲームを一時停止することができるからである。上記の一時停止の間、ディスプレイ上のグラフィックを一時停止する（即ち、不変とする）か、またはスクリーンセーバグラフィックを表示するか、またはディスプレイ１０３はパワーセーブモードに入ることができる。
【００５０】
更なる例では、ユーザはゲームをアクティブに一時停止する必要はない。その代わり、ユーザによるアクティビティがないことを（例えば、通信装置１０４および／またはコントローラ１０７により）検出することができ、結果として、コントローラはユーザに割り当てられたリソースの一部または全部を解放させることができる。ユーザによる更なるアクティビティを検出次第、（ステップ２０４で決定した）元々割り当てられたリソースの全量がユーザに再度利用可能となり、ゲームが再開される。ユーザアクティビティがないことの検出を、上述のポーリングメカニズム、またはユーザ入力をコントローラ１０７により受信する度にリセットされるタイムアウトカウンタ、または任意の他の適切な検出メカニズムを用いて実装することができる。ユーザアクティビティがないことの検出を通信装置１０４において実装する場合、アクティブ状態と非アクティブ状態との間の変化を検出すると、通信装置１０４はこれをコントローラ１０７に信号で伝える。ユーザアクティビティがないことを自動的に検出することは有利である。なぜならば、その自動的な検出により、ユーザにアプリケーションの一時停止を覚えておくことを要求せずに、ユーザがアプリケーションをアクティブに使用していない期間のユーザに対するコストが削減されるからである。アプリケーションをアクティブに一時停止する場合のように、ディスプレイ上のグラフィックは非アクティブな期間中に不変のままであること、またはスクリーンセーバグラフィックを表示すること、またはディスプレイ１０３がパワーセーブモードに入ることが可能である。
【００５１】
多数のコンピュータゲームは反応ベースであるが、チェスのような幾つかのゲームは、動きの間に戦略に関する相当な思考を要する。結果として、ゲームをプレイする間に、ユーザ入力を受信しない数分（またはそれ以上）の期間があることがよくある。再度、上述のように、ユーザ入力がないことを検出することができ、その結果としてコントローラは、更なるアクティビティが検出されるまでユーザに割り当てられたリソースの一部または全部を解放させることができる。リソースが解放される期間、コントローラは、課金カウンタを一時停止することもできる。これによりユーザに対するコストが削減され、アプリケーションプロバイダ装置においてリソースをより効率的に共有することができる。上記の戦略ゲームに加えて、ディスプレイ情報がアプリケーションプロバイダ装置からユーザ装置に離散パケットで送信されるような他のアプリケーションまたは状況がありうる。例えば、オーディオまたはビデオをストリーミングし、利用可能な伝送経路の帯域幅がディスプレイ情報に必要なデータ量に比べて非常に大きい場合、オーディオまたはビデオをパケットで伝送すること、例えば２０分のオーディオを２０分毎のパケットでストリーミングすることができる。再度パケット間で、コントローラは次のパケットが集約および伝送されるまで、ユーザに割り当てられたリソースの一部または全部を解放させることができ、課金カウンタを一時停止することもできる。
【００５２】
図２のフローチャートは、（ステップ２０４において）必要なリソースが、要求されたアプリケーションと使用しているディスプレイとに基づいて決定されていることを示す。（ステップ２０５において）ユーザに割り当てられるリソースレベルの決定にも使用される他の要因が存在することができ、それらは、ネットワーク１０５を介するユーザ装置１０１とアプリケーションプロバイダ１０６との間の接続帯域幅、ユーザ指定の基準、および選択したアプリケーションの動作モード（例えば、双方向または視聴専用）を含むがこれらに限らない。
【００５３】
上述のように、ユーザに対する接続帯域幅は、ユーザに割り当てられたリソースレベルの決定に使用される要因の１つであることができる。接続帯域幅はさらに（またはその代わりに）、リフレッシュレート、解像度、更新すべきスクリーン部分、圧縮、誤り符号化のレベルのような（ステップ２０３における）ディスプレイ基準の決定に使用される要因の１つであることができる。帯域幅は、ユーザ装置に送信されたデータの他の態様に影響を及ぼすこともできる。例えば、帯域幅が非常に限定される場合、音を信号から落とし、視覚的なディスプレイ情報のみをユーザに伝送することができる。上で列挙したものを含む他の要因も、コントローラが決定するディスプレイ基準に影響を及ぼすことができる。
【００５４】
例えば、低い帯域幅の接続を有するユーザは、送信前にディスプレイ情報の圧縮を要求することができ、従ってより大量の処理能力が要求される可能性がある。または、ユーザが非常に高解像度のディスプレイ情報を選択しているが、携帯電話のディスプレイしか使用していない場合、コントローラは必要な処理能力レベルを削減することができ、要求された高品質のグラフィックを、この情報が小型で低解像度のディスプレイ上では無駄となるので送信しないようにすることができる。
【００５５】
上述のように、必ずしも、ユーザに割り当てられたリソース量がコントローラ１０７によってのみ制御されるということではない。ユーザは部分的または全体的に、ユーザが望むリソースレベル、またはコントローラ１０７がリソース量を決定するための基準を指定することができる。例えば、ユーザはプロセッサ集中的（processor-intensive）でないアプリケーションを実行する場合でも、非常に応答性のよい性能を望むため、ユーザは大量の処理能力を指定する（および支払う）ことを望む可能性がある。ユーザは、ディスプレイ１０３上に表示されているグラフィックの品質を選択したいかもしれない。例えば、ユーザは、高、中または低解像度の画像を選択することを選ぶかもしれない。１つの例において、ユーザは、自分のハイビジョンテレビ上でソリティアをプレイすることを望む可能性がある。そのユーザはこのゲームに対して高解像度のグラフィックを必要とせず、従って低解像度のディスプレイのみを選択することができる。このことは、割安となりうるのでユーザには特に魅力的であろう。別の例では、ユーザは、受信する１秒当りのフレーム数を選択したいかもしれない。ユーザはフルレート（例えば、６０フレーム／秒）の受信を望むことができ、またはユーザはより低速（例えば、２０または３０フレーム／秒）を選択することができる。これは、３０フレーム／秒と６０フレーム／秒を区別できず、従って利点が得られない性能レベルに対して支払う必要がないユーザには、特に有利であろう。これは、高速な更新速度が必要でないアプリケーション（例えば、ソリティアをプレイすることまたはワードプロセッシングアプリケーションで文書を編集すること）にアクセスするユーザに対しても有利であろう。なぜならば再度、それらの利用に不要な性能レベルに対してユーザが支払うことがないからである。要求されたリソース量を指定するために、ユーザにメニューまたは他のＧＵＩを提示することができる。そのメニューまたはＧＵＩにより、ユーザは１つまたは複数の以下の変数を選択することができる。即ち、アプリケーション、アプリケーションの使用モード、処理能力、音声品質、メモリ、ディスプレイ解像度およびデータ記憶である。メニューにウェブページを介して、または通信装置１０４上で実行中のプログラムを介してアクセスすることができる。選択は、自由選択（例えば、任意の値または変数の選択）またはリスト（例えば、高、中または低解像度）からの選択または基本単位の倍数である値（例えば、２５６ｋＢの倍数のメモリ）の選択であることができる。アプリケーションプロバイダ装置は、使用中のアプリケーションおよびディスプレイに無関係に、ユーザに割り当てられる最小レベルのリソースを指定することができる。アプリケーションプロバイダ装置は、ユーザ間でリソースを公平に共有できるように、任意のユーザに割り当て可能な最大レベルのリソースを指定することができる。ユーザに利用可能な選択オプションは、使用しているディスプレイおよび／または要求したアプリケーションに依存することができる。例えば、携帯電話ユーザは高解像度の画像を要求することができない。なぜならば、ディスプレイがそれをユーザに提供できないからである。メ��ューまたは他の選択ツールは、アプリケーションプロバイダに適切なリソースレベルと適切なディスプレイ基準とを決定させるオプションを含むことができる。リソースまたは性能要件を指定することに加えて、またはその代わりとして、ユーザは、コントローラ１０７が割り当てたリソース量に影響を及ぼす基準を指定することができる。上記の基準の例には、最小コスト、最大性能、最高速の応答等が含まれる。上記の基準を、メニュー内または他のＧＵＩ内のティックボックス（tick box）を介して、ユーザが選択することができる。一度選択した基準を、一回の要求に適用するか、またはユーザから受信した全ての後続の要求に対してコントローラ１０７により適用することができる。
【００５６】
アプリケーションをユーザ装置からリモートに実行している場合、図３および図４を参照して後述するように、ユーザは或るユーザ装置から別のユーザ装置にシームレスに移動することができる。
【００５７】
図３は、アプリケーションをユーザに提供する第２のシステム３００を示す。アプリケーションプロバイダ装置１０６は、図１で示し、上述したものと同じである。図３におけるユーザは、２つの装置を有し、それらによりアプリケーションにアクセスすることができる。第１の装置は十分に固定した装置３０１であり、テレビ３０２をディスプレイ装置として用いる。この第１の装置３０１を「テレビベースのユーザ装置」３０１と称する。テレビ３０２を通信装置３０３に接続し、ユーザはゲームコントローラ３０４により入力を与える。ユーザのアプリケーションへのアクセスを可能とする第２の装置は、携帯電話３０５であり、キーパッド３０６、ディスプレイ３０７および通信装置３０８が組み込まれている。キーパッドとディスプレイを統合することができ、キーパッドおよびディスプレイはタッチセンシティブスクリーンを備えることができる。携帯電話３０５および通信装置３０３の両方を、ネットワーク１０５を介してアプリケーションプロバイダ装置１０６に接続することができる。図３では、両方を同じネットワーク１０５に接続するように示しているが、それらは異なるネットワークを使用してアプリケーションプロバイダ装置１０６に接続できることは理解できるであろう。
【００５８】
図４は、ユーザが、異なるユーザ装置の間でアプリケーションをシームレスに移動させる方法を示すフロー図であり、図３に示すシステム３００を参照して説明する。
【００５９】
最初に、テレビベースのユーザ装置３０１を介して、ユーザは例えばゲームＰｅｒｆｅｃｔ  Ｄａｒｋ  Ｚｅｒｏのようなアプリケーションにアクセスしている（ステップ４０１）。このアプリケーションに対する接続を、図２のステップ２０１−２１０で示し、上述したように確立しておくことができる。ユーザは、例えばそのゲームを自分のテレビでプレイしており、通勤するために家を出る必要があるかもしれない。結果として、ユーザは自分のゲームプレイを自分の携帯電話に移動させ、バスまたは電車の中でプレイを再開することを望むかもしれない。
【００６０】
ユーザは、キーパッド３０６を用いて、アプリケーションプロバイダ装置１０６に接続したいことを示す（ステップ４０２）。これを、ユーザが電話帳またはＷＡＰブラウザを選択するのと同様に、携帯電話のディスプレイ３０７上でアイコンを選択することで実現することができる。ユーザは、このステップの一部として、どのアプリケーションにアクセスしたいかを示すことができる（例えば、本シナリオ例ではＰｅｒｆｅｃｔ  Ｄａｒｋ  Ｚｅｒｏ）。通信装置３０８は、要求をアプリケーションプロバイダ装置１０６に送信する（ステップ４０３）。その要求は、ユーザを識別する情報（例えば、ユーザ名およびパスワード）、要求したアプリケーション含み、ステップ４０２でユーザにより識別された場合はさらに、使用しているディスプレイ３０７に関する情報（例えば、ディスプレイ機能の詳細）を含む。
【００６１】
要求を受信すると、コントローラ１０７は、ユーザが既に別のユーザ装置３０１を介して接続していること、およびユーザが現在ゲームＰｅｒｆｅｃｔ  Ｄａｒｋ  Ｚｅｒｏをユーザ装置上でプレイしていることを識別する（ステップ４０４）。コントローラ１０７は次いで、オプションをユーザに与える問合せを、携帯電話３０５とそのディスプレイ３０７を介してユーザに送信することができる（ステップ４０５）。そのオプションには、例えば、ゲームを携帯電話に移動、新規ゲームを開始、新規アプリケーションを開始等がある。ユーザは、その問合せにキーパッド３０６を介して応答することができ、その応答を通信装置３０８によりコントローラ１０７に送信し戻す。本例では、ユーザは、ゲームを携帯電話３０５に移したいことを示して応答する（ステップ４０６）。
【００６２】
コントローラ１０７は次いで、携帯電話に対するディスプレイ基準を決定する（ステップ４０７）。コントローラはさらに、要求されたアプリケーションと使用しているディスプレイとに基づいて必要なリソースを決定する（ステップ４０８）。必要なリソースを決定した後、コントローラはこれらのリソースをユーザに割り当てる（ステップ４０９）。割り当てたこれらのリソースは、テレビベースのユーザ装置３０１上でアプリケーションを実行できるように既に割り当てられたであろうリソースに対して加えたものである。Ｐｅｒｆｅｃｔ  Ｄａｒｋ  Ｚｅｒｏを携帯電話３０５上で実行するために割り当てられたリソース量は、テレビベースのユーザ装置３０１上でそのゲームを実行するために割り当てられたものと同じである場合がある。または、割り当てられたリソース量は、携帯電話３０５上でそのゲームをプレイするための量より少なくてもよい。なぜならば、ディスプレイ３０７は、テレビ３０２よりも相当に低解像度でサイズが小さいと考えられるからである。
【００６３】
リソースが割り当てられると、アプリケーションが開始される（ステップ４１０）。（ステップ４０７で決定した）ディスプレイ基準に従ってフォーマットしたディスプレイ情報を携帯電話３０５に送信し、携帯電話３０５においてグラフィックをディスプレイ３０７上に表示する（ステップ４１１）。図２のステップ２０８−２１０を参照して上述したように、この時点からゲームは両方のユーザ装置において並行して再開する（ステップ４１２）。
【００６４】
ユーザは次いで、テレビのスイッチを切ることができ、またはテレビベースのユーザ装置３０１上のゲームのスイッチを切ることができ（ステップ４１３）、この効果に対するメッセージがコントローラ１０７に送信される（ステップ４１４）。アプリケーションは次いで、ユーザ装置３０１上のディスプレイに対する実行を停止し（ステップ４１５）、このディスプレイ上で表示すべきアプリケーションの実行に対して以前に割り当てられたリソースが解放される（ステップ４１６）。この時点から、ユーザは、ユーザが（例えば図４に示す方法を用いて）ゲームを別のユーザ装置に移すことを望むか、または（例えば図２に示す方法を用いて）ゲームをプレイすることを停止するまで、ゲームを自身の携帯電話３０５上でのみプレイし続ける。
【００６５】
図４に示す方法例では、ステップ４０５における問合せを、携帯電話３０５を介してユーザに送信する。代替または追加として、その問合せをテレビベースのユーザ装置３０１を介してユーザに送信することができる。それに対応して、（ステップ４０６における）ユーザに対する応答を、ゲームコントローラ３０４またはキーパッド３０６のいずれかを介して作成することができる。
【００６６】
図４に示す方法例では、（ステップ４０５−４０６において）ユーザは自身がゲームを携帯電話に移したいことを確認しなければならない。しかしながら、別の例では、（ステップ４０４において）実行中の既存のアプリケーションをユーザが有するとコントローラが決定すると、ユーザが明確にこのアクションをキャンセルしない限り、コントローラは携帯電話に対してゲームを自動的に開始することができる（ステップ４０５−４０６は不要）。この結果、ユーザのゲームプレイに対する妨害を少なくすることができる。
【００６７】
更なる例では、（ステップ４０２において）ユーザは必要なアプリケーションを既に示しておくことができる。この場合、アプリケーションを自動的に開始することができるか、または（ステップ４０２において）指定したアプリケーションが（ステップ４０４で決定したように）既に実行中のアプリケーションと同じである場合に、ユーザに対して、新規ゲームを開始するオプション（即ち、別のユーザ装置上での同一アプリケーシヨンの新規バージョン）、またはそのゲームを第２のユーザ装置に移動するオプションを提供することができる。
【００６８】
図４のフロー図は、どの課金アクティビティも示さない。第１の課金カウンタを、（図２のステップ２０７にあるように）テレビベースのユーザ装置３０１に対するゲームを実行するためにリソースを最初に割り当てたときに開始しておくことができる。（ステップ４０９において）コントローラが追加リソースを割り当てるとき、第２の課金カウンタを開始することができる。（ステップ４１６において）初期リソースが解放されるときに第１の課金カウンタが停止し、第２の課金カウンタは継続する。この結果、ユーザはその期間（ステップ４０９と４１６のと間）に対して２セットのリソースに関して課金される可能性がある。この場合、ゲームは両方のセットのユーザ装置上で表示されている。
【００６９】
上述したステップ４０８−４０９では、コントローラは必要なリソースを決定し、（図２のステップ２０５にあるように）使用するアプリケーションを実行するために以前にテレビベースのユーザ装置３０１を介して割り当てたリソースに加えて、これらリソースを割り当てた。しかしながら、別の例では、図５のフローチャートに示すように、リソースを別の方法で決定および割り当てることができる。図５では、多数のステップは図４と共通であり、上述されている。
【００７０】
コントローラは（ステップ４０８に対する代替であるステップ５０１において）、ユーザがテレビベースのユーザ装置３０１および携帯電話３０５の両方でアプリケーションにアクセスするために必要な追加のリソースを決定する。この決定は、アプリケーション（この場合、Ｐｅｒｆｅｃｔ  Ｄａｒｋ  Ｚｅｒｏ）と各ディスプレイに対するディスプレイ基準（各々、図５および図２のステップ４０７および２０３で決定する）とに基づく。これらの追加リソースは、携帯電話に対してディスプレイ情報をフォーマットし、それを、ネットワークを介して送信するのに必要なリソースであることができ、さらに携帯電話から受信したユーザ入力を処理するのに必要な任意のリソースであることもできる。
【００７１】
コントローラはさらに、この時点またはステップ５０４より前の任意の時点のいずれかで、ユーザが携帯電話上でのみアプリケーションにアクセスするために必要なリソース量を決定する（ステップ５０２）。この決定は、アプリケーションとステップ４０７で決定したディスプレイ基準とに基づく。コントローラは次いで、ステップ５０１において決定したように、ユーザに以前に割り当てたリソースに加えて必要な追加リソースを割り当てる（ステップ５０３）。
【００７２】
（ステップ４１５において）アプリケーションがテレビベースのユーザ装置上での実行を停止すると、ユーザに割り当てられたリソース量は、ちょうど携帯電話３０５上でのアプリケーションの使用に必要な量となるように削減される（ステップ５０４）。従って、割り当てられたリソースの残りは解放され、次に別のユーザに割り当てることができる。
【００７３】
図５に示す方法に対して可能な課金処理は、３つの課金カウンタを要する。第１の課金カウンタは、初期リソースがユーザに割り当てられる時間の長さを計算し、第２の課金カウンタは、追加リソースがユーザに割り当てられた時間の長さを計算し、第３の課金カウンタは、最後の、携帯電話専用のリソースがユーザに割り当てられた時間の長さを計算する。アプリケーションプロバイダは、第２のカウンタに対して課金することを選択することができ、またはこのコストを自身で負担することができる。
【００７４】
図４および図５は、アプリケーションが２つのユーザ装置３０１、３０５の各々の上で並行に実行されることを示す。しかしながら、代替例において、ユーザ装置間での移動が発生する間にゲームを一時停止することができる。ゲームを、移動要求を行った時点（ステップ４０３）で、またはゲームが第２のユーザ装置に対して開始する前のより直近の時点（ステップ４１０より前）で、一時停止することができる。ゲームを一時停止することで、ユーザはゲームのどの部分も失うことなく第２のユーザ装置に移動することができる。一時停止により、２つのユーザ装置上で同時にゲームをプレイし且つ表示できるようにリソースを割り当てる必要性が排除される（例えば、追加リソースをステップ５０１および５０３で決定および割り当てる必要がない）。さらに、上記の一時停止機能を用いると、ユーザに対するコストを削減することができる（上の段落で説明した第２の課金カウンタは必要ない）。ユーザに対して、移動を行っている間にゲームを一時停止させるか否かのオプション（例えば、ステップ４０５の問合せにおいて）を提示することができる。
【００７５】
図１−５および対応する上述の説明は、アプリケーションプロバイダ装置からユーザ装置に送信されているディスプレイ情報に関する。加えて、音声情報および／または他の感覚情報を、アプリケーションプロバイダ装置によりユーザ装置に送信することができる。音声または他の感覚情報はさらに、送信前にアプリケーションプロバイダ装置によりフォーマットされ、このフォーマット化は、ユーザが使用している装置に関して受信した情報に基づいて、アプリケーションプロバイダ装置が決定する適切な基準に従う。音声情報はゲームのプレイに伴って生じる音であり、アプリケーションの実行時、およびユーザに送信されているディスプレイ情報に伴うオーディオまたはサウンドトラックのストリーミング時に警告または通知としての役割を果たすことができる、ビープ音または他の雑音に伴って生じる音であることができる。他の感覚情報は、ユーザが（例えば、ゲームコントローラ３０４または携帯電話３０５を介して）感じることができる振動、または他の視覚効果（例えば、携帯電話３０５上で光を点滅させること）を含むことができる。
【００７６】
音声基準を、本明細書ではオーディオ特性に関する情報と称するユーザのオーディオ装置に関する情報に基づいて決定することができ、アプリケーションに対する要求内で提供する（図２のステップ２０２）かまたは後に提供することができる。上記の情報は（図６に示すように）ユーザ装置の一部であるかまたはユーザ装置に接続されるオーディオ装置の機能またはタイプ、例えばスピーカ数、スピーカタイプ、サラウンドサウンドが可能か否か、ヘッドフォンタイプ、ダイナミックレンジ等を明示的に詳述してもよく、あるいは上記の情報は、アプリケーションプロバイダ装置１０６が解釈可能なコードまたは他の表現であってもよい。ユーザは、必要な品質、圧縮レベル等の音声基準に影響する幾つかの入力を提供してもよい。
【００７７】
他の感覚基準を、ユーザ装置の特定の機能に関する情報に基づいて決定することができる。その基準を、アプリケーションに対する要求内で提供する（図２のステップ２０２）かまたは後に提供することができる。ディスプレイ特性に関する情報および上述のオーディオ特性に関する情報に関して、他の感覚特性に関する情報は、ユーザ装置の一部であるかまたはユーザ装置に接続される装置の機能またはタイプを明示的に詳述してもよく、あるいは上記の情報は、アプリケーションプロバイダ装置１０６が解釈可能なコードまたは他の表現であってもよい。
【００７８】
図６は、アプリケーションをユーザに提供する第３のシステム６００を示す。要素の多くは図１および図３と共通である。しかしながら、図６に示すシステムでは、ユーザ装置６０１は、振動の機能を有するゲームコントローラ６０２とオーディオ装置６０３を含み、携帯電話６０４である第２のユーザ装置は、振動メカニズム６０５を含む。
【００７９】
図７は、アプリケーションをユーザに提供する第４のシステム７００を示す。システム７００における多数の要素は、図３に示すものと同じである。ユーザ装置７０１は、ディスプレイ装置としてテレビ３０２に接続した単一の通信装置３０３を含む。通信装置３０３に接続された多数のゲームコントローラ７０２−７０５も存在し、２人以上のプレイヤがゲームを同時にプレイすることができる。ただし、全てのプレイヤはテレビ３０２上の同じ画像を参照する。
【００８０】
１つの例では、ゲームコントローラ７０２を使用する１人のユーザが、図１および図２を参照して上述した方法で、アプリケーションプロバイダ装置１０６上で実行されるゲームのプレイを開始することができる。続いて、追加のユーザが追加のゲームコントローラ７０３−７０５を用いてゲームに参加することができる。更なるゲームコントローラを追加するには、追加の少量の処理能力をアプリケーションプロバイダ装置１０６側に提供する必要がある。結果として、追加のゲームコントローラが通信装置３０３に接続される場合、通信装置はアプリケーションプロバイダ装置１０６に信号を送信することができる。その信号は、通信装置３０３に接続したばかりの追加の装置に関する情報を含む。これにより、アプリケーションプロバイダ１０６は、上述の方法で必要なリソース量を再計算することができる。本例では、割り当てられたリソースの全て（元のリソースに、追加のゲームコントローラをゲームに追加するのに必要な追加のリソースを加えたもの）に対して第１のユーザに課金することができる。または、追加コントローラの接続時に、追加コントローラそれぞれに必要な追加リソースに対して課金を別々に行うことができる。追加のコントローラを加える場合に必要なこれらの追加リソース量は、それら全てが単一のディスプレイを見ているので、少ないと考えられる。
【００８１】
第２の例では、全ての４つのゲームコントローラは、通信装置がアプリケーションプロバイダ装置１０６からアプリケーションを要求する時点でアクティブであることができ、従ってユーザ装置７０１内部の全ての要素に関する情報を初期要求で送信することができ、それによりアプリケーションプロバイダ装置１０６は割り当てるべきリソースの正確な量を決定することができる。
【００８２】
図１、図３、および図６は、各ユーザ装置１０１、３０１、３０５、６０１、６０４における単一のユーザ入力装置１０２、３０４、３０６、６０２、６０３を示し、図７は、ユーザ装置７０１においてユーザ毎のユーザ入力装置７０２−７０５を示す。別の実施態様では、ユーザ装置は２つ以上のユーザ入力装置を備えることができる。例えば、ユーザ装置は、（図３および図６にあるように）ユーザ入力を提供するために使用可能な、例えばキーパッド、マイクロフォンおよびカメラのような複数の要素を含むコンピュータまたは携帯電話であってもよい。１つまたは複数のこれらのユーザ入力装置からの情報を、コントローラに伝達することができる。その情報には例えば、キーストローク、音声、会話、電話内の音声認識要素からの出力、静止画像、ムービークリップ等がある。前述のように、ユーザ装置は装置の統合部分（integrated piece）でなくてもよく、代わりに、有線または無線リンクを介して通信可能な独立した実体（separate entity）の集合であることができる。例えば、（図１に示す）通信装置１０４は、追加の情報をコントローラ１０７に伝達できるように、例えば携帯電話、デジタルカメラのような他のユーザ入力装置に接続してもよい。
【００８３】
ユーザ入力装置に加えて、またはその代わりとして、ユーザ装置は追加の入力装置を備えてもよい。上記の追加の入力装置は、位置情報、他の感覚情報等の外部ソースからの情報を提供することができる。例えば、（図３および図６にあるように）ユーザ装置は、ＧＰＳ（全地球測位システム）受信機を含む携帯電話であることができ、従ってユーザ装置の位置に関する情報をコントローラ１０７に伝達することができる。上述のように、追加の入力装置をユーザ装置に組み込む必要はなく、有線または無線リンクにより通信装置に対して接続可能であってもよい。上記の追加の入力装置の例は、ＧＰＳ受信機、無線受信機およびＲＦＩＤ（無線周波数識別）読取機を含むがこれらに限らない。
【００８４】
更なるユーザ入力装置または追加の入力装置が提供する追加の情報を、アプリケーションに対する要求の一部として（ステップ２０２）または別々に（例えば、ステップ３１０）コントローラ１０７に伝達することができる。コントローラが受信すると、情報は、実行されているアプリケーションを制御すること、またはそのアプリケーションに影響を及ぼすことができる。例えば、カメラからの画像をゲームに組み込むこと、位置情報をファイルに記録すること、または位置情報を使用してゲームの動作に影響を及ぼすこと等が可能である。
【００８５】
上述の例を、ゲームを参照して説明した。本発明を、ビデオおよび／またはオーディオをアプリケーションプロバイダ装置からストリーミングすることを含む全ての種類のアプリケーションに適用可能であることは明らかであろう。ユーザはダウンロードするためにトラック／ビデオを選択することができ、次いでディスプレイおよび／またはオーディオ情報が、ユーザ装置に送信される前に、アプリケーションプロバイダ装置により決定される基準に従ってフォーマットされる。ユーザが見たものまたは聴いたもの、およびデータの送信または処理に用いた品質またはリソースに従って、ユーザに課金することができる。
【００８６】
図１、図３、図６および図７では、アプリケーションプロバイダ装置１０６をグループ化して示してある。アプリケーションプロバイダ装置を構成する要素を同一場所に配置する必要はなく、１つのネットワークまたは幾つかのネットワークに渡って分散させることができる。各リソースを分散させることもでき、コントローラの機能を、この機能を実施可能な幾つかの要素で分散させることもできる。同じ機能を実施できるアーキテクチャおよび複数の物理的要素を分散させると、システムの信頼性および弾力性において利点が得られる。
【００８７】
当技術分野の技術者は、プログラム命令の記憶に利用する記憶装置をネットワークに渡って分散できることに気がつくであろう。例えば、リモートコンピュータは、説明したプロセスの例をソフトウェアとして記憶することができる。ローカルまたは端末コンピュータはリモートコンピュータにアクセスし、そのソフトウェアの一部または全部をダウンロードしてプログラムを実行することができる。または、ローカルコンピュータは、そのソフトウェアの一部を必要に応じてダウンロードすること、またはローカル端末にある幾つかのソフトウェア命令とリモートコンピュータ（またはコンピュータネットワーク）にある幾つかのソフトウェア命令を実行することができる。当技術分野の技術者は、当技術分野の技術者に公知な従来技術を利用することで、ソフトウェア命令の全てまたは一部をＤＳＰ、プログラマブルロジックアレイ等の専用回路により実行できることにも気づくであろう。
【００８８】
当技術分野の技術者には明らかなように、本明細書で示した任意の範囲または装置を、求めた効果を失わずに拡張または変更することができる。方法のステップを特定の順序で上述したが、これは例に過ぎず、求めた効果を失わずにそのステップの一部または全部を別の順序で実施できることも、当技術分野の技術者は理解するであろう。
【００８９】
図２、図４および図５で示し、上述したステップの順序は、１つの例に過ぎないことが理解されるであろう。求めた効果を失わずに、そのステップを別の順序で実施することができ、ステップの一部または全部を実質的に同時に実施することができる。
【００９０】
上述の好適な実施態様の説明は例として示したに過ぎず、当技術分野の技術者により様々な変更を加えうることは理解されるであろう。
【図面の簡単な説明】
【００９１】
【図１】アプリケーションをユーザに提供するシステムの概略図である。
【図２】図１のシステムの動作方法の例を示すフロー図である。
【図３】アプリケーションをユーザに提供する第２のシステムの概略図である。
【図４】図３のシステムの動作方法の例を示すフロー図である。
【図５】図３のシステムの第２の動作方法の例を示すフロー図である。
【図６】アプリケーションをユーザに提供する第３のシステムの概略図である。
【図７】アプリケーションをユーザに提供する第４のシステムの概略図である。
【図１】
2009523268.tif 000003
【図２】
2009523268.tif 000004
【図３】
2009523268.tif 000005
【図４】
2009523268.tif 000006
【図５】
2009523268.tif 000007
【図６】
2009523268.tif 000008
【図７】
2009523268.tif 000009
【国際調査報告】
2009523268.tif 000010
2009523268.tif 000011