(57)【要約】【課題】インターフェース手段がクローズ状態となった場合であっても、迅速且つ確実に復旧することが可能な情報処理装置を提供する。【解決手段】インターフェース手段に接続された通信手段を介し、外部装置に対して所定のサービスを提供するサーバ機能手段を備えた情報処理装置において、前記インターフェース手段の状態を監視し、当該インターフェース手段がクローズ状態となった場合に前記サーバ機能手段及び通信手段を再起動させるとともに、前記インターフェース手段をオープン状態とする制御手段と、を備える。【選択図】図２
2008003909.tif 000002
【特許請求の範囲】
【請求項１】
インターフェース手段に接続された通信手段を介し、外部装置に対して所定のサービスを提供するサーバ機能手段を備えた情報処理装置において、
前記インターフェース手段の状態を監視し、当該インターフェース手段がクローズ状態となった場合に、前記サーバ機能手段及び通信手段を再起動させるとともに、前記インターフェース手段をオープン状態とする制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記制御手段は、
前記インターフェース手段の状態に応じてシグナル状態を設定するインターフェース制御手段と、
前記設定されたシグナル状態に基づいて前記クローズ状態を検知するイベント監視手段と、
を備えたことを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、特に、インターフェース手段に接続された通信手段を介し、外部装置に対して所定のサービスを提供するサーバ機能手段を備えた情報処理装置に関する。
【背景技術】
【０００２】
従来より、モデム等の通信手段を介して、通信網に接続された外部装置との間で各種情報の授受を行う情報処理装置が用いられている。図４は、従来の情報処理装置２００の一例を示す機能ブロック図である。ここで、１０はＣＰＵ（Central Processing Unit）等のプロセッサであり、２０はプログラム又はデータを格納する記憶手段としてのＲＯＭ、３０はプログラム又はデータを記憶する記憶手段としてのストレージ、４０はプロセッサ１０により実行される各種プログラム、各処理において処理中のデータ、処理結果などを一時的に記憶するＲＡＭ、５０はインターフェース手段としてのシリアルポート、６０はシリアルポート５０とモデム７０とを接続するためのシリアルケーブル、７０は通信手段としてのモデムである。プロセッサ１０はＲＯＭ２０又はストレージ３０に記憶された各種プログラムとの協働により、情報処理装置２００の各部の動作を図示しないバスを介して統括的に制御する。
【０００３】
ＲＯＭ２０には、情報処理装置２００の基本機能を実現するＯＳカーネル２１、シリアルポート５０の動作を制御するためのシリアルドライバ２２、モデム７０の動作を制御するためのモデムドライバ２３、本情報処理装置が提供するＲＡＳ（Remote Access Service）サーバ機能に係るＲＡＳサーバ（プログラム）２４が格納されている。
【０００４】
ストレージ３０には、ＲＡＳサーバ２４により実現されるＲＡＳサーバ機能の動作を制御するためのＲＡＳサーバ制御アプリケーション３１が格納されている。
【０００５】
上記の構成において、プロセッサ１０は、ＲＡＳサーバ２４及びＲＡＳサーバ制御アプリケーション３１との協働によりＲＡＳサーバとしての機能を、モデム７０を介して接続された外部装置３００に提供するようになっている。
【０００６】
また従来、ＲＯＭ２０又はストレージ３０等に記憶された各種プログラムに障害が発生した場合に、これを復旧可能なプログラムリカバリ手段を備えることで、復旧の容易性の向上を図った技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２７６０１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記した図４の構成において、モデム７０が通信障害等で異常となった場合、異常対応処理の一環としてシリアルポート５０がクローズされる場合がある。この場合、シリアルポート５０がクローズされたことはＲＯＭ２０に格納されたシリアルドライバ２２内部で処理されてしまうため、ＲＡＳサーバ２４及びＲＡＳサーバ制御アプリケーション３１も、シリアルポート５０の状態を検知することができない。そのため、シリアルポート５０がクローズしてしまった後は、ＲＡＳサーバとして動作していたとしても、外部装置３００からＲＡＳの着信等は行うことができず、正常なサービスを提供できないという問題がある。なお、この状態を復旧するためには、ＲＡＳサーバ機能の再起動とともにモデムの再初期化を行う必要があるが、上記特許文献１の技術ではこのような障害に対応することができず、上記課題を解決することはできない。
【０００８】
本発明の課題は、インターフェース手段がクローズ状態となった場合であっても、迅速且つ確実に復旧することが可能な情報処理装置を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の発明は、
インターフェース手段に接続された通信手段を介し、外部装置に対して所定のサービスを提供するサーバ機能手段を備えた情報処理装置において、
前記インターフェース手段の状態を監視し、当該インターフェース手段がクローズ状態となった場合に、前記サーバ機能手段及び通信手段を再起動させるとともに、前記インターフェース手段をオープン状態とする制御手段と、
を備えたことを特徴としている。
【００１０】
更に、請求項２に記載の発明は、請求項１に記載の発明において、
前記制御手段は、
前記インターフェース手段の状態に応じてシグナル状態を設定するインターフェース制御手段と、
前記設定されたシグナル状態に基づいて前記クローズ状態を検知するイベント監視手段と、
を備えたことを特徴としている。
【発明の効果】
【００１１】
本発明によれば、インターフェース手段がクローズ状態となった場合であっても、インターフェースのクローズ状態を迅速且つ確実に復旧することが可能であるため、外部装置に対するサービスの提供を維持することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。ただし、発明の範囲は図示例に限定されないものとする。
【００１３】
図１は、本発明を適用した情報処理装置１００の一実施形態を示す機能ブロック図である。なお、前述した図３と共通する要素については同一符号を付し、その詳細な説明は適宜省略する。以下、情報処理装置１００の構成について説明する。
【００１４】
図１に示すとおり、情報処理装置１００は、プロセッサ１０、ＲＯＭ２０、ストレージ３０、ＲＡＭ４０、シリアルポート５０、シリアルケーブル６０、モデム７０を備える。
【００１５】
ＲＯＭ２０には、ＯＳカーネル２１、シリアルドライバ２２、モデムドライバ２３、ＲＡＳサーバ２４が格納されている。ここで、シリアルドライバ２２には、シリアルポート５０の設定・管理に係るポート設定管理関数２２１やシリアルポート５０のクローズ処理に係るポートクローズ処理関数２２２、シリアルポート５０に関するリード、ライト、オープン等のその他の処理に係るその他処理関数２２３が定義されている。シリアルドライバ２２は、プロセッサ１０の制御の下、各機能部からの呼び出しに応じて各関数を読み出し、シリアルポート５０に係る所定の処理を実行する。
【００１６】
モデムドライバ２３は、シリアルポート５０を介して接続されたモデム７０の異常を検出すると、シリアルドライバ２２のポートクローズ処理関数２２２を呼び出す。モデムドライバ２３からポートクローズ処理関数２２２の呼び出しを受けた、シリアルドライバ２２は、シリアルポート５０をオープン状態からクローズ状態に設定するとともに、後述するＲＡＭ４０の同期イベント４１を非シグナル状態からシグナル状態に設定する。
【００１７】
ストレージ３０には、ＲＡＳサーバ２４により実現されるＲＡＳサーバ機能の動作を制御するためのＲＡＳサーバ制御アプリケーション３１が格納されている。ここで、ＲＡＳサーバ制御アプリケーション３１は、ＲＡＳサーバ２４により実現されるＲＡＳサーバ機能を管理するＲＡＳサーバ管理部３１１、同期イベント４１の状態を監視するイベント監視部３１２、イベント監視部３１２により検知される同期イベント４１の状態に応じて情報処理装置１００の再起動を制御を行うイベント制御部３１３を有する。具体的に、イベント制御部３１３は、イベント監視部３１２によりシグナル状態が検知されると、ＲＡＳサーバ機能を停止させた後、情報処理装置１００の再起動を行う。
【００１８】
ＲＡＭ４０は、プロセッサ１０により実行される各種プログラム、各処理において処理中のデータ、処理結果などを一時的に記憶する。また、ＲＡＭ４０は、イベントオブジェクトである同期イベント４１を格納する。なお、同期イベント４１は、ＯＳカーネル２１が有する機能を使用して生成されるタスク同期機構であって、非シグナル状態とシグナル状態の二つの状態を有する。
【００１９】
インターフェース手段であるシリアルポート５０は、シリアルケーブル６０を介してモデム７０と接続するためのインターフェースである。なお、本実施形態では、このインターフェースをＲＳ−２３２Ｃ等のシリアルインターフェースとするが、これに限らず、他の規格に準拠したシリアルインターフェースやパラレルポート等としてもよい。
【００２０】
通信手段としてのモデム７０は、物理ポートを備えて構成され、この物理ポートに接続された電話回線やＩＳＤＮ回線、ＡＤＳＬ回線等の通信回線を介して外部装置３００と通信を行うための制御を行う。
【００２１】
以下、図２を参照して情報処理装置１００の動作を説明する。
図２は、プロセッサ１０の制御の下、シリアルドライバ２２、モデムドライバ２３及びＲＡＳサーバ制御アプリケーション３１で実行される各処理の関係を示したフローチャートである。ここで、ステップＳ１１〜Ｓ１６はＲＡＳサーバ制御アプリケーション３１により行われる処理を、ステップＳ２１〜Ｓ２６はシリアルドライバ２２により行われる処理を、ステップＳ３１〜Ｓ３３はモデムドライバ２３により行われる処理を示している。また、本処理の前提条件として、シリアルポート５０はオープン状態であるものとする。
【００２２】
まず、ＲＡＳサーバ制御アプリケーション３１は、シリアルドライバ２２のポート設定管理関数２２１を呼び出した後（ステップＳ１１）、ＲＡＳサーバ２４を起動することでＲＡＳサーバ機能を開始させる（ステップＳ１２）。
【００２３】
一方、シリアルドライバ２２では、他の機能部からの関数の呼び出しを待機しており（ステップＳ２１、ステップＳ２２；Ｎｏ）、所定の関数が呼び出されたと判定した場合には（ステップＳ２２；Ｙｅｓ）、この呼び出された関数に応じた処理を夫々実行する（ステップＳ２３）。
【００２４】
このステップＳ２３において、ＲＡＳサーバ制御アプリケーション３１からポート設定管理関数２２１の呼び出しを受けた場合には、シリアルドライバ２２は、ＲＡＭ４０の同期イベント４１を有効化するポート設定管理処理を実行する（ステップＳ２４）。なおここで、同期イベント１４１のデフォルトの状態は非シグナル状態であるものとする。
【００２５】
また、モデムドライバ２３は、モデム着信処理を実行することで、モデム７０を外部装置３００からの着信が可能な状態へと制御し（ステップＳ３１）、モデム７０に異常が発生したか否かを常時又は所定時間毎に監視する（ステップＳ３２；Ｎｏ）。ここで、モデム７０に異常を検知した場合には（ステップＳ３２；Ｙｅｓ）、シリアルドライバ２２のポートクローズ処理関数２２２を呼び出し（ステップＳ３３）、後述するポートクローズ処理をシリアルドライバ２２に実行させる。
【００２６】
一方、シリアルドライバ２２では、ステップＳ２３において、モデムドライバ２３からのポートクローズ処理関数２２２の呼び出しを受けた場合に、シリアルポート５０のポートをクローズ状態とするとともに、ＲＡＭ４０の同期イベント４１をシグナル状態とするポートクローズ処理を実行する（ステップＳ２５）。なお、ステップＳ２３において、リードやライト、オープン等に係るその他処理関数２２３の呼び出しを受けた場合には、シリアルドライバ２２は、呼び出しされた処理を実行するようになっており（ステップＳ２６）、上述した各関数に応じた処理を実行した後、ステップＳ２１へと再び戻る。
【００２７】
ＲＡＳサーバ制御アプリケーション３１は、ＲＡＳサーバ機能を開始させた後、イベント監視部３１２により、同期イベント４１の状態を監視し、シグナル状態とされたか否かを監視する（ステップＳ１３；Ｎｏ）。ここで、イベント監視部３１２が同期イベント４１のシグナル状態を検知すると（ステップＳ１３；Ｙｅｓ）、イベント制御部３１３は、次回発生するシリアルポート５０のクローズ状態が検出可能なように同期イベントのシグナル状態を非シグナル状態に設定する（ステップＳ１４）。そして、イベント制御部３１３は、ＲＡＳサーバ機能を停止して一旦無効化させた後（ステップＳ１５）、本処理を終了するか否かを判定する（ステップＳ１６）。
【００２８】
ここで、本処理を継続すると判定した場合には（ステップＳ１６；Ｎｏ）、ステップＳ１２に再び戻り、ＲＡＳサーバ制御アプリケーション３１は、ＲＡＳサーバ機能を再有効化（再起動）する。なお、このＲＡＳサーバ機能の再有効化の際には、プロセッサ１０の制御の下、シリアルドライバ２２及びモデムドライバ２３により、シリアルポート５０のポートがオープン状態へと制御されるとともに、モデム７０が再初期化（再起動）されるものとする。
【００２９】
一方、ステップＳ１６の判定処理において、ポートクローズ時には本処理を終了するよう予め設定されている等の理由により、本処理を終了すると判定した場合には（ステップＳ１６；Ｙｅｓ）、本処理は直ちに終了する。
【００３０】
以上のように、本実施形態によれば、シリアルポート５０がクローズ状態となった場合であっても、上記したシリアルドライバ２２とＲＡＳサーバ制御アプリケーション３１との連携により、シリアルポート５０のクローズ状態を迅速且つ確実に復旧することが可能となり、外部装置３００に対するサービス（ＲＡＳ）の提供を維持することができる。
【００３１】
上記実施形態における情報処理装置１００の細部構成および詳細動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００３２】
例えば、上記実施形態では、ＲＡＳサーバ機能を再起動する態様としたが、情報処理装置１００自体を再起動する態様としてもよい。
【００３３】
また、上記実施形態では、外部装置に対する所定のサービスとしてＲＡＳサーバ機能を有した構成としたが、これに限らず、例えば、ＨＴＴＰサーバ機能やＦＴＰサーバ機能等の他のサービスを有する構成としてもよい。ＨＴＴＰサーバ機能を追加した場合についての例では、情報処理装置１００の構成を、図３に示した構成とすることができる。なお、図３の構成では、外部装置に対するサービスに係る機能部として、上述したＲＡＳサーバ２４に加えＨＴＴＰサーバ機能を実現させるＨＴＴＰサーバ２５をＲＯＭ２０に記憶している。
【００３４】
ＲＡＭ４０の同期イベント群４２は、図２の同期イベント４１に置き換わるものであって、各サーバ機能（ＲＡＳ、ＨＴＴＰ）に夫々対応する複数の同期イベントからなる。
【００３５】
また、ストレージ３０は、サーバ制御アプリケーション３２を格納する。このサーバ制御アプリケーション３２は、上記したＲＡＳサーバ管理部３１１に加え、ＨＴＴＰサーバ２５により実現されるＨＴＴＰサーバ機能を管理するＨＴＴＰサーバ管理部３２１と、図２のイベント監視部３１２及びイベント制御部３１３に置き換わるイベント監視制御ライブラリ３２２とを有する。ここで、イベント監視制御ライブラリ３２２は、同期イベント群４２に含まれる複数の同期イベントの状態を一括して監視し、当該同期イベント群４２のシグナル状態に応じて各サーバ機能の再起動を行う。
【００３６】
このような構成において、モデム７０の異常により、シリアルポート５０のポートがクローズ状態となった場合には、シリアルドライバ２２により同期イベント群４２に含まれる各同期イベントをシグナル状態とされ、これらがイベント監視制御ライブラリ３２２により検知されることで、当該イベント監視制御ライブラリ３２２の制御により各サーバ機能が再有効化（再起動）される。これにより、シリアルポート５０がクローズ状態となった場合であっても、上記したシリアルドライバ２２とサーバ制御アプリケーション３２との連携により、シリアルポート５０のクローズ状態を迅速且つ確実に復旧することが可能となり、外部装置３００に対するサービス（ＲＡＳ、ＨＴＴＰ）の提供を維持することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明を適用した情報処理装置の一実施形態を示す機能ブロック図である。
【図２】本発明を適用した情報処理装置の動作例を説明するフローチャートである。
【図３】本発明の他の実施形態を示す機能ブロック図である。
【図４】従来の情報処理装置の一例を示すブロック図である。
【符号の説明】
【００３８】
１００  情報処理装置
１０  プロセッサ
２０  ＲＯＭ
２１  ＯＳカーネル
２２  シリアルドライバ
２２１  ポート設定管理関数
２２２  ポートクローズ処理関数
２２３  その他処理関数
２３  モデムドライバ
２４  ＲＡＳサーバ
２５  ＨＴＴＰサーバ
３０  ストレージ
３１  ＲＡＳサーバ制御アプリケーション
３１１  ＲＡＳサーバ管理部
３１２  イベント監視部
３１３  イベント制御部
３２  サーバ制御アプリケーション
３２１  ＨＴＴＰサーバ管理部
３２２  イベント監視制御ライブラリ
４０  ＲＡＭ
４１  同期イベント
４２  同期イベント群
５０  シリアルポート
６０  シリアルケーブル
７０  モデム
２００  情報処理装置
３００  外部装置
【図１】
2008003909.tif 000003
【図２】
2008003909.tif 000004
【図３】
2008003909.tif 000005
【図４】
2008003909.tif 000006