(57)【要約】【課題】ユーザの端末の計算リソースを、ユーザの処理に支障が生じない程度に利用して、分散計算を行う。【解決手段】複数の端末装置（計算端末３−１〜３−３）と、計算依頼を分割して計算端末３−１〜３−３に分配し、計算端末３−１〜３−３の計算結果を受け取って結合する分配結合装置２とが、ネットワークを介して接続され、計算端末３−１〜３−３はそれぞれ、分配結合装置２からの計算依頼を自端末の負荷状態に応じて処理し、その処理により得られた計算結果を自端末の負荷状態を示す端末状態情報と共に分配結合装置２に送信し、分配結合装置２は、計算端末３−１〜３−３からそれぞれ受信した端末状態情報を保持し、保持された端末状態情報に応じて、計算依頼の分割および計算端末３−１〜３−３への分配を行う。【選択図】図１
2011170571.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末装置と、計算依頼を分割して上記複数の端末装置に分配し、上記複数の端末装置の計算結果を受け取って結合する分配結合装置とが、ネットワークを介して接続され、
上記複数の端末装置はそれぞれ、上記分配結合装置からの計算依頼を自端末の負荷状態に応じて処理し、その処理により得られた計算結果を自端末の負荷状態を示す端末状態情報と共に上記分配結合装置に送信し、
上記分配結合装置は、上記複数の端末装置からそれぞれ受信した端末状態情報を保持し、保持された端末状態情報に応じて、上記計算依頼の分割および上記複数の端末装置への分配を行う
ことを特徴とする分散計算システム。
【請求項２】
請求項１記載の分散計算システムにおいて、
前記分配結合装置は、前記複数の端末装置のそれぞれに対して、分割した計算依頼と共に、以前の計算依頼に対して当該端末装置から受信して保持している当該端末装置の端末状態情報または当該端末装置の端末状態情報が保持されていない場合には初期値の端末状態情報を通知し、
前記複数の端末装置はそれぞれ、前記分配結合装置から受信した端末状態情報と現在の自端末の負荷状態に応じて、前記分配結合装置からの計算依頼を処理する
ことを特徴とする分散計算システム。
【請求項３】
請求項１または２項記載の分散計算システムにおいて、前記分配結合装置は、前記複数の端末装置のいずれか１以上からの計算結果が得られない場合には、その計算結果が得られていない計算依頼について、再度分割して、計算結果が得られていない端末装置以外の１以上の端末装置に送信することを特徴とする分散計算システム。
【請求項４】
請求項１から３のいずれか記載の分散計算システムにおいて、前記複数の端末装置はそれぞれ、ウェブ上の特定のサイトにアクセスしている端末であることを特徴とする分散計算システム。
【請求項５】
請求項４記載の分散計算システムにおいて、前記分配結合装置から前記複数の端末装置に分配される計算依頼には、前記複数の端末装置のそれぞれで動作しているウェブ・ブラウザ上で計算を行うためのデータおよび計算手順が含まれることを特徴とする分散計算システム。
【請求項６】
請求項４または５記載の分散計算システムにおいて、前記特定のサイトは動画投稿サイトであり、前記分配結合装置が分割する計算依頼は、上記動画投稿サイトに動画を登録するために必要な計算の依頼であることを特徴とする分散計算システム。
【請求項７】
計算依頼を受信する計算依頼受信部と、
受信した計算依頼を分割する計算依頼分割部と、
分割された計算依頼を複数の端末装置に送信する計算依頼送信部と、
上記計算依頼送信部から送信された計算依頼に対する上記複数の端末装置からの計算結果と当該端末装置の負荷状態を示す端末状態情報とを受信する計算結果受信部と、
受信した計算結果を結合する計算結果結合部と、
結合された計算結果を最終的な計算結果として上記依頼端末に送信する計算結果送信部と、
上記計算結果受信部が受信した上記端末状態情報を保持する端末状態保持部と
を有し、
上記計算依頼分割部および上記計算依頼送信部は、上記端末状態保持部に保持された個々の計算端末の端末状態情報に応じて、上記受信した計算依頼の分割および上記複数の端末装置への送信を行う
ことを特徴とする分散計算の分配結合装置。
【請求項８】
ネットワーク上の分配結合装置からの計算依頼を処理する端末装置において、
上記分配結合装置から計算依頼を受信する計算依頼受信部と、
自端末の負荷状態を示す端末状態情報を保持する端末状態保持部と、
上記計算依頼受信部で受信した計算依頼を上記端末状態保持部に保持された端末状態情報に応じて分割する計算依頼分割部と、
上記計算依頼分割部で分割された計算依頼に従って計算を実行する計算部と、
上記計算部による計算結果を結合する計算結果結合部と、
上記計算結果結合部により結合された計算結果を上記分配結合装置に送信する計算結果送信部と
を有し、
上記計算依頼分割部は、上記計算部への計算依頼の時刻と、その計算依頼に対する上記計算部の計算終了の時刻とから、自端末の負荷状態を推定して、上記端末状態保持部に保持された端末状態情報を更新し、
上記計算結果送信部は、上記結合された計算結果と共に、現在の端末状態情報を上記分配結合装置に送信する
ことを特徴とする端末装置。
【請求項９】
請求項８記載の端末装置において、前記計算依頼分割部は、前記計算部に依頼した計算依頼のすべてが計算されていない場合は、計算が終了した計算依頼から推定される自端末の負荷状態に応じて、計算されていない計算依頼をさらに分割することを特徴とする端末装置。
【請求項１０】
請求項８または９記載の端末装置において、
前記計算依頼受信部、前記端末状態保持部、前記計算依頼分割部、前記計算部、前記計算結果結合部および前記計算結果送信部は、当該端末装置上で動作するウェブ・ブラウザの機能により実現され、
前記計算依頼受信部は、前記分配結合装置から、計算依頼と共に、自端末の以前の端末状態情報または以前の端末状態情報がない場合には初期値の端末状態情報を受信し、その端末状態情報で前記端末状態保持部の内容を更新する
ことを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算端末により分散して計算を行う分散計算システム、分散計算の分配結合装置および端末装置に関する。
【背景技術】
【０００２】
近年、動画投稿サイトへの動画の投稿が盛んになってきている。動画投稿サイトとは、ユーザからの動画のアップロードを受け付け、アップロードされた動画をＷｅｂ上で公開できる形に変換し、変換後の動画をユーザが閲覧できるように公開しているＷｅｂ上のサイトである。動画投稿サイトを利用すれば、多くのユーザによって創作された多様な動画を閲覧することが可能である。これにより、ユーザの創作活動を活発にし、動画を用いた新たなビジネスの創出や新たな文化の醸成が期待される。
【０００３】
しかし、動画投稿サイト側でアップロードされた動画の変換を行うため、動画投稿サイトのサーバの負荷が大きくなる。これにより、動画投稿サイトの運用コストの増大、動画投稿から公開までの待ち時間の増大が問題となる。
【０００４】
一方、負荷の大きな計算を行う技術として、複数の計算機を用いる分散コンピューティング技術が知られている。複数の計算機で同時並行的に計算を行うことで、１つの計算機で計算を行うよりも早く、計算を完了することができる。このような技術を動画投稿サイトの動画の変換に用いることで、サーバの負荷を抑えることが可能になると考えられる。分散コンピューティング技術については、たとえば、特許文献１、２に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−７８２８４号公報
【特許文献２】特開２００５−１２２６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
動画投稿サイトの運営者が複数の計算機を用意し、分散コンピューティング技術を利用することで、動画投稿から公開までの待ち時間の増大を抑えることができる。しかし、それでは、運用コストの増大を抑えることはできない。
【０００７】
ユーザの端末も計算機であることから、ユーザの端末を用いて同時並行的に計算を行うアイデアもある。しかし、Ｗｅｂ閲覧中のユーザの端末の負荷を、Ｗｅｂ閲覧に支障が出るほど上げることはできない。
【０００８】
本発明は、このような課題を解決し、ユーザの端末の計算リソースを、ユーザの処理に支障が生じない程度に利用することのできる分散計算システム、分散計算の分配結合装置および端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点によると、複数の端末装置と、計算依頼を分割して複数の端末装置に分配し、複数の端末装置の計算結果を受け取って結合する分配結合装置とが、ネットワークを介して接続され、複数の端末装置はそれぞれ、分配結合装置からの計算依頼を自端末の負荷状態に応じて処理し、その処理により得られた計算結果を自端末の負荷状態を示す端末状態情報と共に分配結合装置に送信し、分配結合装置は、複数の端末装置からそれぞれ受信した端末状態情報を保持し、保持された端末状態情報に応じて、計算依頼の分割および複数の端末装置への分配を行うことを特徴とする分散計算システムが提供される。
【００１０】
分配結合装置は、複数の端末装置のそれぞれに対して、分割した計算依頼と共に、以前の計算依頼に対して当該端末装置から受信して保持している当該端末装置の端末状態情報または当該端末装置の端末状態情報が保持されていない場合には初期値の端末状態情報を通知し、複数の端末装置はそれぞれ、分配結合装置から受信した端末状態情報と現在の自端末の負荷状態に応じて、分配結合装置からの計算依頼を処理することができる。
【００１１】
分配結合装置は、複数の端末装置のいずれか１以上からの計算結果が得られない場合には、その計算結果が得られていない計算依頼について、再度分割して、計算結果が得られていない端末装置以外の１以上の端末装置に送信することが望ましい。
【００１２】
端末装置として、ウェブ上の特定のサイトにアクセスしている端末を利用することができる。この場合、分配結合装置から複数の端末装置に分配される計算依頼には、複数の端末装置のそれぞれで動作しているウェブ・ブラウザ上で計算を行うためのデータおよび計算手順が含まれることがよい。さらに、特定のサイトとしては、動画投稿サイトであり、依頼端末からの計算依頼は、動画投稿サイトに動画を登録するために必要な計算の依頼とすることができる。
【００１３】
本発明の第２の観点によると、依頼端末からの計算依頼を受信する計算依頼受信部と、受信した計算依頼を分割する計算依頼分割部と、分割された計算依頼を複数の端末装置に送信する計算依頼送信部と、計算依頼送信部から送信された計算依頼に対する複数の端末装置からの計算結果と当該端末装置の負荷状態を示す端末状態情報とを受信する計算結果受信部と、受信した計算結果を結合する計算結果結合部と、結合された計算結果を最終的な計算結果として依頼端末に送信する計算結果送信部と、計算結果受信部が受信した端末状態情報を保持する端末状態保持部とを有し、計算依頼分割部および計算依頼送信部は、端末状態保持部に保持された個々の端末装置の端末状態情報に応じて、受信した計算依頼の分割および複数の端末装置への送信を行うことを特徴とする分散計算の分配結合装置が提供される。
【００１４】
本発明の第３の観点によると、ネットワーク上の分配結合装置から計算依頼を受信して処理する分散計算の端末装置において、分配結合装置から計算依頼を受信する計算依頼受信部と、自端末の負荷状態を示す端末状態情報を保持する端末状態保持部と、計算依頼受信部で受信した計算依頼を端末状態保持部に保持された端末状態情報に応じて分割する計算依頼分割部と、計算依頼分割部で分割された計算依頼に従って計算を実行する計算部と、計算部による計算結果を結合する計算結果結合部と、計算結果結合部により結合された計算結果を分配結合装置に送信する計算結果送信部とを有し、計算依頼分割部は、計算部への計算依頼の時刻と、その計算依頼に対する計算部の計算終了の時刻とから、自端末の負荷状態を推定して、端末状態保持部に保持された端末状態情報を更新し、計算結果送信部は、結合された計算結果と共に、現在の端末状態情報を分配結合装置に送信することを特徴とする端末装置が提供される。
【００１５】
計算依頼分割部は、計算部に依頼した計算依頼のすべてが計算されていない場合は、計算が終了した計算依頼から推定される自端末の負荷状態に応じて、計算されていない計算依頼をさらに分割することができる。
【００１６】
計算依頼受信部、端末状態保持部、計算依頼分割部、計算部、計算結果結合部および計算結果送信部は、当該端末装置上で動作するウェブ・ブラウザの機能により実現され、計算依頼受信部は、分配結合装置から、計算依頼と共に、自端末の以前の端末状態情報または以前の端末状態情報がない場合には初期値の端末状態情報を受信し、その端末状態情報で端末状態保持部の内容を更新することができる。
【発明の効果】
【００１７】
本発明によると、ユーザの端末の計算リソースを、ユーザの処理に支障が出ない程度に利用することが可能となる効果がある。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る分散計算システムの構成を示すブロック図である。
【図２】図１に示す分配結合装置の詳細な構成例を示すブロック図である。
【図３】図１に示す計算端末の詳細な構成例を示すブロック図である。
【図４】図２に示す分配結合装置の動作を説明するシーケンス図である。
【図５】図３に示す計算端末の動作を説明するシーケンス図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２０】
［構成例］
図１は、本発明の実施の形態に係る分散計算システムの構成を示すブロック図である。この分散計算システムは、依頼端末１と、分配結合装置２と、計算端末３−１〜３−３とを備える。これらは、ネットワークを介して接続される。ここでは依頼端末１および分配結合装置２をそれぞれ１台だけ示しているが、これらはそれぞれ１台に限定されるものではなく、複数台備えることもできる。計算端末３−１〜３−３も、３台に限定されるものではない。
【００２１】
依頼端末１は、計算を依頼する専用の端末装置である。依頼端末１は、計算を行うための計算依頼を、分配結合装置２に送信する。その後、依頼端末１は、計算結果を分配結合装置２から受信する。計算依頼には、計算対象のデータと、計算の手法が書かれたスクリプト、結合の手法が書かれたスクリプト等が含まれる。
【００２２】
分配結合装置２は、依頼端末１からの計算依頼を受信し、受信した計算依頼を分割して複数の端末装置、すなわち計算端末３−１〜３−３に分配する。分配結合装置２は、また、計算依頼を分配した計算端末３−１〜３−３からの計算結果を受信し、受信した計算結果を結合し、結合した計算結果を最終的な計算結果として、依頼端末１に返す。分配結合装置２から計算端末３−１〜３−３に送信する計算依頼には、分配結合装置２によって分割された計算対象のデータと計算の手法が書かれたスクリプトと、結合の手法が書かれたスクリプト等が含まれる。
【００２３】
計算端末３−１〜３−３（以下、個々に区別する必要がない場合は、単に、計算端末３と称する）は、たとえばユーザの端末装置であり、分配結合装置２からの計算依頼を自端末の負荷状態に応じて処理する。
【００２４】
この構成において、計算端末３−１〜３−３はそれぞれ、分配結合装置２からの計算依頼を処理することにより得られた計算結果を、自端末の負荷状態を示す端末状態情報と共に分配結合装置２に送信する。分配結合装置２は、計算端末３−１〜３−３からそれぞれ受信した端末状態情報を保持し、保持された端末状態情報に応じて、依頼端末１から受信した計算依頼の分割および計算端末３−１〜３−３への分配を行う。
【００２５】
［ウェブ・クライアントによる計算］
ここで、計算端末３−１〜３−３として、ウェブ・クライアントを利用する場合を考える。すなわち、計算端末３−１〜３−３として、ウェブ・ブラウザがインストールされたパーソナルコンピュータを利用する。計算端末３−１〜３−３は、ウェブ上の特定のサイトにアクセスし、ウェブ・サーバから、あらかじめウェブ・ページをダウンロードして表示しているものとする。また、このウェブ・ページは、計算端末３−１〜３−３が計算を行うためのＦｌａｓｈ（登録商標）やＪａｖａＳｃｒｉｐｔ（登録商標）等で記述された計算プログラムを含んでいる。この計算プログラムは、ウェブ・ページが計算端末３−１〜３−３に表示されると、分配結合装置２と接続し、分配結合装置２からの計算依頼を受信可能とする。また、この計算プログラムは、計算依頼を受信すると、その端末の負荷状態に応じて、端末のユーザのウェブ閲覧に支障をきたさない程度のリソースで、分配結合装置２からの計算依頼に従って計算を行う。さらに、計算プログラムは、その時の計算時間から自端末の負荷状態を計算し、計算依頼に対する計算結果と、自端末の負荷状態を表す端末状態情報とを分配結合装置２に送信する。
【００２６】
計算依頼に従う計算を特定のサイトのウェブ・ページに含まれる計算プログラムにより処理することから、計算端末３−１〜３−３がそのウェブ・ページを一旦閉じて再度開いたときには、自端末の端末状態情報が失われている可能性がある。そこで、分配結合装置２から計算端末３−１から３−３に計算依頼を送るときに、その計算依頼と共に、以前の計算依頼に対して当該計算端末から受信して保持している当該計算端末の端末状態情報、または当該計算端末の端末状態情報が保持されていない場合には初期値の端末状態情報を通知する。この端末状態情報には、端末ユーザの閲覧に支障を出さずに処理できるデータ量の情報が含まれる。計算端末３−１から３−３はそれぞれ、分配結合装置２から受信した端末状態情報と現在の自端末の負荷状態に応じて、分配結合装置２からの計算依頼を処理する。
【００２７】
［分配結合装置］
図２は、図１に示した分配結合装置２の構成例を示すブロック図である。この分配結合装置２は、計算依頼受信部２１と、計算依頼分割部２２と、端末状態保持部２３と、計算依頼送信部２４と、計算結果受信部２５と、計算結果結合部２６と、計算結果送信部２７とを備える。
【００２８】
計算依頼受信部２１は、依頼端末１からの計算依頼を受信し、保持し、計算依頼分割部２に送信する。
【００２９】
計算依頼分割部２２は、計算依頼受信部２１から受信した計算依頼を、計算端末３−１〜３−３のそれぞれの負荷に応じて分割し、計算依頼送信部２４に送信する。このとき、計算依頼に含まれる計算対象のデータの分割は、端末状態保持部２３から取得した端末状態情報に応じて、すなわち計算端末３−１〜３−３の負荷状態に応じて、行われる。計算依頼分割部２２はさらに、分割後の計算依頼を、送信先の計算端末のＩＤとともに、計算依頼送信部２４に送信する。分割後の計算依頼には、たとえば、分割後の計算対象のデータと、計算の手法が書かれたスクリプトと、結合の手法が書かれたスクリプト等が含まれる。計算依頼分割部２２はまた、計算結果受信部２５から再計算依頼を受信すると、それに従って、該当する計算依頼を計算端末３−１〜３−３のそれぞれの負荷に応じて分割し、計算依頼送信部２４に送信する。
【００３０】
端末状態保持部２３は、複数の計算端末３−１〜３−３の負荷状態を示す端末状態情報を保持する。たとえば、計算端末３−１〜３−３でのユーザのウェブ閲覧に支障をきたさない程度の計算データ量の値や、単位データ量の計算にかかる時間や、現在計算端末３−１〜３−３で計算を行っているスレッドの数などが含まれる。
【００３１】
計算依頼送信部２４は、計算依頼分割部２２から受信した分割後の計算依頼を受信し、その計算依頼の送信先の計算端末のＩＤに対応する端末状態情報を、端末状態保持部２３から取得する。計算依頼送信部２４は、さらに、取得された端末状態情報と分割後の計算依頼とを、送信先の計算端末ＩＤに対応する計算端末に送信する。
【００３２】
計算結果受信部２５は、計算端末３−１〜３−３から計算結果と端末状態情報とを受信し、受信した端末状態情報で端末状態保持部２３の内容を更新する。計算結果受信部２５は、送信されたすべての計算依頼に対する計算結果を受信すると、それらの計算結果を計算結果結合部２６に送信する。このときの端末状態情報は、当該計算端末が計算結果を算出するためにかかった時間から算出され、当該計算端末のユーザのＷｅｂ閲覧に支障をきたさない程度の計算データ量の値や、単位データ量の計算にかかる時間や、現在当該計算端末で計算を行っているスレッドの数などが含まれる。計算結果受信部２５は、あらかじめ算出しておいた予想時間までにすべての計算端末３−１〜３−３から計算結果を受信できなかった場合、受信できていない計算結果に対応する計算依頼の再計算依頼を、計算依頼分割部２２に送信する。
【００３３】
計算結果結合部２６は、計算結果受信部２５から受信した計算結果を結合し、計算結果送信部２７に送信する。計算結果結合部２６による計算結果の結合は、計算依頼受信部２１に保持されている計算依頼に含まれている結合の手法が書かれたスクリプトを用いて行われる。計算結果送信部２７は、計算結果結合部２６から受信した計算結果を依頼端末２に送信する。
【００３４】
［端末装置］
図３は、図１に示す計算端末３−１〜３−３の詳細な構成例を示すブロック図である。ここでは、計算端末３として参照する。この計算端末３は、計算依頼受信部３１と、端末状態保持部３２と、計算依頼分割部３３と、計算部３４と、計算結果結合部３５と、計算結果送信部３６とを備える。これらの各部は、当該計算端末上で動作するウェブ・ブラウザの機能により実現される。すなわち、ウェブ・ブラウザが特定のサイトにアクセスしてそのウェブ・ページをダウンロードするときに、そのウェブ・ページに含まれる計算プログラムもダウンロードされ、ウェブ・ブラウザ上でその計算プログラムを実行することで、上述の各部が実現される。
【００３５】
計算依頼受信部３１は、分配結合装置２から計算依頼と端末状態情報とを受信し、計算依頼を保持し、計算依頼と端末状態情報とを計算依頼分割部３２に送信する。
【００３６】
計算依頼分割部３２は、計算依頼受信部３１から受信した計算依頼を自端末の負荷に応じて分割し、受信した端末状態情報で端末状態保持部３３の内容を更新する。このとき、計算依頼に含まれる計算対象のデータを、計算依頼受信部３１から受信した端末状態情報に応じて分割する。この後、計算依頼分割部３２は、分割後の計算依頼を計算部３４に送信する。分割後の計算依頼には、たとえば、分割後の計算対象のデータと、計算の手法が書かれたスクリプト等が含まれる。計算依頼分割部３２はまた、計算部３４から計算結果を受信すると、計算にかかった時間から負荷状態を算出し、算出された負荷状態に基づいて、端末状態保持部３３の端末状態情報を更新する。その後、すべての計算依頼の計算が完了していない場合は、算出された端末状態情報に応じて残っている計算依頼を分割し、計算部３４に送信し、計算依頼の計算が完了するまで繰り返す。計算依頼の計算が完了すると、計算依頼分割部３２は、すべての計算結果を計算結果結合部３５に送信する。
【００３７】
端末状態保持部３３は、自端末の負荷状態を示す端末状態情報を保持する。たとえば、自端末のユーザのウェブ閲覧に支障をきたさない程度の計算データ量の値や、単位データ量の計算にかかる時間や、現在自端末で計算を行っているスレッドの数などが含まれる。
【００３８】
計算部３４は、計算依頼分割部３２からの計算依頼を処理し、その計算結果を計算依頼分割部３２に返送する。
【００３９】
計算結果結合部３５は、計算依頼部分割部３２から受信した計算結果を結合し、計算結果送信部３６に送信する。計算結果結合部３５は、計算依頼受信部３１に保持されている計算依頼に含まれている結合の手法が書かれたスクリプトを用いて結合を行い、結合後の計算結果を計算結果送信部３６に送信する。
【００４０】
計算結果送信部３６は、計算結果結合部３５から計算結果を受信し、端末状態保持部３３から端末状態情報を取得し、受信した計算結果と取得した端末状態情報とを分配結合装置２に送信する。
【００４１】
［分配結合装置の動作］
図４は図２に示した分配結合装置２の動作を説明するシーケンス図である。なお、計算端末３−１〜３−３は、ウェブ上の特定のサイトにアクセスし、ウェブ・サーバから、あらかじめ計算プログラムを含むウェブ・ページをダウンロードして表示しているものとする。
【００４２】
計算依頼受信部２１は、依頼端末１からの計算依頼（計算対象のデータと、計算の手法が書かれたスクリプト、結合の手法が書かれたスクリプト等）を受信し、受信した計算依頼を保持するとともに、受信した計算依頼を計算依頼分割部２２に送信する。計算依頼分割部２２は、計算依頼受信部２１から計算依頼を受信すると、端末状態保持部２３が保持している端末状態情報を参照し、参照した端末状態情報に応じて受信した計算依頼を分割し、分割後の計算依頼を計算依頼送信部２４に送信する。
【００４３】
なお、計算端末３−１〜３−３に、初めて計算依頼を受ける端末が含まれる場合には、端末状態保持部２３にはその端末の端末状態情報が保持されていないことになる。このような場合、その端末には、計算依頼を最小に分割するか、あるいは、一般的な端末で支障をきたさない程度に分割する。
【００４４】
計算依頼送信部２４は、計算依頼分割部２２から分割後の計算依頼を受信すると、端末状態保持部２３から端末状態情報を取得し、受信した分割後の計算依頼と、取得した端末状態情報とを、それぞれの計算端末３−１〜３−３に送信する。なお、初めて計算依頼を出す計算端末に対しては、以前の端末状態情報がないので、初期値の端末状態情報、たとえば一般的な端末装置に見られる負荷状態に相当する端末状態情報を送信する。
【００４５】
この後、計算結果受信部２５は、それぞれの計算端末３−１〜３−３から、計算結果と端末状態情報とを受信する。このとき、計算結果受信部２５は、受信した端末状態情報で端末状態保持部２３の内容を更新する。また、計算結果受信部２５は、すべての計算依頼の計算結果を受信したかを確認し、未計算の計算依頼の計算をするために、再計算依頼を計算依頼分割部２２に送信する。
【００４６】
計算依頼分割部２２は、計算結果受信部２５から再計算依頼を受信すると、計算依頼をすべて計算し終わっていないと判断し、再び、計算依頼の分割を行う。すなわち、計算端末３−１〜３−３のいずれか１以上からの計算結果が得られない場合には、その計算結果が得られていない計算依頼について、再度分割して、計算結果が得られていない端末以外の１以上の端末に送信する。
【００４７】
計算結果受信部２５は、すべての計算依頼の計算結果を受信した場合には、受信したすべての計算結果を計算結果結合部２６に送信する。計算結果結合部２６は、計算結果受信部２５から計算結果を受信すると、計算依頼受信部２１を参照し、計算依頼受信部２１が保持する計算依頼の中の「結合の手法」に従って、受信した計算結果を結合し、結合後の計算結果を計算結果送信部２７に送信する。計算結果送信部２７は、計算結果結合部から計算結果を受信すると、その計算結果を依頼端末１に送信する。
【００４８】
［計算端末の動作］
図５は、図３に示した計算端末３の動作を説明するシーケンス図である。なお、計算端末３は、ウェブ上の特定のサイトにアクセスし、ウェブ・サーバから、あらかじめ分配計算プログラムＰを含むウェブ・ページをダウンロードして表示しているものとする。
【００４９】
計算依頼受信部３１は、分配結合装置２から計算依頼と端末状態情報とを受信すると、受信した計算依頼を保持し、受信した計算依頼と端末状態情報とを計算依頼分割部３２に送信する。計算依頼分割部３２は、計算依頼受信部３１から計算依頼と端末状態情報とを受信すると、受信した端末状態情報で端末状態保持部３３の内容を更新する。計算依頼分割部３２はさらに、端末状態保持部３３を参照し、参照した端末状態情報に応じて、受信した計算依頼を分割する。分割後の計算依頼は、計算部３４に送信される。
【００５０】
計算部３４は、計算依頼分割部３２から計算依頼を受信すると、その計算依頼に従って計算を行い、計算結果を計算依頼分割部３２に送信する。
【００５１】
計算依頼分割部３２は、計算部３４から計算結果を受信すると、計算にかかった時間に応じて、端末状態保持部３３の端末状態情報を更新する。計算依頼のすべての計算が終了していない場合には、計算依頼分割部３３は、再度、計算依頼の分割を行う。
【００５２】
計算依頼のすべての計算が終了している場合には、計算依頼分割部３２は、計算結果すべてを計算依頼結合部３５に送信する。
【００５３】
計算結果結合部３６は、計算依頼分割部３２から計算結果を受信し、計算依頼受信部３１の計算依頼を参照して、計算結果を結合する。計算結果結合部３６はさらに、結合後の計算結果を計算結果送信部３６に送信する。計算結果送信部３６は、計算結果結合部３５から計算結果を受信すると、端末状態保持部３３から端末状態情報を取得し、受信した計算結果と取得した端末状態情報とを、分配結合装置２に送信する。
【００５４】
［効果の説明］
以上説明した本発明の実施の形態によれば、計算端末３が計算依頼を自端末の負荷状態に応じて処理することができ、また、計算端末３−１〜３−３に計算依頼を送信する分配結合装置２も、計算端末３−１〜３−３から受信した端末状態情報に応じて計算依頼の分割および分配を行うので、計算端末３−１〜３−３の計算リソースを、ユーザの処理に支障が出ない程度に利用することができる。
【００５５】
また、計算端末３−１〜３−３としてウェブ・クライアントを利用することで、特定のサイトにアクセスしたユーザの端末装置を、ユーザの許可を得た上で、分散コンピューティングに利用することができる。このとき、ウェブ・ブラウザの機能を利用することで、計算端末３−１〜３−３の負荷状態を特別なプロトコルを用いることなく送受信することができる。ここで送受信される負荷状態の精度は、計算端末３−１〜３−３の負荷状態の変化などを考慮すると、それほど高くはないと考えられる。しかし、おおよその目安とはなるので、ユーザのウェブ閲覧に支障が出るほどの負荷は避けることができる。
【００５６】
本発明は特に、動画投稿サイトに必要な計算の分散計算に利用することができる。すなわち、動画投稿サイトにアクセスするユーザの端末装置を計算端末３、３−１〜３−３として利用し、その動画投稿サイトに動画を登録するために必要な計算依頼を分割して、計算端末３−１〜３−３で計算することができる。
【符号の説明】
【００５７】
１  依頼端末
２  分配結合装置
３、３−１〜３−３  計算端末（端末装置）
２１  計算依頼受信部
２２  計算依頼分割部
２３  端末状態保持部
２４  計算依頼送信部
２５  計算結果受信部
２６  計算結果結合部
２７  計算結果送信部
３１  計算依頼受信部
３２  端末状態保持部
３３  計算依頼分割部
３４  計算部
３５  計算結果結合部
３６  計算結果送信部
【図１】
2011170571.tif 000003
【図２】
2011170571.tif 000004
【図３】
2011170571.tif 000005
【図４】
2011170571.tif 000006
【図５】
2011170571.tif 000007