(57)【要約】 【課題】  コンピュータ同士をネットワークで接続し、リソーセスを有効活用するグリッドコンピューティングシステムにおいて、ユーザにグリッドコンピューティングの動作を気付かせない技術を提供する。【解決手段】  コンピュータに、エミュレータ上で動作する動作プログラムの表示画面を隠蔽する機能を実現させるプログラムとし、さらに、コンピュータ上で動作する端末ＯＳが起動された場合に起動されるように設定されているプログラムであることが好ましい。【選択図】  図９
2005250597.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
ユーザに使用されるプログラムを動作させる機能、
グリッドコンピューティングに使用されるプログラムを動作させる機能、
前記ユーザに使用されるプログラムを動作させる機能と前記グリッドコンピューティングに使用されるプログラムを動作させる機能とを前記コンピュータに並存させる機能、及び、
前記並存させる機能により表示される表示画面を隠蔽させる機能を実現させるためのプログラム。
【請求項２】
前記ユーザに使用されるプログラムを動作させる機能が起動された場合に、前記隠蔽させる機能が起動されるように設定されている請求項１に記載のプログラム。
【請求項３】
コンピュータに、
エミュレータを起動するエミュレータ起動プログラム及び該エミュレータ起動プログラム上で動作するプログラム、以外のプログラムであって、該コンピュータ上で動作する端末オペレーティングシステム上で動作する動作プログラムの優先度を監視させる機能、
前記エミュレータ起動プログラムの優先度と前記動作プログラムの優先度とを比較する機能、及び、
前記比較の結果、前記エミュレータ起動プログラムよりも優先度が低い前記動作プログラムがある場合に、該動作プログラムの優先度を、前記エミュレータ起動プログラムの優先度よりも高くする機能を実現させるためのプログラム。
【請求項４】
ユーザに使用されるプログラムを動作させるための端末オペレーティングシステムと、
該端末オペレーティングシステム上で動作する、グリッドコンピューティングに使用されるプログラムを動作させるソルバオペレーティングシステムとが動作するコンピュータであって、
前記端末オペレーティングシステムに使用される第１のネットワークインタフェースカードと、
前記ソルバオペレーティングシステムに使用される第２のネットワークインタフェースカードとを備えるコンピュータ。
【請求項５】
コンピュータに、
該コンピュータ上で動作する端末オペレーティングシステムの終了処理の開始が指示された場合に、前記端末オペレーティングシステム上で動作するソルバオペレーティングシステム上で動作する動作プログラムにおいて実行中のジョブがあるか否かを監視する機能、
前記監視の結果、実行中のジョブが無い場合に、前記ソルバオペレーティングシステムの終了処理を開始する機能、及び、
前記ソルバオペレーティングシステムの終了処理が終了した後に、前記端末オペレーティングシステムの終了処理を行なう機能を実現させるためのプログラム。
【請求項６】
前記端末オペレーティングシステムの終了処理の開始が指示されてから終了処理が完了するまでの待ち時間が無制限に設定されている請求項５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グリッドコンピューティングシステムに適用されるプログラム及びコンピュータに関する。
【背景技術】
【０００２】
従来、コンピュータを用いて種々の計算を行うシステムが提案されている。例えば、製品を開発する場合のエンジニアリングをコンピュータで支援するシステムとしてＣｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ（以下、ＣＡＥと記す。）がある。このＣＡＥについて図２１を参照して説明する。図２１は、従来の専用計算サーバを使用してＣＡＥの解析計算を行う手法の概略図である。図２１に示されるように、従来、ＣＡＥの解析計算はユーザ端末２１０１のジョブ投入要求に基づいて少なくとも１以上の専用計算サーバ２１０２で行われていた。
【０００３】
一方、ユーザ端末（ＰＣ（パソコン））や専用計算サーバで使用されるＣＰＵはムーアの法則により、１８ヶ月でＣＰＵの集積度が２倍になる（１８ヶ月でＣＰＵの能力が約２倍になる）とされている（図２２の（ａ））。図２２は、ムーアの法則を説明する概念図である。これにより、１年半後には専用計算サーバのＣＰＵと同程度のＣＰＵを搭載したＰＣ又はＰＣクラスタが登場することになる（図２２の（ｂ）参照）。ここで、ＰＣクラスタとは、単一のオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：以下、単にＯＳと記す。）のＰＣを複数連結した構造のものである。このＰＣクラスタとして、一般にラックにブレード型（薄型）のＰＣを多く搭載した形で市販されている。このように、現在では、高性能なＣＰＵを搭載したＰＣが大量に導入されている。
【０００４】
このように、個々のＰＣの性能が向上したことから、これらＰＣによりグリッドコンピューティングを実現することが提案されている。グリッドコンピューティングとは、分散しているＰＣ同士をネットワークで接続し、リソーセスを有効活用する技術である。そして、グリッドコンピューティングシステムとは、このようなグリッドコンピューティングを行うシステムのことをいう。そして、各ＰＣにグリッドコンピューティングの技術を適用することで、専用計算サーバ並の処理能力を提供することができる。さらに、専用計算サーバは、一旦購入すると、数年は使わざるを得ない。これに対して、ＰＣは年々性能が向上すると共に、使用されているＰＣのうちの所定の割合のＰＣは、毎年、性能が向上した機種のＰＣに変更されるのが通常である。したがって、ＰＣを使用したグリッドコンピューティングシステムは、所定の割合のＰＣの性能が毎年向上するシステムとなり、使用されている専用計算サーバよりも能力が高いシステムとすることができる。
【特許文献１】特開平６−２４４２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、従来の技術を用いてグリッドコンピューティングシステムを構築した場合の問題点について図２３を参照して説明する。図２３は、従来の技術を用いて構築したグリッドコンピューティングシステムの概略図である。
【０００６】
図２３に示されるグリッドコンピューティングシステムは、グリッドコンピューティングシステムへの適用を検討するマシン（以下、グリッド検討用マシンと記す。）２３０１と、ジョブの実行のみを行うマシンである共有マシン２３０２と、グリッド検討用マシン
２３０３とを備える。
【０００７】
グリッド検討用マシン２３０１とグリッド検討用マシン２３０３との仕様は、ＣＰＵがＸｅｏｎ（米国  インテル（登録商標）社）２．８ＧＨｚ×２ＣＰＵ、メモリが２ＧＢ、端末ＯＳがＷｉｎｄｏｗｓ（登録商標、米国  マイクロソフト（登録商標）社）２０００（ＳＰ３（Ｓｅｒｖｉｃｅ  Ｐａｃｋ  ３：Ｗｉｎｄｏｗｓ（登録商標）２０００に対して３番目のサービスパック（アップデート）を適用したもの。））である。また、共有マシン２３０２の仕様は、ＣＰＵがＸｅｏｎ２．０ＧＨｚ×２ＣＰＵ、メモリが２ＧＢ、端末ＯＳがＷｉｎｄｏｗｓ（登録商標）２０００（ＳＰ３）である。また、エミュレータであるＶＭｗａｒｅ（登録商標、米国  ＶＭｗａｒｅ（登録商標）社）の仕様は、メモリが１ＧＢ（＋Ｓｗａｐ１ＧＢ）、ソルバＯＳがＲｅｄＨａｔ（登録商標、米国  レッドハット社）  Ｌｉｎｕｘ（登録商標）  ７．２である。端末ＯＳとは、ユーザが使用するユーザ端末又はＰＣにおいてユーザが使用するＯＳである。ソルバＯＳとは、ユーザが使用するユーザ端末又はＰＣにおいて、グリッドコンピューティングにおける処理に使用されるＯＳである。また、ソルバとは、解析用のプログラムであって、実際に計算を行うプログラムである。
【０００８】
以上の仕様によりグリッドコンピューティングシステムを構築すると、以下の問題点が発生した。
（１）ＶＭｗａｒｅ（登録商標）が使用できる物理メモリが１ＧＢまでしか確保できない。そして、物理メモリの１ＧＢ及びＨＤＤにあるスワップ領域の０．８ＧＢ以上とを合わせて、ＶＭｗａｒｅ（登録商標）（ＶＭｗａｒｅ（登録商標）上で動くＬｉｎｕｘ（登録商標）も含めて）がＷｉｎｄｏｗｓ（登録商標）のメモリを１．８ＧＢ以上使用すると、ＶＭｗａｒｅ（登録商標）がハングアップする。なお、ＶＭｗａｒｅ（登録商標）が使用できる物理メモリが１ＧＢまでしか確保できないのは図２３で説明するＶＭｗａｒｅ（登録商標）という商品が持っている制限である。ただし、ＶＭｗａｒｅ（登録商標）にも色々な製品ラインがあり、製品によっては１ＧＢ以上のメモリを確保できるものもある（ただし高額商品となる。）。
【０００９】
また、上記１．８ＧＢという数字は実験で確認した値である。ただし、厳密に１．８ＧＢと決まった値ではない。Ｗｉｎｄｏｗｓ（登録商標）が大体２００ＭＢ程度を使用しており、残りの１．８ＧＢを使い切るとそれ以上はとれないようである。
【００１０】
（２）ＶＭｗａｒｅ（登録商標）にはウィンドウを消すオプションがない。そのため、ユーザにグリッドコンピューティングが行われていることを気付かれてしまう。
（３）ネットワークカードが１枚のため、ＶＭｗａｒｅ（登録商標）のネットワーク接続がＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）になってしまう。すなわち、ＮＡＴ接続では、後述するＬＳＦ（Ｌｏａｄ  Ｓｈａｒｉｎｇ  Ｆａｃｉｌｉｔｙ、カナダ、プラットフォームコンピューティング社）でジョブ投入、並列計算ができない。ここで、ＮＡＴは、Ｗｉｎｄｏｗｓ（登録商標）とＶＭｗａｒｅ（登録商標）を介したＬｉｎｕｘ（登録商標）が同時に１枚のネットワークカードからネットワークを使えるようにするためにＶＭｗａｒｅ（登録商標）が持っている仕組みをいう。つまり、ＶＭｗａｒｅ（登録商標）がＮＡＴ技術を実装している。
（４）ユーザがＷｉｎｄｏｗｓ（登録商標）の終了処理を行なうと、ＶＭｗａｒｅ（登録商標）上で動作しているＬｉｎｕｘ（登録商標）の動作が停止してしまう。
【００１１】
ここで、上記問題点（３）についてさらに詳細に説明する。既存のマシンで、ＶＭｗａｒｅ（登録商標）上のソルバＯＳからネットワークを利用するためには、ＮＡＴを使用して、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を端末ＯＳとソルバＯＳとで共有することでネットワーク接続を行う。しかし、ＮＡＴ接続でグリッドコンピュー
ティングを行おうとすると、外部の端末がネットワーク接続を行う場合に、その接続が拒絶されてしまう。このＮＡＴを用いるネットワークで問題となる点について図２４及び図２５を参照して説明する。図２４は、従来のシステムにおいてＮＡＴを用いたネットワーク接続を示す概念図であり、図２５は、従来のシステムにおいてＮＡＴを用いるネットワークで問題となる点を示す概念図である。
【００１２】
図２４に示されるように、グリッド検討用マシン２４０１には、端末ＯＳ２４０２としてのＷｉｎｄｏｗｓ（登録商標）２０００を備える。また、グリッド検討用マシン２４０１は、端末ＯＳ２４０２上で動作する、エミュレータ上のソルバＯＳ２４０３としてのＬｉｎｕｘ（登録商標）と、仮想ＮＩＣ２４０４と、バーチャルスイッチ２４０５と、ＮＩＣ２４０６とを備える。
【００１３】
まず、上記仮想ＮＩＣ２４０４について説明する。エミュレータとしてのＶＭｗａｒｅ（登録商標）上で動作するソルバＯＳ２４０３は直接ＮＩＣ（ネットワークインタフェースカード）にアクセスするわけではなく、ＶＭｗａｒｅ（登録商標）が準備した仮想ＮＩＣ２４０４にアクセスする。
ここで、アクセスするとは、ソルバＯＳ２４０３が、外部のコンピュータと通信を行うことを意味する。
ＶＭｗａｒｅ（登録商標）は、仮想ＮＩＣ２４０４へのアクセスがあると、そのアクセスを受け取って解釈し、相当する命令をＷｉｎｄｏｗｓ（登録商標）に渡すようになっている。しかし、ＶＭｗａｒｅ（登録商標）上のソルバＯＳからみるとＮＩＣにアクセスしているようにみえる。つまり、ソルバＯＳがネットワークを使用して外部のコンピュータと通信しているようにみえる。これを抽象化して仮想ＮＩＣと呼んでいる。
【００１４】
次に、上記バーチャルスイッチ２４０５について説明する。バーチャルスイッチ２４０５は、上述のＶＭｗａｒｅ（登録商標）による、「仮想ＮＩＣ２４０４へのアクセスがあると、そのアクセスを受け取って解釈し、相当する命令をＷｉｎｄｏｗｓ（登録商標）に渡す」機能を実現したソフトウェア（実際にはＶＭｗａｒｅ（登録商標）の一部）である。
【００１５】
そして、図２５に示されるように、ＮＡＴを使用するとエミュレータであるＶＭｗａｒｅ（登録商標）上のソルバＯＳであるＬｉｎｕｘ（登録商標）が先にポートに接続して待機する。このポートは、ソフトウェアのインタフェースを意味し、外部のコンピュータと通信するための窓口としての意味を有する。また、ポートに接続して待機するとは、ポート番号を指定して、ＯＳに対して、そのポート番号で通信待ちをしていることを伝えるという意味である。このため、外部のグリッド検討用マシン２５０２からグリッド検討用マシン２５０１にアクセスしようとすると、外部のグリッド検討用マシン２５０２はポートが使用中であると勘違いする。
【００１６】
なお、ポートが使用中であることは、そのプログラムが、そのポートに通信を行うと、接続に失敗したことが、ＯＳから通信されることにより判明する。また、ポートが使用中であることはＴＣＰプロトコルにより判明する。
【００１７】
また、外部のグリッド検討用マシン２５０２が勘違いしている状態とは、ポートが使用中なので使えず、通信ができない状態を意味する。また、本当はポートを使用をしていない勘違いとは、ポート番号を使用していないにもかかわらず、ポート番号を占有している場合をいう。ＮＡＴはポート番号を使用中でなくても、ポート番号を占有してしまう。したがって、図２５に示される技術ではＮＡＴを使用する限り、グリッドコンピューティングにおいて、外部のマシンからのネットワーク接続を行うことができない。
【００１８】
すなわち、一般に、ネットワークを利用してコンピュータ同士を接続する場合、ポート番号と呼ばれる番号を利用して相手のコンピュータと接続する。コンピュータＡからコンピュータＢにネットワークで接続するためには、まずコンピュータＢが特定のポート番号で待ち状態に入る。次にコンピュータＡからそのポート番号を使ってコンピュータＢに接続要求を出すとコンピュータＢは待っていたポート番号に接続要求がくるので、それに対して返事をする形で通信が始まる。このポート番号は、ＴＣＰのポート番号である。
【００１９】
ＮＡＴの場合、ＶＭｗａｒｅ（登録商標）上のソルバＯＳ（Ｌｉｎｕｘ（登録商標））がどういうポート番号を使うかを最初にＷｉｎｄｏｗｓ（登録商標）に対して宣言して、Ｗｉｎｄｏｗｓ（登録商標）がＬｉｎｕｘ（登録商標）の代わりにそのポート番号を占有する（待ち状態ではなく占有である。）。そしてそのポート番号を使ってＬｉｎｕｘ（登録商標）が接続をする際にはＷｉｎｄｏｗｓ（登録商標）が仲立ちをしてＬｉｎｕｘ（登録商標）からの接続要求を外部に流してやるようになっている。
【００２０】
これがＮＡＴの仕組みであり、逆にいうと、Ｌｉｎｕｘ（登録商標）が使うと宣言したポート番号はＷｉｎｄｏｗｓ（登録商標）側では使えなくなる。同様に外部から上述のポート番号宛てに接続要求がきた場合はＷｉｎｄｏｗｓ（登録商標）がそのポート番号を占有している（待ち状態ではない）ので、接続できないことになる。要は、ＮＡＴはＬｉｎｕｘ（登録商標）から外部に接続する場合の手段を提供しているだけで、逆の手段は提供していないことになる。
以上の理由でＮＡＴではＬｉｎｕｘ（登録商標）に外部のマシンからは接続できない。よって、図２５に示されるように、グリッド検討用マシン２５０２からのＬＳＦによるグリッド検討用マシン２５０１へのジョブ投入（外部からＬｉｎｕｘ（登録商標）への接続を伴う）ができないことになる。
【００２１】
以上から、グリッドコンピューティングシステムに必要な機能として以下の３点を挙げることができる。
（１）ユーザにグリッドコンピューティングシステムの動作を気付かせない仕組み。
この仕組みのため、まず、ユーザが自己のＰＣで使用するＯＳと、解析プログラムなどを行うソルバを実行するＯＳとが共存し、かつ各々が独立して稼動する必要がある。
この機能は、例えばＶＭｗａｒｅ（登録商標）などのエミュレータを用いることで実現できる。すなわち、エミュレータを使用することで、解析ソルバ用ＯＳが端末ＯＳ上で動作することができる。
また、上記の共存とは、ユーザが端末使用中に、解析ソルバが実行できることをいい、技術的には端末ＯＳとソルバＯＳが同時に１台のマシンで動くことで実現される。
そして、グリッドコンピューティングを行っているとユーザに気付かれると、ユーザは「邪魔だから止めよう」とする。そのため、ユーザからグリッドコンピューティングを隠蔽する必要がある。
【００２２】
また、グリッドコンピューティングシステムでは、計算結果を盗み見たり、プログラムを改変して、わざと不正な計算結果を送り出すような悪意（若しくは不注意で操作してしまう）のユーザが存在しても、問題が発生してはならない。
そのため、本発明では、端末ＯＳとソルバＯＳとを用意し、ユーザにグリッドコンピューティングシステムの処理を気付かせないようにして、ユーザにソルバＯＳ上で動作するソルバなどのプログラムを操作できないようにする仕組みとした。
【００２３】
つまり、ユーザがプログラムを操作できると、ソルバなどのプログラムの停止・データの改竄・不正入手が可能になってしまう。そのため、本発明では、ユーザがプログラムを操作できないようにする。
【００２４】
（２）並列処理を始め、ＰＣクラスタと同等の機能を確保すること。
グリッドコンピューティングシステムでは、ＰＣクラスタと同等の解析ジョブの投入、並列処理、解析データの管理を行なえる必要がある。なお、ＰＣクラスタでの解析ジョブ投入、並列処理、解析データの管理についてはソフトウェアの作り方によってどのようなものでも実現可能である。
そして、ＰＣクラスタで動作するソフトウェアは改変することなくそのままの形でグリッドコンピュータ上で動く必要がある。
今回の場合、ＰＣクラスタで動作するソフトウェアであるＬＳＦをグリッドコンピュータ上で動かしたところ、ネットワークに問題が見つかり、後述する図１２に示されるようなやり方でこの問題点を回避し、ＬＳＦがそのままの形でグリッドコンピュータ上で動くことを実現している。
【００２５】
（３）ユーザの処理終了に耐え得る仕組みを実装すること。
デスクトップパソコンであれば、計算処理中にいきなりシャットダウンされる可能性も十分にある。この場合グリッドコンピューティングでの計算中のデータがなくなってしまう場合がある。そこで、本発明では、計算が終了するまでシャットダウンできない仕組みを実装する必要がある。
【００２６】
以上の点に鑑み、本発明の目的は、コンピュータ同士をネットワークで接続し、リソーセスを有効活用するグリッドコンピューティングシステムにおいて、ユーザにグリッドコンピューティングの動作を気付かせない技術を提供することにある。
【００２７】
また、本発明のさらなる目的は、コンピュータ同士をネットワークで接続し、リソーセスを有効活用するグリッドコンピューティングシステムにおいて、並列処理を始め、ＰＣクラスタと同等の機能を確保する技術を提供することにある。
【００２８】
また、本発明のさらなる目的は、コンピュータ同士をネットワークで接続し、リソーセスを有効活用するグリッドコンピューティングシステムにおいて、ユーザの処理終了に耐え得る技術を提供することにある。
【課題を解決するための手段】
【００２９】
上記目的を達成するため、本発明のプログラムは、
コンピュータに、
ユーザに使用されるプログラムを動作させる機能、
グリッドコンピューティングに使用されるプログラムを動作させる機能、
前記ユーザに使用されるプログラムを動作させる機能と前記グリッドコンピューティングに使用されるプログラムを動作させる機能とを前記コンピュータに並存させる機能、及び、
前記並存させる機能により表示される表示画面を隠蔽させる機能を実現させる。
【００３０】
また、本発明のプログラムは、
前記ユーザに使用されるプログラムを動作させる機能が起動された場合に、前記隠蔽させる機能が起動されるように設定されている。
【００３１】
また、本発明のプログラムは、
コンピュータに、
エミュレータを起動するエミュレータ起動プログラム及び該エミュレータ起動プログラム上で動作するプログラム、以外のプログラムであって、該コンピュータ上で動作する端末オペレーティングシステム上で動作する動作プログラムの優先度を監視させる機能、
前記エミュレータ起動プログラムの優先度と前記動作プログラムの優先度とを比較する
機能、及び、
前記比較の結果、前記エミュレータ起動プログラムよりも優先度が低い前記動作プログラムがある場合に、該動作プログラムの優先度を、前記エミュレータ起動プログラムの優先度よりも高くする機能を実現させる。
【００３２】
また、本発明のコンピュータは、
ユーザに使用されるプログラムを動作させるための端末オペレーティングシステムと、
該端末オペレーティングシステム上で動作する、グリッドコンピューティングに使用されるプログラムを動作させるソルバオペレーティングシステムとが動作するコンピュータであって、
前記端末オペレーティングシステムに使用される第１のネットワークインタフェースカードと、
前記ソルバオペレーティングシステムに使用される第２のネットワークインタフェースカードとを備える。
【００３３】
また、本発明のプログラムは、
コンピュータに、
該コンピュータ上で動作する端末オペレーティングシステムの終了処理の開始が指示された場合に、前記端末オペレーティングシステム上で動作するソルバオペレーティングシステム上で動作する動作プログラムにおいて実行中のジョブがあるか否かを監視する機能、
前記監視の結果、実行中のジョブが無い場合に、前記ソルバオペレーティングシステムの終了処理を開始する機能、及び、
前記ソルバオペレーティングシステムの終了処理が終了した後に、前記端末オペレーティングシステムの終了処理を行なう機能を実現させる。
【００３４】
また、本発明のプログラムは、
前記端末オペレーティングシステムの終了処理の開始が指示されてから終了処理が完了するまでの待ち時間が無制限に設定されている。
【００３５】
ここで、エミュレータの設定により、第２のネットワークインタフェースカードはソルバオペレーティングシステムを専有する。そのため、ソルバオペレーティングシステムは、端末オペレーティングシステムと無関係に第２のネットワークインタフェースカードを使用することができる。
【００３６】
また、端末オペレーティングシステムは第１のネットワークインタフェースカードを使用して、外部のコンピュータと通信する。ソルバオペレーティングシステムはエミュレータが専有している第２のネットワークインタフェースカードを使用して、外部のコンピュータと通信する。
【発明の効果】
【００３７】
このように、本発明では、並存させる機能により表示される表示画面を隠蔽させているため、ユーザに自己のコンピュータでグリッドコンピューティングが行われていることを気付かせないことができる。
【００３８】
また、本発明では、ユーザに使用されるプログラムを動作させる機能が起動された場合に、隠蔽させる機能が起動されるように設定されていることから、ユーザによる操作がなくても、ユーザに自己のコンピュータでグリッドコンピューティングが行われていることを気付かせないことができる。
【００３９】
また、本発明では、コンピュータに、エミュレータを起動するエミュレータ起動プログラム及びこのエミュレータ起動プログラム上で動作するプログラム、以外のプログラムであって、このコンピュータ上で動作する端末オペレーティングシステム上で動作する動作プログラムの優先度を監視させる機能、エミュレータ起動プログラムの優先度と動作プログラムの優先度とを比較する機能、及び、比較の結果、エミュレータ起動プログラムよりも優先度が低い動作プログラムがある場合に、この動作プログラムの優先度を、エミュレータ起動プログラムの優先度よりも高くする機能を実現させることにより、ユーザが使用する動作プログラムの優先度がエミュレータ起動プログラムよりも高くなり、ユーザに自己のコンピュータでグリッドコンピューティングが行われていることを気付かせないことができる。
【００４０】
また、本発明では、コンピュータが、端末オペレーティングシステムに使用される第１のネットワークインタフェースカードと、ソルバオペレーティングシステムに使用される第２のネットワークインタフェースカードとを備えることにより、端末オペレーティングシステムもソルバオペレーティングシステムも外部と通信を行うことができ、コンピュータに端末オペレーティングシステムとソルバオペレーティングシステムとの２つのオペレーティングシステムが搭載されている場合であっても、並列処理を始め、ＰＣクラスタと同等の機能を確保することができる。
【００４１】
また、本発明では、コンピュータに、このコンピュータ上で動作する端末オペレーティングシステムの終了処理の開始が指示された場合に、端末オペレーティングシステム上で動作するソルバオペレーティングシステム上で動作する動作プログラムにおいて実行中のジョブがあるか否かを監視する機能、監視の結果、実行中のジョブが無い場合に、ソルバオペレーティングシステムの終了処理を開始する機能、及び、ソルバオペレーティングシステムの終了処理が終了した後に、端末オペレーティングシステムの終了処理を行なう機能を実現させる。
【００４２】
さらに、本発明では、端末オペレーティングシステムの終了処理の開始が指示されてから終了処理が完了するまでの待ち時間が無制限に設定される場合もある。
【００４３】
これらのため、本発明では、ユーザが終了処理を行った場合であってもグリッドコンピューティングによる計算が途中で終了することなく、ユーザの処理終了に耐え得る技術を提供することができる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムについて図面を参照して説明する。以下の実施形態の構成は例示であり、本発明は以下の実施形態の構成に限定されない。
＜グリッドコンピューティングシステムの構成＞
まず、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムの構成について図１を参照して説明する。図１は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムの構成の概略図である。
【００４５】
図１に示されるように、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムは、ジョブを投入する少なくとも１以上のユーザ端末１０１と、負荷の低いマシンを選択しジョブ投入を行う少なくとも１以上のグリッド用サーバ１０２と、ジョブを実行する少なくとも１以上のＰＣ１０３とを備える。
【００４６】
なお、ジョブを投入するユーザ端末１０１とジョブを実行するＰＣ１０３とは兼用する
ことができる。また、ジョブを実行するＰＣ１０３は、例えば複数のビル１０４内に分かれて存在するとしても良い。
【００４７】
図１に示されるようなグリッドコンピューティングシステムシステムでは、（１）既に導入済みのＰＣのＣＰＵパワーを借りるだけであるため、コストが低くなり、（２）通常はユーザがＰＣで自分で作業をしているため、稼働率が高くなる。
【００４８】
＜グリッドコンピューティングソフトウェア＞
次に、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムを実現するためのグリッドコンピューティングソフトウェアについて図２と図３とを参照して説明する。図２は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムで使用されるジョブ管理ツールを説明するための概念図であり、図３は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムで使用されるエミュレータの動作を説明するための概念図である。
【００４９】
・ジョブ管理ツールとしてのＬＳＦ
ジョブ管理ツールとしてのＬＳＦは、コンピュータの負荷をスケジューリング、監視、分析するためリソーセス管理ツールである。このＬＳＦを使用して、複数のコンピュータのリソーセスを効率的に管理できる。このＬＳＦは、例えば図２に示される、グリッド用サーバ２０１、ユーザ端末２０２及びＰＣ２０３のそれぞれにおいて実行される。
【００５０】
ＬＳＦは以下３点の基本機能を持つ（図２）。
（１）グリッド用サーバ２０１による、ユーザ端末２０２、ＰＣ２０３からの情報収集機能（ＣＰＵ負荷、メモリ量など）。
（２）ユーザ端末２０２からのジョブ投入要求の受け付け機能。
（３）グリッド用サーバ２０１からの負荷の最適なＰＣ２０３へのジョブの投入機能。
グリッドコンピューティングシステムでは、この３点の基本機能を使用してジョブ投入システムを構築する。
【００５１】
・エミュレータとしてのＶＭｗａｒｅ（登録商標）
次に、本実施形態において使用されるエミュレータとしてのＶＭｗａｒｅ（登録商標）について図３を参照して説明する。図３は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、エミュレータの機能を示す図である。
【００５２】
エミュレータとしてのＶＭｗａｒｅ（登録商標）は、仮想マシンをソフトウェアで提供するツールである。図３に示されるように、ユーザ端末やＰＣの画面上には、端末ＯＳ上で動作するアプリケーションの画面３０１と、エミュレータ上のソルバＯＳの画面３０２とが表示されている。
【００５３】
このように、エミュレータであるＶＭｗａｒｅ（登録商標）を用いると、１台のユーザ端末やＰＣで複数のＯＳを動作させることができる。ただし、本実施形態では、図３に示される画面とは異なり、後述のように、ソルバＯＳの画面３０２は隠蔽するようにしている。このＶＭｗａｒｅ（登録商標）により、Ｌｉｎｕｘ（登録商標）及び例えばＣＡＥ（ｃｏｍｐｕｔｅｒ  ａｉｄｅｄ  ａｎｇｉｎｅｅｒｉｎｇ）のソルバによる仮想マシンと、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）とを隔離して１つの端末上で動作させることができる。ここで、隔離とは、仮想マシンが動作していることをユーザが全く気付かない状態のことを意味する。
【００５４】
また、後述のように、本実施形態では、Ｗｉｎｄｏｗｓ（登録商標）からはＬｉｎｕｘ（登録商標）上のプログラムの実行状態やデータを参照できないようにするので、セキュリティを確保することができる。
【００５５】
ここで、参照できないようにするとは、動作プログラムの画面表示を隠蔽することを意味する。この隠蔽処理で、ユーザは動作プログラムの実行状態やデータを参照することができなくなる。
【００５６】
なお、本実施形態のグリッドコンピューティングシステムでは、以下の２点の理由から、エミュレータに搭載するＯＳとしてＬｉｎｕｘ（登録商標）を採用した。
（１）動作が安定しているＯＳである。
（２）元々、ＣＡＥソルバはＵＮＩＸ（登録商標）用が多く、Ｌｉｎｕｘ（登録商標）もＵＮＩＸ（登録商標）の派生なので、対応ソルバの数が多い。なお、ソルバとは、解析（ＣＡＥ）を行うプログラムのことを意味する。
【００５７】
＜ユーザにグリッドコンピューティングシステムの動作を気付かせない仕組みについて＞
（端末ＯＳとソルバＯＳとが共存し、かつ各々のＯＳが独立して稼動する動作について）
前述のように、グリッドコンピューティングシステムでは、計算結果を盗み見たり、プログラムを改変して、わざと不正な計算結果を送り出すような悪意（若しくは不注意で操作してしまう）のユーザが存在しても、問題が発生してはならない。そのため、本実施形態では、例えばＶＭｗａｒｅ（登録商標）のようなエミュレータを用いて、端末ＯＳとソルバＯＳとの２つのＯＳをユーザ端末やＰＣに動作可能とした。
【００５８】
すなわち、本実施形態では、図４に示されるように、端末ＯＳ上に解析ソフトや解析データが搭載された従来例のシステム４０１を改善して、端末ＯＳ上にソルバＯＳを搭載し、このソルバＯＳ上に解析ソフトや解析データを搭載したシステム４０２とした。図４は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、端末ＯＳとソルバＯＳとが共存し、かつ各々のＯＳが独立して稼動する場合の概念図である。そして、後述するように、エミュレータ起動プログラムを端末ＯＳが起動した際に起動するように設定し、ソルバＯＳ上のプログラムにより表示される画面を隠蔽し、端末ＯＳ上で動作するプログラムの優先度を監視しエミュレータ起動プログラムの優先度を相対的に低くすることにより、端末ＯＳを操作するユーザによるデータ改竄や不正入手を防いでいる。
【００５９】
すなわち、動作プログラムが画面に表示されている場合、ユーザはデータ改竄・不正入手を行うことができる。そのため、本実施形態では、動作プログラムの画面表示を隠蔽し、ユーザの操作（データ改竄・不正入手）を出来なくする。
【００６０】
（プログラムの構成）
ここで、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザ端末及びＰＣ上のプログラムの構成について図５を参照して説明する。図５は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザ端末及びＰＣ上のプログラムの構成の概念図である。
【００６１】
図５に示されるように、本実施形態のプログラムの構成は、Ｗｉｎｄｏｗｓ（登録商標）による端末ＯＳ５０１上において、エミュレータ起動プログラム５０２と、アプリケーションＡ５０６と、アプリケーションＢ５０７と、優先度監視プログラム５０８とが動作する構成となっている。エミュレータ起動プログラム５０２は、後述するように、ユーザ
端末又はＰＣが起動された場合に自動で起動されるプログラムであり、エミュレータ５０３を起動させるプログラムのことである。
【００６２】
なお、端末ＯＳ５０１上で動作するアプリケーションとしては２つに限定されるものではない。また、アプリケーションＡ５０６としては、例えばマイクロソフト（登録商標）社のＷＯＲＤを挙げることができ、アプリケーションＢ５０７としては、例えばマイクロソフト（登録商標）社のＥｘｃｅｌを挙げることができる。
【００６３】
また、エミュレータ起動プログラム５０２上において、ＶＭｗａｒｅ（登録商標）によるエミュレータ５０３と、Ｌｉｎｕｘ（登録商標）によるソルバＯＳ５０４と、解析ソルバプログラム５０５とが動作する構成となっている。このように、本実施形態では１つの端末上に、あたかも２つのＯＳが動作するような構成となっている。
【００６４】
次に、端末ＯＳとソルバＯＳとが共存し、かつ各々のＯＳが独立して駆動する動作について図６を参照してより詳細に説明する。図６は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて、エミュレータのハングアップを回避する処理を示す概念図である。前述の従来技術を説明する図２３と同様に、グリッド検討用マシンの仕様として、ＣＰＵをＸｅｏｎ（米国  インテル（登録商標）社）２．８ＧＨｚ×２ＣＰＵ、メモリを２ＧＢとし、端末ＯＳとしてＷｉｎｄｏｗｓ（登録商標、米国  マイクロソフト（登録商標）社）２０００（ＳＰ３）とし、エミュレータであるＶＭｗａｒｅ（登録商標、米国  ＶＭｗａｒｅ（登録商標）社）の仕様として、メモリを１ＧＢ（＋Ｓｗａｐ１ＧＢ）とし、ソルバＯＳをＲｅｄＨａｔ（登録商標、米国  レッドハット社）  Ｌｉｎｕｘ（登録商標）  ７．２とした（図６の（ａ））。
また、エミュレータであるＶＭｗａｒｅ（登録商標、米国  ＶＭｗａｒｅ（登録商標）社）の仕様としてメモリを１ＧＢとするとは、仮想マシン上のソルバＯＳが、端末ＯＳの物理メモリを１ＧＢ分確保するという意味である。
【００６５】
この仕様のシステムでは、エミュレータであるＶＭｗａｒｅ（登録商標）上のソルバＯＳであるＬｉｎｕｘ（登録商標）でのメモリ使用が１．８ＧＢ以上ではハングアップした（図６の（ｂ））。すなわち、ソルバＯＳが物理メモリを１ＧＢ、ＨＤＤのスワップ領域を１ＧＢ確保し、そのうち、物理メモリを１ＧＢ、スワップを０．８ＧＢ以上使用するとハングアップする。
【００６６】
上記ハングアップに対応するため、本実施形態ではシェルでリミットを１．５ＧＢに設定した。すなわち、ソルバＯＳのメモリ使用量を１．５ＧＢに制限した。
また、ｔｃｓｈではリミットの実装にバグがあるため、本実施形態ではｂａｓｈを使用している。すなわち、Ｌｉｎｕｘ（登録商標）でジョブを動かすときに使うプログラムとしてシェルプログラムがある。シェルプログラムには、色々なものがある（ｔｃｓｈやｂａｓｈ）。そして、ｔｃｓｈではリミットがうまく動かないことがわかったので、本実施形態ではｂａｓｈに切り替えている。ここで、このｔｃｓｈのバージョンは６．１０−６である。また、ｂａｓｈのバージョンは、２．０５−８である。
【００６７】
メモリ使用量にリミットを設定したことで、ソルバＯＳがハングアップしなくなったことが確認できた。これにより、実業務でソルバのメモリ使用量によって、エミュレータであるＶＭｗａｒｅ（登録商標）が停止することを回避できる（図６参照）。この設定により、端末ＯＳとソルバＯＳとが共存し、かつ各々のＯＳが独立して駆動させることができる。ここで、上記設定とは、メモリの使用量を１．５ＧＢに制限する設定のことである。
【００６８】
この設定の場合、動作プログラムが１．５ＧＢ以上のメモリ（＋スワップ）を使用すると、ソルバＯＳが動作プログラムを強制的に終了させる。この場合のコマンドは、「ｌｉ
ｍｉｔ  ｍｅｍｏｒｙｕｓｅ  １５／２８６４」である。
【００６９】
次に、図７から図１０を参照して、本実施形態におけるユーザにグリッドコンピューティングシステムの動作を気付かせない仕組みについて説明する。図７は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザにグリッドコンピューティングシステムの動作を気付かせない仕組みの概念図であり、図８は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、エミュレータ起動プログラムの端末ＯＳへのサービス化の設定を示す概略図であり、図９は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、エミュレータのウィンドウをユーザから隠す仕組みの概念図であり、図１０は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、優先度監視プログラムの動作のフローチャートである。
【００７０】
図７に示されるように、従来のシステム７０１では、ユーザは、グリッドコンピューティングシステムが自己のＰＣ上で実行されていると、「何か動いている。邪魔だから止めよう。」とする。しかし、本実施形態のような改善例のシステム７０２では、グリッドコンピューティングシステムは隠蔽されるため、ユーザによって止められることはない。
【００７１】
グリッドコンピューティングシステムを隠蔽する設定の具体例について以下説明する。ユーザにＰＣ上で行われているグリッドコンピューティングを気付かせないために、（１）ＶＭｗａｒｅ（登録商標）起動プログラムのサービス化（コンピュータ起動時に自動的にＶＭｗａｒｅ（登録商標）起動プログラムが起動される）、（２）ＶＭｗａｒｅ（登録商標）の隠蔽化（ユーザにグリッドコンピューティングの画面を見えないようにする）、（３）優先度監視プログラムによるプログラムの監視、を実施する。（２）はプログラムを作成していることで実現しているが、（１）はＷｉｎｄｏｗｓ（登録商標）の設定であり、したがって、グリッドを気付かせない仕組みの全体がプログラムというわけではない。
【００７２】
（ＶＭｗａｒｅ（登録商標）起動プログラムのサービス化）
グリッドコンピューティングシステムをユーザから隠蔽するために、まず、エミュレータであるＶＭｗａｒｅ（登録商標）を起動するためのＶＭｗａｒｅ（登録商標）起動プログラムのＷｉｎｄｏｗｓ（登録商標）サービス化をする必要がある。
【００７３】
すなわち、従来の技術では、ユーザのログオフでも、Ｗｉｎｄｏｗｓ（登録商標）がＶＭｗａｒｅ（登録商標）を強制終了させてしまう。そこで、本実施形態では、Ｗｉｎｄｏｗｓ（登録商標）の終了処理を行う場合以外は、強制終了させないように、Ｗｉｎｄｏｗｓ（登録商標）のサービスにＶＭｗａｒｅ起動プログラムの登録を行った。
【００７４】
サービスにすると、ユーザのログオフではＶＭｗａｒｅ（登録商標）は強制終了しないので、効率が良くなった。また、Ｗｉｎｄｏｗｓ（登録商標）が起動されたときにＶＭｗａｒｅ（登録商標）起動プログラムが起動され、このＶＭｗａｒｅ（登録商標）起動プログラムによりＶＭｗａｒｅ（登録商標）が起動されるため、ＶＭｗａｒｅ（登録商標）の起動がユーザのログイン、ログオフには無関係となる。
【００７５】
図８に示されるように、Ｗｉｎｄｏｗｓ（登録商標）サービスへのＶＭｗａｒｅ起動プログラムの登録は、レジストリエディタを使用する。そして、サービスの項目８０１に、ＶＭｗａｒｅ（登録商標）起動プログラムの一部としてのグリッドを気付かせない仕組みの一部である、エミュレータのウィンドウをユーザから隠す仕組みを登録する。ここで、エミュレータのウィンドウをユーザから隠す仕組みとは、動作プログラムの画面を表示し
ないように、ＯＳに指定する仕組みである。
【００７６】
（ＶＭｗａｒｅ（登録商標）の隠蔽化）
次に、ＶＭｗａｒｅ（登録商標）の隠蔽化について図９を参照して説明する。図９は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて、エミュレータであるＶｍｗａｒｅのウィンドウをユーザから隠す仕組みの動作の概念図である。図９に示される画面９０３，９０４及び９０５は、隠されるウィンドウの具体的なイメージを示している。
【００７７】
グリッドコンピューティングシステムを隠蔽するために、エミュレータであるＶＭｗａｒｅ（登録商標）のウィンドウをユーザから隠す仕組みが必要である。そのため、本実施形態では、Ｗｉｎ３２ＡＰＩ関数のＳｈｅｌｌＥｘｅｃｕｔｅＥｘ関数を使用する。この関数はウィンドウを隠しながらソフトを起動できる。
【００７８】
この関数を使用することで、従来のタイプであるエミュレータ９０１であるＶＭｗａｒｅ（登録商標）Ｖｅｒ３．２のウィンドウを隠すことができた（図９の（ａ））。なお、このＷｉｎ３２ＡＰＩ関数のＳｈｅｌｌＥｘｅｃｕｔｅＥｘ関数は、図５に示されるエミュレータ起動プログラム５０２に該当する。
なお、本実施形態では、ＯＳの機能で動作プログラムの表示のＯＮ・ＯＦＦを制御する。このＯＳの機能を使用することで、動作プログラムを隠蔽する。
【００７９】
しかし、新タイプであるエミュレータ９０２であるＶＭｗａｒｅ（登録商標）Ｖｅｒ．４．０から、後述するタブが使用されることになり、ＳｈｅｌｌＥｘｅｃｕｔｅＥｘ関数ではウィンドウを隠せなくなった。すなわち、新タイプでは、タブ機能を使用するために、タブと仮想マシン本体に表示制御プログラムが分かれた。そのため、ＳｈｅｌｌＥｘｅｃｕｔｅ関数で調節操作できるのはタブだけで、仮想マシン本体はタブが操作する。そのため、タブは隠蔽できるが、仮想マシン本体は表示されたままになる。
【００８０】
そのため、ＶＭｗａｒｅ（登録商標）Ｖｅｒ．４．０用では、ＶＭｗａｒｅ（登録商標）のウィンドウハンドルを検索し、タブのウィンドウハンドルとＶＭｗａｒｅ（登録商標）本体のウィンドウハンドルをＷｉｎ３２ＡＰＩ関数のＳｈｏｗＷｉｎｄｏｗ関数で隠す仕様にした（図９の（ｂ））。
【００８１】
ここで、ＳｈｏｗＷｉｎｄｏｗ関数を使用すると、タブが操作する仮想マシン本体の画面隠蔽をＯＳから命令できる。そのため、Ｓｈｏｗｗｉｎｄｏｗ関数では、表示される画面を隠すことができるようになった。
なお、このＷｉｎ３２ＡＰＩ関数のＳｈｏｗＷｉｎｄｏｗ関数は、図５に示されるエミュレータ起動プログラム５０２に該当する。
【００８２】
ここで上記タブについて説明する。Ｗｉｎｄｏｗｓ（登録商標）のプログラムでは新しいファイルを作る際は新しいウィンドウが開き、その上でファイルを編集する形式が普通であり、ファイルを複数開いているときはウィンドウも複数開いていた。しかし、最近では「タブ」という概念が実装され、複数のファイルを開いても１つのウィンドウしか開かないようになってきている。編集するファイルを選択する場合はウィンドウ内で「タブ」と呼ばれるタグ（Ｅｘｃｅｌのブック内でシートを選択する時にクリックする、各シートについているものに似ている）をクリックすることで編集したいファイルを選択するようになっている。
【００８３】
ここで、ウィンドウハンドルについて説明する。Ｗｉｎｄｏｗｓ（登録商標）内では各ウィンドウにウィンドウハンドルと呼ばれる「タグ」のようなものがついている。プログ
ラムからはこのタグを指定することでウィンドウを制御できる。例えばプログラムを使ってあるウィンドウの位置を画面上で動かす場合には当該ウィンドウのハンドルを検索し、そのウィンドウハンドルとウィンドウの移動量を指定してＷｉｎｄｏｗｓ（登録商標）に命令を送るようにプログラムを作成する。そして、このプログラムを実行すると、Ｗｉｎｄｏｗｓ（登録商標）がそのハンドルで規定されたウィンドウを指定された移動量分動かす。
【００８４】
（優先度監視プログラムの動作）
次に、グリッドコンピューティングシステムを隠蔽するための優先度監視プログラムの動作について図１０を参照して説明する。なお、ここでいう優先度監視プログラムとは、図５に示される優先度監視プログラム５０８のことである。図１０に示されるように、優先度視プログラムは、起動された後、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）上の、ＶＭｗａｒｅ（登録商標）起動プログラム及びＶＭｗａｒｅ（登録商標）起動プログラム上で動作しているプログラム以外の全プログラムの優先度を監視する（Ｓ１００１）。
【００８５】
次に、優先度監視プログラムは、ＶＭｗａｒｅ（登録商標）起動プログラムの優先度以下の優先度の、ＶＭｗａｒｅ（登録商標）起動プログラム以外のプログラムがあるか否かを監視する（Ｓ１００２）。なお、ＶＭｗａｒｅ起動プログラムの優先度は予め設定されている。
【００８６】
そして、優先度監視プログラムは、ＶＭｗａｒｅ（登録商標）起動プログラムの優先度以下の優先度の、ＶＭｗａｒｅ（登録商標）起動プログラム以外のプログラムがあると判断した場合は、そのプログラムの優先度を１ランクアップする（Ｓ１００３）。一方、優先度監視プログラムは、ＶＭｗａｒｅ（登録商標）起動プログラムの優先度以下の優先度の、ＶＭｗａｒｅ（登録商標）起動プログラム以外のプログラムがないと判断した場合は、Ｓ１００１に移行する。
【００８７】
すなわち、優先度監視プログラムは、この図１０に示される処理により、ＶＭｗａｒｅ（登録商標）起動プログラムの優先度よりも、Ｗｉｎｄｏｗｓ（登録商標）上の、ＶＭｗａｒｅ（登録商標）起動プログラムとこのＶＭｗａｒｅ（登録商標）起動プログラム上で動作しているプログラムとを除いた全プログラムの優先度を相対的に高くなるようにしている。ここで優先度について説明する。優先度とは、ＣＰＵの使用権を意味する。各プログラムは時間制でＣＰＵを使用するが、優先度の高いプログラムは他のプログラムに比べてより多くの時間をＯＳから割り当てられる（ＣＰＵを使える時間が増える）ことになる。
【００８８】
以上から、ＰＣを使用しているユーザに対しては、ユーザが使用しようとしている、例えばＷｉｎｄｏｗｓ（登録商標）上のアプリケーションプログラム等の使用が、ＶＭｗａｒｅ（登録商標）起動プログラム及びＶＭｗａｒｅ（登録商標）起動プログラム上で動作している他のプログラムにより支障が生ずることがなくなるため、ユーザに対してグリッドコンピューティングシステムを隠蔽することができる。
【００８９】
＜並列処理を始めＰＣクラスタと同等の機能を確保する動作について＞
次に、並列処理を始めＰＣクラスタと同等の機能を確保する動作について図１１及び図１２を参照して説明する。図１１は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて確保される、ＰＣクラスタと同等の機能の一例を示す概念図であり、図１２は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて、並列処理を始めＰＣクラスタと同等の機能を確保するための構成の概念図である。
【００９０】
図１１に示されるように、本実施形態では、解析ジョブ投入管理、並列計算実行、計算結果の管理等においてＰＣクラスタと同等の機能を確保する必要がある。そして、これらの機能を実現するためには、グリッド検討用マシン間においてネットワーク接続を確保する必要がある。そこで、本実施形態では、図１２に示されるように、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）２０００用のＮＩＣ１２０１の他に、エミュレータであるＶＭｗａｒｅ（登録商標）用のＮＩＣ１２０２を１枚増設する。本実施形態は、この増設により、グリッドコンピューティングが行えるようにした。図１２に示されるシステムでは、ジョブの投入や並列計算などが問題なく行えた。ＮＩＣ自体は廉価なので、費用は殆ど増加せず、並列処理を始めＰＣクラスタと同等の機能を確保しつつ、グリッドコンピューティングを実現することができる。
【００９１】
すなわち、前述のようにＮＡＴの場合、１枚のＮＩＣでは外部からの接続要求にＬｉｎｕｘ（登録商標）が答えられないことになる。しかし、本実施形態のように、ＮＩＣを２枚使用した場合、１枚をＷｉｎｄｏｗｓ（登録商標）に割り当て、もう１枚をＬｉｎｕｘ（登録商標）に割り当てることができるので、Ｗｉｎｄｏｗｓ（登録商標）もＬｉｎｕｘ（登録商標）も通信ができる状態を確保できることになる。
【００９２】
ここで、ＮＩＣの割り当ては、エミュレータであるＶＭｗａｒｅ（登録商標）の設定で、もう一枚のＮＩＣを仮想マシン上のＬｉｎｕｘ（登録商標）（ソルバＯＳ）の為に占有させる。この設定により、仮想マシン上のＬｉｎｕｘ（登録商標）（ソルバＯＳ）でＮＩＣが独占的に使用できる。また、この場合、ソルバＯＳは端末ＯＳと無関係にＮＩＣにアクセスすることができる。すなわち、この場合、エミュレータであるＶＭｗａｒｅ（登録商標）が、もう一枚のＮＩＣを占有することで、仮想マシンがＮＩＣを独占することができ、通信ができる状態を確保することができる。
【００９３】
＜ユーザの終了処理に耐えうる仕組みの実装について＞
次に、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの実装について図１３から図１６を参照して説明する。図１３は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの概念図であり、図１４は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの動作を示す概略図であり、図１５は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの登録動作を示す概念図であり、図１６は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みにおける端末ＯＳの強制終了の回避策を示す概念図である。
【００９４】
図１３に示されるように、従来のシステム１３０１では、グリッドコンピューティングを行っているＰＣが計算中にシャットダウンされてしまうと、ＰＣで行われていた計算が無駄になる場合がある。そこで、本実施形態のシステム１３０２では、ＰＣのシャットダウンが指示された場合であっても、ＰＣが計算中である場合は、計算終了までシャットダウンの実行を待機することとした。
【００９５】
図１３に示される動作について図１４を参照してより詳細に説明する。端末ＯＳとしての通常のＷｉｎｄｏｗｓ（登録商標）では、ＶＭｗａｒｅ（登録商標）などのエミュレータが終了するまで、終了処理を待機させる仕組みは持っていない。そのため、本実施形態では、図１４に示されるシステムを作成した。この図１４に示されるシステムで、ＶＭｗａｒｅ（登録商標）上のＬｉｎｕｘ（登録商標）のジョブが終了するまで、Ｗｉｎｄｏｗ
ｓ（登録商標）の終了処理を待機させておくことができた。
【００９６】
図１４に示されるシステムでは、まず、Ｓ１４０１において、端末ＯＳとしてのＷｉｎｄｏｗｓ（登録商標）上で、ユーザにより終了処理が指示される。次に、Ｓ１４０２において、端末ＯＳとしてのＷｉｎｄｏｗｓ（登録商標）上のエミュレータ（ＶＭｗａｒｅ（登録商標））終了プログラムが起動される。そして、端末ＯＳとしてのＷｉｎｄｏｗｓ（登録商標）は、エミュレータとしてのＶＭｗａｒｅ（登録商標）に終了を通知する（Ｓ１４０３）。
【００９７】
次に、Ｓ１４０６において、エミュレータであるＶＭｗａｒｅ（登録商標）が終了通知を受信すると、ソルバＯＳとしてのＬｉｎｕｘ（登録商標）はシャットダウンプログラムを起動する。次に、ＶＭｗａｒｅ（登録商標）上のＬｉｎｕｘ（登録商標）は、Ｓ１４０７において、Ｌｉｎｕｘ（登録商標）上のプログラムで実行中のジョブが無いかを監視する。実行中のジョブが有れば待機する。実行中のジョブが無ければ、Ｓ１４０８において、ソルバＯＳとしてのＬｉｎｕｘ（登録商標）はシャットダウン処理を開始する。そして、Ｌｉｎｕｘ（登録商標）のシャットダウンが終了した後、エミュレータであるＶＭｗａｒｅ（登録商標）は、その動作を終了させる（Ｓ１４０９）。
【００９８】
端末ＯＳとしてのＷｉｎｄｏｗｓ（登録商標）は、エミュレータであるＶＭｗａｒｅ（登録商標）の動作が終了したか否かを監視し（Ｓ１４０４）、エミュレータであるＶＭｗａｒｅ（登録商標）が動作中であれば待機し、エミュレータであるＶＭｗａｒｅ（登録商標）の動作が終了すれば、Ｓ１４０５において端末ＯＳとしてのＷｉｎｄｏｗｓ（登録商標）の終了処理を行なう。
【００９９】
本実施形態では、図１４に示される一連の処理を行なう「ユーザの終了処理に耐えうる仕組み」のプログラムを、ユーザが終了処理を行った時点で起動させる必要がある。Ｗｉｎｄｏｗｓ（登録商標）２０００以降では、終了処理時に特定のプログラムを実行することができる。今回は、この機能を利用して、「ユーザの終了処理に耐えうる仕組み」としてのプログラムを実行させることにした。実際には、図１５に示されるように、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）のグループポリシーエディター（ｇｐｅｄｉｔ．ｍｓｃ）を利用し（図１５の（ａ））、「ユーザの終了処理に耐えうる仕組み」のプログラムをシャットダウンスクリプトに登録している（図１５の（ｂ））。また、Ｗｉｎｄｏｗｓ（登録商標）では、通常の設定では、終了時に実行されるプログラムは１０分で強制終了してしまう。そこで、図１６に示されるように、グループポリシーエディターで（図１６の（ａ））、Ｗｉｎｄｏｗｓ（登録商標）終了までの待ち時間を無制限に設定する（図１６の（ｂ））。これらのシステムと、Ｗｉｎｄｏｗｓ（登録商標）側の設定によって、「ユーザの終了処理に耐えうる仕組み」のプログラムを実装することができた。
【０１００】
＜グリッドコンピューティングシステムのトライシステム構成＞
（グリッドコンピューティング・トライシステム）
次に、本実施形態のグリッドコンピューティングシステムのトライシステムについて図１７及び図１８を参照して説明する。図１７は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムのトライシステムの構築例を示す概略図であり、図１８は、図１７に示されるトライシステムのホスト名及びＩＰアドレスの割り振りを示す概略図である。
【０１０１】
本実施形態で作成したグリッドコンピューティングシステムは、ユーザは端末ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を使用していると想定し、Ｗｉｎｄｏｗｓ（登録商標）からジョブを投入できるシステムを作成した。また、図１８に示されるトライシステムでは、１台のＰＣでＩＰアドレスを複数使用する特殊な設定である。そのため、プライベート
ネットワークを構築している。このトライシステムにおけるホスト名、ＩＰアドレスの割り振りは図１８に示されるとおりである。
【０１０２】
図１７に示される構成では、グリッド検討用マシン１７０１は、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）２０００上で動作するジョブ投入ツールと、エミュレータであるＶＭｗａｒｅ（登録商標）上のＬｉｎｕｘ（登録商標）上で動作するジョブ管理ツールＬＳＦとを備える。また、共有マシン１７０２は、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）２０００と、エミュレータであるＶＭｗａｒｅ（登録商標）上で動作するソルバＯＳであるＬｉｎｕｘ（登録商標）上で動作し並列ジョブを含むジョブを実行するジョブ管理ツールＬＳＦとを備える。また、グリッド検討用マシン１７０３は、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）２０００上で動作するジョブ投入ツールと、エミュレータであるＶＭｗａｒｅ（登録商標）上で動作するソルバＯＳであるＬｉｎｕｘ（登録商標）上で動作する並列ジョブを含むジョブを実行するジョブ管理ツールＬＳＦとを備える。
【０１０３】
また、グリッド検討用マシン１７０１とグリッド検討用マシン１７０３とは、（１）ジョブの投入、及び、（２）ジョブの実行を行うマシンであり、共有マシン１７０２は、ジョブの実行のみを行うマシンである。また、図１７に示される例では、グリッド検討用マシン１７０１がグリッド用サーバを兼ね、ジョブの割り振りは、グリッド検討用マシン１７０１のジョブ管理ツールＬＳＦにより行われる。
【０１０４】
（トライシステム用のジョブコントロールシステムの作成）
次に、トライシステム用のジョブコントロールシステムについて図１９及び図２０を参照して説明する。図１９は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムのトライシステムでのライセンス不足を説明するための概念図であり、図２０は、本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおけるトライシステム用ジョブコントロールシステムの概念図である。
【０１０５】
ここで、ジョブコントロールシステムは、クライアントからのジョブを受け取り、そのジョブを分散処理させるマシンを決定し、実際にジョブを分散処理させて結果を受け取り、最終的にクライアントに返す役割を持つシステムである。
【０１０６】
本トライシステムでは、トライシステムで使用している端末のＯＳがＷｉｎｄｏｗｓ（登録商標）であるため、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）からジョブの投入を行うジョブコントロールシステムを作成した。ＬＳＦではジョブ投入コマンドも１ライセンスとカウントするが、本トライシステムでは、ライセンスが３つしかない。したがって、従来のシステム１９０１のようにＷｉｎｄｏｗｓ（登録商標）からジョブ投入を行うと３つのライセンスは既に使用されているためライセンス不足となる。そこで、本システム１９０２では、端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）−ソルバＯＳであるＬｉｎｕｘ（登録商標）間でクライアント−サーバシステムを作成し、Ｗｉｎｄｏｗｓ（登録商標）からのジョブ投入を中継させている（図１９参照）。
【０１０７】
ここで、ライセンスについて説明する。ＬＳＦを使う場合、ジョブを投入するクライアントにもＬＳＦをインストールする必要があり、また、ジョブを実行するマシンにもＬＳＦをインストールする必要がある。ジョブを実行した際にはクライアントもジョブを実行したマシンもＬＳＦの使用権（ライセンス）を消費したとみなされる。
【０１０８】
上記のように使用権のことをライセンスという。例えば１０ライセンス持っているとクライアント１台を除くと９台のマシンでジョブを実行させることが可能である。ジョブが終了すると、１０ライセンスが再び開放され、またジョブを起動、実行することが可能な
状態になる。図１９に示される状態でライセンスが３つしかないのは、購入済みのライセンスが３つしかないためである。
【０１０９】
次に、図１９に示されるＬＳＦライセンスサーバ１９０３について説明する。ＬＳＦライセンスサーバ１９０３は、ＬＳＦのライセンス及び使用ライセンスを管理しているコンピュータを指す。１０ライセンスを購入している時にクライアントからジョブを起動して３台のマシンがジョブを並列で実行した場合、４ライセンスを消費することになる。すると残りの前述のジョブが終了するまでは６ライセンスが有効ライセンス数となる。ＬＳＦライセンスサーバ１９０３は、所有しているライセンス数と有効ライセンス数を管理し、ライセンス切れが起きるとそれ以上ジョブが起動できないようにする。
【０１１０】
また、本トライシステムのジョブコントロールシステムにおけるジョブ投入システムでは、以下３点のグリッドコンピューティングシステムの主要機能を盛り込んだ（図２０）。なお、ジョブ投入システムとはクライアントからＬＳＦにジョブを投入するシステムである。図２０に示される場合では、グリッド検討用マシン２００１がジョブ投入端末となり、グリッド検討用マシン２００２が、投入されたジョブをＬＳＦへ中継する中継システムを備える中継サーバとなる。
【０１１１】
ここで、グリッド検討用マシン２００１から投入されたジョブ（動作プログラムの実行命令文）は、グリッド検討用マシン２００２に送信される。この送信されたジョブ（動作プログラムの実行命令文）は、ジョブ管理ツールＬＳＦ２０１８に渡される。ジョブ管理ツールＬＳＦ２０１８は、この渡されたジョブ（動作プログラムの実行命令文）を実行し、動作プログラムを起動する。このような技術により、投入されたジョブをＬＳＦへ中継する中継システムが実現されている。
【０１１２】
また、図２０に示されるように、ＤＯＳコマンドラインによるジョブ投入ツール２００３には、ジョブ投入プログラム２０１０と、ジョブ状態表示プログラム２０１１と、ファイル転送プログラム２０１２とを備える。
【０１１３】
また、中継システム２０１４を備えるサーバを中継サーバという。そして、図２０における中継システム２０１４内に備えられた、ジョブ投入サーバ２０１５、ジョブ状態表示サーバ２０１６、ファイル転送サーバ２０１７及びジョブ管理ツールＬＳＦ２０１８は、中継システム２０１４の機能を示す。これらの機能からなる中継システム２０１４を備える中継サーバは、ジョブ投入ツールとジョブを実行するＰＣとの間で中継役をなす。
【０１１４】
（１）ＤＯＳコマンドラインからのジョブ投入。
ジョブを起動するためにはユーザがユーザ端末から何らかのアクションを起こす必要がある。今回のシステムではコマンドを作成し、ユーザが端末ＯＳであるＷｉｎｄｏｗｓ（登録商標）のＤＯＳコマンドプロンプトに対してこのコマンドを入力する。そのため、本実施形態では、ジョブ投入プログラム２０１０を作成した。このジョブ投入プログラム２０１０により、ジョブが投入されるようにした。
【０１１５】
（２）ＤＯＳコマンドラインからのジョブ実行状態表示。
ユーザは、ジョブを起動したら時々刻々ジョブが実行中であるのか、実行待ちなのか、終了したのかを確認したいと考える。今回のシステムで、ジョブの状況を示すジョブ状態表示プログラム２０１１を作成した。ジョブの状況自体はＬＳＦが管理しているので、このジョブ状態表示プログラム２０１１はＬＳＦ（正確にはジョブ状態表示サーバ２０１６）に各ジョブの状況を問い合わせてその結果をユーザに通知している。
【０１１６】
（３）データファイルの転送機能（Ｗｉｎｄｏｗｓ（登録商標）←→Ｌｉｎｕｘ（登録
商標））
ジョブを起動する際、必要なデータファイルをユーザ端末（＝クライアント）からグリッドサーバに送る必要がある。図２０に示されるトライシステム用ジョブコントロールシステムでは、ユーザ端末がグリッド検討用マシン２００１であり、グリッドサーバがグリッド検討用マシン２００２である。そのため、ファイル転送プログラム２０１２を作成した。
【０１１７】
また、図２０において、ジョブ投入プログラム（＋ファイル転送  端末ＯＳ（Ｗｉｎｄｏｗｓ（登録商標））→ソルバＯＳ（Ｌｉｎｕｘ（登録商標）））２０１０は、データファイルをジョブ投入サーバ２０１５に転送し、ジョブ投入サーバ２０１５にジョブを依頼する役割を持つ。
【０１１８】
また、ジョブ状態表示プログラム２０１１は、ＬＳＦが持っているジョブ状況をジョブ状態表示サーバ２０１６に問い合わせてユーザに通知する。
【０１１９】
また、ファイル転送（端末ＯＳ（Ｗｉｎｄｏｗｓ（登録商標））←ソルバＯＳ（Ｌｉｎｕｘ（登録商標）））プログラム２０１２は、ジョブが終了したかどうかをジョブ投入サーバ２０１５に問合せ、終了していたらファイル転送サーバ２０１７に依頼して結果ファイルをグリッド検討用マシン２００２からユーザ端末であるグリッド検討用マシン２００１に転送させる。
【０１２０】
なお、本来、ライセンスの無いグリッド検討用マシン２００１では問い合わせやジョブの投入は行えない。ジョブ管理ツールＬＳＦ２０１８は、グリッド検討用マシン２００２のソルバＯＳ上でのみ動作している。
【０１２１】
グリッド検討用マシン２００１は、「ジョブ状況を表示する命令文」や「ジョブを実行させる命令文」をグリッド検討用マシン２００２の中継サーバを介してこのジョブ管理ツールＬＳＦ２０１８に送信する。
【０１２２】
そして、グリッド検討用マシン２００２は、この送信データをジョブ管理ツールＬＳＦ２０１８が実行し、実行結果を中継サーバを介してグリッド検討用マシン２００１に受信させている。そのため、グリッド検討用マシン２００１のようなライセンスの無いマシンでも、ジョブ状況の問い合わせやジョブの投入が行える。
【０１２３】
また、ジョブ投入サーバ２０１５は、ジョブ投入プログラム２０１０からのジョブ依頼を受け取ってジョブ管理ツールＬＳＦ２０１８を使ってジョブを分散処理させる。ジョブが終了したらその結果ファイルを保持する。
【０１２４】
また、ジョブ状態表示サーバ２０１６は、ジョブ状態表示プログラム２０１１からの依頼を受けてジョブ管理ツールＬＳＦ２０１８にジョブ状態を問い合わせ、その結果をジョブ状態表示プログラム２０１１に通知する。
【０１２５】
また、ファイル転送サーバ２０１７は、ジョブ投入プログラム２０１０におけるファイル転送（端末ＯＳ（Ｗｉｎｄｏｗｓ（登録商標））→ソルバＯＳ（Ｌｉｎｕｘ（登録商標））プログラム、又はファイル転送（端末ＯＳ（Ｗｉｎｄｏｗｓ（登録商標））←ソルバＯＳ（Ｌｉｎｕｘ（登録商標）））プログラム２０１２からの依頼を受けて必要なファイルを受け取ったり、送ったりする。ファイル転送サーバ２０１７は、ジョブが終了しているかどうかをジョブ投入サーバ２０１５に問い合わせて確認する。
【０１２６】
また、ジョブ管理ツールＬＳＦ２０１８は、ジョブ投入サーバ２０１５の依頼を受けて
ジョブを実行するマシンを決定してジョブを実行させ、また、ジョブ状態を管理し、ジョブ状態表示サーバ２０１６からの依頼を受けてジョブの実行状況を通知する。
【０１２７】
そして、ジョブ投入プログラム２０１０、ジョブ状態表示プログラム２０１１、ファイル転送プログラム２０１２はクライアントとしての機能として必須であり、ジョブ投入サーバ２０１５、ジョブ状態表示サーバ２０１６、ファイル転送サーバ２０１７は中継システムを備える中継サーバの機能として必須である。
【０１２８】
（トライシステムの検証）
トライシステムでジョブを投入し、グリッドコンピューティングを行った。
（１）端末ＯＳとソルバＯＳとの共存し、かつ、各々のＯＳが独立して稼動した。
（２）ユーザにグリッドコンピューティングの動作を気付かせない仕組みを実現した。
（３）並列処理を始め、ＰＣクラスタと同等の機能を確保した。
（４）ユーザの終了処理に耐えうる仕組みの実装した。
上記４点に関して検証し、その動作を確認できた。このトライシステムでは、順調に稼動し、ジョブコントロールシステムで操作できることがわかった。
【図面の簡単な説明】
【０１２９】
【図１】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムの構成の概略図である。
【図２】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムで使用されるジョブ管理ツールを説明するための概念図である。
【図３】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムで使用されるエミュレータの動作を説明するための概念図である。
【図４】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、端末ＯＳとソルバＯＳとが共存し、かつ各々のＯＳが独立して稼動する場合の概念図である。
【図５】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザ端末及びＰＣ上のプログラムの構成の概念図である。
【図６】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて、エミュレータのハングアップを回避する処理を示す概念図である。
【図７】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザにグリッドコンピューティングシステムの動作を気付かせない仕組みの概念図である。
【図８】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、エミュレータ起動プログラムの端末ＯＳへのサービス化の設定を示す概略図である。
【図９】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、エミュレータのウィンドウをユーザから隠す仕組みの概念図である。
【図１０】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、優先度監視プログラムの動作のフローチャートである。
【図１１】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて確保される、ＰＣクラスタと同等の機能の一例を示す概念図である。
【図１２】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおいて、並列処理を始めＰＣクラスタと同等の機能を確保するための構成の概念図である。
【図１３】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの概念図である。
【図１４】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの動作を示す概略図である。
【図１５】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みの登録動作を示す概念図である。
【図１６】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおける、ユーザの終了処理に耐えうる仕組みにおける端末ＯＳの強制終了の回避策を示す概念図である。
【図１７】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムのトライシステムの構築例を示す概略図である。
【図１８】図１７に示されるトライシステムのホスト名及びＩＰアドレスの割り振りを示す概略図である。
【図１９】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムのトライシステムでのライセンス不足を説明するための概念図である。
【図２０】本発明のプログラム及びコンピュータの一実施形態が適用されるグリッドコンピューティングシステムにおけるトライシステム用ジョブコントロールシステムの概念図である。
【図２１】従来の専用計算サーバを使用してＣＡＥの解析計算を行う手法の概略図である。
【図２２】ムーアの法則を説明する概念図である。
【図２３】従来の技術を用いて構築したグリッドコンピューティングシステムの概略図である。
【図２４】従来のシステムにおいてＮＡＴを用いたネットワーク接続を示す概念図である。
【図２５】従来のシステムにおいてＮＡＴを用いるネットワークで問題となる点を示す概念図である。
【符号の説明】
【０１３０】
１０１  ユーザ端末
１０２  グリッド用サーバ
１０３  ＰＣ
５０１  端末ＯＳ
５０２  エミュレータ起動プログラム
５０３  エミュレータ
５０４  ソルバＯＳ
５０５  解析ソルバプログラム
５０６  アプリケーションＡ
５０７  アプリケーションＢ
５０８  優先度監視プログラム
【図１】
2005250597.tif 000003
【図２】
2005250597.tif 000004
【図３】
2005250597.tif 000005
【図４】
2005250597.tif 000006
【図５】
2005250597.tif 000007
【図６】
2005250597.tif 000008
【図７】
2005250597.tif 000009
【図８】
2005250597.tif 000010
【図９】
2005250597.tif 000011
【図１０】
2005250597.tif 000012
【図１１】
2005250597.tif 000013
【図１２】
2005250597.tif 000014
【図１３】
2005250597.tif 000015
【図１４】
2005250597.tif 000016
【図１５】
2005250597.tif 000017
【図１６】
2005250597.tif 000018
【図１７】
2005250597.tif 000019
【図１８】
2005250597.tif 000020
【図１９】
2005250597.tif 000021
【図２０】
2005250597.tif 000022
【図２１】
2005250597.tif 000023
【図２２】
2005250597.tif 000024
【図２３】
2005250597.tif 000025
【図２４】
2005250597.tif 000026
【図２５】
2005250597.tif 000027