(57)【要約】【課題】  未使用中の計算機を利用して処理を実行する際の、計算機内のユーザ・データの保護や処理結果のセキュリティを確保する。【解決手段】  サーバは、クライアントＰＣに対して、ネットワークを介して呼びかける。クライアントＰＣは、未使用時にサーバからＷａｋｅｕｐ  ｏｎ  ＬＡＮされると、サーバのディスクにあるオペレーティング・システムを用いてブート処理され、ディスクレス・クライアントとして起動する。サーバは、自身の計算資源に組み込み、シミュレーション計算などの処理をクライアントＰＣ上でリモート実行する。【選択図】  図３
2006252097.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上で、サーバがクライアントを自己の計算資源に組み込んで所定の処理を実行する情報処理システムであって、
前記サーバは、前記クライアントの停止状態を確認してネットワーク経由で起動要求し、
前記クライアントは、前記のネットワーク経由の起動要求に応答して起動するときには、前記サーバ側のディスクにあるオペレーティング・システムをブート処理して、ディスクレス・クライアントとして動作し、
前記サーバは、前記ディスクレス・クライアントを自己の計算資源に組み込んで所定の処理を実行させる、
ことを特徴とする情報処理システム。
【請求項２】
前記クライアントは、ネットワーク経由の起動要求に応答してディスクレス・クライアントとして起動するときには、ローカルに接続する入出力機器を用いた操作を禁止する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記クライアントは、ネットワーク経由の起動要求以外の要因により起動するときには、自己のローカル・ディスク上のオペレーティング・システムをブート処理して、クライアント環境下で動作する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記サーバは、前記所定の処理を実行中の前記ディスクレス・クライアントの表示装置に対し、実行中の処理の内容を表示させる、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記サーバは、あらかじめ設定した規定時間が到来すると、前記ディスクレス・クライアントとして起動中のクライアントを停止する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項６】
前記サーバは、前記規定時間内に前記ディスクレス・クライアントが前記所定の処理を終了すると、次の処理を実行させる、
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記サーバは、前記所定の処理を実行中の前記ディスクレス・クライアントに対し、所定のチェック・ポイント時間毎にチェック・ポイントを実行する、
ことを特徴とする請求項５に記載の情報処理システム。
【請求項８】
前記サーバは、チェック・ポイントが失敗したことにより、前記クライアント側でユーザ操作による前記所定の処理の実行が中断したことを検知する、
ことを特徴とする請求項７に記載の情報処理システム。
【請求項９】
ネットワーク接続されたクライアントを自己の計算資源に組み込んで所定の処理を実行する情報処理装置であって、
クライアントの停止状態を確認する状態確認手段と、
停止状態が確認されたクライアントに対し、ネットワーク経由で起動要求する起動要求手段と、
ネットワーク経由で起動要求し、ネットワーク・ブートしたクライアントをディスクレス・クライアントとして自己の計算資源に組み込んで、所定の処理を実行させる処理実行手段と、
を具備することを特徴とする情報処理装置。
【請求項１０】
前記処理実行手段は、処理実行中のクライアントの表示装置に対し、実行中の処理の内容を表示させる、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
あらかじめ設定した規定期間が到来したことに応答して、前記処理実行手段によるクライアント上での処理実行を終了し、該クライアントを停止するクライアント停止手段をさらに備える、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記処理実行手段は、前記規定期間内にクライアントが前記所定の処理を終了すると、次の処理を実行させる、
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記所定の処理を実行中のクライアントに対し、所定のチェック・ポイント時間毎にチェック・ポイントを実行するチェック・ポイント実行手段をさらに備える、
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１４】
前記チェック・ポイント実行手段は、チェック・ポイントが失敗したことにより、クライアント側でユーザ操作による前記所定の処理の実行が中断したことを検知する、
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
起動要因を記憶する起動要因記憶手段と、
前記起動要因記憶手段に記憶された起動要因に応じたブート方法を選択してオペレーティング・システムをブート処理するブート手段と、
ブートされたオペレーティング・システムが提供する実行環境下で処理を実行する処理実行手段と、
を具備することを特徴とする情報処理装置。
【請求項１６】
前記情報処理装置をネットワークに接続し、ネットワーク経由での起動要求に応答して前記情報処理装置を起動できるネットワーク接続手段をさらに備え、
前記起動要求記憶手段は、ネットワーク経由での起動要求により前記情報処理装置を起動したことを記憶し、
前記ブート手段は、ネットワーク経由での起動要求が起動要因であるときには、起動要求元が提供するオペレーティング・システムをネットワーク・ブートする、ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記ブート手段によりネットワーク・ブートしたときには、前記処理実行手段は、ディスクレス・クライアントとして起動要求元の計算資源に組み込まれ、起動要求元から指示される処理を実行する、
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
ディスクレス・クライアントとして起動したときには、ローカルに接続する入出力機器を用いた操作を禁止する操作禁止手段をさらに備える、
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項１９】
前記ブート手段によりネットワーク・ブートしたときに、起動要求元からのシャットダウン指示によりシャットダウンするシャットダウン手段をさらに備える、
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項２０】
クライアント環境を提供するオペレーティング・システムを備えたローカル・ディスクをさらに備え、
前記ブート手段は、ネットワーク経由での起動要求以外が起動要因であるときには、前記ローカル・ディスク上のオペレーティング・システムをブート処理して、クライアント環境下で動作する、
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項２１】
ネットワーク接続されたクライアントを自己の計算資源に組み込んで所定の処理を実行するための情報処理方法であって、
クライアントの停止状態を確認する状態確認ステップと、
停止状態が確認されたクライアントに対し、ネットワーク経由で起動要求する起動要求ステップと、
ネットワーク経由で起動要求し、ネットワーク・ブートしたクライアントをディスクレス・クライアントとして自己の計算資源に組み込んで、所定の処理を実行させる処理実行ステップと、
を具備することを特徴とする情報処理方法。
【請求項２２】
前記処理実行ステップでは、処理実行中のクライアントの表示装置に対し、実行中の処理の内容を表示させる、
ことを特徴とする請求項２１に記載の情報処理方法。
【請求項２３】
あらかじめ設定した規定期間が到来したことに応答して、前記処理実行手段によるクライアント上での処理実行を終了し、該クライアントを停止するクライアント停止ステップをさらに備える、
ことを特徴とする請求項２１に記載の情報処理方法。
【請求項２４】
前記処理実行ステップでは、前記規定期間内にクライアントが前記所定の処理を終了すると、次の処理を実行させる、
ことを特徴とする請求項２３に記載の情報処理方法。
【請求項２５】
前記所定の処理を実行中のクライアントに対し、所定のチェック・ポイント時間毎にチェック・ポイントを実行するチェック・ポイント実行ステップをさらに備える、
ことを特徴とする請求項２１に記載の情報処理方法。
【請求項２６】
前記チェック・ポイント実行ステップでは、チェック・ポイントが失敗したことにより、クライアント側でユーザ操作による前記所定の処理の実行が中断したことを検知する、
ことを特徴とする請求項２５に記載の情報処理方法。
【請求項２７】
起動要因を記憶する起動要因記憶ステップと、
前記起動要因記憶ステップにおいて記憶された起動要因に応じたブート方法を選択してオペレーティング・システムをブート処理するブート・ステップと、
ブートされたオペレーティング・システムが提供する実行環境下で処理を実行する処理実行ステップと、
を具備することを特徴とする情報処理方法。
【請求項２８】
ネットワーク接続環境下においてネットワーク経由で起動要求を受けるステップをさらに備え、
前記起動要因記憶ステップにおいてネットワーク経由での起動要求を起動要因として記憶しているときには、前記ブート・ステップでは、起動要求元が提供するオペレーティング・システムをネットワーク・ブートする、
ことを特徴とする請求項２７に記載の情報処理方法。
【請求項２９】
前記ブート・ステップにおいてネットワーク・ブートしたときには、前記処理実行ステップでは、ディスクレス・クライアントとして起動要求元から指示される処理を実行する、
ことを特徴とする請求項２８に記載の情報処理方法。
【請求項３０】
ディスクレス・クライアントとして起動したときには、ローカルに接続する入出力機器を用いた操作を禁止する操作禁止ステップをさらに備える、
ことを特徴とする請求項２９に記載の情報処理方法。
【請求項３１】
前記ブート・ステップにおいてネットワーク・ブートしたときに、起動要求元からのシャットダウン指示によりシャットダウンするシャットダウン・ステップをさらに備える、
ことを特徴とする請求項２８に記載の情報処理方法。
【請求項３２】
クライアント環境を提供するオペレーティング・システムを備えたローカル・ディスクが利用可能であり、
ネットワーク経由での起動要求以外が起動要因であるときには、前記ブート・ステップでは、前記ローカル・ディスク上のオペレーティング・システムをブート処理して、クライアント環境下で動作する、
ことを特徴とする請求項２８に記載の情報処理方法。
【請求項３３】
ネットワーク接続されたクライアントを自己の計算資源に組み込んで所定の処理を実行するための情報処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
クライアントの停止状態を確認する状態確認手順と、
停止状態が確認されたクライアントに対し、ネットワーク経由で起動要求する起動要求手順と、
ネットワーク経由で起動要求し、ネットワーク・ブートしたクライアントをディスクレス・クライアントとして自己の計算資源に組み込んで、所定の処理を実行させる処理実行手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【請求項３４】
所定の情報処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、
起動要因を記憶する起動要因記憶手順と、
前記起動要因記憶手順により記憶された起動要因に応じたブート方法を選択してオペレーティング・システムをブート処理するブート手順と、
ブートされたオペレーティング・システムが提供する実行環境下で処理を実行する処理実行手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル・データの処理を行なう情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに係り、特に、ネットワーク接続されている２以上の機器間における動作を連携させる情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、ネットワーク接続された複数の計算機における余剰の処理能力を利用して厖大な回数の演算処理を実行する情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに係り、特に、夜間などにユーザが未使用中の１以上の計算機を起動して特定の処理を連携して行なう情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
昨今の情報技術（ＩＴ）分野における急速な進歩とともに、さまざまな形態のコンピュータ・システムが開発・製造され、大学やその他の研究機関、企業内のオフィス、さらには一般家庭内に広く普及している。コンピュータ上では、テキスト形式の文書ファイル以外に、音声、画像、自然言語などさまざまなメディアをデジタル化して、数学的に取り扱うことにより、情報の編集・加工、蓄積、管理、伝達、共有などより高度で多岐にわたる処理を行なうことが可能となっている。
【０００４】
さらに最近では、ネットワーク上の複数の計算機を連携させ、その協調動作により高い演算性能を実現するとともに、投資対効果を高める分散コンピューティング技術に関する研究開発が進められている。
【０００５】
本発明者らは、条件やパラメータを変えながら同じ計算を繰り返し行なうような演算処理にはこのような分散コンピューティング技術が適当であると思料する。この種の演算処理の一例として、電子写真技術を利用した複写機やプリンタなどの画像形成装置における粉体挙動解析のためのシミュレーション計算を挙げることができる。この場合、画像構成剤としてのトナー及びトナーを搬送するための磁性体からなるキャリアという２成分からなる粉体を解析対象粒子として取り扱い、例えば攪拌、現像、転写などの各プロセスにおいて粉体挙動解析シミュレーションを適用することで、現実に画像形成実験を行なうことなく、形成される画像を予測し評価することができる。
【０００６】
分散コンピューティング・システムの構成例として、一般的なオフィスで事務用などの目的で使用されるパーソナル・コンピュータをユーザが未使用中に連携させるという形態が挙げられる。例えば、粉体挙動シミュレーションなどの処理を統括的にコントロールする特定のコンピュータが、ユーザが帰宅した後の夜間において、オフィスに残された停止状態のＰＣの処理能力を利用して、条件やパラメータを設定したシミュレーション計算を行なわせる。
【０００７】
ところが、このようなユーザが未使用中のＰＣを利用して連携処理を実行する際に、内蔵ハード・ディスク装置などローカルな資源を使用すると、本来のユーザが所有するユーザ・データの保護の問題や、シミュレーションなど連携処理の結果がＰＣを媒介にして漏洩するというセキュリティの問題が浮上する。
【０００８】
例えば、大量のシミュレーションの複数同時実行を行なうシミュレーションプログラム実行方法について提案がなされているが（例えば、特許文献１を参照のこと）、夜間に停止しているＰＣを利用するといった、停止中の計算機資源の有効活用を行なうものではない。
【０００９】
また、イーサネット（登録商標）で接続されているバス営業所内ＬＡＮ中の各コンピュータで、負荷が軽いときは多くのタスクを受け入れ、負荷が重くなると受け入れるタスクを減らすというネットワーク利用方法について提案がなされている（例えば、特許文献２を参照のこと）。しかしながら、このネットワーク利用方法では、各コンピュータのローカル・ディスクを使用してタスクを実行することから、ユーザ・データの保護や処理結果のセキュリティを確保することができない。
【００１０】
【特許文献１】特開２０００−２６７８９０号公報
【特許文献２】特開平１０−１７１６７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、ネットワーク接続された複数の計算機における余剰の処理能力を利用して厖大な回数の演算処理を好適に実行することができる、優れた情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１２】
本発明のさらなる目的は、夜間などにユーザが未使用中の１以上の計算機を起動して特定の処理を連携して好適に行なうことができる、優れた情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１３】
本発明のさらなる目的は、夜間などにユーザが未使用中の計算機を利用して処理を実行する際の、計算機内のユーザ・データの保護や処理結果のセキュリティを確保することができる、優れた情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、ネットワーク上で、サーバが停止状態のクライアントを自己の計算資源に組み込んで所定の処理を実行する情報処理システムであって、前記サーバは、前記クライアントの停止状態を確認してネットワーク経由で起動要求し、前記クライアントは、前記のネットワーク経由の起動要求に応答して起動するときには、前記サーバ側のディスクにあるオペレーティング・システムをブート処理して、ディスクレス・クライアントとして動作し、前記サーバは、前記ディスクレス・クライアントを自己の計算資源に組み込んで所定の処理を実行させることを特徴とする情報処理システムである。
【００１５】
オフィスに存在する事務用途の計算機を連携させる分散コンピューティング・システムによれば、ネットワーク上の複数の計算機を連携させ、その協調動作により高い演算性能を実現することができる。
【００１６】
ところが、ユーザが帰宅した後の夜間などで停止状態のクライアントＰＣを連携させるというシステム構成をとる場合、クライアントＰＣの内蔵ハード・ディスク装置などローカルな資源を使用すると、本来のユーザが所有するユーザ・データの保護や、シミュレーション計算など連携処理の結果がＰＣを媒介にして漏洩するというセキュリティの点で問題がある。
【００１７】
これに対し、本発明によれば、ユーザが帰宅した後の夜間などで停止状態のクライアントＰＣを利用する際には、ネットワーク・ブートするとともに、クライアントが使用している環境とは異なるオペレーティング・システムをディスクレス・クライアントとして起動して、シミュレーションなどの処理を実行するようになっている。
【００１８】
したがって、本発明によれば、シミュレーション処理実行中のクライアント上のユーザ・データを保護することができるとともに、シミュレーション結果についてのセキュリティを確保することができる。
【００１９】
各クライアントＰＣは、サーバによりネットワーク経由で起動したのか、あるいはユーザが電源スイッチを操作し、通常の電源投入により起動したのか、自分の起動要因を記憶する手段を備えている。そして、この起動要因に応じてブート処理方法を選択するようになっている。具体的には、いわゆるＷａｋｅｕｐ  ｏｎ  ＬＡＮのようにネットワーク経由でサーバから起動したときには、サーバにあるオペレーティング・システムを用いてブート処理する。他方、電源スイッチの操作などにより通常の起動を行なうときには、クライアントＰＣ自身のローカル・ディスクにあるオペレーティング・システムを用いて通常のブート処理を行なう。
【００２０】
そして、クライアントＰＣは、停止状態のときにサーバからのネットワーク経由での起動要求により起動されたときには、サーバのディスクにあるオペレーティング・システムを用いてブート処理が実行され、ローカル・ディスクをマウントしないように設定できるので、ディスクレス・クライアントとして起動することになる。このような場合、クライアントＰＣは、自身のローカル・ディスクなどの資源をサーバと共有することはないので、サーバからの命令によりシミュレーション計算などの処理を行なう際に、クライアントＰＣ内のユーザ・データは保護されるとともに、シミュレーション結果のセキュリティは確保される。
【００２１】
また、クライアントＰＣは、ディスクレス・クライアントとして起動する場合には、ローカルに接続されている入力デバイスを無効にすることで、ユーザがクライアントＰＣにログインすることが不可能となり、シミュレーションを安全に実行することができる。
【００２２】
サーバは、あらかじめ登録してあるクライアントＰＣ（群）に対して、ネットワークを介した呼びかけを行ない、一定期間内に返事があるかどうかにより、各クライアントが停止状態であるかどうかを確認することができる。そして、停止中のクライアントＰＣをＷａｋｅｕｐ ｏｎ ＬＡＮなどの方法により、ネットワーク経由で起動する。
【００２３】
クライアントＰＣは、起動する際に起動要因が何であったか、すなわちＷａｋｅｕｐ ｏｎ ＬＡＮであるかどうかを確認する。そして、Ｗａｋｅｕｐ ｏｎ ＬＡＮ ならサーバからネットワーク・ブートし、ディスクレス・クライアントとして起動する。そうでないなら、内蔵ハード・ディスクなどのローカルの資源から起動する。
【００２４】
サーバは、Ｗａｋｅｕｐ ｏｎ ＬＡＮによりブートしたクライアントＰＣを、ディスクレス・クライアントとして自身の計算資源に組み込み、シミュレーション計算などの処理をクライアントＰＣ上でリモート実行する。また、サーバは、シミュレーション実行中には、クライアントＰＣのディスプレイに、実行中のプログラムの概要を表示する。
【００２５】
そして、サーバは、クライアントＰＣでシミュレーション実行中は、定期的にプロセスのチェック・ポイントを実行する。また、シミュレーションが終了すると、新たなシミュレーションを起動する。また、あらかじめ設定した時間（例えば、始業時間などによりユーザによるクライアントＰＣの利用が開始する時刻）になると、シミュレーションのチェック・ポイントを実行し、クライアントＰＣを停止する。
【００２６】
その後、ユーザがクライアントＰＣを起動すると、内蔵ハード・ディスクなどのローカルの資源を用いてブート処理が行なわれるので、通常のクライアント環境が起動する。
【００２７】
また、あらかじめ設定した時間よりも前にユーザがクライアントＰＣを使用したいときがある。このような場合、例えばユーザがリセット・スイッチを押すことにより実行中のシミュレーションは中断され、ユーザが使用しているクライアント環境が起動する。サーバは、定期的、あるいは設定時間におけるプロセスのチェック・ポイントに失敗することで、ユーザ操作によるシミュレーションの中断を知ることができる。
【００２８】
また、本発明の第２の側面は、ネットワーク接続されたクライアントを自己の計算資源に組み込んで所定の処理を実行するための情報処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、クライアントの停止状態を確認する状態確認手順と、停止状態が確認されたクライアントに対し、ネットワーク経由で起動要求する起動要求手順と、ネットワーク経由で起動要求し、ネットワーク・ブートしたクライアントをディスクレス・クライアントとして自己の計算資源に組み込んで、所定の処理を実行させる処理実行手順とを実行させることを特徴とするコンピュータ・プログラムである。このコンピュータ・プログラムは、コンピュータ・システムをサーバとして動作させるものであり、サーバは、規定時間（例えば、ユーザの出勤時刻）が到来するまでの間、計算資源に組み込んだディスクレス・クライアントに対し、シミュレーション計算などの処理を実行させることができる。
【００２９】
また、本発明の第３の側面は、所定の情報処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータ・システムに対し、起動要因を記憶する起動要因記憶手順と、前記起動要因記憶手順により記憶された起動要因に応じたブート方法を選択してオペレーティング・システムをブート処理するブート手順と、ブートされたオペレーティング・システムが提供する実行環境下で処理を実行する処理実行手順とを実行させることを特徴とするコンピュータ・プログラムである。このコンピュータ・プログラムは、コンピュータ・システムをクライアントとして動作させるものであり、クライアントは、Ｗａｋｅｕｐ  ｏｎ  ＬＡＮによりネットワーク・ブートしたときにはディスクレス・クライアントとしてサーバの計算資源に組み込まれるが、それ以外の起動要因のときにはローカル・ディスクからブート処理を行ない、通常のクライアント環境を提供する。
【００３０】
本発明の第２乃至第３の各側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２乃至第３の各側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによってコンピュータ・システム上では協働的作用が発揮され、それぞれサーバ及びクライアントＰＣとして動作する。このようなサーバ及び１以上のクライアントＰＣを起動してネットワーク上で分散コンピューティング・システムを構築することによって、本発明の第１の側面に係る情報処理システムと同様の作用効果を得ることができる。
【発明の効果】
【００３１】
本発明によれば、ネットワーク接続された複数の計算機における余剰の処理能力を利用して厖大な回数の演算処理を好適に実行することができる、優れた情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３２】
また、本発明によれば、夜間などにユーザが未使用中の１以上の計算機を起動して特定の処理を連携して好適に行なうことができる、優れた情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３３】
また、本発明によれば、夜間などにユーザが未使用中の計算機を利用して処理を実行する際の、計算機内のユーザ・データの保護や処理結果のセキュリティを確保することができる、優れた情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３４】
本発明によれば、計算資源として使われていないクライアントを有効に利用でき、且つローカル・ユーザが使用する環境と計算実行の環境を全く別にすることができる。また、ローカル・ユーザがクライアントＰＣを使用する場合に全く影響を及ぼすことが無い。また、ユーザのスケジュール管理と組み合わせることで、夜間だけでなく休日や出張時などユーザが不在時には計算資源として終日使用することができる。
【００３５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００３６】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３７】
本発明は、ネットワーク接続されている２以上の機器間における動作を連携させる分散コンピューティングに関する。分散コンピューティングによれば、ネットワーク上の複数の計算機を連携させ、その協調動作により高い演算性能を実現することができる。
【００３８】
図１には、本発明の一実施形態に係る分散コンピューティング・システムの構成を模式的に示している。ネットワーク上には、シミュレーション計算などの演算処理を統括するサーバと、１台以上のクライアントＰＣが接続されている。
【００３９】
本実施形態では、ユーザが帰宅した後の夜間などの停止状態のクライアントＰＣを連携させるというシステム構成を想定している。このような場合、サーバは、夜間に停止中のクライアントＰＣをＷａｋｅｕｐ  ｏｎ  ＬＡＮにより起動要求して自身の計算資源に組み込む。また、就業時間が近づくと、クライアントＰＣを停止して、本来のユーザのために解放する。
【００４０】
ここで、ユーザが帰宅した後の夜間などの停止状態のクライアントＰＣを連携させるというシステム構成をとる場合、クライアントＰＣの内蔵ハード・ディスク装置などローカルな資源を使用すると、本来のユーザが所有するユーザ・データの保護や、シミュレーションなど演算処理の結果がクライアントＰＣのローカル・ディスクを媒介にして漏洩するというセキュリティの点で問題がある。
【００４１】
そこで、本実施形態では、ユーザが帰宅した後の停止状態のクライアントＰＣを利用する際には、ネットワーク・ブートするとともに、クライアントが使用している環境とは異なるオペレーティング・システムをディスクレス・クライアントとして起動するようにしている。クライアントＰＣは、サーバの計算資源に組み込まれ、シミュレーション計算などを行なう際、サーバとはクライアント・ローカルの資源を共有する必要がない。また、クライアントＰＣは、ディスクレス・クライアントとして起動しているときには、ローカルのコンソールからの入力を禁止しておくこともできる。したがって、シミュレーション処理実行中のクライアント上のユーザ・データを保護することができるとともに、シミュレーション結果についてのセキュリティを確保することができる。
【００４２】
このような場合、クライアントＰＣは、ネットワーク経由で起動したのか、あるいはユーザが電源スイッチを操作したことにより起動したのか、起動要因に応じてブート処理方法を選択する必要がある。そこで、クライアントＰＣは、起動要因を記憶する手段を備えている。そして、この起動要因に応じてブート処理方法を選択して実行するようになっている。具体的には、いわゆるＷａｋｅｕｐ  ｏｎ  ＬＡＮのようにネットワーク経由でサーバから起動したときには、サーバにあるオペレーティング・システムを用いてブート処理する。他方、電源投入などにより通常の起動を行なうときには、クライアントＰＣ自身のローカル・ディスクにあるオペレーティング・システムを用いて通常のブート処理を行なう。
【００４３】
図２には、クライアントＰＣのハードウェア構成を模式的に示している。クライアントＰＣでは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１は、オペレーティング・システムが提供する実行環境下で、各種の処理演算を実行することができる。
【００４４】
本実施形態では、起動要因に応じてブート処理が切り替えられ、ネットワーク経由で起動したときには、サーバ側が提供するＬｉｎｕｘなどのオペレーティング・システムがブートされる。この場合、ディスクレス・クライアントとしてサーバの計算資源に組み込まれ、サーバが要求するシミュレーション計算などを処理する。また、電源スイッチの投入など通常の起動のときには、クライアントＰＣ内のローカル・ディスク（後述）からＷｉｎｄｏｗｓ（登録商標）などのオペレーティング・システムがブートされる。
【００４５】
ＣＰＵ１１は、チップセット１２と呼ばれるコアＬＳＩチップを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４などのメモリ装置、種々の周辺機器が相互接続されている。
【００４６】
ＲＯＭ１３は、プログラム・コードが恒久的に書き込まれた読み出し専用の記憶装置であり、例えば、チップセットに接続される各周辺機器の入出力操作を制御するプログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）や、電源投入時の初期化自己診断を行なうプログラムであるＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  Ｓｅｌｆ  Ｔｅｓｔ）が格納されている。
【００４７】
また、ＲＡＭ１４は、ＤＲＡＭなどの書き込み可能な記憶装置であり、ＣＰＵ１１が実行するオペレーティング・システムやアプリケーションなどのプログラム・コードをロードしたり、実行中の作業データを一時格納したりするために使用される。
【００４８】
ＰＣを起動すると、最初にＢＩＯＳが動作し、ＢＩＯＳによって起動ディスクの先頭に書かれているＭＢＲ（Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）がＲＡＭ１４に読み込まれ、制御が渡される。ＭＢＲの先頭にはブート・ストラップ・コードがあり、ブート処理すなわちＯＳを起動するための処理が行なわれる。
【００４９】
本実施形態では、Ｗａｋｅｕｐ  ｏｎ  ＬＡＮなどネットワーク経由でサーバから起動するときには、起動ディスクはサーバ側にあるリモート・ディスクであり、そこからＬｉｎｕｘなどのオペレーティング・システムがブートされ、ディスクレス・クライアントとして起動する。ディスクレス・クライアントをブートするためのプロトコルとして、ＢＯＯＴＰ（Ｂｏｏｔｓｔｒａｐ  Ｐｒｏｔｏｃｏｌ、ＲＦＣ  ９５１）などが知られている。他方、電源投入による通常の起動時の起動ディスクはクライアントＰＣのローカル・ディスクであり、そこからＷｉｎｄｏｗｓ（登録商標）などのオペレーティング・システムがブートされる。本実施形態では、ブート・ローダが、クライアントＰＣの起動要因に応じて起動ディスク、すなわちブート処理すべきオペレーティング・システムを切り替えるようになっている。
【００５０】
チップセット１２上に接続される周辺機器として、ＬＡＮなどのネットワークに相互接続するためのネットワーク・コントローラ１５、通常起動時においてクライアントＰＣのローカル・ディスクとして使用される内蔵ハード・ディスク装置１６、表示装置１８の表示駆動を制御するビデオ・コントローラ１７、キーボードやマウスなどのユーザ入力装置からの入力データを取り扱うユーザ・インターフェース・コントローラ１９などが挙げられる。
【００５１】
ネットワーク・コントローラ１５は、イーサネット（登録商標）などの通信プロトコルに従い、物理層やＭＡＣ層レベルでの通信動作を行なう。本実施形態では、サーバからネットワーク経由での起動要求に応じて当該システムの起動動作を行なうＷａｋｅｕｐ  ｏｎ  ＬＡＮ機能を備えている。また、ブート・ローダが起動要因に応じた起動ディスクの選択を行なうために、ネットワーク・コントローラ１５は、Ｗａｋｅｕｐ  ｏｎ  ＬＡＮにより起動したときはこれを記憶しておくＷａｋｅｕｐ  ｏｎ  ＬＡＮレジスタを備えている。
【００５２】
本実施形態に係る分散コンピューティング・システム（図１を参照のこと）では、サーバは、あらかじめ登録してあるクライアントＰＣ（群）に対して、ネットワークを介した呼びかけを行ない、一定期間内に返事があるかどうかにより、各クライアントが停止状態であるかどうかを確認する。そして、停止中のクライアントＰＣをＷａｋｅｕｐ ｏｎ ＬＡＮによりネットワーク経由で起動する。
【００５３】
クライアントＰＣは、起動中に起動要因が何であったか、すなわちＷａｋｅｕｐ ｏｎ ＬＡＮであるかどうかを確認する。そして、Ｗａｋｅｕｐ ｏｎ ＬＡＮ ならサーバからネットワーク・ブートし、ディスクレス・クライアントとして起動する。そうでないなら、内蔵ハード・ディスク１６などのローカルの資源から起動する。ネットワーク・ブートしたときには、ユーザ・インターフェース・コントローラ１９からの入力を受け付けないが、リセットＳＷが押下された場合はシステムをリセットする。
【００５４】
サーバは、Ｗａｋｅｕｐ ｏｎ ＬＡＮによりブートしたクライアントＰＣを、自身の計算資源に組み込み、シミュレーション計算などの処理をクライアントＰＣ上でリモート実行する。同時に、実行中の計算内容をクライアントＰＣの表示装置１８に表示する。
【００５５】
そして、サーバは、クライアントＰＣでシミュレーション実行中は、定期的にプロセスのチェック・ポイントを実行する。また、シミュレーションが終了すると、新たなシミュレーションを起動する。また、あらかじめ設定した時間（例えば、始業時間などによりユーザによるクライアントＰＣの利用が開始する時刻）になると、シミュレーションのチェック・ポイントを実行し、クライアントＰＣを停止する。
【００５６】
その後、ユーザがクライアントＰＣを起動すると、内蔵ハード・ディスクなどのローカルの資源を用いてブート処理が行なわれるので、通常のクライアント環境が起動する。
【００５７】
図３には、本実施形態に係る分散コンピューティング・システムにおける、サーバとクライアントＰＣ間の連携動作によりシミュレーション計算を実行するための動作シーケンスを図解している。ここでは、使用するクライアントＰＣをサーバに事前登録しているものとする。同図では、簡素化のため、クライアントＰＣを１台しか描いていないが、ネットワーク上にクライアントＰＣが複数台ある場合も同様である。
【００５８】
サーバは、クライアントＰＣに対し、ネットワークを介した起動確認を行なう（ＳＥＱ１）。昼間などユーザがクライアントＰＣを使用中であれば、起動応答があるので、サーバが使用できないことを確認できる。他方、ユーザ使用していないクライアントＰＣからは一定期間内に返事がないので、各クライアントが停止状態であることを確認することができる（ＳＥＱ２）。
【００５９】
そして、サーバは、停止中のクライアントＰＣをＷａｋｅｕｐ ｏｎ ＬＡＮなどの方法により、ネットワーク経由で起動する（ＳＥＱ３）。クライアントＰＣは、Ｗａｋｅｕｐ  ｏｎ  ＬＡＮにより起動し、サーバ側の提供するＬｉｎｕｘなどのオペレーティング・システムがブートされると、サーバに起動通知を行なう（ＳＥＱ４）。
【００６０】
サーバは、クライアントＰＣをディスクレス・クライアントとしてサーバの計算資源に組み込む。そして、シミュレーション計算処理をクライアントＰＣ上でリモート実行する（ＳＥＱ５）。
【００６１】
クライアントＰＣ上でシミュレーション計算をリモート実行している期間中は定期的なチェック・ポイント時間が設定されており、サーバは、このチェック・ポイント時間が到来する度に、チェック・ポイントを実行する（ＳＥＱ６）。チェック・ポイントでは、クライアントＰＣ側でのシミュレーション計算の処理状況の確認や処理結果の保存、クライアントＰＣ自体の動作状態の確認などが行なわれる。
【００６２】
規定時間（例えば、始業時間などによりユーザによるクライアントＰＣの利用が開始する時刻）が到来する前にクライアントＰＣがシミュレーション計算を終えると（ＳＥＱ７）、サーバは、クライアントＰＣに対し、新たなシミュレーション計算の実行を起動する（ＳＥＱ８）。
【００６３】
そして、規定時間が到来すると、サーバは、シミュレーション計算のチェック・ポイントを実行し（ＳＥＱ９）、クライアントＰＣを停止して（ＳＥＱ１０）、本来のユーザのために解放する。
【００６４】
その後、ユーザがクライアントＰＣを起動すると、内蔵ハード・ディスクなどのローカルの資源を用いてＷｉｎｄｏｗｓ（登録商標）などのオペレーティング・システムのブート処理が行なわれるので、通常のクライアント環境が起動する。
【００６５】
ユーザが規定時間よりも前にクライアントＰＣを使用する場合は、リセット・スイッチを押すことにより実行中のシミュレーションは中断され、ユーザが使用しているクライアント環境が起動する。この場合、サーバは、定期的あるいは規定時間内でプロセスのチェック・ポイントに失敗することで、ユーザ操作によるシミュレーションの中断を知ることができる。
【００６６】
このようにしてサーバは停止中のクライアントＰＣをディスクレス・クライアントとして自己の計算資源に組み込み、例えば電子写真プロセスにおける粉体挙動解析など、厖大量のシミュレーション計算を好適に実行することができる。
【００６７】
図４には、本実施形態に係る分散コンピューティング・システムにおいて、サーバとして動作する計算機が実行する処理動作をフローチャートの形式で示している。
【００６８】
サーバは、クライアントＰＣに対し、ネットワークを介した呼びかけ（ポーリング）を行ない（ステップＳ１）、起動しているかどうかを確認する（ステップＳ２）。昼間などユーザがクライアントＰＣを使用中であれば、起動応答があるので、サーバが使用できないことを確認できる。他方、ユーザ使用していないクライアントＰＣからは一定期間内に返事がないので、各クライアントが停止状態であることを確認することができる。
【００６９】
そして、サーバは、停止中のクライアントＰＣをＷａｋｅｕｐ ｏｎ ＬＡＮなどの方法により、ネットワーク経由で起動する（ステップＳ３）。クライアントＰＣは、Ｗａｋｅｕｐ  ｏｎ  ＬＡＮにより起動し、サーバ側の提供するＬｉｎｕｘなどのオペレーティング・システムがブートされると、サーバに起動通知を行なう（ステップＳ４）。
【００７０】
サーバは、クライアントＰＣをディスクレス・クライアントとしてサーバ自身の計算資源に組み込む。そして、シミュレーション計算処理をクライアントＰＣ上でリモート実行し（ステップＳ５）、その実行内容をクライアントＰＣの表示装置１８に表示する。
【００７１】
サーバには、クライアントＰＣをディスクレス・クライアントとして利用することが許可されている規定時間（例えば、始業時間などによりユーザによるクライアントＰＣの利用が開始する時刻）があらかじめ設定されている。この規定時間内において、クライアントＰＣがシミュレーション計算を終えると（ステップＳ７）、ステップＳ５に戻り、クライアントＰＣに対し次のシミュレーション計算の実行を起動する。
【００７２】
また、規定時間内では、サーバは、例えば定期的にチェック・ポイントを実行して、シミュレーション結果を保存する（ステップＳ８）。そして、チェック・ポイントに成功すると（ステップＳ９）、ステップＳ６に戻り、シミュレーション計算の実行を継続する。
【００７３】
他方、クライアントＰＣ側でユーザがリセット・スイッチを押すことにより実行中のシミュレーションは中断され、ユーザが使用しているクライアント環境が起動する。この場合、サーバ側では、チェック・ポイントに失敗するので、次ステップＳ１０に進む。
【００７４】
そして、規定時間が到来すると、サーバは、シミュレーション計算のチェック・ポイントを実行する（ステップＳ１０）。
【００７５】
ステップＳ９においてチェック・ポイントに失敗したとき、あるいは規定時間が到来してステップＳ１０においてチェック・ポイントを実行した後、サーバは、クライアントＰＣで実行したシミュレーションの状況を修正する（ステップＳ１１）。そして、クライアントＰＣを停止して（ステップＳ１２）、本来のユーザのために解放する。
【００７６】
図５には、本実施形態に係る分散コンピューティング・システムにおいて、クライアントＰＣとして動作する計算機が実行する処理動作をフローチャートの形式で示している。
【００７７】
クライアントＰＣは、電源スイッチが投入された（若しくは、リセット・スイッチが押された）（ステップＳ２１）、あるいはネットワーク・コントローラ１５がネットワーク経由でサーバからＷａｋｅｕｐ  ｏｎ  ＬＡＮ（ＷＯＬ）信号を受信したことにより（ステップＳ２２）、起動を開始する。ＷＯＬで起動した場合には、ネットワーク・コントローラ１５内のＷＯＬレジスタにＷＯＬが起動要因であることを記憶する（ステップＳ２３）。
【００７８】
そして、ＲＯＭ１３からＢＩＯＳが動作し、ＢＩＯＳによって起動ディスクの先頭に書かれているＭＢＲがＲＡＭ１４に読み込まれ、ブート・ローダに制御が渡され、ブート処理が行なわれる。
【００７９】
本実施形態では、ブート・ローダが、クライアントＰＣの起動要因に応じて起動ディスク、すなわちブート処理すべきオペレーティング・システムを切り替えるようになっている。すなわち、ネットワーク・コントローラ１５内のＷＯＬフラグの値を参照して（ステップＳ２４）、起動要因がＷＯＬであったかどうかをチェックする。
【００８０】
起動要因がＷＯＬであった場合には、起動ディスクはサーバ側にあるリモート・ディスクであり、そこからＬｉｎｕｘなどのオペレーティング・システムがネットワーク・ブートされ（ステップＳ２５）、ディスクレス・クライアントとして起動する。
【００８１】
クライアントＰＣは、ネットワーク・ブートが完了すると、サーバに起動通知を行なう（ステップＳ２６）。そして、ディスクレス・クライアントとしてサーバの計算資源に組み込まれ、サーバからの指示に応じてシミュレーション計算を実行する（ステップＳ２７）。
【００８２】
サーバには、クライアントＰＣをディスクレス・クライアントとして利用することが許可されている規定時間（例えば、始業時間などによりユーザによるクライアントＰＣの利用が開始する時刻）があらかじめ設定されている。この規定時間が到来すると、サーバは、シミュレーション計算のチェック・ポイントを実行した後、クライアントＰＣに対しシャットダウンを指示する（ステップＳ２８）。クライアントＰＣは、この指示に応答して、シャットダウンする（ステップＳ２９）。
【００８３】
他方、起動要因がＷＯＬ以外であった場合には（ステップＳ２４）、起動ディスクはクライアントＰＣのローカル・ディスクであり、そこからＷｉｎｄｏｗｓ（登録商標）などのオペレーティング・システムがブートされる（ステップＳ３０）。
【００８４】
この場合、クライアントＰＣでは通常のクライアント環境が提供され、ローカル・ユーザがローカル・ディスクを用いてさまざまなアプリケーションを実行することができる（ステップＳ３１）。
【００８５】
そして、ローカル・ユーザは、クライアントＰＣの使用が終了すると（ステップＳ３２）、これをシャットダウンする（ステップＳ２９）。
【産業上の利用可能性】
【００８６】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【００８７】
本明細書では、サーバとクライアントＰＣ間の連携動作によりシミュレーション計算を実行する実施形態を用いて説明してきたが、本発明の要旨はこれに限定されるものではない。勿論、シミュレーション計算以外の処理を分散コンピューティング・システムで実行する場合であっても、同様に本発明を適用することができる。
【００８８】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲の記載を参酌すべきである。
【図面の簡単な説明】
【００８９】
【図１】図１は、本発明の一実施形態に係る分散コンピューティング・システムの構成を模式的に示した図である。
【図２】図２は、クライアントＰＣのハードウェア構成を模式的に示した図である。
【図３】図３は、サーバとクライアントＰＣ間の連携動作によりシミュレーション計算を実行するための動作シーケンスを示した図である。
【図４】図４は、サーバとして動作する計算機が実行する処理動作を示したフローチャートである。
【図５】図５は、クライアントＰＣとして動作する計算機が実行する処理動作を示したフローチャートである。
【符号の説明】
【００９０】
１１…ＣＰＵ
１２…チップセット
１３…ＲＯＭ
１４…ＲＡＭ
１５…ネットワーク・コントローラ
１６…内蔵ハード・ディスク装置
１７…ビデオ・コントローラ
１８…表示装置
１９…ユーザ・インターフェース・コントローラ
【図１】
2006252097.tif 000003
【図２】
2006252097.tif 000004
【図３】
2006252097.tif 000005
【図４】
2006252097.tif 000006
【図５】
2006252097.tif 000007