アプリケーションの購入証明を与える方法において、前記アプリケーションを購入するための購入要求をユーザからサーバーにおいて受信する段階と、アプリケーション購入領収書を構成する段階と、前記アプリケーション購入領収書及び前記アプリケーションに基づいてアプリケーションバンドルを生成する段階であって、前記アプリケーション購入領収書は、前記購入要求に対して独特のものである段階と、前記アプリケーションバンドルをユーザへ送信する段階と、を備えた方法。前記アプリケーション購入領収書は、署名、ユーザ識別子、ユーザアカウント識別子、アプリケーション識別子、アプリケーションのバージョン番号、購入日付、購入タイムスタンプ、ペアレンタルコントロールレーティング、及び許可解除カウント、のうちの少なくとも1つを含む、請求項1に記載の方法。前記ユーザアカウント識別子は、ユーザアカウント識別子の一方向表現である、請求項1から2のいずれかに記載の方法。前記許可解除カウントは、前記ユーザアカウント識別子に関連した受信された許可解除要求の得点である、請求項2から3のいずれかに記載の方法。アプリケーションバンドルをユーザへ送信する前記段階は、アプリケーションバンドルをユーザに関連した少なくとも1つの装置へ送信することを含む、請求項1に記載の方法。アプリケーション使用ポリシーを施行するシステムにおいて、プロセッサと、次のステップ、即ち、第1アプリケーションを購入するための要求をユーザから受信し、前記第1アプリケーションに対してアプリケーション購入領収書を構成し、前記第1アプリケーション及び前記アプリケーション購入領収書を含むアプリケーションバンドルをユーザへ送信し、アプリケーション購入領収書及び許可ファイルに基づいてクライアント装置において第2アプリケーションを検証する要求を受信し、前記アプリケーション購入領収書及び許可ファイルに基づいて前記第2アプリケーションを検証する、ことを含むステップを遂行するように前記プロセッサを制御するためのインストラクションを記憶するメモリと、を備えたシステム。前記第1アプリケーションを検証することは、更に、前記アプリケーション購入領収書が有効であることを検証し、前記許可ファイルが有効であることを検証し、前記アプリケーション購入領収書で指定された購入ユーザが前記許可ファイルにあることを検証する、ことを含む請求項6に記載のシステム。前記メモリは、前記購入ユーザが前記許可ファイルにないときに購入ユーザを許可するように前記プロセッサを更にコントロールするためのインストラクションを記憶する、請求項7に記載のシステム。コンピューティング装置により実行されたときに、ユーザがマシンにおけるアプリケーションの実行を許可されたことをそのコンピューティング装置が検証するようにさせるインストラクションであって、アプリケーション購入領収書及び許可ファイルに基づきマシンにおいてアプリケーションを検証する要求を受信し、前記アプリケーション購入領収書が有効であることを検証し、前記許可ファイルが有効であることを検証し、前記アプリケーション購入領収書で指定されたユーザが許可ファイルにあることを検証する、ことを含むようなインストラクションを記憶する、非一時的コンピュータ読み取り可能な記憶媒体。前記アプリケーション購入領収書が有効であることを検証することは、更に、前記アプリケーション購入領収書に対する署名を計算し、前記署名を前記アプリケーション購入領収書に添付された署名と比較し、前記アプリケーション購入領収書がそのアプリケーションに対するものであることを検証し、前記署名が前記アプリケーション購入領収書に添付された署名と一致し且つ前記アプリケーション購入領収書がそのアプリケーションに対するものであるときに、前記アプリケーション購入領収書が有効であると指示する、ことを含む請求項9に記載の非一時的コンピュータ読み取り可能な記憶媒体。前記許可ファイルが有効であることを検証することは、更に、前記許可ファイルに対する署名を計算し、前記署名を前記許可ファイルに添付された署名と比較し、前記許可ファイルがそのマシンに対するものであることを検証し、前記署名が前記許可ファイルに添付された署名と一致し且つ前記許可ファイルがそのマシンに対するものであるときに、前記許可ファイルが有効であると指示する、ことを含む請求項9又は10に記載の非一時的コンピュータ読み取り可能な記憶媒体。前記許可ファイルは、独特のマシン識別子及び少なくとも1つのユーザアカウント識別子を含む、請求項9から11のいずれかに記載の非一時的コンピュータ読み取り可能な記憶媒体。前記少なくとも1つのユーザアカウント識別子の1つは、アカウント識別子の一方向表現である、請求項12に記載の非一時的コンピュータ読み取り可能な記憶媒体。前記アプリケーション購入領収書がそのアプリケーションに対するものであることを検証することは、更に、前記購入領収書からアプリケーション識別子を抽出し、前記アプリケーション識別子を前記アプリケーションの識別子と比較し、前記購入領収書からアプリケーションバージョン番号を抽出し、前記アプリケーションバージョン番号を前記アプリケーションのバージョン番号と比較し、前記アプリケーション識別子が前記アプリケーションの識別子に一致し、そして前記アプリケーションバージョン番号が前記アプリケーションのバージョン番号に一致するときに、前記アプリケーション購入領収書が前記アプリケーションに対するものであるという指示を与える、ことを含む請求項9から13のいずれかに記載の非一時的コンピュータ読み取り可能な記憶媒体。前記許可ファイルがマシンに対するものであることを検証することは、更に、前記許可ファイルから独特のマシン識別子を抽出し、前記独特のマシン識別子を前記マシンの独特のマシン識別子と比較し、前記独特のマシン識別子が前記マシンの独特のマシン識別子に一致するときに前記許可ファイルが前記マシンに対するものであることを指示する、ことを含む請求項9から11のいずれかに記載の非一時的コンピュータ読み取り可能な記憶媒体。無断コピーを防止するため、ソフトウェア開発者は、多くの場合、ソフトウェアのインストールごとに独特の製品キーを要求するインストールプロセスを使用する。この解決策は、無断コピーを防止するが、ユーザがあるマシンから別のマシンへ移行するのを困難にする。更に、この解決策は、ユーザが特定の数のマシンにソフトウェアをインストールするのを許すというポリシーをソフトウェア開発者が有するときには厄介なものとなる。本開示の付加的な特徴及び効果は、以下の説明に述べられそして一部分はその説明から明らかであり、或いはここに開示する原理の実施により学習することができよう。本開示の特徴及び効果は、特許請求の範囲に特に指摘された手段及び組み合わせにより実現され且つ得られる。本開示のこれら及び他の特徴は、以下の説明及び特許請求の範囲から完全に明らかとなるか、或いはここに述べる原理の実施により学習することができる。ここに開示するのは、アプリケーション使用ポリシーを施行するシステム、方法、及び非一時的コンピュータ読み取り可能な記憶媒体である。アプリケーションサーバーの実施形態では、この方法を実施するように構成されたシステムは、購入要求を受け取るように構成される。その要求に応答して、システムは、その購入に対する購入証明領収書を生成する。その領収書は、購入トランザクションに関する種々の情報断片、例えば、ユーザのアカウント識別子、アプリケーション識別子、アプリケーションバージョン番号、購入日付、及びアプリケーションのペアレンタルコントロールレーティングを含む。システムは、領収書に署名し、それをアプリケーションとバンドルし、そしてそのアプリケーションバンドルを要求側クライアント装置へ送信する。クライアント装置の実施形態では、ユーザがマシンにアプリケーションを使用したいとき、システムは、使用が使用ポリシーを遵守したものであることを検証できる。ユーザがアプリケーションを購入すると、アプリケーション購入証明領収書がアプリケーションと共に含まれる。購入したアプリケーションを特定のクライアント装置で実行するには、購入したアプリケーションに関連したアカウント識別子がクライアント装置において許可されねばならない。各クライアント装置は、そのクライアントマシンに対するクライアント識別子、及びそのクライアント装置でアプリケーションを使用することが許可された全てのユーザ識別子を特定できる許可ファイルを維持する。ユーザがアプリケーションの使用を試みると、システムは、購入証明領収書及び許可ファイルが有効であることを検証する。更に、システムは、購入証明領収書で指定されたユーザが許可ファイル内にあることを検証する。ある実施形態では、ユーザが許可ファイルにない場合には、システムは、ユーザを許可する要求をする。規範的な施行メカニズムとして、システムは、ユーザがアプリケーション使用ポリシーを回避するのを防止するよう試みるために許可解除カウンタを備えている。許可解除カウントフィールドがアプリケーション購入証明領収書及び許可ファイルに含まれる。許可解除カウントも、システムによって維持される。ユーザがアプリケーションを購入する要求をすると、システムは、ユーザの現在許可解除カウントを含むその購入のための購入証明領収書を構成する。ユーザがアプリケーションの使用を試みると、システムは、購入証明領収書及び許可ファイルが有効であることを検証する。更に、システムは、購入証明領収書で指定されたユーザが許可ファイル内にあることを検証する。最終的に、システムは、領収書の許可解除カウントが許可ファイルの許可解除カウント以下であることを検証する。この施行メカニズムは、アプリケーション使用ポリシーの期間に基づいてユーザがアプリケーションを設定回数転送する簡単な方法を提供することができる。本開示の前記及び他の効果並びに特徴をどのようにして得るか説明するため、添付図面に示す特定の実施形態を参照して、前記で簡単に述べた原理をより詳細に説明する。これらの図面は、本開示の規範的な実施形態しか示さず、それ故、本発明の範囲を限定するものではないことを理解した上で、ここでは添付図面の使用によりそれらの原理を更に詳細に説明する。本開示の種々の実施形態を以下に詳細に述べる。特定の具現化について述べるが、これは、単なる例示のためであることを理解されたい。当業者であれば、本開示の精神及び範囲から逸脱せずに他の要素及び構成が使用できることが明らかであろう。本開示は、ユーザを表わす特性に基づいてユーザに与えられるターゲットとするコンテンツ、及び/又はそのターゲットとするコンテンツの1つ以上のアイテムとユーザとの相互作用を選択する改良された方法の必要性に向けられる。ここに開示するシステム及び方法は、コンピュータにおいてアプリケーション使用ポリシーを施行するのに特に有用である。アプリケーション配布及び使用のための規範的なシステム構成100が図1に示されており、電子装置102、104は、ネットワーク110を経て電子アプリケーションディストリビュータ112と通信する。このシステムは、図1に示すように、ワイドエリアネットワーク上で使用するように構成される。しかしながら、本発明の原理は、電子装置の相互通信を容易にする種々様々なネットワーク構成に適用できる。例えば、図1のシステム100の各要素は、ネットワークにおいて局所的に又は分散的に具現化される。システム100において、ユーザターミナル102及び104は、直接的及び/又は間接的通信を経てアプリケーションディストリビュータ112と相互作用して、アプリケーションとしても知られたコンピュータプログラムを得る。任意の数又は形式のユーザターミナルがアプリケーションディストリビュータ112と相互作用する。例えば、ユーザターミナル102は、デスクトップコンピュータ;ラップトップコンピュータ;複数の又は非持続的なネットワークセッションを使用して接続するハンドヘルド通信装置、例えば、移動電話、スマートホン、タブレット又は任意の他の形式の装置;等である。ユーザターミナル102は、購入要求のような要求をアプリケーションディストリビュータ112へ行う。アプリケーションディストリビュータ112は、それに応答して、その要求されたコンテンツを要求側ユーザターミナル102へ供給するか、又はその要求を拒絶する。例えば、ユーザターミナル102の側で充分な支払方法を与えることに失敗したために要求が拒絶される。アプリケーション使用ポリシーの施行を促進するために、アプリケーションディストリビュータは、購入されたアプリケーションと共に、アプリケーション購入証明領収書を要求側ユーザターミナルに与える。図2は、規範的なアプリケーション購入200を示す。規範的なアプリケーション購入200において、ユーザターミナル102は、アプリケーションディストリビュータ112へ購入要求をなす。購入要求の一部分として、ユーザターミナル102は、要求側ユーザのためのアカウント情報を与える。ある構成では、アカウント情報は、ユーザ名及びパスワードである。他の構成では、アプリケーションディストリビュータ112との個別の相互作用としてアカウント許可が行われ、従って、アカウント情報は、DSidのような独特のアカウント識別子である。購入要求を受け取ると、アプリケーションディストリビュータ112は、アプリケーション208と、アプリケーション購入証明領収書210とで構成されたアプリケーションバンドル206を生成する。アプリケーションディストリビュータ112は、次いで、アプリケーションバンドル206をユーザターミナル102へ配信する。以下に詳細に述べるように、アプリケーション購入証明領収書は、アプリケーションに対する使用ポリシーを施行する上で助けとなるように後で使用される。購入トランザクションは、アプリケーションを取得するための受信者のある種のトランザクションを含み、必ずしも金銭又は他の価値の交換を要求するものではない。購入トランザクションは、第三者がアプリケーションを贈り物として受信者に与えることを含み、又は受信者は、アプリケーションに対する交換においてクーポン、プロモーションコード又は同様の手段で弁済することができる。あるケースでは、無料アプリケーションに対して購入要求をなすことができる。アプリケーションを取得するために金銭の交換が要求されるかどうかに関わらず、アプリケーションディストリビュータは、アプリケーションと共にアプリケーション購入証明領収書を与えることができる。アプリケーション購入証明領収書は、図3において規範的な購入証明領収書300に示されたように、種々の情報を含む。アプリケーション購入証明領収書は、図3に示すものより多くの又は少ない情報を含んでもよい。購入証明領収書本体302は、アプリケーションを購入したユーザに関連した種々のアカウント情報を含む。ユーザは、個人、個人のグループ又は組織である。アカウント情報は、ユーザ名のようなユーザIDを含む。又、アカウント情報は、DSidのような、ユーザの独特のアカウント識別子も含む。ある構成では、プレーンテキストDSidを含むのではなくて、購入証明領収書本体302は、DSidの独特の表現を含む。例えば、独特の表現は、DSidの一方向表現、例えば、fDSidである。あるケースでは、独特の表現は、領収書及び/又はユーザプライバシーのセキュリティを改善するのに使用できる。購入証明領収書本体302は、購入したアプリケーションに関する種々の情報断片も含む。例えば、購入証明領収書本体302は、購入したアプリケーションのID、バージョン番号、及びペアレンタルコントロールレーティングを含む。あるケースでは、アプリケーションに関する付加的な情報は、アプリケーション署名のように、領収書に含ませることができる。更に、購入証明領収書本体302は、購入日付を含む。ある構成では、アプリケーション購入証明領収書本体302は、付加的な及び/又は代替え的な情報を含むことができる。更に、購入証明領収書300内の情報の編成は、システムの構成と共に変化し得る。1つの変形例では、サーバーは、アプリケーション購入証明領収書300の完全な又は部分的なコピーを保持する。ある構成では、購入証明領収書300は、ファイルレイアウトを理解できるユーザであれば誰でも読むことのできるプレーンテキストである。購入証明領収書300の無断変更を防止し及び/又は検出するために、購入証明領収書300は、領収書署名304を含む。この領収書署名304は、購入証明領収書の無断変更を検出するのに使用できるデジタル署名である。例えば、アプリケーションディストリビュータ112は、暗号ハッシュ関数を使用して、購入証明領収書本体302のデジタル署名を発生する。ある構成では、アプリケーションディストリビュータ112は、パブリックキーシステムを使用して、デジタル署名を発生する。このケースでは、アプリケーションディストリビュータ112は、そのプライベートキーを使用して、領収書署名304を発生する。次いで、ユーザターミナル、アプリケーションディストリビュータ、及び/又はアプリケーションディストリビュータのパブリックキーにアクセスできる他の装置は、領収書300を検証することができる。或いは又、アプリケーションディストリビュータ112は、プライベートキーシステムを使用して、領収書署名304を発生してもよい。このケースでは、アプリケーションディストリビュータ112がそのプライベートキーを共有しない限り、領収書300を検証できるのはアプリケーションディストリビュータだけとなる。図4は、購入証明領収書を含むアプリケーション購入のための規範的方法400のステップを示すフローチャートである。明瞭化のために、この方法は、図1に示すような規範的システムに関して説明する。図4には特定のステップが示されているが、他の実施形態では、方法のステップが、図示されたものより多くても少なくてもよい。この図及び他の図に示す方法ステップは、図示された順序又は他の組み合わせで具現化されてもよいし、或いは他の順序又は組み合わせで具現化されてもよい。種々のポイントにおいて、アプリケーションディストリビュータ112は、アプリケーションを購入する要求をユーザから受け取る402。その購入要求は、アプリケーションディストリビュータ112へアクセスできるユーザターミナルから到来する。上述したように、購入要求は、トランザクションを促進するために使用できる要求側ユーザのアカウント情報、例えば、ユーザのアカウント識別子を含む。購入要求に応答して、アプリケーションディストリビュータ112は、図3の領収書300のようなアプリケーション購入証明領収書を構成する404。アプリケーション購入証明領収書は、トランザクションにとって独特のものである。例えば、ユーザがアプリケーションを以前に購入した場合でも、この購入要求に関連した購入証明領収書は、異なるものとなる。しかしながら、ある構成では、購入証明領収書は、トランザクションではなく、ユーザ、アプリケーションの対にとって独特なものとなる。アプリケーション購入証明領収書を構成した後に、アプリケーションディストリビュータ112は、アプリケーション購入領収書及びアプリケーションに基づいてアプリケーションバンドルを生成し406、そしてそのアプリケーションバンドルを要求側ユーザへ送る408。アプリケーションを購入した後に、そのアプリケーションを複数のユーザターミナルで使用することができる。ユーザがこの能力を乱用するのを防止するため、アプリケーション開発者及び/又はアプリケーションディストリビュータは、アプリケーションを一度に使用できるユーザターミナルの数を制限する使用ポリシーを構成することができる。例えば、アプリケーションコストが10ドルであると仮定する。ユーザはアプリケーションを購入し、次いで、アプリケーションのコピーを9人の友人に1ドルで売ることができる。10人のユーザは、各々、10ドルのアプリケーションのコピーを1ドルで入手することができる。あるケースでは、アプリケーション開発者は、このシナリオを認めるが、他のケースでは、そのような行動は、開発者が開発コストを取り戻すのを妨げる。そのような行動を抑制するために、コピーの回数を、例えば、5台のマシンに限定するためのポリシーを確立することができる。ユーザがアプリケーションを指定台数のマシンでしか実行しないよう保証する1つの方法は、ユーザがアプリケーションの使用を希望する各マシンをユーザが許可するようにさせることである。ユーザのマシンに常駐できる許可ファイルを使用して、ユーザ許可を促進することができる。図5は、規範的な許可ファイル500を示す。この許可ファイル500は、許可ファイル本体502を含む。この許可ファイル本体502は、許可ファイル500に関連したマシンに対する独特のマシン識別子を含む。この独特のマシン識別子は、ユーザターミナルにリンクできる識別子である。例えば、コンピュータの種々のハードウェアコンポーネントは、シリアル番号のような独特の識別子に関連付けることができる。1つ以上のこれらシリアル番号を使用して、独特のマシン識別子を生成することができる。許可ファイル本体502は、1つ以上の独特のアカウント識別子、例えば、DSidも含む。許可ファイル500に含まれたアカウント識別子は、マシンにおいて購入したアプリケーションを使用することが許可されたユーザを指示する。ある構成では、プレーンテキストDSidを含むのではなく、許可ファイル本体502は、DSidの独特の表現を含む。例えば、独特の表現は、DSidの一方向表現、例えば、fDSidである。あるケースでは、独特の表現は、領収書及び/又はユーザプライバシーのセキュリティを改善するのに使用される。ある構成では、許可ファイル本体502は、付加的及び/又は代替え情報を含む。更に、許可ファイル500内の情報の編成は、システムの構成と共に変化する。ある構成では、許可ファイル500は、ファイルレイアウトを理解できるユーザであれば誰でも読むことのできるプレーンテキストである。許可ファイル500の無断変更を防止し及び/又は検出するために、許可ファイル500は、許可ファイル署名504を含む。この許可ファイル署名504は、許可ファイルの無断変更を検出するのに使用できるデジタル署名である。例えば、アプリケーションディストリビュータ112は、暗号ハッシュ関数を使用して、許可ファイル本体502のデジタル署名を発生する。ある構成では、アプリケーションディストリビュータ112は、パブリックキーシステムを使用して、デジタル署名を発生する。このケースでは、アプリケーションディストリビュータ112は、そのプライベートキーを使用して、許可ファイル署名504を発生する。次いで、ユーザターミナル、アプリケーションディストリビュータ、及び/又はアプリケーションディストリビュータのパブリックキーにアクセスできる他の装置は、許可ファイル500を検証することができる。或いは又、アプリケーションディストリビュータ112は、プライベートキーシステムを使用して、許可ファイル署名504を発生してもよい。このケースでは、アプリケーションディストリビュータ112がそのプライベートキーを共有しない限り、許可ファイル500を検証できるのはアプリケーションディストリビュータだけとなる。アプリケーションディストリビュータ、又はシステム内でユーザを許可する役割を果たす他の装置に、許可要求を行うことができる。許可ファイルは、どのユーザが特定のユーザターミナルでアプリケーションを実行することが許されたか追跡するために使用され、一方、サーバーは、各ユーザに許可されたマシンの台数及び/又は厳密なマシンを追跡するための許可記録を維持することができる。サーバーの許可記録は、ユーザが、使用ポリシーにより許された以上のマシンで許可されないことを保証するために使用される。図6は、規範的なユーザ許可シナリオ600を示す。マシンにおいてユーザを許可するために、サーバー606は、許可ファイル602及びユーザの独特のアカウント識別子604を受け取る。次いで、サーバー606は、許可レコード608をチェックして、使用ポリシーのもとで許可された最大数のマシンにおいてユーザがまだ許可されていないことを検証する。この例では、ユーザDSid8は、限界より低い1つのマシンのみで許可されており、従って、サーバー606は、ユーザを許可することができる。ユーザを許可するために、サーバー606は、許可ファイル602のマシン識別子、即ちM1を含ませるようユーザの許可記録のエントリを更新する。これは、許可レコード610を生成する。又、サーバーは、ユーザのアカウント番号、即ちfDSid8を追加し、そしてファイルを再署名することにより、許可ファイルを更新する。次いで、サーバー606は、その更新された許可ファイル612をユーザのマシンへ返送する。ある構成では、サーバー606は、許可レコードに他の情報を維持することができる。これらステップの全部又は一部分を使用する他の許可方法も考えられる。ある構成において、使用ポリシーは、全てのユーザ及び全てのアプリケーションにわたってスタティックであるか、或いはユーザ特有及び/又はアプリケーション特有である。例えば、使用ポリシーは、いつでも5台までのマシンにおいてユーザが購入したアプリケーションを使用することが許可されるよう設計される。しかしながら、システムも、個々のアプリケーションに対して使用ポリシーを指定できるように構成される。例えば、あるアプリケーションは、ユーザが10台のマシンにおいてアプリケーションを使用することを許し、一方、別のアプリケーションは、ユーザが4台のマシンにおいてアプリケーションを使用することしか許さない。可変の使用ポリシースキームをサポートするため、サーバー606は、許可レコードに付加的な情報を記憶することが必要となる。ある構成では、ユーザがアプリケーションを購入するときにユーザ許可が行われる。図7は、購入時に許可を行うための規範的なシナリオ700を示す。方法700において、ユーザターミナル102は、アプリケーションディストリビュータ112へ購入要求を行う。DSidのようなアカウント情報に加えて、購入要求は、ユーザターミナル102に常駐する許可ファイル706を含む。アプリケーションディストリビュータ112は、図4の方法400を使用してアプリケーションバンドル708を生成し、そして図6の許可方法600を遂行して、許可レコードを更新し、そして許可ファイル710を形成する。次いで、アプリケーションディストリビュータ112は、アプリケーションバンドル及び更新された許可ファイル710を要求側ユーザターミナル102へ送信する。ある構成では、アプリケーションディストリビュータ112は、許可要求に対する仲介者として働いて、許可要求を別の装置又はサーバーへ単に通し、その別の装置又はサーバーがアプリケーションディストリビュータ112へ許可ファイルを返送する。あるケースでは、ユーザは、購入要求を行う前にユーザターミナル102において許可される。このケースでは、アプリケーションディストリビュータ112は、許可ファイルを変更せずに返送するか、又はファイルを全く返送しない。ある構成では、ユーザターミナルは、サーバーへ許可要求を行うことなくユーザがマシンに対して許可されたことを決定する。あるケースでは、購入時の許可が不必要である。というのは、ユーザは、アプリケーションを購入したところのマシンにおいてアプリケーションを使用する意図がないためである。例えば、ユーザは、家では低速のインターネット接続を有するが、仕事場では非常に高速の接続をもつことがある。あるケースでは、インターネット接続の速度は問題にならないが、大きなアプリケーションの場合には、ネットワーク接続が低速であると、ユーザが特定のアプリケーションを購入する妨げとなる。ユーザの購入経験を改善するために、ユーザは、仕事場でアプリケーションの購入を決断し、そしてアプリケーションをユーザの家のコンピュータへ転送することができる。例えば、ユーザは、アプリケーションを、例えば、CD-ROM、DVD、USBドライブ、等のディスクへ転送し、次いで、アプリケーションを家のコンピュータへ転送するか、或いはユーザは、例えば、イーサネット接続を通して、ユーザの仕事場のコンピュータと家のコンピュータとの間に直接的な高速接続を確立する。更に、ユーザがアプリケーションを2つ以上のマシンへコピーするのを許すために、ユーザがアプリケーションの使用を試みるときに許可を行うことができる。図8は、アプリケーション起動時に許可を行うための規範的なシナリオ800を示す。このシナリオにおいて、ユーザは、ユーザターミナル102から購入要求を行う。その購入要求は、アプリケーションディストリビュータ112へ送られ、そこで、図4の方法400を使用してアプリケーションバンドル806が準備される。そのアプリケーションバンドル806は、ユーザターミナル102へ送られる。ある時点で、アプリケーションバンドル806は、ユーザターミナル104へコピーされ、ユーザは、アプリケーションの使用を試みる。アプリケーションの起動時に、ユーザターミナルは、許可要求をサーバー606へ送信する。ある構成では、サーバー606及びアプリケーションディストリビュータ112は、同じものである。しかしながら、他のケースでは、サーバー606及びアプリケーションディストリビュータ112は、異なるものである。許可要求の一部分として、サーバー606は、許可ファイル812及びユーザのアカウント識別子814を受け取る。サーバー606は、図6の許可方法600を遂行し、そして更新された許可ファイル816をユーザターミナル104へ返送する。ここで、ユーザがマシンにおいて許可されると、アプリケーションを使用することができる。ある構成では、ユーザは、マシンでアプリケーションを使用するように既に許可されていてもよい。このケースでは、許可ファイルへの更新が要求されない。更に、あるケースでは、ユーザターミナルは、サーバーへの許可要求を行わずにユーザが許可されたと決定する。図6のユーザ許可シナリオ600は、ユーザが指定台数以上のマシンでアプリケーションを実行することが許可されるのを防止するだけである。購入時点で生成されるアプリケーション購入証明領収書を合体することにより、所与の時間に特定数のマシン又はインスタンスに対して特定アプリケーションの使用を制限するアプリケーション使用ポリシーをアプリケーションの検証で施行することができる。例えば、アプリケーションは、単一の物理的ホストマシンに全て常駐する5つの異なるゲストバーチャルマシンにおける5つの個別のインスタンスに制限される。ユーザがアプリケーションを購入するときに、アプリケーションと共にアプリケーション購入領収書が含まれる。購入したアプリケーションを特定のマシンに使用するために、購入証明領収書のアカウント識別子がマシンにおいて許可されねばならない。上述したように、各マシンは、マシンに対するマシン識別子、及びマシンでアプリケーションを実行することが許可されたユーザの全アカウント識別子を指定できる単一の許可ファイルを維持することができる。購入証明領収書のアカウント識別子が許可ファイルに含まれる場合には、マシンにおいてアプリケーションを使用することができる。しかしながら、アプリケーションに関連したユーザがマシンにおいて許可されない場合には、ユーザは、図6の方法600のような許可方法を使用して許可することができる。購入証明領収書及び許可ファイルは、両方とも、購入証明領収書及び/又は許可ファイルの無断変更を防止すると共に、領収書がアプリケーションに属し且つ許可ファイルがマシンに属することを保証するために検証される。図9の規範的なアプリケーション検証方法900は、購入ユーザを指定台数のマシンに制限することに向けられたアプリケーション使用ポリシーを施行するのに使用される。検証方法900は、図3のアプリケーション購入証明領収書300及び図5の許可ファイル500を使用することができる。明瞭化のために、方法900は、図1に示す規範的システム100に関して説明する。図9には特定のステップが示されているが、他の実施形態では、図示されたステップより多くの又はそれより少ないステップが方法に含まれてもよい。アプリケーション検証方法は、ユーザがアプリケーションを起動するたびに使用され、アプリケーションが常駐するマシンによりローカルに遂行される。しかしながら、システムは、アプリケーションの検証があまり頻繁に行われず、アプリケーションの最初の起動時に行われるように構成することができる。更に、アプリケーションの検証は、サーバーに検証要求を行うことにより遂行されてもよいし、或いはローカルアクション及びリモートアクションの組み合わせであってもよい。アプリケーションの起動時に、ユーザターミナル102は、購入証明領収書300及び許可ファイル500に基づいてアプリケーションを検証する要求を受信する902。アプリケーション検証の一部分として、ユーザターミナル102は、領収書の署名が有効であることを最初にチェックすることにより、購入証明領収書300を検証する904。署名が有効でない場合には、領収書が変更されたおそれがあり、従って、検証プロセスが中止されて検証が失敗となる。署名が有効である場合には、ユーザターミナル102は、領収書のアプリケーション識別子が、検証されるアプリケーションの識別子に一致するかどうかチェックする906。一致しない場合には、検証が失敗となる。アプリケーション識別子が一致する場合には、ユーザターミナル102は、領収書のアプリケーションバージョン番号が、検証されるアプリケーションのバージョン番号に一致するかどうかチェックする908。バージョン番号が一致しない場合には、検証方法が失敗となり、さもなければ、検証が続けられる。また、検証方法900は、許可ファイル500の検証も含む。許可ファイル500を検証するために、ユーザターミナル102は、ファイルの署名が有効であるかどうかチェックする910。署名が有効でない場合には、許可ファイルが変更されているおそれがあり、従って、検証プロセスが中止されそして検証が失敗となる。署名が有効である場合には、ユーザターミナル102は、許可ファイルのマシン識別子がユーザターミナル102の識別子に一致するかどうかチェックする912。一致しない場合には、検証が失敗となる。マシン識別子が一致する場合には、検証が続けられる。構成によっては、ステップ904、906及び908は、ステップ910及び912の前、その後、又はそれと並列に遂行されてもよい。更に、ステップ904-912は、全く遂行されなくてもよいが、それらステップを遂行することにより、ファイルが変更されずにアプリケーション及びマシンに対応するという保証レベルを得ることができる。領収書300及び許可ファイル500を検証した後に、ユーザターミナル102は、領収書のアカウント番号、例えば、fDSidが許可ファイルにあるかどうかチェックする914。もしそうであれば、アプリケーションを購入したユーザは、マシンにおいて許可され、従って、アプリケーションを起動することができる916。アプリケーションを購入したユーザがまだ許可されていない場合には、ユーザターミナル102は、アプリケーションディストリビュータ112へ許可要求を行う918。許可要求が成功した場合には920、アプリケーションを起動することができ916、さもなければ、検証は失敗となる。ある構成では、検証方法900は、アプリケーションの中で行うことができる。このケースでは、検証失敗時に行われるアクションは、アプリケーション開発者に依存する。例えば、検証失敗時に、アプリケーションは、中止となる。或いは又、検証失敗時に、アプリケーションは、実行を継続できるが、限定された機能しか利用できない。更に、構成にもよるが、アプリケーションは、ユーザのための許可を要求できないこともある。上述した検証方法900を使用して、購入したアプリケーションに関連したユーザは、使用ポリシーで指定された台数のマシンにおいてアプリケーションを使用することができる。例えば、マシンの最大数が5である場合には、ユーザは、5台の異なるマシンにアプリケーションをコピーし、各マシンにおいて許可プロセスを通して進むことができる。ユーザが6番目のマシンにおいてアプリケーションの使用を希望する場合には、ユーザは、既に許可されたマシンの1つの許可を解除しなければならない。そのようにするために、ユーザは、許可されたマシンの1つから許可解除要求を送信することができる。或いは又、ある構成では、ユーザは、いずれかのマシンから全許可解除要求を送信し、ユーザに許可されている全てのマシンの許可を解除させることができる。マシンの許可を解除した後、ユーザは、第6番目のマシンに戻ってそれを許可することができる。この時点で、検証方法900が成功する場合には、ユーザは、アプリケーションを使用することができる。あるケースでは、ユーザが最大マシン使用ポリシーの回避を試みるかもしれない。ユーザがこれを試みる1つの方法は、次の通りである。購入したアプリケーションに関連したユーザが、最大数、例えば、5台のマシンにおいて既に許可されていると仮定する。許可を解放するため、ユーザは、マシンの許可を解除する。しかしながら、許可解除要求を発生する前に、ユーザは、マシンにおいて許可ファイルのコピーを作成する。許可解除の後に、ユーザは、許可ファイルをコピーして戻す。これで、マシンは、ユーザが許可を解除したのにユーザが許可されたと考える。この回避攻撃に対処するために、許可解除カウントフィールドをアプリケーション購入証明領収書及び許可ファイルに追加することができる。更に、許可解除カウントをサーバーに維持することもできる。図10は、許可解除カウントフィールドを伴う規範的な購入証明領収書1002及び許可ファイル1004を示す。許可ファイル1004において、個別の許可解除カウントを、各許可アカウント識別子に関連付けることができる。ユーザがマシンの許可を解除するたびに、アカウント識別子に関連したサーバーの許可解除カウントをインクリメントすることができる。ユーザが新たなアプリケーションを購入するときに、ユーザに関連した許可レコードの許可解除カウントをアプリケーション購入証明領収書に含ませることができる。更に、ユーザがマシンを許可するときに、そのアカウント識別子に関連した許可解除カウントを許可ファイルに含ませることができる。許可解除カウントは、アプリケーション検証方法に合体させることもできる。ユーザがアプリケーションの使用を試みるとき、検証方法は、検証方法900で述べた全てのステップを遂行することができる。しかしながら、検証方法は、領収書の許可解除カウントが許可ファイルの許可解除カウント以下であることもチェックできる。このチェックが失敗した場合には、ユーザは、そのマシンにおいてアプリケーションを使用することが防止される。図11は、許可解除カウンタを使用する規範的なアプリケーション検証方法1100を示す。この検証方法1100は、図10のアプリケーション購入証明領収書1002及び許可ファイル1004を使用する。明瞭化のために、方法1100は、図1に示すような規範的システムに関して説明する。図10には特定のステップが示されているが、他の実施形態では、図示されたものより多くの又は少ないステップが方法に含まれてもよい。アプリケーション検証方法1100は、ユーザがアプリケーションを起動するたびに使用され、アプリケーションが常駐するマシンによりローカルに遂行される。しかしながら、システムは、アプリケーションの検証があまり頻繁に行われず、例えば、アプリケーションの最初の起動時に行われるように構成することができる。更に、アプリケーションの検証は、サーバーに検証要求を行うことにより遂行されてもよいし、或いはローカルアクション及びリモートアクションの組み合わせであってもよい。アプリケーション起動時に、ユーザターミナル102は、購入証明領収書1002及び許可ファイル1004に基づいてアプリケーションを検証する要求を受信する1102。ユーザターミナル102は、次いで、図9の904-912と同様のステップを使用して購入証明領収書1002及び許可ファイル1004が有効であることを検証する1104-1106。いずれかの有効確認段階が失敗した場合には、検証方法が中止となり、検証が失敗となる。構成にもよるが、ステップ1104は、ステップ1106の前、その後、又はそれと並列に遂行することができる。更に、ステップ1104及び1106は、全く遂行されなくてもよいが、それらステップを遂行することで、ファイルが変更されずにアプリケーション及びマシンに対応するという保証レベルを得ることができる。領収書1002及び許可ファイル1004を検証した後、ユーザターミナル102は、領収書のアカウント番号、例えば、fDSidが許可ファイルにあるかどうかチェックする1108。もしそうであれば、アプリケーションを購入したユーザは、マシンにおいて許可され、そして検証は、許可解除カウントをチェックするように進む。アプリケーションを購入したユーザがまだ許可されていない場合には、ユーザターミナル102は、アプリケーションディストリビュータ112へ許可要求を行う1110。許可要求が成功である場合には1114、ユーザターミナル102は、許可解除カウントをチェックするように進む。ステップ1112において、ユーザターミナル102は、領収書の許可解除カウントが、アカウント識別子に関連した許可ファイルの許可解除カウント以下であることをチェックすることにより許可解除カウントを検証する。もしそうであれば、検証が成功であり、ユーザターミナル102は、アプリケーションを起動する1116。許可解除カウントの検証が失敗した場合には、許可解除攻撃がおそらく生じており、従って、ユーザは、マシンにおいてアプリケーションを使用することが防止される。検証方法900の場合と同様に、検証方法1100は、アプリケーションの中で遂行することができる。このケースでは、検証失敗時に行われるアクションは、アプリケーション開発者に依存する。例えば、検証失敗時に、アプリケーションは、中止となる。或いは又、検証失敗時に、アプリケーションは、実行を継続できるが、限定された機能しか利用できない。更に、構成にもよるが、アプリケーションは、ユーザのための許可を要求できないこともある。図12は、規範的な許可解除カウンタ使用シナリオを示す。このシナリオでは、アカウント識別子DSid1をもつユーザが5台のマシンM1-M5において現在許可される。又、ユーザは、第6のマシンM6においてアプリケーションを使用できることを希望するが、使用ポリシーが許可の数を5に制限する。この初期のシナリオ設定は、マシンM5、M6の許可ファイル、及びサーバーの許可レコードに反映される1210。マシンM5の許可ファイルは、0の関連許可解除カウントと共にDSid1のエントリを含む。マシンM6の許可ファイルは、空である。サーバーにおける許可レコードは、DSid1がマシンM1-M5において許可されそしてユーザがいずれのマシンも許可解除していないことを示す。第6のマシンM6においてアプリケーションを使用する試みにおいて、ユーザは、M5において許可ファイルのコピーを作成し、そしてマシンを許可解除する。これらのアクションは、マシンM5の許可ファイル及びサーバーの許可レコードに反映される1220。マシンM5の許可ファイルは、現在、空である。更に、許可解除カウントが1に増加され、そしてM5は、サーバーの許可レコードにおける許可されたマシンのリストから除去される。ユーザは、ここで、マシンM6を許可する。このアクションで2つの変化が生じ、それらは、マシンM5及びM6とサーバーとに反映される1230。第1に、マシンM6の許可ファイルは、1の許可解除カウントと共にDSid1を含むように更新される。第2に、サーバーの許可レコードは、許可されたマシンのリストにマシンM6を含むように更新される。許可の後、ユーザは、許可ファイルを古い許可ファイルに置き換え、アプリケーションを購入する。マシンM5、M6及びサーバーに変化が反映される1240。購入証明領収書の許可解除カウントは、1である。ユーザがマシン5においてアプリケーションの使用を試みるとき、マシンは、検証方法1100を使用してアプリケーションを検証することができる。購入証明領収書の許可解除カウントは、許可ファイルの許可解除カウントより大きいので、検証方法1100は、ステップ1112において失敗となる。次いで、ユーザは、マシンにおいてアプリケーションを使用することが防止される。次に、汎用コンピューティング装置について説明する。図13に示して以下に述べるコンポーネントの全部又は一部分は、上述した種々の装置及びインフラストラクチャーを具現化するのに使用される。図13を参照すれば、規範的システム1300は、処理ユニットCPU又はプロセッサ1320及びシステムバス1310を含む汎用コンピューティング装置1300を備え、システムバスは、リードオンリメモリROM1340及びランダムアクセスメモリRAM1350のようなシステムメモリ1330を含む種々のシステムコンポーネントをプロセッサ1320へ結合する。このシステム1300は、プロセッサ1320に直結されるか、その至近に結合されるか、又はその一部分として一体化される高速メモリのキャッシュ1322を備えている。又、システム1300は、メモリ1330及び/又は記憶装置1360からのデータを、プロセッサ1320による迅速アクセスのためにキャッシュ1322へコピーする。このように、キャッシュ1322は、データの待機中のプロセッサ1320の遅延を回避する性能ブーストを与える。これら及び他のモジュールは、種々のアクションを実行するようにプロセッサ1320をコントロールするべく構成される。他のシステムメモリ1330を使用することもできる。メモリ1330は、異なる性能特性を伴う複数の異なる形式のメモリを含む。本開示は、2つ以上のプロセッサ1320を伴うコンピューティング装置1300、又はより大きな処理能力を与えるように一緒にネットワーク化されたコンピューティング装置のグループ又はクラスターにおいて作用することが明らかである。プロセッサ1320は、プロセッサ1320をコントロールするように構成された記憶装置1360に記憶されたモジュール11362、モジュール21364、及びモジュール31366のような汎用プロセッサ及びハードウェアモジュール又はソフトウェアモジュール、並びにソフトウェアインストラクションが実際のプロセッサ設計に合体された特殊目的プロセッサを備えている。プロセッサ1320は、本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ、等を含む完全自蔵型コンピューティングシステムである。マルチコアプロセッサは、対称的でも、非対称的でもよい。システムバス1310は、メモリバス又はメモリコントローラ、周辺バス、及び種々のバスアーキテクチャーのいずれかを使用するローカルバスを含む多数の形式のバス構造のいずれかである。ROM1340等に記憶される基本的入力/出力BIOSは、スタートアップ中、等に、コンピューティング装置1300内の要素間で情報を転送する上で役立つ基本的ルーチンを与える。コンピューティング装置1300は、更に、ハードディスクドライブ、磁気ディスクドライブ、光学ディスクドライブ、テープドライブ、等の記憶装置1360を備えている。記憶装置1360は、プロセッサ1320をコントロールするためのソフトウェアモジュール1362、1364、1366を含む。他のハードウェア又はソフトウェアモジュールも意図される。記憶装置1360は、ドライブインターフェイスによりシステムバス1310に接続される。ドライブ及びそれに関連したコンピュータ読み取り可能な記憶媒体は、コンピューティング装置1300のためのコンピュータ読み取り可能なインストラクション、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶を与える。1つの態様において、特定のファンクションを遂行するハードウェアモジュールは、そのファンクションを実行するために、プロセッサ1320、バス1310、出力装置1370、等の必要なハードウェアコンポーネントに関連して非一時的コンピュータ読み取り可能な媒体に記憶されたソフトウェアコンポーネントを含む。当業者であれば、基本的なコンポーネントが明らかであり、そして装置1300が小型のハンドヘルドコンピューティング装置であるか、デスクトップコンピュータであるか、又はコンピュータサーバーであるかといった装置の形式に基づいて適当な変更が意図される。ここに述べる規範的実施形態は、ハードディスク1360を使用するが、当業者であれば、規範的な動作環境において、コンピュータによりアクセスできるデータを記憶する他の形式のコンピュータ読み取り可能な媒体、例えば、磁気カセット、フラッシュメモリカード、デジタル多様性ディスク、カートリッジ、ランダムアクセスメモリRAM1350、リードオンリメモリROM1340、ビット流を含むケーブル又はワイヤレス信号、等も使用できることが明らかであろう。非一時的なコンピュータ読み取り可能な記憶媒体は、エネルギー、搬送波信号、電磁波、及び信号それ自身のような媒体を明確に除外する。ユーザがコンピューティング装置1300と対話できるようにするために、入力装置1390は、スピーチのためのマイクロホン、ジェスチャー又はグラフィック入力のためのタッチ感知スクリーン、キーボード、マウス、モーション入力、スピーチ、等々の多数の入力メカニズムを表わす。出力装置1370も、当業者に知られた多数の出力メカニズムの1つ以上である。ある場合には、マルチモードシステムは、ユーザがコンピューティング装置1300と通信するための多数の形式の入力を与えることができるようにする。通信インターフェイス1380は、一般的に、ユーザ入力及びシステム出力を支配しそして管理する。特定のハードウェア構成体での動作には制約がなく、それ故、ここでの基本的な特徴は、改良型ハードウェア又はファームウェア構成体が開発されるにつれて、それと容易に置き換えることができる。説明を明確にするために、ここに示すシステムの実施形態は、プロセッサ又はプロセッサ1320と示された機能的ブロックを含む個々の機能的ブロックを包含するものとして表される。それらのブロックが表わすファンクションは、これに限定されないが、ソフトウェアを実行できるハードウェア、及び汎用プロセッサで実行されるソフトウェアに等価なものとして動作する専用のものであるプロセッサ1320のようなハードウェアを含めて、共有又は専用ハードウェアの使用を通して与えられる。例えば、図13に示された1つ以上のプロセッサのファンクションは、単一の共有プロセッサ又は複数のプロセッサにより与えられる。プロセッサという語の使用は、ソフトウェアを実行できるハードウェアを排他的に指すものと解釈してはならない。ここに示す実施形態は、マイクロプロセッサ及び/又はデジタル信号プロセッサDSPハードウェア、以下に述べる動作を遂行するソフトウェアを記憶するためのリードオンリメモリROM1340、及び結果を記憶するためのランダムアクセスメモリRAM1350を包含する。又、超大規模集積VLSIハードウェア実施形態、並びに汎用DSP回路と組み合わされたカスタムVLSI回路も設けられる。種々の実施形態の論理的な動作は、1汎用コンピュータ内のプログラム可能な回路で実行される一連のコンピュータ実施ステップ、動作又は手順;2特殊目的のプログラム可能な回路で実行される一連のコンピュータ実施ステップ、動作又は手順;及び/又は3プログラム可能な回路内の相互接続されたマシンモジュール又はプログラムエンジン;として具現化される。図13に示すシステム1300は、ここに述べる方法の全部又は一部を実施することができ、ここに述べるシステムの一部分でもよく、及び/又はここに述べる非一時的コンピュータ読み取り可能な記憶媒体におけるインストラクションに基づいて動作することができる。そのような論理的動作は、モジュールのプログラミングに基づいて特定のファンクションを遂行するようにプロセッサ1320をコントロールするよう構成されたモジュールとして具現化される。例えば、図13は、特定のステップ又は一連のステップを遂行するようにプロセッサ1320をコントロールするモジュールである3つのモジュールMod11362、Mod21364、及びMod31366を示す。これらモジュールは、記憶装置1360に記憶されそしてランタイムにRAM1350又はメモリ1330へロードされてもよいし、又はこの技術で知られたように、他のコンピュータ読み取り可能なメモリ位置に記憶されてもよい。また、本開示の範囲内の実施形態は、コンピュータ実行可能なインストラクション又はデータ構造体を搬送するか又はそれを記憶した有形な及び/又は非一時的なコンピュータ読み取り可能な記憶媒体も包含する。そのような非一時的なコンピュータ読み取り可能な記憶媒体は、上述した特殊目的プロセッサの機能的設計を含めて、汎用又は特殊目的コンピュータによりアクセスできる任意の入手可能な媒体である。例えば、そのような非一時的なコンピュータ読み取り可能な記憶媒体は、これに限定されないが、RAM、ROM、EEPROM、CD-ROM、或いは他の光学ディスク記憶装置、磁気ディスク記憶装置、又は他の磁気記憶装置、或いはコンピュータ実行可能なインストラクション、データ構造又はプロセッサチップ設計の形態で望ましいプログラムコード手段を搬送し又は記憶するのに使用できる他の媒体を含む。情報がネットワーク又は別の通信接続ハードワイヤード、ワイヤレス、又はその組み合わせを経てコンピュータへ転送され又は与えられるときに、コンピュータは、接続をコンピュータ読み取り可能な媒体として適切に見る。従って、そのような接続は、コンピュータ読み取り可能な媒体と適切に称される。又、上述した組み合わせは、コンピュータ読み取り可能な媒体の範囲内に含まれねばならない。コンピュータ実行可能なインストラクションは、例えば、汎用コンピュータ、特殊目的コンピュータ又は特殊目的処理装置があるファンクション又はファンクションのグループを遂行するようにさせるインストラクション及びデータを含む。又、コンピュータ実行可能なインストラクションは、スタンドアローン又はネットワーク環境においてコンピュータにより実行されるプログラムモジュールも含む。一般的に、プログラムモジュールは、特殊目的プロセッサの設計、等において固有であって、特定のタスクを遂行するか或いは特定のアブストラクトデータ形式を具現化するルーチン、プログラム、コンポーネント、データ構造、オブジェクト、及びファンクションを含む。コンピュータ実行可能なインストラクション、それに関連したデータ構造、及びプログラムモジュールは、ここに開示する方法のステップを実行するためのプログラムコード手段の例を表わす。そのような実行可能なインストラクション又はそれに関連したデータ構造の特定のシーケンスは、そのようなステップで表されたファンクションを具現化するための対応するアクションの例を表わす。当業者であれば、本開示の他の実施形態は、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能な消費者向け電子装置、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、等を含めて、多数の形式のコンピュータシステム構成を伴うネットワークコンピューティング環境において実施されることが明らかであろう。又、これらの実施形態は、通信ネットワークを通してリンクされたハードワイヤードリンク、ワイヤレスリンク、又はその組み合わせによりローカル及びリモート処理装置によってタスクが遂行される分散型コンピューティング環境において具現化される。分散型コンピューティング環境では、プログラムモジュールは、ローカル及びリモートの両メモリ記憶装置に位置される。上述した種々の実施形態は、例示のためのものに過ぎず、本開示の範囲を限定するものではない。当業者であれば、図示して説明された規範的実施形態及びアプリケーションに従うことなく且つ本開示の精神及び範囲から逸脱せずに、ここに述べた原理に対して種々の修正及び変更がなされ得ることが容易に明らかであろう。