(57)【要約】分散されたプロジェクトの作業負荷を処理するために多数の広く分布した装置を用いるために処理アーキテクチャーを提供する大量分散処理システムと関連する方法が開示されている。処理インフラストラクチャーを提供するため、クライアントのエージェント・プログラムには、システム・コンポーネントと別個のプロジェクト・コンポーネントを含めて良く、作業負荷を処理するために分散された装置で動作する。種々のプロジェクトに対して、種々のプロジェクト・コンポーネントをベース・システムのコンポーネントで動作するように提供しうる。さらに、動作を容易にし、クライアント・システムによる参加を奨励するために、サーバー・システムが装置の能力データベースとインセンティブ・データベースを使用できる。システムの動作と機能性を高めるために他のデータベースも使用しうる。また、ネットワーク現場試験、ネットワーク現場索引作業、分散データのバックアップ、ファイル・シェアリング、データ捕捉、データ変換、科学的研究、さらに他の多くの分散されたプロジェクトを含めて、広範囲の用途が可能である。
2004513406.tif 000002
【特許請求の範囲】
【請求項１】
大規模分散処理システムに於いて、
ネットワークに結合された少なくとも１つのサーバーシステムと、そして
該ネットワークに結合された多数の広く分散されたデバイス上で動作するよう構成されたクライアントエージェントプログラムとを具備しており、該クライアントエージェントプログラムは
コアエージェントモジュールを有する処理システム要素を備えており、該コアエージェントモジュールは複数の種々のタスクモジュールの何れかと動作するよう構成されており、そして該クライアントエージェントプログラムは又、
少なくとも１つのプロジェクトタスクモジュールを有する分離されたプロジェクト要素を備えており、各タスクモジュールは該コアエージェントモジュールの頂部上で走るようそして少なくとも１つの分散処理プロジェクト用分散プロジェクトワークロードを処理するよう構成されており、
該サーバーシステムは該クライアントエージェントプログラムの該要素を該分散されたデバイスに提供するようそして分散されたワークロードを該分散されたデバイスに提供するよう構成されていることを特徴とする大規模分散処理システム。
【請求項２】
該エージェントプログラムの該プロジェクト要素が複数の種々のタスクモジュールを有することを特徴とする請求項１の該大規模分散処理システム。
【請求項３】
該ネットワークがインターネットを有することを特徴とする該大規模分散処理システム。
【請求項４】
請求項１の該システムが更に、
該サーバーシステムに結合された能力データベースを具備しており、該能力データベースが該分散されたデバイス用ワークロード能力係数を記憶しており、そして該システムが又
該サーバーシステムに結合されたインセンティブデータベースを具備しており、該インセンティブデータベースは該分散されたデバイス用インセンティブ値を記憶しており、該サーバーシステムは該分散されたデバイス用該インセンティブ値を決定するために該ワークロード能力係数を利用することを特徴とするシステム。
【請求項５】
該インセンティブ値が該分散されたデバイスにより完了された該ワークロードに基づくことを特徴とする請求項４の該システム。
【請求項６】
該インセンティブ値が該分散されたデバイスの該ワークロード能力に基づくことを特徴とする請求項４の該システム。
【請求項７】
請求項１の該システムが更に、
該サーバーシステムに結合された能力データベースを具備しており、該能力データベースは該分散されたデバイスに付随するワークロード能力係数を記憶しており、そして該システムは又、
該サーバーシステムに結合されたスイープステークデータベースを具備しており、該スイープステークデータベースは該分散されたデバイスに付随するエントリーを記憶していることを特徴とするシステム。
【請求項８】
該サーバーシステムが該複数の分散されたデバイス用エントリー値を決定するために該ワークロード能力係数を利用することを特徴とする請求項７の該システム。
【請求項９】
該エントリー値が該分散されたデバイスにより完了された該ワークロードに基づくことを特徴とする請求項７の該システム。
【請求項１０】
該エントリー値が該分散されたデバイスの該ワークロード能力に基づくことを特徴とする請求項７の該システム。
【請求項１１】
該分散されたデバイスについてのワークロード能力係数がベンチマークワークロードにより決定されることを特徴とする請求項７の該システム。
【請求項１２】
請求項１の該システムが更に、該サーバーシステムに結合された能力データベースを具備しており、該能力データベースが該分散されたデバイスに付随するワークロード能力係数を記憶していることを特徴とするシステム。
【請求項１３】
該分散されたデバイス用該ワークロード能力係数が該分散されたデバイスにより実際に行われた該ワークロードを表すことを特徴とする請求項１２の該システム。
【請求項１４】
該分散されたデバイス用該ワークロード能力係数がベンチマークワークロードにより決定されることを特徴とする請求項１２の該システム。
【請求項１５】
該分散されたデバイス用該ワークロード能力係数が該分散されたデバイスの該ワークロード能力により決定されることを特徴とする請求項１２の該システム。
【請求項１６】
請求項１の該システムが更に、該分散されたデバイス用のワークロード能力を記憶する能力データベースを具備しており、該サーバーシステムが該分散されたデバイスへのワークロード配布を予定するために該ワークロード能力を利用することを特徴とするシステム。
【請求項１７】
該ワークロード能力が該分散されたデバイスの能力ベクトルのセットにより表されることを特徴とする請求項１６の該システム。
【請求項１８】
該ベクトルがＢＩＯＳサポート能力、ＣＰＵサポート能力、グラフイックサポート能力、記憶装置能力、通信サポート能力、メモリー能力、又はオペレーテイングシステム能力を有することを特徴とする請求項１６の該システム。
【請求項１９】
ワークロードが少なくとも部分的にワークロード要求と該分散されたデバイスのワークロード能力とに基づき割り当てられることを特徴とする請求項１６の該システム。
【請求項２０】
該分散されたデバイス用の該ワークロード能力がベンチマークワークロードにより決定されることを特徴とする請求項１６の該システム。
【請求項２１】
請求項１の該システムが更に、該サーバーシステムに結合され、ネットワークサイトテステイング用ワークロードを記憶するワークロードデータベースを具備しており、該サーバーシステムがネットワークサイト用コンテント供給をテストするために該分散されたデバイス用に該サイトテステイングワークロードを予定することを特徴とするシステム。
【請求項２２】
該サイトテステイングがサービステステイング、負荷テステイング又はサービステステイングの否定の質であることを特徴とする請求項２１の該システム。
【請求項２３】
請求項２１の該システムが更に、該サーバーシステムに結合され、複数の分散されたデバイス用のワークロード能力を記憶する能力データベースを具備しており、該サーバーシステムは該分散されたデバイス用サイトテステイングワークロードを予定するために該ワークロード能力を利用することを特徴とするシステム。
【請求項２４】
該インセンティブ値が少なくとも部分的に該分散されたデバイスの該ワークロード能力に基づくことを特徴とする請求項２１の該システム。
【請求項２５】
請求項１の該システムが更に、該サーバーシステムに結合され、ネットワークサイトコンテントをインデックスするためのワークロードを記憶するワークロードデータベースを具備しており、該サーバーシステムはネットワークサイトにより供給されるコンテントをインデックスするために該分散されたデバイス用の該インデックスするワークロードを配布することを特徴とするシステム。
【請求項２６】
請求項２５の該システムが更に、少なくとも部分的に該サーバーシステム上に記憶された最終インデックスを具備することを特徴とするシステム。
【請求項２７】
請求項２５の該システムが更に、少なくとも部分的に複数の該分散されたデバイス上に記憶された最終インデックスを具備することを特徴とするシステム。
【請求項２８】
請求項２５の該システムが更に、該サーバーシステムに結合され、複数の該分散されたデバイス用ワークロード能力を記憶する能力データベースを具備しており、該サーバーシステムは該分散されたデバイス用のインデックスするワークロードを予定するために該ワークロード能力を利用することを特徴とするシステム。
【請求項２９】
請求項２５の該システムが更に、該サーバーシステムに結合され、複数の該分散されたデバイス用にインセンティブ値を記憶するインセンティブデータベースを具備しており、該インセンティブ値は、該分散されたデバイスが該インデックスするワークロードの１部を実行出来るように該分散されたデバイスを該ネットワークを通じて該サーバーシステムに結合するよう提供されることを特徴とするシステム。
【請求項３０】
請求項１の該システムが更に、該サーバーシステムに結合され、データバックアップ用ワークロードを記憶するワークロードデータベースを具備しており、該サーバーシステムは該ネットワークに結合されたデータをバックアップするために該分散されたデバイス用のデータバックアップワークロードを予定することを特徴とするシステム。
【請求項３１】
該バックアップデータワークロードが、該バックアップデータの何等かの与えられた部分が少なくとも２つの異なるコンピユータシステム上に記憶されるように、冗長なワークロードを有することを特徴とする請求項３０の該システム。
【請求項３２】
請求項３０の該システムが更に、該サーバーシステムに結合され、複数の該分散されたデバイス用のワークロード能力を記憶する能力データベースを具備しており、該サーバーシステムは該分散されたデバイス用データバックアップワークロードを予定するために該ワークロード能力を利用することを特徴とする該システム。
【請求項３３】
請求項３０の該システムが更に、該サーバーシステムに結合され、複数の該分散されたデバイス用インセンティブ値を記憶するインセンティブデータベースを具備しており、該インセンティブ値は該分散されたデバイスが該データバックアップワークロードの１部分を実行できるよう該分散されたデバイスを該ネットワークを通して該サーバーシステムに結合するため提供されることを特徴とするシステム。
【請求項３４】
請求項１の該システムが更に、該サーバーシステムに結合されたデータベースを具備しており、該データベースは該分散されたデバイス用のユーザーに選択されたオペレーテイングパラメーターを記憶しており、該ユーザーに選択されたオペレテイングパラメーターは該分散されたデバイス用プロジェクトワークロードを予定するため利用されることを特徴とするシステム。
【請求項３５】
該オペレーテイングパラメーターが提携指示を含むことを特徴とする請求項３４の該システム。
【請求項３６】
該オペレーテイングパラメーターがプロジェクトタイプ指示を含むことを特徴とする請求項３４の該システム。
【請求項３７】
該オペレーテイングパラメーターが更に分散されたデバイスの処理能力を選択されたプロジェクト間に割り当てるパーセンテージ指示を含むことを特徴とする請求項３４の該システム。
【請求項３８】
請求項１の該システムが更に、該サーバーシステムに結合されそして複数の該分散されたデバイス用の空きベクトルデータを記憶するデータベースを具備しており、該サーバーシステムは、比較的空いた分散されたデバイスを識別するためそして少なくとも部分的に該空きの識別に基づき該分散されたデバイスへのワークロードの配布を予定するために該空きベクトルデータを利用することを特徴とするシステム。
【請求項３９】
処理集約的ワークロードが該空きの識別に基づき空いた分散されたデバイスへ予定されることを特徴とする請求項３８の該システム。
【請求項４０】
請求項１の該システムが更に、該サーバーシステムに結合されそして複数の該分散されたデバイス用能力データを記憶するデータベースを具備しており、該サーバーシステムは少なくとも２つの分散されたデバイスから能力を集めるために該能力データを利用することを特徴とするシステム。
【請求項４１】
サーバーと分散されたデバイス上の記憶デバイスと第２の分散されたデバイス上の処理デバイスとが集められた能力であることを特徴とする請求項４０の該システム。
【請求項４２】
請求項１の該システムが更に、該サーバーシステムに結合されたスイープステークデータベースを具備しており、該スイープステークデータベースが該分散されたデバイスに付随する機械発生されたエントリーを記憶することを特徴とする該システム。
【請求項４３】
該機械発生されたエントリーが、規則的時間間隔で該サーバーシステムから該分散されたデバイスへ送られるエントリーワークロードから生じることを特徴とする請求項４２の該システム。
【請求項４４】
該クライアントエージェントが該機械発生されたエントリーを該サーバーシステムへ送る用構成されることを特徴とする請求項４２の該システム。
【請求項４５】
複数の該分散されたデバイスが共有されたデータ記憶装置内に記憶された情報を有しており、該分散されたデバイスは他の分散されたデバイス上のクライアントエージェントのプログラムが該分散されたデバイス上の該共有されたデータ記憶装置にアクセスすることを可能にすることを特徴とする請求項１の該システム。
【請求項４６】
記憶された該情報が多数の分散されたデバイス間の通信を実現する情報を有することを特徴とする請求項４５の該システム。
【請求項４７】
記憶された該情報が該分散されたデバイスによるワークロードの処理を実現する情報を有することを特徴とする請求項４５の該システム。
【請求項４８】
複数の該分散されたデバイスが該クライアントエージェントプログラムによるデータ配布を実現する記憶された情報を有することを特徴とする請求項１の該システム。
【請求項４９】
記憶された該情報が鋭く時間に関係するデータの配布を容易化する情報を有することを特徴とする請求項４８の該システム。
【請求項５０】
各分散されたデバイス上に記憶された該情報が他の分散されたデバイスの通信アドレスを有しており、該通信アドレスが急激なピアツーピア通信を考慮していることを特徴とする請求項４８の該システム。
【請求項５１】
該分散されたワークロードがデータキャッシュするワークロードを含んでおり、記憶された該情報が他の分散されたデバイスへ伝送されるべきキャッシュデータを含むことを特徴とする請求項４８の該システム。
【請求項５２】
請求項１の該システムが更に、複数の該分散されたデバイス用能力ベクトルを記憶するデータベースを具備しており、そして該サーバーシステムは、要求するデバイスからのデータ変換要求に応答してデータ変換タスクを達成する少なくとも１つの分散されたデバイスを識別するために少なくとも１つの能力ベクトルを利用するよう構成されていることを特徴とするシステム。
【請求項５３】
該データ変換タスクがネットワークサイトの言語翻訳又はコンテント再フオーマットを含むことを特徴とする請求項５２の該システム。
【請求項５４】
請求項１の該システムが更に、該分散されたデバイス用属性情報を記憶するデータベースを具備しており、該サーバーシステムは該分散されたデバイスのサブセットを識別するために少なくとも１つのデバイス属性を利用することを特徴とするシステム。
【請求項５５】
プロジェクトワークロードが分散されたデバイスの該サブセットに配布されることを特徴とする請求項５４の該システム。
【請求項５６】
該属性が該分散されたデバイスのユーザーに関する情報を含み、該利用される属性がユーザー情報を含むことを特徴とする請求項５４の該システム。
【請求項５７】
アドバタイズメントが分散されたデバイスの該識別されたサブセットに配布されることを特徴とする請求項５６の該システム。
【請求項５８】
該利用されるデバイス属性が顧客により選択された属性を含むことを特徴とする請求項５４の該システム。
【請求項５９】
請求項１の該システムが更に、少なくとも１つの分散されたデバイスに提供されつつある電子的情報用の少なくとも１つの分割可能な安全対策を出力として有する安全サブシステムを該サーバーシステム内に具備しており、該分割可能な安全対策は多数の分散されたデバイスに配布されそして該安全対策を確認するために少なくとも１つの分散されたデバイスにより復元されねばならないことを特徴とするシステム。
【請求項６０】
該安全対策は該電子的情報用のハッシュ値を発生することを含み、そして該ハッシュ値はＮの部分に分割され、該電子的情報を受信しつつある該分散されたデバイスを含む、Ｎの異なる分散されたデバイスに配布されることを特徴とする請求項５９の該システム。
【請求項６１】
該電子的情報はプロジェクトワークロードを含むことを特徴とする請求項５９の該システム。
【請求項６２】
複数の該分散されたデバイスの１部分は第３パーテイのユーザーベースからのユーザーに付随するデバイスを含んでおりそして顧客プロジェクトワークロードを処理することから来るプロジェクト収入は該利用された第３パーテイのユーザーベースの資源に関連する第３パーテイと共有されることを特徴とする請求項１の該システム。
【請求項６３】
該クライアントエージェントが更にユーザーインターフエース要素を含むことを特徴とする請求項６１の該システム。
【請求項６４】
該プロジェクト要素ソフトウエアは該顧客により所有され、該コアエージェント要素ソフトウエアは該分散処理システムの該所有者により所有され、そして該ユーザーインターフエース要素は該第３パーテイにより所有されることを特徴とする請求項６３の該システム。
【発明の詳細な説明】
【０００１】
［産業上の利用分野］
本発明は分散処理特にネットワーク環境で分散処理を管理し、容易にし、実行するための技術および関連する方法に関する。
【０００２】
［従来の技術及びその課題］
従来の処理システムには企業内の多数のユーザーがメインフレームまたは中央処理システムで利用できる処理時間を分割利用する技術が含まれていた。メインフレームの処理時間の小さなセグメントを用いて、多くの場合、社内各部門はその処理時間を用いることに伴うコストを発生し、それが会社の中央情報技術（ＩＴ）組織から各部門に請求された。他の場合、会社がメインフレームの処理能力の過剰能力分を有している第三者企業から利用できる処理時間を有料で利用することができた。実際に、これらの第三者企業は、その第三者企業の内部組織が使用しなかったメインフレームの処理時間について市場作りを図っている。
【０００３】
さらに、従来の処理技術にはインターネットまたはワールドワイドウエッブを用いている分散処理プロジェクトも含まれている。これらの分散処理研究プロジェクトはインターネットに接続されたパーソナル・コンピュータ（ＰＣ）を用いて、研究プロジェクトの目標を達成する処理能力を与えている。例えば、研究プロジェクトの目標は、大素数の特定、電波望遠鏡のデータ分析、暗号解読コンテストのコード・キー分析であっった。
【０００４】
インターネットの分散処理プロジェクトの一例は、カリフォルニア大学バークレー校で、ＳＥＴＩ（地球外知的生命体研究）が収集した天空記録データの分析をするために行われた研究プロジェクトである。この天空記録データはプエルトリコのＡｒｅｃｉｂｏ大型電波望遠鏡から一定時間集められた。これらの記録データを分析するのに必要な処理能力は非常に大きかった。ＳＥＴＩの収集活動のピークには、全ての信号を処理するのに必要な計算能力により測定した場合、処理すべき信号を１００，０００年分以上蓄積した。このデータを分析するために、インターネットに接続したＰＣにダウンロードして、これらのＰＣがこれらの天空記録の小さな部分を処理できるソフトウエアを開発した。１年以内に、ＳＥＴＩ＠ｈｏｍｅ （２０００年３月のＵＲＬ−ｗｗｗ．ｓｅｔｉａｔｈｏｍｅ．ｓｓｌ．ｂｅｒｋｅｌｅｙ．ｅｄｕ）と呼ばれるこのプロジェクトは、このデータのバックログを完全に所有し、さらに処理作業を行うために、天空記録データセットに戻している。この大量の平行分散システムは約１８００万台のインターネット接続マシンで運用され、１０ＴＥＦＬＯＰｓ（テラＦＬＯＰＳまたは毎秒１０１２浮動小数点演算）の処理能力を有している。
【０００５】
分散処理技術の他の例は、Ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔ （２０００年３月のＵＲＬ−ｗｗｗ．ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔ） が暗号解読コンテストで競争するために開発され、実行されている。Ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔはインターネットに接続されたクライアント・システムがダウンロードできるクライアント・ソフトウエア・プログラムを作成し、配布した。それで、このクライアント・ソフトウエアはインターネット上で暗号化されたメッセージを解読するように特に設計された大型分散処理システムの一部として機能している。この処理技術を用いて、Ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔはインターネット・セキュリティ会社であるＲＳＡラボがスポンサーになった暗号解読コンテストに勝った。これらのコンテストで、ＲＳＡラボは暗号コンテストの勝利者に賞金を提供していた。この努力を組織化する中で、Ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔは暗号コードを実際に解読するクライアント・システムにこの賞金の一部を提供した。さらに、Ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔは、完了した処理量による個別およびチームのランキングを用いて、クライアント・システムの努力に関する統計だけでなく、プロジェクト全体の統計の追跡を行っている。
【０００６】
Ｅｎｔｒｏｐｉａ．ｃｏｍ （２０００年３月のＵＲＬ−ｗｗｗ．ｅｎｔｒｏｐｉａ．ｃｏｍ） は最大素数の特定を目指すコンテストで競争するために、インターネット分散処理システムを用いている。Ｅｎｔｒｏｐｉａ．ｃｏｍは他の研究プロジェクトに計算能力を提供していて、ユーザーは無料で分散処理に参加することで契約できる。最大素数のコンテストに対して、Ｅｎｔｒｏｐｉａ．ｃｏｍは、Ｄｉｓｔｒｉｂｕｔｅｄ．ｎｅｔと同様に、新しい桁に達した最初の素数を申告したインターネット接続ＰＣに賞金を提供した。他の研究プロジェクトの場合、インセンティブは研究プロジェクトに参加することだけである。
【０００７】
他の分散処理ウエッブ・サイトがＰｒｏｃｅｓｓ Ｔｒｅｅ Ｎｅｔｗｏｒｋ （２０００年３月のＵＲＬ−ｗｗｗ．ｐｒｏｃｅｓｓｔｒｅｅ．ｃｏｍ）により提供されている。このウエッブ・サイトは有料プロジェクトの処理能力を提供するために、インターネット接続コンピューター・システムと契約するように試みている。あるプロジェクトでは、各パートナー・システムは、インターネットに接続したとき、作業ユニットをダウンロードして、その作業ユニットを処理するクライアント・ソフトウエアを持つ。Ｐｒｏｃｅｓｓ Ｔｒｅｅ Ｎｅｔｗｏｒｋが提供するインセンティブは、あるシステムが完了した作業量に対する「ミクロ支払い」である。これらのミクロ支払いは、明らかに、処理した作業により、あるシステムが完了したプロジェクト量に基づき、全プロジェクト価格のうちの小さな額になる。さらに、各パートナーには、新パートナーとして契約した者に行われるボーナス・パーセントの支払いが提供される。
【０００８】
分散処理領域以外の完全に無関係なインターネット活動で、消費者行動に対するインセンティブとして懸賞モデルを用いているいくつかのサイトがある。（２０００年３月時点で、最もポピュラーな懸賞サイトのひとつがＩＷＯＮ．ＣＯＭ （２０００年３月のＵＲＬ−ｗｗｗ．ｉｗｏｎ．ｃｏｍ） である。ＩＷＯＮ．ＣＯＭは標準のサーチ及びコンテンツ用インターネット・ポータルで、ユーザーがそのポータルを利用するとき、懸賞にエントリーできるようにすることによりユーザーにインセンティブを提供している。ユーザーのポータル利用が多いほど、限界まで、例えば、１００回／日まで、利用者が発生するエントリーが多くなる。毎日の終わりに、ＩＷＯＮ．ＣＯＭはエントリー中から＄１０，０００の賞金獲得者を選ぶ。毎月の終わりに、ＩＷＯＮ．ＣＯＭは＄１，０００，０００の獲得者を選ぶ。そして、懸賞の全期間の終わりに、ＩＷＯＮ．ＣＯＭは＄１０，０００，０００の特賞の獲得者を一人選ぶ計画をしている。ＩＷＯＮ．ＣＯＭは１９９９年後期にインターネット・ポータルを導入し、例えば、Ｙａｈｏｏ．ｃｏｍ （２０００年３月のＵＲＬ−ｗｗｗ．ｙａｈｏｏ．ｃｏｍ）のような多年に亘って存在するインターネット・ポータルと同程度に多くの人々を獲得したウエッブ・サイトとするためにこの懸賞モデルを作成した。
【０００９】
これらの従来の分散処理システムは、限られたプロジェクト活動に狭く焦点を絞っていて、分散された資源を十分に利用するために分散処理システムを用い、これらの資源を管理し、広範囲の分散処理用プロジェクトおよび問題を解決するのにそれらの資源を活用するのに有効なアーキテクチャーを提供していない。
【００１０】
【課題を解決するための手段】
本発明は、分散処理プロジェクトのための分散された作業負荷を処理するために、多数の広く分散した装置を用いるのに有利な処理アーキテクチャーを用いる大量分散処理システムおよび関連する方法を提供する。分散処理システムのためのインフラストラクチャー処理能力を提供するため、コア・エージェント・モジュールを持つシステム・コンポーネントおよび少なくともひとつのタスク・モジュールを持つ別個のプロジェクト・コンポーネントを含むクライアント・エージェント・プログラムが分散装置で動作し、プロジェクト作業負荷を処理するように構成されている。各分散プロジェクトのために、コア・エージェント・モジュールまたはシステム・コンポーネントの上で動作するように、サーバー・システムから分散した装置に種々のプロジェクト・コンポーネントまたはタスク・モジュールを提供する。さらに、分散した装置の能力に基づいて作業負荷のスケジュール作成をするために、サーバー・システムが能力データベースを使用できる。また、分散処理システムに参加させるために分散した装置に可能な賞または補償を示すインセンティブ数値を記憶するために、サーバー・システムがインセンティブ・データベースを使用できる。システムの動作と機能を高め、または、さらに追加するために、他のデータベースも使用できる。さらに、本発明の分散処理システムを用いて、ネットワーク・サイト試験、ネットワーク・サイト索引作業、分散データのバックアップ、ファイル・シェアリング、データ・キャッシング、データ変換、科学研究、さらに他の多くの分散プロジェクトを含む広範囲の用途が可能である。
【００１１】
【実施例】
本発明は、多様な通信システムおよびネットワークを通じて接続し合った分散した装置の能力を特定すること、および、処理、記憶、放送または他の希望のプロジェクト目標を達成するためにこれらの能力を統合することを目指している。例えば、インターネット、イントラネット、無線ネットワーク、ホーム・ネットワークまたは他のネットワークを通じてお互いに接続されている分散した装置は、希望の作業に対して、それぞれの能力を特定し、組織化し、管理すれば、第三者にとって、いくつかの有用な能力のいずれかを提供できる。これらの分散した装置は、接続されたパーソナル・コンピューター・システム（ＰＣｓ）、インターネット機器、ノート・パソコン、サーバー、記憶装置、ネットワーク接続用記憶装置（ＮＡＳ）、無線装置、携帯装置または有用な能力を持ち、何らかの形でネットワークに接続されている他の計算装置で良い。さらに、本発明は、本発明の分散平行処理システム内で分散した装置の能力を利用できるように分散した装置のユーザーと所有者を奨励するために、分散した装置の能力に部分的に基づくインセンティブを提供することを目指している。
【００１２】
好ましくは、本発明で想定している使用可能な分散した装置の数は非常に大きい。例えば、インターネット・サービス・プロバイダー（ＩＳＰ）が必要とする作業を実施するのに１００台未満の相互接続コンピューターがあれば良いが、ＩＳＰが用いているような小さなローカル・ネットワークと異なり、本発明は大量分散処理システムを提供するために多数の広く分散した装置を好ましく用いている。本発明と関連して、多数の分散した装置とは、１，０００台を超える種々の分散した装置を意味している。本発明に関連して、広く分散した装置とは、少なくとも２台が少なくとも１００マイル物理的に離れて位置している相互接続された装置のグループを意味している。本発明に関連して、大量分散処理システムとは多数の広く分散した装置を用いるものである。インターネットは多数の広く分散した装置を含む相互接続システムの例である。大企業のイントラネット・システムは多数の分散した装置を含む相互接続システムの例である。そして、もし、多数の企業サイトが含まれている場合、多数の広く分散した装置を含むことがある。インターネットまたは大企業のイントラネットで利用可能な多数の広く分散した装置を用いているところの本発明に基づく分散された処理システムは、本発明に基づく大量分散処理システムである。
【００１３】
図１Ａは本発明に基づく分散平行処理システム１００のブロック線図である。ネットワーク１０２は雲形輪郭を持つように示されていて、そのネットワークと接続するクライアントのタイプが無制限で多様な性質を持つことを示している。例えば、ネットワーク１０２はインターネット、社内イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ネットワーク、ホーム・ネットワークまたは多数のシステムと装置を接続し合っている他のシステムで良い。さらに、ネットワーク１０２には、それ自体でこの種の接続システムになるどれか、またはその組合わせを、例えば、インターネット上のコンピューター・システムに接続された企業イントラネット上のコンピューター・システムを含めて良い。
【００１４】
図１Ａもそれぞれ通信リンク１１８、１２０・・・１２２を通じてネットワーク１０２に接続しているクライアント・システム１０８、１１０・・・１１２を示している。さらに、サーバー・システム１０４，他のシステム１０６およびカストマー・システム１５２はそれぞれ通信リンク１１４、１１６、１１９を通じてネットワーク１０２に接続されている。クライアント・システムの能力のブロック１２４はサーバ・システム１０４の部分集合であり、クライアント・システム１０８、１１０・・・１１２の能力決定を示している。インセンティブ・ブロック１２６もサーバー・システム１０４の部分集合であり、分散処理システム１００により、クライアント・システム１０８、１１０・・・１１２の能力を活用できるように、クライアント・システム１０８、１１０・・・１１２のユーザーまたは所有者に提供されるインセンティブを示している。クライアント・システム１０８、１１０、１１２は、希望の作業を達成するためにサーバー・システム１０４が特定し、組織化し、使用する任意の数のシステムおよび（または）装置を示している。例えば、パーソナル・コンピューター・システム（ＰＣｓ）、インターネット機器、ノート・パソコン、サーバー、記憶装置、ネットワーク接続用記憶装置（ＮＡＳ）、無線装置、携帯装置または有用な能力を持ち、何らかの形でネットワークに接続されている他の計算装置である。サーバー・システム１０４は希望の作業を達成するためにクライアント・システムを特定し、組織化し、使用する機能を提供する任意の数の処理システムを代表している。
【００１５】
インセンティブ・ブロック１２６が提供するインセンティブは希望された任意のインセンティブで良い。例えば、分散処理システム１００が用いるために契約したクライアント・システム１０８、１１０・・・１１２にエントリーを与える懸賞で良い。他のインセンティブの例は報酬システムで、航空機の常用客に対する利用マイル、購入用のクレジットとクーポン、金銭支払い、賞金、賞品、無料旅行、タイム・シェア・レンタル、遊覧船、接続サービス、インターネット・アクセスの無料化または割引、ドメイン名の受付、メール・アカウント、重要な研究プロジェクトへの参加、個人的目標の達成または他の希望のインセンティブないし報酬のようなものである。
【００１６】
上記のように、いくつかの他のシステムもネットワーク１０２に接続しうる。それゆえ、エレメント１０６はネットワーク１０２に接続しうる任意の数の種々の他のシステムを示している。他のシステム１０６にはＩＳＰ、ウエッブ・サーバー、大学のコンピューター・システムおよびネットワーク１０２に接続された他の任意の分散した装置、例えば、パーソナル・コンピューター・システム（ＰＣｓ）、インターネット機器、ノート・パソコン、サーバー、記憶装置、ネットワーク接続用記憶装置（ＮＡＳ）、無線装置、携帯装置または有用な能力を持ち、何らかの形でネットワークに接続されている他の計算装置を含めて良い。カストマー・システム１５２は、分散処理システムのためのプロジェクトを有するカストマーを示していて、図１Ｂに関連させて、さらに説明する。カストマー・システム１５２は通信リンク１１９を通じてネットワーク１０２に接続している。
【００１７】
通信リンク１１４、１１６、１１８、１１９、１２０、１２２が、希望する場合、ネットワーク１０２に接続されたどれかのシステムの間で通信を行えることに留意されたい。例えば、クライアント・システム１０８、１１０・・・１１２が、お互いに、ピアツーピア型の通信を直接行える。さらに、通信リンク１１４、１１６、１１８、１１９、１２０、１２２は、イーサーネット接続、無線接続、ＩＳＤＮ接続、ＤＳＬ接続、モデムのダイアル・アップ接続、ケーブル・モデム接続、光ファイバー接続、直接のＴ１またはＴ３の接続、ルーター、ポータル・コンピューター、さらに、他のネットワークないし通信の接続のようなネットワーク１０２の任意の部分に接続するための希望の技術でよいことに留意されたい。さらに、本発明に基づいて、ネットワーク１０２に接続するのに可能ないくつかの構造があることに留意されたい。例えば、クライアント・システム１０８はだれかの家庭に位置する個人のパーソナル・コンピューターで良く、また、インターネット・サービス・プロバイダー（ＩＳＰ）を通じてインターネットに接続して良い。さらに、クライアント・システム１０８はネットワーク・ルーターを通じてイントラネットに接続され、次に第二のルーターまたはポータル・コンピューターを通じてインターネットに接続された会社従業員のデスクに置かれたパーソナル・コンピューターでも良い。さらに、クライアント・システム１０８は会社のイントラネットに接続されたパーソナル・コンピューターで良く、サーバー・システム１０４は同じイントラネットに接続されていても良い。要するに、本発明では、多数の潜在的クライアント・システムを接続する多様なネットワーク環境を想定している。
【００１８】
図１Ｂは本発明に基づき、カストマー・システム１５２、サーバー・システム１０４、クライアント・システム１３４の間の情報の流れ１５０に対するブロック線図である。上記のように、サーバー・システム１０４には、希望する場合、クライアント・システムの能力のブロック１２４およびインセンティブ・ブロック１２６を含む任意の数の種々のサブシステムまたはコンポーネントを含めて良い。サーバー・システム１０４はプロジェクトおよびベンチマークの作業負荷１３０をクライアント・システム１３４に送る。ベンチマークの作業負荷とは、クライアント・システム１３４の相対的能力を決定するのに使用できる標準的作業負荷を意味する。プロジェクトの作業負荷とは、完成を希望されている一定のプロジェクトに対する作業負荷を意味する。例えば、プロジェクトの作業負荷は、ネットワーク・サイトのコンテンツ索引作業、ネットワーク・サイトの負荷試験およびネットワーク・サイトでのサービスの質試験を含むネットワーク・サイト試験、データのバックアップ、医薬品設計、医薬品の相互作用調査、化学反応の研究、遺伝子的及び生物学的分析を含む生物情報科学、ヒト・ゲノム分析、指紋とＤＮＡ分析を含むペア型比較、データ発掘、インターネット登録サービス、イントラネット登録サービス、オークション・サービス、市場清算サービス、支払いシステム、生物情報科学のシミュレーション、知識管理サービス、取引サービス、データ・マッチング・サービス、図面作成または他の希望のプロジェクトのようなプロジェクトに対する作業負荷で良い。
【００１９】
上記のように、クライアント・システム１３４は図１Ａのクライアント・システム１０８、１１０・・・１１２のように、ネットワーク１０２を通じてサーバー・システム１０４に接続する任意の数の種々のシステムである。クライアント・システム１３４が与えられた作業負荷の処理を完了した後で、クライアント・システム１３４がサーバー・システム１３２に結果を送り返す。作業負荷プロジェクトによっては、サーバー・システム１０４が結果１５６をカストマー・システム１５２に提供して良い。例えば、カストマー・システム１５２は一定プロジェクトの実施を希望する者で、その場合、プロジェクトの詳細とデータ１５８をサーバー・システム１０４に提供する場合がある。
【００２０】
図２Ａは本発明に基づく例示的クライアント・システム１０８に対するブロック線図である。この単純化したブロック線図で、オリジナルの作業負荷２０４をライン２０８を通じてインターフェース２０６から受信する。オリジナルの作業負荷２０４とは、サーバー・システム１０４が実現を試みている希望の作業を完了するのに必要な処理、記憶または他の活動の一部を示している。このオリジナルの作業負荷２０４はサーバー・システム１０４によりネットワーク１０２を通じて送られ、クライアント・システム１０８が通信リンク１１８を通じて受信する。クライアント・システム１０８がオリジナルの作業負荷２０４を処理する。次に、ライン２１２を通ってから、結果２０２はライン２１０に沿ってインターフェース２０６に伝送するために記憶される。次に、インターフェース２０６が結果を通信ライン１１８または他のクライアント・システム（例えば、クライアント・システムの同位結合による）を通じて、次にネットワーク１０２を通じてサーバー・システム１０４に送り返す。
【００２１】
クライアント・システム１０８が受信した作業負荷および実施した処理または活動が以下で論じるような種々の要因による場合があることに留意されたい。部分的に、サーバー・システム１０４が各クライアント・システム１０８、１１０、１１２に割当てたこの作業負荷が、処理能力、ディスクの記憶容量、通信タイプ、および、クライアント・システム１０８内のシステムの各種要素から利用できる他の能力のようなクライアント・システムの能力に依存することがある。
【００２２】
クライアント・システム１０８に所在し、また、インストールされたオペレーショナル・コード（即ち、エージェント）により、これらの作業負荷を実施するときに、サーバー・システム１０４がクライアント・システム１０８に対して作業負荷を選択でき、かつ、制御しうる。代わりに、クライアント・システム１０８の所有者またはユーザーがサーバー・システム１０４から、いつ作業負荷を調達または入手するか、さらに、いつこれらの作業負荷を実施するかを、例えば、ネットワーク１０２を通じてサーバー・システム１０４にアクセスすることにより、決定しうる。例えば、サーバー・システム１０４は請求を受けてクライアント・システム１０８に１以上の作業負荷をダウンロードしうる。同時にクライアント・システム１０８に所在するエージェントがそのクライアント・システム１０８にダウンロードされた作業負荷または多数の作業負荷を処理するために動作しうる。それゆえ、エージェントは任意の数のプロジェクトに対して、１を超える作業負荷を同時に管理しうることに留意されたい。作業負荷が完了すると、エージェントがクライアント・システム１０８の所有者またはユーザーに結果を通信で送り返せることを知らせる。次に、クライアント・システム１０８はサーバー・システム１０４に結果をアップロードし、希望すれば新しい作業負荷をダウンロードしうる。代わりに、これらの補給面と運用面の相互作用がエージェントおよび（または）サーバー・システム１０４の制御により自動的に行われる。
【００２３】
図２Ｂは本発明に基づくクライアント・システム１０８内の処理要素についてのブロック線図である。この線図では、クライアント・システム１０８をパーソナル・コンピューターであると想定している。パーソナル・コンピューターでは、内部バス２６０が一般にそれに接続された多様な装置を有する。例えば、ＣＰＵ２５０がバス２６０を通じて、ビデオ・プロセッサー２５２、浮動小数点プロセッサー２５４（多くの場合、ＣＰＵ自体に内蔵）、デジタル信号プロセッサー（ＤＳＰｓ）（音響基板およびモデムに見られるようなもの）に接続できる。さらに、他の各種処理装置２５８も含めることができる。さらに、ディスク記憶能力を提供するＨＤドライブ２６４、デジタルカメラ２６２のような他のタイプの装置も接続しうる。
【００２４】
それゆえ、クライアント・システム１０８、１１０・・・１１２に対する能力は考えられる計算、処理、記憶、および、ネットワーク１０２接続システムに接続される他のサブシステムまたは装置の全範囲に亘ることに留意されたい。例えば、これらのサブシステムまたは装置に含まれるものは：中央処理ユニット（ＣＰＵｓ）、デジタル信号プロセッサー（ＤＳＰｓ）、画像処理エンジン（ＧＰＥｓ）、ハードディスク・ドライブ（ＨＤｓ）、メモリー（ＭＥＭ）、音響サブシステム（ＡＳｓ）、通信サブシステム（ＣＳｓ）、リムーバル・メディア・タイプ（ＲＭｓ）、および、潜在的に有用だが不使用の能力を持つ他の付属品（ＯＡｓ）である。要するに、ネットワーク１０２に接続された一定のコンピューター・システムに対して、そのシステムがその直接の作業を達成するために使用しうる種々の能力が存在する。しかしながら、一定時間にこれらの能力の一部のみが、一般にクライアント・システム１０８、１１０・・・１１２で使用されるにすぎない。本発明はこれらの不使用の能力を利用できる。
【００２５】
作業負荷を受信すると共に、クライアント・システム１０８は作業負荷の完了を管理するエージェントも受信することも示されている。このエージェントは特定のコンピューター・システムとそのクライアント・システム１０８の処理能力をカスタマイズするソフトウエアとしうる。例えば、クライアント・システムが図２Ｂに示すパーソナル・コンピューターである場合、エージェントはコンピューターのオペレーティング・システムのバックグラウンドで動作するプログラムとしうる。エージェントが不使用の処理能力または他の能力があると決定したとき、そのエージェントはそれを利用する。例えば、ユーザーが文書を作成するためにワード・プロセッシングのアプリケーションを使用している場合、ワード・プロセシングのプログラムが用いる処理能力は小さいので、コンピューターのＣＰＵおよびビデオ・プロセッサーは不十分な利用状態になっている。それゆえ、エージェントは遊休サイクル中にこれらのプロセッサーへの命令を実行できる。この方法で、エージェントは少ない時間で作業負荷の処理を完成しやすくする。さらに、このエージェントはサーバー・システム１０４に接続した時点で自己更新をして、そのエージェントが最新版のソフトウエアと作業負荷活動に更新をし続ける。さらに、エージェントが複数の作業負荷について同時に作業を管理して、ネットワーク１０２に接続された一定の分散装置が一定時点で複数の作業負荷について作業できるようにする。
【００２６】
図２Ｃは、例示的クライアント・システムのエージェント２７０に対するブロック線図である。エージェント２７０にはそのエージェントによりクライアント・システム１０８のインターフェースを制御するセキュリティ・サブシステム２７２が含まれる。セキュリティ・サブシステム２７２は作業負荷のセキュリティを確保し、作業負荷を完成するのに、セキュリティ問題を生じないようにクライアント・システム１０８を保護するの役立つ。例えば、クライアント・システム１０８がエージェントの動作により作業負荷を処理している間、エージェント２７２はクライアント・システム１０８へのウイルス攻撃を防止する。それゆえ、セキュリティ・サブシステム２７２は作業負荷１３０とその結果１３２に対するインターフェースを提供する。
【００２７】
さらに、クライアント・システムのエージェント２７０には、作業負荷エンジン２７４、統計／ユーザー・インターフェース／インセンティブ広告のブロック２７６、および、作業負荷パッケージおよび更新処理ブロック２７８が含まれる。図２Ｃに示す例の中で、作業負荷１３０がセキュリティ・サブシステム２７２を通り、ライン２８０に沿って作業負荷パッケージおよび更新処理のブロック２７８に送られる。このブロック２７８で、エージェント２７０をサーバー・システム１０４により更新しうる。代わりに、エージェント２７０は、サーバー・システム１０４に接続したとき、更新する必要があるかどうかを決定してからその更新を自動的に行う。作業負荷パッケージを処理すると、作業負荷エンジン２７４が、ライン２８８に沿って作業負荷を受信する。作業負荷エンジン２７４は作業負荷について仕事をし、最終的に、その作業負荷を完了する。次に、作業負荷の結果または状態をセキュリティ・サブシステム２７２を通じてライン２８２に沿って送る。次に、結果１３２はサーバー・システム１０４に送り返される。
【００２８】
統計／ユーザー・インターフェース／インセンティブ広告のブロック２７６は作業負荷、インセンティブおよび他の統計値、さらに、他の希望のインターフェース機能を、そのクライアント・システムのユーザーに提供する。例えば、ブロック２７６は、システムの能力に基づいて作業負荷の仕事をクライアント／システムが完了するのにかかる処理時間の予想量をユーザーに示せる。さらに示されているように、ブロック２７６はライン２８６および２８４に沿って作業負荷パッケージおよび更新処理のブロック２７８から、および、作業負荷エンジン２７４からの情報を受ける。希望する場合、セキュリティ・サブシステム２７２からのセキュリティ情報もクライアント・システムのユーザーに表示できる。クライアント・システムのユーザーに表示される情報は、本発明を逸脱せずに希望に応じて修正し、選択できる。
【００２９】
インセンティブ広告に関連して、ブロック２７６はクライアント・システムのユーザーに対し、マイクロプロセッサーの高速化、メモリーの増大、ディスク記憶スペースの拡張等のようなクライアント・システムの能力で考えられる種々の改善により、この処理時間がどのように変化するかについても示せる。さらに、クライアント・システムの能力が参加を求めるクライアント・システムに提供されるインセンティブに関連させて示される。それで、ユーザーが取得できる他のコンピューター・システムまたは能力の改善によりユーザーのインセンティブがいかに増大または変化するかについての情報をユーザーに提供しうる。このインセンティブの数値増加を特定販売者の装置への更新に結びつけることもできる。例えば、ユーザーの装置がＡＢＣマイクロプロセッサーを有するコンピューター・システムである場合、ブロック２７６は、より強力なＡＢＣマイクロプロセッサーに更新した場合のインセンティブの数値増加についてユーザーに情報を提供しうる。同様に、ユーザーの装置がＡＢＣから入手したコンピューター・システムである場合、ブロック２７６は、より強力なＡＢＣコンピューター・システムに更新した場合のインセンティブの数値増加に関する情報をユーザーに提供しうる。
【００３０】
図２Ｄは、本発明に基づくインセンティブ広告を含めたクライアント・システムのエージェントに対する例示的ユーザー・インターフェース２７６である。示された例の中で、インターフェース２７６は分散した装置、例えば、コンピュータ・システムに表示されるウインドウ２３０である。このウインドウ２３０はエージェント・クライアント・マネージャーに対する希望の情報を表示する。上記のように、このエージェント・クライアント・マネージャーは最初サーバー・システム１０４からダウンロードされ、その後、クライアント・システムがサーバー・システムと通信しているときに、種々の時点で更新しうる。示すようにインターフェース２７６にはインターフェース・タブ２２１、２２２、２２４、２２６、２２８、２４４、２４６、２４８が含まれる。これらのインターフェース・タブは、例えば、ウインドウ２３０を図的に表示しているコンピューター・システムに接続したポインティング装置またはキーボードのユーザーにより選択しうる。インターフェース・タブ２２１、２２２、２２４、２２６、２２８、２４４、２４６、２４８は例示にすぎず、タブの数、配置、内容は希望に応じて変更しうる。さらに、図２Ｄに示した例示的ユーザー・インターフェース２７６は一例に過ぎず、希望に応じて変更しうる。
【００３１】
図２Ｄで、プロセッサー数値のインターフェース・タブ２２４がユーザーにより現在選択されたものである。このタブ２２４（プロセッサー数値）にはユーザーに表示される例示的情報が含まれている。エージェント・クライアント・マネージャーにより作業負荷が処理されていることを想定して、ユーザーはボタン２４２（マイ・インセンティブ数値を示す）を選択して、実施する作業負荷と関連したユーザーの現在のインセンティブ数値を示す。そして、パーソナル・インセンティブ数値のチャート２３２（マイ・インセンティブ数値）がユーザーに示される。示されているように、インセンティブ数値は１から１０までの相対目盛で示される。表示の説明２４０がユーザーの現在の中央処理ユニット（ＣＰＵ）またはマイクロプロセッサーに伴うインセンティブを示している。
【００３２】
上記のように、このインセンティブ情報は、ユーザーのＣＰＵの特定販売者、例えば、ＡＢＣ会社のＣＰＵに結びつけることもできる。それゆえ、示されているように、表示の説明２４０（私の現在のプロセッサー）と対応する棒グラフの部分２３６はユーザーの現在のＣＰＵ（例えば、１６６ＭＨｚのプロセッサー）に対するインセンティブを示している。表示の説明２３８は、ユーザーがＣＰＵを更新した場合、ユーザーが持つと予測されるインセンティブを示している。従って、この更新によるインセンティブの情報をユーザーのＣＰＵの特定販売者に、または、希望する場合、他の販売者に結びつけられる。それで、示すように、表示の説明２３８（ＮＥＷ ＡＢＣ １ＧＨｚ ｐｒｏｃｅｓｓｏｒ！）および対応する棒グラフの部分２３４が新しいＡＢＣのＣＰＵ（例えばＡＢＣの１ＧＨｚプロセッサー）に更新した場合のインセンティブを示している。このようにして、分散した装置の能力を強化するためのインセンティブをユーザーに示せる。そして、ユーザーが特定の更新をするようにし向ける広告を販売者に提供できる。
【００３３】
さらに、図２Ｄを見ると、分散した装置の任意の希望する能力について、他の同様のインセンティブを関連させた情報タブを提供しうる。例えば、タブ２４６（メモリー数値）は、分散した装置のメモリー容量に対して提供される情報を示す。タブ２２２（グラフィック数値）は分散した装置のグラフィックス能力に対して提供される情報を示す。タブ２２６（通信数値）は分散した装置の通信能力に対して提供される情報を示す。タブ２２８（記憶数値）は分散した装置の記憶能力に対して提供される情報を示す。タブ２４８（システム数値）は分散した装置の全体的システム能力に対して提供される情報を示す。
【００３４】
これらのインセンティブ関連の情報タブに加えて、エージェント・クライアント・マネージャーの希望する機能に対する情報とコントロールを提供するために、他のタブが含まれている。例えば、タブ２４４（現在：素数サーチ）は、エージェント・クライアント・マネージャーが実行している現在の作業負荷例えば大素数のサーチについて、ユーザーに表示する情報を示している。タブ２２１（設定）はクライアント・エージェント・マネージャーに対する各種設定についてユーザーに表示する情報を示している。特に、タブ２２１は、エージェント・クライアント・マネージャーの動作の希望する側面を制御する能力をユーザーに提供する。例えば、ユーザーは使用される能力の部分（例えば、システムのメモリーの最大２０％）、実行すべき作業負荷のタイプ（例えば、科学的研究プロジェクトのみ）、エージェントがシステム資源を利用する時期（例えば、１２時から午前６時の間のみ、または、システムが遊休の時のみ）、または、他の希望する運用特性を選択できる。上記のインセンティブ情報の更新に加えて、ユーザーがエージェント・クライアント・マネージャーに対する設定の割当てまたは変更をした場合、インセンティブがどのように増加するかの情報もユーザーに提供しうることに留意されたい。
【００３５】
この運用特性のユーザー選択により、作業負荷について、ユーザーの入力と希望に基づいてスケジュール作成またはバランスを図れる。上記のように、これらのユーザー・ベクトルにより、ユーザーはその装置能力を特定研究プロジェクト（がん、パーキンソン病、インターネット、遺伝子、宇宙科学等）に、特定の非営利または営利の組織（Ｇｒｅｅｎｐｅａｃｅ， Ｃｅｌｅｒａ， ｅｔｃ． ）、教育機関（テキサス大学）、同好のユーザーの特定グループまたは他の任意の存在または努力に寄進できる。この提携先の選択により、分散処理システムがユーザーの装置能力を選んだ提携先に寄進するプール内に自動的に含めることができる。さらに、ユーザーは多数の提携先の間で装置能力の種々のパーセンテージと配分を組み合わせるように選択できる。ユーザーは提携先の選択を行う必要はなく、かつ、１００パーセントの装置能力を配分する必要がないことに留意されたい。むしろ、装置能力の一部のみを特定提携先に配分し、残りを配分せず、また、提携先無しで残して良い。さらに、能力配分は全装置能力の希望パーセントのようにシステム全域（即ちコース）配分でも良い。さらに、能力配分は、特定サブシステムの能力を特定提携先に配分するようなサブシステム別（即ち、細分）配分でも良い。
【００３６】
ここで、図３Ａを見ると、サーバー・システム１０４は、クライアント・システムの能力を特定し、作業負荷を組織化し、希望のタスクを達成するためにクライアント・システムを用いるために動作する１以上のコンピューター・システムで良い。サーバー・システム１０４には、以下で論じるように制御システム３０４、作業負荷データベース３０８、懸賞システム３０６が含まれる。作業負荷データベース３０８は希望のプロジェクト・タスクを記憶するが、このタスクはエレメント３３６、３３８・・・３４０により代表される離散作業負荷タスクＷＬ１、ＷＬ２・・・ＷＬＮに分割しうる。作業負荷データベースは、標準作業負荷に対するクライアント・システム能力を決定するのに使用できる１以上のベンチマーク作業負荷（ＢＷＬ）３３５も記憶しうる。ライン３１２を通じて、作業負荷データベース３０８は制御システム３０４と通信する。例えば、制御システム３０４はオリジナルの作業負荷３２２を受信し、それをライン３２６を通じてインターフェース３２０に伝送する。そして、インターフェース３２０は作業負荷３２２をネットワーク１０２にライン１１４を通じて伝送する。図２Ａで示すように、クライアント・システム１０８、１１０または１１２が、この作業負荷３２２を最終的に作業負荷２０４として受信する。その結果３２４は最終的に制御システム３０４がインターフェース３２０とライン３２８を通じて受信する。
【００３７】
作業負荷の配分で、制御システム３０４はクライアント・システム１０８、１１０，１１２の能力を検討し、それに、制御システム３０４が作業負荷を送る。例えば、クライアント１０８がクライアント１１０より処理能力が高い場合、制御システム３０４はより困難なまたは大きな作業負荷を配分し、送る。それゆえ、クライアント１０８がＷＬ１ ３３６とＷＬ２ ３３８を受ける一方で、クライアント１１０がＷＬ３のみを受ける。代わりに、作業負荷データベース３０８は各作業負荷に対する種々のレベルの処理能力または能力要件により組織化できる。それで、ＷＬ１ ３３６の処理またはシステムの能力要件がＷＬ２ ３３８より大きい。作業負荷は処理タスク、データ記憶タスクにでき、または、クライアント・システム１０８、１１０・・・１１２で使用しうる他の種々の能力と結びつけることも指摘すべきである。
【００３８】
上記のように、クライアント・システムの所有者またはユーザーが彼らのシステム能力を制御システム３０４に使用させるように求めるため、インセンティブ・システムを使用しうる。このインセンティブ・システムは希望通りに設計しうる。クライアント・システムが分散処理システムに参加するために署名したとき、クライアント・システムが分散処理システムのための作業負荷を完了した時または、処理中の他の時に、インセンティブをクライアント・システムのユーザーまたは所有者に提供しうる。さらに、インセンティブを、クライアント・システムの能力に基づいても、クライアント・システムの能力について標準的評価を行えるベンチマーク作業負荷に基づいても、または、他の希望の基準に基づいても良い。
【００３９】
ベンチマーク作業負荷のひとつの例示的使用はインセンティブ数値を決定するためにベンチマーク作業負荷を利用することである。例えば、サーバー・システム１０４は１時間に１回標準のベンチマーク作業負荷を各クライアント・システム１０８、１１０・・・１１２に送るように設計しうる。もし、クライアント・システムがその時点に何らかの理由で利用可能でなければ、その作業負荷はそのクライアント・システムによって完了していないだろう。そして、そのクライアント・システムに対するインセンティブ数値は発生していないだろう。この例では、ベンチマーク作業負荷は、測定を希望するクライアント・システム内の能力を用いて各サブシステムを行使する期限付き作業セットであろう。そして、能力の低いクライアント・システムと比較して、能力の高いクライアント・システムはベンチマーク作業負荷の実行により大きなインセンティブ数値を発生する。希望する場合、クライアント・システムがその努力に対してどんな報酬を得るべきかを決定するのに、これらのインセンティブ数値を使用しうる。例えば、さらに以下で論じるように、インセンティブが懸賞である場合、その懸賞内のエントリー数をそのシステムによるベンチマーク作業負荷の業績に結び付けられる。それゆえ、クライアント・システムによるベンチマーク作業負荷の実行が早いほど、または、良いほど、そのクライアント・システムは多くのエントリーを受取る。
【００４０】
図３Ａに示す実施例では、サーバー・システム１０４には、制御システム３０４と共に機能する懸賞システム３０６が含まれ、クライアント・システム１０８、１１０、１１２のユーザーまたは所有者に対するインセンティブを提供し、そのシステム能力をサーバー・システム１０４が利用できるようにしている。制御システム３０４は懸賞エントリー数値３０２を決定し、ライン３１０に沿って懸賞システム３０６に送る。そして、懸賞システム３０６は懸賞エントリー３３２を受け、それをライン３３４を通じて懸賞エンジン３３０に供給する。懸賞エンジン３３０はそのエントリーを処理し、希望するときに勝利者を決定する。それゆえ、示されている実施例では、懸賞に対するエントリーは、１単位の作業がクライアント・システム１０８、１１０または１１２内の１以上のサブシステムにより完成するたびに、作業単位の管理と完了をする目的でその装置にインストールされているエージェントを介して発生しうる。それゆえ、任意の期間のエントリー合計は受取った数に依存して時間的に変動する。そして、当選のオッズは受取ったエントリー合計数および一定の新規加入に寄与したエントリー合計数により決定される。
【００４１】
図３Ｂは本発明に基づく分散処理システム３００の他の例示的ブロック線図で、サーバー・システム１０４、カストマー・システム１５２、クライアント・システム１３４、下請けホスト・システム３４０を含む。サーバー・システム１０４には分析サブシステム３４６、結果／作業負荷作成サブシステム３４４、プロジェクト前処理サブシステム３４２、クライアント・エージェント・サブシステム３４３、インセンティブ広告サブシステム３４５が含まれる。インセンティブ広告サブシステム３４５は広告情報、例えば、図２Ｄに関連して論じているように更新インセンティブ情報を提供するように動作しうる。クライアント・エージェント・サブシステム３４３はクライアント・システム１３４にエージェントをダウンロードし、かつ、サーバー・システム１０４がクライアント・システム１３４と通信する時点でこのエージェントを更新するように動作しうる。
【００４２】
カストマー・システム１５２は分散処理システムによる処理を希望するプロジェクトを有するカストマーを代表し、サーバー・システム１０４にプロジェクトを提供するためにプロジェクト前処理サブシステム３４２に接続する。これらのプロジェクトはプロジェクト前処理サブシステム３４２により処理されて、結果／作業負荷作成サブシステム３４４に渡す。結果／作業負荷作成サブシステム３４４は作業負荷１３０を作成し、送り出し、結果１３２を送り返す。そして、分析サブシステム３４６は結果を受取って、希望する場合はその結果を処理する。そして、完了したプロジェクトの情報は分析システム３４６からカストマー・システム１５２に供給される。この方法で、本発明の分散処理システムにより、カストマー・システム１５２のプロジェクトを処理し、かつ、プロジェクトの結果を報告する。
【００４３】
さらに、示されているように、作業負荷１３０と結果１３２またはサーバー・システムの他のタスクは、希望する場合、下請けホスト・システム３４０により処理され、扱われる。それゆえ、作業負荷１３０の一部または全てが最初に下請けホスト・システム３４０に送られる。次に、下請けホスト・システム３４０は作業負荷１３０Ａをクライアント・システム１３４に送り、結果１３２Ａを受取る。さらに、下請けホスト・システム３４０は結果１３２をサーバー・システム１０４に送り返す。サーバー・システムのタスクをこのように外注することは希望する場合、サーバー・システム１０４が保有する任意のタスクについて行えることに留意されたい。さらに、希望する場合、サーバー・システム１０４は外注ホスト・システム３４０を利用しないために、サーバー・システム１０４の希望の機能を全て実行できることに留意されたい。
【００４４】
図３Ｃは本発明に基づくサーバー・システムのプロセッサー３５０の一実施例のブロック線図である。エージェント抽出レイヤ３６０は作業負荷１３０を送り、結果１３２を受取る。セキュリティ・サブシステム３５４はエージェント抽出レイヤ３６０と相互作用をし、情報をデータ・パーサー３５２とアプリケーション・プログラミング・インターフェース（ＡＰＩｓ）のブロック３５６に供給する。ＡＰＩｓブロック３５６、データ・パーサー３５２および作業負荷マネージャー３５８は相互作用をして、サーバー・システムのプロセッサー３５０のために希望のタスクを達成する。この実施例の場合、ＡＰＩプロトコールを制御して、他のホスト・システムに提供しうることに留意されたい。
【００４５】
図３Ｄは本発明に基づくサーバー・システムのプロセッサー３５０に対する代わりのブロック線図である。この実施例で、ＡＰＩｓブロック３５６およびエージェント抽出レイヤ３６０は存在しない。データ・パーサー３５２、作業負荷マネージャー３５８およびセキュリティ・サブシステム３５４が相互作用をして、希望のサーバー・システムのタスクを供給する。この実施例で、セキュリティ・サブシステムはクライアント・システムと通信するために制御され、使用されていることに留意されたい。
【００４６】
図４は本発明に基づくシステム・サーバー１０４による懸賞業務４００に対する機能的ブロック線図である。ブロック４０２で、サーバー・システム１０４は「クライアントを受入れ」のブロック４０２でクライアント・システムと契約をする。ライン４１８に沿って、サーバー・システム１０４は「クライアント・システムの能力決定」のブロック４０４の中でクライアントのコンピューターと処理システムの能力を特定する。コントロールはライン４２０に沿って「作業負荷をクライアント・システムに配布」のブロック４０６に送られる。このブロック４０６でサーバー・システム１０４は作業負荷を各クライアント・システム１０８、１１０、１１２に割当てる。この作業負荷は、上記のように、クライアント・システムに対して参加または参加用数値を決定するために参加用作業負荷として機能するベンチマーク作業負荷でも良い。さらに、上記のように、ブロック４０６の中で作業負荷を配布することで、サーバー・システム１０４は作業負荷を配布しているクライアント・システムの能力にも配慮しうる。そして、クライアント・システム１０８、１１０、１１２は彼らに配布された作業負荷を完了するように動作する。ライン４２３に沿って、サーバー・システム１０４は「作業負荷の結果を受取る」のブロック４０８で作業負荷の結果を受取る。
【００４７】
この時点で、コントロールがライン４２４に沿って、「懸賞のエントリー決定」のブロック４１０に送られる。このブロック４１０で、サーバー・システム１０４が完了した作業負荷に対して、または、完了した標準ベンチマークないし参加用作業負荷に対してエントリー数値を決定する。このエントリー数値は、完了した作業量、必要な処理の困難度、結果の正確性のような要因を含む種々の要因に基づく加重係数を加えられる。希望の加重係数を使用しうることに留意されたい。それゆえ、懸賞のためのエントリー数値の加重係数決定には多様な考慮を行えることが認識されている。
【００４８】
加重係数の決定は図４のブロック４１０に示されているけれども、クライアント・システムが本発明の分散処理システムに署名したとき、全体的または部分的にエントリー数値も決定しうる。例えば、クライアント・システムが最新のＣＰＵ、ビデオ・プロセッサー、ＤＳＰエンジン、メモリー、大量のフリー・ディスク記憶スペースを有している場合、このクライアント・システムに高いエントリー数値を一括して割当てて良い。それと対照的に、遅いＣＰＵ、弱いビデオ・プロセッサー、ＤＳＰエンジン無し、小さなメモリー、小さなフリー・ディスク記憶スペースを有するクライアント・システムには小さなエントリー数値を配分しうる。この方法で、クライアント・システムの所有者またはユーザーに、彼らのコンピューター・システム、装置およびシステムの能力に予想しうる懸賞エントリー数値について直ちにフィードバックを行える。
【００４９】
さらに、エントリー数値は希望の形をとれ、例えば、完了した作業負荷の各単位に倍率を使用できることに留意されたい。この方法で、最新のシステムは高倍率になるが、古いシステムであれば、システム能力または装置は低い倍率になることを所有者またはユーザーが容易に認識する。契約時または各作業負荷の完了時に直ちに所有者またはユーザーに連絡するかどうかは別として、そのようなフィードバックは所有者および（または）ユーザーに対して最新のシステムを取得し、それにより、本発明の分散処理システムの潜在的処理能力をさらに高めさせるインセンティブになる。
【００５０】
さらに、種々の作業負荷プロジェクトを種々のエントリー数値も指定しうる。例えば、一部の作業負荷プロジェクトは、クライアント・システムまたは装置内の特別なハードウエアまたはソフトウエア処理システムを必要とするかも知れない。それゆえ、タスクを実行できるクライアント・システムの数は限られているだろう。能力のあるシステムを持つ所有者またはユーザーが参加することをさらに奨励するために、希望の特徴を持つ特定の作業負荷および（または）システムを引き受けるためのエントリー数値には高いエントリー数値が配分されるだろう。
【００５１】
図４を再び参照すると、コントロールがライン４２６に沿って、「エントリーを処理」のブロック４１２に送られる。このブロック４１２で、懸賞のエントリーは希望に基づいて処理され、記憶される。ライン４２８に沿って、「エントリー期間の終了」の決定ブロック４１４は懸賞にエントリーを加える時期が終了したかどうかの決定を示している。もしそうでなければ、コントロールはライン４３０に続いていて、希望する内容によりブロック４０２、４０４および（または）４０６に戻る。エントリー期間が終了していれば、コントロールはライン４３２に沿って「勝利者を決定」のブロック４１６に送られる。そして、サーバー・システム１０４はエントリーの中から当選クライアント・システム（単数または複数）が誰になるかを特定する。
【００５２】
エントリー期間は希望された任意の時間枠であり、希望によっては多数の重複した時間枠が含まれることがある。例えば、勝利者を各一日のエントリーに対して毎日、ひと月のエントリーに対して毎月、および（または）、一年間のエントリーに対して毎年決定しうる。さらに、希望する場合、例えば特に重要な作業負荷プロジェクトを短期間に完成させる必要がある場合、特別エントリー期間を発生することがある。
【００５３】
図１、２Ａ−Ｃ、３Ａ−Ｄ、および４は、本発明に基づく分散処理システムに対する例示的実施例に対するもので、図３Ａおよび図４の実施例に示されているように、懸賞の報酬またはインセンティブ機能が含まれている。
【００５４】
さらに、図６Ａおよび６Ｂは機能のスケジュール作成能力を示していて、その中でサーバー・システム１０４は、作業負荷とプロジェクトをどのように組織化し、配分し、管理するかを決定することで、クライアント・システムの各種能力ベクトルのどれかを特定し、検討しうる。図５Ａおよび５Ｂはネットワーク・サイトの索引作業を完成する分散処理システムおよび作業負荷プロジェクトを示している。図７Ａおよび７Ｂは、サービスの質（ＱｏＳ）試験および負荷試験のようなネットワーク・サイト試験を完成する分散処理システムおよび作業負荷プロジェクトを示している。また、図８は、好ましくは、企業のイントラネットに関連させて、分散データのバックアップを完成する分散処理システムを示している。
【００５５】
図９は、分散処理システムの環境に対する相互接続構造の代替表示であり、遊休クライアント・システムの特定および共有コンポーネントを持つクライアント・システムを示している。図１０はクライアント・システムにインストールされたクライアント・システム・エージェントを示している。さらに、図１１Ａおよび１１Ｂは機械で発生した懸賞へのエントリーを示している。図１２Ａおよび１２Ｂはクライアント能力の選択機能を示している。図１３Ａおよび１３Ｂはデータ変換サービスを示す。図１４Ａはデータ伝送キャッシングを提供する分散処理システムを示している。図１４Ｂはデータ・シェアリングとファイル配布の機能を提供する分散処理システムを示している。また、図１５は本発明に基づく分散処理システムに対する代替的表示を示す。
【００５６】
ここで、図５Ａを見ると、ブロック線図は、本発明に基づくネットワーク・サイトの索引作業アプリケーション用分散処理システム５５０を示している。図１Ａに関連して上記で示したように、ネットワーク１０２は多様なネットワークで良い。このネットワーク・サイトの索引作業アプリケーションに対して、好ましくは、ネットワーク１０２が多数のネットワーク・サイト５５２・・・５５４を有するインターネットで良い。各ネットワーク・サイト５５２・・・５５４は、複雑なサイトから比較的単純なサイトまでの索引対象として多様なタイプのコンテンツを有していて良い。例えば、ネットワーク・サイト５５２にはテキスト５７０Ａ、イメージ５７０Ｂ、オーディオ・ストリーム５７０Ｃ、ビデオ・ストリーム５７０Ｄ、ファイル５７０Ｅおよび他のコンテンツ５７０Ｆが含まれる。ネットワーク・サイト５５４は複雑度が低く、テキスト５７２Ａ、イメージ５７２Ｂおよび他のコンテンツ５７２Ｃが含まれる。両方のネットワーク・サイト５５２および５５４がそれぞれ通信ライン５５８および５５６を通じてネットワーク１０２に接続している。
【００５７】
上記のように、サーバー・システム１０４は、クライアント・システム１０８、１１０・・・１１２に対する作業負荷を管理している。クライアント・システム１０８、１１０・・・１１２はこれらの作業負荷を処理し、索引作業の結果を生み出す。得られた索引は、中央索引記憶ブロック５６０のような中央で管理するサイトで記憶しうる。または、リモート索引記憶のブロック５６２、５６４・・・５６６により示されているように、それ自体を潜在的に数百万の索引作業クライアント１０８、１１０・・・１１２に分散しうる。リモート索引記憶を用いる場合、マスター・データーベースのコンテンツ索引をローカル的に、例えば、中央索引記憶ブロック５６０に記憶しうる。そしてこのコンテンツ索引はサーチ質問について分散大量平行エンジンに対し関連サーチを行える。
【００５８】
ここで、図５Ｂを参照すると、本発明に基づくネットワーク・サイト索引作業の動作５００に対する機能ブロック線図を示す。他のシステム１０６に関連させて図１Ａに示すように、ネットワーク１０２に接続した任意の数のコンピューターおよび処理システムがある。これら他のシステム１０６のどれかはネットワーク１０２に接続した他のシステムがアクセスできるようにネットワーク１０２に情報を公開している。索引作業をすべきこの情報は多様な形態をとれて、例えば、テキスト、イメージ、オーディオ・ストリーム、ビデオ・ストリーム、データベース、スプレッドシート、ＰＤＦファイル、ショックウエーブ・データ、フラッシュ・データ、アプリケーション、データ・ファイル、チャット・ストリームまたは他の情報、ネットワーク・サイトにアクセスできるデータまたはデータ・ストリームを含む。本発明のこの分散処理システムは、作業負荷として、この潜在的に大量の情報の索引作業のタスクを有する。
【００５９】
例えば、ネットワーク１０２がインターネットまたは大規模イントラネットである場合、情報の正確で、完全で、最新の索引を作成するのには、大量の処理能力および時間を必要とする。インターネットはインターネットを回るトラフィックを指示するためにＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）アドレス・プロトコールを用いている。ＩＰアドレスはＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）ネットワークに接続したコンピューターのアドレスである。ネットワーク上の全てのシステムが独自のＩＰアドレスを持つ。ＩＰアドレスは一般にピリオドにより分離された４組の数字として書かれる。ＴＣＰ／ＩＰパケットはＩＰアドレスを含むために３２ビットを用いている。ＩＰアドレスはネットワークとホストのアドレス（ＮＥＴＩＤおよびＨＯＳＴＩＤ）で作られる。ネットワーク・アドレスに用いられるビットが多いほど、ホストに残されるものが少なくなる。独自のアドレスを持つ特定のウエッブ・サイト内のウエッブ・ページは、そのウエッブ・サイトに関するＵＲＬ（Ｕｎｉｆｏｒｍ Ｒｅｓｏｕｒｃｅ Ｌｏｃａｔｏｒ）を通じて呼び出せる。要するに、ＵＲＬによりインターネット・サイトとウエッブ・ページの索引を作成するために、アクセスし、分析して、独自に特定できるインターネット・サイトに対して、限られた数であるが、非常に多数の潜在的ＩＰアドレスがある。
【００６０】
図５Ｂの動作線図は「クライアントが索引作業の作業負荷を受取り」のブロック５０２でスタートする。このブロックで、システム・サーバー１０４はクライアント・システム１０８、１１０・・・１１２にネットワーク１０２にアクセスできる情報の一部について索引を作る作業負荷タスクを供給する。例えば、インターネットで、各作業負荷は、単一のＩＰアドレスまたはＵＲＬのグループまたは、ある場合に、単一のサイトまたはページに含まれる大データのタイプで良い。ライン５１４に沿って、「クライアントが他のシステムと相互作用」のブロック５０４は、割当てられた作業負荷に基づいて、ネットワーク・サイトにアクセスするため、また、そのサイトでアクセスできる情報の索引作業をするため、クライアント・システム１０８、１１０・・・１１２にインストールされたエージェントの動作を示している。この索引作業には、テキスト、オーディオ、イメージ、ビデオ等を含めて、そのサイトにアクセスできる全てのタイプの情報を含めて良い。
【００６１】
次に、ライン５１６および５１８に沿って、クライアント・システム１０８、１１０、１１２が作業負荷のタスクを完了し、その結果を伝送できるようにして、これらの結果を「クライアントが作業負荷を完了」のブロック５０６と「索引作業の結果をサーバー・システムに送る」のブロック５０８の中のシステム・サーバー１０４に送り返す。コントロールはライン５２０に沿って「使用のために索引を編集」のブロック５１０に送られる。このブロック５１０はサーバー・システムがその結果を使用するためにフォーマットおよび（または）編集をする。例えば、索引作業の結果はネットワーク１０２にとって正確で、完全で、最新のサーチ情報にするために用いられる。図５Ａに関連して示されているように、得られた索引はライン５２２に沿ってリモート的におよびローカル的に記憶しうる。それゆえ、エレメント５２４は索引のリモート記憶を代表し、エレメント５２６は索引の中央記憶を代表する。希望する場合、索引は中央とリモートの記憶の混合でも記憶しうることに留意されたい。さらに、上記のように、得られた索引に対するディレクトリーまたはサマリーの索引を作成し、希望すれば中央で記憶する。さらに、サマリーの索引を他の希望の形で記憶しうることに留意されたい。例えば、いくつかのクライアント・システムに分散して、記憶しうる。
【００６２】
図６Ａは本発明に基づくサーバー・システム１０４に対するブロック線図であり、制御システム３０４、作業負荷データベース３０８、能力ベクトルのデータベース６２０が含まれる。作業負荷データベース３０８には、種々のセットの作業負荷プロジェクトＷＬ１、ＷＬ２・・・ＷＬＮが含まれる。各作業負荷プロジェクトについて、多数の作業負荷ユニットがありうる。例えば、ＷＬ１には作業負荷ユニットＷＬ１１、ＷＬ１２・・・ＷＬ１Ｎが含まれ、それぞれがエレメント６４０、６４２・・・６４４により代表されている。同様に、作業負荷プロジェクトＷＬ２には作業負荷ユニットＷＬ２１、ＷＬ２２・・・ＷＬ２Ｎが含まれ、それぞれがエレメント６４６、６４８・・・６５０により代表されている。作業負荷プロジェクトＷＬＮには作業負荷ユニットＷＬＮ１、ＷＬＮ２・・・ＷＬＮＮが含まれ、それぞれがエレメント６５２、６５４・・・６５６により代表されている。
【００６３】
作業負荷データベース３０８の中では種々の作業負荷プロジェクトＷＬ１、ＷＬ２・・・ＷＬＮが多様な処理要件を必要としている予想される。それゆえ、作業負荷プロジェクトにとって良好で、直接的な資源を得るために、クライアント・システムが処理時間、および、他のシステムないし装置能力をサーバー・システムに提供することで契約した時、サーバー・システムは種々のシステム・ベクトルにアクセスできる。この能力のスケジュール作成はプロジェクトの運用と完了を容易にするのに役立つ。この点で、能力ベクトル・データベース６２０が、それぞれエレメント６２８、６３０・・・６３２により代表される能力ベクトルＣＢＶ１、ＣＢＶ２・・・ＣＢＶＮ内のクライアント・システムないし装置の希望する機能の追跡を続ける。そして、これらの能力ベクトルを能力バランス作業負荷へのライン６２６を通じて、制御システム３０４が使用しうる。
【００６４】
それゆえ、本発明に基づくこの能力のスケジュール作成により、本発明の分散処理システムの有効な管理を行える。この能力のスケジュール作成および配布は処理を最大限にし、問題のある作業負荷にタイムリーに対応し、必要なとき、冗長係数を計算するのに役立ち、全体として、本発明の分散処理計算システムの最適化に役立つ。以下の表１は使用しうる能力ベクトルまたは要因のリストを示す。このリストは例示的リストであり、希望する場合、任意の数のベクトルまたは要因が特定され、使用されることに留意されたい。
【００６５】
【表１】
2004513406.tif 000003
【００６６】
【表２】
2004513406.tif 000004
【００６７】
【表３】
2004513406.tif 000005
【００６８】
図６Ｂは、本発明に基づく分散処理システム内の作業負荷のための能力決定およびスケジュール作成の作業６００に対する機能的ブロック線図である。最初に、「クライアント・システムの能力ベクトルを特定」のブロック６０２内で能力情報を希望されている種々のベクトルを特定する。次にライン６１２に沿って、サーバー・システム１０４が「ベクトルに基づく能力予定作成の作業負荷」のブロック６０４内の能力ベクトルに基づいてクライアント・システム１０８、１１０、１１２の間の作業負荷の能力バランスを図る。次に、「能力予定による作業負荷を送る」のブロック６０６内で処理するために、能力予定作成の作業負荷をクライアント・システムに送る。
【００６９】
システム関連のベクトルに基づいた能力のスケジュール作成および管理により資源を効果的に使用できる。例えば、オペレーティング・システムまたはソフトウエアのベクトルを用いることで、作業負荷のスケジュール作成または管理をし、それにより希望のハードウエアおよびソフトウエアの構成が使用される。多くの場合、ソフトウエア・バージョンが異なると能力が異なるので、ソフトウエア・ベクトルに基づくスケジュール作成は有用であろう。例えば、ＭＩＣＲＯＳＯＦＴ ＷＩＮＤＯＷＳ ’９５と比較して、ＭＩＣＲＯＳＯＦＴ ＷＩＮＤＯＷＳ ’９８には種々の追加的機能およびサービスが含まれている。特定クライアント・システムの装置で扱われるべき特定作業負荷に対して、これらの追加的機能またはサービスのどれかが望まれることがある。さらに、ソフトウエアおよびオペレーティング・システムのベクトルにより、カストマーが特定作業負荷を処理することを希望して、多様なソフトウエア構成を選択できる。これらの多様なソフトウエア構成は、例えば、ソフトウエアの試験を望む場合に有用であろう。それゆえ、本発明の分散処理システムを新しいソフトウエア、データ・ファイル、ＪＡＶＡプログラムまたは多様なハードウエア・プラットフォーム上の他のソフトウエア、ソフトウエア・プラットフォーム、ソフトウエア・バージョンを試験するために使用しうる。例えば、ＪＡＶＡプログラムは多様なオペレーティング・システムおよびパーソナル・コンピューター、携帯装置等のようなマシンのタイプと関連した多様なＪＲＥ （Ｊａｖｅ Ｒｕｎｔｉｍｅ Ｅｎｇｉｎｅｓ） で試験しうる。
【００７０】
カストマー・システムでの展望に基づいて、能力管理および能力データベースさらに分散した装置のユーザーに関する情報が、それによりカストマーが関心を持つ特定のハードウエア、ソフトウエア、ユーザーまたは他の構成を選択する手段を提供する。言い換えると、本発明の大量平行分散処理システムを用いることで、分散した装置のユーザーに関する情報を含めて、多様で、選択可能な分散した装置の属性を、カストマーが処理または配布しなければならないプロジェクト、広告または他の情報または活動に関連してカストマーに提供しうる。
【００７１】
例えば、カストマーは、それらの分散した装置のユーザーに対して、特定装置の機能または特性のような一定の属性を持つ分散した装置に対する一定の物品またはサービスについて広告することを希望することがある。選んだ属性に基づいて、広告メッセージの受取り対象として一セットの分散した装置を特定しうる。これらのメッセージはブラウザ、クライアント・エージェントまたは分散した装置で直接的にまたは遠隔的に機能する他のソフトウエアを通じて分散した装置のユーザーに表示される。それゆえ、カストマーは特定の広告メッセージについて、特定のマシン、特定装置またはユーザーの属性をターゲットとしうる。例えば、特定の人口統計情報に該当するユーザーを特定広告のターゲットとしうる。他の例として、パーソナル・コンピュータであるクライアント・システム上で動作しているクライアント・エージェントが、多くのページ欠陥を生じているシステムを（即ち、ページ数の欠陥のようなオペレーティング・システムの健全性機能を追跡することにより）決定しうる。多数のページ欠陥はメモリー不足の指標である。それゆえ、メモリー製造企業はメモリー増強のバナーまたは広告について、そのようなシステムをターゲットにできる。
【００７２】
さらに、カストマーが特定タイプの装置、特定のハードウエア・プラットフォーム、特定のオペレーティング・システム等で作業負荷を実行することを希望する場合、そのカストマーはこれらの機能を選択し、それにより、プロジェクト作業負荷を送るべき分散クライアント・システムの部分集合を選択しうる。例えば、そのようなプロジェクトとは、カストマーがＡＭＤ ＡＴＨＬＯＮマイクロプロセッサーを持つパーソナル・コンピューターで第一組のシミュレーションを、また、ＩＮＴＥＬ ＰＥＮＴＩＵＭ ＩＩＩマイクロプロセッサーを持つパーソナル・コンピューターで第二のシミュレーションを実行しようと希望する場合であろう。代わりに、カストマーがそのプロジェクトのための特定構成に関心がない場合、カストマーはプロジェクト作業負荷を処理するためにランダム数の分散した装置を求めるだけで良い。
【００７３】
そこで、分散処理に対するカストマーの設定価格は希望する場合特定カストマーが希望する特異性のレベルに結びつけられる。例えば、カストマーは１０，０００台のランダム分散した装置のブロックと基本金額で契約しうる。後で、カストマーは、プロジェクト処理のためにいくつかの装置を選択することで、１以上の能力ベクトルを用いて追加的または別の価格を決定しうる。さらに、カストマーは、いくつかの分散した装置に対して、そのプロジェクト作業負荷の処理だけの専用とすることを要求しうる。要するに、本発明に基づいて、装置能力およびユーザー情報を含む装置属性が特定されると、接続されていて、分散している装置に対して装置属性に基づいて、カストマーからのいくつかの提供を行える。装置能力およびユーザー情報を使用しやすくするために、上記のようにデータベース内に能力ベクトルおよびユーザー情報を記憶し、組織化すれば良いことに留意されたい。
【００７４】
ここで、図１２Ａを参照すると、ブロック線図は、カストマーが、本発明に基づく装置能力およびユーザー特性のようなクライアント・システムの属性を選択できる分散処理システム１２００を示している。この実施例で、ネットワーク１０２は、サーバー・システム１０４，カストマー１５２Ａ、カストマー１５２Ｂ、クライアント・システム１２０２Ａ、１２０２Ｂ・・・１２０２Ｃが接続されたインターネットとして示されている。これらのシステムはそれぞれ通信リンク１１４、１１９Ａ、１１９Ｂ、１２０４Ａ、１２０４Ｂ、１２０４Ｃを通じて接続されている。上記のように、これらの通信リンクには、システムと他の接続されているシステムとを接続するように多様な装置および（または）通信技術のどれかを含めることがある。
【００７５】
図１２Ａに示すように、また、上記のように、カストマー１５２Ａおよび１５２Ｂは、特定のまたは選択した能力を有するクライアント・システムのグループに対して、広告（ＡＤＶ）１２０６Ａおよび１２０６Ｂおよび（または）プロジェクト（ＰＲＯＪ）１２０８Ａおよび１２０８Ｂのような情報またはプロジェクトを送るように希望しうる。種々のグループのクライアント・システムの数はそれらのクライアント・システムが利用できる能力およびユーザー・データと同様に変化する。クライアント・システム１２０２Ａは希望の属性の第一セット（セット１）を含むクライアント・システムを示している。クライアント・システム１２０２Ｂは、希望の属性の第二セット（セット２）を含むクライアント・システムを示している。また、クライアント・システム１２０２Ｃは希望の属性のＮ番目のセット（セットＮ）を含むクライアント・システムを示している。属性が選択されると、カストマー１５２Ａおよび１５２Ｂが希望する場合、それらの属性を持つクライアント・システムにアクセスしうる。例えば、カストマー１５２Ａはその広告をクライアント・システム１２０２Ｂに送って良い。カストマー１５２Ｂはその広告をクライアント・システム１２０２Ａに送って良い。カストマー１５２Ａからのプロジェクト１２０８Ａはクライアント・システム１２０２Ｃにより処理される。また、カストマー１５２Ｂからのプロジェクト１２０８Ｂはクライアント・システム１２０２Ｂにより処理される。それゆえ、カストマーの目的が広告か、プロジェクト処理かまたは他の何らかの希望する目的かとは無関係に、カストマーの目的を満たすために、装置能力およびユーザー特性のような希望する属性の組合わせを特定し、利用しうる。
【００７６】
図１２Ｂは本発明に基づき、クライアント・システムの属性選択のためのブロック・フロー線図である。示された実施例で、プロセス１２５０はブロック１２５２内でカストマーが希望の属性を選択することで始まる。次に、特定属性を持つクライアント・システムをブロック１２５４内でアクセスする。そして、ブロック１２５６内で、広告またはプロジェクトのようなカストマーの目的をクライアント・システムが処理する。希望する場合、カストマーがサーバー・システム１０４に接続して、装置の属性を選択し、次に、サーバー・システム１０４がクライアント・システムにアクセスするように、サーバー・システム１０４がこのプロセス１２５０のコントロールを提供する。代わりに、例えば、クライアント・システムのユーザーに広告を提供するために、カストマーがクライアント・システムに直接アクセスするように、サーバー・システム１０４がクライアント・システムに対するコンタクト情報（例えば、ＩＰアドレス）のリストをカストマーに提供するだけで良い。さらに、本発明のクライアント・システムの属性を選択する方法に基づいて、希望の特定装置能力、ユーザー特性または他の装置の属性によりクライアント・システムを特定し、アクセスするのに、他のコントロール技術も使用できることに留意されたい。
【００７７】
図７Ａは負荷試験および（または）サービスの質（ＱｏＳ）試験のようなサイト試験を実施すべき例示的ネットワーク・サイト１０６Ａおよび１０６Ｂを含む本発明に基づく分散処理システム１００に対するブロック線図である。図１Ａ内の他のシステム１０６が、図７Ａの実施例では、ネットワーク・サイト１０６Ａおよび１０６Ｂとして示されている点を除けば、図７Ａは図１Ａに類似している。ネットワーク１０２とネットワーク・サイト１０６Ａの間の通信ライン１１６Ａが１個のクライアント・システム１０８、１１０、１１２による相互作用を示している。通信ライン１１６Ｂ、１１６Ｃ、１１６Ｄは１個を超えるクライアント・システム１０８、１１０、１１２による相互作用を示している。
【００７８】
典型的には、サイト試験では、希望された試験環境セットに基づいてサイト・サービスまたは接続によるサービスをどのように実施するかを決定することが望まれている。本発明の分散処理システムによると、サイト性能試験は、現在利用できるシミュレーション活動よりはむしろ任意の数の実際のクライアント・システム１０８、１１０および１１２を用いて行われる。通常希望されるいくつかの試験は、サイト負荷試験とサービスの質（ＱｏＳ）試験である。サービスの質（ＱｏＳ）試験は通常の利用可能状況でネットワーク・サイトにアクセスしたユーザーの経験を試験することを意味する。負荷試験とはユーザーとの相互作用によりネットワーク・サイトのどんな特定インフラストラクチャーを扱えるかを試験することを意味する。負荷試験の極端な形態はサービス拒否のアタックで、その場合、システムまたはシステムのグループが意図的にネットワーク・サイトを過負荷にして、遮断するように試みる。有利なのは、本発明では、当業界の他の者にとって可能であるシミュレーション試験とは異なり、ネットワークのウエッブ・サイトを試験する実際のシステムを有していることである。
【００７９】
ネットワーク・サイト１０６Ｂおよび通信ライン１１６Ｂ、１１６Ｃ、１１６Ｄにより示される複数の相互作用は負荷試験環境を代表することを意図している。ネットワーク・サイト１０６Ａおよび単一の相互作用１１６Ａはユーザーの相互作用またはＱｏＳ試験環境を示している。負荷試験、ＱｏＳ試験、他の任意のサイト試験が希望するクライアント・システムからの任意の数の相互作用を用いて行えること、および、希望の試験パラメーターを実現するために、それらの相互作用のタイミングを操作し、制御しうることに留意されたい。さらに、能力プランニングのために定期的に新しい負荷および打ち切りの統計を提供することに留意されたい。
【００８０】
図７Ｂは本発明に基づくサイト試験の動作７００に対する機能的ブロック線図である。最初に、クライアント・システム１０８、１１０、１１２が「クライアントが試験の作業負荷を受ける」のブロック７０２内で試験手順およびパラメーターを特定する作業負荷を受取る。ライン７１４に沿って、クライアント・システム１０８、１１０、１１２が試験中のサイトにアクセスし、「クライアントが他のシステムと相互作用」のブロック７０４で試験を行う。次に、ライン７１６および７１８に沿って、クライアント・システム１０８、１１０、１１２はサイト試験の作業負荷タスクを完成し、その結果をすぐに伝送できるようにして、その結果を「クライアントが試験の作業負荷を完了」のブロック７０６および「サイト試験の結果をサーバー・システムに送る」のブロック７０８内でシステム・サーバー１０４に送り返す。コントロールがライン７２０に沿って、「サイト試験の結果を使用のために編集」のブロック７１０に送られ、そこで、サーバー・システムがその結果をネットワーク・サイトが用いるようにフォーマットおよび（または）編集を行う。例えば、サイト試験の結果は、ピーク時の大量の活動を扱うためにネットワーク・サイトに行うべき変更を決定するのに用いられる。
【００８１】
図８は、本発明に基づくデータ・バックアップ・システム用の分散処理システム８００のためのブロック線図である。図１Ａに関連して既に述べたように、ネットワーク１０２は、インターネット・ネットワークを含む多様なネットワークで良い。企業が設置した内部ネットワークのようなイントラネット・ネットワークはこの用途に特に適している。なぜなら、バックアップすべきデータを有するシステムは余分なデータ記憶容量を有する他のシステムを所有する企業と同一だからである。この方法で、セキュリティが重大にならず、各タイプのクライアント・システムの制御を改善できる。しかしながら、このデータ・バックアップの用途は、インターネットを通じて接続されたコンピューター・システムのような他のネットワークにも同様に適用できることに留意されたい。
【００８２】
図８に戻ると、クライアント・システム１０８、１１０・・・１１２はそれぞれがバックアップ・データのブロック８０４、８０６・・・８０８を有していることが示されている。カストマー・システム１５２は、分散バックアップシステム８００によりバックアップすることが望まれているデータ８０２を有しているとして示されている。サーバー・システム１０４はデータ８０２からのデーターの流れおよびバックアップ・データのブロック８０４、８０６・・・８０８により示されている余分な記憶スペースを有するクライアント・システムを管理している。運用時に、サーバー・システム１０４はクライアント・システムの記憶容量を特定する。この情報で、サーバー・システム１０４はネットワーク１０２上の任意のシステムからバックアップ用データを受取ることができる。図１Ａに関連して示したように、クライアント・システム１０８、１１０・・・１１２およびカストマー・システム１５２がお互いに同格形式の通信で直接通信できることに留意されたい。
【００８３】
さらに、サーバー・システム１０４は、クライアント・システム１０８、１１０・・・１１２でバックアップされ、記憶されたら、そのデータを直ちに検索可能にするようにデータの記憶と伝送を管理しうる。希望する場合、バックアップ・データのサマリー索引およびディレクトリーをサーバー・システム１０４で集中記憶でき、または、クライアント・システム１０８、１１０・・・１１２に遠隔的に記憶しうる。サーバー・システム１０４がデータ・バックアップの作業負荷を分散させて、データ８０２の各部分が少なくとも２カ所のクライアント・システム１０８、１１０・・・１１２に冗長的に記憶されるようにしうる。１以上のクライアント・システムが突然運用不能になった場合に、この冗長性が追加のセキュリティを提供する。
【００８４】
ここで、図９を見ると、ブロック線図は、本発明に基づく分散処理システムの環境１００のための相互接続構造の代替的表示を示している。この線図で、また、上記により、ネットワーク環境が、インターネット、社内イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ネットワーク、ホーム・ネットワークまたは多数のシステムと装置を相互接続する他のシステムとしうる。さらに、サーバー・システムとクライアント・システムは多様な接続インターフェース、例えば、イーサネット接続、無線接続、ＩＳＤＮ接続、ＤＳＬ接続、モデム・ダイアルアップ接続、ケーブル・モデム接続、直接のＴ１またはＴ３の接続、光ファイバー接続、ルーター、ポータル・コンピューター、さらに他の任意のネットワークまたは通信接続により相互接続しうる。それゆえ、図１Ａの実施例のような他の実施例に関連して論じているように、システムを多様な方法で相互接続構造に接続できて、当該分野の技術者なら理解しうるように、その構造に接続された任意のシステム間で直接的または間接的に通信を行うことが可能であることに留意されたい。
【００８５】
この環境内で、図９に示すように、サーバー・システム１０４はいくつかのクライアント・システム、例えば、クライアント・システム１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ、１０８Ｅ、１０８Ｆ、１０８Ｇ、１０８Ｈ、１０８Ｉ、１０８Ｊ、１０８Ｋ、１０８Ｌと相互接続している。さらに、これらのクライアント・システムには、以下でさらに論じるように、遊休クライアント・システム９０２Ａ、９０２Ｂ、９０２Ｃが含まれることがある。さらに、これらのクライアント・システムには、コンポーネントＡを持つクライアント・システム９０４Ａ、コンポーネントＢを持つクライアント・システム９０４Ｂ、コンポーネントＣを持つクライアント・システム９０４Ｃが含まれることがある。さらに、相互接続構造にはクライアント・システムでなく、それら自体では本発明の分散処理システムに対するコンポーネントないし処理機能にはならないいくつかの装置が含まれることがあることに留意されたい。そうではあるが、これらの装置は、分散処理システムの一部であるクライアント・システムからの、または、それへの情報を中継し、翻訳し、処理し、または、他の形で伝送ないし受信をするので、システムの一部と考えて良い。
【００８６】
本発明に基づくコンポーネント・レベルの資源の統合についてここで論じる。上記のように、クライアント・システムの能力は、分散処理用作業負荷の割当て、スケジュール作成、管理をする目的で決定される。言い換えると、各クライアント・システムは、種々の能力を持つ多くの個別サブシステムから構成されるだろう。ある場合に、種々のマシンの特定コンポーネントを結合または統合すれば付加価値を生じる場合がある。それゆえ、異質の装置グループからサブシステムまたはコンポーネント・レベルの資源を用いることは、希望する種々のタスクを完成させるのにこれらの資源を利用する方法として、最も有効であり、または、別の言い方をすると利益がある。
【００８７】
ここで、特に図９を参照すると、クライアント・システム９０４Ａ、９０４Ｂ、９０４Ｃは、組み合わせで使いやすいコンポーネントＡ、コンポーネントＢ、コンポーネントＣをそれぞれ有している。例えば、クライアント・システム９０４Ａが高速プロセッサー、高速ネットワーク接続を有しているが、利用可能な記憶スペースが小さい。クライアント・システム９０４Ｂは利用可能なフリー記憶スペースを大量に有しているが、処理能力が小さい。クライアント・システム９０４Ｃも高速プロセッサーを有しているが、利用可能な記憶スペースが比較的小さい。この例で、大きな記憶容量と高速プロセッサーの両方を必要とする作業負荷は、作業負荷の種々の部分に種々のマシンからのコンポーネント・レベルの資源を用いることにより効果的に完了しうる。それゆえ、その作業負荷は、クライアント・システム９０４Ｂに記憶されていて、そこから伝送されたデータをクライアント・システム９０４Ａと９０４Ｃに処理させることにより扱える。クライアント・システム９０４Ａおよび９０４Ｃがデータを処理すると、この得られたデータはクライアント・システム９０４Ｂに送り返されて、まとめられ、最終的にサーバー・システム１０４に送り返される。それゆえ、クライアント・システム９０４Ｂは実質的に作業負荷の部分集合のためのサーバーとして機能し、部分集合の作業負荷の各部分を送り出し、処理されたデータを受取り、そのデータを統合して、完成された作業負荷の部分集合を構築する。
【００８８】
希望する場合、異なるクライアント・システムから任意の数の種々のコンポーネントを集められることに留意されたい。例えば、無線装置の場合、ＤＳＰ処理および記憶のコンポーネントを他のクライアント・システムからのコンポーネントを用いて統合できる。ディスプレー装置の場合、グラフィックの演色能力を統合できる。接続されている家庭用機器、自動販売機等のように比較的低性能のマシンの場合、低速処理のコンポーネントを集められる。要するに、適当な作業負荷には、コンポーネント・レベルの資源の協力と統合を行えるように多くのクライアント・システムに取扱説明書を含めて良い。そのような取扱説明書には、どこで入力を受取るか、どこへ出力を送出するか、また、最終的にどのクライアント・システムが最終結果を戻すかのような事項を含めて良い。
【００８９】
さらに、コントロールの取扱説明書も、また、分散して良い。言い換えると、上記のように、クライアント・システムは、例えば、同格でお互いに直接通信を行える。この方法で、作業負荷の通信をクライアント・システム間で直接行って良い。また、作業負荷のコントロールと管理はクライアント・システムに所在しているクライアント・システム・エージェントにより行われる。
【００９０】
さらに図９を参照して、遊休システムの決定についてここで論じる。上記のように、本発明の分散処理システム内でクライアント・システムの能力を決定し、使用する。ある特定のクライアント・システムの遊休状態が多いほど、多分、達成できる処理量が多く、受け取れる可能性のあるインセンティブが多くなる。言い換えると、クライアント・システムの遊休度が高い場合、クライアント・システムの能力はより頻繁に、また、より集中的に使用しうるだろう。そのような場合、遊休クライアント・システムを特定し、それらをプロセッサーと時間がより重要なタスクに配分するのが有利である。これらの遊休クライアント・システムを特定することにより、一定時点にネットワーク上で利用できる資源をより完全に使用しうる。そうでない場合でも、遊休資源を、そうしなければ専用装置を必要とする集中度が高くリアルタイムの活動に使用しうる。そのようなリアルタイムの活動の例にはデータ・キャッシング、索引作業等が含まれる。図９では、遊休クライアント・システムは９０２Ａ、９０２Ｂ、９０２Ｃとして指定されている。
【００９１】
遊休資源を特定することは、種々の方法のどれかで決定しうる。例えば、一定時点で、マシンが用いられていないかどうか、または、プロセッサーの利用度が低いかどうかを見るだけで可能である。しかしながら、この単純な決定では、一定時点にクライアント・システムがどの程度遊休状態かの正確な実像を生じないことがある。特に詳しくは、多様なクライアント・システムのコンポーネントとサブシステムの活動を特定するために発見法（複数）を実行しうる。例えば、ネットワーク活動、装置の出力活動、ユーザー入力、処理活動、実行タスクの監視、または運転パラメーターのモード（例えば、モバイルまたは電力管理モード、定置または給電モード）のようなサブシステムを監視しうる。さらに、クライアント・システムの真の利用・遊休を決定するために、任意の数の他の装置ベクトルを監視または分析しうる。
【００９２】
以下の表２は、装置の利用または遊休のレベルを決定するために使用しうる遊休ベクトルまたは要因のリストを示している。特に、表２はクライアント・システムがどの程度遊休状態かを決定するために監視または分析をする２大分類の活動を示している。これらの活動はユーザーの活動および装置の活動である。これらのクライアント・システムのエレメントおよび活動を時間をかけて監視し、分析し、追跡することにより、装置の利用と遊休の決定を改善できる。表２に示したリストは例示的リストであり、本発明に基づき希望に応じて、任意の数の分類、ベクトルまたは要因を特定し、利用しうる。
【００９３】
【表４】
2004513406.tif 000006
【００９４】
この決定の有用性の更に進んだ例として、戻って図９を参照する。例えば、サーバーシステム１０４はそれがこれらの空いたデバイス（ｉｄｌｅ ｄｅｖｉｃｅｓ）上に載せたい大きな、集約的タスクを有してもよい。クライアントシステム用に利用レベルを決定するために表２の多数のベクトルを使用した後、該サーバーシステム１０４は、クライアントシステム９０２Ａ、９０２Ｂそして９０２Ｃが空いており、重要で鋭く時間に関係する（ｓｉｇｎｉｆｉｃａｎｔ ｔｉｍｅ ｓｅｎｓｉｔｉｖｅ）処理タスクを扱うことが出来ると決定する。例えば、空いたクライアントシステム９０２Ａ、９０２Ｂそして９０２Ｃは、ローカルネットワークキャッシュ（ｌｏｃａｌ ｎｅｔｗｏｒｋ ｃａｃｈｅ）から利便を得るデータ種類に関心があり、図９に描かれた他のクライアントシステムの幾つかの様な、他の接続されたデバイス用のローカルインターネットキャッシュとして作動出来るパーソナルコンピユータであってもよい。かくしてデータ又はコンテントが遠隔のネットワークサイトから該空いた機械９０２Ａ、９０２Ｂそして９０２Ｃへ送信される。これらの空いたデバイス９０２Ａ、９０２Ｂそして９０２Ｃは次いでこの同じデータ又はコンテントを、該データ又はコンテントにこれ又関心のある他の接続されたデバイスへ再送信してもよい。
【００９５】
この様なネットワークキャッシュイング（ｎｅｔｗｏｒｋ ｃａｃｈｉｎｇ）用の１例は、概略同じ時間に非常に多数の地理的に近接して接続されたデバイスにより見られる又は受信されるよう望まれたインターネットビデオ又はマルチメデイア放送イベントである。これらの接続されたデバイスの需要を充たすために、イベントを放送するウエブサイトは短い時間間隔に亘りネットワークトラヒック（ｎｅｔｗｏｒｋ ｔｒａｆｆｉｃ）の巨大な増加を扱うことが出来ねばならない。該送信を空いたクライアントシステムへローカルにキャッシュすることにより、ウエブサイトはそれ自身の資源への直接需要を減じることが出来る。これがそうなるのは、他の接続されたデバイスは、遅延するが、該空いたクライアントシステムから再送信された放送を受信してもよいからである。本発明に依れば、空いたクライアントシステム９０２Ａ、９０２Ｂそして９０２Ｃは独立に或いは組み合わされて作動してもよいことを注意しておく。例え空いたクライアントシステムがキャッシュイング機能を提供するのに好適でも、そのネットワークキャッシュイングは１つ以上のクライアントシステムをそれらのそれぞれの空きレベルに関係無く（ｒｅｇａｒｄｌｅｓｓ ｏｆ ｔｈｅｉｒ ｒｅｓｐｅｃｔｉｖｅ ｌｅｖｅｌｓ ｏｆ ｉｄｌｅｎｅｓｓ ）使用して達成されてもよいことも注意しておく。
【００９６】
図１０は、本発明に依る、クライアントシステム上に設置されたクライアントシステムエージェント（ｃｌｉｅｎｔ ｓｙｓｔｅｍ ａｇｅｎｔ）２７０のより詳細なブロック線図である。この線図は、安全サブシステム１０１０，能力（ｃａｐａｂｉｌｉｔｉｅｓ）サブシステム１００６，ワークロードプロセサー（ｗｏｒｋｌｏａｄ ｐｒｏｃｅｓｓｏｒ）１００４，ユーザーインターフエース１００２，そしてプロジェクト管理及びエージェント制御サブシステム１００８を有する。該種々の要素及びサブシステムは例えば、ライン１０１２，１０１４，１０１６，１０１８そして１０２０を通して相互に通信する。外部的には、該クライアントシステムエージェント２７０はその安全サブシステム１０１０を通して該クライアントシステム内の他の要素と、そして究極的には該ネットワーク組織（ｎｅｔｗｏｒｋ ｆａｂｒｉｃ）内に接続された他のデバイスと通信する。該クライアントシステムエージェントとその動作の、内部及び外部両面の、構成は、望まれる様に、選択され、設計されてもよいことを注意しておく。
【００９７】
描かれている様に、該能力サブシステム１００６は、上記で説明した、空きシステムモニター１０２２を有し、それは該クライアントシステム用としての活動度（ａｃｔｉｖｉｔｙ）又は空き度合（ｉｄｌｅｎｅｓｓ）のレベルを決定するために該クライアントシステムに付随するユーザー及びデバイス活動度をモニターし分析する。この空きシステムモニター１０２２により決定された情報は次いで、例えば、安全サブシステム１０１０を通して該サーバーシステム１０４へ外部的に通信される。次いで該サーバーシステム１０４は該分散処理システム（ｄｉｓｔｒｉｂｕｔｅｄ ｐｒｏｃｅｓｓｉｎｇ ｓｙｓｔｅｍ）全体からのシステム空き度合データを記憶し分析する。この空き度合データはワークロード及び処理システム資源（ｐｒｏｃｅｓｓｉｎｇ ｓｙｓｔｅｍ ｒｅｓｏｕｒｃｅｓ）を割り当て、管理するため利用される能力データベースの１部となってもよい。
【００９８】
なお図１０を参照すると、ワークロードプロセサー１００４は機械エントリー発生サブシステム（ｍａｃｈｉｎｅ ｅｎｔｒｙ ｇｅｎｅｒａｔｉｏｎ ｓｕｂｓｙｓｔｅｍ）１０２４を有する。上記説明の様に、該ワークロードプロセサー１００４は、ホストクライアントシステム用のスイープステークエントリー（ｓｗｅｅｐｓｔａｋｅｓ ｅｎｔｒｉｅｓ）を発生するために完了したワークロードをサーバーシステム１０４へ送り戻す。この仕方では、そのインセンテイブがスイープステークの時は、該クライアントシステムはワークロードを完了することによりエントリーを発生する。該機械エントリー発生サブシステム１０２４はワークロード完了を通してこのエントリー発生を参照する。上記で論じた様に、エントリーを発生するため処理されたワークロードはプロジェクトワークロード、エントリーワークロード、又は望まれる様な、どんな他のワークロードであってもよい。
【００９９】
図１１Ａ及び１１Ｂは、本発明に依る、エントリーワークロードの処理を通して機械発生されたスイープステークエントリー用の処理実施例のより詳細なフロー線図を提供する。
【０１００】
最初に図１１Ａを見ると、機械発生されるスイープステークエントリーを提供するエントリーワークロード処理フロー１１００が描かれている。処理はスタートブロック１１０２から、エントリーワークロードがクライアントシステム上に負荷されるブロック１１０４へ移動する。次ぎに処理はエントリーワークロード処理用の周期的タイマー又は他のタイミング制御部を表すブロック１１０６へ流れる。このタイミング制御の後、該クライアントシステムはブロック１１０８で該エントリーワークロードを実行又は処理する。ブロック１１１０で、スイープステークエントリーがそれにより発生され、このエントリーワークロードの完了に基づき該サーバーシステム１０４へ戻される。ついで処理制御は戻って周期的タイミングブロック１１０６へ進むが、そこではタイミング制御部は何時該エントリーワークロードが次ぎに処理されるかを決める。該完了したワークロードは該機械発生されたスイープステークエントリーを表す。
【０１０１】
図１１Ｂは代わりのエントリーワークロード処理フロー１１５０である。該処理フロー１１５０は、該エントリーワークロードがそれが走らされるべき各度に該クライアントシステムへ送られることを除けば、該処理フロー１１００と同様である。処理はブロック１１０２でスタートし、周期的タイマーブロック１１０６へ進むが、そこでは該処理が制御される。例えば、サーバーシステム１０４は、何時該クライアントシステムがエントリーワークロードを受け、処理するのが望ましいか、を決定してもよい。ブロック１１０４で、該エントリーワークロードは該クライアントシステムへ送られる。図１１Ａに於ける様に、該クライアントシステムは次いでブロック１１０８で該エントリーワークロードを実行し、そしてエントリーが発生され、ブロック１１１０で遠隔のサーバーシステムへ戻される。次いで該処理は、もう１つのエントリーワークロードが処理されるべきことが決定される迄戻って該周期的タイマー１１０６へ進む。処理１１５０と処理１１００との主要な差は処理１１５０は、それが走らされるべき各度に該クライアントシステムへ送信されるエントリーワークロードを描いていることである。
【０１０２】
該処理１１５０又は１１００を利用する１つの例はサーバーシステム１０４が該クライアントシステムに規則的時間間隔でエントリーワークロード処理を訊ねることである。もし分散されたデバイスが完了エントリーワークロードを該エントリーワークロードの配布から選択された時間内に戻すなら、該サーバーシステムは、該分散されたデバイスが該分散処理システムへ資源を供給しつつあるので該分散デバイスはエントリーを受けるべきであると結論付けてもよい。この仕方で、該サーバーシステム１０４は与えられたクライアントシステムが該分散処理システム用プロジェクトワークロード上で作動しているかどうかを規則的間隔で決定する。代わりに、該クライアントシステムエージェントが該ワークロード処理をローカルに制御してもよく、例えば、該クライアントシステムに規則的時間間隔でエントリーを処理、発生させてもよい。規則的でないそして変化する時間間隔が利用されてもよく、望まれる様に、遠隔とローカルの制御の組合せも利用されてもよいことを注意しておく。
【０１０３】
クライアントシステムが該エントリーワークロードを処理するタイミングは、従って、該クライアントシステムエージェントによりローカルに、又は、例えば、該サーバーシステム１０４により送られたコマンドを通して遠隔式に、決定されてもよい。加えて、周期的タイミング制御も又ローカるに及び遠隔に存在する制御ルーチンの種々の組合せを通して達成されてもよい。更に、本発明に依り、どんな数の種々の変化も、機械発生エントリーをスイープステークに提供するために利用されてもよいことを注意しておく。かくして、クライアントシステムは種々の仕方のどれででもスイープステークエントリーを発生してよく、そしてなお本発明に依り、機械発生スイープステークエントリーを有してもよい。
【０１０４】
図１３Ａと１３Ｂは本発明に依る大規模並列分散ネットワーク用のデータ変換アップリケーション１３００を説明している。特に、図１３Ａは本発明に依り、データ変換サービスを提供する分散処理システムのブロック線図である。そして図１３Ｂは本発明に依る、分散処理システム内でのデータ変換サービス用のブロックフロー線図である。
【０１０５】
デバイスタイプ間でのフアイルタイプ、ウエブページ、グラフイック画像、他の変換は高度に集約的処理タスク（ｉｎｔｅｎｓｉｖｅ ｐｒｏｃｅｓｓｉｎｇ ｔａｓｋ）である。屡々変換されたデータを要する例示的デバイスは、それらのそれぞれのデバイスサーバーからインターネットウエブページ情報を要求する、ページャー（ｐａｇｅｒ）及びセル電話（ｃｅｌｌ ｐｈｏｎｅ）の様な、無線デバイスである。該デバイスサーバーは、該要求されたデータを該無線デバイス用に再フオーマットするオーバーヘッドをこうむる代わりに、要求されたページ又はデータアドレス、該要求するデバイスのデバイスタイプ情報、を配分し、該再フオーマットされたデータ用アドレスを代わりとして戻す。本発明に依れば、該データ変換、翻訳又は処理は本発明の分散処理システムのクライアントシステムにより行われてもよい。最終データは次いで元の要求デバイスへ戻さ、提供される。セル電話用へのデータフオーマッテングに加えて、言語変換、テキスト翻訳及びメデイア翻訳サービス、又は何等かの他の望まれるデータ変換も又、本発明の該分散処理システムを通して顧客用に取り仕切られ（ｈｏｓｔｅｄ）得る。
【０１０６】
本発明により考慮される該データ変換動作は何等特定の要求デバイス、何等特定のサービスプロバイダー、何等特定のタイプの処理されるべきデータ、何等特定の最終の処理されるデータ、又は何等特定のデータ源に限定されないことを注意しておく。かくして、処理される該データは音声、テキスト、アップリケーション、画像、ソースコード、又は何等かの他のデータタイプ又はデータタイプの組合せを含んでもよく、そして該最終の処理されたデータは又音声、テキスト、アップリケーション、画像、又は何等かの他のデータタイプ又はデータタイプの組合せを含んでもよい。本発明に依れば、該分散処理システムは要求デバイスにより望まれ、そして該要求デバイスへ提供される前に変換又は処理されねばならないどんなデータも処理するため利用される。例えば、パーソナルコンピユータの様な、インターネットに接続されたエンドユーザーデバイス（ｅｎｄ−ｕｓｅｒ ｄｅｖｉｃｅｓ）は、該エンドユーザーデバイスが何等かの望まれるデータ、フアイル、ウエブサイトコンテント、他のデータ変換を要求するように、該サーバーシステムを通してデータ変換サービスを求めてサインアップ（ｓｉｇｎ ｕｐ）してもよい。接続された無線用の言語翻訳及びデータフオーマッテングは本発明用のこの様なアップリケーションの唯２つの例に過ぎない。
【０１０７】
今度は図１３Ａの実施例を見ると、インターネットの様なネットワーク１０２が描かれ、要求するデバイスは、通信リンク１３０８を通してインターネット１０２に、そして通信リンク１３０９を通して無線デバイスサーバーシステム１３０４に接続された１つ以上の無線デバイス１３０６である。変換される、翻訳される又は他の仕方で処理される、べきデータはブロック１３０２により表されそして、例えば、通信リンク１３１２を通してインターネットに接続されたインターネットウエブサイトからのコンテントであってもよい。又図１３Ａに示す様に、大規模並列分散ネットワーク（ｍａｓｓｉｖｅｌｙ ｐａｒａｌｌｅｌ ｄｉｓｔｒｉｂｕｔｅｄ ｎｅｔｗｏｒｋ）｛エムピーデーエヌ（ＭＰＤＮ）｝サーバー１０４が通信リンク１１４を通してインターネット１０２に接続されている。該無線デバイスサーバーシステム１３０４、又はデータ変換処理要求をオフロード（ｏｆｆ−ｌｏａｄ）することを望む何等かの他の接続されたシステム（例えば、ウエブサイトコンテントサーバー）、が通信リンク１３１０を通してインターネット１０２にそして通信リンク１３１１を通して該ＭＰＤＮサーバーに接続される。又どんな数のクライアントシステム１０８，１１０．．．１１２もそれぞれ通信リンク１１８，１２０．．．１２２を通して、インターネット１０２に接続されてもよい。又上記で述べた様に、該接続された何れも、広範な種類の通信技術（例えば、無線、電気的、デジタル、アナログ、光ベース、他）及びプロトコル｛例えば、静的又は動的なアイピーアドレス（ＩＰ ａｄｄｒｅｓｓ）｝の何れかで、どんな数の他のデバイスを通しても、相互に通信してもよいことは、当業者により理解される通りである。
【０１０８】
図１３Ａにより考慮された該アップリケーションでは、該無線デバイス１３０６は、時には、それが要求する無電デバイスへ送信され得る、そしてそれに表示され得る前に無線デバイスサーバーシステム１３０４により変換、翻訳又は他の仕方で処理されねばならないデータ、例えば、ウエブサイトからの画像又はテキストを要求する。該情報を変換する代わりに、該無線デバイスサーバーシステム１３０４は該ＭＰＤＮサーバー１０４が該データ変換又は翻訳を達成することを要求してもよい。次いで該デバイスサーバーシステム１３０４はＭＰＤＮサーバー１０４に、該要求デバイスに関する情報、要求されるデータの性質そして該データに必要な処理の様な、何等かの関連情報を提供してもよい。該ＭＰＤＮサーバー１０４は次いで該要求するデバイスへの送信用にブロック１３０２からのデータを処理するために該クライアントシステム１０８，１１０．．．１１２の１つ以上を利用してもよい。この仕方で、該無線デバイスサーバーシステム１３０４は重荷で、処理集約的な変換タスクを本発明の分散処理システムへオフロードしてもよい。
【０１０９】
該要求する無線デバイス１３０６への処理されたデータの送信が種々の方法で起こってもよいことを注意しておく。例えば、該処理されたデータはクライアントシステム１０８から該サーバー１０４へ、次いで、無線デバイスサーバー１３０４へそして最後に該無線デバイス１３０６へ送信されてもよい。代わりに、該処理されたデータはクライアントシステムから無線デバイスサーバー１３０４へ、そして次いで無線デバイス１３０６へ送信されてもよい。なお更に、該処理されたデータはクライアントシステムから該無線デバイスへ直接送信されてもよい。
【０１１０】
図１３Ｂは本発明のデータ変換処理の実施例１３５０の基本的フロー線図を提供する。ブロック１３５２で、無線デバイス１３０６の様な、デバイスは未変換か、未翻訳か、又は未処理のデータを要求する。ブロック１３５４で、無線デバイスサーバーシステム１３０４の様な、該デバイス用のサーバーは該データ要求を処理しそして該ＭＰＤＮサーバー１０４に接触する。加えて、ウエブサイトコンテントサーバーの様な、該要求されたデータ用のコンテントプロバイダー又はサーバーは該ＭＰＤＮサーバー１０４に接触する。該無線デバイスサーバーシステム１３０４はコールするデバイスの種類、そのアイデンテフイケーション（ｉｄｅｔｉｆｉｃａｔｉｏｎ）、要求された関連データ、そして起こるべき変換の様な、全ての関連情報を該ＭＰＤＮサーバー１０４へ提供する。該ＭＰＤＮサーバー１０４は次いで、ブロック１３５６で、該要求しているデバイスに関するデータと情報とを、クライアントシステム１０９，１１０．．．１１２の様な１つ以上のクライアントシステムへ配布する。次いで該１つ以上のクライアントシステムは、ブロック１３５８で、該データを変換するか、翻訳するか又は他の仕方で処理する。次いで該変換された、翻訳された又は処理されたデータはブロック１３６０で該要求するデバイスへ提供される。再び、この仕方で、該デバイスサーバーは、要求するデバイスへデータを送信する又はその上へ表示するに要する変換、翻訳又は処理を達成するためにそれ自身に処理パワーを供給する必要なしに広範囲の情報を提供する。
【０１１１】
図１３Ｂで示される様に、該デバイスサーバー又はコンテントサーバー１３０４は変換用のデータ及び他の関連情報を直接該クライアントシステムへ通信してもよい。例えば、該ＭＰＤＮサーバー１０４は与えられた期間の間（例えば、毎月のクライアントグループの割り当て）データ変換目的でクライアントシステムグループへのアクセスを提供してもよく、或いは変換が必要な時使用されてもよいクライアントシステムのグループのアイデンテイテイ（ｉｄｅｔｉｔｉｅｓ）を提供してもよい。一旦特定のデバイスサーバー又はコンテントサーバーへのクライアントシステムのアイデンテイテイと割り当て（ｉｄｅｎｔｉｔｙ ａｎｄ ａｌｌｏｃａｔｉｏｎ）が行われると、該デバイスサーバー又はコンテントサーバーは該クライアントシステムと直接通信してもよい。加えて、該デバイスサーバー又はコンテントサーバーは該データ変換を達成する該１つ以上のクライアントシステムのアイデンテイテイを要求デバイスに直接供給してもよい。図１３Ｂに示す様に、該要求デバイスは、従って、該要求されるデータ変換に関する関連情報を提供するために該クライアントシステム又は複数クライアントシステムと直接通信してもよい。次いで該クライアントシステムは、例えば、該望まれるコンテントを直接ダウンロードし、該望まれるデータ変換を行ってもよい。図１３Ａ及び１３Ｂに関して上記で説明された実施例に加えて、後の送信用に処理されたデータをキャッシュする様な、該要求デバイスへそしてそれから、データを要求し、処理しそして供給するための他の方法が本発明の分散処理システムで実施されてもよいことを更に注意しておく。
【０１１２】
図１４Ａ及び１４Ｂは本発明に依る、該ネットワーク組織を通したフアイル分散及びデータ共有の例示的ブロック線図を描く。特に、図１４Ａはローカルデータ配布を提供するためクライアントシステムに依存するインターネットデータフアイル分散システム１４００を描く。図１４Ｂは該分散処理システムを通してデータ共有とプロジェクト又はデータフアイルの急速伝送を考慮するデータフアイル分散システム１４５０を描く。
【０１１３】
今図１４Ａを見ると、本発明に依る、データ伝送キャッシュイング又は他のローカル配布を提供する分散処理システム１４００のブロック線図が描かれている。図１４Ａの実施例で、サーバーシステム１０４は通信リンク１１４を通してインターネット基幹（Ｉｎｔｅｒｎｅｔ ｂａｃｋｂｏｎｅ）１４０２に接続される。該インターネット基幹１４０２は、長距離のデータを運ぶ非常に高速の接続網（ｖｅｒｙ ｈｉｇｈ ｓｐｅｅｄ ｃｏｎｎｅｃｔｉｏｎｓ）、例えば、合衆国の隅々までインターネットデータを運ぶＴ３又は光フアイバーラインを表す。ウエブサイト１４０４は地理的にローカル接続を表す通信リンク１４０６を通して該インターネット基幹１４０２に接続される。接続ブロック１４１０はＰＯＰサーバー（ＰＯＰ ｓｅｒｖｅｒ）、電波中継機械（ｈｅａｄ−ｅｎｄ ｍａｃｈｉｎｅ）、電話線中央局（ｔｅｌｅｐｈｏｎｅ ｌｉｎｅ ｃｅｎｔｒａｌ ｏｆｆｉｃｅ）、セルサイト、他の様な地理的に遠隔の通信リンクを表す。この通信ブロック１４１０はこれ又地理的ローカル接続を表す通信リンク１４０８で該インターネット基幹１４０２と接続される。種々のクライアントデバイス及び非クライアントデバイス１４１２Ａ、１４１２Ｂ、１４１２Ｃ、１４１２Ｄ、１４１２Ｅそして１４１２Ｆが該接続ブロック１４１０の下で接続されてもよい。インターフエース１４１４は、例えば、家庭ネットワーク（ｈｏｍｅ ｎｅｔｗｏｒｋ）の様な、クライアントデバイス１４１２Ｄ、１４１２Ｅそして１４１２Ｆが接続される、第２ネットワークを表すことを注意しておく。
【０１１４】
図１４Ａで示す実施例では、ウエブサイト１４０４は、短時間の期間に亘り、高い需要のコンテントを供給するよう望んでいてもよい。この様なイベントの例はライブのインターネットマルチメデイア放送である。この様なイベント用に、短時間の期間に亘り該ウエブサイト１４０４から該コンテントをダウンロードするよう試みる巨大な殺到するデバイスがある。該ウエブサイト１４０４はこの極端に大きな需要を充たすことは出来ないかも知れず、該ウエブサイト１４０４を閉止する必要がある。
【０１１５】
本発明に依れば、該ウエブサイト１４０４はデータキャッシュイング用に本発明の分散処理システムを使用することによりそのデータ取り扱い要求の幾らか又は全部をオフロードしてもよい。該ウエブサイト１４０４はサーバーシステム１０４に接触し、データキャッシュイングサービスを要求する。該サーバーシステム１０４は次いで、ウエブサイト１４０４用のコンテントのローカル配布部（ｌｏｃａｌ ｄｉｓｔｒｉｂｕｔｏｒ）として作用する、この様なクライアントデバイス１４１２Ｅの様な、ローカル機械を識別する。例えば、上記で論じた様に、識別された１つ以上の空いたクライアントデバイスがローカル配布部クライアントデバイス１４１２Ｅとして利用される。該ローカル配布部クライアントデバイス１４１２Ｅは最初該コンテントをダウンロードし、それを通信リンク１４１６Ａ、１４１６Ｂそして１４１６Ｃを通して他のクライアント及び非クライアントデバイス１４１２Ｂ、１４１２Ｃそして１４１２Ｄへ渡す。該キャッシュされたデータを受信する該クライアント及び非クライアントデバイスがローカル配布部クライアントデバイス１４１２Ｅから比較的短い通信ホップ（ｈｏｐｓ）にあるならこのキャッシュイングは助かるだろうことを注意しておく。
【０１１６】
このデータ又はネットワークキャッシュイングはデータが、該データを次いで他の最終ユーザーデバイスまで渡す、最終ユーザーレベルデバイスまで流れることを可能にする。かくして、該下流通信は、それにより該ウエブサイトの配布重荷を取り去るよう、限定されてもよい。例えば、ウエブサイト１４０４は、ネットワークデバイスの与えられたセットから重荷を経験している大きな流れのビデオ又はマルチメデイアフアイルを有してもよい。このデータフアイルは、通信リンク１４１０から下の、クライアントデバイス１４１２Ｅの様な、機械によりキャッシュされてもよい。次いで、これ又この通信リンク１４１０の下にある他のデバイスが該流れるビデオデータを該クライアントデバイス１４１２Ｅからダウンロードしてもよい。このキャッシュイングは、共通の通信リンクの下に配置された要求しつつあるデバイスへ該同じ通信リンクを通して同じデータを繰り返し送信する必要を無くする。本発明に依る、このピア（ｐｅｅｒ）フアイルのアクセス、キャッシュイングそしてデータ伝送用の該フアイル及びデータ配布の可能性は広範で可変的でありそして図１４Ａに示す該実施例に限定して見られるべきでないことを注意しておく。
【０１１７】
図１４Ｂは、本発明に依る、データ配布（ｄａｔａ ｄｉｓｔｒｉｂｕｔｉｏｎ）及びデータ共有（ｄａｔａ ｓｈａｒｉｎｇ）をもたらす分散処理システム１４５０のブロック線図である。図９に於ける様に，図１４Ｂは広い種類のデバイスの何れも相互接続するネットワーク組織の代替え図を描く。図１４Ｂに示す実施例で、サーバーシステム１０４はどんな数のクライアントシステム１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ、１０８Ｅ、１０８Ｆ、１０８Ｇそして１０８Ｈとも相互接続される。該接続する相互接続の各々は、本発明の該ネットワーク組織内のデバイス間に存在する広い種類の通信リンクの何れをも表している。該クライアントシステム１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ、１０８Ｅ、１０８Ｆ、１０８Ｇそして１０８Ｈの各々は本発明に依り共有されたデータ（ｓｈａｒｅｄ ｄａｔａ）｛エスデー（ＳＤ）｝を有する。この相互接続された組織内で、ブロック１４５２は配布されるよう望まれるデータ又はプロジェクト情報を表す。各クライアントシステム内の該ＳＤブロックはこのデータ又はプロジェクト情報の配布を実現する。
【０１１８】
上記論議の様に、該クライアントシステム１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ、１０８Ｅ、１０８Ｆ、１０８Ｇそして１０８Ｈ上に設置されたクライアントエージェントは、データ伝送及び共有に関する多数のサービスを実現する機能を有する。第１に、該クライアントエージェントは外部デバイスへアクセス可能な保護されたデータ記憶範囲を提供するが、それは図１４Ｂの各クライアントシステム内で該ＳＤブロックにより表される。この特別記憶空間は該デバイス上の他の記憶範囲にアクセスする外部デバイスから該デバイスを保護し、一方データが他のデバイスにより共有されアクセスされそして同時に該ローカルクライアントエージェントにより使用されることを可能にする。
【０１１９】
これらの共有データ（ＳＤ）ブロックは、該クライアントシステム１０８Ａ、１０８Ｂ、１０８Ｃ、１０８Ｄ、１０８Ｅ、１０８Ｆ、１０８Ｇそして１０８Ｈ間の広い種類の起こり得る相互作用を可能にする機構を提供する。例えば、該データ共有機構は、通信目的のみならず安全目的でも両目的で該ネットワークに取り付けられた他のデバイスアドレスのキャッシ用空間を提供してもよい。又該機構はコンテントが該記憶範囲に付加され又はそれから除去された時自動的に再インデックスされる（ｒｅ−ｉｎｄｅｘｅｄ）簡単なインデックス用システム（ｉｎｄｅｘｉｎｇ ｓｙｓｔｅｍ）を提供する。このインデックス用システムは、他のクライアントエージェントが該ローカルクライアント情報上で発見を行う及びその逆を行う機構を提供してもよい。この共有データ内に記憶された情報を通して、本発明の分散処理システムは、分散レジュームポステイング（ｄｉｓｔｒｉｂｕｔｅｄ ｒｅｓｕｍｅ ｐｏｓｔｉｎｇ）、分散キャッシュイング、分散アドバタイズメントサービング（ｄｉｓｔｒｉｂｕｔｅｄ ａｄｖｅｒｔｉｓｅｍｅｎｔ ｓｅｒｖｉｎｇ）、他の様な多くの分散フアイルシステムアップリケーションを実現する。上記に加えて、各クライアントシステム内の該記憶ブロック（ｓｔｏｒａｇｅ ｂｌｏｃｋ）（ＳＤ）は、他のクライアントデバイス上にローカルに及び／又は遠隔式に記憶されたデータタイプ（画像、オーデイオフアイル、ビデオフアイル、他の様な）を表示又は作動（ｄｉｓｐｌａｙｉｎｇ ｏｒ ｐｌａｙｉｎｇ）させるためのインターフエースを有してもよい。これは、本発明の該分散処理システム内のクライアントシステムである部分として、例えばインターネットを経由して接続された遠隔のフアミリー間の簡単な映像共有（ｐｉｃｔｕｒｅ ｓｈａｒｉｎｇ）を可能にする。
【０１２０】
図１４Ｂに示す実施例で、データ又はプロジェクト１４５２はクライアントシステム１０８Ｃ及びサーバーシステム１０４への接続を通して該組織内へ注入される。これらの接続は、該情報が最初にサーバーシステム１０４へ進むか、又は最初にクライアントシステム１０８Ｃの様な、クライアントシステムへ進むことを表す。該データが該組織内へ注入される他の方法があることを注意しておく。一旦注入されると、該データ１４５２は、クライアントからクライアントへの、サーバーからサーバーへの、クライアントからサーバーへの、クライアントから非クライアントへの、非クライアントからクライアントへの通信、及び／又は非クライアントから非クライアントへの通信を含む、広い種類の通信の何れかを通して該組織中を伝送される。これらの通信はポーリング機構と予め割り当てられた防火壁ポート（ｐｒｅａｓｓｉｇｎｅｄ ｆｉｒｅｗａｌｌ ｐｏｒｔｓ）の様な、種々の機構に基づいてもよい。この技術は短時間内の多数のデバイスへの情報配布を実現する伝達手段を提供する。
【０１２１】
このデータ配布用アップリケーションは広範な種類がある。例えば、鋭く時間に関係する（ｔｉｍｅ ｓｅｎｓｉｔｉｖｅ）何等かの重要フアイルが多数のクライアントデバイス、非クライアントデバイス、サーバー、又は他の接続されたデバイスへ短時間に伝播されてもよい。この伝送は、一旦該情報が本発明の該分散処理システム内へ注入されると速くそして効率良く起こる。例示的な鋭く時間に関係するデータフアイルは、本発明の該分散処理システムを通して配布されると、新しいウイルスが普通増殖するより速く該ネットワーク組織中を伝送される、抗ウイルスシグネーチャフアイル（ａｎｔｉ−ｖｉｒｕｓ ｓｉｇｎａｔｕｒｅ ｆｉｌｅ）である。
【０１２２】
フアイルの急激な伝播用のもう１つのアップリケーションはワークロードの伝播用にこの技術を利用することである。１例は分散された復職（ｒｅｓｕｍｅ）又は職業探索（ｊｏｂ ｓｅａｒｃｈｉｎｇ）である。この様なシステムでは、関与した求職者（ｊｏｂ ｓｅｅｋｅｒ）と関与する雇い主（ｅｍｐｌｏｙｅｒ）は急激に相互に探索する。求職者は該組織内に職業要求又は探索を注入してもよく、該要求又は探索は、該サーバーシステム１０４からの制御の必要無しに各連続するデバイスにより他のデバイスへ回される。同様に、雇い主は候補基準を該組織内へ注入し、該基準は次いで連続するデバイスへ回される。結果は極端に速い雇い主と候補の探索とアンデンテフイケーションとなる。
【０１２３】
図１５は本発明に依る、分散処理システム１００用の代替えの表現のブロック線図である。サーバーシステム１０４，データベース１５４６そしてウエブインターフエース１５５４は通信リンク１５４０，１５４２そして１５４４を通して一緒に結合される。該ウエブインターフエース１５５４はクライアントサブシステム１５４８，タスクデベロッパーサブシステム（ｔａｓｋ ｄｅｖｅｌｏｐｅｒ ｓｕｂｓｙｓｔｅｍ）１５５０そしてアドバタイザーサブシステム（ａｄｖｅｒｔｉｓｅｒｓ ｓｕｂｓｙｓｔｅｍ）１５５２を有し、望むように他のサブシステムを含んでもよい。該データベースシステム１５４６はワークロード（ＷＬ）情報３０８、クライアント能力ベクトル情報（ｃｌｉｅｎｔ ｃａｐａｂｉｌｉｔｙ ｖｅｃｔｏｒ ｉｎｆｏｒｍａｔｉｏｎ）６２０，そして望まれる何等かの他の記憶された情報を有する。サーバーシステムは、データベースインターフエース１５３２，ウエブサーバー１５３６，タスクモジュール及びワークユニットマネージャー１５３０，クライアント統計モジュール（ｃｌｉｅｎｔ ｓｔａｔｉｓｔｉｃｓ ｍｏｄｕｌｅ）１５３４，アドバタイジングマネージャー（ａｄｖｅｒｔｉｓｉｎｇ ｍａｎａｇｅｒ）１５３８，タスクモジュールバージョン／フエーズ制御サブシステム１５２８，スイープステークエンジン１５２４，サーバー制御サブシステム１５２６，そして通信インターフエース１５２２を含む、種々のモジュールとサブシステムとを含む。図１５に描かれた分散処理システム１００の実施例で、該サーバーシステム１０４，データベースシステム１５４６そしてウエブインターフエース１５５４についての該３つの主要動作はクライアントシステム、顧客タスク、そして顧客アドバタイジング用のインターフエースを管理し、処理しそして提供することに向けられていることを注意しておく。
【０１２４】
上記で論じた様に、各クライアントシステムは、該クライアントシステム上で動作しそして該分散処理システムのワークロードと処理を管理するクライアントエージェント（ｃｌｉｅｎｔ ａｇｅｎｔ）を有する。図１５に示す様に、該クライアントエージェント２７０Ａ、２７０Ｂ．．．２７０Ｃの各々はそれぞれ通信リンク１５１６，１５１８．．．１５２０を通して該サーバーシステム１０４と通信する。上記で論じた様に、どんな数の種々の技術とアーキテクチャーもこれらの通信リンクを提供するために利用されてもよい。クライアントエージェント２７０Ａに関して図１５に示す実施例では、各クライアントエージェントは基本分散処理システム要素（ｂａｓｅ ｄｉｓｔｒｉｂｕｔｅｄ ｐｒｏｃｅｓｓｉｎｇ ｓｙｓｔｅｍ ｃｏｍｐｏｎｅｎｔ）１５０６と分離型プロジェクト又はワークロード要素（ｓｅｐａｒａｔｅ ｐｒｏｊｅｃｔ ｏｒ ｗｏｒｋｌｏａｄ ｃｏｍｐｏｎｅｎｔ）１５０４を有する。描かれている様に、通信インターフエース１５０８，コアエージェントモジュール１５０２、そしてユーザーインターフエース１５１０は該基本分散処理システム要素１５０６を構成する。該タスクモジュール１５１２と該ワークユニット１５１４は該分離型プロジェクト又はワークロード要素１５０４を構成する。該タスクモジュール１５１２は、各プロジェクトワークユニット１５１４の処理を提供するために該コアエージェントモジュール１５０２の頂部上で動作する。望まれる様に該クライアントエージェント内には種々の又は追加のモジュール、サブシステム又は要素が含まれてもよいことを注意しておく。例えば、パーソナルコンピユータスクリーンセーバー要素が該基本分散処理システム要素１５０６又は該分離型プロジェクト又はワークロード要素１５０４の１部であってもよい。
【０１２５】
上記で論じた様に、安全サブシステム又はインターフエースが、該分散処理システム１００の種々のデバイス又はシステム間の安全な相互作用を提供するために含まれてもよい。図１５に描かれる様に、安全サブシステム及びインターフエース１５６０は該サーバーシステム１０４，該データベースシステム１５４６，該ウエブインターフエース１５５４、そして該クライアントエージェント２７０Ａ、２７０Ｂ．．．２７０Ｃと相互接続される。これらの相互接続はそれぞれライン１５６６，１５６４，１５６２，そして１５６８で表される。該安全サブシステム及びインターフエース１５６０は該分散処理システムの通信と動作を安全にするため動作する。この安全サブシステム及びインターフエース１５６０は又利用されてもよい種々の可能な安全アーキテクチャー、技術そして特徴を表す。この安全化は、送るデバイスが受けるデバイスの信憑性（ａｕｔｈｅｎｔｉｃｉｔｙ）を検証（ｖｅｒｉｆｉｅｓ）する、及び／又は、該受けるデバイスが該送るデバイスの信憑性を検証するように、例えば、それらが伝送を送る及び受ける時デバイスの認証（ａｕｔｈｅｎｔｉｃａｔｉｏｎ）を提供する。加えて、この安全化は、該分散処理システムのデバイスとシステムの間の伝送の暗号化を提供してもよい。該安全サブシステム及びインターフエース１５６０は又、該分散処理システム内のデバイスの全ての相互作用に安全が備えられるように、各デバイス内の安全サブシステム又は多数デバイス間で共有される安全対策を利用することを含む、種々の方法で実施されてもよい。この方法で、例えば、クライアントエージェント２７０Ａ、２７０Ｂ．．．２７０Ｃを含む該分散処理システムのどんな部分のプログラミング又は動作にも未公認エントリー（ｕｎａｕｔｈｏｒｉｚｅｄ ｅｎｔｒｙ）が行われないことを確認するために安全対策が配置設定される。
【０１２６】
動作では、クライアントシステム又は最終ユーザーは、望まれる様に、登録し、ユーザーの好みを設定し、統計をチェックし、スイープステークエントリーをチェックし、又は利用可能などんな他のユーザーインターフエースオプションも達成するために、該ウエブインターフエース１５５４内で該クライアントサブシステム１５４８を利用してもよい。アドバタイジングの顧客は、望まれる様に、登録し、バナー（）又は他のアドバタイズメントを追加又は修正し、アドバタイズメントにサーブするための規則をセットアップし、アドバタイジング統計をチェックし（例えば、クリック統計）、又は利用可能にされたどんな他のアドバタイザーインターフエースオプションも達成するために該ウエブインターフエース１５５４内の該アドバタイザーサブシステム１５５２を利用してもよい。顧客と彼等のそれぞれのタスク又はプロジェクトデベロッパー（ｔａｓｋ ｏｒ ｐｒｏｊｅｃｔ ｄｅｖｅｌｏｐｅｒ）は、バージョン／フエーズ制御サブシステム１５２８，該タスクモジュール及びワークユニットマネージャー１５３０、そして該ワークロード情報３０８の様な、データベースシステム１５４６内の情報及び該サーバーシステム１０４内のモジュールにアクセスするために該タスクデベロッパーサブシステム１５５０を利用してもよい。又顧客はプロジェクト結果をチェックし、新ワークユニットを追加し、欠陥報告をチェックし、望まれる様に、利用可能にされた何等かの他の顧客又はデベロッパーインターフエースオプションを達成してもよい。
【０１２７】
有利なことは、顧客又はデベロッパーは、処理されるべき何等かのデータに加えて、該データを処理する特定のプログラムコード及びアルゴリズムを含め、処理されるべき該プロジェクトの詳細を提供してもよい。図１５に示す実施例で、このプログラムコードは該ワークロード内のタスクモジュール１５１２の形を取り、一方該データはワークユニット１５１４の形を取る。これらの２部分は各クライアント仲介者２７０のプロジェクト又はワークロード要素１５０４を構成する。与えられたプロジェクトについて、該タスクモジュール１５１２は、バージョン更新、パッチ又はフエーズ修正を除けば、比較的一定に留まりそうであり、一方該ワークユニット１５１４はそれが表すデータの処理が完了する各度に変化しそうである。該プロジェクト又はワークロード要素１５０４は該基本分散処理システム要素１５０６と関連して走る。種々の顧客又はプロジェクトが与えられたクライアントシステム上でスタートすると、該プロジェクト又はワークロード要素１５０４は典型的に置き換えられる、一方該基本分散処理システム要素１５０６は、バージョン更新、パッチ又は該分散処理システム用に行われた他の修正を除けば、比較的一定に留まりそうである。
【０１２８】
該サーバーシステム１０４からクライアントエージェント２７０Ａ、２７０Ｂ．．．２７０Ｃ迄送信される情報はタスクモジュール、ワークユニット用データ、そしてアドバタイジング情報を含んでもよい。該クライアントエージェント２７０Ａ、２７０Ｂ．．．２７０Ｃから該サーバーシステム１０４へ送信される情報はユーザー情報、システムの情報及び能力、現在のタスクモジュールバージョン及び移相情報、そして結果を含んでもよい。該データベース１５４６は、ワークロード情報（ＷＬ）３０８及びクライアント能力ベクトル（ＣＶ）６２０の様な、望まれる何等かの関連情報を保持してもよい。記憶されてもよい情報の例は、ユーザー情報、クライアントシステム情報、クライアントプラットフオーム情報、タスクモジュール、フエーズ制御情報、バージョン情報、ワークユニット、データ、結果、アドバタイザー情報、アドバタイズメントコンテント、アドバタイズメント購入情報、アドバタイズメント規則、又は何等かの他の関連情報を含む。
【０１２９】
今図１６，１７Ａ、１７Ｂ、１８Ａそして１８Ｂを見ると、本発明の分散処理用の安全の特徴についての実施例が説明される。図１６は安全サブシステムを含む分散処理環境の表現を提供する。図１７Ａと１７Ｂはクライアントシステムと該サーバーシステムの間の通信インターフエースのブロック線図を提供する。そして図１８Ａと１８Ｂは該サーバーシステムと該クライアントシステム用の安全対策の実施例の詳細ブロック線図を提供する。
【０１３０】
図１６を参照すると、分散処理システムの実施例１６００が描かれている。サーバーシステム１０４は安全サブシステム３５４を有しそれを通して該サーバーシステム１０４へ及びそれからの通信が安全にされる。クライアントシステム１０８Ａ、１０８Ｂ．．．１０９Ｃとクライアントシステム１０８Ｄ、１０８Ｅ．．．１０８Ｆはサーバーシステム１０４と、又は相互に、通信するどんな数でもよいクライアントシステムを表している。該クライアントシステム１０８Ａ、１０８Ｂ、１０９Ｃ、１０８Ｄ、１０８Ｅ及び１０８Ｆの各々はそれぞれ安全サブシステム２７２Ａ、２７２Ｂ、２７２Ｃ、２７２Ｄ、２７２Ｅそして２７２Ｆを有する。電子的情報１６０２は、意図されない又は傍受する（ｉｎｔｅｒｃｅｐｔｉｎｇ）受信者が誰も該電子的情報１６０２を理解せず、それをタンパー（ｔａｍｐｅｒ）しない、そしてどの第３パーテイ（ｔｈｉｒｄ ｐａｒｔｙ）も該分散処理システム１６００内に未公認情報を挿入しない様な、安全な仕方で該サーバーシステム１０４がクライアントシステム１０８Ａ、１０８Ｂ、１０９Ｃ、１０８Ｄ、１０８Ｅ及び１０８Ｆと通信すべきである情報を表す。図示されてないが、該クライアントシステム１０８Ａ、１０８Ｂ、１０９Ｃ、１０８Ｄ、１０８Ｅそして１０８Ｆのどの１つも、該サーバーシステム１０４へ、又は該クライアントシステム１０８Ａ、１０８Ｂ、１０９Ｃ、１０８Ｄ、１０８Ｅそして１０８Ｆのいずれの他のものへ、安全に送信されるべき電子的情報を有してもよいことは理解される。
【０１３１】
電子的情報１６０２は該分散処理システム１６００の動作を実現するために通信される情報を表す。この様な情報は、各クライアントシステムへダウンロードされるクライアントエージェント、何等かの与えられたワークロード用のワークロードアップリケーション、そしてクライアントシステムにより処理される何等かのワークユニットを含む。又電子的情報１６０２は、テキスト、画像、オーデイオストリーム、ビデオストリーム、データベース、スプレッドシート、ＰＤＦフアイル、ショックウエーブデータ（Ｓｈｏｃｋｗａｖｅ ｄａｔａ）、フラッシュデータ（Ｆｌａｓｈ ｄａｔａ）、アップリケーション、データフアイル、チャットストリーム（ｃｈａｔ ｓｔｒｅａｍ）又は何等かの他の情報、データ又はデータストリームの様な、該分散処理システム内で送信又は受信されたどんな種類の情報であってもよい。加えて、電子的情報はクライアントシステム１０８Ａ、１０８Ｂ、１０９Ｃ、１０８Ｄ、１０８Ｅそして１０８Ｆにより該サーバーシステム１０４及び／又は他のクライアントシステムの何れかへ送信されてもよい。
【０１３２】
サーバーシステム１０４内のサーテフイケートオーソリテイ（Ｃｅｒｔｉｆｉｃａｔｅ Ａｕｔｈｒｉｔｙ）ブロック１６０４は暗号化（ｅｎｃｒｙｐｔｉｏｎ）及び復号（ｄｅｃｒｙｐｔｉｏｎ）のコードの有効性を保証することを助ける実体（ｅｎｔｉｔｙ）を表す。例えば、公開（ｐｕｂｌｉｃ）／秘密（ｐｒｉｖａｔｅ）鍵暗号化環境（ｋｅｙ ｅｎｃｒｙｐｔｉｏｎ ｅｎｖｉｒｏｎｍｅｎｔ）内では、サーテフイケートオーソリテイは特定の実体からであると主張された公開鍵（ｐｕｂｌｉｃ ｋｅｙ）が事実合法的にその実体からであることを保証することを助ける。インターネット上でこのＣＡ機能を行う１つの第３パーテイの実体はベリサイン社（Ｖｅｒｉｓｉｇｎ， Ｉｎｃ．）である。第３パーテイの実体に該ＣＡ機能を行わせることは信頼されない実体間の取引又は通信で有利である。例えば、送信する実体がその公開鍵情報を該第３パーテイのＣＡに提供するが、該第３パーテイのＣＡは該情報を検証し、該送信する実体の公開鍵情報を含むサテフイケートを創る。このサーテフイケートは次いで暗号化され、該第３パーテイのＣＡにより署名されてもよい。次いで受信する実体は該第３パーテイのＣＡから該サーテフイケートを得て、該第３パーテイのＣＡの公開鍵でそれを複号する。該受信パーテイは次いで該送信パーテイの公開鍵を有し、それが該送信パーテイからの合法的公開鍵であるため、正当に安全である。
【０１３３】
図１６に示される様に、該ＣＡ機能は、該サーバーシステム１０４がクライアントシステム１０８Ａ、１０８Ｂ、１０９Ｃ、１０８Ｄ、１０８Ｅ及び１０８Ｆそして該分散処理システムの１部である何等かの他のデバイスに関してそれら自身のサーテフイケートオーソリテイとして作用するような、該サーバーシステム１０４の部分であってもよい。第３パーテイのＣＡはこの分散処理システムでは同じ様には必要でなく、それは該サーバーシステム１０４が主として該分散処理システムの動作を導くからである。かくして、ＣＡ機能を提供する第３パーテイの実体の必要は少ない。ＣＡ機能は該サーバーシステム１０４に依ってのみか、第３パーテイのＣＡ、又は特定の実施例用に望まれる様に、サーバーシステム１０４と第３パーテイのＣＡとの何等かの組合せに依ってのみ提供されることを注意しておく。加えて、もし望まれるならば、該サーバーシステム１０４と該分散処理システム内の該デバイスの間の安全な通信がサーテフイケートオーソリテイの使用なしで行われようにＣＡ機能は提供されなくすることが出来る。
【０１３４】
図１７Ａはクライアントシステム１０８とサーバーシステム１０４の間の通信インターフエース用の実施例１７００のブロック線図である。この実施例１７００では、該ネットワークは好ましくはインターネットがよい。描かれる様に、該クライアントシステム１０８はクライアントエージェント２７０とクライアントブラウザー１７０２を有する。該サーバーシステム１０４はクライアントエージェントダウンロードサイト１７１０を有し、それから該クライアントシステム１０８は通信１７０４を通して該クライアントエージェント２７０をダウンロードしてもよい。又該サーバーシステム１０４はブロック１７１２を有するが、それは通信１７０６を通して該サーバーシステム１０４用ウエブインターフエースにより提供される種々のクライアントサービス機能を表す。例えば、公開／秘密鍵安全環境では、クライアントシステム１０８はブロック１７１２から、サーバー公開鍵を含むサーテフイケートオーソリテイ（ＣＡ）のサーテフイケートをダウンロードしてもよい。加えて、該クライアントシステム１０８は該サーバーシステム１０４用のウエブページインターフエースへログイン（ｌｏｇｉｎ）してもよい。そして該サーバーシステム１０４は動的なサーテフイケート（ｄｙｎａｍｉｃ ｃｅｒｔｉｆｉｃａｔｅｓ）を発生してもよい。該クライアントシステム１０８は又、例えば、プロジェクトワークユニットを受信するために、通信１７０８を通してアップリケーションサーバー１７１４へ、そしてそれから、情報を送信し、受信してもよい。最後に、描かれている様に、データベースシステム１５４６は通信１７１６，１７１８そして１７２０を通して該サーバーシステム１０４のブロック１７１０，１７１２そして１７１４へ、そしてそれから、情報を送信し、受信してもよい。上記で更に論じた様に、データベースシステム１５４６は何等かの望まれる情報、例えば、ワークロードデータベース３０８及び／又は能力ベクトルデータベース６２０を含んでもよい。
【０１３５】
図１７Ｂは通信１７０４，１７０６そして１７０８用に利用されてもよいインターネット通信プロトコル構造１７５０用のブロック線図である。図１７Ｂで描かれる様に、相互に通信するために、３つの基本的アップリケーション層（ｂａｓｉｃ ａｐｐｌｉｃａｔｉｏｎ ｌａｙｅｒｓ）が各クライアントシステム１０８と該サーバーシステム１０４とにより利用される。ＴＣＰ／ＩＰ層１７５６は標準インターネット通信プロトコルを表し、それは当業者には公知の様に、デバイスが該インターネット中を相互に情報を識別し送信出来るようにする。安全ソケット層（ｓｅｃｕｒｅ ｓｏｃｋｅｔ ｌａｙｅｒ）（ＳＳＬ）の様な、安全ネットワーク層（ｓｅｃｕｒｅ ｎｅｔｗｏｒｋ ｌａｙｅｒ）（ＳＮＬ）１７５４は、それらサーバー又は他のデバイスが同じプロトコルを利用する限り、それらが通信するサーバー及び他のデバイスの実体をデバイスに確認可能にさせるプロトコルを表す。該アップリケーション安全レベル（ａｐｐｌｉｃａｔｉｏｎ ｓｅｃｕｒｉｔｙ ｌｅｖｅｌ）１７５２は該クライアントシステム１０８及び／又は該サーバーシステム１０４上で走るプログラムにより実施される他の望まれる安全又は通信プロトコルを表す。
【０１３６】
動作では、該サーバーシステム１０４は、該クライアントシステム１０８が該クライアントエージェントダウンロードサイト１７１０から該クライアントエージェント２７０をダウンロードすることを要求することにより該クライアントシステム１０８への該クライアントエージェント２７０のダウンロードを安全にする。サーバー認証シーケンスの部分として、ダウンロードサイト１７１０は、それらが適当なサーバーシステム１０４に確かに接続されるようユーザーに保証するために識別子（ｉｄｅｎｔｉｆｉｅｒ）を送り返す。この識別子は、例えば、ＣＡサーテフイケートであってもよいが、望まれる様な、何等かの他の識別子でもよい。本発明の該分散処理システム用の出来るだけ多くの分散デバイス上で走るクライアントエージェントをもつことが望ましいので、ユーザー認証は該ダウンロードサイト１７１０から該クライアントエージェント２７０をダウンロードするためには要求されない。
【０１３７】
一旦クライアントシステム１０８が該クライアントエージェント２７０をダウンロードし設置すると、該クライアントシステム１０８は、該分散処理システム内で動作を始めるために該アップリケーションサーバー１７１４と通信する。これらの通信用に、安全を保証するためにサーバーとクライアントの認証が求められる。この認証を達成するために、例えば、双方向認証（ｔｗｏ−ｗａｙ ａｕｔｈｅｎｔｉｃａｔｉｏｎ）が利用されてもよい。該クライアントエージェント２７０用の公開／秘密鍵組合せを提供するために、クライアントシステム１０８によりダウンロードされた各クライアントエージェント２７０はそのコード内にデフオールト識別子（ｄｅｆａｕｌｔ ｉｄｅｎｔｉｆｉｅｒ）及びデフオールト公開／秘密鍵対（ｄｅｆａｕｌｔ ｐｕｂｌｉｃ／ｐｒｉｖａｔｅ ｋｅｙ ｐａｉｒ）を埋め込んでもよい。かくして、該サーバーシステム１０４は各クライアントシステム１０８を認証（ａｕｔｈｅｎｔｉｃａｔｅ）するために安全なネットワークプロトコル（ＳＳＬ又は同様なスキームの様な）を使用してもよく、そして各クライアントシステム１０８はそれが通信する各サーバーアップリケーションを認証ために両立するプロトコルを使用してもよい。これらのアップリケーションは、例えば、ブロック１７１２と１７１４により提供される機能を有し、従って該通信１７０６と１７０８は認証を利用する。
【０１３８】
公開／秘密鍵組合せと付随する識別子又はサーチフイケートを該クライアントエージェント２７０内に埋め込む代わりとして、該公開／秘密鍵対がブロック１７１２で動的に発生されてもよい。例えば、スタートアップ時、リブート（ｒｅｂｏｏｔ）時又は何等かの望まれる時又はイベントに際し、該クライアントシステム１０８は新しい公開／秘密鍵対を発生してもよい。該クライアントシステム１０８が該サーバーシステム１０４と次ぎに通信する時、該クライアントシステム１０８は該サーバーシステム１０４からサーチフイケートを要求する。次いで該サーバーシステム１０４はサーチフイケートオーソリテイ（ＣＡ）として作用し、該クライアントシステム１０８にＣＡサーチフイケートを提供する。従ってこの動的サーチフイケート発生は、各クライアントシステム１０８が安全なネットワークプロトコル通信用のそれ自身の公開／秘密鍵対を有することが出来るようすること、そしてリブートの様な、該クライアントシステム１０８用の何等かの望まれる再発イベント（ｒｅｃｕｒｒｉｎｇ ｅｖｅｎｔ）時この鍵対変更を持つことにより追加的安全を見越している。
【０１３９】
該クライアントシステム１０８は、ブロック１７１２の部分である、該認証サーバーへログオンすることによりその該サーバーシステム１０４との通信を始動する。該ユーザーは、もし既に登録されていれば、有効なイーメールアドレス（ｅ−ｍａｉｌ ａｄｄｒｅｓｓ）及び／又はパスワード（ｐａｓｓｗｏｒｄ）を入れるよう促されるか、又はもし該イーメールアドレス及び／又はパスワードが認識されないならば登録するよう求められる。一旦登録が完了すると、パスワードは、該ユーザーの検証を提供するために該ユーザーへ戻るようイーメールされてもよい。ユーザーが該サーバーシステム１０４内にログする時認証が成功すれば、該サーバーシステム１０４はホストＩＤ（ｈｏｓｔ−ＩＤ）、そしてユーザーＩＤ及び何等かの与えられた通信セション用セション鍵（ｓｅｓｓｉｏｎ ｋｅｙ ｆｏｒ ａｎｙ ｇｉｖｅｎ ｃｏｍｍｕｎｉｃａｔｉｏｎ ｓｅｓｓｉｏｎ）を提供してもよい。
【０１４０】
又、一旦ユーザーが成功裡に登録すると該ユーザーは、ホスト特定的好みを設定する以外に、そのシステムネットワークブラウザーと相互作用する必要なしに、どんな数の他のホスト又はユーザーシステム上に該クライアントエージェント２７０を設置してもよいことは望ましいことである。例えば、ダウンロードされると、該クライアントエージェント２７０は、適当なホスト及びユーザーアイデンテフイケーションを含め該適当なフアイルを該クライアントシステム１０８に設置する自己解凍プログラム（ｓｅｌｆ−ｅｘｔｒａｃｔｉｎｇ ｐｒｏｇｒａｍ）の形を取っている。加えて、適当なアイデンテフイケーションを確認するのを助けるために、該クライアントシステム１０８が該サーバーシステム１０４と通信する各度に該セション鍵が交換されてもよい。例えば、該クライアントシステム１０８は、それが該サーバーシステム１０４と通信する各度に該サーバーシステム１０４へその現在のセション鍵を通信してもよい。該サーバーシステム１０４は次いで該クライアントシステム１０８が該次のセション用に利用するために新しいセション鍵を送るであろう。この方法で、新鮮でないアイデンテフイケーション情報が減じられてもよい。この安全の特徴に加えて、通信は又望まれる様に種々の暗号技術を用いて暗号化及び復号されてもよい。
【０１４１】
今図１８Ａ及び１８Ｂを参照すると、公開／秘密鍵暗号化を利用する安全モデルについての実施例が論じられる。この安全モデルは該サーバーシステム１０４用のＣＡサーテフイケートを提供するために第３パーテイのＣＡを利用する。
【０１４２】
図１８Ａはサーバーシステム１０４により実施される安全過程についての実施例１８００のブロック線図である。電子的情報１６０２はクライアントシステム１０８へ通信されるべきものである。この電子的情報は安全情報を提供する４つの異なる通路を通過する。
【０１４３】
１つの通路はブロック１８０２内の該サーバー秘密鍵で暗号化される電子的情報１６０２で始まる。次いで、ブロック１８３０で、該暗号化済み情報はコンピユータへ送られる。この暗号化済み情報は矢印１８２６により表される。
【０１４４】
第２通路はブロック１８０２から、該暗号化済み電子的情報用にハッシュ値（ｈａｓｈ ｖａｌｕｅ）が発生されるブロック１８０４へ流れる。ハッシュ値はユニークな値であるが、何れの与えられた電子的フアイル用にもそのフアイルのコンテントと、該ユニークな値を計算するため使用されるアルゴリズムと、に基づいて発生されてもよいユニークな値であることを注意しておく。当業者には理解される様に、ハッシュ値を計算するために使用されてもよい何等かの数のアルゴリズムがある。該第２通路を下りブロック１８０６へ進むと、該暗号化済み電子的情報（すなわち１８２６経由でブロック１８３０から該クライアントシステムへ送られる該情報）用に該サーバー側で発生される該ハッシュ値は該クライアントシステム１０８からのハッシュ値１８２２と比較される。このハッシュ値１８２２は、該クライアントシステム１０８が該サーバーシステム１０４から受信した該暗号化済み電子的情報用のハッシュ値の該クライアントシステムの計算を表す。もしタンパリングが起こらず、該データが精確に伝送されれば、該クライアントシステムハッシュ値は該サーバーハッシュ値と整合すべきである。ブロック１８０８で、該サーバーシステム１０４は該クライアントシステム１０８へ戻るよう該ハッシュチェック評価の結果の指示（ｉｎｄｉｃａｔｉｏｎ）を供給する。この合格（ｐａｓｓ）／失敗（ｆａｉｌ）の決定は矢印１８２４で示される。
【０１４５】
第３通路はハッシュ値が非暗号化電子的情報１６０２用に計算されるブロック１８１０で始まる。このハッシュ値は次いでブロック１８１６で該サーバー秘密鍵で暗号化される。次ぎに、この暗号化済みハッシュ値はブロック１８１８でクライアントシステム１０８に送られる。該矢印１８２１は該非暗号化電子的情報用の該暗号化済みハッシュ値を表す。
【０１４６】
第４の通路、そして図１８Ａの実施例１８００で最後に描かれたものはブロック１８１０からブロック１８１２へ流れるが、該ブロック１８１２で該ハッシュ値はＮの異なる部分に分割される。これらのＮの異なる部分は好ましくは、Ｎの異なるクライアントシステム１０８のみならず、Ｎの異なる部分の何等かの１つの冗長な配布を受ける何等かのクライアントシステム１０８用にも指定されるのがよい。ブロック１８１４で、該Ｎの異なるハッシュ値部分は該サーバーの秘密鍵で暗号化される。次ぎに、該Ｎの異なる暗号化済みハッシュ値部分はブロック１８２０で、Ｎの異なるクライアントシステム１０８へ送られるのみならず、該ハッシュ値部分の冗長な配布を受けるクライアントシステム１０８へも送られる。該矢印１８２８は該Ｎの異なるハッシュ値部分の配布を表す。該Ｎのハッシュ値部分の冗長な配布は、図１８に関連して下記で論じる様に、該ハッシュ値がクライアントシステム１０８により複製（ｒｅｃｏｎｓｔｒｕｃｔｅｄ）される時、何等かの与えられた時に該受信するクライアントシステムの１つが利用出来ない場合、各部分用に多数の源を有することが望ましいからであることを注意しておく。
【０１４７】
今図１８Ｂを見ると、クライアントシステム１０８により実施される対応する安全過程が実施例１８５０に関連して論じられる。最初に、ブロック１８５４で、該クライアントシステム１０８は該サーバー公開鍵と該サーバーアイデンティティを含むＣＡサーテフイケート１８５２を受信する。上記で説明した様に、ＣＡサーテフイケートの代わりに他のユニークな識別子が利用されてもよいことを再び注意しておく。もしＣＡサーテフイケートが利用されるならば、このＣＡサーテフイケートは第３パーテイのサーテフイケートオーソリテイ（ＣＡ）又は該サーバーシステム１０４又は何等かの他の望まれる源から提供されてもよい。ブロック１８５６で、該クライアントシステム１０８は該ＣＡの公開鍵を使用して該ＣＡサーテフイケートの精確さを検証する。もしこの検証が成功しないなら、該クライアントシステム１０８は再トライする前に幾らかの時間間隔だけ待ってもよい。加えて、該時間間隔は時間のランダムな期間であってもよい。加えて、図１７Ａと１７Ｂに関連して論じた様に、該クライアントシステム１０８は該サーバーシステム１０４へログインするであろう。もしこの認証がこのログインで成功しないなら、該クライアントシステムは該システム及び該サーバーシステム１０４のユーザーに知らせそして次いで再検証（ｒｅ−ｖｅｒｉｆｙ）を企てる前に幾らかの時間間隔又はランダムな時間だけ待つ。
【０１４８】
ブロック１８６２で、該クライアントシステム１０８は暗号化済み情報１８２６を受信する。次ぎに、該クライアントシステム１０８はブロック１８６４で該暗号化済み情報用のハッシュ値を創る。このハッシュ値は、図１８Ａのブロック１８０４で該暗号化済み情報用に該ハッシュ値を発生することで該サーバーシステム１０４により利用された同じアルゴリズムを使用して計算されるのが好ましい。一旦該クライアントシステム１０８が該暗号化済み情報用に該ハッシュ値を計算すると、このハッシュ値１８２２はブロック１８６６から該サーバーシステムへ送信される。上記で論じた様に、合格（ｐａｓｓ）／失敗（ｆａｉｌ）応答１８２４は該サーバーシステム１０４により送り戻される。このハッシュチェック評価はブロック１８６８で受信される。もし該チェックが失敗（ＦＡＩＬ）であれば、流れはブロック１８７０へ進み、そこでは該クライアントシステム１０８は該サーバーシステム１０４と、問題が遭遇されたことが付される何等かの他のクライアントシステムと、通告（ｎｏｔｉｃｅ）を送る。次いで該クライアントシステム１０８は該サーバーシステム１０４との現在の接続を終了する。該クライアントシステム１０８はブロック１８７０へ移動する前に何回か再トライをしてもよいこと、そして報告する計画（ｓｃｈｅｍｅ）が修正され、変更され望まれるように開発されてもよいことを注意しておく。
【０１４９】
もし該ハッシュチェック評価が合格（ＰＡＳＳ）であったなら、流れはブロック１８７２へ進み、そこでは該電子的情報はブロック１８５６で検証された該サーバー公開鍵で復号される。次いでハッシュ値は電子的情報１８７４用に計算される。繰り返すが、該ハッシュ発生アルゴリズムは図１８Ａのブロック１８１０で該ハッシュ値を創ることで該サーバーシステム１０４により使用されたと同じであるのが好ましい。次ぎに、該ハッシュ値はブロック１８７４からブロック１８８６へ送信され、そこではそれは２つの他のハッシュ値計算と比較される。
【０１５０】
該他のハッシュ値の１つはブロック１８５８で始まる通路から来るが、該ブロックでは該クライアントシステム１０８は該非暗号化情報用の該暗号化済みハッシュ値１８２１を受信する。ブロック１８６０で、該暗号化されたハッシュ値は該サーバーの公開鍵で復号される。該ハッシュ値は次いでブロック１８８６へ送られる。
【０１５１】
ブロック１８８６用の第３のハッシュ値は図１８Ａのブロック１８２０で該サーバーシステムにより送り出された該Ｎの異なるハッシュ部分を利用する通路から来る。ブロック１８７６で、該クライアントシステムは該分割されたハッシュ値１８２８の部分１８２８Ａを受ける。該分割されたハッシュ値の１つに加えて、該サーバーシステム１０４は又該Ｎ−１の他のハッシュ値部分用のアイデンティティと源とを提供する情報を送るだろうと注意しておく。ブロック１８７８で、該クライアントシステム１０８は該サーバー公開鍵で該部分１８２８Ａを復号する。次ぎに、ブロック１８８０で、該クライアントシステム１０８は、Ｎ−１の他のクライアントシステムであってもよい該Ｎ−１の他の部分用の源のアイデンティティを解く。ブロック１８８２で、該クライアントシステム１０８は該Ｎ−１の他の部分を得て、ブロック１８８４で該Ｎの分割部分を該非暗号化電子的情報用のハッシュ値に組み立てる。次いで最終ハッシュ値はブロック１８８６へ送られる。上記で示す様に、１クライアントシステムの未入手（ｕｎａｖａｉｌａｂｉｌｉｔｙ）がもう１つのクライアントシステムが該Ｎの異なる部分を再組立出来なくすることがないように、該分割されたハッシュ値のＮの部分の冗長な配布が望ましいことを注意しておく。
【０１５２】
一旦該３つのハッシュ値が３つの異なる源からブロック１８８６で受けられると、それらはそれらが整合するかどうかを見るため比較される。もしこのチェックが失敗（ＦＡＩＬ）であれば、流れはブロック１８８８へ移動し、そこでは該クライアントシステム１０８は該サーバーシステム１０４と、問題が遭遇されたことを付す何れの他のクライアントシステムと、に通告を送り出す。該クライアントシステム１０８は又それが該Ｎ−１の他の部分を受信した該クライアントシステムにも知らせてもよく、該クライアントシステム１０８は、もし望むなら、該過程を再トライしてもよい。加えて、一旦クライアントシステム１０８が可能性のある問題を知らされると、該クライアントシステム１０８は該サーバーシステムが妥協されなかったことを確認するために該サーバーシステム１０４から特別チェックフアイルをダウンロードしてもよい。もしなお失敗であるなら、該クライアントシステム１０８は該サーバーシステム１０４との現在の接続を終了する。もしチェックが合格であるなら、ブロック１８９０で表される様に、該電子的情報は利用される。
【０１５３】
図１９及び２０はネットワークサービスプロバイダーの様な第３パーテイが、彼等のそれぞれのユーザーベースをモニタイズ（ｍｏｎｉｔｉｚｅ）、又はそれらから収入を得ることを可能にする本発明の該分散処理システムと環境を更に説明するためのブロック線図を提供する。
【０１５４】
最初に図１９を見ると、ネットワークサービスプロバイダーが彼等のユーザーベースをモニタイズ出来るようにされた分散処理システム１００と環境１９００用のブロック線図が描かれている。環境１９００は分散処理システム１００，顧客１５２、そして第３パーテイネットワークサービスプロバイダー１９０２を含む。顧客１５２は該顧客１５２が該分散処理システム１００により処理したいプロジェクト１９１２を有する実体を表す。該プロジェクトデータの処理とこの処理の結果１９１４に対するリターン（ｒｅｔｕｒｎ）で、顧客１５２は支払い１９１６を行うことが多い。該第３パーテイネットワークサービスプロバイダー１９０２はユーザー１９０６Ａ、１９０６Ｂ．．．１９０６Ｃを含むそのユーザーベース１９２０を識別するユーザーデータベース１９０４を保持する。
【０１５５】
該サービスプロバイダー１９０２は、例えば、インターネットアクセス、イーメール、ウエブページホステング、ドメイン名ホステング、フアイル共有サービス又は何等かの他のインターネットべースサービスの様な、ユーザーへの種々のサービスの何れかを提供するインターネットビジネスであってもよい。加えて、この様なインターネットベースのサービスは無料又は低コストでユーザーへ提供され、その場合、該ユーザーは該無料又は低コストサービスに対するリターンとしてバナー又は他のアドバタイズメントを見るよう歴史的に同意している。しかしながら、上記で述べた様に、アドバタイジング収入は減少した価格付け（ｐｒｉｃｉｎｇ）に曝され、多くのインターネットベースの会社にとっては信頼出来ない収入源となった。分散処理システム１００が引き受け得るプロジェクトの数とこれらのプロジェクトが処理され完了する速度を実現するために、該分散処理システム１００に利用可能な計算資源の量と能力を増加することが望ましい。サービスプロバイダー１９０２のユーザーが不足利用している（ｕｎｄｅｒｕｔｉｌｉｚｅｄ）資源のプールを表す度合で、これらのユーザーは可能性的に価値ある資源を該分散処理システム１００へ表している。
【０１５６】
本発明に依ると、サービスプロバイダー１９０２はそのユーザーベースからの価値を実現し、それによりこれらのユーザーに関係する計算資源の該分散処理システム１００による使用を実現することによりこのユーザーベースをモニタイズしてもよい。かくして、例えば、無料サービスに対するリターン（ｒｅｔｕｒｎ）で、該ユーザーは彼等のそれぞれの計算資源が該分散処理システム１００により利用されることを同意してもよい。該サービスプロバイダー１９０２は該分散処理システム１００に、収入共有１９１０に対するリターンでそのユーザーベースに関する該ユーザーアイデンティフイケーション（ＩＤｓ）１９０８を提供してもよい。本発明に依るこのモニタイジングアーキテクチャー（ｍｏｎｉｔｉｚｉｎｇ ａｒｃｈｔｅｃｔｕｒｅ）はそれにより、特に、アドバタイジング収入の様な、他の源からの低下する収入に面して、そのユーザーベースからの収入を発生するために、インターネットベースのサービスプロバイダーの様な、有用な処理能力を有するユーザーベースを管理する又は有するサービスプロバイダー又は他の実体のために著しく有利な収入を提供する。
【０１５７】
該収入共有（ｒｅｖｅｎｕｅ ｓｈａｒｉｎｇ）１９１０は、例えば、ユーザー１９０６Ａ、１９０６Ｂ．．．１９０６Ｃを通して利用可能にされた該ユーザー資源１９２２の使用を通して完了された該プロジェクト１９１２の方への、処理の量に対する支払い１９１６の共有であってもよい。該収入共有１９１０は、それに限定はされないが、（ａ）サイズ又は処理能力の様な該ユーザーベースの属性に基づく前払いの支払い（ｕｐｆｒｏｎｔ ｐａｙｍｅｎｔｓ）、（ｂ）該分散処理システムのメンバーとなるユーザー数に基づく支払い、（ｃ）該ユーザーベースにより処理されたプロジェクトのタイプに基づく支払い、又は（ｄ）該第３パーテイにより利用可能とされたユーザーの価値に関連する何等かの他の望まれた補償計画、を含めたどんな望まれる形を取ってもよい。
【０１５８】
従って、モニタイズする発明（ｍｏｎｉｔｉｚｉｎｇ ｉｎｖｅｎｔｉｏｎ）は、インターネット、イントラネット、無線又は他の仕方でネットワーク接続されたピーシーエス（ＰＣｓ）、インターネットアップライアンス（ｉｎｔｅｒｎｅｔ ａｐｐｌｉａｎｃｅｓ）、ノートブックコンピユータ、サーバー、記憶デバイス、エヌエイエス（ＮＡＳ）｛ネットワーク取付記憶装置（Ｎｅｔｗｏｒｋ Ａｔｔａｃｈｅｄ Ｓｔｏｒａｇｅ）｝、又は多数の有用な能力の何れかを提供出来る、そして価値あるサービス（例えば、無料のインターネットアクセス、イーメール、他）との交換で彼等のユーザーベースをモニタイズするアドバタイジング又は何等かの他の方法に依存するインターネットベースのビジネスのユーザーベースの様な不足利用されたユーザーベースの部分である、何等かの他の接続された計算デバイスの能力に焦点合わせする。上記で論じた様に、これらの有用な処理能力は、中央処理ユニット（含む複数）｛シーピーユーエス（ＣＰＵｓ）｝、デジタルシグナルプロセサー（含む複数）｛デーエスピーエス（ＤＳＰｓ）｝、グラフイック処理エンジン（含む複数）｛ジーピーイーエス（ＧＰＥｓ）｝、ハードドライブ（含む複数）｛エイチデーエス（ＨＤｓ）｝、メモリー｛エムイーエム（ＭＥＭ）｝、オーデイオサブシステム（含む複数）｛エイエスエス（ＡＳｓ）｝、通信サブシステム（含む複数）｛シーエスエス（ＣＳｓ）｝、取り外し可能メデイアタイプ｛アールエムエス（ＲＭｓ）｝、又は可能性的に有用な未使用能力を有する他のアドイン／オンアクセサリーズ｛エイ／オーエイエス（Ａ／ＯＡｓ）｝を含む包括的計算サブシステムの全体範囲に及ぶ。全ての未使用能力に対する市場創生と可能性ある補償は分散処理システム１００の大規模並列分散ソフトウエアアーキテクチャーを通して達成され得る。例えば、クレデイット（収入）は、仕事のユニット（ｕｎｉｔｓ ｏｆ ｗｏｒｋ）を管理し、処理しそして完了する目的でデバイス上に設置されたクライアントエージェントを経由してユーザーの計算デバイス上で、該サブシステムの１つ（又は１つ以上）により仕事のユニットが達成される各度に発生されるであろう。発生される全クレデイット／収入は、例えば、如何に多くが受けられたかに依存して動的であってもよい。本発明のこのアーキテクチャーを通して、サービスプロバイダーが前にこのユーザーベースを有効にモニタイズ出来なかった該サービスプロバイダーのユーザーベースから可成りの収入が発生される。
【０１５９】
更に、該実体１９０２は該ユーザー資源が該分散処理システム１００に提供される、又はそれにより利用されるように、ユーザーのグループ上に直接的又は間接的管理を有する何等かの実体であることを、より一般的側面で注意しておく。１つのこの様なより一般的実体の例は、例えば、コンピユータシステム又は計算デバイスのイントラネットネットワークを通して、該分散処理システム１００にリンクされることが出来る内部ユーザーの大きなグループを有する会社である。これらのユーザーに関連した該計算資源も又本発明に依りモニタイズされてもよい。
【０１６０】
今図２０を見ると、実施例２０００のブロック線図はそれらの要素に対する責任の表示的指示と共にクライアントエージェント２７０用の要素を表している。クライアントエージェント２７０はコアエージェント要素１５０２，プロジェクト要素１５０４そしてユーザーインターフエース要素１５１０を有する。上記に論じた様に、該コアエージェントは該クライアントエージェント２７０用のベース分散処理機能を提供出来る。該プロジェクト要素１５０４は該クライアントエージェント２７０用のプロジェクト特定的機能を提供出来る。そして該ユーザーインターフエース１５１０は何等かの望まれるユーザー視認可能な情報又は相互作用機能を提供出来る。これらの３つの一般的要素は、該プロジェクト要素１５０４、該コアエージェント要素１５０２そして該ユーザーインターフエース要素１５１０が、もし望まれるならば、適当なエイピーアイエス（ＡＰＩｓ）（アップリケーションプログラミングインターフエース）を通して一緒にリンクする分離したソフトウエアモジュールである様な、モジュール型ソフトウエア要素であってもよい。かくして、これらの要素の各々は、望まれる様に、独立して或いは合同して設計され、開発される。実際には、該コアエージェント要素１５０２は、該プロジェクト要素１５０４、該ユーザーインターフエース要素１５１０，そして何等かの他の望まれる要素が上に取り付けられる基幹（ｂａｃｋｂｏｎｅ）を提供出来る。かくして、何等かの与えられたクライアントエージェント２７０用の新しいプロジェクト又はインターフエースが望まれる時、例えば、この要素はモジュール式の仕方で該新要素と効率良く置き換えられるが、該基幹として該コアエージェント要素１５０２をなお利用する。加えて、各要素は該他の要素ソフトウエアコードに対する修正又は更新を要せずに更新及び修正される。
【０１６１】
又、図２０には、相互作用又はインターフエース２０１２および２０１４を通して相互に通信している顧客１５２、分散処理システム（ＤＰＳ）１００及びサービスプロバイダー１９０２が描かれている。図２０の実施例では、顧客１５２はプロジェクト要素１５０４に該ソフトウエア開発とコード２００２を提供する様に表されている。該分散処理システム１００は該コアエージェント要素１５０２に該コアエージェントコード２００８を提供する様に表されている。そして該サービスプロバイダーは該ユーザーインターフエース要素１５１０に該インターフエース開発とコード２０１０の少なくとも１部分を提供する様に表されている。動作では、該ワークロード２００４と該結果２００６はなお典型的に該分散処理システム１００の制御下にある。
【０１６２】
このモジュール型アーキテクチャーは該分散処理システム１００のオーナー（ｏｗｎｅｒ）とは別の実体によるプロジェクトソフトウエアコード及びインターフエースソフトウエアコードの開発を容易化することを注意しておく。例えば、図１９に関して、インターネットベースのサービスプロバイダーは、この様なサービスプロバイダーにより提供される無料のインターネットアクセスサービスのユーザー用のウエブブラウザーユーザーインターフエースの様な、それのユーザーベース用に既に設計され実施されたユーザーインターフエースを有する。一旦該コアエージェント要素がユーザーのコンピユータ上に設置されると、現在の第３パーテイユーザーインターフエースは該コアエージェント要素１５０２内に引っかかり、それにより該ユーザーの資源を該分散処理システム１００に利用可能にする一方、該ユーザーが該サービスプロバイダーから期待するに至った該ユーザーインターフエースを保持する。かくして、該サービスプロバイダー１９０２はそれが提供しつつある該サービス用にそれが望む該ユーザーインターフエースを提供する一方、同時に該分散処理システム１００用に利用可能な資源の部分となるそのユーザーを実現することによりそのユーザーベースをモニタイズする。
【０１６３】
本発明の更に進んだ変型と代わりの実施例はこの説明を見た当業者には明らかである。従って、本発明はこれらの例示的配備により限定されないことは認識されるであろう。従って、この説明は、図解用としてのみ考えられるべきであり、本発明を実行する仕方を当業者に開示する目的用である。ここに示され説明された本発明の形は現在の好ましい実施例と取られるべきであると理解する。形状、寸法部品配置で種々の変更がなされてもよい。例えば、ここに図解され説明されたそれらは等化な要素で置き換えられ、そして本発明のこの説明の利点を有した後では当業者には全て明らかな様に、本発明の或る特徴は他の特徴から独立に利用されてもよい。
【図面の簡単な説明】
【図１Ａ】
本発明に基づくクライアント機能およびインセンティブ機能を有する分散された処理システムに対するブロック線図である。
【図１Ｂ】
本発明に基づくカストマー・システム、サーバー・システムおよびクライアント・システムの間での情報の流れに対するブロック線図である。
【図２Ａ】
本発明に基づくクライアント・システムに対するブロック線図である。
【図２Ｂ】
本発明に基づくクライアント・システム内の処理エレメントに対するブロック線図である。
【図２Ｃ】
本発明に基づくクライアント・システムにインストールされたクライアント・システムのエージェントに対するブロック線図である。
【図２Ｄ】
本発明に基づくインセンティブ広告を含むクライアント・システムのエージェントに対する例示的ユーザー・インターフェースである。
【図３Ａ】
制御システム、懸賞システムおよび作業負荷データベースを含めて本発明に基づくサーバー・システムに対するブロック線図である。
【図３Ｂ】
本発明に基づくサーバー・システム、カストマー・システム、クライアント・システム、下請けホスト・システムに対するブロック線図である。
【図３Ｃ】
本発明に基づくサーバー・システムのプロセッサーに対するブロック線図である。
【図３Ｄ】
本発明に基づくサーバー・システムのプロセッサーに対する代替的ブロック線図である。
【図４】
本発明に基づく例示的懸賞インセンティブ動作の機能的ブロック線図である。
【図５Ａ】
本発明に基づくネットワーク現場索引作業に適用するための分散処理システムに対するブロック線図である。
【図５Ｂ】
本発明に基づく索引作業動作のための機能的ブロック線図である。
【図６Ａ】
制御システム、作業負荷データベース、クライアント能力のバランシング・ベクトル・データベースを含む本発明に基づくサーバー・システムに対するブロック線図である。
【図６Ｂ】
本発明に基づく作業負荷に関するクライアント能力のバランシングに対する機能的ブロック線図である。
【図７Ａ】
負荷試験および（または）サービスの質（ＱｏＳ）試験のような現場試験を行うべき例示的ネットワーク・サイトを含む本発明に基づく分散処理システムに対するブロック線図である。
【図７Ｂ】
本発明に基づく現場試験のための機能的ブロック線図である。
【図８】
本発明に基づくデータ・バックアップ用の分散処理システムのブロック線図である。
【図９】
本発明に基づく分散処理システムの環境のための相互接続構造の代替表示のブロック線図である。
【図１０】
本発明に基づくクライアント・システムにインストールされたクライアント・システムのエージェントに対するより詳細なブロック線図である。
【図１１Ａ】
本発明に基づく機械で発生した懸賞へのエントリーに対するより詳細なフロー線図である。
【図１１Ｂ】
本発明に基づく機械で発生した懸賞へのエントリーに対する代替的な詳細フロー線図である。
【図１２Ａ】
本発明に基づくカストマーがクライアント・システムの属性を選択できるようにする分散処理システムのブロック線図である。
【図１２Ｂ】
本発明に基づくクライアント・システムの属性を選択するためのブロック・フロー線図である。
【図１３Ａ】
本発明に基づくデータ変換サービスを提供する分散処理システムのブロック線図である。
【図１３Ｂ】
本発明に基づく分散処理システム内のデータ変換サービスのためのブロック・フロー線図である。
【図１４Ａ】
本発明に基づくデータ伝送キャッシングを提供する分散処理システムのブロック線図である。
【図１４Ｂ】
本発明に基づくデータ・シェアリングとファイル配布を提供する分散処理システムのブロック線図である。
【図１５】
本発明に基づく分散処理システムに対する代替的表示のブロック線図である。
【図１６】
本発明に基づくセキュリティ・サブシステムを含む分散処理システムに対する表示のブロック線図である。
【図１７Ａ】
本発明に基づくクライアント・システムとサーバー・システムの通信インターフェースのブロック線図である。
【図１７Ｂ】
本発明に基づくクライアント・システムとサーバー・システムの通信に対する通信レイヤのブロック線図である。
【図１８Ａ】
本発明に基づくサーバー・システムのためのセキュリティ活動の実施例に対する詳細ブロック線図である。
【図１８Ｂ】
本発明に基づくクライアント・システムのためのセキュリティ活動の実施例に対する詳細ブロック線図である。
【図１９】
分散処理システムおよびネットワーク・サービス・プロバイダーがそのユーザー・ベースを監視できる環境に対するブロック線図である。
【図２０】
そのコンポーネントに対する責任の代表的表示と共に、クライアント・エージェントに対するコンポーネントを代表するブロック線図である。
【図１】
2004513406.tif 000007
【図２】
2004513406.tif 000008
2004513406.tif 000009
2004513406.tif 000010
【図３】
2004513406.tif 000011
2004513406.tif 000012
2004513406.tif 000013
【図４】
2004513406.tif 000014
【図５】
2004513406.tif 000015
2004513406.tif 000016
【図６】
2004513406.tif 000017
【図７】
2004513406.tif 000018
2004513406.tif 000019
【図８】
2004513406.tif 000020
【図９】
2004513406.tif 000021
【図１０】
2004513406.tif 000022
【図１１】
2004513406.tif 000023
【図１２】
2004513406.tif 000024
2004513406.tif 000025
【図１３】
2004513406.tif 000026
2004513406.tif 000027
【図１４】
2004513406.tif 000028
2004513406.tif 000029
【図１５】
2004513406.tif 000030
【図１６】
2004513406.tif 000031
【図１７】
2004513406.tif 000032
【図１８】
2004513406.tif 000033
2004513406.tif 000034
【図１９】
2004513406.tif 000035
【図２０】
2004513406.tif 000036
【国際公開パンフレット】
2004513406.tif 000037
2004513406.tif 000038
2004513406.tif 000039
2004513406.tif 000040
2004513406.tif 000041
2004513406.tif 000042
2004513406.tif 000043
2004513406.tif 000044
2004513406.tif 000045
2004513406.tif 000046
2004513406.tif 000047
2004513406.tif 000048
2004513406.tif 000049
2004513406.tif 000050
2004513406.tif 000051
2004513406.tif 000052
2004513406.tif 000053
2004513406.tif 000054
2004513406.tif 000055
2004513406.tif 000056
2004513406.tif 000057
2004513406.tif 000058
2004513406.tif 000059
2004513406.tif 000060
2004513406.tif 000061
2004513406.tif 000062
2004513406.tif 000063
2004513406.tif 000064
2004513406.tif 000065
2004513406.tif 000066
2004513406.tif 000067
2004513406.tif 000068
2004513406.tif 000069
2004513406.tif 000070
2004513406.tif 000071
2004513406.tif 000072
2004513406.tif 000073
2004513406.tif 000074
2004513406.tif 000075
2004513406.tif 000076
2004513406.tif 000077
2004513406.tif 000078
2004513406.tif 000079
2004513406.tif 000080
2004513406.tif 000081
2004513406.tif 000082
2004513406.tif 000083
2004513406.tif 000084
2004513406.tif 000085
2004513406.tif 000086
2004513406.tif 000087
2004513406.tif 000088
2004513406.tif 000089
2004513406.tif 000090
2004513406.tif 000091
2004513406.tif 000092
2004513406.tif 000093
2004513406.tif 000094
2004513406.tif 000095
2004513406.tif 000096
2004513406.tif 000097
2004513406.tif 000098
2004513406.tif 000099
2004513406.tif 000100
2004513406.tif 000101
2004513406.tif 000102
2004513406.tif 000103
2004513406.tif 000104
2004513406.tif 000105
2004513406.tif 000106
2004513406.tif 000107
2004513406.tif 000108
2004513406.tif 000109
2004513406.tif 000110
2004513406.tif 000111
2004513406.tif 000112
2004513406.tif 000113
2004513406.tif 000114
2004513406.tif 000115
2004513406.tif 000116
2004513406.tif 000117
2004513406.tif 000118
2004513406.tif 000119
2004513406.tif 000120
2004513406.tif 000121
2004513406.tif 000122
2004513406.tif 000123
2004513406.tif 000124
2004513406.tif 000125
2004513406.tif 000126
2004513406.tif 000127
2004513406.tif 000128
2004513406.tif 000129
2004513406.tif 000130
2004513406.tif 000131
2004513406.tif 000132
2004513406.tif 000133
【国際公開パンフレット（コレクトバージョン）】
2004513406.tif 000134
2004513406.tif 000135
【国際調査報告】
2004513406.tif 000136
2004513406.tif 000137
2004513406.tif 000138