"ユーザのためのプログラム実行を管理するための、コンピュータによって実行される方法であって、第1のユーザのための1つ以上のコンピューティングノードのプログラム実行能力を指定期間において備蓄しておくことで、前記備蓄されたプログラム実行能力を用いて前記指定期間においてプログラムを実行するための専用アクセスを前記第1のユーザが得ることが可能となるステップであって、前記備蓄されたプログラム実行能力は、プログラム実行サービスのユーザのためにプログラムを実行する当該プログラム実行サービスの複数のコンピューティングノードによって提供される利用可能なプログラム実行能力のサブセットであり、前記複数のコンピューティングノードはそれぞれ、前記ユーザのうち1つ以上のために1つ以上のプログラムを実行するように構成することができる、ステップと、前記指定期間のうち第1の期間サブセットにおいて前記備蓄されたプログラム実行能力を用いて前記第1のユーザのために1つ以上の第1のプログラムを実行するステップであって、前記1つ以上の第1のプログラムを実行するステップは、前記第1のユーザによる前記備蓄されたプログラム実行能力への専用アクセスを用いるための第1の要求に応答する、ステップと、前記第1のユーザから第2の要求を受信して前記指定期間のうち第2の期間サブセットにおいて前記第1のユーザのために1つ以上の第2のプログラムを実行するステップであって、前記第2の期間サブセットは前記第1の期間サブセットと異なり、前記第2の要求は、前記第1のユーザが専用アクセスを持っていない前記プログラム実行サービスの前記利用可能なプログラム実行能力の未使用状態である余剰能力を用いて前記1つ以上の第2のプログラムを実行することであり、前記プログラム実行サービスの前記余剰能力の利用は、前記プログラム実行サービスによって制御される第1のプログラム実行特性を有し、前記第1のプログラム実行特性は、前記プログラム実行サービスによって制御される第2のプログラム実行特性と異なり、前記プログラム実行サービスは、前記備蓄されたプログラム実行能力の利用から発生する、ステップと、前記第1のユーザのための前記備蓄されたプログラム実行能力を用いて、前記1つ以上の第2のプログラムを前記第2の要求のために前記第2の期間サブセットにおいて実行することを自動決定するステップであって、前記備蓄されたプログラム実行能力を用いることを自動決定するステップは、前記プログラム実行サービスの1つ以上のプログラムされたコンピューティングシステムによって行なわれ、そうしなければ前記第2の期間サブセットにおいて前記備蓄されたプログラム実行能力への前記専用アクセスを用いることのない前記第1のユーザに少なくとも部分的に基づく、ステップと前記第1のユーザのために前記第2の期間サブセットにおいて前記1つ以上の第2のプログラムの実行を開始するステップであって、前記開始するステップは、前記備蓄されたプログラム実行能力を用いて行われ、前記1つ以上の第2のプログラムの実行は、前記備蓄されたプログラム実行能力の利用に基づいて、前記第2のプログラム実行特性のうち少なくとも一部を有する、ステップと、を含む、方法。前記第1のユーザのために前記指定期間の第3の期間サブセットにわたって1つ以上の第3のプログラムを実行せよとの第3の要求を前記第1のユーザから受信するステップであって、前記第3の要求は、前記プログラム実行サービスの前記未使用状態である余剰能力を用いて前記1つ以上の第3のプログラムを実行することである、ステップと、前記得第3の要求のために前記第3の期間サブセットにわたって前記1つ以上の第3のプログラムを実行する際に、前記備蓄されたプログラム実行能力を前記第1のユーザのために用いないことを自動的に決定するステップであって、前記備蓄されたプログラム実行能力を用いないことを自動的に決定するステップは、そうしなければ前記第3の期間サブセットにおいて前記第1のユーザによって用いられる前記備蓄されたプログラム実行能力に少なくとも部分的に基づく、ステップと、前記1つ以上の第3のプログラムの実行を前記第1のユーザのために前記第3の期間サブセットにおいて開始しようとするステップであって、前記開始しようとするステップは、前記プログラム実行サービスの前記未使用状態である余剰能力を用いることによって行われる、ステップと、をさらに含む、請求項1に記載の方法。前記未使用状態である余剰能力を用いた前記1つ以上の第3のプログラムの実行は、前記第1のプログラム実行特性を有し、前記第1のプログラム実行特性は、第1の指定量のプログラム実行能力について前記第1のユーザに課金される第1の料金を含み、前記方法は、前記プログラム実行サービスの前記未使用状態である余剰能力を用いて前記1つ以上の第3のプログラムの実行が開始された後でありかつ前記1つ以上の第3のプログラムの実行が完了する前において、前記第1のユーザのための前記備蓄されたプログラム実行能力のうち少なくとも一部が利用可能であると自動的に決定するステップと、前記1つ以上の第3のプログラムを実行して、前記少なくともいくつかの利用可能な備蓄されたプログラム実行能力を利用することを継続するように変更することを自動的に決定するステップと、前記プログラム実行サービスの余剰能力の代わりに前記少なくともいくつかの利用可能な備蓄されたプログラム実行能力を用いて前記1つ以上の第3のプログラムの前記継続的実行を開始するステップであって、前記1つ以上の第3のプログラムの前記継続的実行は、前記少なくともいくつかの第2のプログラム実行特性を有し、前記少なくともいくつかの第2のプログラム実行特性は、第2の指定量のプログラム実行能力について前記第1のユーザに課金される第2の料金を含み、前記第2の料金は前記第1の料金と異なる、ステップと、を含む、請求項2に記載の方法。前記第2のユーザのために前記指定期間の第3の期間サブセットにわたって1つ以上の第3のプログラムを実行せよとの第3の要求を第2のユーザから受信するステップであって、前記第3の要求は、前記1つ以上の第3のプログラムの実行を前記プログラム実行サービスの前記未使用状態である余剰能力を用いて行うことであり、前記第2のユーザは前記第1のユーザと異なる、ステップと、前記第3の要求のために前記第3の期間サブセットにわたって前記1つ以上の第3のプログラムを実行する際に、前記備蓄されたプログラム実行能力を前記第1のユーザのために用いないことを自動的に決定するステップであって、前記備蓄されたプログラム実行能力を用いないことを自動的に決定するステップは、前記第1のユーザと異なる前記第2のユーザに少なくとも部分的に基づき、かつ、他の場合において前記第3の期間サブセットにおいて前記第1のユーザによって用いられない前記備蓄されたプログラム実行能力と無関係である、ステップと、前記1つ以上の第3のプログラムの実行を前記第2のユーザのために前記第3の期間サブセットにおいて開始しようとするステップであって、前記開始しようとするステップは、前記プログラム実行サービスの前記未使用状態である余剰能力を用いることによって行われる、ステップと、をさらに含む、請求項1に記載の方法。前記1つ以上の第2のプログラムを前記第1のユーザのために実行せよとの前記第1のユーザからの前記第2の要求は、用いられるべき複数のコンピューティングノードの数量の通知を含み、他の場合において前記第2の期間サブセットにおいて前記第1のユーザによって用いられない前記第1のユーザのための前記備蓄されたプログラム実行能力は、前記1つ以上のコンピューティングノードの利用可能な数量に対応し、前記1つ以上のコンピューティングノードの利用可能な数量は、前記通知された数量よりも少量であり、前記備蓄されたプログラム実行能力を用いることにより前記1つ以上の第2のプログラムの実行を前記第1のユーザのために開始するステップは、前記1つ以上のコンピューティングノードの前記利用可能な数量を用いるステップを含み、前記方法は、前記1つ以上の第2のプログラムの他の実行を前記第1のユーザのために前記第2の期間サブセットにおいて開始するステップをさらに含み、前記開始するステップは、前記プログラム実行サービスの前記未使用状態である余剰能力を用いることによって行われ、前記他の実行を開始するステップは、前記通知された数量と前記利用可能な数量との間の数値差である数量の1つ以上の未使用状態である余剰コンピューティングノードを用いるステップを含む、請求項1に記載の方法。前記方法は、前記備蓄されたプログラム実行能力を私的余剰コンピューティング能力プールの一部として前記第1のユーザのために前記指定期間において用いることを自動的に決定するステップをさらに含み、前記指定期間において、前記備蓄されたプログラム実行能力は用いられておらず、これにより、前記第1のユーザへと専用アクセスが提供され、前記方法はまた、前記備蓄されたプログラム実行能力の前記第1のユーザのための利用を自動的に監視して、前記備蓄されたプログラム実行能力が前記私的余剰コンピューティング能力プールのために利用可能かを決定するステップをさらに含む、請求項1に記載の方法。前記備蓄されたプログラム実行能力を前記私的余剰コンピューティング能力プールの一部として前記第1のユーザのために用いることを自動的に決定するステップは、前記第1のユーザの知識無しに行われる、請求項6に記載の方法。前記備蓄されたプログラム実行能力を前記第1のユーザのために用いて前記1つ以上の第2のプログラムを前記第2の要求のために前記第2の期間サブセットにおいて実行するかを自動的に決定するステップは、前記備蓄されたプログラム実行能力を前記プログラム実行サービスの前記未使用状態である余剰能力の代わりに用いることを決定するステップを含み、前記備蓄されたプログラム実行能力を前記私的余剰コンピューティング能力プールの一部として前記第1のユーザのために用いて前記1つ以上の第2のプログラムを前記第2の要求のために実行することを自動的に決定するステップは、前記第1のユーザの知識無しに行われる、請求項1に記載の方法。前記備蓄されたプログラム実行能力の利用からの前記第2のプログラム実行特性は、前記第1のユーザのための前記備蓄されたプログラム実行能力の保証された利用可能性を含み、前記プログラム実行サービスの余剰能力の利用のための前記第1のプログラム実行特性は、前記余剰能力の継続的利用可能性の保証が無いことを含む、請求項1に記載の方法。前記備蓄されたプログラム実行能力の利用からの前記第2のプログラム実行特性は、第1の進行中の料金を含み、前記第1の進行中の料金は、指定量の前記備蓄されたプログラム実行能力を指定された時間間隔にわたって用いた場合に前記第1のユーザに課金され、前記プログラム実行サービスの余剰能力の利用のための前記第1のプログラム実行特性は第2の料金を含み、前記第2の料金は、前記指定量の前記余剰能力を前記指定された時間間隔を用いた場合に前記第1のユーザに課金され、前記第1の料金は前記第2の料金よりも少額であり、前記備蓄されたプログラム実行能力を前記第1のユーザのために前記1つ以上の第2のプログラムを実行するために用いることを自動的に決定するステップは、前記1つ以上の第2のプログラムの実行のために前記備蓄されたプログラム実行能力を利用したために前記より低い第1の料金が課金された前記第1のユーザに少なくとも部分的に基づき、前記1つ以上の第2のプログラムの実行のための前記少なくともいくつかの第2のプログラム実行特性は、前記より低い第1の料金の利用を含む、請求項1に記載の方法。前記備蓄されたプログラム実行能力は、複数の備蓄されたコンピューティングノードの前記第1のユーザのための利用に基づき、前記複数の備蓄されたコンピューティングノードは全て、前記第1の期間サブセット以外の前記指定された期間の一部において前記プログラム実行サービスの前記未使用状態である余剰能力の代わりに用いられるべき前記第1のユーザによって指定され、前記第1のユーザのための前記1つ以上の第2のプログラムの実行の開始を前記備蓄されたプログラム実行能力を用いることによって行うステップは、前記複数の備蓄されたコンピューティングノードのサブセットを用いるステップを含み、前記方法は、1つ以上の他の第3のプログラムの実行を前記第1のユーザを代表するか、そのために前記指定された期間の1つ以上の部位において開始するステップをさらに含み、前記開始するステップは、前記複数の備蓄されたコンピューティングノードのうち少なくともいくつかを用いることにより、行われる、請求項1に記載の方法。前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行時において、前記第1のユーザが有する前記備蓄されたプログラム実行能力への前記専用アクセスを利用して、1つ以上の第3のプログラムを前記第1のユーザのために実行せよとの第3の要求を前記第1のユーザから受信するステップと、前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行を終了することを前記受信された第3の要求に基づいて決定するステップと、前記1つ以上の第3のプログラムの前記第1のユーザのための実行を開始するステップであって、前記実行を開始するステップは、前記1つ以上の第2のプログラムの実行の代わりに前記備蓄されたプログラム実行能力を用いることによって行われる、ステップと、をさらに含む、請求項1に記載の方法。前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行時において、前記第1のユーザが有する前記備蓄されたプログラム実行能力への前記専用アクセスを利用して、1つ以上の第3のプログラムを前記第1のユーザのために実行せよとの第3の要求を前記第1のユーザから受信するステップと、前記受信された第3の要求に応答して、前記プログラム実行サービスの余剰能力を用いるための前記1つ以上の第2のプログラムの継続的実行を変更することを自動的に決定し、前記1つ以上の第2のプログラムの前記継続的実行を前記備蓄されたプログラム実行能力の代わりに前記余剰能力を用いて開始し、前記1つ以上の第2のプログラムの前記継続的実行は、前記第1のプログラム実行特性を有する、ステップと、をさらに含む、請求項1に記載の方法。前記1つ以上の第2のプログラムの前記備蓄されたプログラム実行能力を用いた実行に関する前記少なくともいくつかの第2のプログラム実行特性は第1の料金を含み、前記第1の料金は、第1の指定量のプログラム実行能力について前記第1のユーザに課金され、前記余剰能力を用いた前記1つ以上の第2のプログラムの継続的実行に関する前記第1のプログラム実行特性は第2の料金を含み、前記第2の料金は、第2の指定量のプログラム実行能力について前記第1のユーザに課金され、前記第2の料金は前記第1の料金と異なる、請求項13に記載の方法。前記複数のコンピューティングノードは、複数の物理的なコンピューティングシステムそれぞれについて、前記物理的なコンピューティングシステムによってホストされた複数の仮想マシンを含み、前記複数の仮想マシンはそれぞれ、少なくとも1つのプログラムを実行するように構成可能であり、前記備蓄されたプログラム実行能力のために用いられる前記1つ以上のコンピューティングノードは、それぞれホストされた仮想マシンである、請求項1に記載の方法。1つ以上の第3のプログラムを前記第2のユーザのために前記指定期間の第3の期間サブセットにおいて実行せよとの第3の要求を第2のユーザから受信するステップであって、前記第3の要求は、前記1つ以上の第3のプログラムの実行を前記プログラム実行サービスの前記未使用状態である余剰能力を用いて行うことであり、前記第2のユーザは前記第1のユーザと異なる、ステップと、前記備蓄されたプログラム実行能力を前記第1のユーザのために用いないことを自動的に決定し、前記第3の要求のために前記第3の期間サブセットにおいて前記1つ以上の第3のプログラムを実行するステップであって、前記備蓄されたプログラム実行能力を用いないことを自動的に決定するステップは、前記第1のユーザと異なる前記第2のユーザに少なくとも部分的に基づき、かつ、そうでなければ前記第3の期間サブセットにおいて前記第1のユーザによって用いられない前記備蓄されたプログラム実行能力と無関係である、ステップと、前記1つ以上の第3のプログラムの前記第2のユーザのための前記第3の期間サブセットにおける実行の開始を試行するステップであって、前記試行するステップは、前記プログラム実行サービスの前記未使用状態である余剰能力を用いることにより、行われる、ステップとをさらに有する請求項1~3のうちいずれかに記載の方法。前記1つ以上の第2のプログラムを前記第1のユーザのために実行せよとの前記第1のユーザからの前記第2の要求は、用いられるべき複数のコンピューティングノードの数量の通知を含み、前記第1のユーザのための前記備蓄されたプログラム実行能力は、そうでなければ前記第2の期間サブセットにおいて前記第1のユーザによって用いられず、前記通知された数量よりも少量である前記1つ以上のコンピューティングノードの利用可能な数量に対応し、前記備蓄されたプログラム実行能力を用いることにより前記1つ以上の第2のプログラムの実行を前記第1のユーザのために開始するステップは、前記利用可能な数量の前記1つ以上のコンピューティングノードを用いることを含み、前記方法は、前記1つ以上の第2のプログラムの前記第1のユーザのための前記第2の期間サブセットにおける他の実行を開始するステップをさらに含み、前記他の実行を開始するステップは、前記プログラム実行サービスの前記未使用状態である余剰能力を用いることによって行われ、前記他の実行を開始するステップは、前記通知された数量と前記利用可能な数量との間の数値差である数量の1つ以上の未使用状態である余剰コンピューティングノードを用いるステップを含む、請求項1~3または16のうちいずれかに記載の方法。前記方法は、前記備蓄されたプログラム実行能力を私的余剰コンピューティング能力プールの一部として前記第1のユーザのために前記指定期間において用いることを自動的に決定するステップをさらに含み、前記指定期間において、前記備蓄されたプログラム実行能力は用いられておらず、これにより、前記第1のユーザに専用アクセスが提供され、前記方法はまた、前記備蓄されたプログラム実行能力の前記第1のユーザのための利用を自動的に監視して、前記備蓄されたプログラム実行能力の前記私的余剰コンピューティング能力プールについての利用可能性を決定するステップをさらに含む、請求項1~3または16~17のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力を前記私的余剰コンピューティング能力プールの一部として前記第1のユーザのために用いることを自動的に決定するステップは、前記第1のユーザの知識無しに行われる、請求項18に記載の方法。前記備蓄されたプログラム実行能力を前記第1のユーザのために用いて、前記第2の期間サブセットにおいて前記1つ以上の第2のプログラムを前記第2の要求のために実行することを自動的に決定するステップは、前記プログラム実行サービスの前記未使用状態である余剰能力の代わりに前記備蓄されたプログラム実行能力を用いることを決定するステップを含み、前記備蓄されたプログラム実行能力を前記私的余剰コンピューティング能力プールの一部として前記第1のユーザのために用いて、前記1つ以上の第2のプログラムを前記第2の要求を実行することを自動的に決定するステップは、前記第1のユーザの知識無しに行われる、請求項1~3または16~19のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力の利用からの前記第2のプログラム実行特性は、前記備蓄されたプログラム実行能力の前記第1のユーザのための保証された利用可能性を含み、前記プログラム実行サービスの前記余剰能力を用いるための前記第1のプログラム実行特性は、前記余剰能力の継続的利用可能性の保証が無いことを含む、請求項1~3または16~20のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力の利用からの前記第2のプログラム実行特性は、指定量の前記備蓄されたプログラム実行能力が指定された時間間隔にわたって利用された場合に前記第1のユーザに課金される第1の進行中の料金を含み、前記プログラム実行サービスの前記余剰能力を用いるための前記第1のプログラム実行特性は、前記指定量の前記余剰能力が前記指定された時間間隔にわたって利用された場合に前記第1のユーザに課金される第2の料金を含み、前記第1の料金は前記第2の料金よりも少額であり、前記備蓄されたプログラム実行能力を前記第1のユーザのために用いて前記1つ以上の第2のプログラムを実行することを自動的に決定するステップは、前記1つ以上の第2のプログラムの実行について前記備蓄されたプログラム実行能力を用いたために前記より低い第1の料金が課金されている前記第1のユーザに少なくとも部分的に基づき、前記1つ以上の第2のプログラムの実行のための前記少なくともいくつかの第2のプログラム実行特性は、前記より低い第1の料金の利用を含む、請求項1~3または16~21のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力は、複数の備蓄されたコンピューティングノードの前記第1のユーザのための利用に基づき、前記複数の備蓄されたコンピューティングノードは全て、前記第1の期間サブセット以外の前記指定された期間の一部において前記プログラム実行サービスの前記未使用状態である余剰能力の代わりに用いられるべきものとして前記第1のユーザによって指定され、前記備蓄されたプログラム実行能力を用いることにより、前記1つ以上の第2のプログラムの前記第1のユーザのための実行を開始するステップは、前記複数の備蓄されたコンピューティングノードのサブセットを用いるステップを含み、前記方法は、前記指定された期間のうち1つ以上の部位における1つ以上の他の第3のプログラムの実行を前記第1のユーザのために開始するステップをさらに含み、前記開始するステップは、前記複数の備蓄されたコンピューティングノードのうち少なくともいくつかを用いることにより、行われる、請求項1~3または16~22のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行時において、前記第1のユーザの前記備蓄されたプログラム実行能力への専用アクセスを用いて1つ以上の第3のプログラムを前記第1のユーザのために実行せよとの第3の要求を前記第1のユーザから受信するステップと、前記受信された第3の要求に基づいて、前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行を終了することを決定するステップと、前記1つ以上の第2のプログラムの実行の代わりに前記備蓄されたプログラム実行能力を用いることにより、前記1つ以上の第3のプログラムの前記第1のユーザのための実行を開始するステップと、をさらに含む、請求項1~3または16~23のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行時において、前記第1のユーザの前記備蓄されたプログラム実行能力への専用アクセスを用いて1つ以上の第3のプログラムを前記第1のユーザのために実行せよとの第3の要求を前記第1のユーザから受信するステップと、前記受信された第3の要求に応答して、前記プログラム実行サービスの余剰能力を用いるための前記1つ以上の第2のプログラムの継続的実行を変更することを自動的に決定し、前記1つ以上の第2のプログラムの前記継続的実行を前記備蓄されたプログラム実行能力の代わりに前記余剰能力を用いて開始し、前記1つ以上の第2のプログラムの前記継続的実行は、前記第1のプログラム実行特性を有する、ステップと、をさらに含む、請求項1~3または16~24のうちいずれかに記載の方法。前記備蓄されたプログラム実行能力を用いた前記1つ以上の第2のプログラムの実行についての前記少なくともいくつかの第2のプログラム実行特性は第1の料金を含み、前記第1の料金は、第1の指定量のプログラム実行能力について前記第1のユーザに課金され、前記余剰能力を用いた前記1つ以上の第2のプログラムの継続的実行に関する前記第1のプログラム実行特性は第2の料金を含み、前記第2の料金は、第2の指定量のプログラム実行能力について前記第1のユーザに課金され、前記第2の料金は前記第1の料金と異なる、請求項25に記載の方法。前記複数のコンピューティングノードは、複数の物理的なコンピューティングシステムそれぞれについて、前記物理的なコンピューティングシステムによってホストされた複数の仮想マシンを含み、前記複数の仮想マシンはそれぞれ、少なくとも1つのプログラムを実行するように構成可能であり、前記備蓄されたプログラム実行能力のために用いられる前記1つ以上のコンピューティングノードは、それぞれホストされた仮想マシンである、請求項1~3または16~26のうちいずれかに記載の方法。コンピュータによる読み出しが可能な記憶媒体であって、前記記憶媒体のコンテンツにより、コンピューティングシステムは、指定期間にわたるプログラム実行時において用いられる専用アクセスを第1のユーザが有する1つ以上の備蓄されたコンピューティング関連リソースを提供するステップであって、前記備蓄されたコンピューティング関連リソースは、ネットワークアクセシブルサービスによって管理され、前記ネットワークアクセシブルサービスは、前記第1のユーザから遠隔であり、かつ、前記指定期間のうち通知された部位における前記第1のユーザによる専用アクセスのために用いられない、ステップと、前記第1のユーザのための前記通知された部位における1つ以上の第1のプログラムの実行時において、少なくとも1つの通知されたコンピューティング関連リソースを用いよとの前記第1のユーザからの通知に自動的に応答するステップであって、前記少なくとも1つのコンピューティング関連リソースは、前記遠隔サービスのうち未使用状態である余剰コンピューティング関連リソースでありかつ前記第1のユーザが専用アクセスを持っていないものとして通知され、前記自動応答ステップは、前記第1のユーザのための前記備蓄されたコンピューティング関連リソースが前記少なくとも1つの通知されたコンピューティング関連リソースを含むことを決定し、前記1つ以上の第1のプログラムの実行時において前記第1のユーザのために前記通知された部位において前記遠隔サービスの前記未使用状態である余剰コンピューティング関連リソースの代わりに前記備蓄されたコンピューティング関連リソースを用いることを決定するステップと、前記1つ以上の第1のプログラムの実行時において前記第1のユーザのために前記通知された部位において、前記備蓄されたコンピューティング関連リソースの利用を開始するステップと、を含む、ステップと、を含む方法を行うことができる、コンピュータによる読み出しが可能な記憶媒体。前記サービスはプログラム実行サービスであり、前記プログラム実行サービスのユーザのプログラムを実行するように構成することが可能な複数のコンピューティングノードを提供し、前記1つ以上の備蓄されたコンピューティング関連リソースは、1つ以上のプログラムの実行において前記第1のユーザによって用いられるために割り当てられた前記複数のコンピューティングノードのうち1つ以上を含み、前記少なくとも1つの通知されたコンピューティング関連リソースは、前記複数のコンピューティングノードの1つ以上のうち指定された数量であり、前記備蓄されたコンピューティング関連リソースの利用を前記1つ以上の第1のプログラムの実行時において開始するステップは、前記第1のユーザによって用いられるように割り当てられた前記1つ以上のコンピューティングノードからの少なくとも前記指定された数量のコンピューティングノードによって前記1つ以上の第1のプログラムの実行を開始するステップを含む、請求項28に記載の、コンピュータによる読み出しが可能な記憶媒体。前記第1のユーザが専用アクセスを有する前記1つ以上の備蓄されたコンピューティング関連リソースを提供するステップは、1つ以上の第2のプログラムを前記第1のユーザのために前記指定期間の第2の部位にわたって前記第1のユーザの前記専用アクセスを用いて実行するステップを含み、前記第2の部位は前記通知された部位と異なり、前記第1のユーザのための前記少なくとも指定された数量のコンピューティングノードによる前記1つ以上の第1のプログラムの実行は第1のプログラム実行特性を有し、前記第1のプログラム実行特性は、第2のプログラム実行特性と異なり、前記第2のプログラム実行特性は、前記遠隔サービスの前記未使用状態である余剰コンピューティング関連リソースの利用に起因して発生する、請求項29に記載の、コンピュータによる読み出しが可能な記憶媒体。少なくとも1つの通知されたコンピューティング関連リソースを利用せよとの前記第1のユーザからの前記要求は、コンピューティング関連リソースの種類の通知を含み、前記少なくとも1つの通知されたコンピューティング関連リソースは、前記通知された種類の決定された量である、請求項28に記載の、コンピュータによる読み出しが可能な記憶媒体。前記少なくとも1つの通知されたコンピューティング関連リソースは、永続的記憶、メモリおよびプロセッササイクルのうち少なくとも1つである、請求項28に記載の、コンピュータによる読み出しが可能な記憶媒体。前記コンピュータによる読み出しが可能な媒体は、前記コンテンツを保存する前記コンピューティングシステムのメモリであり、前記コンテンツは命令であり、前記命令が実行されると、前記命令は、前記方法を行うように前記コンピューティングシステムをプログラムする、請求項28に記載の、コンピュータによる読み出しが可能な記憶媒体。ユーザのためのプログラム実行を管理するように構成されたコンピューティングシステムであって、1つ以上のプロセッサと、システムマネージャモジュールとを含み、前記システムマネージャモジュールは、前記1つ以上のプロセッサのうち少なくとも1つによって実行された場合、ユーザのためのプログラム実行サービスのプログラム実行を管理するように構成され、前記管理するステップは、複数の前記ユーザそれぞれについて、前記ユーザがプログラム実行のために専用アクセスを有する指定された第1の量の備蓄されたプログラム実行能力を提供するステップであって、前記備蓄されたプログラム実行能力は、前記プログラム実行サービスによって提供されたプログラム実行能力のサブセットであるステップと、前記指定された第1の量の備蓄されたプログラム実行能力の提供後、1つ以上の第1のプログラムを前記ユーザのために前記プログラム実行サービスの第2の量の余剰プログラム実行能力を用いて実行せよとの前記ユーザからの要求に自動的に応答するステップであって、前記第2の量の余剰プログラム実行能力に対し、前記ユーザは専用アクセスを持っておらず、前記ユーザのための前記備蓄されたプログラム実行能力が、前記ユーザによって用いられていない少なくとも前記第2の量の利用可能なプログラム実行能力を含むかを自動的に決定するステップと、前記ユーザのための前記備蓄されたプログラム実行能力が、少なくとも前記第2の量の前記利用可能なプログラム実行能力を含むものとして自動的に決定された場合、前記ユーザのための前記備蓄されたプログラム実行能力を用いた前記1つ以上の第1のプログラムの前記ユーザのための実行を開始するステップと、前記ユーザのための前記備蓄されたプログラム実行能力が、少なくとも前記第2の量の前記利用可能なプログラム実行能力を含まないものとして自動的に決定された場合、現在未使用状態であるプログラム実行サービスの他の余剰プログラム実行能力を得ることにより、前記1つ以上の第1のプログラムの前記ユーザのための実行を開始しようとするステップであって、前記プログラム実行サービスの前記他の余剰プログラム実行能力は、前記ユーザのための前記備蓄されたプログラム実行能力と異なる、ステップとを含むステップとによって行われる、コンピューティングシステム。前記プログラム実行サービスは、複数のコンピューティングノードを用いて前記プログラム実行サービスのための前記プログラム実行能力を提供し、前記複数のコンピューティングノードはそれぞれ、前記プログラム実行サービスのユーザのうち1つ以上のために1つ以上のプログラムを実行するように構成可能であり、前記指定された第1の量の備蓄されたプログラム実行能力を前記複数のユーザのうちの1つのために提供するステップは、前記複数のコンピューティングノードのうち1つ以上を前記1つのユーザによる指定期間にわたる専用使用のために割り当てるステップを含み、1つ以上の第2のプログラムを前記1つのユーザのために前記指定期間の一部にわたって実行するステップを含み、前記実行するステップは、前記割り当てられた1つ以上のコンピューティングノードの前記備蓄されたプログラム実行能力への前記1つのユーザによる専用アクセスを用いて行われ、前記1つのユーザによる前記割り当てられた1つ以上のコンピューティングノードの前記備蓄されたプログラム実行能力への専用アクセスが前記1つ以上の第2のプログラムの実行のために用いられた場合において前記自動的に決定するステップが前記指定期間の前記部位において発生した場合に、前記1つのユーザのための前記備蓄されたプログラム実行能力は、少なくとも前記第2の量の前記利用可能なプログラム実行能力を含まないように自動的に決定される、請求項34に記載のコンピューティングシステム。前記1つのユーザのための前記備蓄されたプログラム実行能力が少なくとも前記第2の量の利用可能なプログラム実行能力を含むかを自動的に決定するステップは、前記1つのユーザのための前記備蓄されたプログラム実行能力が少なくとも前記第2の量の前記利用可能なプログラム実行能力を含まないと決定するステップを含み、前記1つ以上の第1のプログラムの実行を前記1つのユーザのために前記1つのユーザのための前記備蓄されたプログラム実行能力を用いて行うステップは、第1のプログラム実行特性を有し、前記第1のプログラム実行特性は、第2のプログラム実行特性と異な図1Aは、ネットワーク図であり、複数のユーザのためにプログラムを実行するための複数の種類のプログラム実行能力の利用の管理の一例を示す。例示目的のため、以下、特定の種類のプログラム実行能力が特定の様態で提供および管理される、いくつかの例および実施形態について説明する。これらの例は例示目的のために記載するものであり、簡潔さのために簡略化されており、本発明の技術は多様な他の状況において利用することが可能であり、そのうちの一部のみについて以下に説明ことが理解される。図1Aの例において、プログラム実行サービスシステムマネージャモジュール110の図示の実施形態を用いて、複数のユーザがネットワーク100を介して相互作用している。プログラム実行サービスシステムマネージャモジュール110は、ユーザのプログラム実行において利用することが可能な1つ以上のコンピューティングノード120上においてプログラムを実行する。このPESSMモジュール110は、特定のプログラム実行サービス図示せずの機能のうち一部または全体を提供する。詳細には、図示の実施形態において、PESSMモジュール110およびコンピューティングノード120は提供されるプログラム実行サービスの一部としてプログラム実行サービスプロバイダ105によって提供され、PESSMモジュール110は、1つ以上のコンピューティングシステム図示せず上において実行し得る。この例において、前記プログラム実行サービスは、多様なユーザのためにコンピューティングノード120上においてプログラム実行を管理するための多様な機能を提供する。多様な遠隔ユーザ130、140、150および160は、この例において、ネットワーク100を介してPESSM110と相互作用して、ユーザを代表するか、そのためにプログラムの多様な種類の実行を構成および/または要求することができる。この例において、これらの遠隔ユーザは、以下に記載のように、1つ以上の専用能力ユーザ140と、1つ以上の余剰能力ユーザ150と、1つ以上のオンデマンド可変能力ユーザ130と、任意選択的に1つ以上の他のユーザ160とを含む。ネットワーク100は、例えば、リンクされたネットワークによって構成された公的アクセスが可能なネットワークであり得、多様な別個のパーティによって操作される例えば、インターネット。他の実施形態において、ネットワーク100は、私的ネットワークであり得る例えば、非優先的ユーザからのアクセスが全体的または部分的に可能な企業ネットワークまたは大学ネットワーク。さらに他の実施形態において、ネットワーク100は、インターネットへのアクセスおよび/またはインターネットからのアクセスを有する1つ以上の私的ネットワークを含み得る。例示のコンピューティングノード120は、ユーザを代表するか、そのためにプログラム実行を行う際に用いられ、いくつかの実施形態において、複数の物理的なコンピューティングシステムおよび/または複数の仮想マシンを含み得る。これらの複数の物理的なコンピューティングシステムおよび/または複数の仮想マシンは、図1Bを参照してさらに詳述するように1つ以上の物理的なコンピューティングシステム上においてホストされる。コンピューティングノード120はそれぞれ、1つ以上のプログラム実行において利用することが可能な一定量のコンピューティングリソースを有し、特定の量のプログラム実行能力を提供する例えば、処理能力例えば、処理ユニットの数および/またはサイズ、メモリ能力、記憶能力、ネットワーク帯域能力などのうちの1つ以上の組み合わせによって測定することが可能なもの。いくつかの実施形態において、PESプロバイダ105は、事前構成されたコンピューティングノードを提供し得、各事前構成されたコンピューティングノードは、ユーザのためのプログラム実行において利用することが可能な類似のかつ/または相当量のリソースを有し、他の実施形態において、PESプロバイダ105は、選択対象として多様な異なるコンピューティングノードを提供し得、これらのコンピューティングノードから、ユーザは、前記ユーザのためのプログラム実行の際に用いられるものを選択することができる例えば、異なる量および/または種類のコンピューティング関連リソース例えば、処理ユニットのサイズ、速度および/または種類、処理ユニット数、メモリおよび/または記憶、プラットフォーム構成例えば、32ビットまたは64ビット。いくつかの実施形態において、多様なユーザ130、140、150および160は、PESSM110と相互作用して、ユーザのためのプログラム実行において好適なリソースおよび/または必要なリソースを例えば、1つ以上のコンピューティングノードを指定することにより指定することができる。多様な実施形態において、このようなリソースの指定は、ユーザのためのプログラム実行の要求が有ったときならびに/あるいは1つ以上の他のとき例えば、ユーザがプログラム実行サービスを登録および/または加入したときに、行われ得る。いくつかの実施形態において、PESSM110は、加入サービスおよび/または登録サービスを1人以上のユーザに提供することができ、これにより、ユーザは、ユーザを代表するか、そのために実行されるべき1つ以上のプログラムに関連する情報を指定することができる例えば、プログラム、ソースコード、1つ以上のプログラムのアドレス指定可能な位置、アカウント情報例えば、ユーザ名、課金情報、等、使用条件。加えて、ユーザがPESSM110と相互作用してサービスの加入および/または登録を終えた後、いくつかの実施形態において、前記ユーザに対し、1つ以上の識別子が発行され得る例えば、鍵、トークン、ユーザ名、証明書、等。これらの識別子は、前記ユーザと関連付けられ、前記ユーザのためのプログラム実行と関連して用いられる。他の実施形態において、PES加入サービスおよび/または登録サービスに関連する多様な動作を行うために、PESSM110以外のモジュールが提供され得る。図示の実施形態において、1つ以上の可変能力ユーザ130は、PESSM110と相互作用して、例えば即時実行の要求の提出および/または以降の実行に関する情報の提供を提出することにより、オンデマンド可変プログラム実行能力を用いた1つ以上のプログラムを構成および/または実行要求する。即時実行要求を受信した後、PESSM110は、前記要求を満たすだけの十分な数のコンピューティングノード120および利用可能なリソースが利用可能であるか否かを決定することができる。前記要求を満たすだけの十分な数のコンピューティングノード120および利用可能なリソースが利用可能である場合、PESSM110は、適切な量のコンピューティングノード上において、当該要求に見合った1つ以上のプログラムの実行をユーザを代表するか、そのために開始し得る。1つ以上のプログラムを1回以上将来において実行してほしいとの要求をユーザが予定した場合、PESSM110は、1つ以上のプログラムを1つ以上の将来の時間において実行するための適切な量のコンピューティングノードを備蓄しようとし得、かつ/または、実行に利用すべきコンピューティングノードの決定を一定時期まで例えば、1つ以上の将来の時間が来るまで遅延させ得る。図示の実施形態において、PESSM110が可変能力ユーザ要求実行のためにコンピューティングノードを割り当てることができなかった場合、前記要求は失敗し得、その結果前記プログラムは実行されない。このような場合、ユーザ130は、失敗した要求を後で実行できるよう、再提出し得る。上記したように、いくつかの実施形態において、可変能力ユーザに対し、例えば、用いられるコンピューティングノードの数、用いられるコンピューティングノードの種類、コンピューティングノードが利用される期間に基づいて、PES利用に関連する多様な料金を課金することができる。加えて、ここでは図示していないが、いくつかの実施形態において、オンデマンド可変プログラム実行能力を提供するためにコンピューティングノード120のうち一定部分を指定することができ、他の実施形態において、オンデマンド可変プログラム実行能力を他の様態で例えば、コンピューティングノード120全てを用いて、別の目的例えば、専用能力に起因して割り当てられていないコンピューティングノード120の全てを用いて提供することができる。加えて、この例において、コンピューティングノード120の一部が専用能力ユーザ140のうち1つ以上によって用いられるように割り当てられており、これにより、1つ以上の専用能力ユーザ140のうちそれぞれは、これらの割り当てられたコンピューティングノードの少なくとも一部上における前記ユーザのためのプログラム実行のための優先アクセスを持つことができる。例えば、いくつかの実施形態において、専用能力ユーザ140はそれぞれ、指定された利用期間におけるユーザのためのプログラム実行の際に専用として用いられる1つ以上のコンピューティングノード120を持ち得、これにより、前記ユーザは、前記指定された利用期間内における任意の時期において、ユーザのためのプログラム実行を行うために前記1つ以上のコンピューティングノードにアクセスすることができ、かつ/または、前記1つ以上のコンピューティングノード上においてプログラムを前記指定された利用期間にわたって連続的に実行することができる。1つの特定の例として、専用能力ユーザ140のうち1つ以上は、長期例えば、1年間の契約をPESプロバイダ105と締結し得、これにより、これらのユーザはそれぞれ、例えば前払い方式で課金されるかまたは定期的に課金される固定料金および、いくつかの場合において、他の利用料金例えば、多様なリソース例えば、電気、物理的なラック空間、ネットワーク利用の利用と関連付けられた可変料金を支払うことで、契約期間における専用量のコンピューティングノード120への優先アクセスを持つ。専用能力ユーザ140がPESSM110と相互作用して専用量のコンピューティングノードの優先的利用を要求した後、PESSM110は、コンピューティングノード120からの1つ以上のコンピューティングノードをユーザによる専用使用のために割り当てることができる。例えば、いくつかの実施形態において、複数のコンピューティングノード120の1つ以上の特定のコンピューティングノード例えば、1つ以上の特定の物理的なコンピューティングノードおよび/または仮想コンピューティングノードを、例えば、前記特定のコンピューティングノードを登録時においておよび/または1つ以上の他の時期において割り当てることにより、関連付けられた特定の専用能力ユーザによる利用期間全体にわたる優先的利用のために割り当てることができ、これにより、専用コンピューティングノード上における前記利用期間における前記特定の専用ユーザのためのプログラム実行要求が発行され、その結果、前記特定の1つ以上の割り当てられたコンピューティングノード上におけるプログラム実行が開始される。他の実施形態において、利用期間全体において特定のコンピューティングノードを特定の専用ユーザ140に割り当てる代わりに、PESSM110は、複数のコンピューティングノードを有する専用コンピューティングノードグループからコンピューティングノードを割り当て得、これにより、適切な量のコンピューティングノードと、多様な専用能力ユーザ140による実行要求を満たすだけの十分なリソースとを専用コンピューティングノードグループにおいて利用することが可能となる。いくつかのこのような実施形態において、専用ユーザ140のために1つ以上の専用コンピューティングノード上において1つ以上のプログラムを実行せよとの要求が受信された後、前記1つ以上のプログラムを実行せよとの要求がでたときに、前記プログラムを実行できるだけの十分な適切な量のコンピューティングノード120を専用コンピューティングノードグループから選択することができる。前記選択された量のコンピューティングノードが専用ユーザ140のための要求の実行において不要となった場合例えば、前記要求された実行の終了および/または完了後において不要となった場合、これらのコンピューティングノードを前記専用コンピューティングノードグループへと返却して、他の専用能力ユーザによって利用可能とすることができ、あるいは、いくつかの実施形態において、以下に説明するように、専用ユーザ140のための余剰コンピューティング能力の私的プールの一部として利用可能なものとしてこれらのコンピューティングノードをさらに追跡することも可能である。加えて、特定の専用能力ユーザ140の利用期間が期限切れとなった場合、例えば、1つ以上の他の例えば、新規の専用能力ユーザによる利用のために前記コンピューティングノードを割り当てることができるようにすることにより前記ユーザの利用のために割り当てられた1つ以上のコンピューティングノードを同様に他の者による利用のために解放することができる。加えて、PESSM110は、実行要求の達成に関する1つ以上の多様な他の管理動作を行うことができる例えば、要求および/またはユーザ提出要求と関連付けられた利用期間および/または他の期間の実行、要求達成のためのコンピューティングリソースの確保、要求および/または要求元ユーザの認証および/または証明。いくつかの実施形態において、専用プログラム実行能力の実行が要求されたときと当該要求が満たされたときの間に遅延が発生し得る例えば、多様な管理動作が行われる際の遅延。多様な他の実施形態において、専用能力ユーザのためのコンピューティングノードの割り当て、追跡、備蓄および/または解放を多様な他の技術を用いて行うことができる。加えて、図示の実施形態において、複数の余剰能力ユーザ150は、PESSM110と相互作用して、1つ以上のプログラムの実行をPESの余剰プログラム実行能力を用いて構成および/または要求する。このような余剰能力ユーザは、私的余剰能力プールおよび/または1つ以上の一般的な余剰能力プールを用いるユーザを含み得る。上記したように、余剰プログラム実行能力は、余剰プログラム実行能力および/または未使用状態であるプログラム実行能力を含み得、このようなプログラム実行能力は、他の場合において他の用途に割り当てることができ、いくつかの実施形態において、少なくとも1つの一般的な余剰能力プール中に分割することができる。このような一般的な余剰能力プールは、1つ以上の他の私的余剰能力プールの一部として利用されていない余剰コンピューティング能力を含む。例えば、図示の実施形態において、余剰プログラム実行能力は、複数のコンピューティングノード120を含み得る。これらの複数のコンピューティングノード120は、他の場合において他の目的例えば、専用能力ユーザ140、可変能力ユーザ130、および/または他のユーザ160による利用のために割り当てられるが、現在はこれらの目的のために用いられていないものである。余剰能力ユーザは、プログラム実行要求を多様な実施形において多様な様態で構成することができる例えば、プログラム実行のためのコンピューティングノードの数および/または種類、利用すべきコンピューティングノードの最小数および/または最大数、当該要求の期限切れ時間、好適な実行時期および/または実行期間、余剰プログラム実行能力の利用の支払いに関する1つ以上の入札例えば、コンピューティングノードの各使用毎の入札、一定の単位時間あたりの1つ以上のコンピューティングノードの利用毎の入札、最小および/または最大入札の指定。図2Aおよび図2Bを参照してさらに説明するように、PESSM110の図示の実施形態は、余剰能力ユーザ150によって利用することが可能な余剰プログラム実行能力から1つ以上のコンピューティングノード120を含むおよび/または除去する時期と、要求されたプログラム実行を余剰能力ユーザ150のために開始および/または終了する時期と、余剰能力ユーザによる利用が可能なコンピューティングノード120のうち前記プログラム実行に用いられるものとを決定し得る。加えて、PESSM110は、私的余剰能力プール中の1つ以上の余剰能力ユーザ150それぞれについて例えば、専用能力ユーザ140でもある余剰能力ユーザ150のうち一部または全部について、利用することが可能な余剰能力の量をさらに追跡し得る。多様な実施形態において、PESSM110は、1つ以上のコンピューティングノードが未使用状態でありかつ/または他の場合において余剰能力ユーザ150によって多様な様態で利用可能であることを決定し得る。例えば、いくつかの実施形態において、PESSM110は、多様なユーザおよび/またはエンティティから、1つ以上のコンピューティングノードが現在用いられていないかまたは他の場合において余剰能力ユーザによって利用可能である旨を示す通知を受信し得る例えば、1つ以上の専用能力140ユーザがこれらのユーザによって専用使用されるコンピューティングノードのうち一定数および/または一部を用いていない旨を示す通知。いくつかのこのような実施形態において、このような専用能力ユーザは、専用コンピューティングノードが専用能力ユーザによって未使用状態として提供される可能性が高い時期または未使用状態が明言される時期ならびに/あるいは利用可能となる1つ以上の時期例えば、特定の日時、特定の日数、期間を示し得る。加えて、いくつかの実施形態において、1つ以上の他のユーザ160は、類似の様態で相互作用して、1つ以上のコンピューティングノード例えば、1つ以上の他のユーザ160例えば、サードパーティコンピューティングシステム、図示せずの制御下にある1つ以上のコンピューティングノードが余剰能力ユーザによって利用することが可能である旨を通知し得る。他の実施形態において、PESSM110は、例えばコンピューティングノード120のうち一部または全てを監視して、コンピューティングノードが利用されていない時期を決定することおよび/またはこのようなコンピューティングノードの1人以上のユーザ例えば、専用能力ユーザ140、可変能力ユーザ130、他のユーザ160の使用量パターンを追跡することにより、コンピューティングノードが余剰能力ユーザによって利用可能である時期を自動的に決定することができる。いくつかのこのような場合において、コンピューティングノードが未使用状態であるかまたは他の場合において十分に利用されていないかを決定するステップは、1つ以上の余剰能力ユーザのプログラムを実行するのに十分な少なくとも一定の期間にわたってコンピューティングノードが未使用状態である可能性を決定および/または予測するステップを含み得る。前記決定および/または予測するステップは、例えば、1人以上のユーザによる前記コンピューティングノードの過去の利用パターンの分析に基づいて、行われる。多様な実施形態において、1つ以上の余剰能力ユーザのプログラム実行に十分な期間は、1つ以上の制約に基づき得る例えば、ユーザを代表するか、そのためにプログラムを停止/開始する時間、利用されるコンピューティングノードを構成する時間、余剰能力ユーザを代表するか、そのために実行されるプログラムの種類例えば、いくつかの種類のプログラムは、有用な量の仕事を短期間内において行い得例えば、多様な種類のデータ処理、他のプログラムは、有用な結果を得るまでにより長い期間を必要とする。1つ以上のコンピューティングノード120が1つ以上の余剰能力ユーザ150によって利用可能であると決定された後、このようなコンピューティングノードは、利用可能な余剰プログラム実行能力の一般的なプールに付加され得、かつ/または、他の場合において1つ以上の私的余剰能力プールの一部として追跡され得、これにより、コンピューティングノードの他の用途が例えば、専用能力ユーザ140、可変コンピューティングユーザ130、および/または1つ以上の他のユーザまたはエンティティ160による優先使用発生するまで、前記1つ以上のコンピューティングノードは、対応する余剰能力ユーザ150を代表するか、そのためにプログラム実行を行うためにPESSM110によって利用可能となる。PESSM110は、余剰能力コンピューティングノードのうち1つ以上が余剰能力ユーザ150によって多様な様態で多様な実施形態において利用される必要がもはや無くなったと決定し得る。例えば、いくつかの実施形態において、PESSM110は、1つ以上のコンピューティングノードがもはや利用不能となったという通知を受信し得る例えば、これらのコンピューティングノードを制御しているユーザ160からの前記コンピューティングノードの利用を停止せよとの明示的な要求、優先ユーザのプログラムを1つ以上のコンピューティングノード上において実行せよとの要求、指定利用可能期間の期限切れなどに基づいたもの。別の例として、いくつかの実施形態において、PESSM110は、例えば、1人以上のユーザから受信された要求のうち他の用途に基づいた要求に基づいてまたは1つ以上のコンピューティングノード120についての需要可能性に基づいて例えば、コンピューティングノードが用いられ得る他のリソースおよび/またはプログラムの使用量の増加の検出に基づいて、コンピューティングノードの他の用途を自動的に決定することができる。いくつかの実施形態において、余剰能力ユーザ150は、PESSM110と相互作用して、指定された数の余剰コンピューティングノード上における1つ以上のプログラムの即時実行を要求し、かつ/または、1つ以上の将来の時間におけるこのような実行を予定し得、これにより、PESSM110は、前記指定された数の余剰コンピューティングノードが前記要求された実行時間において利用可能であると決定された場合、前記指定された数の余剰コンピューティングノード上における前記要求された実行を開始することができる。前記指定された数の余剰コンピューティングノードが前記時間において利用可能であるかを決定するステップは、前記ユーザの私的余剰能力プールが少しでも存在する場合に前記指定された数の余剰コンピューティングノードを含むか否かを第1に考慮するステップと、これらの余剰コンピューティングノードが利用可能である場合、これらの余剰コンピューティングノードを利用対象として選択するステップとを含み得る。前記指定された数の余剰コンピューティングノードのうち一部のみしか前記ユーザのための私的余剰能力プール中において利用できない場合、いくつかの実施形態において、PESSM110は、前記要求を部分的に満たすために利用するためのものとしてこれらの私的余剰コンピューティングノードを選択し、残りの余剰コンピューティングノードを一般的な余剰能力プールから入手しようとするか、または、他の様態で進行し得る例えば、利用可能な私的余剰コンピューティングノードのうちの前記一部のみを用いて前記要求を満足するか、前記私的余剰能力プールが前記指定された数の余剰コンピューティングノード全てを含んでいないため、前記要求が失敗に終わった旨を通知するか、一般的な余剰能力プールからの余剰コンピューティングノードのみを用いて前記要求を満たすことを試行する。加えて、いくつかの実施形態において、余剰能力ユーザ150は、PESSM110と相互作用して、指定された数の余剰コンピューティングノード上における1つ以上のプログラムの実行に関する要求が、前記1つ以上のプログラムの実行のためにこのような余剰コンピューティングノードが利用可能となったとき例えば、指定された将来の時期に実行されるように構成することができる。いくつかのこのような実施形態において、PESSM110は、前記指定された数の余剰コンピューティングノードが前記期間において利用可能となったと決定した場合、前記要求された実行を前記指定された数の余剰コンピューティングノード上において開始し得る。いくつかの実施形態において、余剰能力ユーザ150は、要求された実行を行う際に用いられるべき最小数および/または最大数の余剰コンピューティングノードを指定し得、これにより、PESSM110が少なくとも前記最小数の余剰コンピューティングノードが私的余剰能力プールからのものおよび/または一般的な余剰能力プールからのものに関わらず利用可能であると決定した場合に、前記要求された実行が開始され得、PESSM110は、前記余剰コンピューティングノードの利用可能性に基づいて、前記要求に関する余剰コンピューティングノードの最大数ただし、指定されている場合まで、前記要求された実行を開始し得る。余剰能力ユーザ150のための1つ以上のプログラムの実行についての要求が受信された後、PESSM110は、適切な数のコンピューティングノードと、前記要求された実行を満たすための十分なコンピューティングリソース私的余剰能力プールからのものおよび/または一般的な余剰能力プールからのものに関わらないとが存在すると決定した場合、前記PESSMは、前記要求された実行を多様な様態で行うために用いられるべき利用可能なコンピューティングノードを選択し得る。例えば、いくつかの実施形態において、前記PESSMは、適切な数の余剰コンピューティングノードを、十分なリソースを備えた利用可能なコンピューティングノードのうち任意のものから単に選択し得る例えば、利用可能なコンピューティングノードのプールからランダム選択する。他の実施形態において、1つ以上の特定のコンピューティングノードが、1つ以上の他の要素例えば、1つ以上の特定のコンピューティングノードの利用可能性の継続の予測される長さおよび/または可能性、前記1つ以上の特定のコンピューティングノードと、1つ以上の他のコンピューティングノードとの間の物理的近接度、前記1つ以上の特定のコンピューティングノードおよび/または1つ以上の他のコンピューティングノードの地理的位置に基づいて選択され得る。さらに、1つ以上の特定のコンピューティングノードが特定のユーザによる専用利用対象として指定されている場合、これらの特定のコンピューティングノードは、当該特定のユーザのための私的余剰能力プールの一部としてのみ用いられ得る。上記したように、余剰コンピューティングノード上における余剰能力ユーザのためのプログラム実行を一時的なものとすることができるため、前記余剰コンピューティングノードについて他の好適な用途が発生した場合例えば、専用コンピューティングノードを今まで用いていなかった専用能力ユーザ140が前記余剰コンピューティングノードを再要求した場合、PESSM110は、このようなプログラムを自動的に終了させることができる。このような場合、これらの余剰コンピューティングノードのうちいずれかの上において余剰能力ユーザ150を代表するか、そのためにプログラム実行が現在行われている場合、これらのプログラムを自動的に終了させることができ例えば、アボート、シャットダウン、休止、これにより、前記コンピューティングノードは他の目的のために自由に利用可能となり、そのため余剰能力ユーザのために利用できなくなる。加えて、別に詳述するように、いくつかの実施形態において、これらのプログラムの実行状態を保存した後終了させることが可能であり、これにより例えばプログラムを後で再開させることが可能となる。さらに、いくつかのこのような実施形態において、前記数のコンピューティングノードを他の目的のために満たすことが可能な余剰能力ユーザ150を代表するか、そのためにプログラムを現在実行している複数の余剰コンピューティングノードが存在し得、このような場合、PESSM110は、多様な要素に基づいて例えば、先ずユーザの私的余剰能力プールからの余剰能力コンピューティングノードを専用能力用途のために前記ユーザからの要求を満たすために用いるよう再要求するかまたは例えば提出された時間または入札価格などに基づいた余剰能力ユーザの現在の要求のうち決定された優先を用いることにより、前記余剰コンピューティングノードのうち他の目的のために自由に利用可能であるものを決定することができる。いくつかの実施形態において、前記終了したプログラムのうち少なくとも一部の実行を1つ以上の他の利用可能な余剰コンピューティングノード少しでも存在する場合上において例えば即時的にまたは後で移転および/または再開可能にすることができる。いくつかのこのような場合において、プログラムを実行しているかまたはプログラム実行を要求している現在の余剰能力ユーザ150全員を満足させるために利用可能な余剰コンピューティングノードが不足している場合、PESSM110は、1つ以上の他の余剰コンピューティングノード上において実行している1つ以上のさらなるプログラムを終了させることを決定することができ、その結果、前記特定のコンピューティングノード上において実行していた先に終了された1つ以上のプログラムを、新規に利用可能となった余剰コンピューティングノード上において再開させることができる例えば、余剰能力ユーザの決定された優先に基づいて再開させることができ、これにより、1つ以上の特定のコンピューティングノード上において実行されていた先に終了されたプログラムと関連付けられた要求は、前記1つ以上のさらなるプログラムと関連付けられた要求のうち少なくとも一部よりも優先される。いくつかの実施形態において、PESSM110は、ユーザのプログラムを自動終了させた後、余剰コンピューティングノードが前記ユーザのためのプログラム実行のために利用可能となったとき、前記プログラムの実行を自動的に再開させることができる。加えて、他の実施形態において、ユーザの少なくともいくつかの終了されたプログラムを、1つ以上の他のコンピューティングシステムおよび/またはプログラム実行サービス上において、前記プログラムの実行において利用することが可能な十分なコンピューティングリソース例えば、可変能力ユーザ130へと提供された可変能力機能を介して利用可能な1つ以上のコンピューティングノード、専用能力ユーザ140へと提供された専用能力機能、および/またはPESの外部の1つ以上のサードパーティコンピューティングシステム図示せずによって自動的に移転および/または再開させることができる。加えて、多様な種類のプログラムが、このような余剰能力プールによって提供されるような一時的実行環境における実行により適している例えば、突発的終了に起因する予期せぬ干渉に比較的耐えるプログラム。いくつかの実施形態において、余剰能力ユーザは、進捗例えば、中間結果、現在のランタイム状態を間欠的に追跡および/または保存するように設計された余剰プログラム実行能力上において1つ以上のプログラムを実行することができ、これにより、前記プログラムを将来の時間において再開して、活動を再開することができる。加えて、いくつかの実施形態において、PESSM110が余剰コンピューティングノード上で実行しているプログラムを自動終了すると、PESSM110は、現在のシステムおよび/またはプログラム実行状態を自動検出することができ、これにより、前記検出された状態を各余剰能力ユーザ150へと保存および/または提供しておいて、前記プログラムが自動終了したときと同様の状態でプログラム実行を後で再開することが可能になる。あるいは、特定の実行プログラムが自身の実行状態を保存することができる場合、PESSM110は、前記プログラムを終了させる前に、前記プログラム自身の実行状態保存を行うように前記プログラムに通知することができる。プログラム実行状態の保存の例示的実施形態に関するさらなる詳細について、米国特許出願第12/334,004号出願日:2008年12月12日、名称:SavingProgramExecutionProgramState中に記載がある。同文献全体を参考のため援用する。上記したように、少なくともいくつかの実施形態において、私的余剰能力プールを有するユーザは、例えば、他の任意のユーザから余剰能力要求が来る前に前記ユーザからの任意の余剰能力要求を実行するように前記私的余剰能力プール中の任意のプログラム実行能力への優先アクセスを受信するが、このような私的余剰能力プールが、私的プールのために関連付けられたユーザによって現在用いられていない余剰能力を含む場合、前記現在利用可能な余剰能力は、一般的な余剰能力プールを介して他のユーザが一時的に利用できるようにされる。加えて、複数の余剰能力ユーザ150のためのプログラム実行を行うための一般的な余剰能力プールから余剰コンピューティングノードへのアクセスは、少なくともいくつかの実施形態において、余剰能力ユーザ150間の優先に基づき得、これにより、プログラム実行に関する2つ以上の要求間の余剰コンピューティングノードにおいて一定量の競合がある場合、関連付けられた優先度がより高い要求に対し、前記競合する量の余剰コンピューティングノードをプログラム実行のために用いるためのアクセスが付与される。少なくとも1つの例示的実施形態において、最高入札額例えば、最高入札の要求が入札額の低い要求よりも優先され得、入札額間の関係は、他の要素例えば、より早期に受信された要求に基づいて解消される。いくつかの実施形態において、余剰能力ユーザ150のうち1つ以上は、PESSM110の実施形態と相互作用して、一般的な余剰能力プールの1つ以上の利用可能な余剰コンピューティングノード例えば、現在利用可能なおよび/または1つ以上の将来の時間において利用可能なへのアクセスについて例えば、オークションスタイルで入札し得、これにより、落札した入札ユーザは、1つ以上の利用可能な余剰コンピューティングノードへのアクセスを受けることができる。いくつかの実施形態において、PESSM110は、1つ以上の余剰コンピューティングノード上におけるより優先順位の高い要求のプログラム実行に従って、余剰コンピューティングノードのうち1つ以上の上で現在実行しているより低い優先要求と関連付けられたプログラム実行を自動終了させる。いくつかの他の実施形態例えば、非優先的実施形態において、PESSM110は、係属中の要求を場合によって循環して余剰コンピューティングノード上においてプログラム実行を行うことができ、これにより、余剰コンピューティングノードのうち1つ以上の上において一定の実行時間を各要求へと付与することができる。いくつかの実施形態において、PESSM110は、PESSM110と相互作用している余剰能力ユーザ150のうち1つ以上に対して双方向フィードバックを提供することができ、これにより、一般的な余剰能力プールの一定量の余剰コンピューティングノード上におけるプログラム実行を構成および/または要求することができる。例えば、いくつかのこのような実施形態において、双方向フィードバックは、例えば、現在の需要および/または予測される需要、現在の余剰コンピューティングノードの量および/または余剰コンピューティングノードのあり得る量、1つ以上の入札レベルなどに基づいた、指定された量の余剰コンピューティングノード上において要求されたプログラムが実行される時期および/または長さについての通知を含み得る。1つの例示的実施形態において、PESSM110は、提案される入札レベルと、対応する情報とを含み得る。前記対応する情報は、要求された実行が発生しそうな時期および/または完了しそうな時期を示す。このような情報により、例えば、異なる入札額、異なる量および/または種類のコンピューティングノード、異なる実行長さ、余剰能力ユーザの希望を満たすための要求を指定することにより、余剰能力ユーザ150を再構成することが可能となる。その結果、前記要求を例えばより早期に行うことが可能となる。上記したように、余剰能力ユーザ150に対し、余剰プログラム実行能力の利用と関連して多様な料金を課金することができる。このような課金は、例えば、ユーザのために用いられている余剰プログラム実行能力が当該ユーザのための私的余剰能力プールの一部であるかに基づいて、利用されているコンピューティングノードの数量および/または1つ以上の利用要素例えば、用いられた時間数、消費された共有リソース量、時間コンピューティングノードの使用量などに基づいてかつ/またはコンピューティングノードの利用についての1つ以上の余剰能力ユーザ150からの1つ以上の入札に基づいて行うことができる。いくつかの実施形態において、一般的な余剰コンピューティング能力プールを利用する1つ以上の余剰能力ユーザ150に課金される料金のうち一部を、前記一般的な余剰能力プール中のコンピューティングノードを提供した1つ以上の他のユーザへと提供することができる例えば、1つ以上の専用能力ユーザ140、1つ以上の他のユーザ160。例えば、いくつかの実施形態において、このような他のユーザに対し、余剰能力ユーザから収集された料金のうち比例する一部が支払われ得る例えば、その他のユーザによって経時的に貢献されるコンピューティングノードの量を反映する比例する額。いくつかの場合において、他のユーザに供給されるこのような料金は、これらの他のユーザに起因して発生する他の課金例えば、専用能力ユーザに起因して発生する課金を相殺するように、PESプロバイダによって自動的に貸方記入されるかおよび/または前記他のユーザへと支払われ得る。加えて、いくつかの実施形態において、PESSM110は、電子市場図示せずを1つ以上の専用能力ユーザ140へと提供することができ、これにより、1つ以上の専用能力ユーザ140は、前記専用能力の使用期間において、自身の専用コンピューティングノードへのアクセスを1つ以上の他のユーザ160へと移転させることができる。他の実施形態において、専用能力ユーザ140および別のユーザ160は、PESの外部において入れ替えて配置され得る。いくつかの実施形態において、ユーザ160は、専用能力ユーザの専用コンピューティングノードの移転された部位へのアクセスの対価として支払いを専用能力ユーザへと提供し得、これにより、購入したユーザは、前記専用プログラム実行能力の移転された部位へとアクセスして、前記購入したユーザを代表するか、そのためにプログラム実行を行うことができる。交換のために提供されるアクセスの価格は、例えば専用能力ユーザが指定した固定価格またはユーザ160が提案した入札価格を介して、多様な実施形態において多様な様態で決定することができる。いくつかの実施形態において、専用コンピューティングノードのための交換は、当該交換が一時的でありかつ/または永久となるように、行われ得る。例えば、いくつかの実施形態において、交換は、指定された一定期間にわたっておよび/または多様な時間間隔にわたって行われ得、これにより、購入したユーザは、当該指定された期間にわたっておよび/または多様な間隔にわたってコンピューティングノードへアクセスすることができ、その後、前記専用コンピューティングノードは、前記専用能力ユーザによって用いられるよう前記専用能力ユーザへと戻り得る。他の実施形態において、前記交換は永久であり得、その場合、購入したユーザは、専用コンピューティングノードと関連付けられた残りの利用期間全体にわたって前記専用コンピューティングノードへアクセスすることができる。いくつかの実施形態において、加入した専用能力ユーザ140による専用使用のための1つ以上のコンピューティングノードの初期割り当ての一環として、PESSM110は、1人以上のユーザトークンを加入ユーザへと割り当て得、かつ/または、割り当てられたコンピューティングノードを他の場合において加入専用能力ユーザのアカウントと関連付け得、これにより、前記専用能力ユーザによるコンピューティングノードの利用を多様な目的のために追跡することが可能となる例えば、構成、認証、課金。このような実施形態において、専用能力ユーザが自身の専用コンピューティングノードのうち一部を新規ユーザへと移転させた場合、任意の提供されたトークンを前記新規ユーザへと移転させることができ、かつ/または、前記コンピューティングノードの一部を他の場合において前記新規ユーザのアカウントと関連付けることができる。いくつかの実施形態において、PESSM110のプロバイダは、専用コンピューティングノードの一部のユーザ間での移転と関連して、さらに料金を収集し得る。上記の図1Aの例示的実施形態について、多様な種類の機能を多様な種類のユーザ例えば、可変能力ユーザ、専用能力ユーザおよび余剰能力ユーザのために提供するPESを用いて説明したが、多様な他の実施形態例えば、多様な種類のユーザのうち1つ以上を用いるかまたは用いない実施形態も存在し得ることが理解される。例えば、いくつかの実施形態において、プログラム実行サービスは、余剰能力ユーザのための機能は提供するが、可変能力ユーザおよび/または専用能力ユーザは含まない場合があり得る例えば、1つ以上のサードパーティおよび/またはPESと関連付けられたアフィリエイトエンティティによって余剰プログラム実行能力が提供され、これにより、このようなパーティおよび/またはエンティティは、他の場合において未使用状態であるコンピューティングリソースを収益化することができることが理解される。加えて、当該サービスによって提供されるプログラム実行能力全てに一時的に基づいてプログラム実行を行うための要求をユーザが提出しかつ/または予定することを可能にする入札ベースのPESと関連して上記技術のうち一部を用いることも可能であり、その場合、実行時における優先レベルの高い要求が実行される。加えて、多様なユーザ130、140、150および160はそれぞれ、他の多様なユーザのうち1つ以上として時に機能することができることが理解される例えば、これらのユーザが、これらの他の多様なユーザに対応する種類の関連付けられた機能にアクセスする場合例えば、専用能力ユーザ140が余剰能力ユーザ150として時に機能し、これらのユーザが未使用状態である専用能力に基づいて私的余剰能力プールを利用する場合。別の例として、いくつかの実施形態において、専用プログラム実行能力上のプログラム実行を行う専用能力ユーザとして機能する特定のユーザは、オンデマンド可変能力ユーザとしても機能することができる例えば、特定のユーザが、各ユーザのための1つ以上のプログラムの実行のためにさらなるコンピューティングリソースを必要とする場合。加えて、少なくともいくつかのさらなる実施形態において、コンピューティングノード120のうちの1つの未使用状態である部位例えば、未使用状態である処理ユニットクロックサイクル、メモリの未使用状態部位を1つ以上の余剰能力ユーザ150によって利用可能とすることができ、これにより、前記1つ以上の余剰能力ユーザの1つ以上のプログラムが、単一のコンピューティングノードのリソースを専用能力ユーザ140および/または他の余剰能力ユーザ150と共有することができる。加えて、いくつかの実施形態において、専用能力ユーザ140の利用対象として割り当てられたコンピューティングノードのうち少なくとも一部を、1つ以上の可変能力ユーザ130によって利用可能とすることができる例えば、このようなアクセスに起因する専用能力ユーザへの影響は無い可能性が高いと決定された場合例えば、将来の需要の正確な予測が可能である場合。さらに、いくつかの実施形態において、1つ以上の専用能力ユーザ140によって専用として用いられるコンピューティングノードのうち一部が加入超過状態になっている場合例えば、売れすぎでありかつ/または1つ以上の他の長期ユーザへと提供されている場合において、これらのユーザが前記加入超過状態のコンピューティングノードの利用を要求しているために前記加入超過状態のコンピューティングノードを1つ以上の専用能力ユーザ140が利用することができない場合、前記加入超過状態のコンピューティングノード上で実行しているプログラムのうち1つ以上を1つ以上の他のコンピューティングノードへと移転させることができる例えば、1つ以上の遠隔データセンターにおいて利用可能である1つ以上の他のコンピューティングノードおよび/または1つ以上のプログラムの実行のために利用可能な他のコンピューティングシステム例えば、別のプログラム実行サービスによって提供されるコンピューティングシステム。加えて、いくつかの実施形態においてプログラム実行サービスおよびプログラム実行能力について記載しているが、上記記載の技術は、多様な他のコンピューティングノードグループまたは他の種類のコンピューティング関連リソースへのアクセスの管理にも利用可能であることが理解される。複数のユーザによって利用され得る他の種類のコンピューティング関連リソースの非限定的リストの例を以下に挙げる:永続的データ記憶能力例えば、不揮発性メモリデバイス例えば、ハードディスクドライブ上のもの、一時的データ記憶能力例えば、揮発性メモリ例えば、RAM上のもの、メッセージ待ち行列および/または通過能力、他の種類の通信能力例えば、ネットワークソケット、仮想通信回路、データベース管理能力、専用帯域または他のネットワークに関連するリソース、入力デバイス能力、出力デバイス能力、プロセッサ例えば、CPUサイクルまたは他の命令実行能力。例えば、ユーザは、1つ以上の通知された種類のコンピューティング関連リソースを使用することを要求し得、PESSMモジュールは、各通知された種類のリソースの量を自動的に決定し得るこのような自動決定は、例えば、前記要求中において前記ユーザが指定した明示的な数量または他の量に基づいて、特定のリソース種類と関連付けられた所定の量に基づいて、通知されたリソース種類の利用可能な量に基づいて行われ得る。その結果、前記ユーザに対し、例えば第1の量の揮発性メモリおよび第2の量の永続的記憶が付与される。図1B中に示す実施形態において、複数の物理的なコンピューティングシステムを含む1つ以上のデータセンターを用いてプログラム実行サービスが提供され得る。詳細には、図1B中に示す例示的実施形態において、プログラム実行サービスのPESSMモジュール180は、ユーザのための1つ以上のプログラムの実行を管理する。例示の例は、PESによって用いられるデータセンター170を含む。前記PESは、データセンター170の外部にあるインターネット196へと接続される。この例において、インターネット196は、私的ネットワーク194および他のコンピューティングシステム192を介した多様な外部コンピューティングシステム例えば、コンピューティングシステム190へのアクセスならびに1つ以上の他のデータセンター198にあるさらなるコンピューティングシステム図示せずへのアクセスを提供する。私的ネットワーク194は、例えば企業ネットワークであり得、私的ネットワーク194の外部にある非優先的コンピューティングシステムから全体的または部分的にアクセスが不可能である。コンピューティングシステム192を挙げると、例えば、例えば、電話モデムまたはケーブルモデム、デジタル加入者線DSLなどを介してインターネットへと直接接続された家庭コンピューティングシステムがある。加えて、少なくともいくつかの実施形態において、1つ以上の他のデータセンター198はPESによってさらに用いられ得る。例示的なデータセンター170は、複数の物理的なホストコンピューティングシステム175と、物理的なコンピューティングシステム182と、PESのPESSMモジュール180とを含む。この例において、ホストコンピューティングシステム175はそれぞれ、複数の仮想マシン177を提供し、仮想マシンVMマネージャコンポーネント179を有する。仮想マシンVMマネージャコンポーネント179は、これらの仮想マシン例えば、ハイパーバイザまたは他の仮想マシンモニタを管理する。コンピューティングシステム182のうち一部または全体も、同様に1つ以上のこのような仮想マシンおよび/またはVMマネージャコンポーネント図示せずを持ち得る。あるいは、他の実施形態において、データセンターにおける物理的なホストコンピューティングシステムのうちの一部または全ては、任意の仮想マシンを提供せず、その代わりに、PESのエンドユーザ顧客を代表するか、そのために1つ以上のプログラムを直接実行する。さらに、いくつかの実施形態において、多様なコンピューティングシステム175および182は、異なる能力を持ち得、異なる関連付けられた利用料金を持ち得、異なる種類のユーザプログラム例えば、異なるサイズの仮想マシンソフトウェア画像インスタンス、または異なる種類のリソース基準および/またはコンピューティングリソース使用量プログラム例えば、異なるパターンのI/Oおよびメモリアクセスおよびネットワーク使用量をサポートし得る。このようなサポートが可能な場合、1つ以上のこのような要素に従って、特定のユーザおよび/またはそのプログラムを例えば自動的にグループ分けすることができる。前記グループ分けされたユーザおよび/またはそのプログラムを、特定のプログラムの実行のために用いられるコンピューティングシステムの選択において用いられる制限事項および/または選好事項としてさらに用いることができる。例示的データセンター170は、内部ネットワーク172をさらに含む。内部ネットワーク172は、複数のネットワーキングデバイス図示せずを含む例えば、スイッチ、エッジルータ、およびコアルータ。PESSMモジュール180を実行するコンピューティングシステム175および182ならびに1つ以上のコンピューティングシステム図示せずは、内部ネットワーク172へと接続される。例示のPESSMモジュール180は、他により詳細に説明するように、上記した技術のうち少なくともいくつかを行って、コンピューティングシステム175および182を用いたプログラム実行を管理する。特定のコンピューティングノードまたはシステムが、ユーザの1つ以上のプログラムを実行するために選択されると、いくつかの実施形態において、PESSMモジュールは、選択されたコンピューティングノード/システムのためのプログラム実行を制御するVMマネージャコンポーネントまたは他のマネージャコンポーネントと相互作用することにより、これらのプログラムの実行を開始することもできるし、あるいは、選択されたコンピューティングノード/システム上のプログラムを直接実行することもできる。PESのユーザは、多様なコンピューティングシステムを用いて、PESSMモジュール180例えば、コンピューティングシステム190または192、または他のデータセンター198のうちの1つにおけるコンピューティングシステムと相互作用することができる。図1Bのデータセンターはひとえに例示目的のために記載されたものであり、他の実施形態において、プログラム実行サービスおよび他のソフトウェア実行サービスを他の様態で利用することが可能であることが理解される。例えば、PESSMモジュール180は、データセンター170の外部にある1つ以上の他のコンピューティングシステム例えば、コンピューティングシステム190、192またはデータセンター198にあるものを用いて提供され得る。他の実施形態において、PESは、任意のデータセンターを用いて提供され得る。図2Aおよび図2Bは、余剰コンピューティングノードの利用を管理するための技術の例を示す例えば、PESSMモジュールの実施形態によって自動実行され得るもの。詳細には、図2Aは、一般的な余剰コンピューティング能力プールからの余剰コンピューティング能力の利用要求の受信および取り扱いの例を示す。図2A中の例示的ユーザは、関連付けられた私的余剰コンピューティング能力プールを有しない。図2Bは、図2Aの例からの続きであるが、前記ユーザのうちの1つが私的余剰コンピューティング能力プールを持っており、多様な要求の取扱は、私的余剰コンピューティング能力プールの利用を含む。図2Aを参照して、表200は、プログラム実行サービスの多様なユーザが時間205と共にプログラム実行サービスの複数のコンピューティングノード210を利用した際の利用量に関する情報を示す。各コンピューティングノード210の利用が、逐次的時間間隔205a~205oにおいて例示される。加えて、表250は、プログラム実行サービスの一般的な余剰コンピューティング能力プールの余剰コンピューティングノードを用いてユーザのためのプログラムを実行するためのプログラム実行サービスによって受信される例示的要求A、B、CおよびDに関する情報を示す。例示の表200中において、陰影付部分は、以下のように用いられる:灰色一色の背景で示された時間間隔例えば、専用コンピューティングノード212bの時間間隔205aおよび他のコンピューティングノード214aの時間間隔205hは、上記各時間間隔内において各コンピューティングノードを余剰プログラム実行能力のために用いることができないことを示す例えば、各コンピューティングノードは、1つ以上の他の目的のために用いられておりかつ/または他の場合において利用不可能である、白色一色の背景で示された時間間隔例えば、専用コンピューティングノード212cの時間間隔205bおよび205cまたは斜線で示された背景で示された時間間隔例えば、専用コンピューティングノード212bの時間間隔205fおよび他のコンピューティングノード214bの時間間隔205oは、各時間間隔において各コンピューティングノードが余剰プログラム実行能力として利用可能であることを示す、A、B、CまたはDの文字を含む時間間隔例えば、専用コンピューティングノード212aの時間間隔205f~205kは、余剰プログラム実行能力に関する各要求のプログラムが、前記時間間隔内において各コンピューティングノード上において実行されることを示す。1つの例示的例として、各時間間隔205a~205oは、1時間に対応するか、または、他の時間間隔に対応する例えば、1日、10分間。上記したように、表250は、多様な指示時間においてプログラム実行サービスが受信する多様な要求を示す。前記多様な要求はそれぞれ、コンピューティングノード210を用いてプログラム実行サービスから利用可能な指定量の余剰コンピューティングノード上において1つ以上のプログラムを実行することである。加えて、前記要求はそれぞれ、多様な指定構成情報を有するこの例において例を挙げると、前記要求の1つ以上のプログラムを実行するための、指定された最小数および最大数のコンピューティングノード、コンピューティングノードそれぞれの上における1つ以上のプログラムの実行のためにユーザが快く支払える入札料金額例えば、単一のコンピューティングノードの1時間の利用あたりの金額ドル、当該要求が期限切れとなる指定時期例えば、経過後は要求が期限切れとなる、指定された合計実行時間、要求が期限切れとなる指定時間。1つの例示的例として、要求Aは、時間間隔205cにほぼ対応する時期において受信された例えば、時間間隔205cの直前または時間間隔205cの最中、最小数および最大数のコンピューティングノードはどちらとも、単一の余剰能力コンピューティングノード上において実行されるべき選好事項を示す例えば、入札価格として、単一の余剰コンピューティングノードが利用される1時間あたり0.05が指定され、期限切れは指定されていない例えば、プログラム実行が完了するまで当該要求が継続的に実行および/または再実行することを示す。この例において、コンピューティングノード210は全て、ほぼ同一の量またはまったく同一の量のコンピューティング能力を時間間隔あたりにおいて提供することができ、他の実施形態において、標準的量のプログラム実行能力を他の様態で指示することもできる例えば、このような指示は、特定の量のコンピューティングリソースに対応する論理コンピューティングノード手段を用いて、および、提供される論理コンピューティングノードの数としての特定の実際のコンピューティングノードの評価として行うことができる。他の実施形態において、多様な要求を多様な様態で構成することができる例えば、利用対象としての指定された特定の種類のコンピューティングノードのうち1つ以上例えば、および/またはこのようなコンピューティングノードの特性、最小入札額および/または最大入札額、ならびに/あるいは1つ以上の他の構成例えば、耐故障要求、実行局所性および/または近接選好事項。加えて、いくつかの実施形態において、他の種類の情報を示すこともできる例えば、各要求について実行されるべき1つ以上の特定のプログラム、当該要求における、凝集コンピューティングノード時間間隔の合計。例示の表200は、複数の専用能力コンピューティングノード212を含む例えば、プログラム実行サービスの1つ以上の特定の専用能力ユーザへの専用アクセスのために割り当てられたコンピューティングノード。例示の表200はまた、複数の他のコンピューティングノード214も含む例えば、他の種類のプログラム実行能力例えば、オンデマンド可変プログラム実行能力のために利用することが可能なコンピューティングノード。例えば、専用能力ユーザ図示せずは、指定期間例えば、1年間において、特定のコンピューティングノード212aへの優先アクセスを持ち得、これにより、ユーザは、自身のためのプログラムを実行するためのコンピューティングノード212aへのアクセスを前記指定期間内における任意の時期を行うことができる。このようなアクセスにおいては、遅延期間および/またはユーザ側におけるアクセス獲得のための1つ以上の相互作用が発生し得る例えば、コンピューティングノード212aを特定の時期において利用する意図を示す通知、コンピューティングノード212a上におけるプログラム実行要求。他の実施形態において、専用能力ユーザ図示せずは、コンピューティングノード212a例えば、相当する処理能力、メモリとしての相当するコンピューティングリソースを有するコンピューティングノードへの優先アクセスを持ち得るが、特定の割り当てられたコンピューティングノード212は持っていない。その場合、ユーザに対し、ユーザのためのプログラム実行のための212aに相当しかつ利用可能であるコンピューティングノード212のうち任意のものへのアクセスが付与され得る。多様なこのような実施形態において、プログラム実行サービスは、212aに相当する十分な数の専用コンピューティングノードが、このようなコンピューティングノードへのアクセスを持ち得る専用ユーザによって利用可能であることを、多様な様態で保証することができる例えば、このようなコンピューティングノードのグループの維持および/または他の場合において特定の量のこのようなノードの備蓄。表200中において、間隔205a~205cにおいて、例えばコンピューティングノード212cが割り当てられている専用能力ユーザが専用コンピューティングノード212cが未使用状態であると決定したため、専用コンピューティングノード212cが余剰能力であると決定されており、その結果、専用コンピューティングノード212cが余剰能力ユーザによって利用可能となる。例えば、専用能力ユーザは、プログラム実行サービスと相互作用して、例えば時間間隔205aよりも前の時期においてコンピューティングノード212cが余剰プログラム実行能力のために利用可能となっていることを通知し、あるいは、プログラム実行サービスがコンピューティングノード212cが未使用状態であると自動的に決定している場合もある。例示の例において、例示のコンピューティングノードのうちその他全て例えば、212a~212b、212d、および214a~214bは、間隔205a~205cにおいて利用可能であると決定されていない。時間間隔205cにおいて、要求Aが受信され、プログラム実行サービスは、要求Aと関連付けられたプログラムを利用可能な余剰能力コンピューティングノード212c上においてユーザが指定した0.05/時間の料金で実行することを決定し、コンピューティングノード212c上においてプログラム実行を開始する。他の実施形態において、あるいは、プログラム実行サービスは、一部のまたは全部の余剰能力ユーザが利用する固定価格を用い得る。時間間隔205dにおいて、プログラム実行サービスは、余剰プログラム実行能力要求を満たすためにコンピューティングノード212cを利用することがもはやできないことを決定する例えば、このような決定は、前記コンピューティングノードの利用を再請求している専用能力ユーザから受信された通知に基づく。その後、要求Aと関連付けられたプログラムの実行は、コンピューティングノード212b上において終了される。間隔205fにおいて、プログラム実行サービスは、2つのコンピューティングノードが要求Aを実行するための十分なリソース例えば、専用コンピューティングノード212aおよび212bと共に余剰能力コンピューティングノードとして利用可能であると決定し、要求Aのプログラムの実行を専用コンピューティングノード212a上において再開することを決定する。図示の実施形態において、専用コンピューティングノード212bについての時間間隔205f中の斜線は、前記時間間隔においてノード212bが余剰コンピューティング能力として利用可能であるが、余剰コンピューティング能力としての用途には不適切であるため、要求Aを満足するために選択されていない旨を示す。コンピューティングノード212bは、多様な理由に起因して不適切である例えば、以前の利用履歴または利用予測などに基づいてプログラム実行サービスが割り当てられた専用能力ユーザからの通知に基づいて、コンピューティングノード212bの利用可能性の長さが短くかつ/または不確実である例えば、プログラム実行サービスが決定した理由。一方、ノード212aについて、利用可能性がノード212bよりも相対的に長い可能性が高いと決定される場合もある。このような状況において、プログラム実行サービスは、余剰能力ユーザの要求を実行するための利用可能性がもはや無くなったコンピューティングノードを選択するという選好事項を持ち得る例えば、多様なコンピューティングノード210上における実行プログラムの開始/停止が必要であるための最小化のためのもの。よって、この例において、コンピューティングノード212bは、時間間隔205fにおいて利用されず、別の余剰コンピューティング能力要求が時間間隔205fに先行して受信された場合、ノード212bは、当該他の要求に起因して用いられる場合がある。この例において、表250によって例示するように、要求Bは、間隔205gで受信される。この例において、そのときに利用可能な余剰コンピューティングノードは1つしか存在しない例えば、専用コンピューティングノード212a場合、プログラム実行サービスは、例えば要求A例えば、0.05/時間よりも入札額がより高い要求B例えば、0.08/時間または他の場合において優先レベルがより高い要求Bに基づいて、要求Bのプログラムの代わりに要求Aのためにプログラム実行を終了することを決定する。この例において、要求Bは、0.08/時間の料金で時間間隔205g~205iにわたって、専用コンピューティングノード212a上において連続的に実行される。時間間隔205iにおいて、2つのコンピューティングノードは、余剰コンピューティングノード専用コンピューティングノード212aおよび212dとして利用可能であり、これらはそれぞれ、要求Bについてプログラム実行を行うための十分なリソースを有する。なぜならば、要求Bは、最大で2つのコンピューティングノードを指定しており、要求Bのプログラムは、図示の実施形態中のノード212a上に実行し続けており、同様にノード212d上において開始される。時間間隔205jにおいて、3つの専用コンピューティングノードは、余剰能力コンピューティングノードコンピューティングノード212a、212cおよび212dとして利用可能であると決定され、要求Cが受信される。この実施形態において、要求Bのプログラムが専用コンピューティングノード212dおよび212a上での実行から終了され、要求Cと関連付けられた1つ以上のプログラムが、最大で3つのノード上での実行と、要求Aおよび要求Bよりも相対的により高い入札額例えば、0.10/時間とを有する指示選好事項を有する要求Cに基づいて、3つの利用可能な余剰コンピューティングノード全ての上において実行される。その結果、要求Aおよび要求Bよりも要求Cが優先される。時間間隔205kにおいて、例えば他の目的のために再請求されたかまたは他の場合において利用不可能となったコンピューティングノード212dに基づいて、2つの専用コンピューティングノードが余剰コンピューティングノードコンピューティングノード212aおよび212cとして利用可能であると決定される。要求Cと関連付けられた1つ以上のプログラムは、コンピューティングノード212d上において終了されるが、例えば要求Cについての好適な最大数および最小数のコンピューティングノードに基づき、また要求Cは要求Aおよび要求Bよりも優先されるため、要求Cと関連付けられた1つ以上のプログラムは、ノード212aおよび212c上において実行し続けられる。要求Cのプログラム単数または複数は、時間間隔205lにおいてコンピューティングノード212c上において実行し続けるが、前記コンピューティングノードは余剰コンピューティング能力の用途において利用不可能となっているため、コンピューティングノード212a上における実行は終了する。時間間隔205l後において、プログラム実行サービスは、要求Cが少なくとも3時間にわたって時間間隔205j~205lにおいて実行されたため期限切れとなったことを決定する。よって、前記プログラム実行サービスは、要求Cと関連付けられたプログラムの余剰能力コンピューティングノード上における実行を終了し、要求Cは、満足されるべき係属中の要求として取り扱われなくなる。時間間隔205mにおいて、1つのコンピューティングノード専用コンピューティングノード212cが余剰プログラム実行能力として引き続き利用可能であると決定され、要求Bと関連付けられたプログラムの実行がコンピューティングノード上において再開される。時間間隔205mにおいて、例えば、連続5時間の実行後に完了したプログラム単数または複数または要求Bを提出した余剰能力ユーザからの要求Bを取り消す旨の受信された命令図示せずに基づいて要求Bについてのプログラム単数または複数の実行が終了し、要求Bは、満足されるべき係属中の要求として取り扱われなくなる。加えて、このときまたはこれに近いタイミングで、要求Dが受信される。要求Dは、以前に受信された要求Aに相当する入札額例えば、0.05/時間を有する。この場合、プログラム実行サービスは、Dよりも早期に受信された要求Aに基づいて、要求Dと関連付けられたプログラムではなく要求Aと関連付けられたプログラムの利用可能な専用コンピューティングノード212c上における実行を次の時間間隔205nにおいて再開することを決定する。要求Aは、時間間隔205o後において何らかの未知の将来の時間が来るまで、ノード212c上において実行し続ける。間隔205oにおいて、他のコンピューティングノード214bのうち1つは、余剰プログラム実行能力として利用可能となり、不適切な余剰能力コンピューティングノードであると決定されるが、要求Dのプログラムはそれでも他のコンピューティングノード214b上において実行される。なぜならば、現在利用可能な余剰コンピューティングノードは他に無いからである。図2Aの例示的例において、プログラム実行サービスは、多様な要求A~Dに対応するコンピューティングノード210の使用量を追跡することができ、これにより、多様な関連付けられたユーザに対し、前記多様な要求によって示された入札額に対応する料金が課金される。加えて、前記プログラム実行サービスは、用いられたコンピューティングノード210および/または余剰能力ユーザによって利用可能となったコンピューティングノード210を追跡し得、これにより、これらのコンピューティングノードと関連付けられた1人以上のユーザに対し、余剰能力ユーザから収集された料金のうち一部を付与することができる。図2Bは、図2Aの例を引き続き示すが、前記ユーザのうち1人は、私的余剰コンピューティング能力プールを有し、多様な要求の取扱には、前記私的余剰コンピューティング能力プールの利用が含まれる。図2Bは、図2Aにおけると同様、情報200および250を示すが、前記私的余剰コンピューティング能力プールの利用を以下に説明するように反映するために、一定の変更が含まれている。加えて、図2Aと比較して、新規情報260および270が図2Bにおいて追加されている。詳細には、図2Bの例において、要求B図2B中、RequesterBと呼ぶを提出したユーザは、専用能力ユーザでもあり、情報270によって示すように、時間間隔205a~205oを含む期間にわたるコンピューティングノード212aの専用使用が割り当てられている。よって、図2Bにおいて、コンピューティングノード212aの陰影付部分のうち平行線模様部分として変更されている部分は、コンピューティングノード212aの未使用状態である能力のうちRequesterBについて私的余剰能力プールとして利用可能であるものを反映する。この例において、コンピューティングノード212aについての時間間隔205a~205eおよび205l~205oは、RequesterBによるコンピューティングノード212aの専用使用に対応する。よって、コンピューティングノード212aは時間間隔205f~205kにわたってRequesterBについて私的余剰コンピューティング能力プールの一部として利用可能である。他にさらに詳述するように、RequesterBからの要求は、私的余剰コンピューティング能力プールのための利用において優先される。時間間隔205a~205iにおける割り当ては、図2Bも図2Aも同じである。例えば、RequesterBからの要求Bは、図2A中の一般的な余剰コンピューティング能力プールにおいて要求Aよりも優先される要求Bに基づいて、図2Aにおいて時間間隔205g~205iにわたってコンピューティングノード212aを利用するように既に割り当てられており、よって、コンピューティングノード212aが図2B中の私的余剰コンピューティング能力プールのために利用された場合でも、これらの先行割り当ては変更されない。しかし、時間間隔205jにわたって要求Cが受信された後、図2B中の割り当ては、前記私的余剰コンピューティング能力プールの利用に基づいて、図2Aに対して変化する。詳細には、図2Aにおいて、要求Cは、一般的な余剰コンピューティング能力プールについて要求Aおよび要求Bよりも優先され、よって、図2A中の時間間隔205jにおいて利用可能な3つの余剰コンピューティング能力ノードは全て、プログラム単数または複数を要求Cについて実行することを開始する。しかし、図2Bを参照して、RequesterBからの要求Bは、時間間隔205jにおいてRequesterBの私的余剰コンピューティング能力プール中の余剰コンピューティング能力について最も高い優先順位を引き続き持ち、よって、要求Cについてのプログラム単数または複数も、図2B中の時間間隔205jにおいてコンピューティングノード212cおよび212d上において実行開始されるが、要求Bのついてのプログラム単数または複数は、図2Aの様態と異なる様態で、図2B中の前記時間間隔においてコンピューティングノード212a上において引き続き実行する。詳細には、RequesterBからの要求は時間間隔205jにおいて利用可能であるため、当該要求この例において、要求Bは、RequesterBの私的余剰コンピューティング能力プールの一部であるコンピューティングノード212aの余剰コンピューティング能力について優先される。同様に、後続の時間間隔205kにおいて、要求Bについてのプログラム単数または複数が引き続き実行した場合、これらのプログラム単数または複数は、RequesterBの私的余剰コンピューティング能力プールについて要求Cよりも優先される要求Bに基づいて、同じ理由によってコンピューティングノード212a上において引き続き実行している。しかし、この例において、要求Bは連続する5時間のプログラム実行後に終了するため、要求Bのプログラム単数または複数は、時間間隔205j後に終了する。よって、時間間隔205kにおけるコンピューティングノード212aのための余剰コンピューティング能力は、一般的な余剰コンピューティング能力プールへと戻り、要求Cのプログラム単数または複数は、時間間隔205kにわたってコンピューティングノード212a上において実行し始める。よって、私的余剰コンピューティング能力プールを利用することにより、図2Bの例中のRequesterBにおいて多様な恩恵が得られる。例えば、第1の恩恵として、要求Bは、図2Bの例においてより早期に詳細には、図2A中の時間間隔205mの終了ではなく図2B中の時間間隔205jの終了までに完了する。加えて、図2Bの例中の第2の恩恵として、RequesterBについて、要求Bの動作は、図2A中の要求Bの動作よりもより安価に行われる。詳細には、図2Bの例において、RequesterBによる私的余剰コンピューティング能力プールの利用は、情報270に示すように専用コンピューティングノード212aの利用において必要となる漸増的な現在のコストこの例において、0.04/時間間隔と同じレートでRequesterBに課金される。よって、図2A中の要求Bの動作においては、要求Bについての連続する5時間のプログラム単数または複数の実行それぞれについて、要求Bに対し入札価格として0.08/時間間隔すなわち、各時間間隔について、専用コンピューティングノード212aの利用に必要となる漸増的な現在のコストの倍額が必要となるのに対し、コスト情報260g~260j中に示すように私的余剰コンピューティング能力プールが用いられた連続5時間のうち4時間における、図2B中において要求Bを行うコストは、0.04/時間間隔に過ぎない。図2B中のコンピューティングノード212d上において一般的な余剰コンピューティング能力プールの一部として要求Bが実行されるその他の時間間隔においては、コスト情報260zに示すように、要求Bにおいて入札価格0.08/時間間隔のコストが必要となる。よって、図2B中の要求Bを行うのに必要な合計コストは0.24であり、図2A中の要求Bを行うのに必要な合計コストは0.40である。余剰コンピューティング能力の利用量は限られているため、この例における絶対数は少数であるが、実世界の状況においてこのような余剰コンピューティング能力を大幅に増量させた場合、これに対応して実際のコスト節減額も大きくなる例えば、利用量が1000倍で増加した場合、この例において、実際のコストは4000ではなく2400となるため、これに対応する節減額は-1600であることが理解される。さらに、他の状況において、図2Bの例よりもより低コストで要求Bを行うことができる。例えば、図2Bにおいて、要求Bのプログラム単数または複数が実行される連続5/時間のうち1時間すなわち、合計連続実行時間のうち20は、一般的な余剰コンピューティング能力プールを用いてすなわち、コンピューティングノード212dのための時間間隔205iを用いて行われ、私的余剰コンピューティング能力プールからの利用可能な他の時間すなわち、コンピューティングノード212aのための時間間隔205kは用いられていない。よって、他の状況において、要求Bについてのプログラム単数または複数の実行は、要求Bのためのプログラム単数または複数の実行全てのための私的余剰コンピューティング能力プールを用い得、よって、当該実行全てについて私的余剰コンピューティング能力プールについてより低いコストが課金され得る。このような私的余剰コンピューティング能力プールの利用は、例えば、最大で1つのコンピューティングノードを指定している要求Bによってトリガされ得るこれにより、前記コンピューティングノードが利用可能である場合、私的余剰コンピューティング能力プールのみが用いられる。あるいは、他の実施形態において、RequesterBは、私的余剰コンピューティング能力プールの補充として用いられる一般的な余剰コンピューティング能力プールも利用するのではなく、要求Bまたは1つ以上の他の要求がユーザの私的余剰コンピューティング能力プールのみを用いて実行されるべき旨を指定し得る。加えて、いくつかの実施形態において、私的余剰コンピューティング能力プールを他の様態でさらに用いることで、他の恩恵を得ることができる。例えば、図2Bと同様の状況を考えるが、この状況において、要求Bは、一般的な余剰コンピューティング能力プールの利用について要求Cよりも優先される例えば、要求Cの入札価格が0.10ではなく0.07である場合。この場合、要求Bは、連続する5時間ではなく連続する6時間を用いて、そのプログラム単数または複数の実行を完了する。要求Bは、最大で2つではなく1つのコンピューティングノードを利用することを指定する。このような状況において、図2Bについて既述した割り当てスキームを用いて、要求Bは、時間間隔205iにおいて一般的な余剰コンピューティング能力からのコンピューティングノード212dを用いるために選択されるコンピューティングノードは最大1つであり、私的余剰コンピューティング能力プールを用いるという選好事項があるため。これと同時に、要求Bは、時間間隔205kにおいて私的余剰コンピューティング能力プールからのコンピューティングノード212aを引き続き用いることを選択される。しかし、この状況において、時間間隔205iの終了時において、要求Bは、さらなる1時間の実行を完了まで持つが、時間間隔205lにおける私的余剰コンピューティング能力プールにおけるコンピューティングノード212aの利用可能性は、前記時間間隔におけるRequesterBによる専用能力の利用の再開に基づいて消失する。よって、この状況における1つの選択肢としては、要求Bについてコンピューティングノード212a上でのプログラム単数または複数の実行を時間間隔205kの終了時において終了し、これらのプログラム単数または複数のコンピューティングノード212c上での実行を時間間隔205lにおいてさらに1時間だけ即時再開する選択肢がある。しかし、他の実施形態において、他の可能な行為もとられ得る。例えば、完了までに短時間しか残っていない場合において、要求Bについてプログラム単数または複数の実行を終了した後に再開した場合のオーバーヘッドを回避するために、要求Bのためのこれらのプログラム単数または複数のコンピューティングノード212a上での実行を時間間隔205lのうち一部または全体において完了させる。RequesterBによれば、時間間隔205lにおける専用能力の利用再開をこの状況において延期できることが望まれるが、このような時間間隔205lにおける専用能力利用の再開に対応するための代替策として、RequesterBの専用能力利用を少なくとも時間間隔205lにおいて一時利用するために、別のコンピューティングノード例えば、コンピューティングノード212cを選択する。このようにして、RequesterBは、時間間隔205lにおける所望される専用能力利用を受領し、要求Bのためのプログラム単数または複数の実行は、より効率的かつ高速に完了される。それにも関わらず、このような例において、要求Bのためのプログラム単数または複数の実行完了のための時間間隔205lにおけるコンピューティングノード212aの利用は、少なくともいくつかのこのような実施形態において、私的余剰コンピューティング能力プールの一部としてコスト目的のために取り扱われず、これにより、RequesterBは、専用能力利用の価格として0.04を時間間隔205lにおけるコンピューティングノード212cの利用について受領することができるが、要求Bのための時間間隔205lにおけるコンピューティングノード212aを用いたプログラム単数または複数の実行は、要求Bの入札価格を反映するために、一般的な余剰コンピューティング能力プール価格である0.08で課金され得る。他の実施形態におよび状況において、他の代替例も利用することが可能であることが理解される。加えて、上記例は例示目的のために記載したものであり、その他の実施形態は、上記例と多様な様態で異なり得る。例えば、コンピューティングノード210を相当するものとして例えば、相当するコンピューティングリソースを有するものとして記載しているが、他の実施形態も可能であり、このような他の実施形態において、多様なコンピューティングノード210は、異なる種類であり得、多様な特性例えば、異なる量の処理能力、メモリ、プラットフォーム仕様を持ち得ることが理解される。いくつかのこのような実施形態において、多様な要求を挙げると、要求と関連付けられたプログラムの実行において用いられる1つ以上の特定の種類のコンピューティングノードの通知があり、これらの要求は、対応する指定された種類のコンピューティングノードのみにおいて実行することができる。加えて、いくつかの実施形態において、未使用状態である専用コンピューティングノードに基づいた余剰コンピューティング能力および図示のような他のコンピューティングノードだけではなく、他の実施形態も可能であり、このような実施形態において、1つのコンピューティングノードグループのみおよび/またはさらなるコンピューティングノードグループが、余剰能力ユーザの要求実行において利用することが可能な余剰能力コンピューティングノードへと貢献し得る。さらに、いくつかの実施形態において、他のコンピューティングノード214のうち少なくとも一部は、1つ以上のサードパーティからプログラム実行サービスへと提供されるコンピューティングノードを含み得る。上述したように、多様な種類の機能が多様な実施形態においてPESによって提供および利用され得、前記機能は、多様な様態で提供することができる。例えば、いくつかの実施形態において、PESから利用可能なプログラム実行能力を挙げると、例えば1つ以上のネットワークを介して相互接続された複数の物理的なコンピューティングマシンまたはコンピューティングマシン間のデータ送信が可能な他のデータ交換媒体を介した、ユーザのためのプログラム実行を行うための複数のコンピューティングノードがある。いくつかの実施形態において、前記コンピューティングマシンのうち少なくとも一部はそれぞれ、複数のプログラムを同時実行するための十分なコンピューティング関連リソースを含み得る例えば、十分な書き込み可能なメモリ、不揮発性記憶、CPUサイクルまたは他のCPU使用方法、ネットワーク帯域、スワップ領域。いくつかのこのような実施形態において、前記コンピューティングマシンのうち少なくとも一部はそれぞれ、複数の仮想マシンコンピューティングノードをホストし得る。前記複数の仮想マシンコンピューティングノードはそれぞれ、個別ユーザを代表するか、そのために1つ以上のプログラムを実行し得る。さらに、多様な実施形態において、PESは、複数のユーザを代表するか、そのために多様な種類のプログラムを実行し得る。例えば、ユーザを代表するか、そのために実行されるこのようなプログラムを挙げると、1つ以上のオペレーティングシステム、アプリケーション例えば、サーバーおよび/または他のソフトウェアアプリケーション、ユーティリティ、ライブラリ、等がある。加えて、少なくともいくつかの実施形態において、このようなプログラムを挙げると、実行可能なソフトウェア画像例えば、ブータブルであるかまたは他の場合において1つ以上の仮想マシンコンピューティングノードへとロード可能である仮想マシン画像があり、これらはそれぞれ、オペレーティングシステムソフトウェア、1つ以上のアプリケーションプログラムのためのソフトウェアおよび/または構成情報などを含み得る。少なくともいくつかの実施形態において、PESによる1つ以上のコンピューティングノード上における1つ以上のプログラムの実行は、これらのプログラムの即時実行を指示する現在の実行要求に応答して、開始され得る。あるいは、前記開始は、以前に受信されたプログラム実行要求に基づき得る。前記以前に受信されたプログラム実行要求は、現時点のためにこれらのプログラムの現在から将来の実行を予定するかまたは他の場合において予約している。プログラム実行要求の受信は、多様な様態で可能である例えば、例えば、プログラム実行サービスによって提供される双方向コンソールまたは他のGUIを介したユーザからの直接受信。あるいは、プログラム実行要求の受信は、1つ以上の他のプログラムまたはその他のインスタンスの実行を例えば、プログラム実行サービス例えば、ウェブサービスを利用するAPIによって提供されるAPIまたはアプリケーションプログラミングインターフェースを介して自動開始するユーザの実行プログラムから行われる。プログラム実行要求中には、1つ以上のプログラムの実行開始において用いられる多様な情報が含まれ得る例えば、実行可能なプログラムまたは要実行プログラムの他のコピー、以前に登録されたかまたは他の場合において実行対象として供給されたプログラムの通知、同時実行すべきプログラムのインスタンスの数例えば、単一の所望のインスタンス数として表現されたもの、所望の最小数インスタンスおよび最大インスタンス数として表現されたもの、ならびに1つ以上のプログラムの実行に関する多様な他の種類の選好事項および/または要求例えば、リソース割り当て、実行における地理的位置および/または論理位置、他のプログラムおよび/またはコンピューティングノードに対する実行の近隣、タイミング関連基準など。プログラムの1つ以上のインスタンスの実行を指示時間において行う旨の要求を受信した後、PESは、前記プログラムインスタンスの実行において用いられる1つ以上のコンピューティングノードを決定し得る。いくつかの実施形態において、用いられるべきコンピューティングノードの決定は、実行が将来行われる場合であっても、要求時において行われる。他の実施形態において、1つ以上のプログラムインスタンスの将来の実行において用いられるべきコンピューティングノードの決定は、後の時点まで延期することができる例えば、そのときにおいて利用可能である情報に基づいた将来の実行時間。いくつかの実施形態において、ユーザのための1つ以上のプログラムの実行において用いられるべきコンピューティングノードの決定は、実行要求に先行して行われ得る例えば、ユーザがPESの利用について加入および/または登録したとき、ならびに/あるいはユーザのためのプログラム実行よりも前の別の時点。例えば、いくつかのこのような実施形態において、1つ以上のコンピューティングノードが一定期間にわたってユーザと関連付けられ得、これにより、前記ユーザを代表するか、そのためにプログラムを前記関連付けられたコンピューティングノード上において実行することが前記期間内の任意の時点において可能となる例えば、前記ユーザのためのソフトウェア実行要求が受信された、前記期間内の任意の時点。加えて、いくつかの実施形態において、ユーザのためのプログラム実行の際に用いられるべきコンピューティングノードの決定は、1つ以上のコンピューティングノードおよび/または1つ以上のコンピューティングノードのコンピューティングリソースが前記ユーザのプログラム実行のために利用可能となった場合に行われ得る例えば、1つ以上のコンピューティングノードが未使用状態でありかつ/または他の場合において1つ以上の係属中の要求のプログラムの実行のために利用可能である場合において、前記1つ以上のコンピューティングノード上における前記1つ以上の係属中の要求のプログラムの実行を行うために利用可能となった場合。各プログラムインスタンスの実行の際に用いられるべきコンピューティングノードの決定は、多様な様態で行うことができる例えば、当該要求中に指定されている任意の選好事項および/または要求あるいは他の場合において例えば、登録時などにおいて当該プログラムおよび/または関連付けられたユーザについて指定された任意の選好事項および/または要求に基づいて行うことができる。例えば、プログラムインスタンス実行のための好適なリソースおよび/または必要なリソースについて基準が決定された場合例えば、メモリおよび/または記憶、CPU種類、サイクルまたは他の動作測定基準、ネットワーク能力、プラットフォーム種類、プログラムインスタンス実行のための適切なコンピューティングノードの決定は、これらのリソース基準を満足するために利用することが可能な十分なリソースをコンピューティングノードが有するかに少なくとも部分的に基づいて行われ得る。プログラム実行サービス上において実行するプログラムの実行および構成に関するさらなる詳細について、係属中の米国特許出願第11/395,463号出願日:2006年3月31日、名称ManagingExecutionofProgramsbyMultipleComputingSystem中に記載がある。同文献全体を参考のため援用する。加えて、上記したように、少なくともいくつかの実施形態において、自動終了される余剰プログラム実行能力を用いてプログラム実行は、PESによって後で自動的に再開することができる。例えば、いくつかのこのような場合において、PESは、要求された実行が完了するまで例えば、ユーザによって取り消されるかまたは他の場合において明示的に終了されるまで、1つ以上のプログラムが1つ以上のタスクを完了したとの通知が受信されるまで、指定時間になるまで例えば、期限切れになるまで、蓄積実行時間になるまで、指定された実行回数になるまで、または無期限で、プログラム実行を継続し得る。いくつかの実施形態において、料金をPESの利用と関連付けることができ、これにより、PESは、ユーザが支払う1つ以上の料金に対して、ユーザを代表するか、そのためにプログラムを実行することができる。例えば、いくつかの実施形態において、ユーザへの料金の課金は、ユーザのための1つ以上のプログラムの実行のために割り当てられたプログラム実行能力の量および/または種類例えば、前記ユーザのプログラム実行のために割り当てられた処理ユニット数、メモリ量、記憶量、ネットワークリソース量のうち1つ以上に基づき得る。いくつかの実施形態において、料金は、他の要素に基づき得る例えば、プログラム実行に用いられるコンピューティングリソースの多様な特性例えば、CPUの能力または動作、プラットフォームの種類例えば、32ビット、64ビット。いくつかの実施形態において、料金の課金は、多様な利用要素に基づいて行われ得る例えば、サービス利用あたりの価格、コンピューティングサービスの単位利用時間あたりの価格、利用記憶あたりの価格、内部移転されかつ/または外部移転されたデータあたりの価格。少なくともいくつかの実施形態において、以下により詳細に説明するように、料金を多様な他の要素に基づいて決定することができる例えば、プログラム実行能力の利用可能性に関連する要素例えば、異なるレベルの利用可能性例えば、保証された利用可能性および/または可変利用可能性ならびに/あるいはプログラム実行に関連する多様な特性例えば、実行継続性、耐故障。少なくともいくつかの実施形態において、PESのプロバイダは、複数のユーザのためのプログラム実行を行う際に用いられる1つ以上の多様な層、種類および/またはレベルのサービスまたは機能を提供し得、いくつかのこのような実施形態において、前記多様な層、種類および/またはレベルのサービスを多様な料金と関連付けることができる。例えば、いくつかの実施形態において、ユーザに対し、PESから提供される専用プログラム実行能力機能の利用に関連する1つ以上の料金を課金することができる例えば、PESのオンデマンド可変プログラム実行能力サービスの同等の利用と関連付けられた料金よりもそれぞれ低い料金。このようなより低い料金は、例えば、前記ユーザが、1つ以上の特定の料金を長期契約期間にわたって例えば、前払いでかつ/または定期的に支払うために、指定利用期間にわたる長期契約を締結していることを反映している例えば、複数の週、複数の月、複数の年。加えて、例えば、PESから提供される特定の種類の機能のために、層を用いることができる例えば、機能の例を挙げると、第1の層における第1の量の専用プログラム実行能力機能についての料金課金例えば、利用中のコンピューティングノードについての指定された第1の閾値までの課金、第2の量の専用プログラム実行能力機能についての第2の層例えばより低価格の層における課金例えば、前記指定された第1の閾値よりも上でありかつ利用中のコンピューティングノードについての指定された第2の閾値までの課金がある。層は、用いられる機能の数の代わりに基づくかまたはさらに基づくかに関係無く、少なくともいくつかの実施形態において用いられる機能の数以外の多様な要素にさらに基づき得る。プログラム実行サービスと関連付けられた多様な料金のさらなる詳細について、係属中の米国特許出願第11/963,331号出願日:2007年12月21日、名称:ProvidingConfigurablePricingforExecutionofSoftwareImage中に記載がある。同文献全体を参考のため援用する。専用コンピューティング能力の利用期間は、多様な実施形態において多様な様態で指定することができる例えば、ユーザが専用プログラム実行能力へのアクセスを持つ指定期間を通知する例えば、複数の週、複数の月、複数の年、ユーザのための1つ以上のプログラムの連続的実行が可能である期間例えば、所与の期間において1つ以上のプログラムが実行可能である時間数例えば、1日あたり1時間、1週間あたり1時間など、その範囲内において1つ以上のプログラムが実行可能な時間窓例えば、毎日において1:00p.m.~3:00p.m.。上記したように、いくつかの実施形態において、電子市場をPESのユーザに提供することができ、これにより、前記専用プログラム実行能力ユーザは、自身の指定された利用期間のうち一部または全体を、1つ以上の他のユーザからの支払いの対価としてこれらのユーザに専用プログラム実行能力のために提供することができる。これにより、1つ以上の他のユーザは、前記提供された専用プログラム実行能力部分を用いて、前記1つ以上の他のユーザのためのプログラム実行を行うことができ、前記専用プログラム実行能力ユーザは、このような利用に対する支払いを受け取ることができる。他の実施形態において、専用プログラム実行能力ユーザは、前記専用プログラム実行能力ユーザのプログラム実行能力を早急に必要としている1つ以上の他のユーザ例えば、専用プログラム実行能力の利用のための割増料金を1人以上のユーザが支払う意志によって示されるようなもの例えば、専用プログラム実行能力ユーザが支払うよりも割高の料金に部分的に基づいて、自身の専用プログラム実行能力のうち一定部分の利用を1人以上のユーザによる利用のために一時的に提供することができる。少なくともいくつかのこのような実施形態において、前記1人以上のユーザから収集された一部および/または全体を前記専用能力ユーザへと提供することができる。さらに、多様な実施形態において、他にさらに詳述するように、多様な他の種類の機能がPESによって提供および利用され得る。図3はブロック図であり、複数のユーザによるコンピューティングノードの利用を管理するための技術を行うのに適したシステムの例示的実施形態を示す。詳細には、図3は、プログラム実行サービスシステムマネージャモジュールの実施形態の実行に適したサーバコンピューティングシステム300と、多様なユーザコンピューティングシステム350と、コンピューティングノード360と、他のコンピューティングシステム380とを示す。図示の実施形態において、サーバコンピューティングシステム300は、CPU305を含むコンポーネントと、多様なI/Oコンポーネント310と、記憶部320、メモリ330とを含む。例示のI/Oコンポーネントは、ディスプレイ311と、ネットワーク接続部312と、コンピュータによる読み出しが可能なメディアドライブ313と、他のI/Oデバイス315例えば、キーボード、マウス、スピーカとを含む。加えて、この例において簡潔さのために詳細を例示していないものもあるものの、例示のユーザコンピューティングシステム350は、サーバコンピューティングシステム300と同様のコンポーネントを有する例えば、CPU351、I/Oコンポーネント352、記憶部354、およびメモリ357。その他のコンピューティングシステム380およびコンピューティングノード360もそれぞれ、サーバコンピューティングシステム300を参照して例示したコンポーネントのうちいくつかまたはその全てと同様のコンポーネントを含み得るが、このようなコンポーネントはこの例において簡潔さのために例示しない。プログラム実行サービスシステムマネージャモジュール340の実施形態は、メモリ330内において実行し、コンピューティングシステム350および380およびコンピューティングノード360との相互作用をネットワーク390を介して例えば、インターネットおよび/またはワールドワイドウェブを介して、私的セルラーネットワークを介して行う。この例示的実施形態において、PESSM340は、例えばソフトウェア命令を含み得る。これらのソフトウェア命令が実行されると、これらのソフトウェア命令は、上記した技術のうち一部または全体を行うように1つ以上のプロセッサ例えば、CPU305をプログラムする上記した技術の例を挙げると、例えばPESSM340によって管理されるプログラム実行サービスと関連してユーザコンピューティングシステム350と相互作用している多様なユーザ図示せずによる複数のコンピューティングノード360の利用の管理に関連する機能がある。その他のコンピューティングシステム350および380およびコンピューティングノード360は、PESSMとの相互作用の一環として、多様なソフトウェアを実行し得る。例えば、ユーザコンピューティングシステム350は、メモリ357中のソフトウェアを実行して、例えば、ウェブブラウザまたは特殊なクライアント側アプリケーションプログラムの一部としてPESSM340と相互作用し得、これにより、1つ以上のコンピューティングノード360上における多様な様態例えば、可変実行能力の利用、専用実行能力の利用および/または余剰実行能力の利用に関連する様態でのこれらのシステムのユーザのためのプログラム実行を構成および/または要求し得る。加えて、他にさらに詳述するように、ユーザコンピューティングシステム350の1人以上のユーザは、PESSM340と相互作用して、多様な他の種類の行為を行い得る。PESSMモジュール340の機能に関連する多様な情報は、記憶部320中に保存され得る例えば、私的余剰能力プールに関連する情報324例えば、現在の利用可能性の追跡、構成および/または他の構成情報に関連するユーザ命令ならびに他の情報322例えば、複数ユーザのためのプログラム実行のための構成、実行および/または登録に関連する情報。この例において、PESSMモジュール340は、3つの構成モジュールを含む例えば、専用能力使用量マネージャモジュール342、余剰能力使用量マネージャモジュール344、およびオンデマンド可変能力使用量マネージャモジュール346。専用能力使用量マネージャモジュール342は、ユーザによる専用コンピューティング能力の利用を管理する。図6は、1つの例示的実施形態におけるモジュール342の動作に対応するルーチンを示す。余剰能力使用量マネージャモジュール344は、ユーザによる一般的な余剰コンピューティング能力プールおよび私的余剰コンピューティング能力プールの利用を管理し、図5Aおよび図5Bは、1つの例示的実施形態におけるモジュール344の動作に対応するルーチンを示す。オンデマンド可変能力使用量マネージャモジュール346は、ユーザによるオンデマンド可変コンピューティング能力の利用を管理する。図7は、1つの例示的実施形態におけるモジュール346の動作に対応するルーチンを示す。他の実施形態において、PESSMモジュール340によって提供される機能は、他の様態で構築することができる例えば、構成モジュール342~346のうち1つ以上を任意選択的に含まないような構成例えば、オンデマンド可変能力使用量を提供しない実施形態においてオンデマンド可変能力使用量マネージャモジュール346を含まない構成。PESSMモジュール340が1つ以上のコンピューティングノード360上における1つ以上のプログラムの実行についての要求または他の通知を受信すると、PESSMモジュール340は、利用対象として指示された種類のプログラム実行能力に対応する構成モジュール342~346を決定し、前記要求を前記決定された構成モジュールへと転送する。その後、前記決定された構成モジュールおよびPESSMモジュール340は、前記要求に応答するための多様な動作を行う例えば、前記1つ以上のプログラムを実行する前記1つ以上のコンピューティングノードを選択し、これらのコンピューティングノード360上におけるこれらのプログラムの実行を開始する。加えて、PESSMモジュール340構成モジュール342~346を含むは、例えば、コンピューティングノード360と相互作用して、開始されたプログラムのコンピューティングノード上における実行を終了し、前記プログラムのうち1つ以上を1つ以上の他のコンピューティングノード360またはコンピューティングシステム380へと移転させ、あるいは他の場合においてコンピューティングノード360のうちの1つ以上との相互作用を監視して、これらのコンピューティングノードの利用を追跡する動作をさらに行い得る。コンピューティングノード360は、多様な実施形態において多様な形態を含み得る例えば、複数の物理的なコンピューティングシステムおよび/または1つ以上の物理的なコンピューティングシステム上において実行する複数の仮想マシンを含む形態。いくつかの実施形態において、サーバコンピューティングシステム300およびコンピューティングノード360は、データセンターまたは他の共同設置されたコンピューティングシステムのグループの一部であり得るか、あるいは、他の場合において、私的ネットワークのコンピューティングノードであり得る。加えて、いくつかの実施形態において、PESSMモジュール340は、1つ以上の他のコンピューティングシステム380と相互作用して、これらのコンピューティングシステム上の1つ以上のプログラムの実行を開始または終了させ得る例えば、他のユーザによって利用される余剰プログラム実行能力を提供している1つ以上のサードパーティ参加者によってコンピューティングシステム380が提供される場合。いくつかの実施形態において、PESSMモジュール340は、プログラム実行サービス以外の1つ以上の種類のコンピューティング関連のリソースまたはサービス例えば、永続的または一時的なデータ記憶サービス、メッセージングサービス、データベースサービスへのアクセスをさらにまたは代わりに管理し得る。コンピューティングシステム300、350および380ならびにコンピューティングノード360はひとえに例示的なものであり、本発明の範囲を制限することを意図していないことが理解される。上記以外にも、これらのコンピューティングシステムおよび/またはノードはそれぞれ、複数の相互作用するコンピューティングシステムまたはデバイスを含み得、前記コンピューティングシステム/ノードは、例示されていない他のデバイスに例えば、1つ以上のネットワーク例えば、インターネットを介して、ウェブを介して、または私的ネットワーク例えば、モバイル通信ネットワークを介して接続され得る。より一般的には、コンピューティングノードまたは他のコンピューティングシステムは、上記記載の種類の機能例を非限定的に挙げると、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワーク記憶デバイスおよび他のネットワークデバイス、PDA、携帯電話、無線電話、ポケットベル、電子オーガナイザ、インターネット機器、テレビベースのシステム例えば、セットトップボックスおよび/またはパーソナル/デジタルビデオレコーダを用いたもの、ならびに適切な通信能力を含む多様な他の消費者製品と相互作用して実行し得るハードウェアまたはソフトウェアの任意の組み合わせを含み得る。加えて、例示のPESSMモジュール340およびその構成モジュールによって提供される機能は、いくつかの実施形態において、さらなるモジュール中に分散させてもよいし、あるいはより少数のモジュール中に組み合わせて分散させてもよい。同様に、いくつかの実施形態において、PESSMモジュール340の機能の一部を提供し、かつ/または、他のさらなる機能が利用可能である。利用中にメモリ中または記憶部上に保存されるものとして多様なアイテムを例示しているが、これらのアイテムまたはその一部は、メモリ管理およびデータ完全製の目的のためにメモリと他の記憶デバイスとの間で移転させることが可能であることも理解される。あるいは、他の実施形態において、ソフトウェアPESSMモジュール340および/または構成モジュールのうち一部または全体は、別のデバイス上のメモリ中において実行し得、例示のコンピューティングシステムとの通信をコンピュータ間通信を介して行い得る。さらに、いくつかの実施形態において、PESSMモジュール340および/または構成モジュールのうち一部または全体は、他の様態で実行または提供することができる例えば、少なくとも部分的にファームウェアおよび/またはハードウェアとして例を非限定的に挙げると、1つ以上の特定用途向け集積回路ASIC、標準的な集積回路、コントローラ例えば、適切な命令を実行し、マイクロコントローラおよび/または埋め込みコントローラを含む、フィールドプログラマブルゲートアレイFPGA、複雑なプログラマブル論理デバイスCPLDを含めることにより。前記モジュールおよびデータ構造のうち一部または全体も例えば、ソフトウェア命令または構成データとして、コンピュータによる読み出しが可能な媒体例えば、適切なドライブによってまたは適切な接続を介して読み出される、ハードディスク、メモリ、ネットワーク、またはポータブルメディア物品上において、保存され得る。前記モジュールおよびデータ構造は、多様なコンピュータによる読み出しが可能な伝送媒体例えば、無線ベースの媒体および有線/ケーブルベースの媒体上の生成されたデータ信号として例えば、搬送波あるいは他のアナログ伝播信号またはデジタル伝播信号の一部として送信することもでき、多様な形態をとり得る例えば、単一のアナログ信号または多重化アナログ信号の一部として、あるいは複数の別個のデジタルパケットまたはフレームとしての形態。このようなコンピュータプログラム製品は、他の実施形態における他の形態もとり得る。よって、本発明は、他のコンピュータシステム構成を用いても実行することができる。図4は、プログラム実行サービスシステムマネージャルーチン400の例示的実施形態のフロー図である。前記ルーチンは、例えば、図1Aおよび図1BのPESSMモジュール110および180それぞれ、図2Aおよび図2Bに対応する動作を行うPESSMモジュール図示せず、ならびに/あるいは図3のPESSMモジュール340の実行によって得られ得る例えば、複数のコンピューティングノードおよび/または他の種類のプログラム実行能力の利用の管理の支援や、いくつかの状況における他の種類の管理動作を実行するためのもの。この図示の実施形態において、ルーチン400は、複数のユーザのためのプログラム実行を行うためのプログラム実行能力を提供するプログラム実行サービスの利用の多様な局面を管理する。図示の実施形態において、ルーチンはブロック405から開始する。ブロック405において、情報または要求が受信される。前記ルーチンはブロック410へと進んで、前記受信された要求または情報が専用能力の利用に関連するか否かを決定する。前記受信された要求または情報が専用能力の利用に関連する場合、前記ルーチンはブロック415へと進んで、専用コンピューティング能力使用量の管理に関連するルーチンを行う。このようなルーチンの1つの例示的実施形態について、図6を参照してより詳細に説明する。あるいは、ブロック410においてブロック405の情報または要求が専用能力の利用に関連しないと決定された場合、ルーチンはブロック430へと進んで、前記情報または要求が余剰コンピューティング能力の利用に関連するかを決定する。前記情報または要求余剰コンピューティング能力の利用に関連する場合、ルーチンはブロック435へと進んで、余剰コンピューティング能力使用量の管理に関連するルーチンを行う。このようなルーチンの1つの例示的実施形態について、図5A~図5Bを参照してより詳細に説明する。あるいは、ブロック405の情報または要求が余剰能力の利用に関連しないとブロック430において決定された場合、ルーチンはブロック440へと進んで、前記情報または要求がオンデマンド可変コンピューティング能力の利用に関連するか否かを決定する。前記情報または要求がオンデマンド可変コンピューティング能力の利用に関連する場合、ルーチンはブロック445へと進んで、オンデマンド可変コンピューティング能力使用量の管理に関連するルーチンを実行する。記載のこのようなルーチンの1つの例示的実施形態について、図7を参照してより詳細に説明する。あるいは、可変能力の利用に関連する情報または要求が受信されていないとブロック440において決定された場合、ルーチンはブロック460へと進んで、前記情報または要求が第2の専用能力市場に関連するかを決定し、前記情報または要求が第2の専用能力市場に関連する場合、ルーチンはブロック462へと進んで、第2の専用能力市場に関連して1つ以上の通知された動作を適切に行う。例えば、多様な実施形態において、このような動作を挙げると、多様な量のユーザの専用プログラム実行能力を販売および/または貸し出したいとの専用能力ユーザからの通知、専用能力ユーザからのプログラム実行能力を販売および/または貸し出したいとの1つ以上の他のユーザからの通知、多様な量のプログラム実行能力についての割増料金を支払う意志のある1人以上の急ぎのユーザからの通知のうちの1つ以上がある。ブロック415、435、445および462の後、あるいは、第2の専用能力市場に関連する情報または要求が受信されていないとブロック460において決定された場合、ルーチンはブロック470へと進んで、ブロック405において情報または要求に基づいて任意のユーザ課金または払戻活動を任意選択的に行うか、あるいは、他の場合のように例えば、定期的に開始される例えば、ユーザによって提供または可能化された提供について、ユーザへと提供されたプログラム実行機能に基づいて1人以上のユーザ例えば、専用能力ユーザ、可変能力ユーザ、余剰能力ユーザ、および/または他のユーザから料金を課金および/または集金し、かつ/あるいは、1人以上のユーザ例えば、専用能力ユーザおよび/または余剰能力ユーザによって用いられるコンピューティングリソースを提供した他のユーザへの支払いおよび/または払い戻しを行う。ブロック470の後、ルーチンはブロック475へと進んで、利用されている任意の一般的な余剰コンピューティング能力プールおよび私的余剰コンピューティング能力プールについて、余剰プログラム実行能力を任意選択的に監視する。これにより、プログラム実行能力は、1つ以上の余剰能力ユーザによって利用可能である余剰プログラム実行能力へと追加されかつ/または前記余剰プログラム実行能力から除去され得る。他の実施形態において、ルーチンは、現在のプログラム実行能力の使用量および/または予測されるプログラム実行能力の使用量の他の通知を受信し得る例えば、プログラム実行サービスの1つ以上のコンピューティングリソース例えば、現在の使用状態を示し得る常駐モニタを備えるコンピューティングノードからの通知、1人以上のユーザからの通知。上記と同時に/または上記に代わって、ルーチンは、他の場合においてコンピューティングリソースが利用される時期および/または利用される可能性のある時期、未使用状態である時期または十分に利用されていない時期を決定し得る。次に、ルーチンはブロック495へと進んで、1つ以上の他の通知された動作を任意選択的に行う。いくつかの実施形態において、このような動作を挙げると、ユーザのためのプログラム実行サービスの多様なリソースおよび/または機能の利用の構成、加入動作または登録動作、スケジューリング動作などがある。ブロック495の後、ルーチンはブロック498へと進んで、例えばルーチン実行を終了せよとの明示的通知が受信されるまでルーチンを継続するか否かを決定する。例えばルーチン実行を終了せよとの明示的通知が受信されるまでルーチンを継続すると決定された場合、ルーチンはブロック405へと進み、例えばルーチン実行を終了せよとの明示的通知が受信されるまでルーチンを継続すると決定されなかった場合、ルーチンはブロック499へと進んで終了する。図6は、専用能力使用量マネージャルーチン600の例示的実施形態のフロー図である。ルーチンは、例えば図3のPESSMモジュール340の専用能力使用量マネージャモジュール342の実行によって提供することもできるし、あるいは、図1Aおよび図1BのPESSMモジュール110および180それぞれおよび/または図2Aおよび図2Bに対応する動作を行うPESSMモジュール図示せずによって提供することもでき、図4中のルーチン400のブロック415から開始するかまたは他の場合において呼び出すことができる。図示の実施形態において、ルーチン600はブロック605から開始する。ブロック605において、要求、情報および/または他の専用能力の利用に関連する通知が受信される。その後、ブロック612において、ルーチンは、専用プログラム実行能力の利用について加入しようとしているユーザからの要求が受信されたかを決定する。専用プログラム実行能力の利用について加入しようとしているユーザからの要求が受信された場合、ルーチンはブロック614へと進み、ブロック614において、対応する情報が加入ユーザから得られ、専用プログラム実行能力の利用の加入に関連する多様な動作が行われる。例えば、いくつかの実施形態において、ユーザは、前記ユーザが専用アクセスを得ようとしている1つ以上のコンピューティングノードを選択および/または通知し得る。他に記載するように、いくつかの実施形態において、ユーザは、1つ以上の多様な種類のコンピューティングノードから選択し、かつ/または、他の場合において多様な量および/または種類の所望のコンピューティングリソース例えば、処理ユニット種類/量、メモリ量、プラットフォーム仕様を指定し得る。加えて、加入ユーザは、ユーザが専用アクセスを得ることを望む利用期間も通知し得る例えば、複数の時間、複数の週、複数の月、複数の年。上記に加えておよび/または上記に代えて、加入ユーザは、他の情報を提供し得る例えば、課金情報、ユーザを代表するか、そのために実行されるプログラムの通知、1つ以上の将来の時間において1つ以上のプログラムを実行するためのスケジューリング情報。加入者が所望の専用プログラム実行能力の種類および/または量に関連する情報を提供した後、ルーチンはブロック616へと進んで、適切な量の要求されたプログラム実行能力が加入ユーザによる専用使用可能な場合のために割り当てられる。他に記載のように、プログラム実行能力例えば、1つ以上のコンピューティングノードは、特定の加入専用能力ユーザによって用いられるように、多様な実施形態において多様な様態で割り当てられかつ/またはあてがわれる。ブロック616の後、ルーチンはブロック618へと進んで、加入者に割り当てられたコンピューティング能力のうち少なくとも一部を、加入者および/または他の指定ユーザによって用いられる余剰コンピューティング能力の私的プールの一部としてかつ専用使用対象として、用いるかを任意選択的に決定し、加入者に割り当てられたコンピューティング能力のうち少なくとも一部を、加入者および/または他の指定ユーザによって用いられる余剰コンピューティング能力の私的プールの一部としてかつ専用使用対象として、用いる場合、前記私的余剰コンピューティング能力プールの利用を可能化するための対応する情報を保存する。例えば、いくつかの実施形態において、決定された能力加入者ユーザについて、私的余剰コンピューティング能力プールが可能化されて利用可能となり、これにより、このようなユーザへと割り当てられた専用コンピューティング能力が他の場合においてユーザによって利用されていないときに、前記割り当てられた専用コンピューティング能力全てを私的余剰コンピューティング能力プール中において前記ユーザが後で利用することが可能となる。あるいは、いくつかの実施形態において、PESSMモジュールは、他の場合において命令無き限り、全ての専用能力ユーザのためにこのような私的余剰コンピューティング能力プールをデフォルトで生成し得る。他の実施形態において、このような専用能力ユーザのための私的余剰コンピューティング能力プールは、命令生成せよとの明示的な命令をユーザが発行しない限りかつ/または他の事前決定された基準が満たされない限り、ブロック618において生成することができない。さらに他の実施形態において、このようなユーザのための私的余剰能力プールを生成するかについての決定は、他の時期においても行われ得る例えば、このような専用能力ユーザからの余剰コンピューティング能力リソースの利用についての要求が受信されたとき。さらに、少なくともいくつかの実施形態において、加入者ユーザは、このようなユーザのための私的余剰コンピューティング能力プールの他の局面を構成し得る例えば、専用能力利用のうち私的余剰能力プールの一部として利用可能である量例えば、全てのコンピューティングノード、指定されたパーセンテージまたは指定された数のコンピューティングノード、私的余剰能力プールを利用することが可能なユーザ、私的余剰能力プールを利用可能とするかまたは利用不可能とすべき特定の期間および/または他の基準。あるいは、専用プログラム実行能力の利用についての加入要求がブロック612において受信されていないと決定された場合、ルーチンはブロック630へと進む。ブロック630において、ルーチンは、割り当てられた専用プログラム実行能力上において加入者ユーザを代表するか、そのために1つ以上のプログラムを実行せよとの要求が受信されたかを決定する例えば、即時実行せよとの現在の要求、以前予定された実行要求。また、対応する専用プログラム実行能力は、他の専用プログラム実行について既に利用されていないかまたは利用が予定されていないと決定する。十分な専用プログラム実行能力が利用不可能である場合、エラーメッセージまたは他の類似の応答が提供される例えば、ブロック635を参照して図示されるもの。いくつかの実施形態において、ルーチンは、適切な利用期間内において実行要求が受信されたことを保証しかつ/または他の場合において前記要求を認証し得る例えば、前記要求の証明、加入者ユーザの認証。適切な要求が専用能力によって利用されるものとして受信された場合、ルーチンはブロック640へと進んで、要求者のための私的余剰コンピューティング能力プールの一部としての要求者からの先行要求を満足するステップの一部として、前記要求のために用いられるべき割り当てられた専用プログラム実行能力が現在利用されているかを決定する。このような現在の私的余剰コンピューティング能力プールの利用がブロック645において特定された場合、ルーチンはブロック650へと進み、他の場合においてブロック660へと進んで、前記要求された実行を実行する例えば、前記割り当てられたプログラム実行能力上での前記1つ以上のプログラムの実行を開始する。ルーチンが先ずブロック650へと進んだ後にブロック660へと進んだ場合、ブロック650において、ルーチンは、私的余剰コンピューティング能力プールからの先行要求を一般的な余剰コンピューティング能力プールへと転送するステップを開始する。なぜならば、前記私的余剰コンピューティング能力プールは、前記先行要求を満たすために現在利用できなくなっているからである。しかし、他の実施形態および状況例えば、前記先行要求について指定された命令に基づいたものにおいて、ルーチンは、先行要求を前記私的余剰コンピューティング能力プールについてのキュー中に残留させておき、これにより、前記私的余剰コンピューティング能力プール中において十分な能力が利用可能となるまで、前記先行要求が延期される。いくつかの実施形態において、ブロック660の一部として、ルーチンは、プログラム実行を多様な様態で行うためのコンピューティングリソースおよび/またはコンピューティングノードを選択し得、いくつかの状況において、ルーチンは、他のユーザ例えば、一般的な余剰能力プールユーザの1つ以上のプログラムを終了しおよび/または他の場合において前記要求された実行を行うためにコンピューティングリソースを解放し得る。いくつかの実施形態において、専用能力ユーザが例えば自身に割り当てられた専用プログラム実行能力の別のユーザへの販売または貸し出しのために前記専用プログラム実行能力を一定量だけ1つ以上の他のユーザによって用いられるものとして以前供給している場合、前記受信された要求を満たすための専用能力は、前記ユーザが前記要求について能力を再請求できない限り、前記要求時において前記専用ユーザによって利用することができない。加えて、いくつかの実施形態において、例えば、1つ以上の決定された行為を完了するかまたは他の場合において実行するために加入者ユーザのために私的余剰能力プールの一部として実行している加入者ユーザからの先行要求を可能にするために専用能力の利用についての加入者ユーザからの現在の要求を一時的に遅延させることができる。あるいは、ブロック630において加入ユーザを代表するか、そのために割り当てられたプログラム実行能力上において1つ以上のプログラムを実行せよとの要求が受信されないと決定される場合、ルーチンはブロック635へと進んで、専用能力の適切な利用に関連する1つ以上の他の指示された動作を任意選択的に行う。例えば、いくつかの実施形態において、このような動作を挙げると、私的余剰能力プールおよび/または一般的な余剰能力プールに関わらず、余剰プログラム実行能力として利用可能とするための一定量の専用プログラム実行能力を通知するステップならびに/あるいは一定量の以前指定されたプログラム実行能力が専用能力ユーザによって利用されるように再請求するステップがある。加えて、上記したように、ブロック635中のルーチンは、ブロック605において受信された要求が満足されない場合、エラーメッセージまたは他の関連情報を提供し得る。加えて、いくつかの実施形態において、以前開始された専用能力の利用を終了せよとの要求または命令がブロック605において受信され得、そうである場合、ブロック635においてルーチンはこのようなプログラム終了を行い得、また、対応する私的余剰コンピューティング能力プール存在する場合または得られた利用可能な余剰能力の一般的な余剰コンピューティング能力プールを更新し得る。他の実施形態において、ユーザは、ルーチン600に通知することなく、前記コンピューティングノード上におけるプログラム実行を終了させ得る。PESSMモジュールは、得られた余剰コンピューティング能力を後で自動的に特定し得る例えば、図4のブロック475を参照したもの。ブロック618、635または660の後、ルーチンはブロック699へと進み、その後戻る。図5A~図5Bは、余剰能力使用量マネージャルーチン500の例示的実施形態のフロー図である。ルーチンは、例えば図3のPESSMモジュール340の余剰能力使用量マネージャモジュール344の実行によって提供することもできるし、あるいは、図1Aおよび図1BのPESSMモジュール110および180それぞれおよび/または図2Aおよび図2Bに対応する動作を行うPESSMモジュール図示せずの一部として提供することもでき、図4中のルーチン400のブロック435から開始されるか他の場合において呼び出される。図示の実施形態において、ルーチン500が呼び出されると、余剰能力の利用に関連する要求、情報および/または他の通知がブロック502においてルーチンに提供される。その後、ブロック505において、ルーチンは、プログラム実行能力を利用可能な余剰プログラム実行能力へと付加すべきである旨の通知が受信されたかを決定するこの決定は、例えば、図4のブロック475について得られる情報に基づくか、または、図6のブロック635を参照した専用コンピューティング能力の利用の終了によってトリガされる。そうである場合、ルーチンはブロック510へと進み、前記通知されたプログラム実行能力を利用可能なプログラム実行能力へと付加する。詳細には、前記余剰プログラム実行能力が私的余剰コンピューティング能力プールに対応する場合、前記私的プールは、前記指示された余剰能力を受信するように選択され、他の場合において、一般的な余剰コンピューティング能力プールが選択される。加えて、いくつかの実施形態において、新規私的余剰能力プールを生成せよとの要求がブロック510を参照してあるいは以下に説明するようなブロック595を参照して受信され、取り扱われ得る。例えば、いくつかの実施形態において、ルーチンは、このような指示されたプログラム実行能力例えば、1つ以上の特定のコンピューティングノードの1つ以上の通知を利用可能なプログラム実行能力の選択されたプールへと付加し得る。いくつかの実施形態において、私的余剰能力プールおよび一般的な余剰能力プールについて上述したような様態でかつ/または他の様態で複数のプールが提供され得る例えば、多様な異なる種類のプログラム実行能力が利用可能とされ得、プログラム実行能力の種類と関連付けられた対応する私的プールおよび/または一般的なプールへとグループ分けされ得る。あるいは、余剰プログラム実行能力への通知が受信されていないとブロック505において決定された場合、ルーチンはブロック515へと進んで、利用可能な余剰プログラム実行能力からプログラム実行能力を除去せよとの通知が受信されたかについて決定する。利用可能な余剰プログラム実行能力からプログラム実行能力を除去せよとの通知が受信されたと決定された場合、ルーチンはブロック520へと進んで、例えば、例えば余剰能力を用いて現在実行している1つ以上のプログラムについての通知されている特定のプログラム実行能力に基づいて余剰能力を除去すべき対応する私的余剰能力プールおよび/または一般的な余剰能力プールを選択する。その後、ルーチンは、前記通知されたプログラム実行能力を前記選択された能力プールについて利用可能な余剰プログラム実行能力から除去し、これにより、前記通知されたプログラム実行能力または相当する量のプログラム実行能力は、前記選択された能力プールの余剰能力ユーザのためのプログラム実行のための余剰プログラム実行能力として利用することができなくなる。あるいは、利用可能なプログラム実行能力からプログラム実行能力を除去せよとの通知が受信されていないとブロック515において決定された場合、ルーチンはこの場合はブロック525へと進んで、一定量の利用可能な余剰プログラム実行能力上において余剰能力ユーザを代表するか、そのために1つ以上のプログラムを実行せよとの要求が受信されたかまたはこのような実行について以前に予定されていた要求がトリガされたかを決定する。一定量の利用可能な余剰プログラム実行能力上において余剰能力ユーザを代表するか、そのために1つ以上のプログラムを実行せよとの要求が受信されたあるいは、このような実行について以前に予定されていた要求がトリガされたと決定された場合、ルーチンはブロック530へと進んで、前記要求に基づいて1つ以上のプログラムの実行を行う際に用いられるべき余剰能力の供給源となる、対応する私的余剰能力プールおよび/または一般的な余剰能力プールを選択するこのような決定は、例えば、余剰能力ユーザに基づいてあるいは利用されるべき特定のプログラム実行能力についての別の通知に基づいて、行われる。そして、要求された実行に関連する要求側の余剰能力ユーザからさらなる情報を任意選択的に入手または受信する。いくつかの実施形態において、このようなさらなる情報を挙げると、構成情報がある例えば、要求されるプログラム実行能力の量および/または種類についての通知例えば、最小量および最大量、入札額例えば、最小入札額および最大入札額、期限、利用すべき特定の余剰能力プール例えば、ユーザと関連付けられた特定の私的余剰能力プールのみ、あるいは、利用可能な場合は特定の私的余剰能力プールを利用し、他の場合においては一般的な余剰能力プールを利用するなどの指示。いくつかの実施形態において、このようなさらなる情報の一部または全体をブロック502において受信された要求の一部としてあるいは余剰能力ユーザによって行われた別個の構成および/または登録の一部として設けることができる。加えて、いくつかの実施形態において、ルーチンは、1つ以上の種類の余剰能力ユーザに対し、フィードバックを提供することができる例えば、要求された実行の起こり得る特性の通知例えば、要求実行が起こり得る時期、起こり得る実行期間、利用されるべき余剰能力プールとして可能性の高いものおよび/または任意選択的な他の情報例えば、提案される構成。ブロック530後において、ルーチンはブロック535へと進んで、利用対象として選択された余剰能力プールからの余剰プログラム実行能力上での実行についての要求を現在の要求グループへと付加する。他の実施形態において、他の要求のグループへと前記要求を付加する代わりに、ルーチンは、前記要求を即時的に満足しようとし得る例えば、前記要求を前記即時的時間において実行するために利用することが可能な余剰プログラム実行能力が例えば、特定の私的余剰能力プール中にあるかを決定し、このような余剰プログラム実行能力がある場合、プログラム実行を開始するか、あるいは、このような余剰プログラム実行能力が無い場合、他の行動をとる例えば、前記要求を利用不可能な私的余剰能力プールから一般的な余剰能力プールへと移動させる、失敗する、等。あるいは、利用可能な余剰プログラム実行能力上においてプログラムを実行せよとの要求が受信されていないとブロック525において決定された場合、ルーチンはブロック540へと進んで、以前通知された実行要求を除去せよとの要求が受信されたかを決定する例えば、ブロック535において要求グループに以前付加された、通知された実行要求例えば、現在の実行要求および/または他の場合において要求が期限切れとなった旨受信された通知を取り消す旨の余剰能力ユーザからの要求。以前通知された実行要求を除去せよとの要求が受信されたと決定された場合、ルーチンはブロック545へと進んで、一定量の余剰プログラム実行能力上において現在実行している通知された要求と関連付けられたプログラム全てを終了させ、その後ブロック550へと進んで、前記通知された要求を含む1つ以上の要求グループから前記通知された要求を除去する。これにより、前記通知された要求はその後余剰プログラム実行能力上での実行対象として検討されなくなる。ブロック510、520、535および550の後、あるいは、通知された実行要求が受信されていないとブロック540において決定された場合、ルーチンはブロック555へと進んで、余剰プログラム実行能力上での実行に関する現在の要求を管理するかを決定する。例えば、いくつかの実施形態において、ブロック502において受信された通知が要求を管理するためにルーチン500へと送られ、かつ/または、利用可能なプログラム実行能力の変化に基づいて提供されている場合がある例えば、ブロック510および520それぞれにおける利用可能なプログラム実行能力への追加または利用可能なプログラム実行能力からの除去、かつ/または現在の実行要求の変更例えば、ブロック535および550それぞれにおける要求の付加または除去。そうである場合、ルーチンはブロック560へと進んで、利用されている1つ以上の私的余剰コンピューティング能力プールおよび/または一般的な余剰コンピューティング能力プールに対する現在利用可能な余剰プログラム実行能力の量を決定する例えば、ブロック510および520それぞれにおいて利用可能なプログラム実行能力に付加および/または利用可能なプログラム実行能力から除去されるプログラム実行能力の量。ブロック560の後、ルーチンはブロック562へと進んで、任意の利用可能な私的余剰コンピューティング能力プールを用いて実行することが可能な係属中の要求を選択する例えば、これから入来する期間において即時に実行または実行される要求例えば、私的余剰能力プールを用いて既に実行されている要求、私的余剰能力プールのために待ち行列に入れられている要求、一般的な余剰能力プールを用いて現在実行されておりかつ好適な対応する私的余剰能力プールを有しているただし、利用可能な場合要求、現在一般的な余剰能力プールのために待ち行列に入れられておりかつ好適な対応する私的余剰能力プールを有しているただし、利用可能な場合要求、等。このような選択された要求が存在する場合、ブロック560において、ルーチンは、対応する量の余剰コンピューティング能力を対応する私的余剰コンピューティング能力プールから割り当てるまたは入来する期間におけるこのような割り当てを予定する。その後、ルーチンはブロック565へと進んで、ブロック562において選択されなかった残留している全ての要求について、1つ以上の一般的な余剰コンピューティング能力プールを用いて実行されるべき他の要求を選択する例えば、入来する期間において即時実行または実行されるもの。その後、ルーチンは、現在利用可能な余剰プログラム実行能力のグループを、これらの選択された他の要求によって用いられる対応する一般的な余剰コンピューティング能力プール単数または複数から割り当てる。以下により詳細に説明するように、ブロック562および565における要求選択は、多様な実施形態において多様な様態で行うことができる例えば、要求およびそのユーザと関連付けられた優先レベルに少なくとも部分的に基づいた様態。例えば、いくつかの実施形態において、ルーチンは、一定量の余剰プログラム実行能力を対応する余剰コンピューティング能力プールから各要求へと割り当るステップをその要求に基づいて行おうととする例えば、指定されたコンピューティングノード数。いくつかのこのような実施形態において、特定の余剰コンピューティング能力プールについての現在の実行要求を全て満たすだけの十分な現在利用可能な余剰プログラム実行能力がある場合、前記要求それぞれに対し、前記要求と関連付けられたプログラムの実行を行うための要求された量の余剰プログラム実行能力が割り当てられる。特定の余剰コンピューティング能力プールについての現在の要求全てを満足できるだけの十分な現在利用可能な余剰プログラム実行能力が無い場合、ルーチンは、前記要求に優先順位を付け、より優先度の高い要求を満足した後により優先度の低い優先要求を満足しようとする。多様な実施形態において、優先度は、私的余剰コンピューティング能力プールと関連付けられた特定のユーザ、入札額、要求の受信時刻などのうち1つ以上に基づき得る。多様な実施形態において、ルーチンは、現在利用可能な余剰プログラム実行能力のうち前記要求によって多様な様態例えば、上述したような様態で用いられるために割り当てられるべきものを決定し得る。ブロック565の後、ルーチンはブロック570へと進んで、余剰プログラム実行能力上において既に実行しておりかつブロック562および565において現在の実行対象として選択されていない要求と関連付けられた実行プログラム全てを終了させる例えば、前記要求が期限切れとなっているかまたは現在進行中のものを満足させるほど十分に高い優先度を持っていないことを反映させる。その後、ブロック575において、ルーチンは、各要求と関連付けられた1つ以上のプログラムを実行しかつ/またはブロック565における進行中の実行のために選択された余剰プログラム実行能力上において以前実行されたプログラムを残留させる。ブロック575の後、ルーチンはブロック580へと進んで、ハウスキーピング動作を任意選択的に行う。例えば、いくつかの実施形態において、ルーチンは、要求グループ中に期限切れとなっている実行要求があるかまたは他の場合において除去すべきである実行要求または余剰コンピューティング能力プール間において移動させるべき実行要求があるかを検出および通知することができる。余剰プログラム実行能力上での現在の実行要求を管理すべきではないとブロック555において決定された場合、ルーチンはブロック595へと進んで、任意選択的に1つ以上の他の通知された動作を適切に行う。例えば、ブロック502において受信された要求は、例えば、ユーザに割り当てられた専用能力のうち一部または全ての利用に基づいて前記ユーザのために新規の私的余剰能力プールを作成せよとの前記ユーザからの要求であり得る例えば、図6のブロック618を参照して説明した様態と同様の様態のもの。あるいは、ブロック502において受信された要求は、既存の私的余剰能力プールの構成を変更せよとの要求であり得る。そうである場合、ルーチンは、対応する行為をブロック595において行い得る。ブロック580または595の後、ルーチンは、ブロック599へと進み、その後戻る。図7は、オンデマンド可変能力使用量マネージャルーチン700の例示的実施形態のフロー図である。前記ルーチンは、例えば図3のPESSMモジュール340のオンデマンド可変能力使用量マネージャモジュール346の実行によって得ることもできるし、あるいは、図1Aおよび図1BのPESSMモジュール110および180および/または図2Aおよび図2Bに対応する動作を行うPESSMモジュール図示せずの一部として得ることもでき、図4中のルーチン400のブロック455から開始することができ、あるいは他の場合において呼び出すことができる。図示の実施形態において、ルーチン700は、ブロック705から開始する。ブロック705において、オンデマンド可変能力の利用に関連して要求、情報および/または他の通知が受信される。その後、ブロック710において、ルーチンは、現在利用可能なオンデマンド可変コンピューティング能力上において1つ以上のプログラムを実行せよとの要求例えば、即時実行についての現在の要求、以前予定された要求があるかを決定する。他において記載した通り、このような要求は、可変能力ユーザのための1つ以上のプログラムを行うための多様な種類および/または量のプログラム実行能力を指定し得る。1つ以上のプログラムを実行せよとの要求が受信されたとブロック710において決定された場合、ルーチンはブロック744へと進む。その後、ブロック744および746において、ルーチンは、前記要求されたプログラム実行能力が現在利用可能であるかを決定する。前記要求されたプログラム実行能力が現在利用可能である場合、ルーチンはブロック748へと進んで、前記利用可能な可変プログラム実行能力上における前記1つ以上の通知されたプログラムの実行を開始する。前記要求されたプログラム実行能力が現在利用可能ではない場合、ルーチンはブロック750へと進んで、可変プログラム実行能力についての要求が失敗に終わる例えば、前記要求された1つ以上のプログラムは実行されない。他の実施形態において、このような状況において、他の行為が任意選択的にとられ得る例えば、余剰コンピューティング能力との利用に関する待ち行列へと前記要求を移動させるかまたはこのような移動を少なくともいくつかの実施形態および状況において自動的に行うかについてユーザへ問い合わせる。加えて、いくつかの実施形態において、可変プログラム実行能力上においてプログラムを実行せよとの要求に応答して、ルーチンは、余剰能力ユーザの1つ以上のプログラムを自動終了させることで、可変プログラム実行能力を解放させることができる例えば、対応する要求を余剰能力使用量マネージャモジュールへと送る。あるいは、1つ以上のプログラムを実行せよとの要求が受信されていないとブロック710において決定された場合、ルーチンはブロック790へと進んで、他の1つ以上の動作を適切に行う。ブロック748、750または790の後、ルーチンはブロック799へと進んだ後、戻る。いくつかの実施形態において、上記したルーチンによって提供される機能は、別の方法で得ることが可能である例えば、ルーチン間での機能分割またはより少数のルーチンへの機能統合ことが理解される。同様に、いくつかの実施形態において、例示のルーチンによって提供される機能は記載された量よりも多いかまたは少ない場合がある例えば、他の例示のルーチンがこのような機能をそれぞれ含まないかまたは含む場合、または提供される機能の量が変更される場合。加えて、多様な動作が特定の様態で例えば、直列または並列の様態でおよび/または特定の順序で行われる様子が例示され得るが、当業者であれば、他の実施形態において、これらの動作を他の順序および他の様態で行うことが可能であることを理解する。また、当業者であれば、上記したデータ構造を異なる様態で構築することが可能である例えば、単一のデータ構造を複数のデータ構造へ分割するかまたは複数のデータ構造を単一のデータ構造に統合することが可能であることを理解する。同様に、いくつかの実施形態において、例示のデータ構造が保存し得る情報量は記載の量よりもより多いかまたは少ない場合があり得る例えば、他の例示のデータ構造がこのような情報をそれぞれ含まないかまたは含む場合、または保存される情報の量または種類が変更される場合。上記から、本明細書中、特定の実施形態について例示目的のために記載してきたが、本発明の意図および範囲から逸脱することなく多様な変更が可能であることが理解される。よって、本発明は、添付の特許請求の範囲およびその要素以外の何物によっても制限されない。加えて、本発明の特定の局面を以下の特定の請求項形態中に示すが、本発明者らは、任意の利用可能な請求項形態の本発明の多様な局面を企図する。例えば、本発明のいくつかの局面のみをコンピュータによる読み出しが可能な媒体中に埋め込まれたものとして現在記載しているが、他の局面も同様に具現化され得る。"