(57)【要約】【課題】複数の機器からアクセスされる記憶装置上のデータ破損を防げるアクセス制御装置、アクセス制御方法、及びアクセス制御プログラムを提供する。【解決手段】アクセス制御装置は、第１機器からの記憶装置へのアクセス状態が、第２機器からの前記記憶装置へのアクセスとの排他条件を満たしているか否かを判定する判定部と、前記第１機器からのアクセス状態が、前記排他条件を満たしていた場合に、前記第２機器からのアクセスを禁止する制御部と、を備える。【選択図】図３
2014215896.tif 000002
【特許請求の範囲】
【請求項１】
第１機器からの記憶装置へのアクセス状態が、第２機器からの前記記憶装置へのアクセスとの排他条件を満たしているか否かを判定する判定部と、
前記第１機器からのアクセス状態が、前記排他条件を満たしていた場合に、前記第２機器からのアクセスを禁止する制御部と、
を備えることを特徴とするアクセス制御装置。
【請求項２】
前記判定部は、
前記記憶装置が接続された前記第１機器からのホストアクセスのアクセス状態が、所定の通信方式により前記記憶装置にアクセスする前記第２機器からのリモートアクセスとの前記排他条件を満たしているか否かを判定することを特徴とする請求項１に記載のアクセス制御装置。
【請求項３】
前記判定部は、
前記ホストアクセスのアクセス状態が、前記記憶装置の接続を断つことを禁止している状態の場合に、前記リモートアクセスとの前記排他条件を満たしていると判定することを特徴とする請求項２に記載のアクセス制御装置。
【請求項４】
前記記憶装置の接続を断つことを禁止している状態は、
前記記憶装置が前記第１機器で動作中のＯＳの制御下におかれている状態であることを特徴とする請求項３に記載のアクセス制御装置。
【請求項５】
前記判定部は、
前記ホストアクセスのアクセス状態が、前記記憶装置の接続を断つことを許可している状態で、かつ、前記第１機器が、前記記憶装置に対して最後に行った連続データ書き込みの時間から、前記連続データ書き込みの動作時間間隔以上の時間が経過していない状態の場合に、前記リモートアクセスとの前記排他条件を満たしていると判定することを特徴とする請求項２に記載のアクセス制御装置。
【請求項６】
前記記憶装置の接続を断つことを許可している状態は、
前記記憶装置が前記第１機器で動作中のＯＳの制御下から解放された状態であることを特徴とする請求項５に記載のアクセス制御装置。
【請求項７】
前記判定部は、
所定の通信方式により前記記憶装置にアクセスする前記第１機器からのリモートアクセスのアクセス状態が、前記記憶装置が接続された前記第２機器からのホストアクセスとの前記排他条件を満たしているか否かを判定することを特徴とする請求項１に記載のアクセス制御装置。
【請求項８】
前記判定部は、
前記リモートアクセスのアクセス状態が、当該アクセス制御装置と前記第１機器との間に確立された通信セッションを断つことを禁止している状態の場合に、前記ホストアクセスとの前記排他条件を満たしていると判定することを特徴とする請求項７に記載のアクセス制御装置。
【請求項９】
前記通信セッションを断つことを禁止している状態は、
コネクションの開始から終了までの間の状態、又は、ファイルの読み書き要求の開始から終了までの間の状態であることを特徴とする請求項８に記載のアクセス制御装置。
【請求項１０】
前記判定部は、
第１通信方式により前記記憶装置にアクセスする前記第１機器からのリモートアクセスのアクセス状態が、第２通信方式により前記記憶装置にアクセスする前記第２機器からのリモートアクセスとの前記排他条件を満たしているか否かを判定することを特徴とする請求項１に記載のアクセス制御装置。
【請求項１１】
前記制御部は、
前記第２機器に対して、エラー応答、ビジー応答、又は無応答による処理の延期のいずれかの処理により、前記記憶装置へのアクセスの禁止を通知することを特徴とする請求項１に記載のアクセス制御装置。
【請求項１２】
前記制御部は、
予め設定しておいた優先順位に基づき、前記第１機器から前記記憶装置へのアクセス、又は、前記第２機器から前記記憶装置へのアクセスのどちらを優先させるかを制御することを特徴とする請求項１に記載のアクセス制御装置。
【請求項１３】
前記制御部は、
前記記憶装置が接続された前記第１機器からのホストアクセスより、所定の通信方式により前記記憶装置にアクセスする前記第２機器からのリモートアクセスを優先させる場合に、前記第１機器に対して、前記記憶装置を前記第１機器で動作中のＯＳの制御下から解放するように指示することを特徴とする請求項１２に記載のアクセス制御装置。
【請求項１４】
前記記憶装置を備えることを特徴とする請求項１に記載のアクセス制御装置。
【請求項１５】
第１機器からの記憶装置へのアクセス状態が、第２機器からの前記記憶装置へのアクセスとの排他条件を満たしているか否かを判定する判定工程と、
前記第１機器からのアクセス状態が、前記排他条件を満たしていた場合に、前記第２機器からのアクセスを禁止する制御工程と、
を含むことを特徴とするアクセス制御方法。
【請求項１６】
コンピュータを、
第１機器からの記憶装置へのアクセス状態が、第２機器からの前記記憶装置へのアクセスとの排他条件を満たしているか否かを判定する判定部と、
前記第１機器からのアクセス状態が、前記排他条件を満たしていた場合に、前記第２機器からのアクセスを禁止する制御部と、
して機能させるためのアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、アクセス制御装置、アクセス制御方法、及びアクセス制御プログラムに関するものである。
【背景技術】
【０００２】
従来から、通信ＩＦ（interface）を備えるメモリカードが知られている。このようなメモリカードでは、次のような複数の機器からのメモリアクセスが可能である。１つは、メモリカードが装着された情報処理装置（ホスト）からのホストメモリアクセスである。もう１つは、通信を介してメモリカードに接続した情報端末（リモート端末）からのリモートメモリアクセスである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２１６０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、複数の機器から１つの記憶装置に対して行われるアクセスを、適切に相互排除するものではない。そのため、従来の技術では、記憶装置上のデータやファイルシステムが破損する恐れがある。
【課題を解決するための手段】
【０００５】
実施形態に係るアクセス制御装置は、第１機器からの記憶装置へのアクセス状態が、第２機器からの前記記憶装置へのアクセスとの排他条件を満たしているか否かを判定する判定部と、前記第１機器からのアクセス状態が、前記排他条件を満たしていた場合に、前記第２機器からのアクセスを禁止する制御部と、を備える。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係るデータシステムの構成例を示す図。
【図２】第１の実施形態に係るアクセス制御装置の構成例を示す図。
【図３】第１の実施形態に係るアクセス制御機能の構成例を示す図。
【図４】第１の実施形態に係るアクセス制御時の処理手順例（その１）を示すシーケンス図。
【図５】第１の実施形態に係るアクセス制御時の処理手順例（その２）を示すシーケンス図。
【図６】第１の実施形態に係るアクセス制御時の処理手順例（その３）を示すシーケンス図。
【図７】第１の実施形態に係るアクセス制御時の処理手順例（その４）を示すシーケンス図。
【発明を実施するための形態】
【０００７】
以下に、添付図面を参照して、アクセス制御装置、アクセス制御方法、及びアクセス制御プログラムの実施形態を詳細に説明する。
【０００８】
［第１の実施形態］
＜システム構成＞
図１は、本実施形態に係るデータシステム１０００の構成例を示す図である。複数の機器から１つの記憶装置に対して行われるアクセスには、例えば、図１に示すようなデータシステム１０００が考えられる。図１（ａ）には、記憶装置へのアクセス制御を行うアクセス制御装置１００が、データ伝送路を介して情報処理装置２００に接続され、アクセス制御装置１００に、情報端末３００がリモートアクセスする例が示されている。また、図１（ｂ）には、記憶装置へのアクセス制御を行うアクセス制御装置１００が、挿入口から情報処理装置２００に装着され、アクセス制御装置１００に、情報端末３００がリモートアクセスする例が示されている。
【０００９】
本実施形態に係るアクセス制御装置１００は、デバイスＩＦと通信ＩＦを備え、情報処理装置２００からの記憶装置へのアクセスや、情報端末３００からの記憶装置へのリモートアクセスを制御する制御装置である。なお、本実施形態では、アクセス制御装置１００が、メモリなどの記憶装置を備えていなくてもよい（記憶装置を内蔵していなくてもよい）。例えば、アクセス制御装置１００が、記憶装置に対応するＩＦを備え、情報処理装置２００や情報端末３００が、アクセス制御装置１００を介して記憶装置にアクセスできればよい。
【００１０】
本実施形態に係る情報処理装置２００は、例えば、デバイスＩＦを備えるＰＣ（Personal  Computer）などである。情報処理装置２００では、デバイスＩＦを介してアクセス制御装置１００に接続（以下「ホストアクセス」という）する。このときのホストアクセス方法には、ＵＳＢ（Universal  Serial  Bus）ケーブルによる方法や、直接、デバイスを装着する方法などがある。よって、備えるデバイスＩＦは、ホストアクセス方法に対応するインタフェースである。
【００１１】
本実施形態に係る情報端末３００は、例えば、通信ＩＦを備えるタブレット端末などである。情報端末３００では、通信ＩＦを介してアクセス制御装置１００にリモートアクセスする。このときのリモートアクセス方法には、情報端末３００のＯＳ（Operating  System）から記憶装置上のデータにダイレクトにアクセスする方法（以下「ブロックデバイスアクセス」という）がある。例えば、ＳＣＳＩ（Small  Computer  System  Interface）のブロックアクセスなどが相当する。また、リモートアクセス方法には、記憶装置のファイルシステムを介して記憶装置上のファイルにアクセスする方法（以下「ネットワークデバイスアクセス」という）がある。例えば、ＦＴＰ（File  Transfer  Protocol）などが相当する。よって、備える通信ＩＦは、通信方式やアクセス方法に対応するインタフェースである。なお、本実施形態では、通信距離を問わない。
【００１２】
以上のように、本実施形態に係るデータシステム１０００では、情報処理装置２００や情報端末３００などの複数の入力系統から、アクセス制御装置１００の制御対象である記憶装置にアクセスし、読み取り・書き込みなどのデータ処理が行える。
【００１３】
＜装置構成＞
図２は、本実施形態に係るアクセス制御装置１００の構成例を示す図である。なお、以降の説明では、便宜上、記憶装置を備えたアクセス制御装置１００を用いる。
【００１４】
図２に示すように、本実施形態に係るアクセス制御装置１００は、通信ＩＦ１０１、ブロックアクセスサーバ部１０２、及びファイル転送サーバ部１０３などを備えている。また、アクセス制御装置１００は、ＣＰＵ（Central  Processing  Unit）１０４、記憶装置ＩＦ１０５、記憶装置１０６、及びデバイスＩＦ１０７などを備えている。アクセス制御装置１００は、各ハードウェアがバスを介して接続されており、データの送受信を行う。
【００１５】
通信ＩＦ１０１は、所定の通信方式により外部機器と通信を行うためのインタフェースである。通信方式には、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）やＷｉＦｉなどがある。これにより、アクセス制御装置１００は、外部機器である情報端末３００からのリモートアクセスを受け付ける。
【００１６】
ブロックアクセスサーバ部１０２は、通信ＩＦ１０１を介してリモートアクセス可能な外部機器のクライアントに対し、ブロックデバイスアクセスのサーバ機能を提供するデバイスである。ブロックアクセスサーバ部１０２は、例えば、ＴＣＰ／ＩＰ（Transmission  Control  Protocol／Internet  Protocol）で用いられるｉＳＣＳＩや、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）のＳＣＳＩプロファイルのサーバ機能（ブロックデバイスアクセス機能）を提供する。ブロックアクセスサーバ部１０２は、外部機器からのブロックアクセスに関する要求メッセージに従って、ＣＰＵ１０４を介し、記憶装置１０６にアクセスする。
【００１７】
ブロックデバイスアクセス機能は、外部機器が、セクタを基準としたデータアクセスを、通信を介して行なえるようにしたものである。このとき用いる通信プロトコルとしては、Ｔ１０で標準化されているＳＣＳＩをＴＣＰ／ＩＰ通信に拡張したｉＳＣＳＩや、ＳＣＳＩメッセージを用いたＴｒａｎｓｆｅｒＪｅｔ（登録商標）のＳＣＳＩプロファイルなどが知られている。ブロックデバイスアクセス機能では、外部機器が備えるブロックアクセスクライアント部（非図示）と当該ブロックアクセスサーバ部１０２との間の通信が確立している間、外部機器で動作中のＯＳのファイルシステムの制御下に入る。
【００１８】
ファイル転送サーバ部１０３は、通信ＩＦ１０１を介してリモートアクセス可能な外部機器のクライアントに対し、ファイル転送のサーバ機能（ネットワークデバイスアクセス機能）を提供するデバイスである。ファイル転送サーバ部１０３は、例えば、ＦＴＰ（ＲＦＣ−９５９）やＯＢＥＸ（Object  Exchange）のサーバ機能を提供する。
【００１９】
ネットワークデバイスアクセス機能は、データの送信又は受信をファイル単位で行なうものである。このとき用いる通信プロトコルとしては、ＲＦＣ−９５９でＴＣＰ／ＩＰ通信用に標準化されているＦＴＰや、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）のＯＢＥＸプロファイルなどが知られている。ネットワークデバイスアクセス機能では、外部機器が備えるファイル転送クライアント部（非図示）と当該ファイル転送サーバ部１０３との間で、ファイルの送受信に関する制御メッセージの授受やファイルデータの授受を行い、ファイルをやり取りする。なお、アクセス制御装置１００におけるネットワークデバイスアクセス時のファイル制御は、当該アクセス制御装置１００が有するファイルシステムによって行なわれる。
【００２０】
ＣＰＵ１０４は、装置全体の制御や搭載機能を実現する制御装置である。記憶装置ＩＦ１０５は、記憶装置１０６への各種データ処理を行うためのインタフェースである。記憶装置ＩＦ１０５は、ＣＰＵ１０４からのブロック単位によるアクセス（読み取り・書き込み）を、記憶装置１０６のアクセス手順に変換する。記憶装置１０６は、プログラムやデータなどを記憶領域に保持する記憶装置である。記憶装置１０６には、揮発性と不揮発性がある。揮発性の記憶装置１０６は、例えば、ＳＲＡＭ（Static  Random  Access  Memory）やＤＲＡＭ（Dynamic  RAM）などのメモリであり、プログラムやデータが読み出され一時保持する。また、不揮発性の記憶装置１０６は、例えば、ＳＤ（Secure  Digital）メモリカードなどのフラッシュメモリや、ＨＤＤ（Hard  Disk  Drive）のプラッタなどの記録メディアであり、プログラムやデータなどを永続記憶する。よって、ＣＰＵ１０４は、例えば、記録メディアからプログラムやデータをメモリ上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する。本実施形態に係るアクセス制御機能やファイルシステムは、このような方法で実現される。
【００２１】
デバイスＩＦ１０７は、デバイスをホストアクセス可能とするためのインタフェースである。デバイスＩＦ１０７は、例えば、ＵＳＢに対応するインタフェースの場合、ＭＳＣ（Mass  Storage  Class）という汎用ストレージとして振舞う機能を提供する。これにより、デバイス接続機器は、デバイスＩＦ１０７を介してホストアクセス可能なデバイスの記憶領域に対し、ＨＤＤのようにアクセスすることができる。デバイスＩＦ１０７は、デバイス接続機器からのブロックアクセスの要求を受け付け、要求内容を解釈し、ＣＰＵ１０４を介して、記憶装置１０６にアクセスする。これにより、アクセス制御装置１００は、デバイス接続機器である情報処理装置２００からのホストアクセスを受け付ける。
【００２２】
以上のように、本実施形態に係るアクセス制御装置１００では、上記構成により、複数の機器からの記憶装置１０６へのアクセスを制御するアクセス制御機能を提供することができる。
【００２３】
＜アクセス制御機能＞
本実施形態に係るアクセス制御機能について説明する。本実施形態に係るアクセス制御装置１００は、記憶装置１０６にアクセス中の機器のアクセス状態が、他の機器からの記憶装置１０６へのアクセスを排他すべき状態か否かを判定する。アクセス制御装置１００は、アクセス中の機器のアクセス状態が排他すべき状態であった場合、他の機器からの記憶装置１０６へのアクセスを禁止する。本実施形態に係るアクセス制御装置１００は、このようなアクセス制御機能を有している。
【００２４】
通信ＩＦ１０１を備えるメモリカードでは、複数の機器から（複数のインタフェースを介して）メモリ上のデータにアクセスできる。そのため、通信ＩＦ１０１を備えるメモリカードでは、機器間（インタフェース間）におけるアクセスの相互排除をファイルシステムのレベルで保証する必要がある。具体的には、ファイルの内容やファイル管理データの一貫性を保つ必要がある。
【００２５】
例えば、通信ＩＦ１０１を備えるメモリカードを装着したデバイス接続機器が、当該メモリカードに対してホストアクセス中に、外部機器から無線通信を介してリモートアクセスされた場合などに問題が生じる。この場合、ホストアクセス中には、リモートアクセスを禁止する方法が考えられる。しかし、ホストアクセスは、ブロック単位で行われる。そのため、メモリカード側で、ファイル単位のアクセス区切りを見分けることは、困難である。また、デバイス接続機器によっては、バッファキャッシュを用いたデータ処理を行なうため、単にアクセス頻度やアクセス間隔に基づく排他制御では、適切な相互排除を実現することが難しい。
【００２６】
このように、従来の技術では、複数の機器から１つの記憶装置１０６に対して行われるアクセスを、適切に相互排除するものではなく、記憶装置１０６上のデータが破損する恐れ（ファイルシステムが破壊する恐れ）があった。
【００２７】
そこで、本実施形態に係るアクセス制御機能では、アクセス種別に対応するファイル単位のアクセス区切りを判定条件に、機器からのアクセス状態が排他すべき状態か否かを判定し、判定結果に基づき、複数の機器からのアクセスを排他制御する仕組みとした。
【００２８】
以下に、本実施形態に係るアクセス制御機能の構成とその動作について説明する。図３は、本実施形態に係るアクセス制御機能の構成例を示す図である。図３に示すように、本実施形態に係るアクセス制御機能は、排他条件判定部１１及び排他制御部１２などを有するアクセス制御部１０により実現される。
【００２９】
本実施形態に係る排他条件判定部１１は、記憶装置１０６にアクセス中の機器（第１機器）のアクセス状態が、他の機器（第２機器）からの記憶装置１０６へのアクセスを排他すべき状態か否かを判定する機能部である。排他条件判定部１１は、記憶装置１０６にアクセス中の機器のアクセス状態が、予め定義しておいた排他条件を満たしているか否かを判定することで、他の機器からの記憶装置１０６へのアクセスを排他すべき状態か否かを判定する。
【００３０】
ここで、本実施形態に係る排他条件について説明する。本実施形態に係る排他条件には、機器からのアクセス種別に対応するファイル単位のアクセス区切りが定義されている。具体的には、次の通りである。
【００３１】
《ホストアクセス時の排他条件》
ホストアクセス時の排他条件は、アクセス制御装置１００が、デバイスＩＦ１０７に状態を問い合わせた場合、デバイスＩＦ１０７から応答された状態が、通信ＩＦ１０１を介したアクセスを排他すべき状態であるとする条件である。本実施形態では、以下の２つの条件を採用する。
【００３２】
［排他条件１］：ホストアクセス時の排他条件１は、デバイスＩＦ１０７からｅｊｅｃｔ禁止状態が応答された場合、情報端末３００からのアクセスを排他すべき状態であるとする条件である。ｅｊｅｃｔ禁止状態は、例えば、ＯＳからのマウント状態などに相当し、記憶装置１０６が、情報処理装置２００で動作中のＯＳの制御下にあり、接続を断つことを禁止している状態を意味する。よって、ｅｊｅｃｔ禁止状態は、情報処理装置２００が、デバイスＩＦ１０７と記憶装置ＩＦ１０５を介して、記憶装置１０６にホストアクセス中（データの読み書き中）の状態を示す。一方、ｅｊｅｃｔ許可状態は、ＯＳからのマウント状態が解除された状態（アンマウント状態）などに相当し、記憶装置１０６が、情報処理装置２００で動作中のＯＳの制御下から解放され、接続を断つことを許可している状態を意味する。よって、ｅｊｅｃｔ許可状態は、情報処理装置２００が、デバイスＩＦ１０７と記憶装置ＩＦ１０５を介した記憶装置１０６へのホストアクセス終了（ファイルの読み書き終了）の状態を示す。このように、本実施形態では、ファイル単位のアクセス区切りを見分けることができるｅｊｅｃｔ禁止状態を、ホストアクセス時の排他条件に採用している。
【００３３】
［排他条件２］：ホストアクセス時の排他条件２は、デバイスＩＦ１０７からｅｊｅｃｔ許可状態が応答されても、通信ＩＦ１０１からのアクセスを排他すべき状態であるとする条件である。より具体的には、ｅｊｅｃｔ許可状態において、ホストアクセス中に行われた連続データ書き込みの最後のデータ書き込み時間から、連続データ書き込みの動作時間間隔以上の時間が経過していない状態の場合、排他すべき状態であるとする条件である。排他条件２は、ｅｊｅｃｔ許可状態を応答した後であっても、データ書き込みを行う（ｅｊｅｃｔ許可状態であってもデータ書き込みが終了していない）ＯＳに対応するための条件である。本実施形態では、上記時間経過の判断を、連続データ書き込みの動作時間間隔の２倍の時間を閾値として判断する。なお、閾値は、この限りでない。閾値は、ＯＳが有するデータ書き込みの特性に応じて設定すればよい。このように、本実施形態では、ＯＳが有するデータ書き込みの特性に応じて、データ書き込み終了を判断可能な状態を、ホストアクセス時の排他条件に採用している。
【００３４】
《リモートアクセス時の排他条件》
リモートアクセス時の排他条件は、アクセス制御装置１００が、ブロックアクセスサーバ部１０２又はファイル転送サーバ部１０３に状態を問い合わせた場合、各サーバ部１０２，１０３から応答された状態が、デバイスＩＦ１０７を介したアクセスを排他すべき状態であるとする条件である。本実施形態では、以下の条件を採用する。
【００３５】
［排他条件］：リモートアクセス時の排他条件は、ブロックアクセスサーバ部１０２又はファイル転送サーバ部１０３からセッション確立中の状態（以下「セッション確立状態」という）が応答された場合、デバイスＩＦ１０７からのアクセスを排他すべき状態であるとする条件である。セッション確立状態は、例えば、通信可能状態などに相当し、情報端末３００とアクセス制御装置１００との間に、記憶装置１０６へのリモートアクセスを行うための通信セッションが確立され、確立されたセッションを断つことを禁止している状態を意味する。よって、セッション確立状態は、情報端末３００が、通信ＩＦ１０１と記憶装置ＩＦ１０５を介して、記憶装置１０６にリモートアクセス中（ファイルの読み書き中）の状態を示す。より具体的には、コネクションの開始から終了までの間の状態、又は、ファイルの読み書き要求の開始から終了までの間（ＦＴＰの場合、ｐｕｔコマンドやｇｅｔコマンドが発行されている間）の状態を示す。
【００３６】
上記排他条件は、排他条件判定部１１から参照可能なデータとして、所定の記憶領域に予め記憶しておく。これにより、排他条件判定部１１は、データ化された上記排他条件を参照し、ブロックアクセスサーバ部１０２、ファイル転送サーバ部１０３、又はデバイスＩＦ１０７から応答された状態に基づき、機器からのアクセス状態が、アクセス種別ごとに予め定義しておいた排他条件を満たしているか否かを判定する。
【００３７】
本実施形態に係る排他制御部１２は、排他条件の判定結果に基づき、機器からのアクセスを排他制御する機能部である。排他制御部１２は、情報処理装置２００から記憶装置１０６へのホストアクセスと、情報端末３００から記憶装置１０６へのリモートアクセスを排他制御する。
【００３８】
排他制御部１２は、機器からのアクセス状態が排他すべき状態である場合、機器からのアクセスを排他制御する。排他制御部１２は、情報処理装置２００からのアクセス状態が排他すべき状態である場合、情報端末３００からのリモートアクセスを禁止する。また、排他制御部１２は、情報端末３００からのアクセス状態が排他すべき状態である場合、情報端末３００からのホストアクセスを禁止する。
【００３９】
排他制御部１２は、情報処理装置２００からのアクセス状態が排他すべき状態である場合、ブロックアクセスサーバ部１０２又はファイル転送サーバ部１０３に対して、接続禁止の排他処理を指示する。その結果、通信ＩＦ１０１は、アクセス要求した情報端末３００に対して、リモートアクセスの禁止（リモートアクセスを禁止する旨）を制御結果として通知する。また、排他制御部１２は、情報端末３００からのアクセス状態が排他すべき状態である場合、デバイスＩＦ１０７に対して、アクセス禁止の排他処理を指示する。その結果、デバイスＩＦ１０７は、アクセス要求した情報処理装置２００に対して、ホストアクセスの禁止（ホストアクセスを禁止する旨）を制御結果として通知する。
【００４０】
このように、本実施形態に係るアクセス制御機能では、ファイル単位のアクセス区切りを判定条件に排他制御することで、複数の機器から１つの記憶装置１０６に対して行われるアクセスを適切に相互排除する。
【００４１】
以上のように、本実施形態に係るアクセス制御機能は、アクセス制御装置１００において、アクセス制御プログラムが実行され、上記各機能部が連携動作することで実現される。
【００４２】
本実施形態に係るアクセス制御プログラムは、実行環境であるアクセス制御装置１００（コンピュータ）が備えるＲＯＭ（Read  Only  Memory）などの記憶装置１０６に予め組み込んで提供される。アクセス制御プログラムは、上記各機能部を含むモジュール構成となっており、ＣＰＵ１０４がＲＯＭからプログラムを読み出し実行することで、ＲＡＭ上に各機能部が生成される。なお、アクセス制御プログラムの提供方法は、この限りでない。例えば、アクセス制御プログラムを、インターネットなどに接続された機器に格納し、ネットワーク経由でダウンロードする方法であってもよい。また、アクセス制御プログラムを、アクセス制御装置１００が読み取り可能な記録媒体に、インストール可能な形式又は実行可能な形式のファイルで記録し提供する方法であってもよい。
【００４３】
以下に、アクセス制御プログラム実行時の処理（各機能部の連携動作）について、シーケンス図を用いて説明する。なお、以下では、アクセス種別ごとの処理手順を順に説明する。
【００４４】
《ホストアクセス時の処理》
図４は、本実施形態に係るアクセス制御時の処理手順例（その１）を示すシーケンス図である。図４には、情報処理装置２００が、デバイスＩＦ１０７を介して、記憶装置１０６にホストアクセス中の状態を示している。また、図４には、情報処理装置２００からホストアクセス中に、情報端末３００からブロックデバイスアクセスされた場合の例が示されている。なお、図中の［排他条件１］による排他処理対象期間は、ｅｊｅｃｔ禁止状態の期間である。また、図中の［排他条件２］による排他処理対象期間は、ｅｊｅｃｔ禁止状態からｅｊｅｃｔ許可状態に移行後、連続データ書き込みの動作時間間隔以上の時間が経過していない状態の期間である。
【００４５】
［排他条件１］：図４に示すように、本実施形態に係るアクセス制御装置１００は、情報処理装置２００からホストアクセス中に、情報端末３００から接続要求（コネクト要求）を受け付けると（ステップＳ１１）、次のような処理を行う。通信ＩＦ１０１は、ブロックアクセスサーバ部１０２を介して、アクセス制御部１０に対し、接続要求を受け付けた旨を通知する（ステップＳ１２，Ｓ１３）。
【００４６】
これを受けて、アクセス制御部１０は、デバイスＩＦ１０７に状態を問い合わせ（ステップＳ１４）、状態応答を要求する。その結果、デバイスＩＦ１０７は、アクセス制御部１０に対して、ホストアクセスによるｅｊｅｃｔ禁止状態である旨を通知し（ステップＳ１５）、状態を応答する。このときデバイスＩＦ１０７は、情報処理装置２００から受け付けたＰＲＥＶＥＮＴ  ＡＬＬＯＷ  ＭＥＮＩＵＭ  ＲＥＭＯＶＡＬ  コマンドのｐｒｅｖｅｎｔ  ｆｌａｇ（属性値）が“ｐｒｏｈｉｂｉｔｅｄ”であることに基づき、ｅｊｅｃｔ禁止状態であると判断する。
【００４７】
アクセス制御部１０は、排他条件判定部１１により、ホストアクセス時に対応する［排他条件１］を参照し、デバイスＩＦ１０７から応答されたｅｊｅｃｔ禁止状態に基づき、情報処理装置２００からのアクセス状態が、排他条件を満たしているか否かを判定する（ステップＳ１６）。このとき排他条件判定部１１は、情報処理装置２００からのアクセス状態がｅｊｅｃｔ禁止状態であった場合、排他すべき状態であると判定する。
【００４８】
その結果、アクセス制御部１０は、情報処理装置２００からのアクセス状態がｅｊｅｃｔ禁止状態で、排他すべき状態であると判定した場合、排他制御部１２により、ブロックアクセスサーバ部１０２に対して、接続禁止の排他処理を指示する（ステップＳ１７）。
【００４９】
これを受けて、ブロックアクセスサーバ部１０２は、通信ＩＦ１０１を介して、接続要求した情報端末３００に対し、接続ＮＧの旨（リモートアクセス禁止）を制御結果として通知する（ステップＳ１８，Ｓ１９）。なお、このときブロックアクセスサーバ部１０２は、接続ＮＧの通知などのエラー応答のほか、ビジー応答や無応答による処理の延期などにより、通信ＩＦ１０１に対して、情報端末３００と接続しない旨を通知する。
【００５０】
［排他条件２］：図４に示すように、本実施形態に係るアクセス制御装置１００は、情報処理装置２００からホストアクセス中に、情報端末３００から接続要求を受け付けると（ステップＳ２１）、次のような処理を行う。通信ＩＦ１０１は、ブロックアクセスサーバ部１０２を介して、アクセス制御部１０に対し、接続要求を受け付けた旨を通知する（ステップＳ２２，Ｓ２３）。
【００５１】
これを受けて、アクセス制御部１０は、デバイスＩＦ１０７に状態を問い合わせ（ステップＳ２４）、状態応答を要求する。その結果、デバイスＩＦ１０７は、アクセス制御部１０に対して、ホストアクセス終了によるｅｊｅｃｔ許可状態である旨を通知し（ステップＳ２５）、状態を応答する。このときデバイスＩＦ１０７は、情報処理装置２００から受け付けたＰＲＥＶＥＮＴ  ＡＬＬＯＷ  ＭＥＮＩＵＭ  ＲＥＭＯＶＡＬ  コマンドのｐｒｅｖｅｎｔ  ｆｌａｇ（属性値）が“ａｌｌｏｗｅｄ”であることに基づき、ｅｊｅｃｔ許可状態であると判断する。
【００５２】
アクセス制御部１０は、排他条件判定部１１により、ホストアクセス時に対応する［排他条件２］を参照し、デバイスＩＦ１０７から応答されたｅｊｅｃｔ許可状態に基づき、情報処理装置２００からのアクセス状態が、排他条件を満たしているか否かを判定する（ステップＳ２６）。このとき排他条件判定部１１は、ｅｊｅｃｔ許可状態の場合、ホストアクセス中に行われた連続データ書き込みの最後のデータ書き込み時間から、連続データ書き込みの動作時間間隔以上の時間が経過したか否かを判定する。また、排他条件判定部１１は、ＯＳが有するデータ書き込みの特性に応じて設定された閾値に基づき、最後のデータ書き込み時間から、連続データ書き込みの動作時間間隔以上の時間が経過したか否かを判定する。このとき排他条件判定部１１は、情報処理装置２００からのアクセス状態がｅｊｅｃｔ許可状態で経過時間が閾値未満の場合、排他すべき状態であると判定する。
【００５３】
その結果、アクセス制御部１０は、情報処理装置２００からのアクセス状態がｅｊｅｃｔ許可状態かつ経過時間が閾値未満で、排他すべき状態であると判定した場合、排他制御部１２により、ブロックアクセスサーバ部１０２に対して、接続禁止の排他処理を指示する（ステップＳ２７）。
【００５４】
これを受けて、ブロックアクセスサーバ部１０２は、通信ＩＦ１０１を介して、接続要求した情報端末３００に対し、接続ＮＧの旨を制御結果として通知する（ステップＳ２８，Ｓ２９）。
【００５５】
なお、情報処理装置２００からホストアクセス中に、情報端末３００からネットワークデバイスアクセスされた場合（ファイルシステムを介してリモートアクセスされた場合）については、アクセス制御部１０が、ファイル転送サーバ部１０３に対して上記処理を行う。
【００５６】
このように、本実施形態に係るアクセス制御装置１００は、排他条件を満たす情報処理装置２００からのホストアクセス中の状態を確認すると、ブロックデバイスアクセス又はネットワークデバイスアクセスなどの情報端末３００からのリモートアクセスを禁止する。
【００５７】
《リモートアクセス時の処理１》
図５は、本実施形態に係るアクセス制御時の処理手順例（その２）を示すシーケンス図である。図５には、情報端末３００が、通信ＩＦ１０１を介して、記憶装置１０６にリモートアクセス中の状態を示している。また、図５には、情報端末３００からネットワークデバイスアクセス中に、情報処理装置２００からホストアクセスされた場合の例が示されている。なお、図中の［排他条件］による処理対象期間は、セッション確立状態の期間である。
【００５８】
図５に示すように、本実施形態に係るアクセス制御装置１００は、情報端末３００からネットワークデバイスアクセス中に、情報処理装置２００からアクセス要求を受け付けると（ステップＳ３１）、次のような処理を行う。デバイスＩＦ１０７は、アクセス制御部１０に対し、アクセス要求を受け付けた旨を通知する（ステップＳ３２）。
【００５９】
これを受けて、アクセス制御部１０は、ファイル転送サーバ部１０３を介して、通信ＩＦ１０１に状態を問い合わせ（ステップＳ３３，Ｓ３４）、状態応答を要求する。その結果、通信ＩＦ１０１は、ファイル転送サーバ部１０３を介して、アクセス制御部１０に対し、ネットワークデバイスアクセスによるセッション確立状態である旨を通知し（ステップＳ３５，Ｓ３６）、状態を応答する。このときファイル転送サーバ部１０３は、情報端末３００から通信ＩＦ１０１を介して受け付けた接続応答受信完了メッセージ（ＡＣＫメッセージ）に基づき、セッション確立状態であると判断する。
【００６０】
アクセス制御部１０は、排他条件判定部１１により、リモートアクセス時に対応する［排他条件］を参照し、ファイル転送サーバ部１０３から応答されたセッション確立状態に基づき、情報端末３００からのアクセス状態が、排他条件を満たしているか否かを判定する（ステップＳ３７）。このとき排他条件判定部１１は、情報端末３００からのアクセス状態がセッション確立状態であった場合、排他すべき状態であると判定する。
【００６１】
その結果、アクセス制御部１０は、情報端末３００からのアクセス状態がセッション確立状態で、排他すべき状態であると判定した場合、排他制御部１２により、デバイスＩＦ１０７に対して、アクセス禁止の排他処理を指示する（ステップＳ３８）。
【００６２】
これを受けて、デバイスＩＦ１０７は、アクセス要求した情報処理装置２００に対して、アクセスＮＧの旨（ホストアクセス禁止）を制御結果として通知する（ステップＳ３９）。
【００６３】
なお、情報端末３００からネットワークデバイスアクセス中（第１通信方式によりアクセス中）に、他の情報端末からブロックデバイスアクセスされた場合（第２通信方式によりアクセスされた場合）については、アクセス制御部１０が、ブロックアクセスサーバ部１０２に対して上記処理を行う。逆に、情報端末３００からブロックデバイスアクセス中に、他の情報端末からネットワークデバイスアクセスされた場合については、アクセス制御部１０が、ファイル転送サーバ部１０３に対して上記処理を行う。
【００６４】
このように、本実施形態に係るアクセス制御装置１００は、排他条件を満たす情報端末３００からのリモートアクセス中の状態を確認すると、情報処理装置２００からのホストアクセスを禁止する。また、本実施形態に係るアクセス制御装置１００は、排他条件を満たす情報端末３００からのブロックデバイスアクセス又はネットワークデバイスアクセスのどちらか一方のリモートアクセス中の状態を確認すると（複数の機器から異なる方式でリモートアクセスされた場合）、他方のリモートアクセスを禁止する。
【００６５】
《リモートアクセス時の処理２》
図５には、アクセス制御装置１００が、情報端末３００からの接続応答受信完了メッセージを受け付けてから切断要求メッセージ（Ｃ−ＲＥＬメッセージ）を受け付けるまでの間の期間（セッション確立状態の期間）を、排他処理対象期間とする例を示したが、この限りでない。リモートアクセス時の排他処理対象期間は、例えば、図６に示すような期間であってもよい。
【００６６】
図６は、本実施形態に係るアクセス制御時の処理手順例（その３）を示すシーケンス図である。図６には、情報端末３００が、通信ＩＦ１０１を介して、記憶装置１０６にリモートアクセス中の状態を示している。また、図６には、情報端末３００からネットワークデバイスアクセス中に、情報処理装置２００からホストアクセスされた場合の例が示されている。なお、図中の［排他条件］による処理対象期間は、ファイル転送中の状態（以下「ファイル転送状態」という）の期間である。
【００６７】
図６に示すように、本実施形態に係るアクセス制御装置１００は、情報端末３００からネットワークデバイスアクセス中に、情報処理装置２００からアクセス要求を受け付けると（ステップＳ４１）、次のような処理を行う。デバイスＩＦ１０７は、アクセス制御部１０に対し、アクセス要求を受け付けた旨を通知する（ステップＳ４２）。
【００６８】
これを受けて、アクセス制御部１０は、ファイル転送サーバ部１０３を介して、通信ＩＦ１０１に状態を問い合わせ（ステップＳ４３，Ｓ４４）、状態応答を要求する。その結果、通信ＩＦ１０１は、ファイル転送サーバ部１０３を介して、アクセス制御部１０に対し、ネットワークデバイスアクセスによるファイル転送状態である旨を通知し（ステップＳ４５，Ｓ４６）、状態を応答する。このときファイル転送サーバ部１０３は、情報端末３００から通信ＩＦ１０１を介して受け付けたファイル転送開始手順に基づき、ファイル転送状態であると判断する。
【００６９】
アクセス制御部１０は、排他条件判定部１１により、リモートアクセス時に対応する［排他条件］を参照し、ファイル転送サーバ部１０３から応答されたファイル転送状態に基づき、情報端末３００からのアクセス状態が、排他条件を満たしているか否かを判定する（ステップＳ４７）。このとき排他条件判定部１１は、情報端末３００からのアクセス状態がファイル転送状態であった場合、排他すべき状態であると判定する。
【００７０】
その結果、アクセス制御部１０は、情報端末３００からのアクセス状態がファイル転送状態で、排他すべき状態であると判定した場合、排他制御部１２により、デバイスＩＦ１０７に対して、アクセス禁止の排他処理を指示する（ステップＳ４８）。
【００７１】
これを受けて、デバイスＩＦ１０７は、アクセス要求した情報処理装置２００に対して、アクセスＮＧの旨（ホストアクセス禁止）を制御結果として通知する（ステップＳ４９）。
【００７２】
このように、本実施形態に係るリモートアクセス時の排他処理対象期間は、ファイル転送開始から終了までの間の期間としてもよい。つまり、リモートアクセス時の排他処理対象期間は、セッションの接続期間ではなく、実際にファイルを送受信するデータの通信期間に短縮してもよい。これにより、本実施形態に係るアクセス制御装置１００は、複数の機器から１つの記憶装置１０６に対して行われるアクセスを、効率的に相互排除する。
【００７３】
以上のように、本実施形態に係るアクセス制御装置１００は、アクセス種別に対応するファイル単位のアクセス区切りを判定条件とし、機器からのアクセス状態が排他すべき状態か否かの判定結果に基づき、複数の機器からのアクセスを排他制御する。これにより、アクセス制御装置１００は、複数の機器から１つの記憶装置１０６に対して行われるアクセスを、適切に相互排除することができる。
【００７４】
《優先設定に基づく処理》
本実施形態に係るアクセス制御装置１００は、例えば、図７に示すような、情報処理装置２００からのホストアクセスより、情報端末３００からのリモートアクセスの方を優先するアクセス制御機能を有していてもよい。
【００７５】
図７は、本実施形態に係るアクセス制御時の処理手順例（その４）を示すシーケンス図である。図７には、アクセス制御装置１００が、情報端末３００からのブロックデバイスアクセス時の接続要求を受け付けた場合、情報処理装置２００からのホストアクセスより、ブロックデバイスアクセスを優先するアクセス制御例が示されている。
【００７６】
図７に示すように、本実施形態に係るアクセス制御装置１００は、情報端末３００から接続要求メッセージ（Ｃ−ＲＥＱメッセージ）を受け付けると、次のような処理を行う。通信ＩＦ１０１は、ブロックアクセスサーバ部１０２を介して、アクセス制御部１０に対し、接続要求を受け付けた旨を通知する（ステップＳ５１，Ｓ５２）。
【００７７】
これを受けて、アクセス制御部１０は、予め設定されている優先順位に基づき、情報処理装置２００からのホストアクセスより、情報端末３００からのリモートアクセスを優先させる旨を決定する（ステップＳ５３）。このときアクセス制御部１０は、情報処理装置２００からのホストアクセスと情報端末３００からのリモートアクセスのどちらのアクセスを優先させるかを決定するための優先順位が設定された優先設定情報に基づき決定する。
【００７８】
その結果、アクセス制御部１０は、デバイスＩＦ１０７を介して、情報処理装置２００にｅｊｅｃｔ要求を行う（ステップＳ５４）。このときアクセス制御部１０は、ＯＳの制御下から記憶装置１０６を解放するように要求するメッセージを発行することで、情報処理装置２００にｅｊｅｃｔ要求する。
【００７９】
その後、情報処理装置２００では、ｅｊｅｃｔ処理が実行され、処理が完了すると、ｅｊｅｃｔ許可状態の旨がアクセス制御装置１００に通知される。
【００８０】
これを受けて、デバイスＩＦ１０７は、アクセス制御部１０に対して、ｅｊｅｃｔ許可状態である旨を通知し（ステップＳ５５）、ｅｊｅｃｔ要求に対する情報処理装置２００の状態を応答する。
【００８１】
その結果、アクセス制御部１０は、排他制御部１２により、ブロックアクセスサーバ部１０２に対して、接続許可の排他処理を指示する（ステップＳ５６）。
【００８２】
これを受けて、ブロックアクセスサーバ部１０２は、通信ＩＦ１０１に対して、接続ＯＫの旨（リモートアクセス許可）を制御結果として通知する（ステップＳ５７）。
【００８３】
その後、アクセス制御装置１００では、通信ＩＦ１０１を介して、接続要求した情報端末３００に対し、接続応答メッセージ（Ｃ−ＡＣＣメッセージ）が応答され、情報端末３００とアクセス制御装置１００との間の通信セッションが確立される。
【００８４】
このように、本実施形態に係るアクセス制御装置１００は、アクセス間の優先順位に基づき、機器から記憶装置１０６に対して行われるアクセスを排他制御するアクセス制御機能を有していてもよい。これにより、本実施形態に係るアクセス制御装置１００は、例えば、ホストアクセスとリモートアクセスのうち、記憶装置１０６へのアクセス頻度が高いアクセスを優先させるなどのアクセス制御が行え、利便性の向上が図れる。
【００８５】
＜まとめ＞
以上のように、本実施形態に係るアクセス制御装置１００によれば、排他条件判定部１１により、記憶装置１０６にアクセス中の機器のアクセス状態が、他の機器からの記憶装置１０６へのアクセスを排他すべき状態か否かを判定する。アクセス制御装置１００は、アクセス中の機器のアクセス状態が排他すべき状態であった場合、排他制御部１２により、他の機器からの記憶装置１０６へのアクセスを禁止する。
【００８６】
これによって、本実施形態に係るアクセス制御装置１００は、ファイル単位のアクセス区切りを判定条件に排他制御することで、複数の機器から１つの記憶装置１０６に対して行われるアクセスを適切に相互排除する仕組みを提供する。その結果、本実施形態に係るアクセス制御装置１００では、複数の機器からアクセスされる記憶装置１０６上のファイルの内容やファイル管理データの一貫性を保つことができ、データ破損を防ぐことができる（記憶装置１０６上のファイルシステムの破壊を回避できる）。
【００８７】
なお、上記実施形態では、情報端末３００からのリモートアクセスについて、ブロックデバイスアクセスとネットワークデバイスアクセスを例に説明を行ったが、この限りでない。本実施形態に係るアクセス制御装置１００は、ブロックアクセスサーバ部１０２やファイル転送サーバ部１０３などのような、情報端末３００が有する通信クライアント機能部に対応する通信サーバ機能部を備えることで、各種リモートアクセスに対応できる。この場合、アクセス制御装置１００では、デバイスＩＦ１０７と搭載した各通信サーバ機能部に対して、アクセス制御を行えばよい。
【００８８】
最後に、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
１０    アクセス制御部
１１    排他条件判定部
１２    排他制御部
１００  アクセス制御装置
２００  情報処理装置
３００  情報端末
【図１】
2014215896.tif 000003
【図２】
2014215896.tif 000004
【図３】
2014215896.tif 000005
【図４】
2014215896.tif 000006
【図５】
2014215896.tif 000007
【図６】
2014215896.tif 000008
【図７】
2014215896.tif 000009