(57)【要約】      （修正有）【課題】複数のプロセスのうち、いずれかにおいて異常が生じたとしても、コンピュータシステムのメモリ等を浪費することなく、ファイルの送受信を行う。【解決手段】ファイルの送信または受信指令とともに、複数のパラメータの入力を受け付ける入力処理部と、入力処理部からの指令に基づいて、ネットワーク機器とファイルの受信元または送信元との接続を確立するソケット処理を行うデーモン処理部と、デーモン処理部からの指令に基づいて、ネットワーク機器に対するコマンドを複数のパラメータを用いて作成するコマンド処理部とを備え、入力処理プロセス、デーモンプロセスおよびコマンド処理プロセスの各々は、互いの処理を監視する監視部をさらに備え、各々の監視部は、いずれかの処理において異常が発生した場合には、正常に動作している自らの処理の終了指令または異常が発生した処理への終了指令を出すことを特徴とする。【選択図】図１
2009122861.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じてファイルの送受信の機能を有するネットワーク機器を備えるコンピュータシステムにおいて、
ファイルの送信または受信指令とともに、複数のパラメータの入力を受け付ける入力処理部と、
前記入力処理部からの指令に基づいて、前記ネットワーク機器と前記ファイルの受信元または送信元との接続を確立するソケット処理を行うデーモン処理部と、
前記デーモン処理部からの指令に基づいて、前記ネットワーク機器に対するコマンドを前記複数のパラメータを用いて作成するコマンド処理部とを備え、
前記入力処理プロセス、前記デーモンプロセスおよび前記コマンド処理プロセスの各々は、互いの処理を監視する監視部をさらに備え、
前記各々の監視部は、いずれかの前記処理において異常が発生した場合には、正常に動作している自らの処理の終了指令または異常が発生した処理への終了指令を出す
ことを特徴とするコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記入力処理部の前記監視部は、
前記デーモン処理部への指令に対して、所定の時間内に前記デーモン処理部から応答がない場合には、前記デーモン処理部に対して終了指令を出し、
前記デーモン処理部の前記監視部は、
前記ソケット処理後、所定の時間内に前記入力処理部から指令がない場合には、自らの処理の終了指令を出し、
前記コマンド処理部の前記監視部は、
前記ファイル送信または受信の終了後、所定の時間内に前記デーモン処理部から指令がない場合には、自らの処理の終了指令を出す
ことを特徴とするコンピュータシステム。
【請求項３】
ネットワークを通じてファイルの送受信の機能を有するネットワーク機器を備えるコンピュータに、
ファイルの送信または受信指令とともに、複数のパラメータの入力を受け付ける入力処理プロセスと、
前記入力処理プロセスからの指令に基づいて、前記ネットワーク機器と前記ファイルの受信元または送信元との接続を確立するソケット処理を行うデーモンプロセスと、
前記デーモンプロセスからの指令に基づいて、前記ネットワーク機器に対するコマンドを前記複数のパラメータを用いて作成するコマンド処理プロセスとを実行させるとともに、
前記入力処理プロセス、前記デーモンプロセスおよび前記コマンド処理プロセスの各々に備えられ、互いの処理を監視する監視プロセスを実行して、いずれかの前記処理において異常が発生した場合には、正常に動作している自らの処理の終了指令または異常が発生した処理への終了指令を出す
ことを特徴とするコンピュータプログラム。
【請求項４】
請求項３に記載のコンピュータプログラムにおいて、
前記入力処理プロセスの前記監視プロセスは、前記デーモンプロセスへの指令に対して、所定の時間内に前記デーモンプロセスから応答がない場合には、前記デーモンプロセスに対して終了指令を出す
ことを特徴とするコンピュータプログラム。
【請求項５】
請求項３に記載のコンピュータプログラムにおいて、
前記デーモンプロセスの前記監視プロセスは、
前記ソケット処理後、所定の時間内に前記入力処理プロセスから指令がない場合には、自らの処理の終了指令を出す
ことを特徴とするコンピュータプログラム。
【請求項６】
請求項４または請求項５に記載のコンピュータプログラムにおいて、
前記指令とは、前記ファイルの送信または受信の開始指令であることを特徴とするコンピュータプログラム。
【請求項７】
請求項４または請求項５に記載のコンピュータプログラムにおいて、
前記指令とは、前記ファイルの送信または受信の状態の問い合わせの指令であることを特徴とするコンピュータプログラム。
【請求項８】
請求項３から請求項７のいずれか１項に記載のコンピュータプログラムにおいて、
前記コマンド処理プロセスの前記監視プロセスは、
前記ファイルの送信または受信の終了後、所定の時間内に前記デーモンプロセスから指令がない場合には、自らの処理の終了指令を出す
ことを特徴とするコンピュータプログラム。
【請求項９】
請求項３から請求項８のいずれか１項に記載のコンピュータプログラムにおいて、
前記デーモンプロセスの前記監視プロセスは、前記入力処理プロセスから別のファイルの送信または受信指令が所定の時間内にない場合には、自らの処理の終了指令を出す
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを通じてファイルの送受信を行うネットワーク機器を有するコンピュータシステムおよびプログラムに関する。
【背景技術】
【０００２】
従来、ネットワークを通じてファイルの送受信は、ＦＴＰ（File Transfer Protocol）等による専用のアプリケーションを用いて行われる。
【０００３】
そのようなアプリケーションでは、送受信したいファイル名あるいは送信元または受信元のコンピュータ名等をユーザによる入力から受け付けるプロセスや、コンピュータ同士をネットワーク接続するプロセス等の様々なプロセスが階層上に動作することにより、ファイル送受信が行われる。そうしたアプリケーションを用いてファイルの送受信を行っている際に、いずれかのプロセスに異常が生じた場合には、オペレーティングシステムの機能によって異常の生じたプロセスを終了させる。
【０００４】
特許文献１は、様々なプロセスの動作状況を監視する監視プロセスを配置することにより、いずれかのプロセスに異常が生じた場合には、その監視プロセスがその異常が生じたプロセスを強制的に終了させ、各々のプロセスの処理を断続的に停止させないように制御する技術を開示している。
【特許文献１】特願平９−３２５８９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術のオペレーティングシステムの機能が異常の生じたプロセスを終了させる方法では、終了されるまで待つ必要があり、不要なプロセスがコンピュータシステム上にその間残り、メモリ等の資源を無駄に浪費する。
【０００６】
また、特許文献１では、監視プロセス自身が異常となった場合には、他のプロセスを監視できないことから、監視プロセスだけでなく、その後異常となった他のプロセスまでも、コンピュータシステム上にいつまでも残り、やはりメモリ等の資源を無駄に浪費する。
【０００７】
上記従来技術が有する問題に鑑み、本発明の目的は、いずれかのプロセスにおいて異常が生じても、コンピュータシステムのメモリ等を浪費することなく、ファイルの送受信を行う技術を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、ネットワークを通じてファイルの送受信の機能を有するネットワーク機器を備えるコンピュータシステムにおいて、ファイルの送信または受信指令とともに、複数のパラメータの入力を受け付ける入力処理部と、入力処理部からの指令に基づいて、ネットワーク機器とファイルの受信元または送信元との接続を確立するソケット処理を行うデーモン処理部と、デーモン処理部からの指令に基づいて、ネットワーク機器に対するコマンドを複数のパラメータを用いて作成するコマンド処理部とを備え、入力処理プロセス、デーモンプロセスおよびコマンド処理プロセスの各々は、互いの処理を監視する監視部をさらに備え、各々の監視部は、いずれかの処理において異常が発生した場合には、正常に動作している自らの処理の終了指令または異常が発生した処理への終了指令を出すことを特徴とする。
【０００９】
請求項２に係る発明は、請求項１に記載のコンピュータシステムにおいて、入力処理部の監視部は、デーモン処理部への指令に対して、所定の時間内にデーモン処理部から応答がない場合には、デーモン処理部に対して終了指令を出し、デーモン処理部の監視部は、ソケット処理後、所定の時間内に入力処理部から指令がない場合には、自らの処理の終了指令を出し、コマンド処理部の監視部は、ファイル送信または受信の終了後、所定の時間内にデーモン処理部から指令がない場合には、自らの処理の終了指令を出すことを特徴とする。
【００１０】
請求項３に係る発明は、ネットワークを通じてファイルの送受信の機能を有するネットワーク機器を備えるコンピュータに、ファイルの送信または受信指令とともに、複数のパラメータの入力を受け付ける入力処理プロセスと、入力処理プロセスからの指令に基づいて、ネットワーク機器とファイルの受信元または送信元との接続を確立するソケット処理を行うデーモンプロセスと、デーモンプロセスからの指令に基づいて、ネットワーク機器に対するコマンドを複数のパラメータを用いて作成するコマンド処理プロセスとを実行させるとともに、入力処理プロセス、デーモンプロセスおよびコマンド処理プロセスの各々に備えられ、互いの処理を監視する監視プロセスを実行して、いずれかの処理において異常が発生した場合には、正常に動作している自らの処理の終了指令または異常が発生した処理への終了指令を出すことを特徴とする。
【００１１】
請求項４に係る発明は、請求項３に記載のコンピュータプログラムにおいて、入力処理プロセスの監視プロセスは、デーモンプロセスへの指令に対して、所定の時間内にデーモンプロセスから応答がない場合には、デーモンプロセスに対して終了指令を出すことを特徴とする。
【００１２】
請求項５に係る発明は、請求項３に記載のコンピュータプログラムにおいて、デーモンプロセスの監視プロセスは、ソケット処理後、所定の時間内に入力処理プロセスから指令がない場合には、自らの処理の終了指令を出すことを特徴とする。
【００１３】
請求項６に係る発明は、請求項４または請求項５に記載のコンピュータプログラムにおいて、指令とは、ファイルの送信または受信の開始指令であることを特徴とする。
【００１４】
請求項７に係る発明は、請求項４または請求項５に記載のコンピュータプログラムにおいて、指令とは、ファイルの送信または受信の状態の問い合わせの指令であることを特徴とする。
【００１５】
請求項８に係る発明は、請求項３から請求項７のいずれか１項に記載のコンピュータプログラムにおいて、コマンド処理プロセスの監視プロセスは、ファイルの送信または受信の終了後、所定の時間内にデーモンプロセスから指令がない場合には、自らの処理の終了指令を出すことを特徴とする。
【００１６】
請求項９に係る発明は、請求項３から請求項８のいずれか１項に記載のコンピュータプログラムにおいて、デーモンプロセスの監視プロセスは、入力処理プロセスから別のファイルの送信または受信指令が所定の時間内にない場合には、自らの処理の終了指令を出すことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、いずれかのプロセスにおいて異常が生じても、コンピュータシステムのメモリ等を浪費することなく、ファイルの送受信を行うことが可能となる。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の一の実施形態に係るコンピュータシステムを構成するコンピュータ１、周辺装置およびコンピュータ１のＣＰＵ上で動作するソフトウェアを示す。
【００１９】
コンピュータ１は、一般的なコンピュータを用いることができ、ＣＰＵ、外部の表示装置２や入力装置３を接続する入出力インターフェース４およびネットーワークを通じて接続するネットワーク機器５とともに、図示されていないが、電源装置、ハードディスク等の記憶装置およびメモリ等から構成されている。電源装置以外のＣＰＵ、入出力インターフェース４、ネットワーク機器５、記憶装置およびメモリ等は、バス（不図示）を通じて情報送達可能に接続されている。記憶装置には、オペレーティングシステムとともに、本発明において、ネットワークを通じてファイルの送受信に必要となるブラウザ等のアプリケーションが保存されている。
【００２０】
表示装置２は、送受信の途中経過やその結果を、ユーザが確認可能な情報として表示する。表示装置２には、モニタやプリンタ等を用いることができる。
【００２１】
入力装置３は、ユーザによるアプリケーション等の起動や初期設定、さらには送受信したいファイル名等の入力に用いられる。入力装置３には、一般的なキーボードやマウス等を用いることができる。
【００２２】
オペレーティングシステムは、ユーザにより、コンピュータ１の電源が入れられると起動され、複数のアプリケーションによる処理を制御する。本実施形態におけるオペレーティングシステムとしては、ＵＮＩＸ（登録商標）等のマルチタスク処理が可能なものを適宜選択して使用することができる。
【００２３】
アプリケーションは、図１のようにオペレーティングシステムの制御の基に、動作する。本実施形態におけるファイルの送受信に必要となるアプリケーションは、入力装置３を介してユーザからの入力を受け付けたり送受信の結果を表示するブラウザ、そのブラウザを介してユーザから入力された情報を処理する画面処理プロセス、ソケットを用いてネットワーク接続の設定を行うデーモンプロセス、そのデーモンプロセスの指令に基づいてコマンドを作成するコマンド処理プロセスおよびそのコマンド処理プロセスからのコマンドに基づいてネットワーク機器５を制御する通信プロセスとから成る。図１が示すように、各プロセスは、その上位または下位のプロセスと双方向に情報が伝達できる階層構造を成している。
【００２４】
本実施形態における、コンピュータ１によるファイルの送受信の一連の処理は、図２〜図４に示される手順に基づいて行われ、以下に説明する。図２〜図４の各々は、例えば、コンピュータ１と送信元となるＪＡＶＡ（登録商標）サーバプログラムによってＦＴＰサーバ機能を有するコンピュータシステムとの間でファイル受信を行う場合における、ネットワーク接続処理、ファイル受信処理およびファイル受信後の処理の手順をそれぞれ示す。また、図２〜図４における実線はプロセスが起動状態にあることを、点線はプロセスが待機状態にあることをそれぞれ示す。
【００２５】
具体的には、ユーザが、入力装置３のマウスやキーボード等を用いて、表示装置２のモニタ上のブラウザのアイコンをダブルクリックしたり、コマンドを入力する。これにより、入出力インターフェース４を介して、ＣＰＵ（不図示）にブラウザの起動命令が伝えられ、ＣＰＵは、オペレーティングシステム上にブラウザを起動する。その結果、図２のステップＳａ１０からの処理が始まる。なお、Ｓａ、Ｓｂ、ＳｃおよびＳｄの各々で始まるステップは、ブラウザ、画面処理プロセス、デーモンプロセスおよびコマンド処理プロセスによる処理をそれぞれ示す。また、通信プロトコルおよびネットワーク機器５による動作については、従来技術であるＦＴＰに関するプロセスを用いることが可能であり、図３のステップＳｆ３０〜Ｓｆ３２のＦＴＰ処理のみで表し、詳細な説明は省略する。
【００２６】
図２のネットワーク接続を行う手順について説明する。本実施形態では、ＦＴＰサーバ機能を有するコンピュータシステムにあるテキストや画像データ等のファイルを受信する場合を考える。送信する場合は、ＦＴＰ処理において受信から送信に置き換えるだけで、他のステップの処理は基本的に受信時と同じである。
【００２７】
ブラウザは、ステップＳａ１０において、ユーザが受信したいファイル名とともに、そのファイルが格納されている送信元であるコンピュータ名あるいはＩＰアドレス等を、ユーザから受け付ける。ブラウザは、画面処理プロセスを起動して、ＦＴＰ開始要求とともに、ユーザからの情報を画面処理プロセスに伝える。なお、ユーザが受信したいファイル名等の入力は、ブラウザ上にＨＴＭＬやＪａｖａｓｃｒｉｐｔ等のコンピュータ言語を用いて作成されたウエブページ上における、入力欄にキーボードを用いた直接入力でも良いし、ファイル名等が示されたリンクをマウス等でクリックして指定しても良い。
【００２８】
ブラウザからの指令により、画面処理プロセスは、ステップＳｂ１０において、ブラウザからのＦＴＰ開始要求と各種設定情報（受信ファイル名や送信元の名前あるいはＩＰアドレス等）に基づいて、デーモンプロセスがソケットを用いて相手のコンピュータシステムからファイル受信を行う手順を示すファイルを作成し、デーモンプロセスを起動してそのファイルを渡す。
【００２９】
ステップＳｂ１１では、画面処理プロセスが、送信元とネットワーク接続を行うＵＮＩＸドメインＴＣＰ接続の指令をデーモンプロセスに出す。
【００３０】
ステップＳｂ１２では、画面処理プロセスが、ＦＴＰ開始とともに送信元との接続情報取得の指令を、ＦＴＰ情報送信としてデーモンプロセスに出す。
【００３１】
ステップＳｂ１３では、画面処理プロセスが、コンピュータ１のタイマーを用いて、ステップＳｂ１２でのＦＴＰ情報送信に対する、デーモンプロセスからの応答を受け取るまでの待機時間の計測を開始する。
【００３２】
ステップＳｂ１４では、画面処理プロセスが、デーモンプロセスからの応答を受けたか否かの判定を行う。応答があれば、ステップＳｂ１７（ＹＥＳ側）へ移行する。応答がなければ、ステップＳｂ１５（ＮＯ側）へ移行する。
【００３３】
ステップＳｂ１５では、画面処理プロセスが、ステップＳｂ１３にて計測開始した応答の待機時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｂ１６（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｂ１４（ＮＯ側）へ戻り、再度デーモンプロセスからの応答を確認する。なお、本実施形態では、ステップＳｂ１５における所定の待機時間として、２０秒と設定した。
【００３４】
ステップＳｂ１６では、画面処理プロセスが、２０秒以内にデーモンプロセスからの応答を受けなかったことから、デーモンプロセスにおいて何らかの異常が生じたと判断し、デーモンプロセスに対して終了指令を出し強制的に終了させる。ブラウザのステップＳａ１０へ戻り、最初から処理をやり直す。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００３５】
ステップＳｂ１７では、画面処理プロセスが、子プロセスであるコマンド処理プロセスからの送信元との接続情報を、子プロセス情報としてブラウザに送信する。その後、画面処理プロセスは、デーモンプロセスからステップＳｃ２０のソケット切断の知らせを受けると、ブラウザから次の指令を受けるまで待機する。
【００３６】
一方、デーモンプロセスは、ステップＳｃ１０において、画面処理プロセスから得た受信ファイル名、送信元の名前あるいはＩＰアドレス等とともに、送受信に用いるネットワーク機器５のポート番号等を決めながら、ＵＮＩＸドメインＴＣＰ接続のためのソケットを作成する。
【００３７】
ステップＳｃ１１では、デーモンプロセスが、画面処理プロセスのステップＳｂ１１でのＵＮＩＸドメインＴＣＰ接続の指令に基づいて、ソケットによる接続情報を登録する。なお、本実施形態における送信元のコンピュータシステムは、ＪＡＶＡサーバプログラムによるＦＴＰサーバ機能を有していることから、ＣＧＩ用のソケットを使用する。
【００３８】
ステップＳｃ１２では、デーモンプロセスが、コンピュータ１のタイマーを用いて、画面処理プロセスのステップＳｂ１２でのＦＴＰ情報送信の指令を受けるまでの待機時間の計測を開始する。
【００３９】
ステップＳｃ１３では、デーモンプロセスが、画面処理プロセスからステップＳｂ１２の指令を受けたか否かの判定を行う。指令があれば、ステップＳｃ１６（ＹＥＳ側）へ移行する。指令がなければ、ステップＳｃ１４（ＮＯ側）へ移行する。
【００４０】
ステップＳｃ１４では、デーモンプロセスが、ステップＳｃ１２にて計測開始した指令の待機時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｃ１５（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｃ１３（ＮＯ側）へ戻り、再度画面処理プロセスからの指令を確認する。なお、本実施形態では、ステップＳｃ１４における所定の待機時間として、６０秒と設定した。
【００４１】
ステップＳｃ１５では、デーモンプロセスが、６０秒以内に画面処理プロセスからの指令を受けなかったことから、画面処理プロセスにおいて何らかの異常が生じたと判断し、終了コマンドを発行して自らのプロセスを強制的に終了する。ブラウザのステップＳａ１０へ戻り、最初から処理をやり直す。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００４２】
ステップＳｃ１６では、デーモンプロセスが、画面処理プロセスからステップＳｂ１２のＦＴＰ開始指令に基づいて、コマンド処理プロセスにＦＴＰを実行させるための手順を示すファイルを作成し、コマンド処理プロセスを起動してそのファイルを渡す。
【００４３】
ステップＳｃ１７では、デーモンプロセスが、コマンド処理プロセスからステップＳｄ１１での送信元との接続情報を受け取り、その応答による接続情報を登録する。
【００４４】
ステップＳｃ１８では、デーモンプロセスが、ステップＳｃ１７で受けたコマンド処理プロセスからの応答に対する返事である接続完了の指令をコマンド処理プロセスに出す。
【００４５】
ステップＳｃ１９では、デーモンプロセスが、コマンド処理プロセスから受けた接続情報を、画面処理プロセスへ送信する。
【００４６】
ステップＳｃ２０およびステップＳｃ２１では、デーモンプロセスが、ソケット切断およびＣＧＩソケット接続情報の削除を行う。
【００４７】
他方、コマンド処理プロセスは、ステップＳｄ１０において、ステップＳｃ１６におけるデーモンプロセスからのＦＴＰ実行指令に基づいて、ＵＮＩＸドメインＴＣＰ接続を行う。
【００４８】
ステップＳｄ１１では、コマンド処理プロセスが、送信元との接続が確立したことを示す接続情報をデーモンプロセスに送信する。
【００４９】
ステップＳｄ１２では、コマンド処理プロセスが、デーモンプロセスからステップＳｃ１６で作成したファイルに基づいて、送信元からファイルを受信するためのＦＴＰコマンドファイルを作成する。
【００５０】
以上、ブラウザを通じて、ユーザからの入力を受け付けてからネットワーク接続を行うまでの手順について示した。
【００５１】
次に、ＦＴＰによるファイル受信開始およびＦＴＰ状態問い合わせの手順について、図３に基づいて説明する。
【００５２】
まず、コマンド処理プロセスが、ステップＳｄ３０において、ステップＳｄ１２で作成したＦＴＰコマンドファイルを実行することにより、通信プロセスがネットワーク機器５を制御して、ステップＳｆ３０の送信元とのＦＴＰ接続がなされ、ステップＳｆ３１のファイル受信が開始する。
【００５３】
次に、ブラウザは、ステップＳａ３０において、画面処理プロセスを呼び出して、ＦＴＰ状態の問い合わせを行う。
【００５４】
それを受けて、画面処理プロセスは、ステップＳｂ３０において、ＵＮＩＸドメインＴＣＰ接続の指令をデーモンプロセスに出す。
【００５５】
ステップＳｂ３１では、画面処理プロセスが、ＦＴＰ状態問い合わせをデーモンプロセスに行う。
【００５６】
ステップＳｂ３２では、画面処理プロセスが、コンピュータ１のタイマーを用いて、ステップＳｂ３１におけるＦＴＰ状態問い合わせに対する、デーモンプロセスからの応答が得られるまでの待機時間の計測を開始する。
【００５７】
ステップＳｂ３３では、画面処理プロセスが、デーモンプロセスからの応答を受けたか否かの判定を行う。応答があれば、ステップＳｂ３６（ＹＥＳ側）へ移行する。応答がなければ、ステップＳｂ３４（ＮＯ側）へ移行する。
【００５８】
ステップＳｂ３４では、画面処理プロセスが、ステップＳｂ３２にて計測開始した応答の待機時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｂ３５（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｂ３３（ＮＯ側）へ戻り、デーモンプロセスからの応答を確認する。なお、本実施形態では、ステップＳｂ３４における所定の待機時間として、２０秒と設定した。
【００５９】
ステップＳｂ３５では、画面処理プロセスが、２０秒以内にデーモンプロセスからの応答を受けなかったことから、デーモンプロセスにおいて何らかの異常が生じたと判断し、デーモンプロセスに対して終了指令を出し強制的に終了させる。ブラウザのステップＳａ１０へ戻り、最初から処理をやり直す。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００６０】
ステップＳｂ３６では、画面処理プロセスが、コマンド処理プロセスからのＦＴＰ状態の応答をブラウザに送信する。
【００６１】
画面処理プロセスは、デーモンプロセスからステップＳｃ３７でのソケット切断の知らせを受けると、ブラウザから次の指令を受けるまで待機する。
【００６２】
一方、デーモンプロセスは、ステップＳｃ３０において、画面処理プロセスからステップＳｂ３０での指令に基づいて、ＣＧＩソケットによる接続情報を登録する。
【００６３】
ステップＳｃ３１では、デーモンプロセスが、コンピュータ１のタイマーを用いて、画面処理プロセスからステップＳｂ３１のＦＴＰ状態問い合わせを受けるまでの待機時間の計測を開始する。
【００６４】
ステップＳｃ３２では、デーモンプロセスが、画面処理プロセスからステップＳｂ３１のＦＴＰ状態問い合わせを受けたか否かの判定を行う。指令があれば、ステップＳｃ３５（ＹＥＳ側）へ移行する。指令がなければ、ステップＳｃ３３（ＮＯ側）へ移行する。
【００６５】
ステップＳｃ３３では、デーモンプロセスが、ステップＳｃ３１にて計測開始した指令の待機時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｃ３４（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｃ３２（ＮＯ側）へ戻り、画面処理プロセスからの指令を確認する。なお、本実施形態では、ステップＳｃ３３における所定の待機時間として、６０秒と設定した。
【００６６】
ステップＳｃ３４では、デーモンプロセスが、６０秒以内に画面処理プロセスからの指令を受けなかったことから、画面処理プロセスにおいて何らかの異常が生じたと判断し、終了コマンドを発行して自らのプロセスを強制的に終了する。ブラウザのステップＳａ１０へ戻り、最初から処理をやり直す。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００６７】
ステップＳｃ３５では、デーモンプロセスが、コマンド処理プロセスに対してＦＴＰ状態の問い合わせを行う。
【００６８】
ステップＳｃ３６では、デーモンプロセスが、ステップＳｃ３５に対するコマンド処理プロセスからの応答（ステップＳｄ３１）を、画面処理プロセスへ送信する。
【００６９】
ステップＳｃ３７およびステップＳｃ３８では、デーモンプロセスが、ソケット切断およびＣＧＩソケット接続情報の削除を行う。
【００７０】
以上、ＦＴＰによるファイル受信開始およびＦＴＰ状態問い合わせに対する一連の手順である。このような問い合わせは、ファイル受信（ステップＳｆ３２）が終了し、コマンド処理プロセスがＦＴＰコマンド終了受付（ステップＳｄ３２）するまで定期的に繰り返して行うのが好適である。本実施形態では、一連のＦＴＰ状態問い合わせが終了してから次の問い合わせを開始までの時間間隔を、３秒に設定して行った。
【００７１】
最後に、ファイル受信終了後の手順について、図４に基づいて説明する。
【００７２】
図３において、ＦＴＰによるファイル受信処理がすべて終了すると、コマンド処理プロセスは、ステップＳｄ３２において、ＦＴＰコマンド終了を受け付ける。これにより、コマンド処理プロセスは、ステップＳｄ５０において、デーモンプロセスへ実行結果を送信する。デーモンプロセスは、ステップＳｃ５０において、受けたその実行結果を登録する。
【００７３】
次に、ブラウザは、ステップＳａ５０において、画面処理プロセスを待機状態から呼び出して、終了待ち問い合わせとなるＦＴＰ状態問い合わせを再度行う。
【００７４】
それを受けて、画面処理プロセスは、ステップＳｂ５０において、ＵＮＩＸドメインＴＣＰ接続指令をデーモンプロセスに出す。
【００７５】
ステップＳｂ５１では、画面処理プロセスが、ＦＴＰ状態の問い合わせをデーモンプロセスに行う。
【００７６】
ステップＳｂ５２では、画面処理プロセスが、コンピュータ１のタイマーを用いて、ステップＳｂ５１におけるＦＴＰ状態問い合わせに対する、デーモンプロセスからの応答が得られるまでの待機時間の計測を開始する。
【００７７】
ステップＳｂ５３では、画面処理プロセスが、デーモンプロセスからの応答を受けたか否かの判定を行う。応答があれば、ステップＳｂ５６（ＹＥＳ側）へ移行する。応答がなければ、ステップＳｂ５４（ＮＯ側）へ移行する。
【００７８】
ステップＳｂ５４では、画面処理プロセスが、ステップＳｂ５２にて計測開始した応答の待機時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｂ５５（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｂ５３（ＮＯ側）へ移行して、デーモンプロセスからの応答を待つ。なお、本実施形態では、ステップＳｂ５４における所定の待機時間として、２０秒と設定した。
【００７９】
ステップＳｂ５５では、画面処理プロセスが、２０秒以内にデーモンプロセスからの応答を受けなかったことから、デーモンプロセスにおいて何らかの異常が生じたと判断し、デーモンプロセスに対して終了指令を出し強制的に終了させる。ブラウザのステップＳａ１０へ戻り、最初から処理をやり直す。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００８０】
ステップＳｂ５６では、画面処理プロセスが、コマンド処理プロセスからの実行結果を、ブラウザに送信する。
【００８１】
ステップＳｂ５７では、画面処理プロセスが、ブラウザに対して、受信したファイルを画面に描画する指令を行う。ブラウザは、その指令を受けると、入出力インターフェース４を通じて、表示装置２のモニタ等に、ブラウザのページ上に受信したファイルを表示する。そして、画面処理プロセスは、ブラウザから次の指令を受けるまで待機する。
【００８２】
一方、デーモンプロセスは、ステップＳｃ５１において、ステップＳｂ５０の画面処理プロセスからの指令に基づいて、ＣＧＩソケットの接続情報を登録する。
【００８３】
ステップＳｃ５２では、デーモンプロセスが、コンピュータ１のタイマーを用いて、画面処理プロセスからステップＳｂ５１のＦＴＰ状態問い合わせを受けるまでの待機時間の計測を開始する。
【００８４】
ステップＳｃ５３では、デーモンプロセスが、画面処理プロセスからステップＳｂ５１のＦＴＰ状態問い合わせを受けたか否かの判定を行う。指令があれば、ステップＳｃ５６（ＹＥＳ側）へ移行する。指令がなければ、ステップＳｃ５４（ＮＯ側）へ移行する。
【００８５】
ステップＳｃ５４では、デーモンプロセスが、ステップＳｃ５２にて計測開始した指令の待機時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｃ５５（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｃ５３（ＮＯ側）へ戻り、画面処理プロセスからの指令を確認する。なお、本実施形態では、ステップＳｃ５４における所定の待機時間として、６０秒と設定した。
【００８６】
ステップＳｃ５５では、デーモンプロセスが、６０秒以内に画面処理プロセスからの指令を受けなかったことから、画面処理プロセスにおいて何らかの異常が生じたと判断し、終了コマンドを発行して自らのプロセスを強制的に終了する。ブラウザのステップＳａ１０へ戻り、最初から処理をやり直す。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００８７】
ステップＳｃ５６では、デーモンプロセスが、ＦＴＰの実行結果を画面処理プロセスへ送信する。
【００８８】
ステップＳｃ５７では、デーモンプロセスが、コマンド処理プロセスに対してプロセス終了のコマンドを送信する。
【００８９】
ステップＳｃ５８およびステップＳｃ５９では、デーモンプロセスが、ソケット切断およびＣＧＩソケット接続情報の削除を行う。
【００９０】
一方、コマンド処理プロセスは、コンピュータ１のタイマーを用いて、ステップＳｄ５０にて実行結果をデーモンプロセスに送信した後、ステップＳｄ５１において、デーモンプロセスからプロセス終了のコマンドを受けるまでの待ち時間の計測を開始する。
【００９１】
ステップＳｄ５２では、コマンド処理プロセスが、デーモンプロセスからステップＳｃ５７のプロセス終了のコマンドを受けたか否かの判定を行う。受けていれば、ステップＳｄ５５（ＹＥＳ側）へ移行する。受けていなければ、ステップＳｄ５３（ＮＯ側）へ移行する。
【００９２】
ステップＳｄ５３では、コマンド処理プロセスが、ステップＳｄ５１にて計測開始した待ち時間が、所定の待機時間を経過したか否かの判定を行う。経過した場合には、ステップＳｃ５４（ＹＥＳ側）へ移行する。経過していない場合には、ステップＳｄ５２（ＮＯ側）へ戻り、デーモンプロセスからの指令を待つ。なお、本実施形態では、ステップＳｄ５３における所定の待機時間として、６０秒と設定した。
【００９３】
ステップＳｄ５４では、コマンド処理プロセスが、６０秒以内にデーモンプロセスからコマンドを受けなかったことから、デーモンプロセスにおいて何らかの異常が生じたと判断し、自らのプロセスを強制的に終了するコマンドを出す。これと次のステップＳｄ５５とにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００９４】
ステップＳｃ５５では、コマンド処理プロセスが、デーモンプロセスあるいは自身で発行したプロセス終了コマンドに基づいて、プロセスを終了し待機状態になる。
【００９５】
以上、ＦＴＰによるファイル受信終了後の手順である。
【００９６】
最後に、上述以降の処理ついて説明する。ブラウザは、ステップＳａ５１において、ユーザに別のファイルを受信するか否かを判断させる。ブラウザは、ユーザの応答に基づいて、別ファイルを受信する場合（ＹＥＳ側）には、図２のステップＳａ１０へ戻り、受信しない場合（ＮＯ側）には、すべての処理を終了する。
【００９７】
また、デーモンプロセスは、ステップＳｃ６０において、コンピュータ１のタイマーを用いて、別のファイル受信の指令を画面処理プロセスを介して受けるまでの時間を計測を開始する。デーモンプロセスは、ステップＳｃ６１において、所定の待機時間内にその指令を受けなければ、終了コマンドを発行して自らのプロセスを終了し待機状態になる。なお、本実施形態における所定の待機時間として、５分と設定した。これにより、自身のコンピュータ１のメモリ等の浪費を回避することができる。
【００９８】
このように本実施形態により、画面処理プロセス、デーモンプロセスおよびコマンド処理プロセスの各々が互いの監視を行うことにより、いずれか１つのプロセスに異常が生じていると判断された場合には、そのプロセスを終了させたり自らのプロセスを終了することで、コンピュータ１のメモリ等の無駄な浪費を抑えることが可能となる。
【００９９】
なお、本実施形態では、送信元のコンピュータシステムは、ＪＡＶＡサーバプログラムによりＦＴＰサーバ機能を有しているとしたが、本発明はこれに限定されない。他のコンピュータ言語によってＦＴＰサーバ機能を有するコンピュータシステムでも可能である。
【０１００】
なお、本実施形態では、ＵＮＩＸドメインによるＴＣＰ接続で、コンピュータ１と送信元との接続を行ったが、本発明はこれに限定されない。ＮＥＴドメインのＴＣＰ接続を用いることも可能である。
【０１０１】
なお、本実施形態では、デーモンプロセスは、ＣＧＩソケットを用いてコンピュータ１と送信元との接続を行ったが、本発明はこれに限定されず、他のソケットを用いることも可能である。
【０１０２】
なお、本実施形態では、画面処理プロセスのデーモンプロセスからの応答の待機時間、デーモンプロセスの画面処理プロセスからの指令の待機時間、コマンド処理プロセスのデーモンプロセスからのプロセス終了コマンドの待機時間、およびデーモンプロセスの別ファイル受信の指令の待機時間を、それぞれ２０秒、６０秒、６０秒および５分としたが、本発明はこれに限定されない。コンピュータ１や送信元の処理能力やネットワークの通信速度等に応じて、各プロセスの待機時間を決め設定することが好適である。
【０１０３】
なお、本実施形態では、図３のＦＴＰ状態問い合わせを３秒間隔で行ったが、本発明はこれに限定されない。コンピュータ１や送信元の処理能力やネットワークの通信速度等に応じて、間隔の時間を決めることができる。
【０１０４】
なお、本実施形態では、コンピュータ１がファイルを受信する場合について説明したが、本発明はこれに限定されない。コンピュータ１がファイルを他のコンピュータシステムに送信することもできる。その場合には、ステップＳｆ３１は、ＦＴＰ送信に置き換えることで達成される。
【０１０５】
なお、本発明は、その精神またはその主要な特徴から逸脱することなく他の様々な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されてはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文には何ら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【産業上の利用可能性】
【０１０６】
以上説明したように、本発明は、コンピュータシステムを始め、メモリ容量の小さい携帯端末等に応用可能な技術である。
【図面の簡単な説明】
【０１０７】
【図１】本発明の一の実施形態に係るコンピュータシステムの構成を示す図。
【図２】本発明の一の実施形態におけるネットワーク接続を行う手順について示す図。
【図３】本発明の一の実施形態におけるＦＴＰによるファイル受信開始およびＦＴＰ状態問い合わせの手順について示す図。
【図４】本発明の一の実施形態におけるＦＴＰによるファイル受信終了およびそれ以降の手順について示す図。
【符号の説明】
【０１０８】
１  コンピュータ、２  表示装置、３  入力装置、４  入出力インターフェース、５  ネットワーク機器
【図１】
2009122861.tif 000003
【図２】
2009122861.tif 000004
【図３】
2009122861.tif 000005
【図４】
2009122861.tif 000006