(57)【特許請求の範囲】
【請求項１】
複数のクライアント装置と通信可能な情報処理装置であって、
前記クライアント装置からの認証要求に応じて認証を実行することで、前記クライアント装置との接続を確立する接続手段と、
前記接続手段で接続が確立された前記クライアント装置からパケットを受信するパケット受信手段と、
前記パケット受信手段で受信したパケットが、情報処理装置からのデータの取得を目的とするパケットか、データの取得を目的とするパケットではない、当該パケットの送信元のクライアント装置と前記情報処理装置との接続の維持を目的とするパケットかを判定する判定手段と、
前記判定手段で、前記パケット受信手段で受信したパケットが、当該パケットの送信元のクライアント装置と情報処理装置との接続の維持を目的とするパケットであると判定された場合に、当該クライアント装置との接続を切断すべく制御する切断制御手段と、
前記判定手段で前記接続の維持を目的とするパケットと判定されるパケットの送信元のクライアント装置から、当該パケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信しているか判定するパケット判定手段と、
を備え、
前記切断制御手段は、前記パケット判定手段で、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していると判定した場合に、接続の切断の制御を行うことなく、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していないと判定した場合に、当該クライアント装置との接続を切断すべく制御することを特徴とすることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置からのデータの取得を目的とするパケットではない、当該パケットの送信元のクライアント装置と前記情報処理装置との接続の維持を目的とするパケットとは、ＮＵＬＬパケット又はＤｕｍｍｙパケットであって、
前記判定手段、前記パケット受信手段で受信したパケットがＮＵＬＬパケット又はＤｕｍｍｙパケットかを判定し、
前記切断制御手段は、前記パケット受信手段で受信したパケットがＮＵＬＬパケット又はＤｕｍｍｙパケットである場合に、当該ＮＵＬＬパケット又はＤｕｍｍｙパケットの送信元のクライアント装置との接続を切断すべく制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記クライアント装置と前記情報処理装置との接続が可能な接続上限を記憶する接続上限記憶手段と、
を備え、
前記切断制御手段は、前記受信手段で前記複数のクライアント装置から受信したパケットが、前記接続上限記憶手段に記憶されている接続上限から所定数以内になった場合に、情報処理装置との接続の維持を目的とするパケットの送信元であるクライアント装置との接続を切断すべく制御することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記切断制御手段は、前記判定手段でクライアント装置と情報処理装置との接続の維持を目的とするパケットと判定されたパケットの送信元のクライアント装置に対して、当該クライアント装置と情報処理装置との接続を切断する旨を確認する確認画面を表示すべく制御し、
前記確認画面において、当該切断をする指示を受け付けた場合に当該クライアント装置と情報処理装置との接続を切断することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
複数のクライアント装置と通信可能な情報処理装置の制御方法であって、
前記クライアント装置からの認証要求に応じて認証を実行することで、前記クライアント装置との接続を確立する接続工程と、
前記接続工程で接続が確立された前記クライアント装置からパケットを受信するパケット受信工程と、
前記パケット受信工程で受信したパケットが、情報処理装置からのデータの取得を目的とするパケットか、データの取得を目的とするパケットではない、当該パケットの送信元のクライアント装置と前記情報処理装置との接続の維持を目的とするパケットかを判定する判定工程と、
前記判定工程で、前記パケット受信工程で受信したパケットが、当該パケットの送信元のクライアント装置と情報処理装置との接続の維持を目的とするパケットであると判定された場合に、当該クライアント装置との接続を切断すべく制御する切断制御工程と、
前記判定工程で前記接続の維持を目的とするパケットと判定されるパケットの送信元のクライアント装置から、当該パケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信しているか判定するパケット判定工程と、
を含み、
前記切断制御工程において、前記パケット判定工程で、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していると判定した場合に、接続の切断の制御を行うことなく、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していないと判定した場合に、当該クライアント装置との接続を切断すべく制御することを特徴とする情報処理装置の制御方法。
【請求項６】
複数のクライアント装置と通信可能な情報処理装置で実行が可能なプログラムであって、
前記情報処理装置を、
前記クライアント装置からの認証要求に応じて認証を実行することで、前記クライアント装置との接続を確立する接続手段と、
前記接続手段で接続が確立された前記クライアント装置からパケットを受信するパケット受信手段と、
前記パケット受信手段で受信したパケットが、情報処理装置からのデータの取得を目的とするパケットか、データの取得を目的とするパケットではない、当該パケットの送信元のクライアント装置と前記情報処理装置との接続の維持を目的とするパケットかを判定する判定手段と、
前記判定手段で、前記パケット受信手段で受信したパケットが、当該パケットの送信元のクライアント装置と情報処理装置との接続の維持を目的とするパケットであると判定された場合に、当該クライアント装置との接続を切断すべく制御する切断制御手段と、
前記判定手段で前記接続の維持を目的とするパケットと判定されるパケットの送信元のクライアント装置から、当該パケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信しているか判定するパケット判定手段として機能させ、
前記切断制御手段を、前記パケット判定手段で、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していると判定した場合に、接続の切断の制御を行うことなく、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していないと判定した場合に、当該クライアント装置との接続を切断すべく制御する手段として機能させることを特徴とする情報処理装置のプログラム。
【請求項７】
複数のクライアント装置と、情報処理装置とを含む情報処理システムであって、
前記クライアント装置からパケットを受信するパケット受信手段と、
前記パケット受信手段で受信したパケットが、前記情報処理装置からのデータの取得を目的とするパケットではない、当該パケットの送信元のクライアント装置と前記情報処理装置との接続の維持を目的とするパケットかを判定する判定手段と、
前記判定手段で、前記パケット受信手段で受信したパケットが、当該パケットの送信元のクライアント装置と情報処理装置との接続の維持を目的とするパケットであると判定された場合に、当該クライアント装置との接続を切断すべく制御する切断制御手段と、
前記判定手段で前記接続の維持を目的とするパケットと判定されるパケットの送信元のクライアント装置から、当該パケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信しているか判定するパケット判定手段と、
を備え、
前記切断制御手段は、前記パケット判定手段で、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していると判定した場合に、接続の切断の制御を行うことなく、当該クライアント装置から前記情報処理装置との接続の維持を目的とするパケットの他に、前記情報処理装置からのデータの取得を目的とするパケットを受信していないと判定した場合に、当該クライアント装置との接続を切断すべく制御することを特徴とする情報処理装置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
一定の時間の間に通信が行われていない接続元の機器との接続を切断し接続資源を解放する機器が一般に知られている。
【０００３】
例えば特許文献１では、公衆網とＬＡＮとの間を接続する接続装置において、通信が終了してから回線が切断されるまで切断時間に要する通信費を抑制し、通信相手毎に切断時間を自動設定するために、電話番号中の市外局番に対応する切断時間の間、ＬＡＮのデータ通信における無データが継続した場合に回線を切断する技術が開示されている。これにより、例えば通信相手が遠方の場合は切断時間を短く設定でき、不要な回線捕捉による無駄な通信費の増加を抑止できる
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３３６３９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
また、一般にクライアント装置がネットワーク上のサーバからサービスの提供を受けるシステムにおいて、サーバ側で、所定時間クライアント装置との間に通信がない場合は接続を切断する仕組みがある。これに対し、例えば接続切断後にサーバに再接続するのが手間と考えるユーザ等が、ＮＵＬＬパケットやＤｕｍｍｙパケット等の、サーバとの接続を維持することを目的としたパケットをクライアント装置から定期的にサーバに送信して接続を維持しようとすることが行われている。
【０００６】
ＮＵＬＬパケットとは、例えば、異なる機器同士をネットワーク通信させるための標準プロトコルであるＴＣＰ／ＩＰ（ＴＣＰ標準仕様  ＲＦＣ７９３）においてＴＣＰヘッダの後続のＴＣＰデータが存在しないパケット（ＴＣＰヘッダのみのパケット）である。また、Ｄｕｍｍｙパケットとは、例えば、接続先サーバに送られてきたＴＣＰデータを接続先サーバ上のどのプログラムも解釈・実行できない意味のないパケットである。
【０００７】
サーバと複数のクライアント装置との通信においては、サーバ側の接続資源が限られているため（接続可能数の上限があるため）、サーバの提供するサービスを利用していないような不要な通信を排したい。
【０００８】
本発明は、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、複数のクライアント装置と通信可能な情報処理装置であって、前記クライアント装置からの認証要求に応じて認証を実行することで、前記クライアント装置との接続を確立する接続手段と、前記接続手段で接続が確立された前記クライアント装置からパケットを受信するパケット受信手段と、前記パケット受信手段で受信したパケットが、情報処理装置からのデータの取得を目的とするパケットか、データの取得を目的とするパケットではない、当該パケットの送信元のクライアント装置と前記情報処理装置との接続の維持を目的とするパケットかを判定する判定手段と、前記判定手段で、前記パケット受信手段で受信したパケットが、情報処理装置からのデータの取得を目的とするパケットである場合は、当該パケットに応じたデータを前記クライアント装置に送信する送信手段と、前記判定手段で、前記パケット受信手段で受信したパケットが、当該パケットの送信元のクライアント装置と情報処理装置との接続の維持を目的とするパケットであると判定された場合に、当該クライアント装置との接続を切断すべく制御する切断制御手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、情報処理システムのシステム構成を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、接続の確立及び切断処理の流れを示すフローチャートである。
【図５】本発明の実施形態における、接続の切断処理の詳細を示すフローチャートである。
【図６】本発明の実施形態における、接続情報のデータ構成の一例を示す図である。
【図７】本発明の実施形態における、接続情報のデータ構成の一例を示す図である。
【図８】本発明の実施形態における、接続情報のデータ構成の一例を示す図である。
【図９】本発明の実施形態における、接続情報のデータ構成の一例を示す図である。
【図１０】本発明の実施形態における、接続確立後の接続情報の更新処理の流れを示すフローチャートである。
【図１１】本発明の実施形態における、情報処理システムの利用の具体例を示す図である。
【発明を実施するための形態】
【００１２】
上述したように、本発明は、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することを目的とする。
【００１３】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１４】
まず図１を参照して、本発明の実施形態における、情報処理システムのシステム構成の一例について説明する。
【００１５】
図１に示すように、本発明の情報処理システムは、クライアント装置１０１−１〜１０１−３（以下、まとめてクライアント装置１０１とする）と、サーバシステム１２０とを備えている。
【００１６】
サーバシステム１２０は、踏み台サーバ１０２、アプリケーションサーバ（ＡＰサーバ）１０３、データベースサーバ（ＤＢサーバ）１０４を備えて構成されている。
【００１７】
クライアント装置１０１は、主にＡＰサーバ１０３、ＤＢサーバ１０４の保守を行うためにユーザが操作する端末であって、ＷＡＮ１０６（インターネット）等の広域回線網上に公開されている踏み台サーバ１０２を介して前記ＡＰサーバ１０３、ＤＢサーバ１０４に接続する。
【００１８】
踏み台サーバ１０２は、ＡＰサーバ１０３、ＤＢサーバ１０４をインターネット等の広域回線網上に対して非公開とし、セキュリティを確保しながら保守を行うための踏み台役（中継役）としての役割を担っている。当該公開・非公開の区分けは、例えば図１１に示す。
【００１９】
また、サーバの保守のために踏み台サーバ１０２に対する接続が集中するため、例えば踏み台差０羽１０２の処理負荷が増大しすぎないように、接続制限（上限）を設けて運用されている。当該接続制限（接続上限）の情報を踏み台サーバ１０２の外部メモリに記憶されている（接続上限記憶手段に該当）。
【００２０】
また、踏み台サーバは、ＡＰサーバ１０３、ＤＢサーバ１０４の保守を行うときのみ起動する運用を行うことで本発明の情報処理システムの一層のセキュリティ向上やシステム運用のコスト削減が期待できる。
【００２１】
ＡＰサーバ１０３は、不図示のウェブサーバ経由で公開されるウェブサービスが実行されるサーバ装置であって、ウェブサーバから要求されたウェブアプリケーションを実行し、その処理結果をウェブサーバに通知する。一般のユーザは、クライアント装置からウェブサーバにログインしてＡＰサーバに間接的にアクセスすることで、ＡＰサーバの提供するサービスを享受可能である。
【００２２】
ＤＢサーバ１０４は、踏み台サーバ１０２に対するクライアント装置の接続情報６００を記憶する。
【００２３】
接続情報６００は、図６のテーブル構造によって管理されている。すなわち、接続情報６００は、接続元クライアント装置１０１のＩＰアドレス６０１（クライアント装置の識別情報）、接続元クライアント装置１０１のポート番号６０２、クライアント装置１０１で入力され踏み台サーバ１０２に送信し認証されたユーザ識別子６０３（ユーザＩＤ）、接続を行う踏み台サーバ１０２の接続ポート６０４、通信状態６０５、接続開始時刻６０６から構成されている。なお、踏み台サーバ１０２は、通信状態６０５の値には、無通信状態ならばＮｏｎ、有効な通信が行われていればＶＡＬＩＤ、ＮＵＬＬパケットやＤｕｍｍｙパケットのような無害なパケットによる通信が行われている場合はＮＵＬＬを設定する。図６の例では、接続元クライアント装置のＩＰアドレス６０１の値が「１９２．１６８．１．１」の端末とサーバとの接続ではデータ通信が行われていないことがわかる。
【００２４】
ＤＢサーバ１０４は、ＡＰサーバ１０３が利用する各種のデータも合わせて記憶することができる。
【００２５】
１０５はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、踏み台サーバ１０２、ＡＰサーバ１０３及びＤＢサーバ１０４を相互に通信可能に接続するためのネットワークである。以上が図１の説明である。
【００２６】
次に図２を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。
【００２７】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２８】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２９】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００３０】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３１】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ１０５）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３３】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。以上が図２の説明である。
【００３４】
次に図３を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。
【００３５】
図３に示す通り、クライアント装置１０１は、リモートサーバ接続プログラム３０１を備えている。リモートサーバ接続プログラム３０１は、クライアント装置１０１にあらかじめインストールされているものとする。
【００３６】
クライアント装置１０１にインストールにされているリモートサーバ接続プログラム３０１は、入力受付部３０２、表示制御部３０３、通信部３０４、設定部３０５、記憶部３０６を備えている。
【００３７】
入力受付部３０２は、リモートサーバ接続プログラム３０１に対する設定、接続する踏み台サーバ１０２を特定するためのホスト名（又はＩＰアドレス）、接続先サーバ（例：踏み台サーバ１０２）から求められる認証情報（例えばユーザ識別子）、踏み台サーバ１０２上のプログラムに対するコマンドと呼ばれる命令文等の入力を受け付ける。
【００３８】
表示制御部３０３は、入力受付部３０２において入力を受け付けたデータや踏み台サーバ１０２上のプログラムより受信したレスポンスデータの表示（例えば、認証結果や踏み台サーバ１０２上のプログラムの応答の表示）を行う。通信部３０４は、踏み台サーバ１０２上の通信プログラムとＳＳＨ等による通信を行う。
【００３９】
設定部３０５は、リモートサーバ接続プログラム３０１のカスタマイズ機能をユーザに提供する。例えば、（接続先サーバ（例：踏み台サーバ１０２）が、所定時間以上無通信状態となったクライアント装置からの接続を切断する機能を備えている場合において、接続先サーバによる切断処理を回避するために、）一定間隔で接続先サーバに無害なＮＵＬＬパケットやＤｕｍｍｙパケットを送信するといったカスタマイズの設定を記憶している。当該設定はユーザの入力操作に応じて設定・記憶される。
【００４０】
記憶部３０６は、リモートサーバ接続プログラム３０１における入力部からの入力データや設定部にて施されたカスタマイズ情報（設定）を記憶する。また、接続情報６００を記憶している。
【００４１】
踏み台サーバ１０２は、接続待ち受けプログラム３１１を備えている。接続待ち受けプログラム３１１は、踏み台サーバ１０２にあらかじめインストールされているものとする。
【００４２】
接続待ち受けプログラム３１１は、通信部３１２、通信データ解析部３１３、ユーザ認証部３１４、記憶部３１５、接続管理部３１６及びコマンド実行部３１７を備えている。   
【００４３】
接続待ち受けプログラム３１１の通信部３１２は、リモートサーバ接続プログラム３０１からの接続を待ち受け、接続が確立した後はデータの通信を行う。
【００４４】
通信データ解析部３１３は、リモートサーバ接続プログラム３０１から送られてきたデータの解析を行う。
【００４５】
ユーザ認証部３１４は、リモートサーバ接続プログラム３０１を利用している、クライアント装置１０１において入力されたユーザ識別子を用いた認証を行う。認証に成功したユーザのみ後続の接続処理に進むことができる。
【００４６】
記憶部３１５は、ユーザの認証情報やリモートサーバ接続プログラム３０１から送られてくるデータの解析結果、および不正とみなす通信データのパターンの情報などを記憶する。なお、ここでは記憶部３１５を踏み台サーバが備えているものとしたが、例えば外部の記憶装置（例えば、ＤＢサーバ１０４）に記憶して、いつでも取り出せるよう当該情報を管理するようにしても構わない。
【００４７】
接続管理部３１６は、リモートサーバ接続プログラム３０１との接続の確立と切断、および接続リソースに空きがない場合は適切な利用がされていない接続リソースの解放を行う。例えば、ＮＵＬＬパケット又はＤｕｍｍｙパケットの送信元のクライアント装置１０１との接続を切断して、接続リソース（接続可能数）を確保する。
【００４８】
コマンド実行部３１７は、リモートサーバ接続プログラム３０１から送られてきたコマンドを実行する。コマンドの実行により踏み台サーバ１０２の中のプログラムが実行される。プログラムの実行によりさらにＡＰサーバ１０３、ＤＢサーバ１０４を操作することできる。
【００４９】
ＤＢサーバ１０４は、データベースシステム３２１を備えている。データベースシステム３２１は、ＤＢサーバ１０４にあらかじめインストールされているものとする。
【００５０】
データベースシステム３２１は、主に通信部３２２と、命令部３２３、記憶部３２４から構成されている。通信部３２２は、ＴＣＰ／ＩＰ等による通信プロトコルと用い踏み台サーバ１０２と通信を行う。
【００５１】
命令部３２３は、踏み台サーバ１０２からデータベースシステム３２１の記憶部３２４に対するデータの書き込み、更新、参照、および削除を行う。つまり、踏み台サーバ１０２を介したクライアント装置１０１からの要求に従って、ＡＰサーバ１０３の所有する情報を送信、表示、更新する。記憶部３２４は、踏み台サーバ１０２から送られてきたデータの記憶をおこなう。以上が図３の説明である。
【００５２】
次に図４を参照して、本発明の実施形態における、接続の確立及び切断処理の流れについて説明する。
【００５３】
以下説明する各処理（ステップ）は、各装置のＣＰＵ２０１が、各装置の機能部、プログラムの機能を用いて実行するものとする。
【００５４】
＜第１の実施の形態＞
【００５５】
まず、クライアント装置１０１は踏み台サーバ１０２との接続に先立ち、踏み台サーバ１０２は、クライアント装置１０１上で起動したリモートサーバ接続プログラムに対する認証を行う。
【００５６】
具体的には、クライアント装置１０１上でユーザ操作に応じて起動したリモートサーバ接続プログラムの入力部において入力を受け付けたユーザ情報（例えば図６でいうユーザ識別子６０３）を含む認証要求を踏み台サーバ１０２に送信する（ステップＳ４０１）。
【００５７】
踏み台サーバ１０２はクライアント装置１０１から認証要求を受け付け（ステップＳ４１１）、ユーザ認証処理を実行する（ステップＳ４１２）。
【００５８】
クライアント装置１０１のリモートサーバ接続プログラムからの認証要求に対して踏み台サーバ１０２が提供する認証方式としては、パスワード認証方式や公開鍵認証方式等がある。なお、本実施例における認証は、公開鍵認証方式によって実現しているものとする。
【００５９】
踏み台サーバ１０２は、クライアント装置１０１を認証できない場合（ステップＳ４１３にてＮＯ）は、クライアント装置１０１に認証失敗の通知を行い、クライアント装置１０１は踏み台サーバ１０２に対する接続に失敗した旨の情報を表示する（ステップＳ４０２）。一方、踏み台サーバ１０２が、クライアント装置１０１からの認証に成功した場合（ステップＳ４１２にてＹＥＳ）、踏み台サーバ１０２は、踏み台サーバ１０２の接続リソースに空きがあるか確認する（ステップＳ４１４）。
【００６０】
ここで、踏み台サーバ１０２における接続リソースの空きの有無を判定する手法について説明する。接続リソースの空きは、踏み台サーバ１０２とクライアント装置１０１（クライアント装置１０１−１〜１０１−３）のリモートサーバ接続プログラムの間で成立している接続の数を用いて判定する。接続数の上限値（接続上限）の情報は踏み台サーバ１０２の記憶部３１５に記憶されているものとする。
【００６１】
例えば、接続数の上限を１０と設定している場合、１１本目の接続を要求してきたクライアント装置１０１に対して踏み台サーバ１０２は接続リソースに空きはないと判定する。既に接続が確立している数が９以下の場合は、接続リソースに空きがあると判定する。
【００６２】
踏み台サーバ１０２の接続リソースに空きがある場合（ステップＳ４１４にてＹＥＳ）、踏み台サーバ１０２のＣＰＵ２０１は、接続リソースの割り当てを行う（ステップＳ４１５）。つまり、認証要求の送信元のクライアント装置１０１との接続を確立する。そして、ＤＢサーバ１０４にて記憶されている接続情報を更新する（ステップＳ４１６）。
【００６３】
ここで、接続情報更新の方法・手順について説明する。踏み台サーバ１０２が接続情報６００と同じデータを自装置に記憶しており、新たに接続が確立されると、確立された接続にかかる情報を自装置の接続情報６００に追加する。そして、当該追加した情報をＤＢサーバ１０４に送信して、ＤＢサーバ１０４はこれを受信する。ＤＢサーバ１０４はＤＢサーバ内の接続情報６００を更新する。
【００６４】
踏み台サーバ１０２は、接続が確立した旨を、認証要求の送信元のクライアント装置１０１のリモートサーバ接続プログラムに通知する（ステップＳ４２０）。
【００６５】
一方、踏み台サーバ１０２が踏み台サーバ１０２に接続リソースの空きがないと判断した場合（ステップＳ４１４にてＮＯ）、接続リソースの空き作るために適切な利用がなされていない接続リソースの解放を試みる。つまり、接続リソースの開放処理（不要な接続の切断処理）を実行する（ステップＳ４１７）。当該接続リソースの開放処理（不要な接続の切断処理）の詳細は図５の説明で後述する。
【００６６】
踏み台サーバ１０２が、適切に利用されていない接続リソースの解放に成功した場合（ステップＳ４１８にてＹＥＳ）、踏み台サーバ１０２は接続を要求してきたクライアント装置１０１との接続を確立させる（ステップＳ４１５）。
【００６７】
一方、踏み台サーバ１０２が適切に利用されていない接続リソースの解放を試みたが解放できるリソースが無かった場合（ステップＳ４１８にてＮＯ）、踏み台サーバ１０２はクライアント装置１０１からの接続要求を破棄する（ステップＳ４１９）。
【００６８】
踏み台サーバ１０２は、ステップＳ４１９において接続要求を破棄して接続の確立ができなかった旨の情報をクライアント装置１０１に通知する（ステップＳ４２０）。
【００６９】
クライアント装置１０１は、ステップＳ４２０で送信された接続結果の情報を取得して、受信した情報が接続を確立できなかった旨を示す情報である場合には、接続を確立できなかったことを表示画面に表示して処理を終了する。一方、接続を確立できた旨を示す情報である場合には、処理をステップＳ４０４に進め、接続情報の更新処理を実行する（ステップＳ４０４）。接続情報の更新処理の詳細は図１０の説明で後述する。以上が図４の説明である。
【００７０】
ここで図１０を参照して、本発明の実施形態における、接続確立後の接続情報の更新処理の流れについて説明する。
【００７１】
クライアント装置１０１のリモートサーバ接続プログラム３０１は、図１１に示すコンソール等において、ユーザ操作によるコマンドの入力を受け付けたか判定する（ステップＳ１００１）。
【００７２】
コマンドの入力を受け付けた場合は（ステップＳ１００１でＹＥＳ）、当該コマンドを踏み台サーバ１０２に送信する（ステップＳ１００２）。例えば、ＡＰサーバ１０３のアクセスログの表示要求をするコマンドの入力を受け付け、コマンドを含むパケットを送信するものとする。
【００７３】
コマンドの入力を受け付けなかった場合（ステップＳ１００１でＮＯ）、処理をステップＳ１００３に移行する。ステップＳ１００３では、例えば前述したリモートサーバ接続プログラム３０１のカスタマイズの設定に応じて、定期的にＮＵＬＬパケットを踏み台サーバ１０２に送信する（ステップＳ１００３）。
【００７４】
踏み台サーバ１０２は、通信データを受信し（ステップＳ１００４／パケット受信手段に該当）、受信した通信データを解析する（ステップＳ１００５）。そして、当該通信データから取得した情報に基づいて、ＤＢサーバ１０４の接続情報６００を更新する（ステップＳ１００６）。例えば、ステップＳ１００２で送信された通信データの場合は通信状態６０５に「ＶＬＩＤ」を挿入して記憶し、ステップＳ１００３で送信された通信データの場合は通信状態６０５に「ＮＩＬＬ」を挿入して記憶する。
【００７５】
踏み台サーバ１０２は、更新した接続情報の通信状態６０５が「ＮＵＬＬ」か判定し（ステップＳ１００７）、「ＮＵＬＬ」である場合には処理を終了する。「ＮＵＬＬ」ではなく、「ＶＡＬＩＤ」の場合には、処理をステップＳ１００８に移行し、通信データを解析して得られた命令の情報をＡＰサーバ１０３に送信する（ステップＳ１００８）。ここでは当該命令はＡＰサーバのアクセスログの取得要求であるものとする。
【００７６】
ＡＰサーバ１０３は当該命令を受信して（ステップＳ１００９）、命令に応じた情報（アクセスログ）を取得して踏み台サーバ１０２に返信する（ステップＳ１０１０）。
【００７７】
踏み台サーバ１０２は、当該情報を受信して（ステップＳ１０１１）、当該情報の要求元のクライアント装置１０１に送信する（ステップＳ１０１２）。
【００７８】
クライアント装置１０１のリモートサーバ接続プログラム３０１は、当該情報を受信して（ステップＳ１０１３）、コンソールに当該情報を表示する（ステップＳ１０１４）。以上が図１０の説明である。
【００７９】
次に図５を参照して、本発明の実施形態における、接続リソースの開放処理（不要な接続の切断処理）の詳細について説明する。
【００８０】
なお、本実施形態において不要な接続（適切な利用がなされていない接続リソース）とは、クライアント装置１０１と踏み台サーバ１０２の間での接続確立後、無通信状態による接続の切断を回避するために故意に意味のないＮＵＬＬパケット通信やＤｕｍｍｙパケット通信を続け接続の維持を図っている接続等のことを指す。他にも、接続確立後、一定時間以上無通信状態であれば、当該接続を不要な接続（適切な利用がなされていない接続リソース）と判断するものとする。
【００８１】
踏み台サーバ１０２のＣＰＵ２０１は、ＤＢサーバ１０４の接続情報６００を参照して（ステップＳ５０１）、踏み台サーバ１０２に対する全接続の中から無通信状態の接続があるか判定する（ステップＳ５０２）。
【００８２】
無通信状態の接続が存在する場合（ステップＳ５０２にてＹＥＳ）、無通信状態の接続の中から最も接続時間の長い接続の接続を選択する（ステップＳ５０３）。そして、ステップＳ５０３にて選択した接続リソースの解放を行う（ステップＳ５０４／ステップＳ５０３にて選択した接続の切断（解除）を実行する／切断制御をする）。つまり、通信状態６０５＝「ＶＡＬＩＤ」である通信・接続、及び新たな認証に伴って要求されている通信・接続を、通信状態＝「ＮＵＬＬ」又は「Ｎｏｎ」の通信・接続に優先して確立・維持するものである。そして、ＤＢサーバ１０４の接続情報の中から当該切断した接続のレコードを削除する（ステップＳ５０５）。接続時間の最も長い接続とは、接続開始時刻６０６と現在時刻との時間の差が最も大きいレコードの接続である。現在時刻の情報は、踏み台サーバ１０２の不図示の日時記憶部（時計機能）から取得する。
【００８３】
仮に踏み台サーバ１０２の接続数の上限値を３、接続情報が図６の接続情報６００通りであるとすると、接続元クライアント装置のＩＰアドレス６０１の値６１１が「１９２．１６８．１．１」のレコードが解放対象（切断／削除対象）として選択されることになる。
【００８４】
一方、ステップＳ５０２にて無通信状態の接続が存在しないと判定した場合（ステップＳ５０２にてＮＯ）、サーバに対する全接続を接続元クライアント装置１０１別に（接続元クライアント装置のＩＰアドレス６０１ごとに）グループ化してメモリ上に記憶する（ステップＳ５０６）。
【００８５】
そして、グループ化した中から接続元クライアント装置１０１を１つ選択し、そのクライアント装置１０１と踏み台サーバ１０２との全接続情報を取得する（ステップＳ５０７）。
【００８６】
踏み台サーバ１０２は、ステップＳ５０７で取得した全接続情報の通信状態６０５を参照して、全ての数進がＮＵＬＬパケット通信又はＤｕｍｍｙパケット通信であるかを判定する（ステップＳ５０８／パケット判定手段に該当）。つまり、過去行われた通信のうち、最新の情報を取得して当該判定を行う。
【００８７】
ＮＵＬＬパケットやＤｕｍｍｙパケットでないデータ通信が１つでも行われていた場合（ステップＳ５０８でＮＯ）、接続リソースの解放は行わず、処理をステップＳ５１１に進める。
【００８８】
ＮＵＬＬパケット通信やＤｕｍｍｙパケット通信による接続偽装（不要な接続である／接続リソースの不適切利用）の疑いがある接続があるにも関わらず、その接続を解放しない理由について説明する。
【００８９】
例えば図１１に示すように、１つのクライアント装置１０１が複数のリモートサーバ接続プログラム３０１を立ち上げて、それぞれ踏み台サーバ１０２と接続していることがある。
【００９０】
具体的には、ユーザがクライアント装置１０１上にて複数のリモートサーバ接続プログラムを起動して、踏み台サーバ１０２を経由しながら複数のサーバ装置（例えばＡＰサーバ１０３、ＤＢサーバ１０４）を順次操作する場面を想定している。
【００９１】
１つのクライアント装置１０１と踏み台サーバとの間で複数の通信が確立しており、且つ、その一部が有効な通信（ＶＡＬＩＤ）であり、一部がＮＵＬＬ又はＤｕｍｍｙパケットの通信である場合、例えば、有効な通信を行っている接続の利用が終わった後、同ユーザによるＮＵＬＬパケット通信やＤｕｍｍｙパケット通信によって接続が維持されている接続が利用される（有効な通信に変わる）ことが期待できる。
【００９２】
つまり、一部の接続が有効であることから、少なくともクライアント装置１０１は利用されているため、現在有効な、ユーザが利用中の接続に係る作業が終了した後、今現在ＮＵＬＬパケットやＤｕｍｍｙパケットで通信している接続に係る作業に取り掛かる可能性が高いと判断するものである。
【００９３】
このような場面を想定し、同一のクライアント装置１０１のユーザによる複数サーバ装置に対する遠隔操作のために利用されることが予測される接続はユーザビリティの観点から維持することとする。
【００９４】
例えば、接続情報６００が図７の接続情報７００のような状態にある場合、接続元クライアント装置のＩＰアドレス７０１の値が「１９２．１６８．１．３」の端末からの接続は２つあり、接続元クライアント装置のポート番号３３６２１はＮＵＬＬ通信を行っている。しかし、もう一方の接続である接続元クライアント装置のポート番号３３６２２からの接続では適切な通信が行われているため、接続元クライアント装置のポート番号３３６２１からの接続は解放（切断）しない。
【００９５】
一方、全接続の通信データがＮＵＬＬパケット又はＤｕｍｍｙパケットであった場合（ステップＳ５０８においてＹＥＳ）、さらにそのパケット送信元のユーザ（ユーザ識別子６０３を特定）は他のクライアント装置１０１から接続を行っているかを、ステップＳ５０６でグループ化した他のクライアント装置１０１の接続情報６００のグループを参照して判定する（ステップＳ５０９）。
【００９６】
他のクライアント装置１０１から踏み台サーバ１０２に対する接続を行っていない場合（ステップＳ５０９でＮＯ）、処理をステップＳ５０３に移行する。
【００９７】
例えば、図７における接続元クライアント装置のＩＰアドレスの値が「１９２．１６８．１．４」のクライアント装置１０１からの接続は２つあり、いずれも通信状態６０５＝「ＮＵＬＬ」である（ＮＵＬＬパケット通信又はＤｕｍｍｙパケット通信を行っている）。よって、「１９２．１６８．１．４」のクライアント装置１０１の接続のうち、接続時間の長い接続元クライアント装置のポート番号３３６２１の接続を解放する。
【００９８】
ステップＳ５０９で、ステップＳ５０７で選択したクライアント装置１０１に対応するユーザ識別子６０３のユーザが、他のクライアント装置１０１から踏み台サーバ１０２に接続を行っていると判定された場合（ステップＳ５０９でＹＥＳ）、当該他のクライアント装置１０１からの接続情報の通信状態６０５を参照して、当該他のクライアント装置１０１からの接続が全てＮＵＬＬパケット又はＤｕｍｍｙパケット通信であるかを判定する（ステップＳ５１０）。
【００９９】
ステップＳ５１０で、全ての接続の通信データがＮＵＬＬパケット又はＤｕｍｍｙパケットであると判定された場合（ステップＳ５１０でＹＥＳ）、処理をステップＳ５０３に移行する。
【０１００】
例えば、接続情報６００が図８に示す接続情報８００のような状態にある場合、接続元クライアント装置のＩＰアドレスの値が「１９２．１６８．１．６」の端末からの接続を解放（切断）する。
【０１０１】
一方、ステップＳ５１０で、全ての接続の通信データがＮＵＬＬパケット又はＤｕｍｍｙパケットでないと判定された場合（ステップＳ５１０でＹＥＳ／つまり、「ＶＡＬＩＤ」である通信がある場合）、ステップＳ５０７で選択したクライアント装置１０１の接続リソースの解放（接続の切断）を行うことなく、処理をステップＳ５１１に移行する。
【０１０２】
例えば、接続情報６００が図９の接続情報９００の状態にある場合、接続元クライアント装置のＩＰアドレスの値９０１が「１９２．１６８．１．５」、「１９２．１６８．１．６」、「１９２．１６８．１．７」の端末から接続されて、接続元クライアント装置のＩＰアドレス９０１の値が「１９２．１６８．１．６」の端末からは有効な通信が行われていることがわかる。したがって、図９の接続情報で取り上げた３件の接続は解放対象から外す（切断しない）。
【０１０３】
同じユーザによる接続の一部が有効であり、一部がＮＵＬＬパケット通信、又はＤｕｍｍｙパケット通信の場合に接続の切断を行わない理由は、ステップＳ５０８の説明で上述した通りである。
【０１０４】
ステップＳ５１１において、踏み台サーバ１０２は、ステップＳ５０６でグループ化した接続情報のうち、全てのグループの全ての接続情報に対するステップＳ５０８〜Ｓ５１０の処理が完了したか判定し（ステップＳ５１１）、全ての接続情報に対する処理が完了している場合は（ステップＳ５１１でＹＥＳ）処理を終了し、未処理の情報がある場合には（ステップＳ５１１でＮＯ）処理をステップＳ５０７に戻して未処理のグループの未処理の接続情報を取得して、ステップＳ５０８以降の処理を実行する。以上が図５の説明である。
【０１０５】
以上、本発明の第１の実施形態について説明した。
【０１０６】
本発明の第１の実施形態によれば、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することができる。
【０１０７】
＜第２の実施の形態＞
【０１０８】
以下、本発明の第２の実施形態について説明する。なお、第１の実施形態と同様の処理を行う部分については説明を省略する。
【０１０９】
第２の実施形態においては、踏み台サーバ１０２がクライアント装置１０１との間で確立している接続の中で適切に利用されていないと判断した接続を切断する前に、クライアント装置１０１のユーザに切断の承諾を求める。
【０１１０】
具体的には、図５のステップＳ５０３の後、踏み台サーバ１０２が、クライアント装置１０１のリモートサーバ接続プログラム３０１に、接続維持の要否を確認する不図示の確認画面の情報を送信する。ユーザが利用中のリモートサーバ接続プログラム３０１の特定は、ＤＢサーバ１０４が記憶する接続情報を参照して、通信状態が有効な接続元クライアント装置のＩＰアドレス６０１およびその接続元クライアント装置のポート番号６０２より特定する。
【０１１１】
また、踏み台サーバ１０２は、クライアント装置１０１から接続を切断する旨を示す回答の情報を受信した場合（例えば不図示の確認画面において「接続切断」ボタンの押下を受け付けることで、接続を切断する旨を示す回答を踏み台サーバ１０２に送信する）、又は、クライアント装置１０１のリモートサーバ接続プログラム３０１に接続維持の要否の確認画面を送信してから、一定時間経過しても接続維持の回答が得られない場合は接続を切断する。接続を維持する旨を示す回答の情報を受信した場合（例えば不図示の確認画面において「接続維持」ボタンの押下を受け付けることで、接続を維持する旨を示す回答を踏み台サーバ１０２に送信する）、接続を切断せずに処理を終了する。
【０１１２】
第２の実施形態によれば、ユーザにとって不意に切断が切断されることを防止し、且つ、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することができる。
【０１１３】
なお、上述した実施形態においては接続が有効なクライアント装置１０１に確認画面の情報を送信するものとしたが、例えば、不適切な接続と判断された接続が確立しているクライアント装置のユーザ識別子に対応する全クライアント装置１０１の全リモートサーバ接続プログラム３０１に接続切断の確認メッセージ（確認画面）を送信するようにしてもよい。
【０１１４】
＜第３の実施形態＞
【０１１５】
以下、本発明の第３の実施形態について説明する。なお、第１の実施形態、第２の実施形態と同様の処理を行う部分については説明を省略する。
【０１１６】
第３の実施形態においては、サーバシステム１２０において踏み台サーバ１０２が複数台存在する。そのうち１台が上述した第１及び第２の実施形態において説明したように動作しているものとする。また、踏み台サーバ１０２等、サーバシステム１２０における各装置の起動状態を監視する管理サーバが動作しており、サーバシステム１２０内の各種サーバと通信可能に接続されているものとする。
【０１１７】
そして、当該踏み台サーバ１０２が、例えば負荷増大による処理過多等、何らかの要因により機能停止してしまった場合、当該踏み台サーバ１０２の機能停止（例えば強制シャットダウン）を検知した管理サーバは、機能停止した踏み台サーバとは別の踏み台サーバを起動するよう、当該別の踏み台サーバに指示を出し、当該指示を受けた踏み台サーバが起動する。当該踏み台サーバは、起動後、ＤＢサーバ１０４に記憶されている接続情報６００を参照して取得する。なお、接続情報６００の各種レコードは、踏み台サーバ１０２が機能停止した時点で記憶されていた情報がそのまま記憶されている状態であるものとする。新たに起動した踏み台サーバは通信状態６０５を参照し、有効な接続（通信状態＝「ＶＡＬＩＤ」）である接続情報を特定して、接続元のクライアント装置のＩＰアドレス、ポートに対して再接続の要求を送信する。そして、クライアント装置１０１が当該要求に応じて、踏み台サーバとの接続を確立する。なお、当該再接続に際してユーザ認証は不要であるものとする。また、新たに起動した踏み台サーバは、通信状態６０５がＮＵＬＬ又はＮｏｎを示す接続元のクライアント装置に対しては、当該接続要求を送信せずに処理を終了する。
【０１１８】
本発明の第３の実施形態によれば、踏み台サーバの移行に伴って、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することができる。
【０１１９】
以上説明したように、本発明によれば、接続の維持を目的とした通信の存在に応じて、いずれの通信を優先するかを適切に決定可能な仕組みを提供することができる。
【０１２０】
なお、各種実施形態で前述した接続数の上限値は、ＤＢサーバ１０４の記憶部３２４等で記憶管理するようにしてもよい。
【０１２１】
また、ステップＳ４１４において、接続の上限数だけでなく、踏み台サーバ１０２のＣＰＵ使用率、踏み台サーバ１０２のメモリ消費量、接続の上限数、およびそれらの組み合わせにより、接続リソースに空きがあるか判定するようにしてもよい。具体的には、踏み台サーバ１０２は、ＣＰＵの使用率が閾値以上であり、且つメモリ消費量が閾値以上である場合に、接続リソースに空きはないと判定する。また、ＣＰＵの使用率が閾値を下回り、メモリ消費量が閾値を下回っており、且つ、接続数が接続の上限に達していない場合に、接続リソースに空きがあると判定する。なお、当該判定の条件は踏み台サーバ１０２の不図示の設定画面においてユーザ操作により自由に設定・変更・組み合わせが可能であるものとする。
【０１２２】
また、図５のステップＳ５０９及びＳ５１０の処理をスキップし、ステップＳ５０８でＹＥＳと判定された場合に、ステップＳ５０３に処理を移行するようにしてもよい。これは、サーバの保守の形態によっては、１人のユーザが複数のクライアント装置を一度に利用するシーンが稀な場合があり、ステップＳ５０９及びＳ５１０の処理を行うことで発生する無駄な処理負荷を軽減するためである。
【０１２３】
また、踏み台サーバ１０２は、接続情報６００の情報を定期的に参照し、接続情報の数（接続数）が、接続の上限値から所定数以内になった場合に、図５のステップＳ５０１から処理を開始するようにしてもよい。つまり、実際の接続数が接続の上限数に近付いた場合に、不要な接続を切断する処理を行うものである。なお、当該所定数の値は踏み台サーバ１０２の外部メモリに予め記憶されているものとする。
【０１２４】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１２５】
例えば、踏み台サーバ１０２とＡＰサーバ１０３、ＤＢサーバ１０４が一体であり、上述した実施形態の各処理（例えば図４で説明した各機能部の処理や、図１０のステップＳ１００４〜Ｓ１０１２等の処理を１つの装置が実行するようにしてもよい。
【０１２６】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１２７】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１３０】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１３４】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３５】
１０１−１  クライアント装置
１０１−２  クライアント装置
１０１−３  クライアント装置
１０２      踏み台サーバ
１０３      アプリケーションサーバ
１０４      データベースサーバ
１０５      ＬＡＮ
１０６      ＷＡＮ
１２０      サーバシステム
【図１】
0006659943.tif 000002
【図２】
0006659943.tif 000003
【図３】
0006659943.tif 000004
【図４】
0006659943.tif 000005
【図５】
0006659943.tif 000006
【図６】
0006659943.tif 000007
【図７】
0006659943.tif 000008
【図８】
0006659943.tif 000009
【図９】
0006659943.tif 000010
【図１０】
0006659943.tif 000011
【図１１】
0006659943.tif 000012