(57)【要約】【課題】デバイスへのアクセスを本来必要なソフトウエアモジュールが動作していることを保証し、システムの安定性やデバイスの安全性を保障する情報処理システムを提供することを目的とする。【解決手段】フィルタドライバにフィルタ通知手段、下位のデバイスドライバにフィルタ確認手段を設けて解決する。このことにより、フィルタドライバが機能していることを保障でき、フィルタドライバとデバイスドライバのバージョンの対応を取ることが可能になる。【選択図】図１
2008269378.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションから記録媒体へのアクセス要求を加工する少なくとも１つの命令処理装置と、
前記命令処理装置間あるいは命令処理装置とドライバ装置との間に挿入・削除ができる、前記命令処理装置あるいは前記ドライバ装置に前記記録媒体へのアクセス要求を加工して送るフィルタ装置と、前記命令処理装置あるいは前記フィルタ装置から送られる前記アクセス要求を実行してデバイスにアクセスするドライバ装置とを有する情報処理システムであって、
前記フィルタ装置は、
前記アクセス要求を一時的に保持し、所定の単位でアクセスするアクセス要求に再構成するアクセス要求処理手段と、
前記ドライバ装置に対して前記フィルタ装置の存在を通知する通知命令を送るフィルタ通知手段と、
を有し、
前記ドライバ装置は、
前記通知命令を受け取るフィルタ確認手段と、
前記フィルタ確認手段が前記通知命令を受け取るまでは受け取ったアクセス要求を実行せず、前記通知命令を受け取った後は、前記受け取ったアクセス要求を実行する命令実行手段と、
を有する情報処理システム。
【請求項２】
前記ドライバ装置は、
デバイスの状態変化を検出して状態変更があったことを記憶する状態変更記憶手段と、
前記状態変更記憶手段に状態変化があったと記憶されている場合にはアクセス要求に対してエラーを通知するエラー通知手段と、
を有する請求項１記載の情報処理システム。
【請求項３】
前記デバイスは、ライトプロテクトスイッチを有し、
前記ドライバ装置は、
前記フィルタ確認手段が前記フィルタ通知手段からの前記通知命令を受け取っていない状態の場合は、前記ライトプロテクトスイッチの状態に関わらずにライト禁止として通知を行う請求項１記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）データなどの電子データを、高速・リアルタイムで、記録媒体に記録する情報処理システムに関する。
【背景技術】
【０００２】
従来の情報処理システムは、ＡＶデータをリアルタイムに読み書きするために、アプリケーションからの特定のアクセス要求に対して優先的に処理を行うようにするフィルタドライバをソフトウエアのモジュール間に設けて、デバイスの特性に合わせて最適にアクセスを行うことにより、リアルタイムアクセスを実現している（例えば、特許文献１参照）。
【０００３】
図８は、コンピュータ上で、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）に代表されるマイクロカーネル技術をベースとしたＯＳで動作しているソフトウエアモジュールとデバイスからなる構成図である。
【０００４】
図８において、アプリケーション８０１と８０２はコンピュータ上でユーザモードで動作し、Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（Ｉ／Ｏ）要求を発行するソフトウエアモジュールであり、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）サブシステム８０３は前記アプリケーション８０１と８０２からＩ／Ｏ要求を受け付け、入出力マネージャ８０４は前記ＡＰＩサブシステム８０３を受け付けた前記アプリケーションからのＩ／Ｏ要求からＡＰＩ関数に応じたパケット（ＩＲＰ）を作成し、フィルタドライバ８０５は前記入出力マネージャ８０６経由のＩＲＰを受け取り、フィルタドライバ８０５内に有するアクセス要求処理手段８１１によりデバイス固有の特性に適した処理に加工し、クラスドライバ８０７はデバイスを類似したクラスに抽象的に分類して上位レイヤから見て共通のデバイスに見せかけてソフトウエアモジュールの生産性・安定性を挙げるものであり、デバイスドライバ８０９は、クラスドライバ８０７からのＩＲＰを入出力マネージャ８０８経由で受け取って直接デバイスを制御している。フィルタドライバ８０５は、各種情報を記録可能なレジストリ８１３に接続され、フィルタドライバ８０５内に上位モジュールであるＡＰＩサブシステム８０３から入出力マネージャ８０４経由で受け取ったＩＲＰを優先順位をつけて処理可能にするスイッチ８１２を有して、デバイス８１０の固有の処理を引き出すための機能をフィルタドライバ８０５により実現していた。
【特許文献１】特開２００５−３０２２２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来の構成では、複数のアプリケーションを同時に実行することができるコンピュータにおいても、フィルタドライバを設けてリアルタイム処理が必要なアプリケーションのアクセス要求を優先することによりリアルタイム処理を実現していたが、近年進化の激しい周辺機器への拡張を可能とするオペレーティングシステム（ＯＳ）はデバイスの固有の機能を吸収するためのソフトウエアモジュールであるデバイスドライバ、フィルタドライバを自由に追加・削除ができるために、フィルタドライバのみがシステムのクラッシュや操作ミスなどにより削除される場合があり、その場合も削除されたことが判断できずにシステムやＯＳの不安定を招いたり・デバイスへの望ましくないアクセスが発生するという課題を有していた。
【０００６】
本発明は、前記従来の課題を解決するもので、デバイスへのアクセスを本来必要なソフトウエアモジュールが動作していることを保証し、システムの安定性やデバイスの安全性を保障する情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、本発明の情報処理システムは、アプリケーションから記録媒体へのアクセス要求を加工する少なくとも１つの命令処理装置と、命令処理装置間あるいは命令処理装置とドライバ装置との間に挿入・削除ができる、命令処理装置あるいはドライバ装置に記録媒体へのアクセス要求を加工して送るフィルタ装置と、命令処理装置あるいはフィルタ装置から送られるアクセス要求を実行してデバイスにアクセスするドライバ装置とを有する情報処理システムであって、フィルタ装置は、アクセス要求を一時的に保持し、所定の単位でアクセスするアクセス要求に再構成するアクセス要求処理手段と、ドライバ装置に対してフィルタ装置の存在を通知する通知命令を送るフィルタ通知手段とを有し、ドライバ装置は、通知命令を受け取るフィルタ確認手段と、フィルタ確認手段が通知命令を受け取るまでは受け取ったアクセス要求を実行せず、通知命令を受け取った後は、受け取ったアクセス要求を実行する命令実行手段とを有する。
【発明の効果】
【０００８】
本発明の情報処理システムによれば、フィルタ装置が機能していることを保証でき、フィルタドライバとデバイスドライバの対応を取ることが可能になる。このことにより、フィルタドライバが機能していない時に発生するデバイスへの異常な処理をなくすことができ、デバイスの安全性・ＯＳの安定性を保障することが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００１０】
（実施の形態１）
図１は、本発明の実施の形態１における情報処理システムの構成図である。また、図４と図５は、具体的に動作を説明するための図である。図８と同じ構成要素については同じ符号を用い、説明を省略する。
【００１１】
図１において、フィルタ通知手段１０２はフィルタドライバ８０５の存在を示すためにデバイスドライバ８０９に対してＩＲＰを作成してコマンドを発行し、フィルタ確認手段１０３はフィルタ通知手段１０２が発行したＩＲＰを受け取ることによりフィルタドライバ８０５の存在を確認することによりデバイスドライバ８０９の機能を有効にする構成としている。
【００１２】
具体的な動作を説明する。図４は、フィルタドライバ８０５が存在しない場合の説明図である。図４において、アプリケーション８０１、フィルタドライバ８０５、デバイスドライバ８０９、デバイス８１０は、図８あるいは図１の構成要素に対応する。ＯＳ４０１は、ＡＰＩサブシステム８０３の機能を含めたオペレーションシステム全体である。デバイス８１０は、コンピュータの外部スロットに挿入するＰＣカードを例にして説明する。まず、デバイス８１０をコンピュータに挿入すると、挿入されたことをＯＳ４０１が認識する。ＯＳ４０１は、デバイス８１０を利用するために必要なデバイスドライバ８０９のソフトウエアモジュールをＯＳ４０１から利用可能な状態（ロード）するために、デバイスドライバ８０９にロードを要求する。デバイドライバ８０９は、デバイス８１０を利用可能にするためにデバイス８１０やデバイスドライバ８０９自体の初期化を行う。デバイスドライバ８０９は、ロードを完了するとＯＳ４０１に対して、ロードが完了したことを通知する。デバイス８１０は、この状態で動作が可能であるが、フィルタドライバ８０５がロードされていない状態である。この状態で、アプリケーション８０１から、デバイス８１０に対するライトやリードなどのアクセス要求が発生した場合には、ＯＳ４０１はアクセス要求をＩＲＰの形式にして、デバイスドライバ８０９に対してこのＩＲＰを発行する。フィルタドライバ８０５がロードされていないので、デバイスドライバ８０９まで、そのままのＩＲＰが届く。デバイスドライバ８０９は、フィルタ確認手段１０３が初期値（フィルタが存在していない）でありフィルタドライバ８０５の存在を確認できないために、受け取ったＩＲＰに対してデバイス８１０への処理を行わずに処理結果をエラーとしてＩＲＰを上位へ返す。このことにより、フィルタドライバ８０５が存在しない場合には、デバイス８１０への処理を行わないために、デバイス８１０の安全性を保障することができる。
【００１３】
次に、図５を用いて、フィルタドライバ８０５が存在し、デバイス８１０に対してのアクセスを行う場合の説明を行う。図４と同じ動作については、説明を省略する。デバイスドライバ８０９のロードが完了するまでは、図４と同様である。次に、ＯＳ４０１は、フィルタドライバ８０５に対して、フィルタドライバ８０５を動作可能な状態にするためにロードを要求する。フィルタドライバ８０５は、フィルタドライバ８０５自身の初期化を行うとともに、フィルタ通知手段１０２は下位のデバイスドライバ８０９に対してＩＲＰを生成して送信し、フィルタドライバ８０５が存在することを通知する。デバイスドライバ８０９は、フィルタドライバ８０５からのＩＲＰを受け取り、フィルタ確認手段１０３により、フィルタドライバ８０５が存在していることを記憶するとともに、上位フィルタドライバ８０５に対し、処理が正常に完了したことを通知する。フィルタドライバ８０５は、フィルタドライバ８０５のロードが完了したことを、ＯＳ４０１に対して通知する。その後、アプリケーション８０１から図４と同様に、ライト・リードなどのアクセスが発生した場合には、それに対応するＩＲＰをデバイスドライバ８０９が受け取り、フィルタ確認手段１０３にフィルタが存在することを確認済みであることを確認して、下位のデバイス８１０にＩＲＰに示されたアクセスを行い、その結果を、上位のアプリケーション８０１に対して通知する。
【００１４】
かかる構成によれば、フィルタ通知手段１０２がフィルタ確認手段１０３に対して、フィルタドライバ８０５の存在を通知することにより、フィルタドライバ８０５が存在しない場合にはデバイス８１０へのアクセスを止めることができ、フィルタドライバ８０５が存在しない異常状態でのアクセスを避けることができ、デバイス安全性を高めることができる。
【００１５】
（実施の形態２）
図２は、本発明の実施の形態２における情報処理システムの構成図である。図２において、図１、図４、図５及び図８と同じ構成要素については同じ符号を用い、説明を省略する。
【００１６】
図２において、状態変更記憶手段２０１は、近年のコンピュータが搭載している電力削減機能によりデバイス８１０の電源がＯＦＦ（あるいはデバイスの一部の電源をＯＦＦ）が発生した場合に状態変更があったことを記憶し、エラー通知手段２０２は、電源が再度ＯＮになった場合には、上位からのアクセスに対してエラーを返すことにより、フィルタドライバ８０５に対して再度フィルタ通知コマンドを発行させるように構成している。
【００１７】
具体的な動作を図６を用いて説明する。図４、図５と同じ動作については、説明を省略する。実施の形態１と同様に、デバイスドライバ８０９、フィルタドライバ８０５のロードが完了して、正常にアプリケーション８０１からデバイス８１０へのアクセスが行われている状態から説明を始める。この状態において、コンピュータが備えているスリープなどの省電力モードへの移行が発生してデバイスの電源をＯＦＦする場合には、デバイスドライバ８０９は、状態変更記憶手段２０１にスリープなどへの状態変更があったことを記憶する。再度、コンピュータを利用する場合には、ＯＳ４０１は、デバイス８１０をはじめ、コンピュータのリソースを利用可能な状態にする。この時に、デバイスドライバ８０９は動作可能な状態になるが、スリープによりフィルタドライバ８０５が削除されていたり、起動前である場合があり、上位のフィルタドライバ８０５が存在するか再度確認する必要がある。デバイスドライバ８０９は、状態変更記憶手段２０１に状態変更の記録があった場合には、上位からのデバイスの問い合わせに対して、デバイスがエラーである旨の結果を通知する。例えば、ＳＣＳＩデバイスで必ず問い合わせがあるＳＣＳＩコマンドのＴＥＳＴ  ＵＮＩＴ  ＲＥＡＤＹなどに対して、デバイス状態を再度読み出す結果を含めて、エラーを通知する。フィルタドライバ８０５は、エラーが返ってきたことを常に監視しておき、エラーが返った場合には、デバイスドライバ８０９がフィルタドライバ８０５を確認していない可能性があると認識して、フィルタ通知手段１０２でＩＲＰを作成して、フィルタが存在することを通知する。実施の形態１と同様にデバイスドライバ８０９は、フィルタ確認手段１０３の状態を更新した上で、フィルタドライバ８０５に対して完了を通知するとともに、状態変更記憶手段２０１を状態変更なしの状態に戻しておく。この後の、アプリケーション８０１からのアクセスについては、実施の形態１と同様である。
【００１８】
かかる構成によれば、状態変更記憶手段２０１がデバイスの電源ＯＦＦなどの状態の変更を記憶しておき、再度電源ＯＮ時には、エラー通知手段２０２によりエラーを通知し、フィルタ通知手段１０２から再度フィルタが存在することのコマンドを発行することにより、省電力モードなどの電力制御にも対応可能になり、モードの切替においても、フィルタドライバ８０５が存在しない異常状態でのアクセスを避けることができ、システムの安全性を高めることができる。
【００１９】
（実施の形態３）
図３は、本発明の実施の形態３における情報処理システムの構成図である。図３において、図１、図２、図４〜図６及び図８と同じ構成要素については同じ符号を用い、説明を省略する。
【００２０】
図３において、ライトプロテクトスイッチ３０２は、デバイス８１０に対して物理的に書込み禁止とするスイッチである。ライトプロテクト通知手段３０１は、ライトプロテクトスイッチ３０２の状態を示すとともに、フィルタ確認手段１０３がフィルタを確認していない場合には必ず、書き込み禁止状態と通知する構成である。
【００２１】
具体的なフローを図７を用いて説明する。デバイス８１０に対して誤消去等に対する安全性を保障するために、ライトのみを禁止することができるライトプロテクトスイッチ３０２がデバイス８１０に設けられている。まず、実施の形態１と同様に、デバイスドライバ８０９がロード済みの状態であるとする。この状態でライト要求が発生したときに、フィルタドライバ８０５が存在する場合と、存在しない場合のフローを説明する。アプリケーション８０１がライト要求を発行すると、ＩＲＰの形でライト要求がデバイスドライバ８０９へ届く。デバイスドライバ８０９は、デバイス８１０のライトプロテクトスイッチ３０２が書き込み禁止であれば、ライトエラーを上位に通知して、エラー終了する。また、ライトプロテクトスイッチ３０２が書き込み可であれば、フィルタ確認済みかを確認する処理へと移行する。フィルタ確認手段１０３が、フィルタ確認済みでなければ、上位へライトエラーを通知してエラー終了する。フィルタ確認手段１０３がフィルタ確認済みであれば、実際にデバイス８１０に対して書き込みを行い、上位へ対して正常完了を通知する。
【００２２】
かかる構成によれば、ライトプロテクト通知手段３０１がデバイス８１０のライトプロテクトスイッチ３０２によってライトアクセスのみを禁止することにより、誤消去等に対する安全性を保障することができるデバイスに対して、フィルタドライバ８０５が存在しない場合にはデバイス８１０へのアクセスを禁止することができ、フィルタドライバ８０５が存在しない異常状態でのアクセスを避けることができるために、デバイス安全性を高めることができる。
【００２３】
なお、本実施の形態において、ライトプロテクトスイッチ３０２を物理的に設けて説明したが、論理的にライトプロテクトスイッチを構成してもよい。
【産業上の利用可能性】
【００２４】
本発明にかかる情報処理システムは、フィルタドライバが存在しない場合にはデバイスへのアクセスを止めることができ、フィルタドライバが存在しない異常状態でのアクセスを避けることができ、デバイス安全性を高めることが可能になるので、ＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）データなどの電子データを、高速・リアルタイムで、記録媒体に記録する情報処理システムとしても有用である。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態１における情報処理システムの構成図
【図２】本発明の実施の形態２における情報処理システムの構成図
【図３】本発明の実施の形態３における情報処理システムの構成図
【図４】本発明の実施の形態１における情報処理システムのエラー時の状態遷移図
【図５】本発明の実施の形態１における情報処理システムの正常時の状態遷移図
【図６】本発明の実施の形態２における情報処理システムの状態遷移図
【図７】本発明の実施の形態３における情報処理システムのフローチャート
【図８】従来の情報処理システムの構成図
【符号の説明】
【００２６】
１０２  フィルタ通知手段
１０３  フィルタ確認手段
２０１  状態変更記憶手段
２０２  エラー通知手段
３０１  ライトプロテクト通知手段
３０２  ライトプロテクトスイッチ
４０１  ＯＳ
８０１  アプリケーション
８０２  アプリケーション  
８０３  ＡＰＩサブシステム
８０４  入出力マネージャ
８０５  フィルタドライバ
８０６  入出力マネージャ
８０７  クラスドライバ
８０８  入出力マネージャ
８０９  デバイスドライバ
８１０  デバイス
８１１  アクセス要求処理手段
８１２  スイッチ
８１３  レジストリ
【図１】
2008269378.tif 000003
【図２】
2008269378.tif 000004
【図３】
2008269378.tif 000005
【図４】
2008269378.tif 000006
【図５】
2008269378.tif 000007
【図６】
2008269378.tif 000008
【図７】
2008269378.tif 000009
【図８】
2008269378.tif 000010