(57)【特許請求の範囲】
【請求項１】
複数のネットワーク端末装置が通信リンクを介して相互接続されたネットワークにおける、ネットワーク端末装置において、
当該ネットワーク端末装置を上記ネットワークに接続するネットワーク接続手段と、
当該ネットワーク端末装置における使用可能なリソースを測定することにより当該ネットワーク端末装置の現在の状態を判定する自己査定手段と、
当該ネットワーク端末装置のタスクを自装置上で実行することが許可されている１又は複数の他のネットワーク端末装置の識別情報を含む信用リストと、
上記信用リストに識別情報が含まれた１又は複数の他のネットワーク端末装置に対し当該ネットワーク端末装置のタスクを実行させるサービス要求を上記ネットワーク接続手段を介して上記ネットワークに同報通信する同報通信手段と、
他のネットワーク端末装置から発信されたサービス要求を上記ネットワーク及び上記ネットワーク接続手段を介して受信し、上記自己査定手段により判定された当該ネットワーク端末の現在の状態に基づいて、該サービス要求を受任するか拒絶するかを決定し、該決定された受任又は拒絶を示すメッセージを上記ネットワーク接続手段を介して上記ネットワークに送信する回答手段と、
上記タスクとして実行可能な複数のソフトウェアモジュールが格納されるソフトウェアリソース格納手段と、
当該ネットワーク端末装置におけるソフトウェアモジュールの需要に基づいて、上記ソフトウェアリソース格納手段に需要の有るソフトウェアモジュールをインポートし、上記ソフトウェアリソース格納手段から需要の無いソフトウェアモジュールを他のネットワーク端末装置にエキスポートすることにより上記ソフトウェアリソース格納手段を維持管理するサービス要求分析手段と
を備えるネットワーク端末装置。
【請求項２】
上記自己査定手段は、当該ネットワーク端末装置のハードウェアリソースに基づいて当該ネットワーク端末装置の静的状態を判定し、上記ハードウェアリソースの現在の稼動状況に基づいて当該ネットワーク端末装置の動的状態を判定することを特徴とする請求項１記載のネットワーク端末装置。
【請求項３】
当該ネットワーク端末装置と、上記信用リストに識別情報が含まれている１又は複数の他のネットワーク端末装置との間の暗号化処理を実行するセキュリティ保護手段を備えることを特徴とする請求項１記載のネットワーク端末装置。
【請求項４】
当該ネットワーク端末装置により受任され、当該ネットワーク端末装置が他のネットワーク端末装置から引き継いで実行しているタスクの進捗情報を随時更新しながら上記ネットワークに同報通信するタスク実行／監視／報告手段を備えることを特徴とする請求項１記載のネットワーク端末装置。
【請求項５】
当該ネットワーク端末装置自身が開始したタスク及び当該ネットワーク端末装置が他のネットワーク端末装置からのサービス要求に応じて実行しているタスクの両方を含む全てのタスクを監視するタスクスケジューリング手段を備えることを特徴とする請求項１記載のネットワーク端末装置。
【請求項６】
上記信用リストに識別情報が含まれている１又は複数の他のネットワーク端末装置に対し、上記ソフトウェアリソースに格納されているソフトウェアリソースを提供するメッセージをネットワークに同報通信することを特徴とする請求項５記載のネットワーク端末装置。
【請求項７】
当該ネットワーク端末装置が他のネットワーク端末装置のタスクの遂行に失敗した場合に、上記ネットワークに対し該失敗を示すメッセージを送信するタスク失敗管理手段を備えることを特徴とする請求項１記載のネットワーク端末装置。
【請求項８】
上記タスク失敗管理手段は、上記信用リストに識別情報が含まれている１又は複数の他のネットワーク端末装置から送信された失敗を示すメッセージを監視し、該他のネットワーク端末装置の失敗を示すメッセージを失敗されたタスクを実行するためのサービス要求として取り扱うことを特徴とする請求項７記載のネットワーク端末装置。
【請求項９】
当該ネットワーク端末装置をネットワークに接続するネットワーク接続手段と、
当該ネットワーク端末装置における使用可能なリソースを測定することにより当該ネットワーク端末装置の現在の状態を判定する自己査定手段と、
当該ネットワーク端末装置のタスクを自装置上で実行することが許可されている１又は複数の他のネットワーク端末装置の識別情報を含む信用リストと、
上記信用リストに識別情報が含まれた１又は複数の他のネットワーク端末装置に対し当該ネットワーク端末装置のタスクを実行させるサービス要求を上記ネットワーク接続手段を介して上記ネットワークに同報通信する同報通信手段と、
他のネットワーク端末装置から発信されたサービス要求を上記ネットワーク及び上記ネットワーク接続手段を介して受信し、上記自己査定手段により判定された当該ネットワーク端末の現在の状態に基づいて、該サービス要求を受任するか拒絶するかを決定し、該決定された受任又は拒絶を示すメッセージを上記ネットワーク接続手段を介して上記ネットワークに送信する回答手段と、
上記タスクとして実行可能な複数のソフトウェアモジュールが格納されるソフトウェアリソース格納手段と、
当該ネットワーク端末装置におけるソフトウェアモジュールの需要に基づいて、上記ソフトウェアリソース格納手段に需要の有るソフトウェアモジュールをインポートし、上記ソフトウェアリソース格納手段から需要の無いソフトウェアモジュールを他のネットワーク端末装置にエキスポートすることにより上記ソフトウェアリソース格納手段を維持管理するサービス要求分析手段と
を備える複数のネットワーク端末装置が通信リンクにより相互接続されて構成されたネットワークシステム。
【請求項１０】
各ネットワーク端末装置が動的に接続及び接続解除されて、当該ネットワークに追加又は当該ネットワークから削除されるプロトコルに基づいて動作することを特徴とする請求項９記載のネットワークシステム。
【請求項１１】
複数のネットワーク端末装置がそれぞれのネットワーク接続端子により通信リンクを介して相互接続されたネットワークにおいてタスクを分散するタスク分散方法において、
第１のネットワーク端末装置から上記ネットワークを介して、該第１のネットワーク端末装置によりタスクを自装置上で実行することが許可されているグループに属するネットワーク端末装置に向けて、実行すべきタスクを特定するサービス要求を送信するステップと、
上記第１のネットワーク端末装置によりタスクを実行することが許可されているグループに属するネットワーク端末装置の１つである第２のネットワーク端末装置において、上記サービス要求を受信し、自己査定処理により判定された該第２のネットワーク端末装置の現在の状態に基づいて上記サービス要求を受任するか拒絶するかを決定し、該決定された受任又は拒絶を示すメッセージを上記ネットワークに送信するステップと、
上記サービス要求を受任すると決定された場合に、上記第２のネットワーク端末装置において、上記サービス要求により特定されたタスクを実行し、サービス結果を上記第１のネットワーク端末装置に返すステップと、
当該ネットワーク端末装置におけるソフトウェアモジュールの需要に基づいて、ソフトウェアリソース格納手段に需要の有るソフトウェアモジュールをインポートし、上記ソフトウェアリソース格納手段から需要の無いソフトウェアモジュールを他のネットワーク端末装置にエキスポートすることにより上記ソフトウェアリソース格納手段を維持管理するステップと
を有することを特徴とするタスク分散方法。
【請求項１２】
上記第２のネットワーク端末装置によるタスクの実行は、該第２のネットワーク端末装置によりタスクを実行することが許可されているネットワーク端末装置のサブグループに対しさらなるサービス要求を送信することにより、タスクをさらに分散するステップを有することを特徴とする請求項１１記載のタスク分散方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク端末装置（station）、ネットワーク及びタスク分散方法に関し、特に、相互接続された複数のネットワーク端末装置からなるコンピュータネットワークにおいて、ネットワーク端末装置のタスクを分散してネットワーク全体の性能を向上させる技術に関する。
【０００２】
【従来の技術】
コンピュータネットワークにおける各ステーション、ノード又はネットワーク端末装置は、それぞれ実行すべきタスクを有している。また、ネットワーク端末装置間で、タスクの用途が異なる場合もある。このため、あるネットワーク端末装置があるタスクを実行する際、ネットワークに接続されている休止中の（idle）他のネットワーク端末装置の予備的な能力（spare capacity）を利用することにより、ネットワーク端末装置の性能を実質的に向上させる様々な技術が提案されている。
【０００３】
【発明が解決しようとする課題】
本発明は、上述のような技術の１つであり、すなわち、ネットワークにおいてタスクを分散することにより、ネットワークを介して接続された複数のネットワーク端末装置間でタスクを分散することにより、ネットワーク端末装置の性能を実質的に向上させるとともに、タスクとして実行可能なソフトウェアリソースを格納する領域の維持管理を適切に行うことのできるネットワーク端末装置、ネットワーク及びタスク分散方法を提供することを目的とする。
【０００４】
【課題を解決するための手段】
上述の目的を達成するために、本発明に係るネットワーク端末装置は、複数のネットワーク端末装置が通信リンクを介して相互接続されたネットワークにおける、ネットワーク端末装置であって、ネットワーク端末装置をネットワークに接続するネットワーク接続手段と、ネットワーク端末装置における使用可能なリソースを測定することによりネットワーク端末装置の現在の状態を判定する自己査定手段と、ネットワーク端末装置のタスクを実行するための信用が付与されている１又は複数の他のネットワーク端末装置の識別情報を含む信用リストと、信用リストに識別情報が含まれた１又は複数の他のネットワーク端末装置に対しネットワーク端末装置のタスクを実行させるサービス要求をネットワーク接続手段を介して上記ネットワークに同報通信する同報通信手段と、他のネットワーク端末装置から発信されたサービス要求をネットワーク及びネットワーク接続手段を介して受信し、自己査定手段により判定されたネットワーク端末の現在の状態に基づいて、サービス要求を受任するか拒絶するかを決定し、決定された受任又は拒絶を示すメッセージを上記ネットワーク接続手段を介してネットワークに送信する回答手段とを備える。
【０００５】
上述の目的を達成するために、本発明に係るネットワークは、当該ネットワーク端末装置をネットワークに接続するネットワーク接続手段と、当該ネットワーク端末装置における使用可能なリソースを測定することにより当該ネットワーク端末装置の現在の状態を判定する自己査定手段と、当該ネットワーク端末装置のタスクを実行するための信用が付与されている１又は複数の他のネットワーク端末装置の識別情報を含む信用リストと、上記信用リストに識別情報が含まれた１又は複数の他のネットワーク端末装置に対し当該ネットワーク端末装置のタスクを実行させるサービス要求を上記ネットワーク接続手段を介して上記ネットワークに同報通信する同報通信手段と、他のネットワーク端末装置から発信されたサービス要求を上記ネットワーク及び上記ネットワーク接続手段を介して受信し、上記自己査定手段により判定された当該ネットワーク端末の現在の状態に基づいて、該サービス要求を受任するか拒絶するかを決定し、該決定された受任又は拒絶を示すメッセージを上記ネットワーク接続手段を介して上記ネットワークに送信する回答手段とを備える複数のネットワーク端末装置が通信リンクにより相互接続されて構成される。
【０００６】
上述の目的を達成するために、本発明に係るタスク分散方法は、複数のネットワーク端末装置がそれぞれのネットワーク接続端子により通信リンクを介して相互接続されたネットワークにおいてタスクを分散するタスク分散方法において、第１のネットワーク端末装置からネットワークを介して、第１のネットワーク端末装置により信用されているグループに属するネットワーク端末装置に向けて、実行すべきタスクを特定するサービス要求を送信するステップと、第１のネットワーク端末装置により信用されているグループに属するネットワーク端末装置の１つである第２のネットワーク端末装置において、サービス要求を受信し、自己査定処理により判定された第２のネットワーク端末装置の現在の状態に基づいてサービス要求を受任するか拒絶するかを決定し、決定された受任又は拒絶を示すメッセージをネットワークに送信するステップと、サービス要求を受任すると決定された場合に、第２のネットワーク端末装置において、サービス要求により特定されたタスクを実行し、サービス結果を第１のネットワーク端末装置に返すステップとを有する。
【０００７】
本発明の実施の形態においては、本発明により分散型人工知能サービスプロバイダ（distributed artificial intelligence service provider:以下、ＤＡＩＳＰという。）が実現される。今日では、多くのアプリケーションはネットワークに接続されて用いられるため、ＤＡＩＳＰを用いることが放送側及びサービスプロバイダにとって有益である。
【０００８】
ＤＡＩＳＰの基本的な思想は、ローカルユーザの動作（activity）に影響を与えることなく、ネットワーク内の全ての利用可能なコンピュータ能力を活用する点にある。能力の分散は、いつでも、どこでも、確実で、効率的で、単純な手法で行われる必要がある。
【０００９】
ＤＡＩＳＰは、通常のユーザレベルのアプリケーションである。ＤＡＩＳＰは、既存のオペレーションシステムに特別な変更を要求しない。Ｕｎｉｘとともに用いられる場合、ＤＡＩＳＰは、ユーザが有効なアカウントを有している限り動作する。マイクロソフトＮＴ（Microsoft NT）の場合、ＤＡＩＳＰは、通常のＮＴワークステーション上で動作し、ＮＴにおけるネットワーク処理に必要とされるWinsock.dll以外の特別なライブラリを必要としない。
【００１０】
ＤＡＩＳＰアーキテクチャは、クライアント／サーバ構造を有していない。すなわち、サービスを提供する中央サーバ（central server）は存在せず、したがって一箇所の機能が停止してもネットワーク全体の機能が停止してしまうというようなことはない。このネットワークでは各ネットワーク端末装置は、必要に応じて信用に基づいて他のネットワーク端末装置にサービスを提供し、また、自らのタスクを実行する。さらに複数のネットワーク端末装置が互いに協働して１つの作業を行う（harmonious performance）こともある。各ネットワーク端末装置は、ネットワーク上で所定の自らの役割を果たしたり、他のネットワーク端末装置のサーバとして機能したり、ネットワークを介して他のネットワーク端末装置と通信を行ったり、他のネットワーク端末装置を監視したりする。なお、他のネットワーク端末装置にサービスを提供しないネットワーク端末装置が存在してもよい。このようなネットワーク端末装置は、カスタマ／リスナ（customer/listener）端末装置とも呼ばれる。このようなネットワーク端末装置も、本アーキテクチャの一部とみなされる。
【００１１】
【発明の実施の形態】
以下、本発明に係るネットワーク端末装置、ネットワーク及びタスク分散方法について、図面を参照して詳細に説明する。
【００１２】
図１は、第１のネットワーク端末装置１００〜第ｎのネットワーク端末装置１０２を備えるネットワークを示す図である。各ネットワーク端末装置１００〜１０２には、１〜ｎの連続するラベルが付されている。ネットワーク端末装置１００〜１０２は、支線（spur）１１を有する通信リンク１０により相互接続されている。
【００１３】
図２は、図１に示すようなネットワークの具体例を示す図であり、ここでは、ホームネットワークケーブル１０を介して、複数の個別のネットワーク端末装置が相互接続（リンク）されている。このホームネットワークにおけるネットワークプロトコル及びハードウェアは、ＩＥＥＥ１３９４規格に準拠している。また、このホームネットワークは、衛星信号送受信機（satellite transceiver）８を介して、外部に接続されている。このホームネットワークにおけるネットワーク端末装置は、テレビジョン１００、デスクトップ型パーソナルコンピュータ１０２、電話機１０４、セットトップボックス１０６、デジタル閉回路テレビジョン（closed circuit television：以下、ＣＣＴＶという。）カメラ１０８、オーディオ装置（hi-fi system）１１０、ビデオ記録再生装置１１２、ラップトップ型パーソナルコンピュータ１１４、デジタルビデオカメラ１１６である。
【００１４】
このように、通常のホームネットワークにおいては、各ネットワーク端末装置はそれぞれ異なる機能及び能力を有しているものと考えられる。例えば、デスクトップ型パーソナルコンピュータ１０２及びラップトップ型パーソナルコンピュータ１１４は、比較的強力な処理能力及びメモリ容量を有しており、一方、デジタルビデオカメラ１１６及びテレビジョン１００は、比較的強力な画像処理能力を有している。
【００１５】
さらに、ネットワーク端末装置のいくつかは、ホームネットワークにとって一時的な構成要素であり、すなわち、「プラグアンドプレイ（plug-and-play）」装置として、ネットワークに接続されたり切り離されたりする。これらネットワーク装置は、ホームネットワークにおいて自動的に環境設定される。例えば、ラップトップ型コンピュータ１１４及びデジタルカメラ１１６は、ホームネットワークに常時接続されているわけではなく、必要に応じて一時的に接続される。
【００１６】
図３は、ネットワーク端末装置１００の内部構造を示す図である。この他のネットワーク装置、すなわち第２〜第ｎのネットワーク装置も、同様の内部構成を有している。ネットワーク端末装置１００は、相互接続された複数の構成要素（component）からなり、各構成要素の機能については、後にそれぞれ説明する。図３に示すように、ネットワーク端末装置１００は、同報通信／回答モジュール（broadcast/answer module）１２と、自己査定モジュール（self assessment module）１４と、システムセキュリティモジュール（system security module）１６と、タスク実行／監視／報告モジュール（task execution, monitoring and report module）１８と、タスクスケジューラモジュール（task scheduler module）２０と、サービス要求分析モジュール（service requirement analysis module）２２と、サービス／性能履歴学習分析モジュール（service/performance history learning analysis module）２４と、タスク失敗管理モジュール（task failure management module）２６と、アシスタンスサービスモジュール（assistance service module）２８と、複数のサービスモジュール（service module）３０と、再配分可能ソフトウェアリソース格納部（redistributable resource repository）３２とを備える。
【００１７】
図３に示すネットワーク端末装置１００が備える放送／回答モジュール１２の内部構成を図４に示す。
【００１８】
同報通信／回答モジュール１２は、ネットワークにサービス要求を同報通信するモジュールである。この要求は、ネットワーク端末装置が実行中のいかなるタスクに関連するものであってもよい。例えば、あるタスクがあり、ネットワーク端末装置がそのタスクを実行するのに最適なネットワーク端末装置であるため、ネットワーク端末装置がそのタスクを引き受けようとするが、そのネットワーク端末装置のライブラリにおいて、そのタスクの実行に必要なソフトウェアモジュールが存在しない場合に、ネットワーク端末装置は、そのソフトウェアモジュールを要求するための同報通信を行う。
【００１９】
図４に示すように同報通信／回答モジュール１２は、同報通信部４８と回答部４６とを備える。同報通信部４８は、ネットワークに対してリソース要求を行う機能を有している。回答部４６は、このネットワーク端末装置がタスクを引き受けた場合の性能及び、このネットワーク端末装置に関する基本的な情報、例えば、ＣＰＵのパワー、ベンチマーク、空きメモリ容量、全メモリ容量、現在の負荷等、ネットワーク端末装置の自己査定にかかる情報を有している。また、サービス要求に対する回答を行う前に、不正にアクセスする者を拒絶するため、セキュリティを確認する必要がある。また、タスクを引き受ける前に、ネットワーク装置がタスクを実行するために十分なリソースを備えているかを確認する必要がある。
【００２０】
図３に示すネットワーク端末装置１００が備える自己査定モジュール１４の内部構成を図５に示す。
【００２１】
自己査定モジュール１４は、静的状態と動的状態とに基づいて、自己査定（self assessment）又は自己評価（self evaluation）を行う。静的状態に関する情報は、静的状態情報格納部４０に記憶されており、動的状態に関する情報は、動的状態情報格納部４２に記憶されている。この状態は、状態評価部４４により評価される。自己査定モジュール１４は、リンク１５を介して同報通信／回答モジュール１２に接続されている。同報通信／回答モジュール１２からの状態情報の要求に応じて、自己査定モジュール１４の状態評価部４４がネットワーク端末装置の現在の状態に関する評価を行い、この評価の結果をリンク１５を介して同報通信／回答モジュール１２に供給する。状態情報の要求は、例えば、信用できる遠隔のネットワーク端末装置からリソース要求があった場合に、指示（プロンプト）されるようにしてもよい。
【００２２】
静的状態情報格納部４０に記憶されている静的状態情報は、例えば、以下のようなものである。
（ａ）中央演算処理装置（central processing unit: CPU）のモデル、型番
（ｂ）メモリの全容量
（ｃ）持続的記録媒体の全容量
（ｄ）バイトベンチマーク（整数、メモリ、浮動小数点）
（ｅ）オペレーションシステムのＩＤ及びバージョン
（ｆ）特別なハードウェアデバイス（special hardware device）のＩＤ及びバージョン
また、動的状態情報格納部４２に記憶されている動的状態情報は、例えば、以下のようなものである。
（ａ）ＣＰＵ負荷（CPU load）（現在、過去１分間、過去５分間、過去１５分間等）
（ｂ）ネットワーク帯域幅（Bit/sec）
（ｃ）自己の処理（native process）の数
（ｄ）自己の処理の状態（オーナ、ＣＰＵ、ディスク、ＲＡＭ、特別なハードウェアの用途）
（ｅ）外部の処理（alien process）の数
（ｆ）外部の処理の状態（オーナ、ＣＰＵ、ディスク、ＲＡＭ、特別なハードウェアの用途）
（ｇ）使用可能なディスクのディスクＩＤ
（ｈ）メモリの空き容量
（ｉ）特別なハードウェア状態
静的情報の作成には、比較的時間がかかる。静的情報の作成は、ＤＡＩＳＰを組み込む際、及びハードウェアが更新された後に最初にＤＡＩＳＰを実行する際にそれぞれ１度だけ行えばよい。作成された静的情報は、ファイルとして保存され、必要に応じて使用される。動的情報の有効期間は短い。動的情報は、入手後すぐに古いものとなってしまう。動的情報は、定期的に入手され、必要に応じて直ちにディスパッチされる。
【００２３】
システムセキュリティモジュール１６は、ＤＡＩＳＰを実行するネットワーク端末装置を様々な手法で保護する。システムセキュリティモジュール１６は、ネットワーク端末装置が悪意のある要求及び不当なタスク実行要求に応答することを防止する。システムセキュリティモジュール１６は、暗号を用いて、ネットワーク端末装置間の通信を保護することができる。システムセキュリティモジュール１６は、通常、信用に基づいて動作する。このような判断は、各ネットワーク端末装置が保有する信用リスト（trust list）を用いて行う。信用リストとは、あるネットワーク端末装に関するタスクをプールすることが許可されている他のネットワーク端末装置の識別子のリストである。すなわち、信用リストは、リストを保有するネットワーク端末装置が同報通信要求を送信することができ、またこの同報通信要求に対してそのネットワーク端末装置に回答を行うことができる他のネットワーク端末装置のリストである。
【００２４】
例えば、ホームシステムにおいては、家族構成員のそれぞれが異なるパーソナルコンピュータを使用している場合がある。この場合、特に子供が使用するパーソナルコンピュータがウィルスに感染しないようにするために、そのパーソナルコンピュータをリストから除外するようにしてもよい。
【００２５】
あるネットワーク端末装置がＤＡＩＳＰにおいて信用されている場合、そのネットワーク端末装置は、オペレーションシステムの判断の下、ネットワーク端末装置がアクセスできるあらゆるリソースに対するアクセス権を有する。例えば、ＤＡＩＳＰが通常のユーザ、すなわち、特権を与えられたユーザではないユーザにより実行されている場合、そのユーザは通常のユーザがアクセスを許可されているリソースにアクセスすることができる。
【００２６】
通常のＵＮＩＸボックス（UNIX box）の場合、ＵＮＩＸボックスは、ユーザ自身の割当制御ハードディスク（quota controlled hard disc）やユーザＩＤ優先度により管理されているＣＰＵ処理（user ID priority governed CPU usage）等にアクセスできる。
【００２７】
マイクロソフトＮＴ環境においては、通常のユーザは、ネットワークで共有されているすべてのハードディスクと、ユーザＩＤ優先度により管理されているＣＰＵ処理に対するアクセス権を有する。なお、マイクロソフトＮＴの場合は、通常のユーザがネットワークにおいて広く共有されたハードディスクにアクセスできる点が特徴的である。
【００２８】
タスク実行／監視／報告モジュール１８は、必要に応じてタスクを引き受け、実行処理を開始する。また、タスク実行／監視／報告モジュール１８は、その状態をネットワークに同報通信する。このような同報通信を行うことにより、このネットワーク端末装置がタスク実行の途中でタスクを完了できなくなった場合、他のネットワーク端末装置がこのタスクとこのタスクの進捗状況に関する情報を入手して、このタスクを引き継ぐことができる。例えば、ネットワーク端末装置αがあるサービスを開始し、ネットワークに対して「私は、このタスクを実行している。このタスクは２１：１０：３５までに完了される予定である。この情報は、２１：１０：１０に更新されている。次の更新は、２１：１０：２０の予定である。」といったメッセージをネットワークに発信したとする。これにより、２１：１０：２１になっても更新のメッセージが発信されない場合、ネットワーク上の他のネットワーク端末装置は、ネットワーク端末装置αに予期せぬ事態が発生したことを知ることができ、このとき、そのタスクを実行する能力を有するネットワーク端末装置がそのタスクを引き継ぎ、ネットワークに対してタスクを引き継いだことを通知する。これにより、サービスの確実性が確保される。
【００２９】
タスクスケジューラモジュール２０は、ネットワーク端末装置のタスク実行優先度（task execution priority）を管理するタスク及びネットワーク端末装置の優先度スキーム（priority scheme）を維持する。タスクスケジューラモジュール２０は、ローカルタスクを含むネットワーク端末装置の全てのタスクを監視する。すなわち、全てのタスクとは、ローカルに開始されたタスクと、リモートのＤＡＩＳＰユーザにより生成された外部からのタスクを含む。例えば、ローカルユーザがマイクロソフトワード（Microsoft Word：商標）等のタスクを開始すると、タスクスケジューラモジュール２０は、例えばＣＰＵ電力等のリソースを十分に開放するために、外部からのタスクを中断してローカルリソースプール（local resources pool）に戻る。これによりローカルユーザは、ネットワーク端末装置内で実行されている外部からのタスクにより影響されないことが保証される。したがって、ユーザは、ＤＡＩＳＰスキームに参加しやすくなる。
【００３０】
サービス要求分析モジュール２２は、サービスを遂行した後に追加的な処理を行い、性能と、可能な改善に関する情報を提供する。サービス要求分析モジュール２２は、ネットワーク端末装置内における再配分可能なソフトウェアリソース格納部３２を維持管理する。例えば、あるソフトウェアモジュールが長期間使用されなかった場合、サービス要求分析モジュール２２は、そのソフトウェアモジュールを他のネットワーク端末装置に預けることを依頼することができる。他のネットワーク端末装置がいずれもそのソフトウェアモジュールを必要としない場合、サービス要求分析モジュール２２はそのソフトウェアモジュールを破棄することもできる。また、サービス要求分析モジュール２２が、あるソフトウェアについて新たなバージョンを発見した場合、サービス要求分析モジュール２２は、インターネットを介してそのソフトウェアの新たなバージョンを入手し、ネットワーク端末装置内のソフトウェアコレクションを更新し、これを他のネットワーク端末装置に通知することができる。
【００３１】
サービス／性能履歴学習分析モジュール２４は、ネットワーク端末装置の処理履歴に関する処理を行う。サービス／性能履歴学習分析モジュール２４の主な機能は、ネットワーク端末装置がネットワーク上でよりよいサービスを提供できるように、ネットワーク端末装置を最適化することである。サービス／性能履歴学習分析モジュール２４は、異なるタスクにおけるボトルネックを発見及び解決し、これらボトルネックを自らが解決できない場合は、これをシステム管理者に伝える。
【００３２】
タスク失敗管理モジュール２６は、そのネットワーク端末装置自身及びネットワーク上の他のネットワーク端末装置の失敗（failure）を扱う。ネットワーク端末装置が何らかの処理に失敗すると、タスク失敗管理モジュール２６は、これを解決するための要求をネットワークに送信する。また、タスク失敗管理モジュール２６は、タスク実行／監視／報告モジュール１８の説明にて例示したような他のネットワーク端末装置におけるタスクの失敗を発見すると、このネットワーク端末装置がそのタスクを引き継げるか否かを判定する。このネットワーク端末装置がそのタスクを引き継げる場合、タスク失敗管理モジュール２６は、応答を同報通信し、回答を待機する。所定の期間内に他のどのネットワーク端末装置からも回答がない場合、このネットワーク端末装置はサービスの継続を開始する。
【００３３】
アシスタンスサービスモジュール２８は、他のモジュールへの橋渡しの役割を果たす。例えば、アシスタンスサービスモジュール２８は、長距離伝送において、中継配信ステーション（intermediate delivery station）として機能する。また、アシスタンスサービスモジュール２８は、他のサービスステーションのサブサービス（sub-service）としての役割を果たす。
【００３４】
サービスモジュール３０は、実際のサービスを実行するモジュールである。ここで実行されるサービスは、例えばユーザの習慣の把握、分析、予測や、ビデオストリーミングサービスや、ストリーミング収束サービス（streaming convergence service）等のいかなるＡＩサービスであってもよい。あるサービスモジュール３０は、再配分可能なソフトウェアリソース格納部３２内にあってもよい。このようなサービスモジュール３０は、よりよいサービスを提供できるようにするために、ロケーションを変更してもよい。
【００３５】
以上のように、上述の分散システムアーキテクチャ及びＬｉｎｕｘオペレーティングシステムに基づく分散型ＡＩサービスプロバイダ（ＤＡＩＳＰ）を設計及び実現した。このシステムは、システムを実行するために十分なメモリを有するコンピュータに挿入されるブート可能なフロッピーディスクに格納することができる。このシステムによれば、ハードウェアリソースを無駄にすることなく分散型ＡＩサービスを提供できる。クライアントからの学習及び予測要求は、途切れなく（seamlessly）処理することができ、すなわち、ＤＡＩＳＰは、プラグアンドプレイ（Plug-and-Play）型のサービスを提供する。システムの検査は、例えば２５６ＭｂのＲＡＭ及びペンティアムＩＩ４００を備えるコンピュータ等、複数のコンピュータを用いて行った。システム全体は、期待通りに機能し、学習及び予測のための実行時間は、より多くのＤＡＩＳＰがサービスに参加するにつれいて、略比例して減少した。
【００３６】
ＤＡＩＳＰは、例えばＡＩエンジンのホストとしてのアプリケーション等、多くのネットワークアプリケーションに対して良好なソリューションを提供する。分散型システムアーキテクチャにより、様々な分野において、より強固で信頼性の高いサービスを実現できる。
【００３７】
【発明の効果】
以上のように、本発明によると、ネットワークにおいてタスクを有効に分散することができる。ネットワークを介して接続された複数のネットワーク端末装置間でタスクを分散することにより、性能を実質的に向上させることができる。さらに、本発明によれば、タスクとして実行可能なソフトウェアリソースを格納する領域の維持管理を適切に行うことができる。
【図面の簡単な説明】
【図１】ネットワーク端末装置が相互接続されて構成されたネットワークを示す図である。
【図２】図１に示すネットワークをホームシステムに適用した例を示す図である。
【図３】図１に示すネットワーク端末装置の内部構成を示す図である。
【図４】図３に示す同報通信／回答モジュールの内部構成を示す図である。
【図５】図３に示す自己査定モジュールの内部構成を示す図である。
【符号の説明】
１００  ネットワーク端末装置、１２  同報通信／回答モジュール、１４  自己査定モジュール、１６  システムセキュリティモジュール、１８  タスク実行／監視／報告モジュール、２０  タスクスケジューラモジュール、２２  サービス要求分析モジュール、２４  サービス／性能履歴学習分析モジュール、２６  タスク失敗管理モジュール、２８  アシスタンスサービスモジュール、３０  サービスモジュール、３２  再配分可能ソフトウェアリソース格納部
【図１】
0004669601.tif 000002
【図２】
0004669601.tif 000003
【図３】
0004669601.tif 000004
【図４】
0004669601.tif 000005
【図５】
0004669601.tif 000006