ハイパーテキスト転送プロトコルHTTP接続を介して仮想アプリケーションを起動する要求を受信することと、前記要求に応答して、前記仮想アプリケーションが有効なライセンスを有するか否かを判断することと、前記仮想アプリケーションが有効なライセンスを有するとの判断に応答して、前記HTTP接続を介して前記仮想アプリケーションの少なくとも一部をクライアントデバイスにストリーミングすることとのためのコンピューターによって実施される動作を含むことを特徴とするコンピューター実装方法。前記仮想アプリケーションが有効なライセンスを持たないとの判断に応答して、前記HTTP接続を介して前記仮想アプリケーションをストリーミングしないことを更に含むことを特徴とする請求項1に記載のコンピューター実装方法。前記仮想アプリケーションの実行をモニタリングすることと、前記仮想アプリケーションの前記実行の前記モニタリングすることに基づいて、前記仮想アプリケーションの利用状況を示した利用データを生成することと、前記HTTP接続を介して前記利用データをサーバーコンピューターに伝送することとをさらに含むことを特徴とする請求項2に記載のコンピューター実装方法。前記ソフトウェアライセンスは、前記ソフトウェアライセンスが期限切れであるまたは存在しないために、無効であることを特徴とする請求項3に記載のコンピューター実装方法。前記仮想アプリケーションが有効なライセンスを有するか否かを判断することは、クライアントデバイスによって提供されたシリアル番号が前記ソフトウェアライセンスに関連付けられたシリアル番号と一致するか否かを判断することを含むことを特徴とする請求項1に記載のコンピューター実装方法。アプリケーションが有効なライセンスを有するか否かを判断することは、サーバー上で実行しているライセンシング/メータリングコンポーネントに接続して前記仮想アプリケーションが有効なソフトウェアライセンスを有するか否かを判断することを含むことを特徴とする請求項1に記載のコンピューター実装方法。前記ライセンシング/メータリングコンポーネントは、アプリケーションプログラミングインターフェースAPIを公開して前記仮想アプリケーションに対して有効なソフトウェアライセンスが存在することを確認することを特徴とする請求項6に記載のコンピューター実装方法。前記仮想アプリケーションが有効なライセンスを有するか否かを判断することは、前記仮想アプリケーションをストリーミングする前に行われることを特徴とする請求項1に記載のコンピューター実装方法。コンピューターによって実行されると、前記コンピューターに、ハイパーテキスト転送プロトコルHTTP接続を介して仮想アプリケーションを起動する要求を受信させ、前記要求に応答して、前記仮想アプリケーションが有効なライセンスを有するか否かを判断させ、前記仮想アプリケーションが有効なライセンスを有するとの判断に応答して、前記HTTP接続を介して前記仮想アプリケーションの少なくとも一部をクライアントデバイスにストリーミングさせるコンピューター実行可能命令が記憶されることを特徴とするコンピューター可読記憶媒体。前記コンピューターによって実行されると、アプリケーションに対して利用可能なソフトウェアライセンスの数を超える場合、前記コンピューターに前記仮想アプリケーションをストリーミングさせないコンピューター実行可能命令がさらに記憶されることを特徴とする請求項9に記載のコンピューター可読記憶媒体。以下に、ソフトウェアライセンスを認証する技術および仮想アプリケーションの利用状況をメータリングする技術について詳細に説明する。簡単に上述したように、仮想アプリケーションが実行される時に、仮想アプリケーションに関連付けられたソフトウェアライセンスを認証するように構成されたアプリケーション仮想環境を提供する。アプリケーション仮想環境はさらに、ライセンシング/メータリングコンポーネントを使用して、仮想アプリケーションの利用状況をモニタリングするように構成される。ソフトウェアライセンスおよび仮想アプリケーションの利用状況に関するデータは、HTTPプロトコルを使用して交換されてもよい。本明細書で説明される発明の主題は、一般的なコンピューターシステム上でオペレーティングシステムおよびアプリケーションプログラムと共に実行するプログラムモジュールとの関連で示されているが、当業者は、他のタイプのプログラムモジュールと組み合わせた他の実装も可能であることは理解するであろう。一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造体、および特定のタスクを実行する、または特定の抽象データ型を実装する他のタイプの構造体を含む。また、当業者は、本明細書で説明される発明の主題が他のコンピューターシステム、例えば、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家庭用電化製品、ミニコンピューター、メインフレームコンピューターなどによって実施可能であることも理解するであろう。以下の詳細な説明では、明細書の一部であり、特定の実施形態もしくは実施例を例示した添付図面を参照するものとする。図面では、複数の図面にわたって同じ参照番号は同じ要素を指しており、これらの図面を参照しながら、コンピューティングシステムおよび仮想アプリケーションのライセンシングならびにメータリング方法の態様について説明する。図1は、本明細書で開示される実施形態の1つの例示的なオペレーティング環境100を示したソフトウェアおよびネットワークのアーキテクチャの図である。図1に示される例示的なオペレーティング環境100は、ネットワーク106を介してサーバー104と通信するように構成されたクライアントデバイス102を含む。クライアントデバイス102は、オペレーティングシステム108Aおよびアプリケーション仮想化クライアントコンポーネント110を実行するように構成されたコンピューティングデバイスである。クライアントデバイス102は、標準的なデスクトップもしくはラップトップコンピューター、タブレットコンピューター、スマートフォン、または仮想アプリケーションのライセンシングおよびメータリングのために本明細書で示されている動作を実行することができる任意の他のコンピューティングデバイスとしてよい。また、クライアントデバイス102は、本明細書で開示されている機能を提供することができるサーバーコンピューターとしてもよい。サーバー104は、オペレーティングシステム108Bおよびアプリケーション仮想化サーバーコンポーネント116を実行するように構成されたコンピューティングデバイスである。当然、サーバー104は、アプリケーション仮想化サーバーコンポーネント110を実行するように構成された実際のサーバーコンピューターとしてもよいし、サーバー104によって実行されるように本明細書で記載されている機能を実行するように構成された別のタイプのコンピューターシステムを備えてもよい。図1に示されているネットワーク106は、ワイドエリアネットワークまたはローカルエリアネットワークを備えてもよい。例えば、ネットワーク106は、企業のローカルエリアネットワーク、インターネットなどのワイドエリアネットワーク、または複数のワイドエリアネットワークおよびローカルエリアネットワークの組み合わせたものとしてもよい。当然、図1には1つのネットワーク106が示されているが、多くの他のネットワークを使用してもよい。また、当然、図1には、1つのクライアントデバイス102と1つのサーバー104が示されているが、本明細書で記載される実施形態で多くのクライアントデバイスおよびサーバーを使用してもよい。簡単に上述したように、クライアントデバイス102は、アプリケーション仮想化クライアントコンポーネント110を実行するように構成される。アプリケーション仮想化クライアントコンポーネント110は、アプリケーション仮想環境を提供するように構成されたソフトウェアコンポーネントである。これに関して、アプリケーション仮想化クライアントコンポーネント110は、仮想アプリケーション112を実行するように構成される。アプリケーション仮想化クライアントコンポーネント110は、オペレーティングシステム108Aから仮想アプリケーション112の実行をカプセル化する機能を提供する。さらに、アプリケーション仮想化クライアントコンポーネント110は、クライアントデバイス102の他のアプリケーションプログラムおよびシステムリソースから仮想アプリケーション112の実行をカプセル化する機能を提供してもよい。例えば、アプリケーション仮想化クライアントコンポーネント110は、オペレーティングシステム108Aまたはクライアントデバイス102のリソースを仮想化してもよい。仮想アプリケーション112が物理的リソースへのアクセスを試みた時に、アプリケーション仮想化クライアントコンポーネント110は、仮想リソースをアプリケーション112に提示する。このように、オペレーティングシステム108Aまたはクライアントデバイス102によって公開される実際のリソースに影響を与えない形で仮想アプリケーション112を実行することができる。他の態様によれば、アプリケーション仮想化クライアントコンポーネント110は、要求に応じて仮想アプリケーション112の一部をロードする機能も提供する。特に、アプリケーション仮想化クライアントコンポーネント110は、アプリケーション仮想化サーバーコンポーネント116と一緒に動作して仮想アプリケーション112の必要な部分をサーバー104からクライアントデバイス102にストリーミングしてもよい。このように、必要に応じて、クライアントデバイス102で仮想アプリケーション112が完全にインストールされていなくても、クライアントデバイス102において仮想アプリケーション112にアクセスすることができる。さらに、仮想アプリケーション112の実行をカプセル化するために、また仮想アプリケーション112をサーバー104からクライアントデバイス102にストリーミングするために、アプリケーション仮想化クライアントコンポーネント110によって提供される種々の機能に関する詳細については、特許文献1、特許文献2、特許文献3、および特許文献4に記載されており、上述のそれぞれの特許の内容全体を参照によって本願明細書に引用したものとする。仮想アプリケーション112は、トランスポートプロトコルを使用して、アプリケーション仮想化サーバーコンポーネント116からアプリケーション仮想化クライアントコンポーネント110にストリーミングされてもよい。例えば、本明細書で開示される一実施形態では、仮想アプリケーションは、HTTPプロトコルを使用してサーバー104からクライアント102にストリーミングされる。HTTPプロトコルを使用してサーバー104からクライアント102に仮想アプリケーション112をストリーミングするのは、典型的なストリーミングプロトコル、例えば、リアルタイムストリーミングプロトコルrealtimestreamingprotocol:RTSPを使用する場合より、効率がよく、速い場合がある。一実装によれば、アプリケーション仮想化サーバーコンポーネント116はさらに、ソフトウェアライセンスの行使およびメータリングの機能を提供するように構成される。例えば、一実施形態では、仮想アプリケーション112に関連付けられたソフトウェアライセンスを認証するように構成されたライセンシング/メータリングコンポーネント114を備える。ソフトウェアライセンスが認証された場合、ライセンシング/メータリングコンポーネント114は、仮想アプリケーション112がクライアントデバイス102にストリーミングされるのを許可する。ソフトウェアライセンスが認証されない場合、ライセンシング/メータリングコンポーネント114は仮想アプリケーション112がクライアントデバイス102にストリーミングされるのを許可しないことになる。ライセンシング/メータリングコンポーネント114は、仮想アプリケーション112のソフトウェアライセンスの認証をさまざまな方法で支援するように構成されてもよい。例えば、ライセンシング/メータリングコンポーネント114は、ライセンシング/メータリングコンポーネント114によって記憶されている、もしくはライセンシング/メータリングコンポーネント114にアクセス可能な仮想アプリケーション112に関連付けられたシリアル番号をクライアントデバイス102のユーザによって入力されサーバー104によって受信されたシリアル番号と比較することでソフトウェアライセンスを認証してもよい。ユーザによって入力されたシリアル番号がライセンシング/メータリングコンポーネント114によって記憶されている、もしくはライセンシング/メータリングコンポーネント114にアクセス可能なシリアル番号と一致すれば、ライセンシング/メータリングコンポーネント114は、アプリケーション仮想化サーバーコンポーネント116がアプリケーション仮想化クライアントコンポーネント110に要求された仮想アプリケーション112をストリーミングするのを許可する。シリアル番号が一致しない場合、仮想アプリケーション112はストリーミングされないことになる。また、ライセンシング/メータリングコンポーネント114は、クライアントデバイス102上で実行している仮想アプリケーション112から受信した認証要求を受信して処理することで、ソフトウェアライセンスを認証してもよい。この点に関して、多くのアプリケーションは、ローカルもしくはリモートサーバーコンポーネントと通信することによって認証プロセスを実行するように構成される。適切なデータ交換によって、アプリケーションは自身を認証させて実行を開始することができる。一実施形態では、ライセンシング/メータリングコンポーネント114は、クライアントデバイス102上で実行している仮想アプリケーション112からの認証要求を受信して応答するように構成される。この点に関して、ライセンシング/メータリングコンポーネント114は、これらのコールを受け取るために、少なくとも1つのアプリケーションプログラミングインターフェースapplicationprograminginterface:APIを公開してもよい。さまざまな製造会社によって作成されたアプリケーションが認証のためにライセンシング/メータリングコンポーネント114にコールすることができるように、ライセンシング/メータリングコンポーネント114によって、さまざまなAPIが公開されてもよい。公開されたAPIによる認証要求の受信に応答して、ライセンシング/メータリングコンポーネント114は、アプリケーション112の実行を許可してよいか否かを判断してもよい。例えば、ライセンシング/メータリングコンポーネント114は、アプリケーション112の有効なライセンスの検証に基づいて、アプリケーション112の実行を許可してもよいか否かを判断してもよい。他のメカニズムを利用してもよい。ライセンシング/メータリングコンポーネント114は、仮想アプリケーション112がクライアントデバイス102にストリーミングされた時点で仮想アプリケーション112の利用状況をモニタリングしてもよい。ライセンシング/メータリングコンポーネント114は、仮想アプリケーション112の現在の利用状況、ユーザのログイン、仮想アプリケーション112の使用時間、ユーザがアプリケーションを開いた時点または閉じた時点などに関する情報を収集してもよい。アプリケーション仮想化クライアントコンポーネント110、ライセンシング/メータリングコンポーネント114、アプリケーション仮想化サーバーコンポーネント116、クライアントデバイス102、およびサーバー104の動作に関して、図2を参照しながらさらに詳細に後述する。当然、ライセンシング/メータリングコンポーネント114はサーバー104上で実行するものとして示されているが、一部もしくは全体がクライアントデバイス上で実行してもよい。例えば、一実施形態では、ライセンシング/メータリングコンポーネントは、上述したライセンシングおよびメータリング機能の全てもしくは一部を実行するためにクライアントデバイス102上で実行する。また、他の実施形態では、ライセンシング/メータリングコンポーネント114によって実行されるとして本明細書で記載されている機能は、アプリケーション仮想化サーバーコンポーネント116、アプリケーション仮想化クライアントコンポーネント110、またはサーバー104、クライアントデバイス102、もしくは別のコンピューター上で実行する他のプログラムと直接統合されてもよい。当然、仮想アプリケーション112のライセンシングまたは利用状況に関するデータは、HTTPプロトコルを使用してクライアント102とサーバー104との間で伝送されてもよい。他の実施形態は、当業者には明らかであろう。図2は、仮想アプリケーションのライセンス行使およびメータリングのための本明細書で開示される1つの例示的なプロセスの態様を示すルーチン200のフロー図である。当然、図2および他の図に関して本明細書で説明される論理動作は、1コンピューティングシステム上で実行される一連のコンピューター実装動作またはプログラムモジュールとして、および/または2コンピューティングシステム内の相互接続マシン論理回路または回路モジュールとして実装される。実装は、コンピューターシステムの性能や他の要件に基づいて選択できる。したがって、本明細書内で説明される論理動作は、動作、構造装置、アクト、またはモジュールとさまざまな呼び方で呼ばれる。これらの動作、構造装置、アクト、およびモジュールは、ソフトウェア、ファームウェア、専用のデジタル論理、およびこれらの任意の組み合わせにおいて実装されてもよい。当然、図示され、本明細書で示されている例よりも多くの動作または少ない動作を実行してもよい。これらの動作は、本明細書で示されている例とは異なる順序で実行されてもよい。ルーチン200は、動作202で始まり、アプリケーション仮想化サーバーコンポーネント116が仮想アプリケーション112を起動する要求が受信されたか否かを判断する。例えば、クライアントデバイス102のユーザがアプリケーション112を起動するように要求を出してもよい。アプリケーション仮想化サーバーコンポーネント116が仮想アプリケーション112を起動する要求が受信されたと判断した場合、ルーチン200は動作202から動作204に進む。動作204において、ライセンシング/メータリングコンポーネント114はこの仮想アプリケーション112に対して有効なソフトウェアライセンスが存在するか否かを判断する。ライセンスが期限切れである、または存在しない場合、ソフトウェアライセンスは無効となる。また、要求の期間がライセンスの期間を超えた場合も、ライセンスは無効となる。例えば、ライセンスは、アプリケーションの指定数のインスタンスのみが同時に実行可能であることを示してもよい。ソフトウェアライセンスは、その他の理由でも無効と見なされる場合がある。上述したように、アプリケーション仮想化サーバーコンポーネント116は、ユーザによる要求およびソフトウェアライセンス認証により、仮想アプリケーション112をアプリケーション仮想化クライアントコンポーネント110にストリーミングしてもよい。ライセンシング/メータリングコンポーネント114が要求されたアプリケーション112に対して有効なソフトウェアライセンスが存在すると判断した場合、ルーチン200は動作204から動作208に進む。ライセンシング/メータリングコンポーネント114がアプリケーション112に対して有効なソフトウェアライセンスが存在しないと判断した場合、ルーチン200は動作206に進み、サーバー104はクライアントデバイス102に仮想アプリケーション112をストリーミングすることができなくなる。ルーチン200は、動作206から動作214に進み、ルーチンが終了する。動作208において、アプリケーション仮想化サーバーコンポーネント116は、アプリケーション112の全てまたは一部をクライアントデバイス102にストリーミングする。上述したように、アプリケーション112は、HTTP接続によってクライアントデバイスにストリーミングされてもよい。ルーチン200は、動作208から動作210に進み、アプリケーション仮想化クライアントコンポーネント110がアプリケーション112を仮想化する。上述したように、この動作は、基礎となるオペレーティングシステム、他のアプリケーションプログラム、およびシステムリソースから仮想アプリケーション112をカプセル化する動作を含んでもよい。ルーチン200は、動作210から動作212に進み、ライセンシング/メータリングコンポーネント114が仮想アプリケーション112の実行をモニタリングして、仮想アプリケーション112の実行および利用状況に関する情報本明細書では、利用データと呼ばれるを生成する。生成される情報は、仮想アプリケーション112の利用状況、仮想アプリケーション112の使用時間などに関する情報としてもよい。ルーチン200は、動作212から動作204に進み、クライアントデバイス102とサーバー104との異なる同期時間に、アプリケーション112のライセンスが再確認される。したがって、仮想アプリケーション112は、ライセンスが有効でなくなるので仮想アプリケーション112の利用を無効にすべきか否かを判断して、ライセンスが有効でなくなると、確実に仮想アプリケーション112が公開されないようにするために、継続的にモニタリングされる。アプリケーションの実行時にライセンスを確認することで、本明細書内で開示されている技術により、アプリケーション112が実行中でも確実にソフトウェアライセンスが適切に行使される。図3は、本明細書に示されている種々の実施形態を実装することができるコンピューティングシステムの例示的なコンピューターハードウェアおよびソフトウェアのアーキテクチャを示したコンピューターキテクチャの図である。図3に示されているコンピューターキテクチャは、従来のデスクトップ、ラップトップコンピューター、またはサーバーコンピューターを示しており、本明細書で示されている種々のソフトウェアコンポーネントを実行するのに使用することができる。図3に示されているコンピューターキテクチャは、中央処理装置302centralprocessingunit:CPUと、ランダムアクセスメモリrandomaccessmemory:RAM314およびリードオンリメモリreadonlymemory:ROM316を含むシステムメモリ308と、メモリをCPU302に接続するシステムバス304とを含む。起動時などにコンピューター300内の要素間で情報を伝達するのを支援する基本ルーチンを含む基本入出力システムbasicinputoutputsystem:BIOSは、ROM316内に記憶されている。コンピューター300はさらに、オペレーティングシステム318、アプリケーションプログラム、および他のプログラムモジュールを記憶するための大容量記憶装置310を含む。この大容量記憶装置310については、以下で詳細に説明する。大容量記憶装置310は、バス304に接続される大容量記憶装置コントローラー図示せずを介してCPU302に接続される。大容量記憶装置310および関連するコンピューター可読記憶媒体は、コンピューター300の不揮発性記憶装置となる。コンピューター可読記憶媒体は、本明細書内ではハードディスクまたはCD-ROMドライブのような大容量記憶装置について説明されているが、コンピューター可読記憶媒体はコンピューター300によってアクセス可能な任意の利用可能なコンピューター記憶媒体も可能であることは当業者には理解できるであろう。例えば、コンピューター可読記憶媒体として、コンピューター可読命令、データ構造体、プログラムモジュール、または他のデータのような情報を記憶するための任意の方法または技術で実現される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体が挙げられるが、これに限定されない。例えば、コンピューター可読記憶媒体として、RAM、ROM、EPROM、EEPROM、フラッシュメモリ、もしくは他のソリッドステートのメモリ技術、CD-ROM、デジタル多用途ディスクdigitalversatiledisk:DVD、HD-DVD、BLU-RAY登録商標、もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、または所望の情報を記憶するのに使用することができ、コンピューター300によってアクセス可能なその他の持続性媒体が挙げられるが、これらに限定されない。当然、本明細書で開示されているコンピューター可読媒体は通信媒体も含む。通信媒体は、典型的には、コンピューター可読命令、データ構造体、プログラムモジュール、または他のデータを、搬送波または他の搬送機構のような変調データ信号で具現化するものであり、情報伝達媒体を含む。用語変調データ信号とは、少なくとも1つの特性セットを有する、または情報を信号でエンコードするように変換された信号のことである。例えば、通信媒体として、有線ネットワークもしくは直接有線接続のような有線媒体、音波、RF、赤外線および他の無線媒体のような無線媒体が挙げられるが、これらに限定されない。上述の通信媒体の任意の組み合わせもコンピューター可読媒体の範囲に含まれるものとする。コンピューター可読記憶媒体には、通信媒体は含れない。種々の実施形態によれば、コンピューター300は、ネットワーク320のようなネットワークを介してリモートコンピューターへの論理接続を使用して、ネットワーク環境で動作することができる。コンピューター300は、バス304に接続されるネットワークインターフェースユニット306を介してネットワーク320に接続してもよい。当然、ネットワークインターフェースユニット306は、他のタイプのネットワークやリモートコンピューターシステムに接続するのに使用されてもよい。さらに、コンピューター300は、多数の他の装置、例えば、キーボード、マウス、または電子スタイラスペン図3には図示せずからの入力を受信して処理するための入出力コントローラー312を含んでもよい。同様に、入出力コントローラーは、ディスプレイ画面、プリンタ、または他のタイプの出力装置図3には図示せずに対して出力を行うことができる。簡単に上述したように、多数のプログラムモジュールおよびデータファイルは、ネットワーク化されたデスクトップ、ラップトップ、またはサーバーコンピューターの動作を制御するのに適したオペレーティングシステム318を含む大容量記憶装置310およびコンピューター300のRAM314に記憶されてもよい。大容量記憶装置310およびRAM314は、少なくとも1つのプログラムモジュールを記憶することもできる。特に、大容量記憶装置310およびRAM314は、仮想アプリケーション112、アプリケーション仮想化サーバーコンポーネント116、ライセンシング/メータリングコンポーネント114、および/または上述した他のソフトウェアコンポーネントを記憶することができる。大容量記憶装置310およびRAM314は、他のプログラムモジュールおよびデータを記憶することもできる。一般に、ソフトウェアアプリケーションまたはモジュールは、CPU302にロードされて実行されると、CPU302およびコンピューター300全体を汎用コンピューティングシステムから本明細書に示されている機能を実行するようにカスタマイズされた専用のコンピューティングシステムに変換することができる。CPU302は、任意の数のトランジスタまたは他のディスクリート回路素子で構成され、これらは個々に、または協働して任意の数の状態を呈することができる。より詳細には、CPU302は、ソフトウェアまたはモジュール内に含まれる実行可能な命令に応答して有限状態機械として動作することができる。コンピューター実行可能命令は、2つの状態の間でCPU302が遷移する様子を指定することによってCPU302を変換して、CPU302を構成するトランジスタまたは他のディスクリートハードウェア素子を物理的に変化させることができる。また、大容量記憶装置にソフトウェアまたはモジュールをエンコードすることで、大容量記憶装置または関連するコンピューター可読記憶媒体の物理的構造を変化させることができる。物理的構造の特定の変化は、上述の異なる実装において、さまざまな要因によって決まる可能性がある。この要因の例として、コンピューター可読記憶媒体を実装するのに使用される技術、コンピューター可読記憶媒体が一次記憶装置と見なされるか、または二次記憶装置と見なされるかなどが挙げられるが、これらに限定されない。例えば、コンピューター可読記憶媒体が半導体ベースのメモリとして実装される場合、ソフトウェアまたはモジュールは、ソフトウェアがエンコードされると、半導体メモリの物理的状態を変化させることができる。例えば、ソフトウェアは、半導体メモリを構成するトランジスタ、コンデンサ、または他のディスクリート回路素子の状態を変化させることができる。別の例として、コンピューター可読記憶媒体は、磁気技術または光技術を使用して実装されてもよい。このような実装では、ソフトウェアまたはモジュールは、ソフトウェアがエンコードされると、磁気媒体または光媒体の物理的状態を変化させることができる。これらの変換は、所与の磁気媒体の特定の位置の磁気特性を変えることを含んでもよい。また、これらの変換は、所与の光媒体の特定の物理的特徴または特性を変えてこれらの位置の光学特性を変えることを含んでもよい。本発明の説明の範囲および精神から逸脱せずに他の物理媒体の変換も可能であり、上述の例は、単に本発明の説明を進めるために示したにすぎない。このことに基づいて、本明細書で仮想アプリケーションのライセンス行使およびメータリングの技術が示されていることは理解されたい。本明細書で示されている発明の主題は、コンピューターの構造的特徴、方法動作、およびコンピューター可読媒体に特定して説明されているが、添付の請求項で定義される本発明は、必ずしも本明細書に記載されている特定の特徴、動作、または媒体に限定されるものではないことは理解されたい。むしろ、特定の特徴、動作、および媒体は、請求項を実装する形態例として開示されている。上述の発明の主題は、単なる例として示されており、限定的なものと見なすべきではない。図示され説明されている実施形態およびアプリケーションの例に従うのではなく、また以下の請求項で説明される本発明の真の精神および範囲から逸脱せずに、本明細書に記載されている発明の主題に種々の修正及び変更が加えられてもよい。