(57)【特許請求の範囲】
【請求項１】
ローカルのコンピュータ装置に結合され且つ複数のデータセットを維持するテープ記憶装置へのアクセスを制御するためのアクセス制御システムであって、
前記コンピュータ装置上で実行されるアプリケーション・プログラムが生成する入出力要求を受け取り、前記アプリケーション・プログラムの属性及び前記データセットの属性を処理して前記アプリケーション・プログラムに対応する前記テープ記憶装置用の１組の制御パラメータを生成するための、前記コンピュータ装置上で実行される制御プログラムを備え、
前記１組の制御パラメータのうち第１の制御パラメータが、前記テープ記憶装置におけるテープ上のエクステントを定義し、前記１組の制御パラメータのうち第２の制御パラメータが、前記アプリケーション・プログラムに許される前記エクステントに対するアクセスのタイプを指示するものであり、
さらに、前記アプリケーション・プログラムから前記テープ記憶装置にアクセスするためのコマンドを受け取る手段と、
前記１組の制御パラメータを使用して前記１組の制御パラメータに違反しない前記コマンドを処理し、前記アプリケーション・プログラムによる前記テープ記憶装置へのアクセスを制御する、前記テープ記憶装置用の制御装置とを備える、前記アクセス制御システム。
【請求項２】
前記制御装置が、前記複数のデータセットを維持し、残留データを有し、特定のファイル・フォーマットを有し且つ前記テープ記憶装置から除去可能な順次アクセス・ボリューム上に記憶されたデータへのアクセスを管理することを特徴とする、請求項１記載のアクセス制御システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、記憶装置に係り、より詳細には、テープ装置へのアクセスを制御するアクセス制御システムに係る。
【０００２】
【従来の技術】
データの保全性は、あらゆるデータ処理システムにおいて重要な問題である。ほとんどのデータ処理環境は、データへの無許可のアクセスによるデータ保全性の問題を防ぐ必要がある。データセットのアクセス基準およびユーザのアクセス権限をシステムが入力できるようにするプログラムもある。その場合、システムはこの情報を使ってデータ・アクセスを管理する。テープ装置では、この保護は通常「ボリューム」と呼ばれるテープ全体へのアクセスの管理に限られている。
【０００３】
一方、テープ装置は伝統的に、同じボリューム上での複数のデータセットの記憶をサポートしてきた。単一のデータセットの場合でも、最後に書き込まれたデータセットの終わりよりも前の何らかの処理からの残留データが媒体上に残されることがあるという問題がさらにある。そのような残留情報へのアクセスは、いくつかの場面で「オブジェクト再使用」と呼ばれる。どちらの状態も、媒体へのアクセスが、ユーザが許可された媒体上のデータの範囲で管理されない場合には、機密の暴露を引き起こす可能性がある。このことは、単一のデータセットで典型的であろう。
【０００４】
ある環境では、テープ適用業務（以下「アプリケーション」又は「アプリケーション・プログラム」と称す）は、通常は制御プログラムによる多くの監視なしに、入出力（Ｉ／Ｏ）コマンド（たとえば、チャネル・プログラム）を発行することができる。他の環境では、制御プログラムがラベルおよびファイルのフォーマットを実行する責任をもち、一方、アプリケーションはファイルのデータ部分を読み取るまたは書き込む責任をもつ。装置によっては、制御プログラムで使用するように予約された一定のコマンドを拒否するための保護援助機構を提供するものもあるが、この保護は媒体にアクセスするコマンドの制御には使用されない。媒体上の様々なブロックまたは区画にランダムな位置を与えるコマンドの導入により、アプリケーションは、制御プログラムおよびそれに関連する機密保護ソフトウェアによってアクセスを許された単一ファイルの範囲外で位置決めできる能力を有する。また、単一ファイルの制限内でこれらの機能を利用して大幅な性能の改善をもたらすクリティカルなアプリケーションもあるので、アプリケーションからこれらのコマンドを発行する能力を簡単になくすことはできない。
【０００５】
オブジェクト再使用を防止するために現在用いられている１つの解決策は、ボリューム上にファイルを１つだけ記憶し、データセットに続くボリュームの残り部分を消去することである。この解決策は、次のような問題を有する。
【０００６】
まず第１に、ボリューム上に単一のファイルしか記憶できない。複数のファイルがあると、これらのファイルが、２つ以上のファイル内のデータにアクセスするアプリケーションに対し、暴露されてしまうという危険がある。ボリュームの容量が増えるにつれて、その全容量を利用するように複数ファイルを記憶することが記憶管理のクリティカルな部分になる。一般的に、平均ファイル・サイズはボリュームの全容量よりもはるかに小さい。
【０００７】
第２に、アプリケーションが、データセット用のラベル・グループなど上書きすべきでないボリュームのフォーマット済み部分に上書きすることがある。
【０００８】
第３に、アプリケーションが、テープ・マークなどフォーマット情報を書き込もうとすることがあり、そうすると、媒体上でのファイルのフォーマット化が無効になる。
【０００９】
第４に、制御プログラムが媒体上でファイルのフォーマット化を終了する前に、アプリケーションが、媒体をアンロードしようとすることがある。そうなると、アプリケーションが現媒体をアンロードして他の媒体にアクセスできるようになる。たとえば、いくつかの装置はロード・コマンドを提供する。いくつかの装置ローダは、現ボリュームがアンロードされたときに別のボリュームをロードさせる自動ローディング・モードを有する。
【００１０】
第５に、消去機能を実行するのに要する時間が相当な量になることもある。ほとんどのテープ装置では、この機能は、ファイルの終わりに続くボリュームの任意の部分を装置が上書きすることを必要とする。ボリュームの容量が増えるにつれて、この機能を実行するために使われる時間もそれに比例して増大する。たとえば、毎秒１メガバイトのデータ転送速度で書込みを行う装置で１０ギガバイトのボリュームを消去するのに要する時間は、およそ１００００秒すなわち３時間になる。かなりの数の処理済みファイルがこのタイプの処理を必要とする場合は、通常処理のためのテープ装置の使用可能度が重大な影響を受ける。
【００１１】
第２の代替案は、制御プログラムが、アプリケーションから受け取ったすべてのチャネル・プログラムをくまなく走査し、望ましくない影響を与える可能性のあるコマンドがあるかどうかを判定することである。この解決策には次のような問題がある。
【００１２】
第１に、各チャネル・プログラムの走査に伴うオーバヘッドがある。
【００１３】
第２に、チャネル・プログラムは一般に、記憶保護キーに伴う複雑さとアドレス空間変換の問題をもたらす可能性のあるユーザのアドレス空間内にある。
【００１４】
第３に、制御プログラムは、その影響を評価するために、コマンドに関連するパラメータ・データを調べることが必要なことがある。このことは、装置コマンド・セットの詳細な知識を制御プログラム中でコード化しなければならないことを暗示する。また、新しい機能が導入されるたびに、それが制御プログラム中で実行される検査によって拒否されないように、制御プログラムを更新しなければならないという問題が生じる（たとえば、未知の機能またはコマンドは潜在的なアクセス違反とみなさなければならず、したがって拒否されなければならない）。つまり、制御プログラムの知識なしでアプリケーション中に援助機構を直接提供することによって新しい機能の初期導入を行おうとしても、そのような初期導入が禁止されてしまうことになる。
【００１５】
第４に、プログラムは、コマンドが問題を起こすか否か評価できないことがある。たとえば、「位置指定」コマンドは、媒体のさらに後方の論理ブロックを指定する。制御プログラムは、現在の活動データセットの範囲（たとえば、論理ブロックの範囲）を知っていることも知らないこともあり、したがってアクセスがデータセットの範囲外かどうか判定できないことがある。
【００１６】
【発明が解決しようとする課題】
したがって、当技術分野では、テープ・ボリュームの未使用の容量を無駄にしないように、テープ・ボリュームに対するアクセスを制限する迅速で費用のかからない技術が要請されている。
本発明の目的は、このような要請に対処することにあり、テープ駆動装置などの媒体記憶装置へのアクセスを制御するアクセス制御システムを提供することにある。
【００１７】
【課題を解決するための手段】
本発明によれば、所与のアプリケーション・プログラムがアクセスしようとする装置用の１組の制御パラメータが生成される。テープ制御装置は、これらの制御パラメータを使ってアプリケーション・プログラムからのコマンドを処理し、それによりテープへのアクセスを制御する。例示的応用例では、テープ上でエクステントを定義し、このエクステント内で許されるアクセスのタイプを管理する制御パラメータを定義する。このアクセス制御システムは、定義されたエクステント以外で媒体にアクセスしようとするあらゆるコマンドを拒否する。エクステントの範囲内での書込みコマンドおよびフォーマット・コマンドが制限され、区画変更、ロードおよびアンロードが禁止される。
【００１８】
【実施例】
次に、添付の図面を参照して、本発明の例示的実施例および例示的応用例について説明する。
【００１９】
図１は、本発明を利用したコンピュータ装置の入出力システム１０のブロック図である。入出力システム１０は、コンピュータ１２、装置制御装置（以下「制御装置」とも称す）１４、入出力装置１６、および媒体１８を含む。コンピュータ１２上で稼働するアプリケーション・プログラム２０は、入出力（Ｉ／Ｏ）要求を生成し、それを制御プログラム２２が受け取って解釈する。典型的な実現形態では、アプリケーション・プログラム２０はワード処理プログラムでもよく、制御プログラム２２はＤＯＳやＵＮＩＸなどのオペレーティング・システムでもよい。
【００２０】
本発明によれば、前述の入出力要求が開始すると、制御プログラム２２は、アプリケーション・プログラムの属性２４と、そのアプリケーション・プログラムが操作するデータセットの属性２６とを識別し、制御装置１４のアクセス監視制御プログラム２８用の、１組の制御パラメータを生成する。典型的なアプリケーションの属性２４には、そのアクセス特権（たとえば、読取り専用、読取り−書込み、など）の対象となるデータ・グループのリストがあり、典型的なデータセットの属性２６には、それに関連するデータ・グループおよび、おそらくはアクセスの制限（すなわち、読取り専用、読取り−書込みなど）が含まれる。
【００２１】
制御装置１４は、コンピュータ１２のプロトコルでフォーマットされた信号を、入出力装置１６のプロトコルでフォーマットされた信号に変換するマイクロプロセッサ（図示せず）を有する装置マネージャである。制御装置１４はまた、媒体１８をフォーマットして位置決めし、その中の個々のファイル３０、３２および３４にアクセスするように入出力装置１６を制御する。例示的実施例では、入出力装置１６はテープ駆動装置であり、媒体１８はテープである。
【００２２】
本発明の動作を図２と図３の流れ図に示す。図２は、本発明のアクセス制御システムで利用される制御プログラム論理ルーチン４０を示す流れ図である。図３は、本発明のアクセス制御システムで利用される装置制御論理ルーチン６０を示す流れ図である。
【００２３】
図２の段階４２で、制御プログラム２２がアプリケーション・プログラム２０の開始を求める要求を受け取る。段階４４で、制御プログラム２２が、アプリケーションの属性２４とデータセットの属性２６を取り出す。次に、段階４６で、制御プログラム２２がこれらの属性から適切な制御パラメータを決定する。たとえば、アプリケーション・プログラムが、そのデータセットが関連付けられたデータ・グループへの読取りアクセス特権を有する場合、これらの制御パラメータは、読取りに制限され且つそのデータセットに関連する媒体のセクションに制限されたアクセスを指定することになる。
【００２４】
段階４８で、これらの制御パラメータが制御装置１４のアクセス監視制御プログラム２８に送られ、メモリ（図示せず）に記憶される。次に、アプリケーション・プログラムが実行される（段階５０）。次いで、段階５２と５４で、アクセス監視制御プログラム２８内の装置制御論理ルーチン６０（図３）によって入出力要求が処理される。保護違反が検出された場合は、この入出力要求と、場合によってはアプリケーション・プログラムとが終了され、図２の論理ルーチン４０が終わる（段階５８）。保護違反が生じなかった場合は、アプリケーション・プログラムは入出力装置１６へのアクセスを許される。
【００２５】
図３の装置制御論理ルーチン６０は、アプリケーション・プログラムからの入出力要求を処理し、まずメモリ内を検査して、装置用の制御パラメータが存在するかどうかを決定することによって、保護違反を検出する（段階６４）。装置用の制御パラメータが存在しない場合は、コマンドが処理される。しかし、メモリ内に装置用の制御パラメータが存在する場合は、段階６６で、これらの制御パラメータを検索する。次いで、入出力コマンドを各制御パラメータと突き合わせて検査する（段階６８、７０など）。どの制御パラメータにも違反していない場合は、コマンドが処理され（段階７２）、良好の状況が制御プログラムに戻される（段階７４）。一方、いずれかの制御パラメータに違反している場合は、コマンドは失敗し（段階７６）、制御プログラムに保護違反が示される（図２の段階５４）。
【００２６】
制御パラメータは、以下のように定義することができる。第１に、エクステントは、媒体１８上で、媒体１８上の論理的に連続した記憶場所の範囲として定義される。たとえば、読取り専用にアクセスされるテープ・ボリュームでは、所与の媒体区画における１つの論理ブロックで始まり、同じ区画またはそれに続く１つまたは複数の媒体区画における一連の連続した論理ブロックの終わりまでの論理ブロックの範囲である。書き込まれるボリュームでは、エクステントは通常、ある区画またはそれに続く指定されたいくつかの論理ブロックの始めなどの指定された開始位置と、同じ区画またはそれに続くいくつかの区画の終わりなどの一般化された終了位置とを有することになる。
【００２７】
本発明に従って、新しいコマンドが作成される（たとえば、「エクステント定義」コマンド）。このコマンドは、保護される媒体のエクステントの開始位置と終了位置を指定するために使用される。様々な条件を処理するために、開始位置の引数は、次のいずれかの方法でエクステントの始めを指定できなければならない。
１）媒体の始め。
２）区画の始め。
３）現媒体位置（たとえば、順方向における次のブロックの前）。
４）先行するテープ・マークの後の位置。
５）媒体上の指定された区画番号および論理ブロック番号。
項目１または２は、一般に、それぞれアプリケーションが媒体全体または区画全体にアクセスを行う場合に使用される。項目３は、一般に、アクセスされるファイルの始めに媒体が位置するときに使用される。項目４は、一般に、順方向にアクセスされるファイルの場合には項目３と同じになる。項目４はまた、媒体がファイルの終わりに位置するとき、ファイルの始めを指定するのに役立つ。項目５は、媒体上で任意の開始位置を定義するために使用できる。項目４を除くすべてのケースについて、装置は、エクステントの始めに関連する特定の区画番号および論理ブロック番号を決定できる。項目４の場合、装置は、先行テープ・マークと現位置の間のすべての論理ブロックにすでにアクセスした場合に限り、エクステントの始めに関連する特定の区画番号および論理ブロック番号を決定できる。
【００２８】
様々な条件を処理するために、終了位置の引数は、次のいずれかの方法でエクステントの終わりを指定できなければならない。
１）媒体の終わり。
２）区画の終わり。
３）現媒体位置（たとえば、逆方向における次のブロックの後）。
４）次のテープ・マークの前の位置。
５）データの終わり（たとえば、書き込まれた最後の有効ブロックの後）。
６）媒体上の指定された区画番号および論理ブロック番号。
【００２９】
項目１または２は、一般に、アプリケーションが、媒体全体または区画全体上のエクステントの始めより後のすべてのデータにアクセスできる書込みの場合に使用される。項目３は、一般に、媒体が、アクセスされるファイルの終わりに位置するときに使用される。項目４は、一般に、媒体が、読取り用にアクセスされるファイルの始めに位置し、制御プログラムが、（順方向における次のテープ・マークで示される）ファイルの終わりの正確な位置を知らないときに使用される。項目５は、最後の記録パス以降に媒体に書き込まれた最後のブロックまでのデータをアクセスするために使用される。これは、一般に、アプリケーションが媒体上の有効なすべてのデータ（たとえば、ファイルの終わりにおけるラベルおよびテープ・マークを含む）にアクセスできる場合に使用される。このオプションは、データ・マークの終わりを支援しない装置上では、あるいはおそらくはデータ・マークの終わりが書き込まれていないような場合には、提供すべきではない。項目６は、媒体上の任意の終了点を定義するために使用できる。項目４と５を除くすべてのケースについて、装置は、エクステントの終わりに関連する特定の区画番号および論理ブロック番号を決定できる。項目４と５の場合には、装置は、現媒体位置と指定されたエクステントの終わりとの間のすべての論理ブロックにすでにアクセスした場合に限って、エクステントの終わりに関連する特定の区画番号および論理ブロック番号を決定できる。
【００３０】
第２に、媒体上で許容されるアクセス・タイプを支配する制御パラメータが定義される。次のような制御パラメータが存在しない場合、アプリケーション・プログラムは、普通なら、媒体の任意部分への完全な読取りアクセスおよび書込みアクセスができることになる。
【００３１】
エクステント保護
これが活動状態のとき、発行済みの最後の「エクステント定義」コマンドによって指定されたエクステントの範囲外で媒体を位置決めしようとする任意のコマンドが拒否される。実際、媒体の位置決めは、定義されたエクステントの限界内でなければならない。このコマンドの発行時に媒体がエクステントの範囲内に位置しない場合は、この制御パラメータを活動化することは許されない。前述のように、装置が移動方向におけるエクステントの境界を特定の論理ブロック番号と関連付けできない場合は、「位置指定」コマンドのパフォーマンスが制限されることがある。この場合、装置は通常、現位置と目標位置との間のすべてのブロックに連続してアクセスし、エクステントの境界条件にぶつからないようにしなければならない。位置指定動作のためにこのパフォーマンスが低下するおそれがあり、さらに考慮中のアプリケーションがその「位置指定」コマンドに依存する場合は、論理ブロック番号と関連付けできるエクステントの境界指定を使用しなければならない。この問題は、エクステントの終わりが次のテープ・マークよりも先行するものとして指定されるファイル読取りアクセスの場合に最も典型的に見られる。この場合、後でエクステントの範囲を指定するのに使用できるように、制御プログラムによって、ファイルの作成時にそのファイルに関する開始位置および終了位置（たとえば、論理ブロック番号）を保存することが望ましい。
【００３２】
書込み保護
これが活動状態のとき、書込み型コマンドが拒否される。この場合、アプリケーション・プログラムは、ボリュームのアクセス可能な部分（たとえば、前述の「エクステント保護」に応じて、ボリューム全体またはそのエクステント）への読取り専用のアクセスを行うことができる。非活動状態のときは、書込み型コマンドを受け入れることができる。この場合、アプリケーション・プログラムは、ボリュームのアクセス可能部分（たとえば、前述の「エクステント保護」に応じて、ボリューム全体またはそのエクステント）への読取り−書込みアクセスを行うことができる。
【００３３】
マーク保護
これが活動状態のとき、テープ・マークまたは他のフォーマット用マークをもたらす任意のコマンドが拒否される。非活動状態のときは、かかるコマンドを受け入れることができる。
【００３４】
区画保護
これが活動状態のとき、媒体に現活動区画を変更させる任意のコマンドが拒否される。非活動状態のときは、かかるコマンドを受け入れることができる。
【００３５】
ステージ保護
これが活動状態のとき、媒体をロードまたはアンロードさせる任意のコマンドが拒否される。かかるコマンドには、たとえば、巻き戻しアンロード・コマンドが含まれる。非活動状態のときは、かかるコマンドを受け入れることができる。
【００３６】
前述のすべての制御パラメータは互いに無関係に使用でき、「エクステント保護」を除くと、「エクステント定義」コマンドと無関係に使用できる。これらの制御パラメータは、一般に、モード設定型コマンドによって提供され、発行された後は、制御プログラムによって変更されるまで、あるいは現ボリュームがアンロードされるまで持続することになる。
【００３７】
第３に、「モード設定」コマンドと「エクステント定義」コマンドは、制御プログラム用に予約されたコマンドとして扱われ、アプリケーション・プログラムが前述の制御パラメータまたはエクステント定義を修正するのを防止する機構を提供する。その結果、制御プログラム２２は、必要に応じてアプリケーション・プログラムに対する「エクステント定義」コマンドまたは「モード設定」コマンドの使用を抑制することができる。したがって、制御プログラムは、次のすべてのことを行う能力を有する。
１）媒体の特定エクステントへのアクセスを制限する。
２）ボリューム・アクセスの範囲を制限する（より具体的には、読取り専用アクセスか、読取り−書込みアクセスかを選択できる）。
３）媒体または区画を変更する能力を使用不能にすることによって単一のボリュームまたは区画へのボリューム・アクセスを制限する。
４）ボリューム・フォーマット化をデータのみの修正だけに制限する。
【００３８】
【発明の効果】
したがって、本発明によれば、オブジェクト再使用を防ぐために古いデータを消去する必要がなくなる。ボリューム上の多数の区画または区画内の多数のファイルを、無許可のアクセスにさらすことになしに支援できる。制御プログラムは、処理の始めに１組の制約を確立することにより、アプリケーションが、無許可のアクセス、ファイルのフォーマット化保全性エラーまたはボリューム保全性エラーをもたらす任意のアクションを行うことを防止する。これらの制約により、制御プログラムがチャネル・プログラムの内容を監視する必要がなくなり、オーバヘッドが、１回のファイル活動化（たとえば、開く）ごとに１度だけ制約を確立することに制限される。
【図面の簡単な説明】
【図１】本発明に従ったコンピュータ装置の入出力システムのブロック図である。
【図２】本発明のアクセス制御システムで利用される制御プログラム論理ルーチンを示す流れ図である。
【図３】本発明のアクセス制御システムで利用される装置制御論理ルーチンを示す流れ図である。
【図１】
0003600313.tif 000002
【図２】
0003600313.tif 000003
【図３】
0003600313.tif 000004