(57)【要約】【課題】粒子の挙動計算のような大規模解析を行うシステムにおいて、コンピュータ間のデータの受け渡しを高速に行うことで、処理の実行速度を向上させる。【解決手段】少なくとも２個の入出力ポートを備えたＳＳＤ３００と、計算サーバ１００と、可視化サーバ２００とを備える。計算サーバ１００は、ＳＳＤ３００の１つの入出力ポートに接続し、解析処理における計算を行って、計算結果をＳＳＤ３００に格納する。可視化サーバ２００は、ＳＳＤ３００の他の１つの入出力ポートに接続し、ＳＳＤ３００に格納された計算結果を読み込んで可視化処理を行う。また、解析処理の計算を複数のサーバで分散処理する場合、それらのサーバを複数の入出力ポートを持つＳＳＤに接続し、このＳＳＤへのデータの読み書きによってサーバ間のデータの受け渡しを行う。【選択図】図１
2009294762.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする記憶装置と、
前記記憶装置の１つの前記入出力ポートに接続し、解析処理における計算を行って、計算結果を当該記憶装置に格納する計算用サーバと、
前記記憶装置の他の１つの前記入出力ポートに接続し、当該記憶装置に格納された前記計算結果を読み込んで可視化処理を行う可視化処理用サーバと
を備えることを特徴とする解析システム。
【請求項２】
前記計算用サーバは、粒子の挙動解析により、個々の粒子に作用する力および個々の粒子の位置を計算することを特徴とする請求項１に記載の解析システム。
【請求項３】
前記計算用サーバは、
少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする外部記憶装置と、
前記外部記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する力を計算する第１のサーバと、
前記外部記憶装置の他の１つの前記入出力ポートに接続し、前記第１のサーバにより計算された力に基づいて粒子の位置を計算する第２のサーバと
を備えることを特徴とする請求項２に記載の解析システム。
【請求項４】
前記計算用サーバは、
少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする外部記憶装置と、
前記外部記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する磁気力を計算する第１のサーバと、
前記外部記憶装置の他の１つの前記入出力ポートに接続し、前記粒子間に作用する接触力を計算し、計算された接触力と前記第１のサーバにより計算された磁気力とに基づいて粒子の位置を計算する第２のサーバと
を備えることを特徴とする請求項２に記載の解析システム。
【請求項５】
前記計算用サーバは、
少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする外部記憶装置と、
前記外部記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する静電気力を計算する第１のサーバと、
前記外部記憶装置の他の１つの前記入出力ポートに接続し、前記粒子間に作用する接触力を計算し、計算された接触力と前記第１のサーバにより計算された静電気力とに基づいて粒子の位置を計算する第２のサーバと
を備えることを特徴とする請求項２に記載の解析システム。
【請求項６】
少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする記憶装置と、
前記記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する力を計算し、計算結果を当該記憶装置に格納する第１のサーバと、
前記記憶装置の他の１つの前記入出力ポートに接続し、前記第１のサーバにより計算された力に基づいて粒子の位置を計算する第２のサーバと
を備えることを特徴とする解析システム。
【請求項７】
前記第１のサーバは、粒子間に作用する磁気力を計算することを特徴とする請求項６に記載の解析システム。
【請求項８】
前記第１のサーバは、粒子間に作用する静電気力を計算することを特徴とする請求項６に記載の解析システム。
【請求項９】
少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする記憶装置と、
前記記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する磁気力を計算し、計算結果を当該記憶装置に格納する第１のサーバと、
前記記憶装置の他の１つの前記入出力ポートに接続し、前記粒子間に作用する接触力を計算し、計算された接触力と前記第１のサーバにより計算された磁気力とに基づいて粒子の位置を計算する第２のサーバと
を備えることを特徴とする解析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模解析を行う解析システムに関する。
【背景技術】
【０００２】
コンピュータ・シミュレーションでは、計算結果を可視化（図化）することが多い。粒子の挙動解析等の膨大な計算を伴う大規模解析においては、この可視化の処理における負荷が大きいため、通常、計算用のコンピュータと可視化処理用のコンピュータとが個別に用意される。このような構成では、まず計算用のコンピュータでシミュレーションのための計算が実行され、この計算が済んだ後に計算結果の可視化処理が実行される。
【０００３】
この種の大規模解析等の膨大な計算を行う場合に、解析を複数のコンピュータで分散処理する並列計算が行われている。並列計算は、例えば、複数のコンピュータをネットワークで接続したクラスタ上で、ＭＰＩ（Message-Passing Interface）等の並列ライブラリを用いた解析プログラムを実行することで実現される。
【０００４】
特許文献１に記載された従来技術は、仮想記憶方式のマルチプロセッサのシステムにおいて、主記憶から追い出したページデータを外部記憶装置に書き出し、いずれのプロセッサで追い出したデータを必要とした場合でも、外部記憶から読込むものである。
【０００５】
【特許文献１】特開平３−２２３９４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
複数のコンピュータ間でデータのやり取りを行う場合、データをやり取りするコンピュータ間で同期を取った上でデータの送受信を行う必要がある。
本発明の目的は、粒子の挙動計算のような大規模解析を行うシステムにおいて、コンピュータ間のデータの受け渡しを高速に行うことで、処理の実行速度を向上させることにある。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする記憶装置と、前記記憶装置の１つの前記入出力ポートに接続し、解析処理における計算を行って、計算結果を当該記憶装置に格納する計算用サーバと、前記記憶装置の他の１つの前記入出力ポートに接続し、当該記憶装置に格納された前記計算結果を読み込んで可視化処理を行う可視化処理用サーバとを備えることを特徴とする解析システムである。
請求項２に係る発明は、前記計算用サーバが、粒子の挙動解析により、個々の粒子に作用する力および個々の粒子の位置を計算することを特徴とする請求項１に記載の解析システムである。
請求項３に係る発明は、前記計算用サーバが、少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする外部記憶装置と、前記外部記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する力を計算する第１のサーバと、前記外部記憶装置の他の１つの前記入出力ポートに接続し、前記第１のサーバにより計算された力に基づいて粒子の位置を計算する第２のサーバとを備えることを特徴とする請求項２に記載の解析システムである。
請求項４に係る発明は、前記計算用サーバが、少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする外部記憶装置と、前記外部記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する磁気力を計算する第１のサーバと、前記外部記憶装置の他の１つの前記入出力ポートに接続し、前記粒子間に作用する接触力を計算し、計算された接触力と前記第１のサーバにより計算された磁気力とに基づいて粒子の位置を計算する第２のサーバとを備えることを特徴とする請求項２に記載の解析システムである。
請求項５に係る発明は、前記計算用サーバが、少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする外部記憶装置と、前記外部記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する静電気力を計算する第１のサーバと、前記外部記憶装置の他の１つの前記入出力ポートに接続し、前記粒子間に作用する接触力を計算し、計算された接触力と前記第１のサーバにより計算された静電気力とに基づいて粒子の位置を計算する第２のサーバとを備えることを特徴とする請求項２に記載の解析システムである。
請求項６に係る発明は、少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする記憶装置と、前記記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する力を計算し、計算結果を当該記憶装置に格納する第１のサーバと、前記記憶装置の他の１つの前記入出力ポートに接続し、前記第１のサーバにより計算された力に基づいて粒子の位置を計算する第２のサーバとを備えることを特徴とする解析システムである。
請求項７に係る発明は、前記第１のサーバが、粒子間に作用する磁気力を計算することを特徴とする請求項６に記載の解析システムである。
請求項８に係る発明は、前記第１のサーバが、粒子間に作用する静電気力を計算することを特徴とする請求項６に記載の解析システムである。
請求項９に係る発明は、少なくとも２個の入出力ポートを備え、半導体メモリを記憶媒体とする記憶装置と、前記記憶装置の１つの前記入出力ポートに接続し、粒子間に作用する磁気力を計算し、計算結果を当該記憶装置に格納する第１のサーバと、前記記憶装置の他の１つの前記入出力ポートに接続し、前記粒子間に作用する接触力を計算し、計算された接触力と前記第１のサーバにより計算された磁気力とに基づいて粒子の位置を計算する第２のサーバとを備えることを特徴とする解析システムである。
【発明の効果】
【０００８】
請求項１の発明によれば、サーバ間のデータの受け渡しを、外部記憶装置を介して行うことにより、サーバ間でデータ転送のための同期を取ることなく、高速に行うことができる。
請求項２の発明によれば、粒子の挙動解析に用いられるサーバ間のデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項３の発明によれば、計算用サーバを構成する複数のサーバ間で行われるデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項４の発明によれば、計算用サーバを構成する磁気力の計算用のサーバと粒子位置の計算用のサーバとの間で行われるデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項５の発明によれば、計算用サーバを構成する静電気力の計算用のサーバと粒子位置の計算用のサーバとの間で行われるデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項６の発明によれば、粒子の挙動解析に用いられるサーバ間のデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項７の発明によれば、粒子の挙動解析に用いられる磁気力の計算用のサーバと他のサーバとの間のデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項８の発明によれば、粒子の挙動解析に用いられる静電気力の計算用のサーバと他のサーバとの間のデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
請求項９の発明によれば、粒子の挙動解析に用いられる磁気力の計算用のサーバと粒子位置の計算用のサーバとの間のデータの受け渡しを、サーバ間で同期を取ることなく、高速に行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
＜第１の実施形態＞
図１は、本発明における第１の実施形態が適用される解析システムの全体構成を示す図である。
図１に示す本実施形態の解析システムは、計算サーバ１００と、可視化サーバ２００と、外部記憶装置であるＳＳＤ（Solid State Drive）３００とを備える。計算サーバ１００および可視化サーバ２００は、パーソナルコンピュータやワークステーション等のコンピュータで実現される。ＳＳＤ３００は、記憶媒体としてＤＲＡＭ（Dynamic Random Access Memory）やフラッシュメモリ等の半導体メモリを用い、ＨＤＤ（ハードディスクドライブ）等と同様にコンピュータの外部記憶装置として使用される。一方、ＳＳＤ３００は、半導体メモリを記憶媒体とするため、データの読み書きの際に、ＨＤＤのようにヘッドを移動させるための時間やディスクの回転数を高めるための時間を要しない。また、本実施形態のＳＳＤ３００は、少なくとも２つの入出力ポートを備える。これにより、計算サーバ１００と可視化サーバ２００とは、図１に示すようにＳＳＤ３００を介して接続されている。
【００１０】
本実施形態では、計算サーバ１００による計算（解析処理）として、粒子の挙動解析を行う場合を例として説明する。具体的には、例えば電子写真方式による画像形成装置において画像形成に使用される画像形成材などのように、複数の粒子（トナーおよびキャリア粒子等）が混合された状態での粒子の振る舞いをシミュレーションして解析する場合に適用される。このような解析では、個別要素法や有限要素法が用いられる。なお、この粒子の挙動解析は、本実施形態が適用可能な処理の一例を示すに過ぎず、並列計算による分散処理が可能な種々の処理に適用できることは言うまでもない。
【００１１】
図２は、計算サーバ１００および可視化サーバ２００を実現するコンピュータのハードウェア構成例を示す図である。
図２に示すコンピュータ１０は、演算手段であるＣＰＵ（Central Processing Unit）１０ａと、記憶手段である主記憶装置（メインメモリ）１０ｂおよび外部記憶装置１０ｃを備える。本実施形態では、ＳＳＤ３００が計算サーバ１００および可視化サーバ２００の共通の外部記憶装置１０ｃとして用いられる。また、図２のコンピュータ１０は、ネットワークを介して外部装置に接続するためのネットワークＩ／Ｆ（インターフェイス）１０ｄと、ディスプレイ装置へ表示出力を行うための表示機構１０ｅと、音声出力を行うための音声機構１０ｆとを備える。さらに、キーボードやマウス等の入力デバイス１０ｇを備える。ＣＰＵ１０ａと他の構成要素との間には、図示しないチップセットやブリッジ回路が介在している。
【００１２】
図２において、各構成要素は、システムバスや入出力バス等の各種のバスを介して接続される。例えば、ＣＰＵ１０ａと主記憶装置１０ｂの間は、システムバスやメモリバスを介して接続される。また、ＣＰＵ１０ａと外部記憶装置１０ｃ、ネットワークＩ／Ｆ１０ｄ、表示機構１０ｅ、音声機構１０ｆ、入力デバイス１０ｇ等との間は、ＰＣＩ（Peripheral Components Interconnect）、ＰＣＩ  Ｅｘｐｒｅｓｓ、シリアルＡＴＡ（AT Attachment）、ＵＳＢ（Universal Serial Bus）、ＡＧＰ（Accelerated Graphics Port）等の入出力バスを介して接続される。
【００１３】
なお、図２は、本実施形態の解析システムを構成する計算サーバ１００および可視化サーバ２００を実現するのに好適なコンピュータのハードウェア構成を例示するに過ぎず、図示の構成に限定されないことは言うまでもない。例えば、補助記憶装置として、外部記憶装置１０ｃの他に、フレキシブルディスクや光学ディスクをメディアとするドライブを設けたり、ＵＳＢメモリを設けたりしても良い。ＵＳＢメモリは、ＵＳＢを介してブリッジ回路に接続されることとなる。また、音声機構１０ｆを独立した構成とせず、チップセットの機能として備えるようにしても良い。
【００１４】
＜計算サーバおよび可視化サーバの機能＞
図３は、計算サーバ１００の機能構成を示す図である。
図３に示すように、計算サーバ１００は、粒子の挙動解析のための演算を行う演算部１０１と、ＳＳＤ３００に対してデータの読み書きを行うためのＳＳＤドライバ１０２とを備える。この演算部１０１およびＳＳＤドライバ１０２は、例えば図２に示したコンピュータ１０において、主記憶装置１０ｂに読み込まれたプログラムをＣＰＵ１０ａが実行することで実現される機能であり、ソフトウェアとハードウェア資源とが協働して実現される手段である。
【００１５】
演算部１０１は、解析対象である粒子情報のデータを読み込み、各粒子に作用する力を計算し、各粒子の位置の変化を求めることにより、その挙動を解析する。粒子に作用する力および粒子の位置の計算方法は、従来の粒子挙動解析用のシステムで用いられる計算方法を用いて良い。また、特に図示していないが、計算サーバ１００を複数の計算機のクラスタとして構成し、この各粒子の挙動解析のための演算を各計算機（計算ノード）の分散処理により実行しても良い。
【００１６】
ＳＳＤドライバ１０２は、各粒子に対する演算部１０１による演算結果を粒子ごとのデータファイル（以下、粒子情報ファイル）としてＳＳＤ３００に出力する。この粒子情報ファイルは、粒子の位置や属性など可視化サーバ２００による処理に必要なデータを含み、可視化サーバ２００が直接読み書きできる形式で保持されるものとする。
【００１７】
図４は、粒子情報ファイルのデータ構造の例を示す図である。図４に示す例では、粒子情報ファイルには、粒子を識別するための粒子ＩＤと共に、個々の粒子の位置情報（座標ｘ、ｙ、ｚ）と属性情報（半径、質量、速度、電荷、磁化）が記録されている。
【００１８】
図５は、可視化サーバ２００の機能構成を示す図である。
図５に示すように、可視化サーバ２００は、ＳＳＤ３００から粒子情報ファイルを読み込むＳＳＤドライバ２０１と、可視化処理を行う可視化処理部２０２とを備える。このＳＳＤドライバ２０１および可視化処理部２０２は、例えば図２に示したコンピュータ１０において、主記憶装置１０ｂに読み込まれたプログラムをＣＰＵ１０ａが実行することで実現される機能であり、ソフトウェアとハードウェア資源とが協働して実現される手段である。
【００１９】
ＳＳＤドライバ２０１は、ＳＳＤ３００にアクセスし、計算サーバ１００による各粒子の演算結果である粒子情報ファイルを読み込む。ここで、ＳＳＤドライバ２０１は、個々の粒子ごとにＳＳＤ３００に書き込まれた粒子情報ファイルから順次読み込んで良い。すなわち、全ての粒子に関して計算サーバ１００による演算が終了し粒子情報ファイルがＳＳＤ３００に書き込まれるまで、読み込みを待つ必要はない。
【００２０】
可視化処理部２０２は、ＳＳＤドライバ２０１により読み込まれた粒子の情報に基づいて可視化処理を実行する。上記のように、ＳＳＤドライバ２０１は、ＳＳＤ３００に書き込まれたものから順次粒子情報ファイルを読み込む。したがって、可視化処理部２０２は、ＳＳＤドライバ２０１により読み込まれた粒子情報ファイルを用いて順次可視化処理を行っていけば良く、全ての粒子に関して情報が読み込まれるまで処理の開始を待つ必要はない。可視化処理の手法自体は、既存の任意の手法を用いて良い。
【００２１】
図６は、ＳＳＤ３００の構成を示す図である。
図６に示すように、ＳＳＤ３００は、記憶部３０１と、制御部３０２と、複数の入出力ポート３０３、３０４とを備える。記憶部３０１は、半導体メモリの記憶媒体である。制御部３０２は、記憶部３０１へのデータの読み書きを制御する。例えば、入出力ポート３０３、３０４のそれぞれから同一のアドレスへの書き込み要求があった場合、一方のアクセスのみを許可する等のアクセス制御が行われる。図６に示す例では、ＳＳＤ３００は２個の入出力ポート３０３、３０４を備えており、入出力ポート３０３は計算サーバ１００に接続され、入出力ポート３０４は可視化サーバ２００に接続されている。以上の構成により、ＳＳＤ３００は、計算サーバ１００および可視化サーバ２００の外部記憶装置として各々からアクセスされる。
【００２２】
＜計算サーバおよび可視化サーバの動作＞
図７は、計算サーバ１００および可視化サーバ２００の動作を示すフローチャートである。同図では、２つのフローチャートを並べ、ＳＳＤ３００を介してデータがやり取りされる様子も示している。
図７において、まず、計算サーバ１００は、演算部１０１が粒子の挙動計算を実行し（ステップ７０１）、ＳＳＤドライバ１０２が粒子ごとの計算結果を順次ＳＳＤ３００に出力する（ステップ７０２）。
【００２３】
一方、可視化サーバ２００は、ＳＳＤ３００に計算結果が出力されているか否かを調べ（ステップ７０３）、出力された計算結果を順次読み込む（ステップ７０４）。そして、読み込んだ計算結果に基づいて可視化処理を実行する（ステップ７０５）。最終的に全ての粒子に関して計算結果が読み込まれ、可視化処理が行われたならば、可視化サーバ２００の処理が終了する。
【００２４】
以上のような構成とすることにより、本実施形態の解析システムでは、可視化サーバ２００は、ＳＳＤ３００に出力された粒子情報ファイルを順次読み込んで可視化処理を実行すれば良く、計算サーバ１００において全ての粒子についての解析が終了するまで可視化処理の開始を待つ必要はない。そのため、計算サーバ１００の処理と可視化サーバ２００の処理を部分的に並列に行うことができるので、計算サーバ１００における演算が開始されてから可視化サーバ２００による可視化処理が終了するまでの全体の処理時間が短縮される。
【００２５】
また、上記の構成では、計算サーバ１００では計算結果を外部記憶装置であるＳＳＤ３００に出力し、可視化サーバ２００では外部記憶装置であるＳＳＤ３００から計算結果を読み込むことで、計算サーバ１００から可視化サーバ２００へ計算結果のデータが受け渡される。したがって、計算サーバ１００と可視化サーバ２００との間でデータ通信を行うための同期処理等は必要ない。
【００２６】
＜第２の実施形態＞
図８は、本発明における第２の実施形態が適用される解析システムの全体構成を示す図である。
図８に示す本実施形態の解析システムは、粒子の挙動解析のための演算を行うサーバ群（クラスタ）であり、粒子の位置を計算する位置計算用サーバ１１０と、粒子に作用する磁場を計算する磁場計算用サーバ１２０と、ＳＳＤ１３０とを備える。位置計算用サーバ１１０および磁場計算用サーバ１２０は、パーソナルコンピュータやワークステーション等のコンピュータで実現される。ＳＳＤ１３０は、記憶媒体としてＤＲＡＭ（Dynamic Random Access Memory）やフラッシュメモリ等の半導体メモリを用い、ＨＤＤ（ハードディスクドライブ）等と同様にコンピュータの外部記憶装置として使用される。また、ＳＳＤ１３０は、第１の実施形態のＳＳＤ３００と同様に、少なくとも２つの入出力ポートを備える。これにより、位置計算用サーバ１１０と磁場計算用サーバ１２０とは、図８に示すようにＳＳＤ１３０を介して接続されている。また、位置計算用サーバ１１０および磁場計算用サーバ１２０は、第１の実施形態の計算サーバ１００および可視化サーバ２００と同様に、図２に示すコンピュータ１０等で実現される。
【００２７】
＜位置計算用サーバおよび磁場計算用サーバの機能＞
図９は、位置計算用サーバ１１０の機能構成を示す図である。
図９に示すように、位置計算用サーバ１１０は、接触力計算部１１１と、磁気相互作用力取得部１１２と、位置座標計算部１１３と、ＳＳＤドライバ１１４とを備える。これらの構成要素は、例えば図２に示したコンピュータ１０において、主記憶装置１０ｂに読み込まれたプログラムをＣＰＵ１０ａが実行することで実現される機能であり、ソフトウェアとハードウェア資源とが協働して実現される手段である。また、特に図示していないが、位置計算用サーバ１１０自体を複数の計算機のクラスタとして構成し、各粒子に関する演算を各計算機（計算ノード）の分散処理により実行しても良い。
【００２８】
接触力計算部１１１は、解析対象である粒子情報のデータを読み込み、各粒子に作用する接触力（機械相互作用力）を計算する。粒子間に作用する接触力の計算方法は、従来の粒子挙動解析用のシステムで用いられる計算方法を用いて良い。
【００２９】
磁気相互作用力取得部１１２は、磁場計算用サーバ１２０から各粒子の間に相互作用する磁気力（以下、磁気相互作用力）の計算結果を取得する。電子写真方式の画像形成装置で用いられる画像形成材は、一般に色材であるトナーとトナーを運搬するためのキャリアとを含む。キャリアは磁性体の粒子であり、磁場に置かれることによって自身も磁化し、磁気相互作用力を相互に及ぼし合う。そこで、このような磁気相互作用力が計算される。
【００３０】
位置座標計算部１１３は、接触力計算部１１１により計算された粒子間の接触力および磁気相互作用力取得部１１２により取得された磁気相互作用力を用いて、各粒子についての運動方程式を解き、これらの力を受けて移動した各粒子の位置座標を計算する。位置座標の計算方法は、従来の粒子挙動解析用のシステムで用いられる計算方法を用いて良い。
【００３１】
ＳＳＤドライバ１１４は、ＳＳＤ１３０にアクセスして、各粒子に関するデータ（粒子情報ファイル）の読み書きを行う。粒子情報ファイルのデータ構造は、例えば図４に示したデータ構造とする。ＳＳＤドライバ１１４からＳＳＤ１３０に対して書き込まれるデータは、各粒子に関する各データの初期値と、位置座標計算部１１３による計算結果である。一方、ＳＳＤドライバ１１４がＳＳＤ１３０から読み込むデータは、接触力計算部１１１の計算に用いられるデータと、磁場計算用サーバ１２０の計算結果である。
【００３２】
図１０は、磁場計算用サーバ１２０の機能構成を示す図である。
図１０に示すように、磁場計算用サーバ１２０は、磁気相互作用力計算部１２１と、ＳＳＤドライバ１２２とを備える。これらの構成要素は、例えば図２に示したコンピュータ１０において、主記憶装置１０ｂに読み込まれたプログラムをＣＰＵ１０ａが実行することで実現される機能であり、ソフトウェアとハードウェア資源とが協働して実現される手段である。また、特に図示していないが、磁場計算用サーバ１２０自体を複数の計算機のクラスタとして構成し、各粒子に関する演算を各計算機（計算ノード）の分散処理により実行しても良い。
【００３３】
磁気相互作用力計算部１２１は、解析対象である粒子情報のデータを読み込み、各粒子に作用する磁気相互作用力を計算する。上述したように、電子写真方式の画像形成装置で用いられる画像形成材は、磁場に置かれることで自身も磁化し、磁気相互作用力を及ぼし合うキャリアを含むため、このキャリア間に作用する磁気相互作用力が計算される。粒子間に作用する磁気相互作用力の計算方法は、従来の粒子挙動解析用のシステムで用いられる計算方法を用いて良い。
【００３４】
ＳＳＤドライバ１２２は、ＳＳＤ１３０にアクセスして、各粒子に関するデータ（粒子情報ファイル）の読み書きを行う。ＳＳＤドライバ１２２がＳＳＤ１３０から読み込むデータは、磁気相互作用力計算部１２１の計算に用いられるデータである。一方、ＳＳＤドライバ１２２からＳＳＤ１３０に対して書き込まれるデータは、磁気相互作用力計算部１２１による計算結果である。
【００３５】
ＳＳＤ１３０は、図６に示した第１の実施形態のＳＳＤ３００と同様の構成を備える。本実施形態のＳＳＤ１３０は、２個の入出力ポートを備えており、一方の入出力ポートは位置計算用サーバ１１０に接続され、他方の入出力ポートは磁場計算用サーバ１２０に接続されている。以上の構成により、ＳＳＤ１３０は、位置計算用サーバ１１０および磁場計算用サーバ１２０の外部記憶装置として各々からアクセスされる。
【００３６】
＜位置計算用サーバおよび磁場計算用サーバの動作＞
図１１は、位置計算用サーバ１１０の動作を示すフローチャートである。
図１１において、位置計算用サーバ１１０は、初期動作として、粒子情報ファイルの各項目データの初期値を取得してＳＳＤ１３０に格納しておく（ステップ１１０１）。この初期値は、例えば、予めシステムユーザが用意し、図２に示した入力デバイス１０ｇを用いた入力操作や外部装置からの転送により供給される。
【００３７】
次に、位置計算用サーバ１１０の接触力計算部１１１は、ＳＳＤ１３０にアクセスし、粒子間に作用する接触力の計算に必要なデータが格納されているか否かを調べる（ステップ１１０２）。そして、ＳＳＤ１３０に必要なデータが格納されているならば、そのデータを読み込み（ステップ１１０３）、粒子間に作用する接触力を計算する（ステップ１１０４）。データの読み込みは、粒子情報ファイル単位で行っても良いし、接触力の計算に必要なデータ（例えば、図４のデータ構造における位置座標等）のみを読み込むようにしても良い。
【００３８】
次に、位置計算用サーバ１１０の磁気相互作用力取得部１１２は、ＳＳＤ１３０にアクセスし、磁場計算用サーバ１２０の計算結果である磁気相互作用力（図では「磁気力」と記載）のデータが格納されているか否かを調べる（ステップ１１０５）。そして、ＳＳＤ１３０に磁気相互作用力のデータが格納されているならば、そのデータを読み込む（ステップ１１０６）。
【００３９】
次に、位置計算用サーバ１１０の位置座標計算部１１３は、ステップ１１０６で得られた磁気相互作用力とステップ１１０４で算出された接触力との和を求める（ステップ１１０７）。そして、磁気相互作用力および接触力の和と粒子の位置情報および属性情報（例えば、図４のデータ構造における質量、速度等）に基づいて運動方程式を解き、各粒子の位置情報（座標）を計算する（ステップ１１０８）。さらに、位置座標計算部１１３は、ＳＳＤ１３０にアクセスし、算出された位置情報に基づいて該当する粒子の粒子情報ファイルをＳＳＤ１３０に書き込む（ステップ１１０９）。
【００４０】
ここで、粒子情報ファイルのファイル名には、予め設定された解析処理における計算の繰り返し回数のうち何回目の計算かを示す情報（計算ステップ）が記される。粒子情報ファイルの書き込みは、ステップ１１０２〜１１０８の処理が行われるたびに追加するようにしても良いし、同一の粒子の粒子情報ファイルを上書きするようにしても良い。
【００４１】
位置計算用サーバ１１０によるステップ１１０２〜１１０９の処理は、解析の内容に応じて実行すべき計算ステップが予め設定されており、自身の計算ステップが設定数に達するまで同処理を繰り返す（ステップ１１１０）。そして、計算ステップが設定数に到達したならば、所定の終了処理を行って処理を終了する（ステップ１１１１）。終了処理としては、例えばシステムユーザに処理の終了を通知したり、ＳＳＤ１３０に保持されている粒子情報ファイルを解析結果として出力したりする。
【００４２】
図１２は、磁場計算用サーバ１２０の動作を示すフローチャートである。
図１２において、磁場計算用サーバ１２０の磁気相互作用力計算部１２１は、ＳＳＤ１３０にアクセスし、粒子間に作用する磁気相互作用力（図では「磁気力」と記載）の計算に必要なデータが格納されているか否かを調べる（ステップ１２０１）。そして、ＳＳＤ１３０に必要なデータが格納されているならば、そのデータを読み込み（ステップ１２０２）、粒子間に作用する磁気相互作用力を計算する（ステップ１２０３）。データの読み込みは、粒子情報ファイル単位で行っても良いし、磁気相互作用力の計算に必要なデータ（例えば図４のデータ構造における位置座標、磁化等）のみを読み込むようにしても良い。
【００４３】
次に、磁気相互作用力計算部１２１は、ＳＳＤ１３０にアクセスし、算出された磁気相互作用力の計算結果に基づいて該当する粒子の粒子情報ファイルをＳＳＤ１３０に書き込む（ステップ１２０４）。粒子情報ファイルのファイル名には、予め設定された解析処理における計算の繰り返し回数のうち何回目の計算かを示す情報（計算ステップ）が記される。粒子情報ファイルの書き込みは、ステップ１２０１〜１２０３の処理が行われるたびに追加するようにしても良いし、同一の粒子の粒子情報ファイルを上書きするようにしても良い。
【００４４】
磁場計算用サーバ１２０によるステップ１２０１〜１２０４の処理は、解析の内容に応じて実行すべき計算ステップが予め設定されており、自身の計算ステップが設定数に達するまで同処理を繰り返す（ステップ１２０５）。そして、計算ステップが設定数に到達したならば終了する。
【００４５】
以上のような構成とすることにより、本実施形態の解析システムでは、位置計算用サーバ１１０と磁場計算用サーバ１２０とが、ＳＳＤ１３０に出力された粒子情報ファイルを順次読み込んで、それぞれ処理を実行し、処理結果をＳＳＤ１３０に出力すれば良い。すなわち、一方のサーバが全ての粒子についての計算を終了するまで他方のサーバが処理の開始を待つ必要はない。また、位置計算用サーバ１１０および磁場計算用サーバ１２０が、それぞれＳＳＤ１３０に対してデータの読み書きを行うだけで、データの受け渡しが行われるため、これらのサーバ間でデータ通信を行うための同期処理等は必要ない。
【００４６】
＜第３の実施形態＞
図１３は、本発明における第３の実施形態が適用される解析システムの全体構成を示す図である。
図１３に示す本実施形態の解析システムは、粒子の挙動解析のための演算を行うサーバ群であり、粒子の位置を計算する位置計算用サーバ１１０と、粒子に作用する磁場を計算する磁場計算用サーバ１２０と、可視化サーバ２００とを備える。また、少なくとも２つの入出力ポートを持つＳＳＤ１３０およびＳＳＤ３００を備える。そして、位置計算用サーバ１１０と磁場計算用サーバ１２０とはＳＳＤ１３０を介して接続されており、位置計算用サーバ１１０と可視化サーバ２００とはＳＳＤ３００を介して接続されている。すなわち、図１に示した第１の実施形態のシステム構成において、計算サーバ１００に代えて位置計算用サーバ１１０および磁場計算用サーバ１２０を設けた構成となっている。
【００４７】
このように構成された解析システムでは、例えば、位置計算用サーバ１１０および磁場計算用サーバ１２０により粒子の挙動が計算される。そして、図１１のフローチャートに示したステップ１１１１の終了処理で、ＳＳＤ１３０に保持されている粒子情報ファイルがＳＳＤ３００に出力される。可視化サーバ２００は、ＳＳＤ３００に出力された粒子情報ファイルを読み込んで、可視化処理を実行する。
【００４８】
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、上記の第２、第３の実施形態では、粒子の挙動を解析するサーバとして位置計算用サーバ１１０と磁場計算用サーバ１２０を備える構成としたが、磁場計算用サーバ１２０に代えて、あるいはこれらに加えて電場計算用サーバを備える構成としても良い。上述した電子写真方式の画像形成装置で用いられる画像形成材は、キャリアが磁場によって影響を受けることを述べたが、トナーは電荷を持つため静電気力の影響を受ける。そのため、トナーの挙動を解析する場合には、静電気力を計算する必要がある。そこで、この静電気力を計算するための電場計算用サーバを設けた場合に、複数の入出力ポートを持つＳＳＤを介して位置計算用サーバ１１０に接続する構成が考えられる。
【００４９】
また、上記の第２、第３の実施形態では、位置計算用サーバ１１０が粒子間の接触力および粒子の位置を計算することとしたが、さらに粒子間の接触力を計算するサーバと粒子の位置を計算するサーバとに分けて構成しても良い。すなわち、粒子に作用する力を計算するためのサーバと計算された力に基づいて粒子の位置を計算するサーバとは、物理的に同一のハードウェアで構成されても、異なるハードウェアで構成されても良く、様々なハードウェア構成を採り得る。
【００５０】
さらに本発明は、一般に、データに相関がある複数の計算手段に適用することができる。例えば、有限要素法解析を行う解析サーバと有限要素モデルのメッシングを行うモデリングサーバとを、複数の入出力ポートを持つＳＳＤを介して接続する構成等も考えられる。その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５１】
【図１】本発明における第１の実施形態が適用される解析システムの全体構成を示す図である。
【図２】本実施形態の計算サーバおよび可視化サーバを実現するコンピュータのハードウェア構成例を示す図である。
【図３】本実施形態の計算サーバの機能構成を示す図である。
【図４】本実施形態で用いられる粒子情報ファイルのデータ構造の例を示す図である。
【図５】本実施形態の可視化サーバの機能構成を示す図である。
【図６】本実施形態のＳＳＤの構成を示す図である。
【図７】本実施形態の計算サーバおよび可視化サーバの動作を示すフローチャートである。
【図８】本発明における第２の実施形態が適用される解析システムの全体構成を示す図である。
【図９】本実施形態の位置計算用サーバの機能構成を示す図である。
【図１０】本実施形態の磁場計算用サーバの機能構成を示す図である。
【図１１】本実施形態の位置計算用サーバの動作を示すフローチャートである。
【図１２】本実施形態の磁場計算用サーバの動作を示すフローチャートである。
【図１３】本発明における第３の実施形態が適用される解析システムの全体構成を示す図である。
【符号の説明】
【００５２】
１００…計算サーバ、１０１…演算部、１０２、１１４、１２２、２０１…ＳＳＤドライバ、１１０…位置計算用サーバ、１１１…接触力計算部、１１２…磁気相互作用力取得部、１１３…位置座標計算部、１２０…磁場計算用サーバ、１２１…磁気相互作用力計算部、１３０、３００…ＳＳＤ（Solid State Drive）、２００…可視化サーバ、２０２…可視化処理部
【図１】
2009294762.tif 000003
【図２】
2009294762.tif 000004
【図３】
2009294762.tif 000005
【図４】
2009294762.tif 000006
【図５】
2009294762.tif 000007
【図６】
2009294762.tif 000008
【図７】
2009294762.tif 000009
【図８】
2009294762.tif 000010
【図９】
2009294762.tif 000011
【図１０】
2009294762.tif 000012
【図１１】
2009294762.tif 000013
【図１２】
2009294762.tif 000014
【図１３】
2009294762.tif 000015