JP5512606B2 - 分散計算システム、分配結合装置および計算プログラム - Google Patents

分散計算システム、分配結合装置および計算プログラム Download PDF

Info

Publication number
JP5512606B2
JP5512606B2 JP2011131064A JP2011131064A JP5512606B2 JP 5512606 B2 JP5512606 B2 JP 5512606B2 JP 2011131064 A JP2011131064 A JP 2011131064A JP 2011131064 A JP2011131064 A JP 2011131064A JP 5512606 B2 JP5512606 B2 JP 5512606B2
Authority
JP
Japan
Prior art keywords
calculation
terminal
request
distribution
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011131064A
Other languages
English (en)
Other versions
JP2013003642A (ja
Inventor
雄介 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011131064A priority Critical patent/JP5512606B2/ja
Publication of JP2013003642A publication Critical patent/JP2013003642A/ja
Application granted granted Critical
Publication of JP5512606B2 publication Critical patent/JP5512606B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、複数の計算端末により分散して計算を行う分散計算システム、分配結合装置および計算プログラムに関する。
近年、動画投稿サイトへの動画の投稿が盛んになってきている。動画投稿サイトとは、ユーザからの動画のアップロードを受け付け、アップロードされた動画をWeb上で公開できる形式に変換し、変換後の動画をユーザが閲覧できるように公開しているWeb上のサイトである。動画投稿サイトを利用することにより、多くのユーザによって創作された多様な動画を閲覧することが可能である。これにより、ユーザの創作活動を活発にし、動画を用いた新たなビジネスの創出や新たな文化の醸成が期待される。
しかし、動画投稿サイト側でアップロードされた動画の変換を行うため、動画投稿サイトのサーバの負荷が大きくなる。これにより、動画投稿サイトの運用コストの増大が問題となる。
一方、負荷の大きな計算を行う技術として、複数の計算機を用いる分散コンピューティング技術が知られている。複数の計算機で同時並行的に計算を行うことで、1つの計算機で計算を行うよりも早く、計算を完了することができる。分散コンピューティング技術については、たとえば、特許文献1、2に開示されている。
特開2005−78284号公報 特開2005−122616号公報
分散コンピューティング技術を動画投稿サイトの動画の変換に用いることで、サーバの負荷を分散することが考えられる。動画投稿サイトの運営者が、複数の計算機を用意し、分散コンピューティング技術を利用することで、サーバの計算リソースを確保することが可能である。しかし、利用者の増大による、動画投稿サイトの運用コストの増大を抑えることはできない。
そこで、ユーザの端末も計算機であることから、ユーザの端末を利用することが考えられるが、Web閲覧中のユーザの端末の負荷を、Web閲覧に支障が出るほど上げることはできない。また、ユーザの端末に対して計算依頼を送信したり、計算結果を受信したりするときの通信が回線に影響をあたえることが懸念される。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ユーザの端末のリソースを、ユーザの処理に支障が生じないように利用するとともに、回線への影響を抑える分散計算システム、分配結合装置および計算プログラムを提供することにある。
上記目的を達成するため、本発明は、複数の端末装置と、計算依頼を分割して前記複数の端末装置に分配する分配結合装置とを備える分散計算システムであって、各端末装置は、前記分配結合装置から分配された計算依頼を自端末装置の負荷状態に応じて計算する計算手段と、前記計算手段が計算した計算結果と、自端末装置の負荷状態を示す端末状態情報とを、コンテンツを要求するコンテンツリクエストとともに、前記分配結合装置に送信する送信手段と、を有し、前記分配結合装置は、各端末装置から受信した端末状態情報を保持する端末状態保持手段と、前記端末状態保持手段に保持された各端末装置の端末状態情報に応じて、前記計算依頼を分割する分割手段と、前記コンテンツリクエストを送信した端末装置に、当該端末装置用に分割した計算依頼を、前記コンテンツリクエストで指定されたコンテンツとともに送信するコンテンツ配信手段と、を有する。
本発明は、計算依頼を分割して複数の端末装置に分配する分配結合装置であって、依頼端末から計算依頼を受信する計算依頼受信手段と、受信した計算依頼を分割する計算依頼分割手段と、分割された計算依頼をコンテンツとともに複数の端末装置に送信するコンテンツ配信手段と、前記コンテンツ配信手段が送信した計算依頼に対する各端末装置からの計算結果と当該端末装置の負荷状態を示す端末状態情報とを、コンテンツリクエストとともに受信するコンテンツリクエスト受信手段と、各端末装置から受信した計算結果を結合する計算結果結合手段と、結合された計算結果を前記依頼端末に送信する計算結果送信手段と、前記コンテンツリクエスト受信手段が受信した各端末装置の前記端末状態情報を保持する端末状態保持手段と、を有し、前記計算依頼分割手段は、前記端末状態保持手段に保持された各計算端末の端末状態情報に応じて、前記計算依頼を分割し、前記コンテンツ配信手段は、各計算端末から受信したコンテンツリクエストに対するレスポンスに前記分割された計算依頼を埋め込んで、送信する。
本発明は、分配結合装置から送信された計算依頼を処理する端末装置が実行する計算プログラムであって、前記分配結合装置が送信したコンテンツから、計算依頼を抽出する計算依頼抽出手段、当該端末装置の負荷状態を示す端末状態情報を保持する端末状態保持手段、前記抽出した計算依頼を前記端末状態保持手段に保持された端末状態情報に応じて複数の計算依頼に分割する計算依頼分割手段、分割された各計算依頼で指定された計算を行う計算手段、分割された各計算依頼の計算結果を結合する計算結果結合手段、および前記計算結果結合手段が結合した計算結果を、前記コンテンツに埋め込む計算結果埋め込み手段、として機能させ、前記計算依頼分割手段は、前記計算手段が分割された計算依頼の計算に要した時間から、当該端末装置の負荷状態を算出し、算出した負荷状態で前記端末状態保持手段の端末状態情報を更新し、前記計算結果埋め込み手段は、前記結合された計算結果とともに、前記端末状態保持手段の更新後の端末状態情報を前記コンテンツに埋め込み、コンテンツリクエストを送信するタイミングで前記計算結果および前記端末状態情報を前記分配結合装置に送信する。
本発明によれば、ユーザの端末のリソースを、ユーザの処理に支障が生じないように利用するとともに、回線への影響を抑えることができる。
本発明の実施の形態に係る分散計算システムの構成を示すブロック図である。 分配結合装置の構成例を示すブロック図である。 計算端末の構成例を示すブロック図である。 計算プログラムの構成例を示すブロック図である。 分配結合装置の動作を説明するシーケンス図である。 計算端末の動作を説明するシーケンス図である。
以下、本発明の実施の形態について、図面を参照して説明する。
[構成例]
図1は、本発明の実施の形態に係る分散計算システムの構成を示すブロック図である。図示する分散計算システムは、依頼端末1と、分配結合装置2と、複数の計算端末3−1〜3−3とを備え、これらは、ネットワークを介して接続される。ここでは依頼端末1および分配結合装置2をそれぞれ1台だけ示しているが、これらはそれぞれ1台に限定されるものではなく、複数台備えることもできる。また、複数の計算端末3−1〜3−3も、3台に限定されるものではない。
依頼端末1は、計算を依頼する端末装置である。依頼端末1は、計算を行わせるための計算依頼を、分配結合装置2に送信する。その後、依頼端末1は、計算結果を分配結合装置2から受信する。計算依頼には、計算対象のデータ、計算の手法が記述されたスクリプト、結合の手法が記述されたスクリプト等が含まれる。
分配結合装置2は、依頼端末1から計算依頼を受信し、受信した計算依頼を分割して複数の計算端末3−1〜3−3に分割後の計算依頼を、コンテンツと計算プログラムと端末状態情報とともに分配する。また、分配結合装置2は、計算依頼などを分配した計算端末3−1〜3−3から計算結果をコンテンツリクエストと共に受信し、受信した計算結果を結合し、結合した計算結果を最終的な計算結果として、依頼端末1に返送する。分配結合装置2から計算端末3−1〜3−3に送信する計算依頼には、分配結合装置2によって分割された計算対象のデータと計算の手法が書かれたスクリプトと、結合の手法が書かれたスクリプト等が含まれる。
計算端末3−1〜3−3(以下、個々に区別する必要がない場合は、単に、「計算端末3」と称する)は、例えばユーザが使用する端末装置であり、分配結合装置2からの計算依頼を自端末の負荷状態に応じて処理する。
また、各計算端末3は、分配結合装置2からの計算依頼を処理することにより得られた計算結果を、自端末の負荷状態を示す端末状態情報と共に分配結合装置2に送信する。分配結合装置2は、各計算端末3から受信した端末状態情報を保持し、保持された端末状態情報に応じて、依頼端末1から受信した計算依頼の分割および各計算端末3への分配を行う。
[ウェブ・クライアントによる計算]
ここで、計算端末3として、ウェブ・クライアントを利用する場合を考える。すなわち、計算端末3として、ウェブ・ブラウザがインストールされたパーソナルコンピュータを利用する。計算端末3は、分配結合装置2(ウェブ・サーバ)が提供する所定のサイトにアクセスし、所望のコンテンツ(ウェブ・ページ)をダウンロードして表示する。
この分配結合装置2からダウンロードしたコンテンツには、計算プログラムと、計算依頼と、端末状態情報とが含まれている。計算プログラムは、例えば、Flash(登録商標)やJavaScript(登録商標)等で記述されている。この計算プログラムは、コンテンツが計算端末3に表示されると、計算依頼をコンテンツから抽出し、当該計算端末3の負荷状態に応じて、計算端末3を使用するユーザのウェブ閲覧に支障をきたさない程度のリソースで、計算依頼に従って計算・処理を行う。
また、計算プログラムは、計算依頼の計算を実行したときの計算時間から自端末の負荷状態を計算し、計算依頼に対する計算結果と、自端末の負荷状態を表す端末状態情報とをコンテンツに埋め込む。その後、計算端末3のユーザが、次にコンテンツ(ウェブ・ページ)のリクエストを分配結合装置2に送信する際に、同時にコンテンツに埋め込まれた計算結果と端末状態情報とが、リクエストと共に分配結合装置2に送信される。
計算依頼で指定された計算をコンテンツに含まれる計算プログラムにより処理することから、計算端末3が当該コンテンツ(ウェブ・ページ)を一旦閉じて再度開いたときには、自端末の端末状態情報が失われている可能性がある。そこで、分配結合装置2が計算端末3に計算依頼を送る際には、計算依頼と共に、前回の計算依頼に対して当該計算端末から受信して保持している当該計算端末の端末状態情報、または当該計算端末の端末状態情報が保持されていない場合には初期値の端末状態情報を送信する。
この端末状態情報には、計算端末3を使用するユーザのウェブ閲覧に支障をきたさずに処理できるデータ量に関する情報が含まれる。各計算端末3は、分配結合装置2から受信した端末状態情報と現在の自端末の負荷状態とに応じて、分配結合装置2から送信された計算依頼を処理する。
なお、分配結合装置2が提供するサイトは、例えば動画投稿サイトであって、この場合、分配結合装置2が依頼端末1から受信し、各計算端末3に分散する計算依頼は、投稿された動画をウェブ上で公開できる形式に変換するための変換処理、すなわち投稿された動画を動画投稿サイトに登録するために変換する処理である。動画投稿サイトは、ユーザからの動画のアップロードを受け付け、アップロードされた動画をウェブ上で公開できる形式に変換し、変換後の動画をユーザが閲覧できるように公開しているウェブ上のサイトである。また、この場合の計算依頼には、計算対象のデータとして投稿された動画データ、計算の手法としては動画データの変換方式、結合の手法としては動画データの再生開始からの経過時刻に基づく結合方法等が含まれる。
[分配結合装置]
図2は、図1に示した分配結合装置2の構成例を示すブロック図である。この分配結合装置2は、計算依頼受信部21と、計算依頼分割部22と、端末状態保持部23と、コンテンツ配信部24と、コンテンツリクエスト受信部25と、計算結果受信部26と、計算結果結合部27と、計算結果送信部28とを備える。
計算依頼受信部21は、依頼端末1からの計算依頼を受信し、図示しない記憶部に保持するとともに、計算依頼分割部22に送出する。
計算依頼分割部22は、計算依頼受信部21から受信した計算依頼を、コンテンツ配信部24からの要求(計算依頼要求)に応じて、各計算端末3の負荷状態に応じて分割する。このとき、計算依頼に含まれる計算対象のデータの分割は、端末状態保持部23から取得した端末状態情報に応じて、すなわち各計算端末3の負荷状態に応じて行われる。そして、計算依頼分割部22は、分割後の計算依頼をコンテンツ配信部24に返送する。
分割後の計算依頼には、例えば、分割後の計算対象のデータと、計算の手法が書かれたスクリプトと、結合の手法が書かれたスクリプト等が含まれる。また、計算依頼分割部22は、計算結果受信部26から再計算依頼を受信すると、同様に分割してコンテンツ配信部24に送出する。
端末状態保持部23は、複数の計算端末3の負荷状態を示す端末状態情報を保持する。たとえば、各計算端末3でのユーザのウェブ閲覧に支障をきたさない程度の計算データ量の値や、単位データ量の計算に要する時間などが含まれる。
コンテンツ配信部24は、コンテンツリクエスト受信部25からコンテンツリクエストを受信すると、受信したコンテンツリクエストに対応するコンテンツを取得し、当該コンテンツに計算プログラム300と端末状態情報と計算依頼とを埋め込み、コンテンツリクエストを送信した計算端末3に送信する。このとき、コンテンツ配信部24は、計算依頼を計算依頼分割部22から取得し、端末状態保持部23から当該計算端末3の端末状態情報を取得する。
コンテンツリクエスト受信部25は、計算端末3からコンテンツリクエストと計算結果と端末状態情報とを取得し、コンテンツリクエストをコンテンツ配信部24に送出し、計算結果と端末状態情報とを計算結果受信部26に送出する。
計算結果受信部26は、コンテンツリクエスト受信部25から計算結果と端末状態情報とを受信し、受信した端末状態情報で端末状態保持部23の当該計算端末3の内容を更新する。計算結果受信部26は、送信されたすべての計算依頼に対する計算結果を受信すると、それらの計算結果を計算結果結合部27に送信する。このときの端末状態情報は、当該計算端末3が計算結果を算出するために要した時間から算出され、当該計算端末3のユーザのWeb閲覧に支障をきたさない程度の計算データ量の値、単位データ量の計算にかかる時間などが含まれる。計算結果受信部26は、あらかじめ定めた所定の予想時間までにすべての計算端末3から計算結果を受信できなかった場合、受信できていない計算結果に対応する計算依頼の再計算依頼を、計算依頼分割部22に送出する。
計算結果結合部27は、計算結果受信部26から受信した計算結果を結合し、計算結果送信部28に送信する。計算結果結合部27による計算結果の結合は、計算依頼受信部21に保持されている計算依頼に含まれている結合の手法が書かれたスクリプトを用いて行われる。計算結果送信部28は、計算結果結合部27から受信した計算結果を依頼端末1に送信する。
なお、上述した分配結合装置2は、例えば、CPUと、メモリと、HDD等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた分配結合装置2用のプログラムを実行することにより、分配結合装置2の各機能が実現される。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。また、分配結合装置2は、複数のサーバから構成される装置であってもよい。
[計算端末]
図3は、図1に示す計算端末3の構成例を示すブロック図である。計算端末3は、コンテンツ表示部310を備える。コンテンツ表示部は、例えばウェブ・ブラウザに相当し、ユーザの指示を受け付けて分配結合装置2にコンテンツリクエストを送信し、それに対するコンテンツを受信し、受信したコンテンツを当該計算端末3のディスプレイに表示する。なお、分配結合装置2に送信するコンテンツリクエストには、計算結果と端末状態情報とが付加される。また、分配結合装置2から受信するコンテンツには、計算依頼と、計算プログラムと、端末状態情報とが含まれている。
図4は、図1に示す計算プログラム300の詳細な構成例を示すブロック図である。図示する計算プログラム300は、計算依頼抽出部31と、計算依頼分割部32と、端末状態保持部33と、計算部34と、計算結果結合部35と、計算結果埋め込み部36とを備える。これらの各部は、計算端末3上で動作するコンテンツ表示部310(ウェブ・ブラウザ)の機能により動作する。すなわち、計算端末3のウェブ・ブラウザが分配結合装置2の所定のサイトにアクセスし、所望のコンテンツ(ウェブ・ページ)をダウンロードする際に、当該コンテンツには計算プログラムが含まれるため、コンテンツとともに計算プログラムもダウンロードされ、ウェブ・ブラウザ上で当該計算プログラムを実行することで、上述の各部が実現される。なお、計算プログラム300は、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
計算依頼抽出部31は、分配結合装置2から受信したコンテンツの中から計算依頼と端末状態情報とを抽出し、計算依頼を図示しない記憶部に保持するとともに、計算依頼と端末状態情報とを計算依頼分割部32に送出する。
計算依頼分割部32は、計算依頼抽出部31から受信した計算依頼を自端末の負荷に応じて分割し、受信した端末状態情報で端末状態保持部33の内容を更新する。このとき、計算依頼に含まれる計算対象のデータを、計算依頼抽出部31から受信した端末状態情報に応じて分割する。そして、計算依頼分割部32は、分割後の計算依頼を計算部34に送出する。分割後の計算依頼には、たとえば、分割後の計算対象のデータと、計算の手法が書かれたスクリプト等が含まれる。
また、計算依頼分割部32は、計算部34から計算結果を受信すると、計算にかかった時間を算出し、算出された計算時間で端末状態保持部33に記憶された端末状態情報を更新する。
その後、すべての計算依頼の計算が完了していない場合は、更新された端末状態保持部33の端末状態情報に応じて計算依頼(残りの計算対象データ)を分割し、計算部34に送信し、計算依頼の計算が完了するまで繰り返す。計算依頼の計算が完了すると、計算依頼分割部32は、すべての計算結果を計算結果結合部35に送出する。
端末状態保持部33は、自端末の負荷状態を示す端末状態情報を記憶・保持する。たとえば、自端末のユーザのウェブ閲覧に支障をきたさない程度の計算データ量の値や、単位データ量の計算にかかる時間などが含まれる。
計算部34は、計算依頼分割部32からの計算依頼を処理し、その計算結果を計算依頼分割部32に返送する。
計算結果結合部35は、計算依頼分割部32から受信した計算結果を結合し、計算結果埋め込み部36に送信する。計算結果結合部35は、計算依頼抽出部31に保持されている計算依頼に含まれている結合の手法が書かれたスクリプトを用いて計算結果の結合を行い、結合後の計算結果を計算結果埋め込み部36に送出する。
計算結果埋め込み部36は、計算結果結合部35から計算結果を受信し、端末状態保持部33から端末状態情報を取得し、受信した計算結果と取得した端末状態情報とをコンテンツのリクエストに関する記述の部分に埋め込む。これにより、コンテンツ表示部310が、分配結合装置2に次のコンテンツをリクエストする際に、計算結果と端末状態情報も分配結合装置2に送信される。
ここで、コンテンツがHTMLドキュメントの場合について具体的に説明する。計算端末3のウェブ・ブラウザ(コンテンツ表示部310)は、ウェブ・サーバ(分配結合装置2)からJavaScript等で記述された計算プログラムと、JavaScriptとXML等で記述された計算依頼と、XML等で記述された端末状態情報と、が埋め込まれたHTMLドキュメントをダウンロードする。そして、ウェブ・ブラウザ上で動作する計算プログラムがHTMLドキュメントに埋めこまれている計算依頼と端末状態とを抽出し、計算し、計算結果をHTMLドキュメント内のAタグやFORMタグの部分に埋め込む。ウェブ・ブラウザは、ユーザがリンクをクリックする、フォームからPOSTするなどの操作指示を受け付けて、これにより生じるHTTPリクエストにのせて計算結果と端末状態とが埋め込まれたHTMLドキュメントをウェブ・サーバに送信する。
[分配結合装置の動作]
図5は図2に示す分配結合装置2の動作を説明するシーケンス図である。
コンテンツ配信部24は、予め計算プログラム300を図示しない記憶部から取得しておく(S11)。その後、コンテンツリクエスト受信部25は、計算端末3からコンテンツリクエストを受信すると(S12)、当該コンテンツリクエストをコンテンツ配信部24に送出する(S13)。コンテンツリクエストを受信したコンテンツ配信部24は、コンテンツリクエストに応じたコンテンツをコンテンツ記憶部(不図示)から取得する(S14)。そして、コンテンツ配信部24は、計算依頼分割部22に計算依頼要求を送出する(S15)。
一方、S11からS15との処理とは非同期に、計算依頼受信部21は、依頼端末1から計算依頼(計算対象のデータ、計算の手法が書かれたスクリプト、結合の手法が書かれたスクリプト等)を受信し(S16)、受信した計算依頼を記憶部に保持するとともに(S17)、受信した計算依頼を計算依頼分割部22に送出する(S18)。
そして、計算依頼分割部22は、コンテンツ配信部24から計算依頼要求を受け付けると(S15)、S12でコンテンツリクエストを送信した計算端末3に対応する端末状態情報を端末状態保持部23から取得し(S19)、取得した端末状態情報を用いて、当該計算端末が一定の時間で計算できる量の計算依頼を分割する(S20)。そして、計算依頼分割部22は、分割した計算依頼をコンテンツ配信部24に送出する(S21)。
なお、分割した計算依頼を送信する計算端末3が、初めて計算依頼を実施する端末の場合(すなわち、端末状態保持部23に端末状態情報が保持されていない端末の場合)、当該端末には、予め定めた所定の計算量(最小の計算量、一般的な端末で支障をきたさないと推定される程度の計算量など)に分割した計算依頼を送信する。
コンテンツ配信部24は、計算依頼分割部22から分割された計算依頼を受け付けると、端末状態保持部23からS12でコンテンツリクエストを受信した計算端末3の端末状態情報を取得し(S22)、分割された計算依頼と、端末状態情報と、S11で取得しておいた計算プログラム300と、S14で取得したコンテンツとを、S12のコンテンツリクエストのレスポンスとして、計算端末3に送信する(S24)。
なお、初めて計算依頼を送信する計算端末3に対しては、端末状態保持部23には以前の端末状態情報がないので、所定の初期値の端末状態情報(たとえば一般的な端末装置において推定される負荷状態の端末状態情報)を送信する。
この後、コンテンツリクエスト受信部25は、計算端末3から、計算結果と端末状態情報とが埋め込まれたコンテンツリクエストを受信し(S25)、計算結果と端末状態情報とを計算結果受信部26に送出するとともに(S26)、コンテンツリクエストをコンテンツ配信部24に送出する(S27)。コンテンツ配信部24は、コンテンツリクエストに対応するコンテンツをコンテンツ記憶部から取得する(S28)。計算結果受信部25は、端末状態保持部23の当該計算端末3の端末状態情報を、S26で受信した端末状態情報に更新する(S29)。
なお、S12からS29の処理は、各計算端末3からコンテンツリクエストが送信される度に行われる処理である。
そして、計算結果受信部25は、S24で計算依頼等を含むコンテンツを送信したすべての計算端末3から計算結果を受信したか否、および、S16で依頼端末から送信された計算依頼の全ての計算結果を受信したかを確認する(S30)。そして、所定の予想時間を越えて計算結果が受信されない計算端末3がある場合、または、未計算の計算依頼がある場合、未計算の計算依頼の計算をするために、再計算依頼を計算依頼分割部22に送出する(S31)。
計算依頼分割部22は、計算結果受信部25から再計算依頼を受信すると、コンテンツ配信部24からの計算依頼要求を受け付けて(S15)、再度、計算依頼の分割を行う。すなわち、少なくとも1つの計算端末3からの計算結果が得られない場合には、その計算結果が得られていない計算依頼について、再度分割して、計算結果が得られていない端末以外の少なくとも1つの計算端末3に送信する。なお、コンテンツ配信部24は、計算結果が得られない計算端末3からS12のコンテンツリクエストを再度受信した場合、S15の計算依頼要求を計算依頼分割部22に送信しないようにする。
一方、計算結果受信部25は、すべての計算依頼の計算結果を受信した場合には、受信したすべての計算結果を計算結果結合部27に送出する(S32)。計算結果結合部27は、計算結果受信部25から計算結果を受信すると、計算依頼受信部21がS17で保持した計算依頼の中の結合の手法を参照し(S33)、当該結合の手法に従って受信した計算結果を結合し(S34)、結合後の計算結果を計算結果送信部28に送出する(S35)。計算結果送信部28は、計算結果結合部27から計算結果を受信すると、その計算結果を依頼端末1に送信する(S36)。
[計算端末の動作]
図6は、図3に示す計算端末3と、図4に示す計算プログラム300の動作を説明するシーケンス図である。
コンテンツ表示部310は、分配結合装置2からコンテンツと共に計算依頼と端末状態情報と計算プログラム300とを受信し(S41)、コンテンツをディスプレイに表示するとともに、計算プログラム300を起動する(S42)。
計算プログラム300を動作させることにより、計算依頼抽出部31は、S41で受信したコンテンツから計算依頼と端末状態情報とを抽出し(S43)、抽出した計算依頼を図示しない記憶部に保持するとともに(S44)、計算依頼と端末状態情報とを計算依頼分割部32に送出する(S45)。
計算依頼分割部32は、計算依頼抽出部31から計算依頼と端末状態情報とを受信すると、受信した端末状態情報で端末状態保持部33の内容を更新する(S46)。そして、計算依頼分割部32は、更新した端末状態保持部33を参照し(S47)、参照した端末状態情報に応じて、受信した計算依頼を分割する(S48)。そして、計算依頼分割部32は、分割後の計算依頼を、計算部34に送出する(S49)。
計算部34は、計算依頼分割部32から計算依頼を受信すると、その計算依頼に従って計算を行い(S50)、計算結果を計算依頼分割部32に送出する(S51)。
計算依頼分割部32は、計算部34から計算結果を受信すると、計算にかかった時間に応じて、端末状態保持部33の端末状態情報を更新する(S52、S53)。計算依頼のすべての計算が終了していない場合は(S54:NO)、計算依頼分割部32は、再度、計算依頼の分割を行う。
計算依頼のすべての計算が終了している場合には(S54:YES)、計算依頼分割部32は、すべての計算結果を計算依頼結合部35に送出する(S55)。
計算結果結合部36は、計算依頼分割部32から計算結果を受信し、計算依頼抽出部31の計算依頼を参照して(S56)、計算結果を結合する(S57)。そして、計算結果結合部36は、結合後の計算結果を計算結果埋め込み部36に送出する(S58)。
計算結果埋め込み部36は、計算結果結合部35から計算結果を受信すると、端末状態保持部33から端末状態情報を取得し、計算結果と端末状態情報とをS41で受信したコンテンツに埋め込み、コンテンツ表示部310に送出する(S60)。コンテンツ表示部310は、ユーザが次のコンテンツを取得するための操作指示を入力することにより、コンテンツリクエストを送信するタイミングで、当該コンテンツリクエストとともに前記計算結果および前記端末状態情報が埋め込まれたコンテンツを分配結合装置2に送信する(S61)。
[効果の説明]
以上説明した本実施形態によれば、計算端末3が計算依頼を自端末の負荷状態に応じて計算依頼を分割して処理することができ、また、計算端末3に計算依頼を送信する分配結合装置2も、計算端末3から受信した端末状態情報に応じて計算依頼の分割および分配を行うので、計算端末3の計算リソースを、ユーザの処理に支障が出ない程度に利用することができる。
また、計算端末3としてウェブ・クライアントを利用する場合、特定のサイトにアクセスしたユーザの端末装置を、ユーザの許可を得た上で、分散コンピューティングに利用することができる。このとき、ウェブ・ブラウザ(コンテンツ表示部310)の機能を利用することで、計算端末3の負荷状態(端末状態情報)を特別なプロトコルを用いることなく送受信することができる。ここで送受信される負荷状態の精度は、計算端末3の負荷状態の変化などを考慮すると、それほど高くはないと考えられる。しかし、おおよその目安とはなるので、ユーザのウェブ閲覧に支障が出るほどの負荷を回避することができる。
また、計算依頼と計算結果の送受信を、既存のHTTPリクエスト、HTTPレスポンスに相乗りして行うため、回線への負荷を抑えることができる。
また、本実施形態の分散計算システムを動画投稿サイトの分散計算に適用することができる。すなわち、動画投稿サイトにアクセスするユーザの端末装置を計算端末3として利用し、その動画投稿サイトに動画を登録するために必要な計算依頼を分割して、計算端末3で計算することができる。
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態では、計算端末3の負荷状態を示す端末状態情報として、計算に要した時間を用いることとしたが、本発明はこれに限定されるものでなく、例えば、スレッド数、CPU利用率などを用いることとしてもよい。
1 :依頼端末
2 :分配結合装置
21:計算依頼受信部
22:計算依頼分割部
23:端末状態保持部
24:コンテンツ配信部
25:コンテンツリクエスト受信部
26:計算結果受信部
27:計算結果結合部
28:計算結果送信部
3、3−1〜3−3:計算端末(端末装置)
31:計算依頼抽出部
32:計算依頼分割部
33:端末状態保持部
34:計算部
35:計算結果結合部
36:計算結果埋め込み部

Claims (11)

  1. 複数の端末装置と、計算依頼を分割して前記複数の端末装置に分配する分配結合装置とを備える分散計算システムであって、
    各端末装置は、
    前記分配結合装置から分配された計算依頼を自端末装置の負荷状態に応じて計算する計算手段と、
    前記計算手段が計算した計算結果と、自端末装置の負荷状態を示す端末状態情報とを、コンテンツを要求するコンテンツリクエストとともに、前記分配結合装置に送信する送信手段と、を有し、
    前記分配結合装置は、
    各端末装置から受信した端末状態情報を保持する端末状態保持手段と、
    前記端末状態保持手段に保持された各端末装置の端末状態情報に応じて、前記計算依頼を分割する分割手段と、
    前記コンテンツリクエストを送信した端末装置に、当該端末装置用に分割した計算依頼を、前記コンテンツリクエストで指定されたコンテンツとともに送信するコンテンツ配信手段と、を有すること
    を特徴とする分散計算システム。
  2. 請求項1記載の分散計算システムであって、
    前記分配結合装置のコンテンツ配信手段は、各端末装置に対して、前記端末状態保持手段に保持された当該端末装置の端末状態情報または初期値の端末状態情報を、前記分割した計算依頼および前記コンテンツとともに送信し、
    各端末装置の前記計算手段は、前記分配結合装置から送信された端末状態情報および現在の端末状態に応じて、前記計算依頼を計算すること
    ことを特徴とする分散計算システム。
  3. 請求項1または2記載の分散計算システムであって、
    前記分配結合装置の分割手段は、前記複数の端末装置の少なくとも1つから前記計算結果が取得できない場合、前記計算結果が取得できない計算依頼について再分割し、
    前記コンテンツ配信手段は、前記再分割された計算依頼を、前記計算結果が取得できない端末装置以外の少なくとも1つの端末装置に送信すること
    を特徴とする分散計算システム。
  4. 請求項1から3のいずれか一項に記載の分散計算システムであって、
    各端末装置は、前記分配結合装置が提供するサイトにアクセスするウェブ・クライアントであること
    を特徴とする分散計算システム。
  5. 請求項4記載の分散計算システムであって、
    前記分配結合装置から各端末装置に分配される計算依頼には、各端末装置で計算を行うためのデータおよび計算手順が含まれること
    を特徴とする分散計算システム。
  6. 請求項4または5記載の分散計算システムであって、
    各端末装置から前記分配結合装置へ送信される計算結果は、ウェブ・ブラウザがコンテンツリクエストを送信するタイミングで、前記分配結合装置に送信され、
    前記分配結合装置から各端末装置へ送信される計算依頼は、前記コンテンツリクエストに対するレスポンスに含まれて送信されること
    を特徴とする分散計算システム。
  7. 請求項4から6のいずれか一項に記載の分散計算システムであって、
    前記分配結合装置が提供するサイトは動画投稿サイトであり、前記分配結合装置が分割する計算依頼は、前記動画投稿サイトに動画を登録するために前記動画を変換する処理であること
    を特徴とする分散計算システム。
  8. 計算依頼を分割して複数の端末装置に分配する分配結合装置であって、
    依頼端末から計算依頼を受信する計算依頼受信手段と、
    受信した計算依頼を分割する計算依頼分割手段と、
    分割された計算依頼をコンテンツとともに複数の端末装置に送信するコンテンツ配信手段と、
    前記コンテンツ配信手段が送信した計算依頼に対する各端末装置からの計算結果と当該端末装置の負荷状態を示す端末状態情報とを、コンテンツリクエストとともに受信するコンテンツリクエスト受信手段と、
    各端末装置から受信した計算結果を結合する計算結果結合手段と、
    結合された計算結果を前記依頼端末に送信する計算結果送信手段と、
    前記コンテンツリクエスト受信手段が受信した各端末装置の前記端末状態情報を保持する端末状態保持手段と、を有し、
    前記計算依頼分割手段は、前記端末状態保持手段に保持された各計算端末の端末状態情報に応じて、前記計算依頼を分割し、
    前記コンテンツ配信手段は、各計算端末から受信したコンテンツリクエストに対するレスポンスに前記分割された計算依頼を埋め込んで、送信すること
    を特徴とする分配結合装置。
  9. 分配結合装置から送信された計算依頼を処理する端末装置が実行する計算プログラムであって、
    前記分配結合装置が送信したコンテンツから、計算依頼を抽出する計算依頼抽出手段、
    当該端末装置の負荷状態を示す端末状態情報を保持する端末状態保持手段、
    前記抽出した計算依頼を前記端末状態保持手段に保持された端末状態情報に応じて複数の計算依頼に分割する計算依頼分割手段、
    分割された各計算依頼で指定された計算を行う計算手段、
    分割された各計算依頼の計算結果を結合する計算結果結合手段、および
    前記計算結果結合手段が結合した計算結果を、前記コンテンツに埋め込む計算結果埋め込み手段、として機能させ、
    前記計算依頼分割手段は、前記計算手段が分割された計算依頼の計算に要した時間から、当該端末装置の負荷状態を算出し、算出した負荷状態で前記端末状態保持手段の端末状態情報を更新し、
    前記計算結果埋め込み手段は、前記結合された計算結果とともに、前記端末状態保持手段の更新後の端末状態情報を前記コンテンツに埋め込み、コンテンツリクエストを送信するタイミングで前記計算結果および前記端末状態情報を前記分配結合装置に送信すること
    を特徴とする計算プログラム。
  10. 請求項9記載の計算プログラムであって、
    前記計算依頼分割手段は、前記計算依頼抽出手段が抽出した計算依頼のすべてが計算されていない場合、前記計算手段が分割された計算依頼の計算に要した時間から当該端末装置の負荷状態を算出し、当該負荷状態に応じて、未計算の部分の計算依頼をさらに分割すること
    を特徴とする計算プログラム。
  11. 請求項9または10記載の計算プログラムであって、
    前記計算プログラムは、当該端末装置のウェブ・ブラウザにより起動され、
    前記計算依頼抽出手段は、前記分配結合装置から受信したコンテンツから、当該端末装置の前回の端末状態情報または初期値の端末状態情報を抽出し、抽出した端末状態情報で前記端末状態保持手段を更新すること
    を特徴とする計算プログラム。
JP2011131064A 2011-06-13 2011-06-13 分散計算システム、分配結合装置および計算プログラム Active JP5512606B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011131064A JP5512606B2 (ja) 2011-06-13 2011-06-13 分散計算システム、分配結合装置および計算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011131064A JP5512606B2 (ja) 2011-06-13 2011-06-13 分散計算システム、分配結合装置および計算プログラム

Publications (2)

Publication Number Publication Date
JP2013003642A JP2013003642A (ja) 2013-01-07
JP5512606B2 true JP5512606B2 (ja) 2014-06-04

Family

ID=47672193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011131064A Active JP5512606B2 (ja) 2011-06-13 2011-06-13 分散計算システム、分配結合装置および計算プログラム

Country Status (1)

Country Link
JP (1) JP5512606B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112088361A (zh) * 2018-03-16 2020-12-15 索尼公司 信息处理装置、信息处理方法及程序

Also Published As

Publication number Publication date
JP2013003642A (ja) 2013-01-07

Similar Documents

Publication Publication Date Title
EP3465467B1 (en) Web page accelerations for web application hosted in native mobile application
US11201938B2 (en) Systems and methods of token piggybacking
US8572252B2 (en) Extensible dynamic performance instrumentation of pages
US9690568B2 (en) Client-side script bundle management system
US20100199169A1 (en) Web browser extension for simplified utilization of web services
US20120194519A1 (en) Image Optimization
US8990429B2 (en) HTTP-based synchronization method and apparatus
US10007532B1 (en) Data infrastructure for cross-platform cross-device API inter-connectivity
JP5936103B2 (ja) クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
JP6140904B2 (ja) 端末標記方法、端末標記装置、プログラム及び記録媒体
EP3879840A1 (en) Definition switching method and apparatus, computer device, and readable storage medium
WO2020155960A1 (zh) 视频播放方法、系统、计算机设备及计算机可读存储介质
JP6381426B2 (ja) 情報処理装置、制御方法、及びプログラム
JP5512606B2 (ja) 分散計算システム、分配結合装置および計算プログラム
US9674220B2 (en) System and method thereof for optimizing delivery of content over a network
US10528361B2 (en) Intercepted loading of web applications
JP2011170571A (ja) 分散計算システム、分散計算の分配結合装置および端末装置
US20130132467A1 (en) Method of using application, gateway using the method, terminal using the method, and terminal system using the method
US11550638B2 (en) Reducing latency in downloading electronic resources using multiple threads
JP2015082159A (ja) 印刷装置、印刷システム及びプログラム
WO2021051093A1 (en) Web acceleration via learning
US20150127719A1 (en) Information processing system, proxy apparatus, information processing method, and computer program product
US20140237133A1 (en) Page download control method, system and program for ie core browser
JP6579898B2 (ja) 情報処理システム、情報処理装置の制御方法、およびプログラム
JP2009205197A (ja) Cgm配信システムおよびcgm配信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130624

A977 Report on retrieval

Effective date: 20140121

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Effective date: 20140304

Free format text: JAPANESE INTERMEDIATE CODE: A523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140326

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5512606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150