(57)【要約】計算および記憶領域集約的なタスクが、製品メーカー（８０）によって所有されている集中型のリソース（１０）を用いるのではなく、リモートにある製品メーカー（８０）の市販製品（１３）を使って実行されるシステム、方法およびビジネスモデルが開示される。本発明は製品メーカー（８０）の市販製品（１３）の余剰リソース（たとえば処理、記憶）を、製品の表示パフォーマンスに影響することなく使用する。市販製品（１３）の所有者は分散処理システム（１００）に自発的に参加したことに対する報酬クレジットを受け取りうる。報酬クレジットを交換する方法はいくらでもある。たとえばその製品メーカーの将来の製品の購入、商品、リゾート旅行パック、航空券などである。ある側面では、製品メーカー（８０）は該メーカー（８０）によって販売された市販製品のサービスを、サードパーティーが大規模処理タスクを完遂するために供する契約を結ぶこともできる。
2007522547.tif 000002
【特許請求の範囲】
【請求項１】
製品メーカーエンティティの複数のリモート製品装置によって大規模プログラミングタスクを処理する方法であって：
前記製品メーカーエンティティのメインプロセッサ（サーバー）において前記大規模プログラミングタスクを複数の作業タスクに分解し；
前記リモート製品装置から前記作業タスクの要求を受信し；
前記受信された要求に反応して前記作業タスクを前記製品装置に配布し；
前記製品装置から作業タスクの結果を受信し；
前記作業タスクの結果を前記メインプロセッサ（サーバー）において組み合わせて、前記大規模プログラミングタスクの全体としての処理結果を生じる、
動作を有することを特徴とする方法。
【請求項２】
前記分解する動作がさらに、前記メインプロセッサ（サーバー）において前記複数の作業タスクのそれぞれについて推定完了時間を計算することを含んでいることを特徴とする、請求項１記載の方法。
【請求項３】
前記メインプロセッサ（サーバー）に作業タスク結果がその推定完了時間内に返されない場合、作業タスクを別の製品装置に再配布する動作をさらに有することを特徴とする、請求項２記載の方法。
【請求項４】
前記リモート製品装置から前記複数の作業タスクの要求を受け取る前記動作がさらに、前記メインプロセッサ（サーバー）との通信セッションを確立するためにスケジュールに基づいて前記メインプロセッサ（サーバー）をポーリングする動作をさらに有することを特徴とする、請求項１記載の方法。
【請求項５】
基づくべき前記スケジュールが前記製品装置のそれぞれにおいて定義されているポーリング頻度パラメータに従って決定されることを特徴とする、請求項４記載の方法。
【請求項６】
前記ポーリング頻度パラメータが、前記製品装置において：（ｉ）該製品装置が待機モードにあることを判定する、（ｉｉ）該製品装置が低CPU使用および／または低メモリ使用状態にあることを判定する、（ｉｉｉ）該製品装置がシステム再起動中であることを判定する、（ｉｖ）該製品装置が現在作業タスクを処理中であることを判定する、（ｖ）該製品装置が所定の量のディスクスペースを利用できる状態で有していることを判定する、ことのうちの少なくとも一つに従って修正されうることを特徴とする、請求項５記載の方法。
【請求項７】
前記配布する動作に先立って、さらに：
前記メインプロセッサ（サーバー）において、前記要求した製品装置の機能および優先設定を配布すべき作業タスクと比較し、
前記比較に基づいて、前記要求した製品装置が前記メインプロセッサ（サーバー）から一つまたは複数の作業タスクを受け取るのに好適であるかどうかを判定する、
動作を有することを特徴とする、請求項１記載の方法。
【請求項８】
前記比較する動作に先立って、さらに、（ｉ）前記製品装置の機能および優先設定を製品メーカーエンティティデータベースから取得する、（ｉｉ）前記製品装置の機能および優先設定を前記製品装置から前記製品メーカーエンティティに転送することのうちの一方を有することを特徴とする、請求項７記載の方法。
【請求項９】
前記大規模プログラミングタスクを複数の作業タスクに分解する前記動作がさらに、前記メインプロセッサ（サーバー）において前記複数の作業タスクのあるものを決定的な作業タスクであると同定する動作を有することを特徴とする、請求項１記載の方法。
【請求項１０】
前記決定的な作業タスクが前記メインプロセッサ（サーバー）によって二つ以上のリモート製品装置に配布されることを特徴とする、請求項９記載の装置。
【請求項１１】
前記複数の製品装置の製品所有者に、前記作業タスクを処理するために費やされた処理リソースの量に比例して報酬ポイントを提供する動作をさらに有することを特徴とする、請求項１記載の方法。
【請求項１２】
報酬ポイント合計が、前記メインプロセッサ（サーバー）によって前記製品装置のそれぞれについてデータベースに維持されることを特徴とする、請求項１１記載の方法。
【請求項１３】
前記報酬ポイントが：その製品メーカーエンティティの将来の製品の購入の際の割引、商品、リゾートパッケージ、航空旅行、第三者ソースからの指定額の商品券、既存の製品装置についての無制限保証およびサービス、無料通話時間ならびに抽選機会からなる項目の群から選択される項目と交換可能であることを特徴とする、請求項１１記載の方法。
【請求項１４】
大規模プログラミングタスクを処理するためのシステムが：
製品メーカーエンティティを有しており、該製品メーカーエンティティが：
前記大規模プログラミングタスクを複数の作業タスクに分解し、前記複数のリモート製品装置から要求を受信し、前記複数の作業タスクを前記製品装置に配布し、前記製品装置から作業タスクの結果を受信し、前記作業タスクの結果を組み合わせて前記大規模プログラミングタスクの全体としての処理結果を生じるよう構成されたメインプロセッサ（サーバー）と、
前記複数のリモート製品装置のそれぞれについての製品装置機能のデータを保存するためのデータベースと、
前記製品メーカーエンティティに作業タスクを要求し、該作業タスクを処理し、前記製品メーカーエンティティに作業タスクの結果を返すよう構成された複数のリモート製品装置、
とを有することを特徴とするシステム。
【請求項１５】
前記メインプロセッサ（サーバー）がさらに、前記複数の作業タスクのそれぞれについて推定完了時間を決定し、前記複数の作業タスクのあるものを決定的な作業タスクとして同定するよう構成されていることを特徴とする、請求項１４記載のシステム。
【請求項１６】
前記メインプロセッサ（サーバー）が大規模プログラミングタスクを実行するよう構成された何らかの好適なサーバーコンピュータまたはプロセッサシステムであることを特徴とする、請求項１４記載のシステム。
【請求項１７】
前記製品メーカーエンティティがさらに、前記大規模プログラミングタスクの複数の作業タスクへの分解を管理し、前記複数のリモート製品装置からの要求の受信を管理し、前記製品装置への前記複数の作業タスクの配布を管理し、前記製品装置から受け取る作業タスク結果の受信を管理し、前記作業タスク結果を組み合わせて前記大規模プログラミングタスクの全体としての処理結果を生じることを管理するよう構成された分散管理機能を含むことを特徴とする、請求項１４記載のシステム。
【請求項１８】
前記複数のリモート製品装置のそれぞれが、作業タスクの受信を管理し、作業タスクの処理を管理し、作業タスク結果を前記製品メーカーエンティティに返すことを管理するためのクライアントプログラムを含むことを特徴とする、請求項１４記載のシステム。
【請求項１９】
前記クライアントプログラムが：（ａ）作業タスク受け入れ／拒否設定、（ｂ）処理時間割り当て設定、（ｃ）ディスクスペース割り当て設定、（ｄ）ポーリング頻度設定、（ｅ）メモリ割り当て設定、（ｆ）ＣＰＵ使用率タイプ設定、（ｇ）報酬タイプ設定、（ｈ）作業タスクタイプ設定、（ｉ）待機モードタイプ設定、（ｊ）自動処理タイプ設定、（ｋ）旧タスク再開タイプ設定からなる複数の優先設定を含むことを特徴とする、請求項１４記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品メーカーによって販売される市販製品の余剰リソースを使った分散コンピューティングのためのシステムおよび方法を提供する。
【背景技術】
【０００２】
分散コンピューティングはインターネットのような大規模ネットワークを通じて利用可能な空いている計算機パワーを操る技術である。そのような例の一つに、地球外知性探索（SETI:  Search  for  Extraterrestrial  Intelligence）という、インターネットに接続された何百万ものコンピュータが天文データを処理して地球外生命の兆候を同定しようとするプロジェクトがある。そのネットワークのコンピュータはみな解析の異なる部分に対して同時に作業をする。動作においてはプロセスはバックグラウンドモードで実行される。より具体的には、コンピュータはスクリーンセーバーとして使われるクライアントアプリケーションをダウンロードする。スクリーンセーバーがアクティブになるときにデータがSETIサーバーからダウンロードされ、データの解析がクライアントコンピュータでそのクライアントアプリケーションを使って実行される。解析結果はその後SETIサーバーに報告として返される（アップロードされる）。
【０００３】
分散処理技術のもう一つの例は、暗号解読コンテストで競うためにDistributed.net（2000年3月現在のURLはwww.distributed.net）によって開発、実装された。Distributed.netはインターネットに接続されたクライアントシステムによってダウンロードされうるクライアントソフトウェアプログラムを作成して配布した。そしてクライアントソフトウェアは、インターネット上の暗号化されたメッセージを解読するために特別に設計された巨大な分散処理システムの一部としてはたらく。
【０００４】
製品メーカーによって販売される小売り製品はますますそのリソース（たとえばプロセッサ、メモリ、ハードディスクスペース）を完全に利用することからはほど遠くなってきている。したがって、不使用のリソースを利用して、大規模な計算タスクを完遂するために効率的に製品メーカーの計算能力を拡張することが望ましいであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、計算および記憶領域集約的なタスクが、製品メーカーによって所有されている集中型のリソースを用いるのではなく、リモートにある製品メーカーの市販製品を使って実行されるシステム、方法およびビジネスモデルを提供する。本発明は製品メーカーの市販製品の余剰リソース（たとえば処理、記憶）を、製品の表示パフォーマンスに影響することなく使用する。
【課題を解決するための手段】
【０００６】
本発明のある側面によれば、本発明の原理に基づいて使用される市販製品について、該市販製品の所有者は報酬クレジットを受け取りうる。報酬クレジットを交換する方法はいくらでもある。たとえばその製品メーカーの将来の製品の購入、商品、リゾート旅行パック、航空券、第三者ソースからの特定の額の商品券、既存の製品装置についての無制限保証およびサービス、無料通話時間、抽選機会などである。
【０００７】
本発明のあるさらなる側面によれば、製品メーカーは、該メーカーによって販売された市販製品のサービスを、サードパーティーが大規模処理タスクを完遂するために供する契約を結ぶこともできる。
【０００８】
本発明のもう一つの側面によれば、分散コンピューティングの方法が：メインプロセッサ（サーバー）において大規模なプログラミングタスクを複数の作業タスクに分解し；複数のリモート製品装置からそこで処理すべき作業タスクの要求を受信し；前記複数の作業タスクを前記製品装置に配布し；前記製品装置から作業タスクの結果を受信し；作業タスクの結果をメインプロセッサ（サーバー）において組み合わせて、当該製品メーカーまたはサードパーティーの大規模プログラミングタスクの全体としての処理結果を生じる、動作を有する。
【０００９】
本発明のさらにもう一つの側面によれば、複数のリモート製品装置によって大規模プログラミングタスクを処理するためのシステムが：大規模なプログラミングタスクを複数の作業タスクに分解し、前記のリモート製品装置から要求を受信し、前記作業タスクを要求した製品装置に配布し、前記製品装置から作業タスクの結果を受信し、作業タスクの結果を組み合わせて前記大規模プログラミングタスクの全体としての処理結果を生じるよう構成されたメインプロセッサ（サーバー）を有している。
【発明を実施するための最良の形態】
【００１０】
具体的な実施形態の以下の記述では、付属の図面を参照する。図面は記述の一部をなし、本発明を実施しうる個別的な実施形態を例として示すものである。付属の図面においては、同様の参照符号は複数の図を通じて対応する部分を表す。本発明の範囲から外れることなく構造変化を施すことができるので、他の実施形態も使用されうることは理解しておくものとする。
【００１１】
たとえば北米のフィリップス社（商標）のような製品メーカーは、北米および世界じゅうの消費者に小売りレベルで膨大な数の市販製品を販売している。あらゆる製品メーカーと同様、フィリップス（商標）は日々の業務に関連して内部で大規模なプログラミングタスクを処理することを抱えている。そのようなタスクはフィリップスのような大企業の内部の計算リソースの負担となり、時として圧倒してしまうことがある。本発明は、フィリップスのようなエンティティの内部の計算リソースに対して課される増え続ける需要への解決策を提供する。それは、当該製品メーカーエンティティによって販売された膨大な数の市販製品の不使用の処理／記憶機能を利用することによって、分散コンピューティングに適した大規模プログラミングタスクを完遂することを助けることによる。参加する誘因として、製品所有者はさまざまな特典を提供されうる。たとえば、割り当てられた作業タスクにその製品が割いた作業／時間の量に比例して将来製品の購入の際の割引クレジットを受け取るなどである。製品がテレビ／セットトップボックスである場合、配布されたプログラミングタスクに割かれた作業／時間の量に比例して所有者は無料のオーディオ／ビデオコンテンツを与えられてもよい。報酬は、金銭的特典、既存の製品装置についての無制限保証およびサービス、無料通話時間やほかのサードパーティー製品といったサードパーティーの特典などの形を取ることもできる。さらなる例として、報酬は抽選システムに結び付けられることもできる。割いた作業／時間が多ければそれだけくじで当選する確率が増えるのである。さらに、ここではさまざまな種類の報酬方式が明示的に記載されているが、当業者には、同じように機能する報酬方式には数多くの他の形があることが理解されるであろう。
【００１２】
ここで図面、特に図１を参照すると、本発明の一つの実施形態は分散コンピューティングのためのシステム１００である。システム１００は、メインプロセッサ（またはメインサーバー）１０、配布された処理タスクを管理する分散管理機能１２および少なくとも機能と優先設定データを保存するためのデータベース１４を含む製品メーカーエンティティ８０を含んでいる。メインプロセッサ（サーバー）１０は、大規模プログラミングタスクを実行するようプログラムまたは構成されたいかなる好適なサーバーコンピュータシステムまたはその他のプロセッサシステムであってもよい。システム１００はさらに複数のリモート製品装置１３（１）、１３（２）、…、１３（Ｎ）を含んでいる。ここで、各製品装置１３にはクライアント管理機能２５（１）、２５（２）、…、２５（Ｎ）が付随しており、これについてはのちに述べる。製品装置１３は製品メーカーエンティティ８０とネットワーク２０を通じて通信する。
【００１３】
製品装置１３は、製品メーカーによって製造され、消費者に販売された膨大な数の製品を表している。製品装置１３はたとえばDVDレコーダー、デジタルテレビ、セットトップボックス、インターネットラジオ、さらには携帯電話、電子レンジその他の機器といった特殊機器をも含みうる。さまざまな製品装置１３の機能は、計算、処理および記憶機能の可能な全範囲にわたりうる。たとえば、製品装置１３の機能／構成としては：中央処理装置（CPU:  central  processing  unit）、デジタル信号プロセッサ（DPS:  digital  signal  processor）、グラフィック処理エンジン（GPE:  graphics  processing  engine）、ハードドライブ（HD:  hard  drive）、メモリ（MEM:  memory）、オーディオサブシステム（As:  audio  subsystem）、通信サブシステム（CS:  communications  subsystem）、リムーバブルメディアタイプ（RM:  removable  media  type）および潜在的に不使用の機能をもつその他のアクセサリーが含まれうる。本発明によって考えられている製品装置１３の数は非常に大きい、すなわち数千から数万のオーダーの製品である。
【００１４】
ある好ましい実施形態では、解くべき大規模プログラミングタスクは製品メーカーエンティティ（８０）のものでありうる。別の実施形態では、大規模プログラミングタスクは、製品メーカーエンティティ（８０）がプログラミング装置１３の計算サービスを契約したサードパーティーエンティティのものでありうる。この場合、製品装置１３が対話するのはサードパーティーエンティティ（８０）である。
【００１５】
ネットワーク２０は、製品装置１３が製品メーカーエンティティ（８０）と通信することを可能にするいかなるネットワークまたはネットワークの組み合わせでもよい。たとえば、ネットワーク２０はインターネット、無線伝送ネットワーク、有線伝送ネットワークまたはいかなる組み合わせでもよい。
【００１６】
クライアントプログラム２５は製品装置１３の機能を制御して、本発明の分散処理システムに関連した活動（たとえば作業タスクを受け入れ、作業タスクの処理を制御するなど）を実行させる。なお、所有者が参加しないことに決めれば、所有者は、以前にクライアントプログラム２５をインストールしていたとしたら該クライアントプログラム２５をオフにする選択肢がある。
【００１７】
ある実施形態では、クライアントプログラム２５は各製品装置１３内に工場で自動的にインストールされてもよい。別の実施形態では、クライアントプログラム２５は製品メーカーエンティティ（８０）からダウンロードされる。さらに別の実施形態では、製品所有者がクライアントプログラム２５がダウンロードされるのに許可を与えることができる。このタイプのインストールは、たとえば製品装置１３が製品メーカーのサーバー１０への接続を確立して更新、改訂、向上、修正、オーディオ／ビデオストリームなどを得る時点で生じうる。
【００１８】
各製品装置１３にインストールされるクライアントプログラム２５の具体的な形は特定の製品装置１３によって変わりうることは理解しておくものとする。
【００１９】
クライアントプログラム２５は製品装置１３のメモリ中に保存されうる。メモリとはたとえばハードドライブまたはハードディスク、フロッピー（登録商標）ディスク、CD-ROMのような補助記憶装置といったその他のコンピュータ可読媒体またはその他の形のROMもしくはRAMなどである。
【００２０】
クライアントプログラム２５は製品装置１３においてバックグラウンドモードで動作し、製品のパフォーマンスに影響しない。すなわち、製品パフォーマンスに捧げられているリソースは決して本発明に関連した活動を実行するために共有されることはない。本発明は、製品装置１３の、他で使われていないリソースを利用するだけである。たとえば、タスク優先度階層に従って動作する製品装置１３については、クライアントプログラム２５は常に可能な最低の優先度で動作する。クライアントプログラム２５が使わなければ不使用となる製品装置１３のリソースを利用するだけなのである。
【００２１】
クライアントプログラム２５はいくつかの優先設定を含んでおり、該優先設定は好ましくは製品メーカーエンティティ（８０）に付随するデータベース１４に保存される。ある実施形態に基づく優先設定を下記の表１に記載する。
【００２２】
【表１】
2007522547.tif 000003
以上の構成を有する本発明の分散コンピュータシステムの動作についてこれから述べる。
【００２３】
まず、製品メーカー８０の大規模プログラミングタスクが製品メーカーエンティティ（８０）によって本発明の原理に基づく分散コンピューティングに好適であると同定され、選択される。ひとたび選択されると、同定および選択された大規模プログラミングタスクは、リモート製品装置１３による処理に好適な複数のより小さな作業タスクに、メインプロセッサ（サーバー）１０によって分解される。大規模プログラミングタスクを分解するプロセスは製品メーカーエンティティ（８０）の分散管理機能１２の制御のもとに実行される。各作業タスクはメインプロセッサ（サーバー）１０によって解析され、推定完了時間が決定されて付与される。分散管理機能１２はまた、さまざまな作業タスクを精確な順序で完了するよう処理待ち行列にスケジューリングする。製品装置１３はプル・ベースで（たとえば、製品装置１３によって開始される仕方で）製品メーカーエンティティ（８０）に作業タスクを要求する。
【００２４】
ここで表１を参照すると、poll-freq優先設定は製品装置１３が製品メーカーエンティティ（８０）をポーリングして通信セッションを確立する頻度を記述する。クライアントプログラム２５におけるpoll-freqパラメータは、製品メーカーエンティティ（８０）のポーリングをX秒ごとのように頻繁に行うようにも、X日またはX週間ごとのように間遠に行うようにも設定できる。poll-freqパラメータはクライアントプログラム２５において、いくつかの基準に従って調整されうる。基準にはたとえば以下のようなものが含まれる：
・製品装置１３が待機モードにあるときはより頻繁にポーリングする
・製品装置１３がCPU／メモリ使用率の低い状態にあるときにはより頻繁にポーリングする
・ある大きさのディスクスペースが利用可能なときにはより頻繁にポーリングする
・製品装置１３のシステム再起動後にのみポーリングする
・自動ポーリングは行わず（poll-freq＝0）、手動のみ
・現在作業タスクが処理されている間はポーリングしない
・作業タスクの処理の間ポーリングを続ける
・製品装置１３がテレビまたはセットトップボックスである場合、ポーリングはオーディオ／ビデオコンテンツによって（たとえばテレビ放送者／DVDによって）開始される
・メインプロセッサ（サーバー）１０に作業タスクを要求する以外の理由（たとえばソフトウェア更新）で接触するときにのみポーリングを行う
上記のポーリング基準は使用されうる可能なポーリング基準の例であることは理解されるものとする。
【００２５】
製品装置１３とメインプロセッサ（サーバー）１０との間の各通信セッションにおいて、製品装置１３はまず、自分の製品装置識別子（PID:  product  device  identifier）を通信することによってメインプロセッサ（サーバー）１０に対して自らを同定する。PIDは製品メーカーによって製造の間に与えられる、製造された製品装置１３のそれぞれを一意的に同定するためのいかなる好適な識別情報でもよい。
【００２６】
ひとたび製品装置１３がメインプロセッサ（サーバー）１０によってPIDを通じて成功裏に同定されたら、次いで製品メーカーエンティティ（８０）はそのPIDを使って、製品メーカーデータベース１４から製品装置１３の機能を取得しようとする。その特定の製品装置１３についてデータベース１４内に機能プロファイルがみつからない場合には、メインプロセッサ（サーバー）１０は製品装置１３が自分の機能をメインプロセッサ（サーバー）１０に転送するよう要求することになる。機能にはたとえば、製品装置のOS、その製品装置において使われている現在のソフトウェアアプリケーションのリリースバージョン、具体的なソフトウェアアプリケーション、周辺機器（たとえばモデム、CD-ROM/DVDプレーヤー、追加ハードディスク、追加プロセッサ）がある。転送された製品装置１３の機能は、ひとたび転送されたら、製品メーカーデータベース１４に保存、維持され、必要に応じて更新される。ある実施形態では、製品装置の機能が変更されるときは常に、製品装置１３はメインプロセッサ（サーバー）１０に対して機能更新通知を発して変更を知らせる。更新通知を受け取ったのち、メインプロセッサ（サーバー）１０ではフラグを立ててもよい。それによりその製品装置１３との次の確立された通信セッションにおいてその機能が自動的に転送されて製品メーカーエンティティ８０データベース１４に単一レコードとして保存されるようになる。
【００２７】
製品装置の機能を確立し終えると、メインプロセッサ（サーバー）１０は次いでもう一度PIDを製品メーカーデータベース１４へのインデックスとして使って、その製品装置の優先設定（表１参照）を取得しようとする。その特定の製品装置１３について優先設定がみつからない場合には、メインプロセッサ（サーバー）１０は製品装置１３が自分の優先設定をメインプロセッサ（サーバー）１０に転送するよう要求することになる。転送されたその特定の製品装置１３についての優先設定は製品メーカーデータベース１４に単一レコードとして保存、維持される。何らかの時点で製品装置１３の優先設定が変更される場合は、製品装置１３はメインプロセッサ（サーバー）１０に対して優先設定更新通知を発して変更を知らせる。更新通知を受け取ったのち、メインプロセッサ（サーバー）１０ではフラグを立ててもよい。それによりその製品装置１３との次の確立された通信セッションにおいてその優先設定が自動的に転送されて製品メーカーデータベース１４に保存されるようになる。
【００２８】
製品装置１３の機能および優先設定を確立し終えると、メインプロセッサ（サーバー）１０はその時点で製品装置１３について、処理待ち行列からその製品装置１３に一つまたは複数の作業タスクを発するかどうかを決定するための十分な情報を得たことになる。メインプロセッサ（サーバー）１０は、製品装置１３の定義された機能および優先設定を処理待ち行列にある現在の作業タスクと比較することによって作業タスクを割り当てるか、割り当てないかする。比較結果が製品装置１３が一つまたは複数の作業タスクを受け取るのに好適であるとの判断につながる場合、その製品装置１３に適する一つまたは複数の作業タスクが割り当てられる。各作業タスクを割り当てたのち、メインプロセッサ（サーバー）１０は、その製品装置１３が前もって計算された推定完了時間以内にその割り当てられた作業タスクを返すかどうかを判定するため、割り当て時間を監視し、カウンターをスタートさせる。
【００２９】
図２は、上記のようなスタンドアローンの製品装置１５としてはたらき、また同サイトの複数の製品装置のためにネットワークノードとしてもはたらく製品装置１５の図解である。例として、製品装置１５は家庭環境に位置するセットトップボックス１５として具現されうる。同サイトの製品装置１３（１）、…、１３（４）はたとえばDVD１３（１）、インターネットラジオ１３（２）、ビデオカメラ１３（３）および電子レンジ１３（４）またはその他処理／記憶機能を含むいかなる一般的な家庭電気製品であってもよい。製品装置１５は同サイトの製品装置１３（１）、…、１３（４）の代わりにいくつかのネットワーク調整活動を実行する。それには該他の同サイトの製品装置１３（１）、…、１３（４）に作業タスクを配布／拒否することおよび該同サイトの製品装置１３（１）、…、１３（４）からの作業タスクの結果をメインプロセッサ（サーバー）１０に返すことが含まれる。製品装置１５は、ネットワークノードとしてのその追加的な任務を実装するために異なるクライアントプログラム２５ソフトウェア構成を有していてもよい。
【００３０】
割り当てられた作業タスクの結果が製品装置１３によってメインプロセッサ（サーバー）１０に時宜を得た仕方で返されることを保証するため、いくつかの安全策がメインプロセッサ（サーバー）１０によって用いられてもよい。まず、メインプロセッサ（サーバー）１０はいかなる作業タスクも冗長に割り当てる選択肢がある。すなわち、ある製品装置１３によって作業タスクが返されないという事件もあると認識して、ある作業タスクを二つ以上の製品装置１３に割り当てうるのである。この選択肢は、メインプロセッサ（サーバー）１０が決定的であるとマークしている作業タスクについて特に有用でありうる。第二に、上述したように、割り当てられた各作業タスクには推定完了時間が付随しており、これをメインプロセッサ（サーバー）１０が監視している。割り当てられた作業タスクが製品装置１３によって推定完了時間内に返されない場合には、メインプロセッサ（サーバー）１０はその作業タスクを完了させるため別の製品装置１３に自動的に割り当てし直す選択肢がある。推定完了時間を超過してメインプロセッサ（サーバー）１０が完了した作業タスクを受信したとき、割り当てし直された作業タスクが時宜を得た仕方で完了して返されていた場合には、メインプロセッサ（サーバー）１０はこれを無視してもよい。追加的に、その作業タスク結果が時宜を逸したものとして破棄されることを通知する信号またはメッセージがメインプロセッサ（サーバー）１０からもともと割り当てられた製品装置１３に送られてもよい。
【００３１】
開示された装置および方法が無線データネットワーキングの領域において数多くの用途を有することは当業者には明らかであろう。
【００３２】
本発明は特定の実施形態を参照しつつ記載されてきたが、付属の請求項で述べられている本発明の精神および範囲から外れることなく多くの変形を用いることができることは理解されるであろう。したがって、明細書および図面は解説と見なされるべきものであり、付属の請求項の範囲を限定することを意図したものではない。
【００３３】
請求項を解釈する際には：
ａ）「有する」の語は所与の請求項に挙げられている以外の要素または動作の存在を排除しない。
ｂ）要素の単数形の表現はそのような要素の複数の存在を排除しない。
ｃ）請求項に参照符号があったとしてもそれは特許請求の範囲を限定するものではない。
ｄ）いくつかの「手段」は同一の項目、すなわちハードウェアまたはソフトウェアで実装される構造または機能によって表現されていてもよい。
ｅ）開示される要素のそれぞれは、ハードウェア部分（たとえば別個の電子回路）、ソフトウェア部分（たとえばコンピュータプログラミング）またはその任意の組み合わせから構成されうる。
【図面の簡単な説明】
【００３４】
【図１】いくつかの製品装置にタスクを配布するスケジューラを含むシステムの概略図である。
【図２】同サイトのいくつかの製品装置のためのネットワークノードとしてはたらく製品装置の図である。
【図１】
2007522547.tif 000004
【図２】
2007522547.tif 000005
【国際調査報告】
2007522547.tif 000006
2007522547.tif 000007
2007522547.tif 000008
2007522547.tif 000009
2007522547.tif 000010