(57)【特許請求の範囲】
【請求項１】
放送を用いた分散コンピューティングシステムであって、
放送局と、テレビ受信機と、サーバと、データベースとを有し、
前記データベースには、所定のジョブを分割して処理するためのタスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されており、
前記放送局は、
放送により、前記タスクプログラムの取得を指示する指示情報を放送する放送手段を有し、
前記テレビ受信機は、
放送波から、前記指示情報を受信する受信手段と、
前記指示情報に基づいて、前記タスクプログラムの取得要求を送信する要求手段と、
前記タスクプログラム、前記タスク処理データ及び前記タスク識別情報を受信し、前記タスクプログラムにより前記タスク処理データを処理する処理手段と、
前記処理手段の処理結果及び前記タスク識別情報を、前記サーバに送信する送信手段と
を有し、
前記サーバは、
前記タスクプログラムの取得要求を受信し、所定のタスクプログラムを前記データベースから選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信するタスクプログラム送信手段と、
前記テレビ受信機から、処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する集計手段と、
前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信を制御するため管理プログラムを送信する管理プログラム送信手段と
を有し、
前記管理プログラムに基づいて、前記テレビ受信機の要求手段、処理手段又は送信手段は、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信を行う
分散コンピューティングシステム。
【請求項２】
前記放送手段は、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断又は中止を制御する制御情報を、データ放送を用いて放送し、
前記処理手段は、前記制御情報に基づいて、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信を行う
請求項１に記載の分散コンピューティングシステム。
【請求項３】
前記サーバの処理状況を監視する監視手段を有し、
前記放送手段は、前記監視手段の監視結果に基づいて、前記制御情報を放送する
請求項２に記載の分散コンピューティングシステム。
【請求項４】
前記制御情報が、イベントメッセージ又はモジュールにより、送信される
請求項２又は請求項３に記載の分散コンピューティングシステム。
【請求項５】
前記テレビ受信機の要求手段は、前記タスクプログラムの取得要求と、前記テレビ受信機を識別するデバイス識別情報とを送信し、
前記サーバは、前記デバイス識別情報と送信した前記タスクプログラムのタスク識別情報とを関連付けて記憶し、前記テレビ受信機のタスク処理の状況を監視するタスク処理状況監視手段を有する
請求項１から請求項４のいずかに記載の分散コンピューティングシステム。
【請求項６】
放送を用いた分散コンピューティングシステムのサーバであって、
所定のジョブを分割して処理するためのタスクプログラムの取得を指示する指示情報を放送波により受信したテレビ受信機から、前記タスクプログラムの取得要求を受信し、前記タスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されているデータベースから、所定のタスクプログラムを選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信するタスクプログラム送信手段と、
前記テレビ受信機から、処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する集計手段と、
前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信を制御するため管理プログラムを送信する管理プログラム送信手段と、
を有し、
前記管理プログラムに基づいて、前記テレビ受信機は、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信を行う
サーバ。
【請求項７】
放送を用いた分散コンピューティングの方法であって、
所定のジョブを分割して処理するためのタスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されるデータベースを用い、
放送局は、放送により、前記タスクプログラムの取得を指示する指示情報を放送し、
テレビ受信機は、放送波から、前記指示情報を受信し、
前記テレビ受信機は、前記指示情報に基づいて、前記タスクプログラムの取得要求を送信し、
サーバは、前記タスクプログラムの取得要求を受信し、所定のタスクプログラムを前記データベースから選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信し、
前記テレビ受信機は、前記タスクプログラム、前記タスク処理データ及び前記タスク識別情報を受信し、前記タスクプログラムにより前記タスク処理データを処理し、
前記サーバは、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信を制御するための管理プログラムを送信し、
前記テレビ受信機は、前記管理プログラムに基づいて、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果を行い、
前記テレビ受信機は、前記タスク処理データの処理結果及び前記タスク識別情報を、前記サーバに送信し、
前記サーバは、前記テレビ受信機から、処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する
分散コンピューティング方法。
【請求項８】
前記放送局は、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断又は中止を制御する制御情報を、データ放送を用いて放送し、
前記テレビ受信機は、前記制御情報に基づいて、前記タスクプログラムの取得、前記タスク処理データの処理の開始、中断若しくは中止又は処理結果の送信する
請求項７に記載の分散コンピューティング方法。
【請求項９】
前記サーバの処理状況を監視し、
前記放送局は、前記サーバの処理状況の監視結果に基づいて、前記制御情報を放送する
請求項８に記載の分散コンピューティング方法。
【請求項１０】
前記制御情報が、イベントメッセージ又はモジュールにより、送信される
請求項８又は請求項９に記載の分散コンピューティング方法。
【請求項１１】
前記テレビ受信機は、前記タスクプログラムの取得要求と、前記テレビ受信機を識別するデバイス識別情報とを送信し、
前記サーバは、前記デバイス識別情報と送信した前記タスクプログラムのタスク識別情報とを関連付けて記憶し、前記テレビ受信機のタスク処理の状況を監視する
請求項７から請求項１０のいずかに記載の分散コンピューティング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散コンピューティングシステム、放送局、サーバ及び分散コンピューティング方法に関する。
【背景技術】
【０００２】
ネットワーク接続されたＰＣや、スマートデバイスを対象に、分散コンピューティングを行う技術があり、現在でも様々なプロジェクトが進行している。分散コンピューティング技術とは、複数のコンピュータを、ネットワークを介して接続し、1台の仮想的な高性能コンピュータを構成する技術である。従来の事例としては、ＳＥＴＩ＠ｈｏｍｅやＢＯＩＮＣなどが広く知られている。分散コンピューティングは、基本的には、サーバ・クライアント方式で処理が行われる。サーバサイドでは、処理対象のジョブを小さな単位（タスク）に分割し、クライアントにタスクを割り振る。クライアントサイドでは、タスクを実行し、その結果を再度サーバに返す。この繰り返しにより、膨大な計算量を要するジョブの実行を可能とする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の分散コンピューティングシステムは、専用のアプリケーションをインストールする必要があり、敷居の高いものであった。また、種々の事情により、クライアント側のタスク処理の開始や、中断、終了の制御は通信によるものであり、多数のタスク処理を行うクライアントを一斉に制御する技術はなかった。
【０００４】
一方、近年のテレビ受信機は、単にテレビを受信するだけの機能だけではなく、データを処理する処理性能が高くなっており、これらのテレビ受信機を分散コンピューティングのクライアントとして活用することは、大きなジョブを解決することができる可能性を秘めている。しかし、テレビ受信機を単に情報処理装置として使用するだけでは、放送番組との関係から好ましくない場合がある。
【０００５】
そこで、本発明は上記課題に鑑みて発明されたものであって、分散コンピューティングのクライアントとしてテレビ受信機を活用することができ、放送によるタスク処理の開始や、中断、終了を制御することができる分散コンピューティングシステム、放送局、サーバ及び分散コンピューティング方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、放送を用いた分散コンピューティングシステムであって、放送局と、テレビ受信機と、サーバと、データベースとを有し、前記データベースには、所定のジョブを分割して処理するためのタスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されており、前記放送局は、放送により、前記タスクプログラムの取得を指示する指示情報を放送する放送手段を有し、前記テレビ受信機は、放送波から、前記指示情報を受信する受信手段と、前記指示情報に基づいて、前記タスクプログラムの取得要求を送信する要求手段と、前記タスクプログラム、前記タスク処理データ及び前記タスク識別情報を受信し、前記タスクプログラムにより前記タスク処理データを処理する処理手段と、前記処理手段の処理結果及び前記タスク識別情報を、前記サーバに送信する送信手段とを有し、前記サーバは、前記タスクプログラムの取得要求を受信し、所定のタスクプログラムを前記データベースから選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信するタスクプログラム送信手段と、前記テレビ受信機から、処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する集計手段とを有する分散コンピューティングシステムである。
【０００７】
本発明の一態様は、放送を用いた分散コンピューティングシステムにおける放送局であって、ジョブを分割したタスクを処理するタスクプログラムによりデータを処理するテレビ受信機に対して、放送により、タスク処理のためのタスクプログラムの取得を指示する指示情報を放送する放送手段を有する放送局である。
【０００８】
本発明の一態様は、放送を用いた分散コンピューティングシステムのサーバであって、所定のジョブを分割して処理するためのタスクプログラムの取得を指示する指示情報を放送波により受信したテレビ受信機から、前記タスクプログラムの取得要求を受信し、前記タスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されているデータベースから、所定のタスクプログラムを選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信するタスクプログラム送信手段と、前記テレビ受信機から、処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する集計手段とを有するサーバである。
【０００９】
本発明の一態様は、放送を用いた分散コンピューティングの方法であって、所定のジョブを分割して処理するためのタスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されるデータベースを用い、放送局は、放送により、前記タスクプログラムの取得を指示する指示情報を放送し、テレビ受信機は、放送波から、前記指示情報を受信し、前記テレビ受信機は、前記指示情報に基づいて、前記タスクプログラムの取得要求を送信し、サーバは、前記タスクプログラムの取得要求を受信し、所定のタスクプログラムを前記データベースから選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信し、前記テレビ受信機は、前記タスクプログラム、前記タスク処理データ及び前記タスク識別情報を受信し、前記タスクプログラムにより前記タスク処理データを処理し、前記テレビ受信機は、前記処理手段の処理結果及び前記タスク識別情報を、前記サーバに送信し、前記サーバは、前記テレビ受信機から、処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する分散コンピューティング方法である。
【００１０】
本発明の一態様は、放送を用いた分散コンピューティングシステムであって、所定のジョブを分割して処理するためのタスクプログラムと、前記タスクプログラムが処理するタスク処理データと、前記タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されているデータベースと、放送により、前記タスクプログラムの取得を指示する指示情報を放送する放送手段と、放送波から、前記指示情報を受信する受信手段と、前記指示情報に基づいて、前記タスクプログラムの取得要求を送信する要求手段と、前記タスクプログラムの取得要求を受信し、所定のタスクプログラムを前記データベースから選択し、前記選択したタスクプログラムと、前記選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、前記テレビ受信機に送信するタスクプログラム送信手段と、前記タスクプログラム、前記タスク処理データ及び前記タスク識別情報を受信し、前記タスクプログラムにより前記タスク処理データを処理する処理手段と、前記処理手段の処理結果及び前記タスク識別情報を送信する送信手段と、前記処理結果及び前記タスク識別情報を受信し、前記処理結果を前記タスク識別情報に関連付けて前記データベースに格納し、前記データベース内の処理結果を集計し、ジョブの結果を算出する集計手段とを有する分散コンピューティングシステムである。
【発明の効果】
【００１１】
本発明は、分散コンピューティングのクライアントとしてテレビ受信機を活用することができ、放送によるタスク処理の開始や、中断、終了を制御することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の第１の実施の形態に係る分散コンピューティングシステムの概略ブロック図である。
【図２】図２はデータベース１の一例を示した図である。
【図３】図３は、放送部２より、放送される指示情報（管理プログラム）の一例である。
【図４】図４はテレビ受信機ＡとサーバＢとのデータ送受信の動作を説明するための図である。
【図５】図５はテレビ受信機Ａの動作フローチャートである。
【図６】図６は、本発明の第２の実施の形態に係る分散コンピューティングシステムの概略ブロック図である。
【図７】図７は、本発明の分散コンピューティングシステムのビジネスへの応用例である。
【発明を実施するための形態】
【００１３】
＜本発明の第１の実施の形態＞
本発明の第１の実施の形態に係る分散コンピューティングシステムを説明する。図１は、本発明の第１の実施の形態に係る分散コンピューティングシステムの概略ブロック図である。
【００１４】
第１の実施の形態に係る分散コンピューティングシステムは、所定のジョブを分割して処理するためのタスクプログラムと、タスクプログラムが処理するタスク処理データと、タスクプログラムを識別するタスク識別情報とが関連付けられて記憶されているデータベース１と、放送により、タスクプログラムの取得を指示する指示情報を放送する放送部２と、放送波から、指示情報を受信する受信部３と、指示情報に基づいて、タスクプログラムの取得要求を送信する要求部４と、タスクプログラムの取得要求を受信し、所定のタスクプログラムをデータベース１から選択し、選択したタスクプログラムと、選択したタスクプログラムのタスク処理データ及びタスク識別情報とを送信するタスクプログラム送信部５と、タスクプログラム、タスク処理データ及びタスク識別情報を受信し、タスクプログラムによりタスク処理データを処理する処理部６と、処理部６の処理結果及びタスク識別情報を送信する送信部７と、処理結果及びタスク識別情報を受信し、処理結果をタスク識別情報に関連付けてデータベース１に格納し、データベース内の処理結果を集計し、ジョブの結果を算出する集計部８とを有する分散コンピューティングシステムである。
【００１５】
分散コンピューティングシステムは、ある大きな課題（ジョブ）を複数の課題（タスク）に分割し、分割した複数のタスクを複数のクライアントに処理させ、その結果をサーバが集計してひとつのジョブの結果を導き出すものである。
【００１６】
本実施の形態では、受信部３と、要求部４と、処理部６と、送信部７とがクライアントに相当し、本例ではタスクを処理するそのクライアントがテレビ受信機Ａである場合を説明する。
【００１７】
また、本実施の形態では、タスクプログラム送信部５と集計部８とが、処理結果を集計してひとつのジョブの結果を導き出すサーバＢに相当する。
【００１８】
また、本実施の形態では、放送部２は放送局Ｃに設けられる。
【００１９】
そして、第１の実施の形態に係る分散コンピューティングシステムは、分散コンピューティングシステムの処理の起点が放送から開始され、放送局が、クライアント、すなわちテレビ受信機Ａが行うタスク処理の開始、中断若しくは中止又は処理結果の送信を制御する例を説明する。
【００２０】
以下、具体的な構成を説明する。
【００２１】
データベース１は、処理済フラグのフィールドと、タスク識別情報（タスクＩＤ）のフィールドと、タスクのスクリプトパス（タスク処理プログラムのパス）のフィールドと、タスク処理のデータのフィールドと、タスク処理の処理結果のフィールドとが関連付けられて記憶されている。データベース１の一例を、図２に示す。図２の例では、例えば、処理済フラグ”済”と、タスク識別情報（タスクＩＤ）” 00001”と、タスクのスクリプトパス” http://example.com/process1.js”と、タスク処理のデータ” {a:xxx,b:xxx}”と、タスク処理結果” 110101”とが関連付けられて記憶されている。
【００２２】
尚、ジョブをタスクに分割する方法は、ジョブによって異なる。例えば、「特徴抽出」のような処理を行うジョブであれば（大量の入力データを決められた手順で裁くような処理）、入力データとなるデータセットを細かく分割し、各受信機に処理させる。また、機械学習による識別モデルの構築を分散処理させる（一つのマシンでは処理時間が非現実的な値となるような）際には、モデル自体を分割して各受信機に割り振り、各受信機が互いにコミュニケーションをとりながら処理を進めていくことになる。
【００２３】
放送局Ｃは放送部２を有している。放送部２は、ジョブを分割したタスクを処理するためのタスクプログラムの取得を指示する指示情報を放送する。この指示情報は、例えば、データ放送やハイブリットキャストにより、タスクスクリプトを要求するスクリプトが記載されたＢＭＬ等により、実現される。また、指示情報は、１回でも複数回でも良く、放送により１回受信した後は、通信から指示情報を送信するようにしても良い。また、指示情報は、１種類に限らず、複数のジョブを識別するジョブ識別情報を付して送信しても良い。
【００２４】
更に、放送部２は、テレビ受信機Ａによるタスク処理の開始や停止、中止などの制御情報を、データ放送によるイベントメッセージやモジュールの放送も行う。これらのイベントメッセージやモジュールは、番組枠の切り替わり等のタイミンクで、タスク処理を開始させたい場合や停止又は終了させたい場合等に放送される。尚、これらのタスク処理の開始や停止、中止などの制御の種別は、例えば、イベントメッセージのプライベート領域に記載することができる。
【００２５】
テレビ受信機Ａは、受信部３と、要求部４と、処理部６と、送信部７とを有する。
【００２６】
受信部３は、テレビチューナや、データ放送のブラウザ、イーサネット（登録商標）等の機能を有し、テレビ放送から指示情報を受信する。
【００２７】
要求部４は、イーサネット（登録商標）等の機能を有し、通信を介して、サーバＢに、タスクプログラムの取得要求を送信する。
【００２８】
処理部６は、タスクプログラム、タスクプログラムにより処理するタスク処理データ及びタスクプログラムを識別するタスク識別情報を受信し、タスクプログラムによりタスク処理データを処理する。処理部６は、データ放送やハイブリットキャスト等により実現される。
【００２９】
送信部７は、イーサネット（登録商標）等の機能を有し、処理部６のタスク処理データの処理結果を、そのタスクタスク識別情報と共に、サーバＢに送信する。
【００３０】
サーバＢは、タスクプログラム送信部５と集計部８とを有する。
【００３１】
タスクプログラム送信部５は、テレビ受信機Ａからのタスクプログラムの取得要求を受信し、処理フラグが”済”となっていないタスクプログラムを、データベース１から選択し、選択したタスクプログラムと、選択したタスクプログラムのタスク処理データ及びタスク識別情報とを、テレビ受信機Ａに送信する。
【００３２】
集計部８は、テレビ受信機Ａから、タスク処理の処理結果及びタスク識別情報を受信し、処理結果をタスク識別情報に関連付けてデータベース１に格納する。また、データベース１のタスク処理の処理結果を集計し、ジョブの結果を算出する。
【００３３】
次に、上述の構成における第１の実施の形態における動作を説明する。
【００３４】
尚、以下の説明では、所定のプロジェクトのジョブＸを分割したタスクを、複数のテレビ受信機Ａが処理し、ジョブＸの結果をサーバＢが算出する例を説明する。そして、ユーザは、そのプロジェクトに参加する意思表明を行い、又は、特別な意思表明を行わずに番組を視聴する等により自動的にプロジェクトに参加するものとする。
【００３５】
まず、放送局Ｃは放送部２により、ジョブＸを分割したタスクを処理するためのタスクプログラムの取得を指示する指示情報を放送する。図３は、放送部２より、放送される指示情報（管理プログラム）の一例である。図３に示される一例では、データ放送によるイベントメッセージによるタスク処理の開始や停止、タスクプログラム、タスクプログラムにより処理するタスク処理データ、タスク処理の結果の送信に関するスクリプトが記載されている。
【００３６】
テレビ受信機Ａの受信部３は、ユーザがプロジェクトに関連する番組を視聴することにより、その番組内で放送されている指示情報を受信する。受信部３が指示情報を受信すると、要求部４は、データ放送あるいはハイブリッドキャストブラウザを起動し、サーバＢに、タスクプログラムの取得要求を行う。
【００３７】
タスクプログラム送信部５は、テレビ受信機Ａからのタスクプログラムの取得要求を受信し、処理済フラグが”済”となっていないタスクプログラムを、データベース１から選択し、選択したタスクプログラムと、選択したタスクプログラムのタスク処理データ及びタスク識別情報（タスクＩＤ）とを、テレビ受信機Ａに送信する。図４は、テレビ受信機ＡとサーバＢとのデータ送受信の動作を説明するための図である。図４において、データベース１のタスクＩＤ”00001”とタスクＩＤ”00002”には、処理済フラグが”済”となっているので、タスクプログラム送信部５は、タスクＩＤ”00003”、タスクＩＤ”00003”のスクリプトパス及びタスク処理データをテレビ受信機Ａに送信する。
【００３８】
テレビ受信機Ａの処理部６は、タスクプログラム、タスクプログラムにより処理するタスク処理データ及びタスクプログラムを識別するタスク識別情報を受信し、タスクプログラムによりタスク処理データを処理する。
【００３９】
テレビ受信機Ａの送信部７は、処理部６のタスク処理データの処理結果を、そのタスク識別情報と共に、サーバＢに送信する。
【００４０】
ここで、テレビ受信機Ａの受信部３、要求部４、処理部６及び送信部７の動作を説明する。図５は、テレビ受信機Ａの動作を示すフローチャートである。
【００４１】
まず、受信部３は、ＢＭＬを受信すると（Ｓｔｅｐ１００）、ハイブリットキャストを起動する。そして、要求部４は、サーバＢに処理するタスクを要求する（Ｓｔｅｐ１０１）。
【００４２】
処理するタスクがある場合、すなわち、タスクプログラム、タスクプログラムにより処理するタスク処理データ及びタスクプログラムを識別するタスク識別情報を受信した場合、処理部６はWorker(サブスレッドにて処理を行わせるためのオブジェクト)を生成し（Ｓｔｅｐ１０２）、Ｓｔｅｐ１０３に進む。一方、サーバＢに処理するタスクを要求しない場合（Ｓｔｅｐ１０１）、Workerの有無を判断する（Ｓｔｅｐ１０３）。
【００４３】
Workerが無い場合（Ｓｔｅｐ１０３）、イベントメッセージの受信を待機する（Ｓｔｅｐ１０９）。
【００４４】
Workerが有る場合（Ｓｔｅｐ１０３）、処理部６はタスクプログラムによるデータの処理を開始する（Ｓｔｅｐ１０４）。
【００４５】
処理部６がWorkerにて処理を行っている最中に、受信部３が新タスクの発生、タスク処理の中断や終了を指示するイベントメッセージを受信した場合（Ｓｔｅｐ１０５）、Workerを破棄して待機状態に遷移する（Ｓｔｅｐ１０６）。
【００４６】
受信部３が新タスクの発生、タスク処理の中断や終了を指示するイベントメッセージを受信せず（Ｓｔｅｐ１０５）、処理部６がWorkerの処理が完了した場合、タスクの処理結果及びタスクＩＤをサーバＢに送信する（Ｓｔｅｐ１０７）。そして、Workerを破棄して待機状態に遷移する（Ｓｔｅｐ１０８）。
【００４７】
このようにして、テレビ受信機Ａは、タスク処理を行う。
【００４８】
サーバＢの集計部８は、テレビ受信機Ａから、タスク処理の処理結果及びタスクＩＤを受信すると、そのタスクＩＤに対応する処理結果のフィールドに受信した処理結果を書き込み、そのタスクＩＤに対応する処理済フラグのフィールドに”済”のフラグを書き込む。例えば、図４の例では、テレビ受信機Ａから、タスクＩＤ”00003”と、その処理結果とを受信し、タスクＩＤ”00003”に対応する処理結果のフィールドに受信した処理結果を書き込み、タスクＩＤ”00003”に対応する処理済フラグのフィールドに”済”のフラグを書き込んでいる。なお、処理結果の信頼性を向上させるため、複数のテレビ受信機に同一タスクを実行させ、結果の比較、照合を行った上で、処理済フラグのフィールドに“済”フラグを書きこむ場合も考えられる。結果の受け取り後、未処理タスクが残っている場合、タスクプログラム送信部５は受信機に対してタスク要求をするように指示を送る。
【００４９】
そして、サーバＢの集計部８は、データベース１の処理済フラグのフィールドに全て”済”のフラグが立った場合、処理結果のデータを集計してジョブの結果を算出する。
【００５０】
このように構成された第１の実施の形態によれば、テレビ受信機をクライアントとして分散コンビューデングを行うことができるとともに、放送によりタスク処理の開始や、停止、終了の制御を行うことができる。
【００５１】
＜本発明の第２の実施の形態＞
本発明の第２の実施の形態は、第１の実施の形態に加え、サーバでの処理状況や、各テレビ受信機におけるタスク処理の状況を監視する監視部９をサーバに設けたことを特徴とする。
【００５２】
図６は、本発明の第２の実施の形態に係る分散コンピューティングシステムの概略ブロック図である。
【００５３】
監視部９は、サーバＢのタスクプログラム送信部５及び集計部８と、データベース１とを監視し、サーバの負荷状況を監視する。サーバＣが処理の負荷が大きいと判断した場合や（例えば、集中的なアクセスや、ジョブの算出に要する負荷の増大等）、通信障害等の場合、放送部２に各テレビ受信機からのタスクプログラムの取得要求や、タスクの処理、タスクの処理結果の送信の中断、中止を要求する。
【００５４】
放送部２は、これらの要求を受けて、イベントメッセージやモジュールにより、タスクプログラムの取得要求や、タスクの処理、タスクの処理結果の中断、中止を制御する制御情報を放送する。
【００５５】
テレビ受信機Ａの受信部３が、制御情報のイベントメッセージやモジュールを受信した場合、テレビ受信機Ａの要求部４、処理部６及び送信部７は、スクプログラムの取得要求や、タスクの処理、タスクの処理結果の中断、中止を行う。
【００５６】
一方、監視部９は、サーバＢのタスクプログラム送信部５及び集計部８と、データベース１とを監視し、サーバの負荷状況を監視する。サーバＣの負荷が軽減したと判断した場合や（例えば、集中的なアクセスの解消や、ジョブの算出の終了等）、通信障害の解消等の場合、放送部２に各テレビ受信機からのタスクプログラムの取得要求や、タスクの処理、タスクの処理結果の送信の開始を要求する。
【００５７】
放送部２は、これらの要求を受けて、イベントメッセージやモジュールにより、タスクプログラムの取得要求や、タスクの処理、タスクの処理結果の送信の開始する制御情報を放送する。
【００５８】
テレビ受信機Ａの受信部３が、制御情報が記載されたイベントメッセージやモジュールを受信した場合、テレビ受信機Ａの要求部４、処理部６及び送信部７は、スクプログラムの取得要求や、タスクの処理、タスクの処理結果の送信を開始する。
【００５９】
このように構成することにより、サーバの状況に応じて、放送により、各クライアントとなるテレビ受信機の処理を制御することができる。
【００６０】
更に、監視部９は、各テレビ受信機におけるタスク処理の状況を監視することも可能である。この場合、テレビ受信機Ａの要求部４がタスクプログラムの要求する際、自テレビ受信機Ａのデバイス識別番号も送信する。そして、サーバＢのタスクプログラム送信部５は、タスクプログラムを、そのデバイス識別番号のテレビ受信機Ａに送信する際、データベース１の送信するタスクプログラムに関連付けてそのデバイス識別番号も登録する。監視部９は、データベース１を監視することにより、一定時間、タスク処理の結果が送信されてこないテレビ受信機Ａを判断することができ、そのテレビ受信機Ａは何らかの事情、例えば、テレビ受信機の電源断や、チャンネルの変更等により、タスク処理ができない状態であり、そのタスクを、新たなテレビ受信機に割り当てることもできる。
【００６１】
尚、上記は一例であり、監視部９がタスクプログラムを送信した送信時刻を監視し、その送信時刻から一定時間応答のない（処理結果が送信されてこない等）場合、そのタスクを、新たなテレビ受信機に割り当てるようにしても良い。
【００６２】
第２の実施形態は、第１の実施の形態の効果に加え、サーバでの処理状況や、各テレビ受信機におけるタスク処理の状況に応じて、放送により、タスクスクプログラムの取得要求や、タスクの処理、タスクの処理結果の送信を、開始、中断又は停止の制御を行うことができる。
【００６３】
更に、本発明の分散コンピューティングシステムによる一つのビジネスモデルとして、タスクの処理を行った視聴者に対して、貢献度（タスクの処理時間等）に応じてポイントを付与することが考えられる。
【００６４】
例えば、図７に示すように、テレビ視聴に際し、分散コンピューティングプロジェクトに参加する意思があるかを確認し、参加すれば、本発明の分散コンピューティングシステムを実行し、それに応じたポイントを付与するようにしても良い。
【００６５】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【符号の説明】
【００６６】
１      データベース
２      放送部
３      受信部
４      要求部
５      タスクプログラム送信部
６      処理部
７      送信部
８      集計部
９      監視部
Ａ      テレビ受信機
Ｂ      サーバ
Ｃ      放送局
【図１】
0006649085.tif 000002
【図２】
0006649085.tif 000003
【図３】
0006649085.tif 000004
【図４】
0006649085.tif 000005
【図５】
0006649085.tif 000006
【図６】
0006649085.tif 000007
【図７】
0006649085.tif 000008