JP4034712B2 - ネットワークシステム、分散処理方法およびプログラム - Google Patents

ネットワークシステム、分散処理方法およびプログラム Download PDF

Info

Publication number
JP4034712B2
JP4034712B2 JP2003296577A JP2003296577A JP4034712B2 JP 4034712 B2 JP4034712 B2 JP 4034712B2 JP 2003296577 A JP2003296577 A JP 2003296577A JP 2003296577 A JP2003296577 A JP 2003296577A JP 4034712 B2 JP4034712 B2 JP 4034712B2
Authority
JP
Japan
Prior art keywords
program
client terminal
processing
grid work
distributed processing
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.)
Expired - Fee Related
Application number
JP2003296577A
Other languages
English (en)
Other versions
JP2005070897A (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 JP2003296577A priority Critical patent/JP4034712B2/ja
Publication of JP2005070897A publication Critical patent/JP2005070897A/ja
Application granted granted Critical
Publication of JP4034712B2 publication Critical patent/JP4034712B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、演算装置と大容量の記憶領域資源とインターネット接続機能やイントラネット接続機能等のネットワーク資源とを持つ複数のクライアント端末装置をネットワークで相互に接続し、複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムに係り、特に複数のクライアント端末装置に処理を分散させる分散処理システムとしても機能させることができるネットワークシステム、分散処理方法およびプログラムに関するものである。
従来より、演算装置(Central Processing Unit )と大容量の記憶領域資源(Hard Disk Drive )とインターネット接続機能やイントラネット接続機能等のネットワーク資源とを持つ多数のクライアント端末装置をネットワークで相互に接続し、この多数のクライアント端末装置の遊休資源を利用することで、分割可能な問題を安価にしかも高速に処理するグリッドコンピューティングシステム(分散処理システム)がある(例えば、非特許文献1、非特許文献2参照)。
従来のグリッドコンピューティングシステムでは、高性能で高価なスーパーコンピュータが必要なデータの解析作業を、世界中にあるクライアント端末装置の遊休資源を利用することにより、安価にしかも高速に処理することを目的として実施され、世界中のボランティア端末を集めることで、スーパーコンピュータの処理能力を上回ることを可能としている。
グリッドコンピューティングシステムの具体的な動作としては、システムに参加するクライアント端末装置がグリッドコンピューティングサーバから解析用プログラムと解析すべきデータとを予め取得しておき、解析用プログラムを待機状態にしておく。クライアント端末装置のCPUが遊休状態になると、解析用プログラムが稼動してデータの解析処理を行う。解析用プログラムは、解析が終了したデータをグリッドコンピューティングサーバヘ送信し、新たな解析用データを取得して解析を続ける。クライアント端末装置のCPUが通常稼動を開始すると、解析用プログラムは待機状態になり、CPUが遊休状態へ再び移行すると、解析用プログラムが再稼動する。
また、マルチタスクOS(Operating System)が動作するクライアント端末装置では、解析用プログラムの優先度を低くし、結果として、クライアント端末装置が完全に遊休状態ではないときにも処理を行う方式があり、通常のプロセスと同等の優先度でデータ解析を行うことができる方式もある。また、以上のようなグリッドコンピューティングシステムには、クライアント/サーバ方式や、ピア・ツー・ピア(P2P)方式など様々な実装方法がある。
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
伊藤直樹著,「P2Pコンピューティング〜技術解説とアプリケーション〜」,株式会社ソフト・リサーチ・センター,2001年11月,p.104−107 マイケル・ミラー著,「P2Pコンピューティング入門」,株式会社大和総研情報技術研究所,2002年10月,p.92−112
従来のグリッドコンピューティングシステムでは、クライアント端末装置の遊休時間を利用してデータ処理を行うことが多いため、処理効率が悪く、処理結果が出るまでに長い時間がかかるという問題点があった。
また、グリッドコンピューティングシステムでは、新規のグリッドコンピューティングプロジェクトを実施する場合、プロジェクトに参加するクライアント端末装置をボランティアで募るため、クライアント端末装置を多数確保することが難しいという問題点があった。
本発明は、上記課題を解決するためになされたもので、グリッドコンピューティングの処理を短時間で終わらせることができ、新規の処理を実施する場合に、多数のクライアント端末装置を確保することが容易なネットワークシステム、分散処理方法およびプログラムを提供することを目的とする。
本発明は、複数のクライアント端末装置を通信ネットワークで相互に接続し、前記複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムにおいて、前記複数のクライアント端末装置と、複数の端末装置に処理を分散させる分散処理システムとして前記複数のクライアント端末装置を動作させ、各クライアント端末装置に処理すべきデータを配布する要求装置とを有し、各クライアント端末装置は、前記情報交換処理機能を実現する情報交換処理手段と、前記要求装置からデータを取得して処理する分散処理手段と、前記情報交換処理手段のプログラムと前記分散処理手段のプログラムとを同時に起動させ、前記情報交換処理手段の稼働状態に応じて前記分散処理手段の稼働状態を制御する管理手段と、前記要求装置から予め配布された、前記分散処理手段の複数のプログラムのうち、前記要求装置から取り外しが指示されたプログラムを実行対象から外し、前記要求装置から実行対象として指定されたプログラムを新たな実行対象として設定する組替手段とを備えるものである。
また、本発明のネットワークシステムの1構成例において、前記分散処理手段は、前記データの処理結果を前記要求装置に送信するものである。
また、本発明は、複数のクライアント端末装置を通信ネットワークで相互に接続し、前記複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムにおいて、前記複数のクライアント端末装置に処理を分散させる分散処理機能を実現する分散処理方法であって、各クライアント端末装置において、前記情報交換処理機能のプログラムの起動と同時に前記分散処理機能のプログラムを起動する起動手順と、複数の端末装置に処理を分散させる分散処理システムとして前記複数のクライアント端末装置を動作させる要求装置からデータを取得して処理する前記分散処理機能の稼働状態を、前記情報交換処理機能の稼働状態に応じて制御する管理手順と、前記要求装置から予め配布された、前記分散処理機能の複数のプログラムのうち、前記要求装置から取り外しが指示されたプログラムを実行対象から外し、前記要求装置から実行対象として指定されたプログラムを新たな実行対象として設定する組替手順とを実行するようにしたものである。
また、本発明の分散処理方法の1構成例は、前記データの処理結果を前記要求装置に送信する送信手順を実行するようにしたものである。
また、本発明は、複数のコンピュータを通信ネットワークで相互に接続し、前記複数のコンピュータで情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムにおいて、前記複数のコンピュータに処理を分散させる分散処理機能を実現する分散処理プログラムであって、各コンピュータに、前記情報交換処理機能のプログラムの起動と同時に前記分散処理機能のプログラムを起動する起動手順と、複数の端末装置に処理を分散させる分散処理システムとして前記複数のコンピュータを動作させる要求装置からデータを取得して処理する前記分散処理機能の稼働状態を、前記情報交換処理機能の稼働状態に応じて制御する管理手順と、前記要求装置から予め配布された、前記分散処理機能の複数のプログラムのうち、前記要求装置から取り外しが指示されたプログラムを実行対象から外し、前記要求装置から実行対象として指定されたプログラムを新たな実行対象として設定する組替手順とを実行させるようにしたものである。
また、本発明の分散処理プログラムの1構成例は、前記データの処理結果を前記要求装置に送信する送信手順を各コンピュータに実行させるようにしたものである。
本発明によれば、情報交換処理機能を提供するネットワークシステムの各クライアント端末装置に、分散処理手段と管理手段とを設け、情報交換処理機能を実現する情報交換処理手段のプログラムが起動している場合、分散処理手段のプログラムを必ず同時に起動させるようにし、情報交換処理手段の稼働状態に応じて分散処理手段の稼働状態を管理手段で制御するようにしたので、情報交換処理手段が稼働している状態であっても、低稼働状態とみなせる場合であれば、情報交換処理手段のプログラムのバックグラウンドで分散処理手段が稼働し、データ処理を行うようにようにしたため、データ処理の効率を向上させることができ、処理に要する時間を短縮することができる。また、ネットワークシステムに参加した各クライアント端末装置で情報交換処理手段のプログラムが起動するだけで、分散処理システムに参加するクライアント端末装置を多数確保することができるので、この多数のクライアント端末装置の確保と前述の情報交換処理手段の稼働状態に応じた分散処理手段の稼働状態の制御により、従来の分散処理システムに比べて処理効率を著しく向上させることができる。また、新規のデータ処理を実施する場合に、多数のクライアント端末装置を確保することが容易となる。さらに、組替手段により分散処理手段のプログラムを自由に差し替えることを可能としたため、あまり知られていない新規のプロジェクトが、ボランティアでクライアント端末装置を募集するよりも、効果的にクライアント端末装置を確保することが可能となる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は本発明の実施の形態となるネットワークシステムの構成を示すブロック図である。本実施の形態のネットワークシステムは、複数のクライアント端末装置を通信ネットワークで相互に接続し、複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するコンテンツ共有システムとして機能すると同時に、複数のクライアント端末装置に処理を分散させるグリッドコンピューティングシステム(分散処理システム)として機能するものである。
このネットワークシステムは、各クライアント端末装置2を分散処理システムの一部として動作させ、各クライアント端末装置2に分散処理機能のプログラムと処理すべきデータとを配布し、各クライアント端末装置2で処理された結果を受信するグリッドワーク要求装置1と、グリッドワーク要求装置1と通信ネットワークを介して接続された複数のクライアント端末装置2とから構成される。グリッドワーク要求装置1と各クライアント端末装置2とは、それぞれCPU、記憶装置及びインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。以下、分散処理システムの一部として各クライアント端末装置2が行うデータ処理をグリッドワークと呼ぶ。
図2はグリッドワーク要求装置1とクライアント端末装置2の構成を示すブロック図である。グリッドワーク要求装置1は、後述するグリッドワーク実行部のプログラムを通信ネットワークを介して各クライアント端末装置2に配布するグリッドワークプログラム配布部11と、処理対象(複数のコンピュータに分散させて処理させることができる問題)を複数のグリッドワーク処理データに分割し、分割後のグリッドワーク処理データを通信ネットワークを介して各クライアント端末装置2に配布するグリッドワーク処理データ配布部12と、各クライアント端末装置2から通信ネットワークを介してグリッドワークの処理結果を受信するグリッドワーク結果受信部13とからなる。
クライアント端末装置2は、情報交換処理機能を実現する情報交換処理手段となるコンテンツ共有システム部21と、複数のクライアント端末装置2で共有するコンテンツを保持する共有コンテンツ保持部22と、グリッドワーク要求装置1からグリッドワーク処理データを取得して処理する分散処理手段となるグリッドワーク実行部23と、グリッドワーク要求装置1からの要求に応じてグリッドワーク実行部23のプログラムを動的に組み替える組替手段となるグリッドワークフレームワーク部24と、コンテンツ共有システム部21のプログラム(コンテンツ共有プロセス)とグリッドワーク実行部23のプログラム(グリッドワークプロセス)とを同時に起動させ、コンテンツ共有システム部21の稼働状態に応じてグリッドワーク実行部23の稼働状態を制御する管理手段となるシステム管理部25とからなる。
図3はグリッドワーク実行部23の構成を示すブロック図である。グリッドワーク実行部23は、グリッドワーク要求装置1から配布されたグリッドワークプログラムを記憶するグリッドワークプログラム格納部230(230−1,230−2,・・・・)と、グリッドワーク要求装置1から配布されたグリッドワーク処理データを記憶するグリッドワーク処理データ格納部231(231−1,231−2,・・・・)とを有する。
グリッドワーク要求装置1は、グリッドワークプログラム配布部11から各クライアント端末装置2へグリッドワークプログラムを配布し、クライアント端末装置2のグリッドワーク実行部23からのグリッドワーク取得要求を待ち、グリッドワーク取得要求を受信すると、グリッドワーク処理データ配布部12から要求元のクライアント端末装置2のグリッドワーク実行部23ヘグリッドワーク処理データを送信する。このグリッドワーク処理データはクライアント端末装置2のグリッドワーク実行部23で処理され、そのグリッドワークの処理結果がグリッドワーク実行部23からグリッドワーク要求装置1へ送信され、グリッドワーク要求装置1のグリッドワーク結果受信部13で受信される。
一方、クライアント端末装置2において、システム管理部25は、コンテンツ共有システム部21とグリッドワーク実行部23とを必ず同時に起動させるために、コンテンツ共有システム部21の状態をプロセスモニター等で検出し、コンテンツ共有システム部21のプロセスが起動した場合、グリッドワーク実行部23のプロセスを起動させる機能を持つ。また、システム管理部25は、コンテンツ共有システム部21とグリッドワーク実行部23とが連携して動くように、グリッドワーク実行部23の稼動状態をグリッドワーク中断命令のフラグ等を利用して制御する。
図4に、クライアント端末装置2におけるグリッドワーク実行部23とコンテンツ共有システム部21の状態遷移図を示す。グリッドワーク実行部23は、グリッドワークを実行するグリッドワーク稼動状態311と、グリッドワークを実行しないグリッドワーク非稼動状態312の2つの状態をとり得る。
コンテンツ共有システム部21は、他のクライアント端末装置2からのコンテンツ取得要求の発生または他のクライアント端末装置2へのコンテンツ取得要求の発生を待つコンテンツ取得要求待機状態321と、コンテンツ取得要求の発生後に例えばファイル名等のコンテンツ情報を取得するコンテンツ情報交換状態322と、コンテンツ取得要求を発した要求元のクライアント端末装置2またはコンテンツ取得要求を送る要求先のクライアント端末装置2と相互に情報交換しながら通信設定を行い、要求元または要求先のクライアント端末装置2との通信を確立するネゴシエーション状態323と、要求元のクライアント端末装置2にコンテンツを送信するか、あるいは要求先のクライアント端末装置2からコンテンツを受信するコンテンツ転送状態324の4つの状態をとり得る。
コンテンツ共有システム部21がコンテンツ取得要求待機状態321、コンテンツ情報交換状態322またはコンテンツ転送状態324のとき、グリッドワーク実行部23は、クライアント端末装置2のCPUが遊休状態とみなしてグリッドワーク稼動状態311をとる。コンテンツ共有システム部21がネゴシエーション状態323のとき、グリッドワーク実行部23は、グリッドワーク非稼動状態312をとる。
次に、状態遷移する条件について述べる。コンテンツ取得要求待機状態321からコンテンツ情報交換状態322への遷移条件は、特に無く、タイマーなどの利用により任意のタイミングで遷移する。コンテンツ取得要求待機状態321からネゴシエーション状態323への遷移条件は、コンテンツ共有システム部21が他のクライアント端末装置2からのコンテンツ取得要求を受信するか、あるいは他のクライアント端末装置2にコンテンツ取得要求を送信することである。
ネゴシエーション状態323からコンテンツ転送状態324への遷移条件は、コンテンツ取得のためのネゴシエーション、例えば接続のためのネゴシエーションやコンテンツ取得接続が途中で切断した場合の再開のためのネゴシエーション等が終了することである。コンテンツ転送状態324からコンテンツ取得要求待機状態321への遷移条件は、他のクライアント端末装置2へのコンテンツ転送あるいは他のクライアント端末装置2からのコンテンツ転送が終了することである。このコンテンツ転送の終了は、コンテンツ転送の最中に通信が切断した場合を含む。
グリッドワーク稼動状態311からグリッドワーク非稼動状態312への遷移条件は、コンテンツ共有システム部21がネゴシエーション状態323へ遷移することであり、グリッドワーク非稼動状態312からグリッドワーク稼動状態311への遷移条件は、コンテンツ共有システム部21のネゴシエーション状態323が終了することである。
図5は、クライアント端末装置2のシステム管理部25の動作を示すフローチャートである。図5は、システム管理部25がコンテンツ共有システム部21とグリッドワーク実行部23とを同時に起動させる処理、およびグリッドワーク実行部23をグリッドワーク稼動状態311からグリッドワーク非稼動状態312へ遷移させる処理あるいはグリッドワーク非稼動状態312からグリッドワーク稼動状態311へ遷移させる処理を示している。
まず、コンテンツ共有システム部21とグリッドワーク実行部23とを同時に起動(コンテンツ共有プロセスとグリッドワークプロセスとを同時に起動)する処理について説明する。
システム管理部25は、コンテンツ共有システム部21のプロセスの有無をOS(Operating System)のプロセスリスト等を利用して確認し(図5ステップ510)、コンテンツ共有プロセスが存在しない場合は再びステップ510に戻る。このステップ510のコンテンツ共有プロセスの有無の確認は、タイマーなどの利用により任意のタイミングで行われる。
システム管理部25は、ステップ510においてコンテンツ共有プロセスが存在する場合、すなわちコンテンツ共有プログラムが実行中の場合、グリッドワーク実行部23のプロセスの有無をOSのプロセスリスト等を利用して確認し(ステップ520)、グリッドワークプロセスが存在しない場合は、ステップ530に進んで、後述のようにグリッドワークフレームワーク部24により実行対象として設定されたグリッドワークプロセスを起動する(すなわち、グリッドワーク実行部23に実行対象のグリッドワークプログラムを実行させる)。
次に、グリッドワーク実行部23をグリッドワーク稼動状態311からグリッドワーク非稼動状態312へ遷移させる処理、あるいはグリッドワーク非稼動状態312からグリッドワーク稼動状態311へ遷移させる処理について説明する。
システム管理部25は、ステップ520においてグリッドワークプロセスの存在を確認した後あるいはステップ530においてグリッドワークプロセスを起動させた後、コンテンツ共有システム部21がネゴシエーション状態に遷移しているかどうかを確認する(ステップ540)。このステップ540のコンテンツ共有システム部21の状態確認は、タイマーなどの利用により任意のタイミングで行われる。
システム管理部25は、コンテンツ共有システム部21がネゴシエーション状態に遷移した場合、グリッドワーク実行部23をグリッドワーク稼動状態311からグリッドワーク非稼動状態312へ遷移させる中断要求をグリッドワーク実行部23に送る(ステップ550)。また、システム管理部25は、コンテンツ共有システム部21がネゴシエーション状態に遷移していない場合、グリッドワーク実行部23をグリッドワーク非稼動状態312からグリッドワーク稼動状態311へ遷移させる(あるいはグリッドワーク稼動状態311のままにする)中断解除要求をグリッドワーク実行部23に送る(ステップ560)。システム管理部25は、以上のようなステップ510〜560の処理を繰り返し実行する。
図6は、クライアント端末装置2のグリッドワークフレームワーク部24の動作を示すフローチャートである。グリッドワークプログラムは、グリッドワーク要求装置1のグリッドワークプログラム配布部11から配布され、グリッドワークフレームワーク部24を通じてグリッドワーク実行部23に実装される。グリッドワークプログラムには、グリッドワーク処理データの取得先およびグリッドワークの処理結果の送信先が記載されている。
また、処理対象を複数のグリッドワーク処理データに分割するプログラムについては、グリッドコンピューティング用言語(例えば、Globus Toolkit)を用いて作成され、グリッドワーク要求装置1のグリッドワーク処理データ配布部12に実装されている。これにより、グリッドワーク処理データ配布部12は、処理対象を複数のグリッドワーク処理データに分割し、分割後のグリッドワーク処理データを保持している。
グリッドワークフレームワーク部24は、グリッドワークプログラム配布部11からのグリッドワークプログラムの配布の有無を確認し(図6ステップ601)、グリッドワークプログラムが配布された場合、この配布されたグリッドワークプログラムをグリッドワーク実行部23のグリッドワークプログラム格納部230に格納する(ステップ602)。
続いて、グリッドワークフレームワーク部24は、グリッドワークプログラム配布部11からのグリッドワークプログラム取り外し要求の有無を確認し(ステップ603)、取り外し要求が発行された場合、この要求で取り外しが指示されているグリッドワークプログラムをグリッドワーク実行部23のグリッドワークプログラム格納部230から取り外し(ステップ604)、グリッドワークプログラム格納部230に格納済のグリッドワークプログラムのうち前記取り外し要求で実行対象として指定されているグリッドワークプログラムをグリッドワーク実行部23の新たな実行対象とする。グリッドワークプログラムを新たに実行対象として設定するには、指定されたグリッドワークプログラムに例えば実行対象であることを示すフラグを付加すればよい。
なお、ステップ604で取り外すグリッドワークプログラムが既に起動中であった場合には、このグリッドワークプログラムの実行を停止させた後にグリッドワークプログラム格納部230から取り外し、新たに実行対象となったグリッドワークプログラムをグリッドワーク実行部23に実行させるようにすればよい。
次に、グリッドワークフレームワーク部24は、システム管理部25から中断要求が発行されたかどうかを確認する(ステップ605)。このステップ605の中断要求の有無の確認は、タイマーなどの利用により任意のタイミングで行われる。
グリッドワークフレームワーク部24は、システム管理部25から中断要求が発行されていない場合、実行中のグリッドワーク処理をそのまま継続させ、グリッドワーク処理が始まっていない場合にはグリッドワーク実行部23にグリッドワーク処理を開始させる(ステップ606)
グリッドワーク処理の実行中に、コンテンツ共有システム部21がネゴシエーション状態に遷移したことにより、システム管理部25から中断要求が発行された場合、グリッドワークフレームワーク部24は、グリッドワーク実行部23に中断要求を転送してグリッドワーク処理を停止させ(ステップ607)、続いてシステム管理部25から中断解除要求が発行されたかどうかを確認する(ステップ608)。このステップ608の中断解除要求の有無の確認は、タイマーなどの利用により任意のタイミングで行われる。こうして、中断解除要求が発行されるまで、グリッドワーク処理が停止する。
次に、システム管理部25から中断解除要求が発行された場合、グリッドワークフレームワーク部24は、ステップ605に戻ってシステム管理部25から中断要求が発行されたかどうかを確認した後、グリッドワーク実行部23に中断解除要求を転送して再びグリッドワーク処理を開始させる(ステップ606)。
図7は、クライアント端末装置2のグリッドワーク実行部23の動作を示すフローチャートである。グリッドワークプロセスが起動すると、グリッドワーク実行部23は、まず処理すべきグリッドワーク処理データの有無を確認する(図7ステップ701)。このグリッドワーク処理データの有無の確認は、タイマーなどの利用により任意のタイミングで行われる。
グリッドワーク実行部23は、処理すべきグリッドワーク処理データが存在しない場合、実行中のグリッドワークプログラムの記載に基づいてグリッドワーク処理データの取得先(グリッドワーク要求装置1のグリッドワーク処理データ配布部12)を決定し、この取得先にグリッドワーク取得要求を送信してグリッドワーク処理データを取得し、取得したグリッドワーク処理データをグリッドワーク処理データ格納部231に格納する(ステップ702)。
グリッドワークプログラムとグリッドワーク処理データとが揃った後、グリッドワーク実行部23は、実行中のグリッドワークプログラムに従ってグリッドワーク処理データの処理を開始する(ステップ703)。グリッドワーク実行部23は、このようなグリッドワーク処理の最中に、システム管理部25からグリッドワークフレームワーク部24を通じて中断要求が発行されたかどうかを確認する(ステップ704)。このステップ704の中断要求の有無の確認は、タイマーなどの利用により任意のタイミングで行われる。
グリッドワーク実行部23は、中断要求が発行されていない場合、ステップ703から開始したグリッドワーク処理が完了したか否かを確認し(ステップ705)、グリッドワーク処理が完了していない場合には、ステップ704に戻って中断要求が発行されたかどうかを確認する。
グリッドワーク処理の実行中に、コンテンツ共有システム部21がネゴシエーション状態に遷移したことにより、中断要求が発行された場合、グリッドワーク実行部23は、グリッドワーク処理を停止し(ステップ706)、続いてシステム管理部25からグリッドワークフレームワーク部24を通じて中断解除要求が発行されたかどうかを確認する(ステップ707)。このステップ707の中断解除要求の有無の確認は、タイマーなどの利用により任意のタイミングで行われる。こうして、中断解除要求が発行されるまで、グリッドワーク処理が停止する。
次に、中断解除要求が発行された場合、グリッドワーク実行部23は、再びグリッドワーク処理を開始する(ステップ703)。グリッドワーク実行部23は、グリッドワーク処理が完了した場合、実行中のグリッドワークプログラムの記載に基づいてグリッドワークの処理結果の送信先(グリッドワーク要求装置1のグリッドワーク結果受信部13)を決定し、この送信先にグリッドワークの処理結果であるグリッドワーク完了データを送信する(ステップ708)。そして、グリッドワーク実行部23は、処理が完了したグリッドワーク処理データを破棄し(ステップ709)、再びグリッドワーク処理データを取得してグリッドワーク処理データ格納部231に格納し(ステップ702)、グリッドワーク処理を開始する(ステップ703)。
図8は、クライアント端末装置2のコンテンツ共有システム部21の動作を示すフローチャートである。コンテンツ共有プロセスが起動すると、コンテンツ共有システム部21は、起動と同時にコンテンツ取得要求待機状態321になる(ステップ810)。その後、コンテンツ共有システム部21は、任意のタイミングでコンテンツ情報交換状態322となり(ステップ820)、コンテンツ取得要求の有無を確認する(ステップ830)。このステップ830のコンテンツ取得要求の有無の確認は、タイマーなどの利用により任意のタイミングで行われる。
コンテンツ共有システム部21は、ステップ830においてコンテンツ取得要求が発生していない場合、再びコンテンツ取得要求待機状態321になる(ステップ810)。ステップ830において他のクライアント端末装置2からのコンテンツ取得要求の発生または自装置から他のクライアント端末装置2へのコンテンツ取得要求の発生があった場合、コンテンツ共有システム部21は、要求されたコンテンツを保持している自装置または他のクライアント端末装置2の共有コンテンツ保持部22から例えばファイル名等のコンテンツ情報を取得した後(ステップ840)、ネゴシエーション状態323になり、コンテンツ取得要求を発した要求元のクライアント端末装置2またはコンテンツ取得要求を送る要求先のクライアント端末装置2との間でクライアント接続要求を行って通信を確立する(ステップ850)。
コンテンツ共有システム部21は、通信の確立によりネゴシエーション状態323が終了して、コンテンツ転送状態324になり、自装置の共有コンテンツ保持部22から該当コンテンツを取り出して要求元のクライアント端末装置2に送信するコンテンツ転送、あるいは要求先のクライアント端末装置2から該当コンテンツを受信するコンテンツ転送を行い(ステップ860)、コンテンツ転送が終了した場合(コンテンツ転送の最中に通信が切断した場合を含む)、再びコンテンツ取得要求待機状態321に戻る(ステップ810)。
図9に、クライアント端末装置2におけるグリッドワーク実行部23の状態遷移図を示す。グリッドワーク実行部23は、始めはグリッドワークプロセスが起動していない状態903にあるが、コンテンツ共有プロセスと共に起動することにより、待機状態902(図4のグリッドワーク非稼動状態312)へ遷移する。グリッドワーク実行部23は、システム管理部25から中断要求が発行されていない場合、グリッドワーク実行状態901(図4のグリッドワーク稼動状態311)へ遷移する。コンテンツ共有システム部21がネゴシエーション状態323へ遷移した場合、グリッドワーク実行部23は、待機状態902へ遷移する。
図10(a)に従来のグリッドコンピューティングシステムのグリッドワークの稼働時間を示し、図10(b)に本実施の形態のシステムのグリッドワークの稼働時間を示す。従来のグリッドコンピューティングシステムでは、スクリーンセイバーの起動などによりCPUの遊休状態を検知して、グリッドワーク処理が稼動する。また、スクリーンセイバーの停止などによりCPUの遊休状態終了を検知して、グリッドワーク処理が停止する(図10(a)の1011)。
これに対して、本実施の形態では、コンテンツ共有システム部21が明確なCPU遊休時間であるコンテンツ取得要求待機状態321の場合、グリッドワークが稼動し(図10(b)の1021)、時刻t1においてCPUの明確な非遊休状態であるネゴシエーション状態323になった場合、グリッドワークが非稼動になる。さらに、時刻t2においてコンテンツ共有システム部21のネゴシエーション状態323が終了してコンテンツ転送状態324になった場合もグリッドワークを稼動させることによって(1022)、従来と比較してより多くの時間グリッドワーク処理が可能となる。このとき、時刻t3においてコンテンツ共有システム部21のコンテンツ転送状態324が終了してコンテンツ取得要求待機状態321へ遷移しても同様にグリッドワーク処理は継続される(1022)。
以上のように、コンテンツ共有システムでは、複数台のクライアント端末装置がそれぞれ保持するコンテンツを共有可能な状態に設定して、各クライアント端末装置が所望のコンテンツを検索できるようにしており、所望のコンテンツを保持するクライアント端末装置に接続してコンテンツを取得できる仕組みを提供している。このようなコンテンツ共有システムでは、コンテンツを共有するためのHDD(Hard Disk Drive )を主に利用している状態で、他のクライアント端末装置からのコンテンツ取得要求を待っている場合、CPU資源はほとんど利用されず低稼働状態にある。また、コンテンツの送受信を行っている間は、入出力(I/O)処理やネットワーク帯域がボトルネックとなって、CPU資源の利用率は著しく低下し、CPU資源は低稼働状態とみなせる。そのため、コンテンツ取得要求を待っているクライアント端末装置やコンテンツの送受信を行っているクライアント端末装置、すなわち低稼働状態のクライアント端末がネットワーク中に多数存在しているということが言える。
そこで、本実施の形態では、コンテンツ共有システムとして機能するネットワークシステムの各クライアント端末装置2に、グリッドワーク実行部23とシステム管理部25とを設け、コンテンツ共有システム部21のプロセスが起動している場合、グリッドワーク実行部23のプロセスを必ず同時に起動させるようにし、コンテンツ共有システム部21の稼働状態に応じてグリッドワーク実行部23の稼働状態をシステム管理部25で制御するようにした。
従来のグリッドコンピューティングシステムでは、クライアント端末装置の遊休時間でのみグリッドワークを処理していたが、本実施の形態では、コンテンツ共有システム部21が稼働している状態であっても、CPU資源が低稼働状態とみなせる場合(コンテンツ取得要求待機状態321、コンテンツ情報交換状態322またはコンテンツ転送状態324)であれば、グリッドワーク実行部23がCPU資源を確保して稼働し、グリッドワークを処理するようにしているので、グリッドワークを効率的に処理することが可能となり、処理に要する時間を短縮することができる。
また、一般的にコンテンツ共有システムはグリッドコンピューティングシステムと比べてクライアント端末装置数が非常に多い。例えば、コンテンツ共有システムの一種である音楽ファイル交換ソフトウェアのナップスター(Napster )のユーザ数は2000年の末の時点で5000万人であり、一方、グリッドコンピューティングシステムの一種であるセティアットホーム(SETI@home )ソフトウェアの場合、2001年の8月時点でダウンロードした総ユーザ数が320万人で、そのうち実際のアクティブユーザ数は50万人である。
したがって、本実施の形態では、コンテンツ共有システムに参加した各クライアント端末装置でコンテンツ共有プロセスが起動するだけで、グリッドコンピューティングシステムに参加するクライアント端末装置を多数確保することができるので、この多数のクライアント端末装置の確保と前述のCPU資源の確保とにより、従来のグリッドコンピューティングシステムに比べて処理効率を著しく向上させることができる。前述のナップスターのユーザ数が5000万人、セティアットホームのユーザ数が50万人であるので、セティアットホームの場合に比べて100倍のクライアント端末装置を確保できることになり、最低100倍の効率向上が見込めることになる。
また、前述のように、各クライアント端末装置でコンテンツ共有プロセスが起動するだけで、グリッドコンピューティングシステムに参加するクライアント端末装置を多数確保することができるので、新規のデータ処理を実施する場合に、多数のクライアント端末装置を確保することが容易となる。
さらに、本実施の形態では、グリッドワークフレームワーク部24によりプラグイン方式で自由にグリッドワークプログラムを差し替えることを可能としたため、あまり知られていない新規のグリッドコンピューティングプロジェクトが、ボランティアでクライアント端末装置を募集するよりも、効果的にクライアント端末装置を確保することが可能となる。クライアント端末装置にグリッドコンピューティングのソフトウェアをインストールすることは、多くのユーザにとって敷居が高い。その結果、クライアント端末装置の確保を困難にしている。本実施の形態によれば、従来のグリッドコンピューティングシステムと比べて、「ユーザによるソフトウェアのダウンロードおよびインストール」という工程が不要なため、新規のグリッドコンピューティングプロジェクトであっても、クライアント端末装置の確保が容易になる。
また、本実施の形態では、グリッドワークプログラム格納部230とグリッドワーク処理データ格納部231に、グリッドワークプログラムとこれに対応するグリッドワーク処理データの組を複数組格納して、これら複数組の中から実行対象を指定することが可能である。このとき、各グリッドワークプログラムは他のグリッドワークプログラムと互いに通信する手段を持たず、各グリッドワークプログラムの独立性を保証する構成となっている。このことは、各グリッドワークプログラムが他のグリッドワークプログラムの処理を阻害しないことを保証し、実行対象のグリッドワークプログラムとグリッドワーク処理データの組を差し替えることを容易にする。
なお、前述のとおり、クライアント端末装置2の構成はコンピュータで実現することができる。このコンピュータは、中央処理装置(CPU)と、リードオンリメモリ(ROM)と、ランダムアクセスメモリ(RAM)と、フレキシブルディスク装置等の補助記憶装置と、ハードディスク装置等の大容量の外部記憶装置と、表示装置やキーボード、補助記憶装置、外部記憶装置および通信ネットワークとのインタフェースをとるための回路などを備えた周知の構成のものでよい。
コンピュータをクライアント端末装置2として機能させるためのプログラムのうちグリッドワークプログラムを除くプログラムは、フレキシブルディスク、CD−ROM、メモリカード等の記録媒体に記録された状態で提供される。この記録媒体をコンピュータの補助記憶装置に挿入すると、媒体に記録されたプログラムが読み取られる。あるいは、グリッドワーク要求装置1からネットワークを介してプログラムをダウンロードするようにしてもよい。CPUは、読み込んだプログラムをRAMあるいは外部記憶装置に書き込み、このプログラムに従って実施の形態で説明したような処理を実行する。
本発明は、複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムに適用することができる。
本発明の実施の形態となるネットワークシステムの構成を示すブロック図である。 本発明の実施の形態においてグリッドワーク要求装置とクライアント端末装置の構成を示すブロック図である。 本発明の実施の形態においてクライアント端末装置のグリッドワーク実行部の構成を示すブロック図である。 本発明の実施の形態においてクライアント端末装置内のグリッドワーク実行部とコンテンツ共有システム部の状態遷移を示す図である。 本発明の実施の形態におけるクライアント端末装置のシステム管理部の動作を示すフローチャートである。 本発明の実施の形態におけるクライアント端末装置のグリッドワークフレームワーク部の動作を示すフローチャートである。 本発明の実施の形態におけるクライアント端末装置のグリッドワーク実行部の動作を示すフローチャートである。 本発明の実施の形態におけるクライアント端末装置のコンテンツ共有システム部の動作を示すフローチャートである。 本発明の実施の形態においてクライアント端末装置内のグリッドワーク実行部の状態遷移を示す図である。 従来のグリッドコンピューティングシステムおよび本発明の実施の形態のネットワークシステムのグリッドワークの稼働時間を示す図である。
符号の説明
1…グリッドワーク要求装置、2…クライアント端末装置、11…グリッドワークプログラム配布部、12…グリッドワーク処理データ配布部、13…グリッドワーク結果受信部、21…コンテンツ共有システム部、22…共有コンテンツ保持部、23…グリッドワーク実行部、24…グリッドワークフレームワーク部、25…システム管理部、230…グリッドワークプログラム格納部、231…グリッドワーク処理データ格納部。

Claims (6)

  1. 複数のクライアント端末装置を通信ネットワークで相互に接続し、前記複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムにおいて、
    前記複数のクライアント端末装置と、複数の端末装置に処理を分散させる分散処理システムとして前記複数のクライアント端末装置を動作させ、各クライアント端末装置に処理すべきデータを配布する要求装置とを有し、
    各クライアント端末装置は、
    前記情報交換処理機能を実現する情報交換処理手段と、
    前記要求装置からデータを取得して処理する分散処理手段と、
    前記情報交換処理手段のプログラムと前記分散処理手段のプログラムとを同時に起動させ、前記情報交換処理手段の稼働状態に応じて前記分散処理手段の稼働状態を制御する管理手段と、
    前記要求装置から予め配布された、前記分散処理手段の複数のプログラムのうち、前記要求装置から取り外しが指示されたプログラムを実行対象から外し、前記要求装置から実行対象として指定されたプログラムを新たな実行対象として設定する組替手段とを備えることを特徴とするネットワークシステム。
  2. 請求項1記載のネットワークシステムにおいて、
    前記分散処理手段は、前記データの処理結果を前記要求装置に送信することを特徴とするネットワークシステム。
  3. 複数のクライアント端末装置を通信ネットワークで相互に接続し、前記複数のクライアント端末装置で情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムにおいて、前記複数のクライアント端末装置に処理を分散させる分散処理機能を実現する分散処理方法であって、
    各クライアント端末装置において、
    前記情報交換処理機能のプログラムの起動と同時に前記分散処理機能のプログラムを起動する起動手順と、
    複数の端末装置に処理を分散させる分散処理システムとして前記複数のクライアント端末装置を動作させる要求装置からデータを取得して処理する前記分散処理機能の稼働状態を、前記情報交換処理機能の稼働状態に応じて制御する管理手順と、
    前記要求装置から予め配布された、前記分散処理機能の複数のプログラムのうち、前記要求装置から取り外しが指示されたプログラムを実行対象から外し、前記要求装置から実行対象として指定されたプログラムを新たな実行対象として設定する組替手順とを実行することを特徴とする分散処理方法。
  4. 請求項3記載の分散処理方法において、
    前記データの処理結果を前記要求装置に送信する送信手順を実行することを特徴とする分散処理方法。
  5. 複数のコンピュータを通信ネットワークで相互に接続し、前記複数のコンピュータで情報の共有と交換とを行う情報交換処理機能を提供するネットワークシステムにおいて、前記複数のコンピュータに処理を分散させる分散処理機能を実現する分散処理プログラムであって、
    各コンピュータに、
    前記情報交換処理機能のプログラムの起動と同時に前記分散処理機能のプログラムを起動する起動手順と、
    複数の端末装置に処理を分散させる分散処理システムとして前記複数のコンピュータを動作させる要求装置からデータを取得して処理する前記分散処理機能の稼働状態を、前記情報交換処理機能の稼働状態に応じて制御する管理手順と、
    前記要求装置から予め配布された、前記分散処理機能の複数のプログラムのうち、前記要求装置から取り外しが指示されたプログラムを実行対象から外し、前記要求装置から実行対象として指定されたプログラムを新たな実行対象として設定する組替手順とを実行させることを特徴とする分散処理プログラム。
  6. 請求項5記載の分散処理プログラムにおいて、
    前記データの処理結果を前記要求装置に送信する送信手順を各コンピュータに実行させることを特徴とする分散処理プログラム。
JP2003296577A 2003-08-20 2003-08-20 ネットワークシステム、分散処理方法およびプログラム Expired - Fee Related JP4034712B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003296577A JP4034712B2 (ja) 2003-08-20 2003-08-20 ネットワークシステム、分散処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003296577A JP4034712B2 (ja) 2003-08-20 2003-08-20 ネットワークシステム、分散処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2005070897A JP2005070897A (ja) 2005-03-17
JP4034712B2 true JP4034712B2 (ja) 2008-01-16

Family

ID=34402701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003296577A Expired - Fee Related JP4034712B2 (ja) 2003-08-20 2003-08-20 ネットワークシステム、分散処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4034712B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5981418B2 (ja) * 2012-03-30 2016-08-31 株式会社東芝 社会インフラ制御システム、サーバ、制御装置、制御方法およびプログラム
KR102246362B1 (ko) 2014-10-24 2021-04-28 삼성전자주식회사 무선 그리드 컴퓨팅 방법 및 장치
CN109739633B (zh) * 2019-01-08 2023-09-15 深圳市网心科技有限公司 一种共享计算管理方法及相关装置

Also Published As

Publication number Publication date
JP2005070897A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
US8239868B2 (en) Computer system, servers constituting the same, and job execution control method and program
US8326915B2 (en) Pipeline systems and method for transferring data in a network environment
JP4606404B2 (ja) 計算資源管理プログラムおよび計算資源管理装置
TWI559153B (zh) 分散式計算架構
US8001176B2 (en) Web service with multiple listening endpoints
US20100036957A1 (en) Method and System for Implementing Transfer of a Network Session
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
CN113452774B (zh) 消息推送方法、装置、设备及存储介质
JP2005276175A (ja) 拡張性のあるプリントスプーラ
JP2002073576A (ja) バッチジョブ制御システム
CN102523109A (zh) 资源状态更新方法、管理客户端及服务器
WO2023046141A1 (zh) 一种数据库网络负载性能的加速框架、加速方法及设备
JP4957765B2 (ja) ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム
US7769828B2 (en) System for provisioning time sharing option (TSO) and interactive productivity system facility (ISPF) services in a network environment
JP4034712B2 (ja) ネットワークシステム、分散処理方法およびプログラム
US8442939B2 (en) File sharing method, computer system, and job scheduler
CN113259408A (zh) 数据传输方法和系统
CN106357454B (zh) 日志系统控制装置及其控制方法
JP2005070896A (ja) ネットワークシステム、分散処理方法およびプログラム
CN115150464A (zh) 应用代理方法、装置、设备及介质
CN111431951B (zh) 一种数据处理方法、节点设备、系统及存储介质
JP2006228093A (ja) Pcクラスタ計算機における計算ノードの選択と選択された計算ノードの起動とプログラムの配布スケジューリング処理の方法およびその装置
JP2008186208A (ja) Cpu負荷低減方法および監視/制御サーバ
JP6786835B2 (ja) 管理装置、サーバ、シンクライアントシステム、管理方法及びプログラム
JP2000259591A (ja) 分散処理ジョブ実行方法およびネットワークシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070724

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: 20071023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees