(57)【特許請求の範囲】
【請求項１】
ホスト・コンピュータ・システム内のメモリに格納されたホスト・オペレーティング・システムと前記ホスト・コンピュータ・システムに結合されたゲスト・コンピュータ・システム内のメモリに格納されたゲスト・オペレーティング・システムとの間で前記ホスト・コンピュータ・システムに結合されたアクセス装置の使用を割り振る方法であって、前記方法は前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムと通信するように前記ホスト・コンピュータ・システム内のメモリに格納された共用管理プログラムによって実行されるものにおいて、
前記共用管理プログラムにおいて、前記アクセス装置を使用するための要求を前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムから受信するステップと、
前記受信済みの要求が、前記ホスト・オペレーティング・システムからの要求であるかどうかを判定するステップと、
前記受信済みの要求が前記ホスト・オペレーティング・システムからの要求である場合に、前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムが、前記アクセス装置の使用を可能にするための前記アクセス装置の鍵を有するかどうかを判定するステップと、
前記受信済みの要求が、前記アクセス装置の状態を変更するための変更要求および前記アクセス装置を読み取るための受動要求のうち何れの要求であるかを判定するステップと、
前記受信済みの要求が前記ホスト・オペレーティング・システムからの変更要求であり、前記ホスト・オペレーティング・システムも前記ゲスト・オペレーティング・システムも前記鍵を有していない場合に、前記ホスト・オペレーティング・システムからの前記変更要求を受け入れるステップと、
前記受信済みの要求が前記ゲスト・オペレーティング・システムからの変更要求であり、前記ホスト・オペレーティング・システムも前記ゲスト・オペレーティング・システムも前記鍵を有していない場合に、前記ゲスト・オペレーティング・システムからの前記変更要求を拒否するステップとを含む方法。
【請求項２】
さらに、前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムが前記鍵を有する場合に、当該一方のオペレーティング・システムからの前記受信済みの要求を受け入れるステップを含む、請求項１に記載の方法。
【請求項３】
前記ゲスト・オペレーティング・システムが前記アクセス装置の使用後に前記鍵を解放し、前記アクセス装置の一時的な使用を可能にする、請求項２に記載の方法。
【請求項４】
さらに、前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムが前記鍵を有する場合に、他方のオペレーティング・システムからの前記受信済みの要求を拒否するステップを含む、請求項１に記載の方法。
【請求項５】
さらに、前記受信済みの要求が受動要求であり、前記ホスト・オペレーティング・システムも前記ゲスト・オペレーティング・システムも前記鍵を有していない場合に、前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムからの前記受動要求を受け入れるステップを含む、請求項１に記載の方法。
【請求項６】
前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムが、異なる種類のオペレーティング・システムである、請求項１に記載の方法。
【請求項７】
前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムが前記鍵を有する場合に、前記アクセス装置が当該一方のオペレーティング・システムにロックされていると見なされる、請求項１に記載の方法。
【請求項８】
さらに、前記受信済みの要求が、前記鍵を有する前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムのうち一方のオペレーティング・システムからの前記鍵を解放するための要求であるかどうかを判定するステップと、
前記受信済みの要求が前記鍵を解放するための要求である場合に、前記鍵を有する前記一方のオペレーティング・システムから前記鍵を解放するステップと、
前記鍵の解放後に、前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムへリセット信号を送信し、前記リセット信号が、前記ホスト・オペレーティング・システムおよび前記ゲスト・オペレーティング・システムに、前記ホスト・コンピュータ・システムおよび前記ゲスト・コンピュータ・システムに関連するキャッシュ・メモリの状態をそれぞれリセットさせるステップとを含む、請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータおよびコンピュータ・ソフトウェアに関する。詳細には、ホスト・オペレーティング・システムとゲスト・オペレーティング・システムとの間でアクセス装置の使用を割り振る方法に関する。
【０００２】
【従来の技術】
あらゆるコンピュータ・システムは、そのオペレーティング・システムによって管理および実施される。オペレーティング・システムは、ユーザ・インターフェースの提供、メモリの使用の調整、コンピュータ・システムに結合された装置の使用の調整、および様々なアプリケーション・プログラムの動作の管理を含む様々な機能を担当する。
【０００３】
しかし、異なるコンピュータ・システムが共通のハードウェアまたは装置を共用する必要がある状況がある。たとえば、異なるコンピュータ・システムが共通のディスク・ドライブまたは共通のプリンタを共用することが必要な可能性がある。共通の装置またはアクセス装置の使用を実施するには、何らかの形態の共用機構またはリソース割振りがコンピュータ・システム間で必要とされる。
【０００４】
そのような共用構成では、アクセス装置の使用は、ホスト・コンピュータ・システムとして知られる特定のコンピュータ・システム内のホスト・オペレーティング・システムによって管理される。アクセス装置の使用を可能にするために、ホスト・オペレーティング・システムは、ゲスト・コンピュータ・システムとして知られる他のコンピュータ・システムのオペレーティング・システムと通信する。これらのゲスト・コンピュータ・システムのオペレーティング・システムは、ゲスト・オペレーティング・システムとして知られている。
【０００５】
アクセス装置の共用を実施する一解決法は、ホスト・オペレーティング・システムを修正することである。しかし、ホスト・オペレーティング・システムは通常、変更することが難しい大きく複雑なコードを備える。さらに、ホスト・オペレーティング・システムの修正は、ゲスト・オペレーティング・システムによって動作されるゲスト・コンピュータ・システムによる特定のアクセス装置の本当の共用を妨げる。ホスト・オペレーティング・システムおよびゲスト・オペレーティング・システムの現在のインプリメンテーションによれば、アクセス装置の多様な使用をサポートせずモノリシックである。ゲスト・オペレーティング・システムが、ホスト・オペレーティング・システムによってサポートされていないアクセス装置またはハードウェアの特定の特徴にアクセスする必要があるときに、問題が発生する可能性がある。
【０００６】
【発明が解決しようとする課題】
したがって、ゲスト・コンピュータ・システムが、必ずしもホスト・オペレーティング・システムによってサポートされていないアクセス装置の機能を使用できるようにする解決法を提供することが当技術分野に必要である。
【０００７】
【課題を解決するための手段】
本発明の態様は、ホスト・オペレーティング・システムとゲスト・オペレーティング・システムとの間でアクセス装置の使用を割り振る方法を提供する。アクセス装置の割振りによって、ゲスト・コンピュータ・システムは、アクセス装置の機能がホスト・オペレーティング・システムによってサポートされているか否かにかかわらず、その機能または特徴を使用することができる。一実施形態では、アクセス装置を使用するための受信要求のソースが、ホスト・オペレーティング・システムまたはゲスト・オペレーティング・システムのいずれかとして判定される。ホスト・オペレーティング・システムがアクセス装置の鍵を有するか、またはゲスト・オペレーティング・システムがアクセス装置の鍵を有するかの判定が実行される。この鍵によって、ホスト・オペレーティング・システムまたはゲスト・オペレーティング・システムのいずれかがアクセス装置を使用することができる。受信済みの要求がアクセス装置の状態を変更するための変更要求であるかまたはアクセス装置を読み取るための受動要求であるかの判定も実行される。ホスト・オペレーティング・システムおよびゲスト・オペレーティング・システムからの要求の処理は、受信済みの要求が変更要求であり、ホスト・オペレーティング・システムもゲスト・オペレーティング・システムも鍵を有していない場合を除いて類似している。このような場合、ホスト・オペレーティング・システムからの要求が受け入れられ、ゲスト・オペレーティング・システムからの要求が拒否される。
【００１０】
本発明の教示は、添付の図面を参照しながら以下の詳しい説明を読めば容易に理解できよう。
【００１１】
よりわかりやすくするために、可能な場合には同じ番号を使用して、図に共通の同じ要素を示した。
【００１２】
【発明の実施の形態】
図１は、例示としてコンピュータ・システム１００を示す。コンピュータ・システム１００は、クライアント・コンピュータ、サーバ・コンピュータ、ポータブル・コンピュータ、および組込み制御装置などのコンピュータ、コンピュータ・システム、または他のプログラマブル電子装置を示す。コンピュータ・システム１００は、スタンドアロン装置であるかまたはコンピュータ・ネットワーク・システムに結合されている。一実施形態では、コンピュータ・システム１００は、ニューヨーク州アーモンクのインターナショナル・ビジネス・マシーンズから市販されているAS/400である。
【００１３】
一実施形態では、コンピュータ・システム１００は、バス１０４を介してメイン・メモリ１０６から命令およびデータを取得する少なくとも１つのプロセッサ１０２を有するマルチ・ユーザ・プログラミング環境でホスト・コンピュータ・システム１００として示される。メイン・メモリ１０６は、ホスト・オペレーティング・システム１０８、共用管理プログラム１１０、および様々なアプリケーション・プログラム（図示しない）を含んでいる。メイン・メモリ１０６は、ランダム・アクセス・メモリ、不揮発性メモリまたはバックアップ・メモリ（たとえばプログラマブル・メモリまたはフラッシュ・メモリ、および読取り専用メモリなど）を含む１つのメモリ装置またはメモリ装置の組み合わせを備える。さらに、メモリ１０６には、物理的にコンピュータ・システム１００の他の場所に位置するメモリ、たとえば仮想メモリとして使用される記憶容量、または大容量記憶装置に格納された記憶容量、またはバス１０４を介してコンピュータ・システム１００に結合された別のコンピュータに格納された記憶容量が含まれる。
【００１４】
コンピュータ・システム１００は通常、多くの周辺装置に結合されている。一実施形態では、コンピュータ・システム１００は、記憶媒体１２０、入力装置１２２、出力装置１２４、アクセス装置１２６、および少なくとも１つのネットワーク・コンピュータ・システム１２８に結合されている。記憶媒体１２０は、記憶インターフェース１１２を介してコンピュータ・システム１００に結合されている。記憶媒体１２０は、永続または削除可能な直接アクセス記憶装置（ＤＡＳＤ）のいずれかを備える。記憶インターフェース１１２の一例は、フロッピ（Ｒ）・ドライブ、光ディスク・ドライブ、およびテープ・バックアップなどのディスク・ドライブである。
【００１５】
入力装置１２２および出力装置１２４は、入出力インターフェースまたは端末インターフェース１１４を介してコンピュータ・システム１００に結合されている。入力装置１２２は、コンピュータ・システム１００に入力を提供するために使用されるどのような装置でも備えることができる。入力装置１２２の例には、キーボード、キーパッド、ライト・ペン、タッチ・スクリーン、ボタン、マウス、トラック・ボール、および音声認識装置などが含まれる。出力装置１２４は、従来のどのような表示画面でも備えることができる。入力装置１２２とは別々に示されているが、出力装置１２４および入力装置１２２は組み合わせることが可能である。たとえば内蔵タッチ・スクリーンと表示画面、内蔵キーボードと表示、またはテキスト音声コンバータと組み合わされた音声認識装置を使用することができる。
【００１６】
アクセス装置１２６は、アクセス・インターフェース１１６を介してコンピュータ・システム１００に統合されている。アクセス装置１２６の一例は、書き込み可能なＤＶＤドライブである。しかし、アクセス装置１２６は、ホスト・コンピュータ・システム１００および他のネットワーク・コンピュータ・システム１２８からアクセスすることができる装置を備える。アクセス・インターフェース１１６は、コンピュータ・システム１００または他のネットワーク・コンピュータ・システム１２８のいずれかによってアクセス装置１２６の使用を調整する。アクセス・インターフェース１１６は、バス１０４からの信号をアクセス装置１２６またはアクセス装置１２６に結合された入出力（Ｉ／Ｏ）アダプタに適した形式に変換する。
【００１７】
コンピュータ・システム１００は、例示として、少なくとも１つのゲスト・コンピュータ・システムに接続した。一実施形態では、ゲスト・コンピュータ・システムであるネットワーク・コンピュータ・システム１２８は、ネットワーク・インターフェース１１８を介して（ホスト）コンピュータ・システム１００に結合した。各ゲスト・コンピュータ・システム１２８の動作は、それぞれのゲスト・オペレーティング・システム１３０1、・・・、１３０n（本明細書においては通常１３０として示す）によって調整または管理される。ゲスト・オペレーティング・システム１３０は、ネットワーク・コンピュータ・システム１２８が、ホスト・コンピュータ・システム１００に結合されたアクセス装置１２６を使用することができるように要求を調整する。ゲスト・オペレーティング・システム１３０の例には、IBM OS/400、UNIX（Ｒ）、IBM AIX、Microsoft Windows（Ｒ）、Windows（Ｒ） NT、およびLinuxなどが含まれる。ゲスト・オペレーティング・システム１３０からのこのような要求の処理については、図５を参照しながらさらに説明する。
【００１８】
ホスト・オペレーティング・システム１０８は、コンピュータ・システム１００を動作するために使用されるソフトウェアである。ホスト・オペレーティング・システム１０８の例には、IBM OS/400、UNIX（Ｒ）、IBM AIX、およびMicrosoft Windows（Ｒ）などが含まれる。一実施形態では、ホスト・オペレーティング・システム１０８はまた、アクセス装置１２６を使用するための要求を送信する。ホスト・オペレーティング・システム１０８からのこのような要求の処理については、図４を参照しながらさらに説明する。共用管理プログラム１１０は、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０の両方からのアクセス装置１２６を使用するための要求を処理する。これらの要求の処理では、共用管理プログラム１１０は、ホスト・オペレーティング・システム１０８またはゲスト・オペレーティング・システム１３０からの特定の要求を受け入れるかまたは拒否する。受け入れられた要求は、アクセス・インターフェース１１６に送信される。拒否された要求は、アクセス装置１２６を使用するために要求を送信したオペレーティング・システム１０８または１３０に送信される。
【００１９】
共用管理プログラム１１０は、ホスト・オペレーティング・システム１０８への割込みを最小限に抑えながら、アクセス装置１２６の共用を実施する。これは、アクセス装置１１６の共用を実施するためにホスト・オペレーティング・システム１０８に必要な修正量を制限する。ホスト・オペレーティング・システム１０８は、たとえば要求を送信したり、または拒否された要求を受け取るなど、共用管理プログラム１１０とやり取りすることのみ必要である。共用管理プログラム１１０を実施する一実施形態については、図３〜５を参照しながらさらに説明する。
【００２０】
ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０は、例示として、別々のコンピュータ・システム、つまりホスト・コンピュータ・システム１００およびゲスト・オペレーティング・システム１２８で示されているが、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０は、同じコンピュータ・システムに存在することも可能である。たとえば論理的にパーティションで区切られたコンピュータ・システムが、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０の両方を含むことができる。さらに、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０が異なる種類であることも可能である。一実施形態では、ホスト・オペレーティング・システム１０８がIBM OS/400であり、ゲスト・オペレーティング・システム１３０がMicrosoft Windows（Ｒ） NTである。
【００２１】
通常、本発明の実施形態を実施するために実行されるルーチンは、オペレーティング・システムの一部として実施されるかまたは特定のアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、または命令のシーケンスとして実施されるかにかかわらず、共用管理プログラム１１０またはプログラム１１０に存在する。プログラム１１０は一般的に、様々なときにコンピュータ・システム１００の様々なメモリおよび記憶装置に存在する１つまたは複数の命令を備える。コンピュータ・システム１００の１つまたは複数のプロセッサ１０２によって読み取られ実行されるときに、プログラム１１０は、コンピュータ・システム１００に、本発明の様々な態様を実施するステップまたは要素を実行するために必要なステップを実行させる。さらに、本発明を、完全な機能を持つコンピュータおよびコンピュータ・システムの状況で以下に説明するが、本発明の様々な実施形態は、様々な形のプログラム製品として配布することが可能であり、本発明が、配布を実施するために実際に使用される信号担持（signal bearing）またはコンピュータ読み取り可能な媒体の種類に関係なく等しく適用されることが当業者には理解されよう。信号担持またはコンピュータ読み取り可能な媒体の例には、それに限定されるものではないが、揮発性および不揮発性メモリ装置、フロッピ（Ｒ）、および他のリムーバブル・ディスク、ハード・ディスク・ドライブ、光ディスク（たとえばＣＤ−ＲＯＭおよびＤＶＤなど）などの記録型媒体が含まれる。
【００２２】
さらに、以下に説明する様々なプログラムおよび装置を、それらが本発明の特定の実施形態で実施されるアプリケーションに基づいて識別する。しかし、以下の特定のプログラムまたは装置名は単に便宜的に使用されていることを理解すべきであり、本発明は、そのような名称によって識別されるおよび／または暗示される特定のアプリケーションのみでの使用に限定されるものではない。
【００２３】
図２は、図１の内蔵コンピュータ・システム１００の構成要素を示すプロセス図２００である。具体的には、プロセス図２００は、ホスト・オペレーティング・システム１０８と共用管理プログラム１１０とゲスト・オペレーティング・システム１３０との間で送信される信号およびデータ構造について説明する。１つのゲスト・オペレーティング・システム１３０について以下に説明するが、プロセス図２００は、複数のゲスト・オペレーティング・システム１３０がアクセス装置１２６の使用を要求する状況にも適用される。
【００２４】
共用管理プログラム１１０は、パス２０２を介してゲスト・オペレーティング・システム１３０からの要求を受け取り、および／または、パス２０４を介してホスト・オペレーティング・システムからの要求を受け取る。パス２０２を介した要求は、ゲスト・コンピュータ・システム１２８がアクセス装置１２６を使用するための要求である。パス２０４を介した要求は、ホスト・コンピュータ・システム１００がアクセス装置１２６を使用するための要求である。ゲスト・オペレーティング・システム１３０は、パス２０８を介してアクセス装置１２６に論理的にリンクされている。しかし、ゲスト・オペレーティング・システム１３０は、共用管理プログラム１１０またはアクセス・インターフェース１１６を認識していない。
【００２５】
パス２０２を介したゲスト・オペレーティング・システムからの要求には、ホスト・オペレーティング・システム１０８によってサポートされていない機能が含まれる。たとえば特定のアクセス装置１２６は、様々な機能を実施することができる。ホスト・オペレーティング・システム１０８は、これらの機能のうちの限られた数、つまりこれらの機能のサブセットの使用をサポートする。別のゲスト・オペレーティング・システム１３０が異なる機能の使用をサポートする。ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０は、アクセス装置１２６の異なる使用をサポートしないモノリシックであるので、別のプログラム１１０が、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０からの要求を処理するために使用される。これによって、ゲスト・コンピュータ・システム１２８は、ホスト・オペレーティング・システム１０８がサポートしないアクセス装置１２６の機能を使用することができる。
【００２６】
共用管理プログラム１１０はこれらの要求を処理して、ホスト・コンピュータ・システム１００がアクセス装置１２６を使用するかまたはゲスト・コンピュータ・システム１２８がアクセス装置１２６を使用するかを判定する。一実施形態では、要求は「受動」要求または「変更」要求を含んでいる。受動要求は、アクセス装置１２６の状態を使用するが変更しない要求である。それに対し、変更要求は、アクセス装置１２６の状態の変更を必要とする要求である。受動要求の一例は、アクセス装置１２６のデータの読取りである。能動要求は、アクセス装置１２６への書込みまたはアクセス装置１２６のマイクロコードの変更を含む。このような要求の処理については、図３〜５を参照しながらさらに説明する。
【００２７】
特定の要求を受け入れるかまたは拒否するかを判定するために、共用管理プログラム１１０は「鍵」２２０を使用して、特定のコンピュータ・システム、たとえばホスト・コンピュータ・システム１００およびゲスト・コンピュータ・システム１２８によるアクセス装置１２６の使用を追跡する。特定のコンピュータ・システムは、それに対応するオペレーティング・システムが鍵２２０を有する場合にアクセス装置１２６を使用することができる。鍵２２０の一実施形態はデータ構造である。例示として、ゲスト・オペレーティング・システム１３０が鍵２２０を有する。コンピュータ・システム、たとえばゲスト・コンピュータ・システム１２８がアクセス装置１２６の使用を完了すると、鍵２２０は取り除かれるかまたはそうでない場合はオペレーティング・システム１３０の有効期限が切れる。これによって、別のオペレーティング・システムによる装置１２６の使用が可能になる。
【００２８】
一実施形態では、鍵２２０を有するオペレーティング・システム、たとえばゲスト・オペレーティング・システム１３０が、鍵２２０の制御を解放するために要求を送信する。そのような要求に応じて、共用管理プログラム１１０が、要求オペレーティング・システムから鍵２２０を解放し、すべてのオペレーティング・システムへリセット信号を送信する。リセット信号の１つの形は、「シミュレート媒体変更信号（simulated media change signal）」である。オペレーティング・システムは、アクセス装置１２６の実際の変更として信号を処理し、そのキャッシュをリセットする。これによって、メモリまたはキャッシュの同期が可能になる。
【００２９】
共用管理プログラム１１０が、アクセス装置１２６を使用するための特定の要求を受け入れるかまたは承認した場合、受け入れられた要求は、パス２０６を介してアクセス・インターフェース１１６へ渡される。要求の一実施形態は、ゲスト・オペレーティング・システム１３０、たとえばMicrosoft Windows（Ｒ）からのＳＣＳＩ（Small Computer System Interface）コマンドである。ＳＣＳＩコマンドは、ホスト・オペレーティング・システム１０８、たとえばＩＢＭ  AS/400によってサポートされていない音声コマンドを備える。そのような音声コマンドの例には、PAUSE/RESUME、PLAY AUDIO TRACK/INDEX、PLAY AUDIO(12)、およびPLAY AUDIO(10)が含まれる。２つの異なる種類のPLAY AUDIOコマンドは、コマンドのバイト数、たとえば１０または１２バイトで指定されている。ゲスト・オペレーティング・システム１３０からのこれらの音声コマンドによって、ゲスト・コンピュータ・システム１２８のユーザは、ホスト・オペレーティング・システム１０８によってサポートされていないアクセス装置１２６、たとえばＤＶＤドライブまたはＣＤプレーヤを使用することができる。
【００３０】
アクセス・インターフェース１１６は、渡された要求をアクセス装置１２６またはアクセス装置１２６に結合されたＩ／Ｏアダプタに適した形式に変換する。そのようにして、アクセス・インターフェース１１６は、ホスト・コンピュータ・システム１００またはゲスト・コンピュータ・システム１２８のいずれかによるアクセス装置１２６の使用を調整する。
【００３１】
共用管理プログラム１１０が要求を拒否する場合、要求を提供したオペレーティング・システムは拒否を通知される。拒否は、パス２１０を介してホスト・オペレーティング・システム１０８に送信された信号またはパス２１２を介してゲスト・オペレーティング・システム１３０に送信された信号である。拒否信号の１つの形は、悪いコード信号である。悪いコード信号は、要求を行ったオペレーティング・システム以外のオペレーティング・システムによってアクセス装置１２６が現在使用されていることを示す。
【００３２】
図３は、共用管理プログラム１１０で実施される方法３００を示す流れ図である。具体的には、方法３００はステップ３０２で始まり、要求が受け取られるステップ３０４へ進む。ステップ３０６で照会は、要求が、アクセス装置１２６を使用するコンピュータ・システム１００のホスト・オペレーティング・システム１０８からの要求であるかどうかを判定する。要求がホスト・オペレーティング・システム１０８からである場合、方法３００はステップ３０８で要求を処理し、次の要求を受け取るためにステップ３０４へ進む。ステップ３０８の一実施形態については、図４を参照しながらさらに説明する。
【００３３】
要求がホスト・コンピュータ・システム１０８からでない場合、方法３００は、要求が、アクセス装置１２６を使用するゲスト・コンピュータ・システム１２８のゲスト・オペレーティング・システム１３０からであるかどうかを照会が判定するステップ３１０へ進む。ステップ３１０は、各ネットワーク・コンピュータ・システム１２８のゲスト・オペレーティング・システム１３０に対して繰り返すことができる。要求がゲスト・オペレーティング・システム１３０からである場合、方法３００は引き続きステップ３１２で要求を処理し、ステップ３０４で次の要求を受け取る。ステップ３１２の一実施形態については、図５を参照しながらさらに説明する。
【００３４】
要求がゲスト・オペレーティング・システム１３０からでない場合、方法３００は、鍵２２０を有するオペレーティング・システムから鍵２２０を解放する要求があるかどうかを照会が判定するステップ３１４へ進む。ステップ３１４は、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０の両方からの要求に適用される。ステップ３１４で要求がない場合、方法３００は引き続きステップ３０４で次の要求を処理する。
【００３５】
ステップ３１４で要求がある場合、方法３００は、鍵２２０が要求オペレーティング・システムから解放され、リセット信号、たとえば「シミュレート媒体変更信号（simulated media change signal）」が、プログラム１１０とやり取りするすべてのオペレーティング・システムへ送信されるステップ３１６へ進む。この信号は、アクセス装置１２６の現在の状態をオペレーティング・システムに通知するために使用される。変更要求がホスト・オペレーティング・システム１０８またはゲスト・オペレーティング・システム１３０に以前に提供されていた場合、アクセス装置１２６の状態の変更が発生していたであろう。
【００３６】
「シミュレート媒体変更（simulated media change）」信号は、通常アクセス媒体１２６に変更がない場合でも、すべてのオペレーティング・システムに媒体１２６で変更が発生することを「信じる」ように強制する。シミュレート媒体変更信号（simulated media change signal）に応じて、キャッシュまたはメモリの同期が実行される。つまり、各オペレーティング・システムが、それに関連するコンピュータ・システムに関連するキャッシュまたは他のメモリを消去する。たとえばホスト・オペレーティング・システム１０８は、メモリ１０６内のキャッシュを消去し、ゲスト・オペレーティング・システム１３０は、ゲスト・コンピュータ・システム１２８のキャッシュを消去する。一実施形態では、キャッシュは、アクセス装置１２６の過去の状態のすべての情報に関して消去され、新しい情報によって更新される。
【００３７】
アクセス装置１２６の特定の種類に依存して、ステップ３１６は、オペレーティング・システムへ他の形のリセット信号を提供することができる。たとえばアクセス装置１２６がプリンタである場合、ステップ３１６は、別の種類のリセット信号を送信する。そのような信号を受け取ると、オペレーティング・システムは、ページを排出したり形式の変更の信号を送るなど、プリンタ上の動作を開始する。
【００３８】
方法３００、特にステップ３１０および３１２を、１つのゲスト・オペレーティング・システム１３０の状況で説明しているが、方法３００は、各ネットワーク・コンピュータ・システム１２８を管理するために使用されるすべてのゲスト・オペレーティング・システム１３０1、・・・、１３０nに適用される。
【００３９】
図４は、ホスト・オペレーティング・システム１０８からの要求を処理する方法４００を示す流れ図である。方法４００は、図３を参照しながら上述したステップ３０８として実施される。具体的には、方法４００はステップ４０２で始まり、照会が、ホスト・オペレーティング・システム１０８が「鍵」２２０を有するかどうかを判定するステップ４０４へ進む。鍵２２０によって、ホスト・コンピュータ・システム１００は、アクセス装置１２６、たとえば書き込み可能なＤＶＤドライブを使用することができる。オペレーティング・システム１０８がアクセス装置１２６の鍵２２０を有する場合、アクセス装置は、オペレーティング・システム１０８に「ロックされている」と見なされる。
【００４０】
ホスト・オペレーティング・システム１０８がステップ４０４で鍵２２０を有する場合、方法４００はステップ４１４へ進む。ホスト・オペレーティング・システム１０８が鍵２２０を有していない場合、方法４００は、照会が、他方の、つまりゲスト・オペレーティング・システム１３０が鍵２２０を有するかどうかを判定するステップ４０６へ進む。つまり、ステップ４０６は、アクセス装置１２６がゲスト・オペレーティング・システム１３０によってロックされているかどうかを判定する。他方の、つまりゲスト・オペレーティング・システム１３０が鍵２２０を有する場合、方法４００はステップ４０８へ進み、要求を拒否してホスト・オペレーティング・システム１０８へ拒否を通知する。拒否の１つの形は、パス２１０を介した悪いリターン・コードである。拒否の理由は、アクセス装置１２６がゲスト・オペレーティング・システム１３０によって現在ロックまたは使用されていることである。ステップ４０８の後、方法４００はステップ４１６で終了する。
【００４１】
他方のオペレーティング・システム、たとえばゲスト・オペレーティング・システム１３０も鍵２２０を有していない場合、方法４００はステップ４１０へ進む。ステップ４１０は、要求が変更要求、つまりアクセス装置１２６の媒体を変更する要求であるかどうかを判定する。要求が変更要求である場合、方法４００はステップ４１２へ進み、ホスト・オペレーティング・システム１０８へ鍵２２０を提供する。つまり、ステップ４１２は、アクセス装置１２６をホスト・オペレーティング・システム１０８に暗黙的にロックする。ロックされると、ゲスト・オペレーティング・システム１３０は、鍵２２０が解放されるかまたは有効期限が切れなければ装置１２６を使用することができない。ステップ４１２の後、方法４００はステップ４１４へ進む。
【００４２】
要求が変更要求でない場合、つまり受動要求である場合、方法４００はステップ４１４へ進む。この状況で、ホスト・オペレーティング・システム１０８およびゲスト・オペレーティング・システム１３０はどちらも鍵２２０を有していないので、装置１２６を依然として使用する。方法４００の他の実施形態は、要求が変更要求であるかどうかに関係なく、ステップ４１０でホスト・オペレーティング・システム１０８へ鍵２２０を提供する。ステップ４１４で、方法４００は要求を受け入れる。ステップ４１４の後、方法４００はステップ４１６で終了する。
【００４３】
ステップ４１４で受け入れられた要求は、アクセス・インターフェース１１６へ渡される。アクセス・インターフェース１１６は、パス２０６を介して渡された受信要求上で装置管理機能を実行する。一実施形態では、装置管理機能は、アクセス装置１２６に結合されたＩ／Ｏアダプタによって処理するために適した形式への要求の変換を含んでいる。
【００４４】
図５は、ゲスト・オペレーティング・システム１３０からの要求を処理する方法５００を示す流れ図である。方法５００は、図３を参照しながら上述したステップ３１２として実施される。方法５００を、１つのゲスト・オペレーティング・システム１３０の状況で説明しているが、方法５００は、各ネットワーク・コンピュータ・システム１２８を管理するために使用されるすべてのゲスト・オペレーティング・システム１３０1、・・・、１３０nに適用される。
【００４５】
図５で、ゲスト・オペレーティング・システム１３０からの要求が、図３のホスト・オペレーティング・システム１０８からの要求と同様に処理されることを留意されたい。要求が変更要求であり、ホスト・オペレーティング・システム１０８もゲスト・オペレーティング・システム１３０も鍵２２０を有していない場合に、大きな違いが発生する。その場合、ホスト・オペレーティング・システム１０８からの要求が受け入れられ、ゲスト・オペレーティング・システム１３０からの要求が拒否される。
【００４６】
具体的には、方法５００はステップ５０２で始まり、照会が、ゲスト・オペレーティング・システム１３０からの要求が装置１２６の状態を変更するための変更要求であるかどうかを判定するステップ５０４へ進む。要求が変更要求でない場合、方法５００は、照会が、別のオペレーティング・システムが鍵２２０を有するかどうかを判定するステップ５０６へ進む。つまり、ステップ５０６は、アクセス装置２２６が別のオペレーティング・システム、つまりホスト・オペレーティング・システム１０８または他のゲスト・オペレーティング・システム１３０によってロックされているかどうかを判定する。
【００４７】
別のオペレーティング・システムが鍵２２０を有する場合、方法５００は、要求が拒否されるステップ５０８へ進む。ゲスト・オペレーティング・システム１３０は、パス２１２を介してこの拒否を通知される。拒否の理由は、アクセス装置１２６が別のオペレーティング・システム、つまりホスト・オペレーティング・システム１０８または他のゲスト・オペレーティング・システム１３０によって現在ロックまたは使用されていることである。ステップ５０８の後、方法５００はステップ５１６で終了する。別のオペレーティング・システムが鍵２２０を有していない場合、方法５００は、要求が受け入れられるステップ５１０へ進む。他の実施形態では、方法５００は、ステップ５１０より前でゲスト・オペレーティング・システム１３０へ鍵２２０を提供することもできる。ステップ５１０の後、方法５００はステップ５１６で終了する。
【００４８】
ステップ５０４に戻ると、要求が変更要求である場合、方法５００は、照会が、要求ゲスト・オペレーティング・システム１３０が鍵２２０を有するかどうかを判定するステップ５１２へ進む。鍵２２０によって、ゲスト・コンピュータ・システム１２８は、ゲスト・オペレーティング・システム１３０を介してアクセス装置１２６の排他的な使用を有することができる。アクセス装置１２６の使用の後、鍵２２０がゲスト・オペレーティング・システム１３０から解放される。そのようにして、鍵２２０が解放された後に、別のオペレーティング・システム、たとえばホスト・オペレーティング・システム１０８または別のゲスト・オペレーティング・システム１３０がアクセス装置１２６を使用できるので、ゲスト・オペレーティング・システム１３０を介したアクセス装置１２６の使用は、事実上「一時的」なものである。
【００４９】
ゲスト・オペレーティング・システム１３０が鍵２２０を有していない場合、方法５００はステップ５１４へ進み、要求を拒否してゲスト・オペレーティング・システムに通知する。拒否の理由は、ゲスト・オペレーティング・システム１３０が鍵２２０を有していなければ、ゲスト・オペレーティング・システム１３０からの変更要求が拒否されることである。ステップ５１４の後、方法５００はステップ５１６で終了する。ゲスト・オペレーティング・システム１３０が鍵２２０を有する場合、方法５００は、アクセス・インターフェース１１６への要求を受け入れるためにステップ５１０へ進み、ステップ５１６で終了する。
【００５０】
ステップ５１０で受け入れられた要求は、アクセス・インターフェース１１６へ渡される。アクセス・インターフェース１１６は、渡された要求をアクセス装置１２６に結合されたＩ／Ｏアダプタによって処理するために適した形式に変換する。変換には、要求のトランスポート「ラッパ」（wrapper）の置換が含まれる。この変換は、図４のホスト・オペレーティング・システムからの要求の装置管理機能に概念的に類似しているが、ゲスト・オペレーティング・システム１３０からの要求を変換するためにさらに詳細な処理を必要とする。
【００５１】
本発明の教示を組み込む様々な実施形態について本明細書で詳しく説明したが、当業者は、これらの教示をさらに組み込む他の多くの様々な実施形態を容易に考え出すことができよう。
【図面の簡単な説明】
【図１】本発明を実施するコンピュータ・システムの構成図である。
【図２】図１のコンピュータ・システムの構成要素を示すプロセス図である。
【図３】共用管理プログラムで実施される方法を示す流れ図である。
【図４】ホスト・オペレーティング・システムからの要求を処理する方法を示す流れ図である。
【図５】ゲスト・オペレーティング・システムからの要求を処理する方法を示す流れ図である。
【符号の説明】
１００  コンピュータ・システム
１０２  プロセッサ
１０４  バス
１０６  メイン・メモリ
１０８  ホスト・オペレーティング・システム
１１０  共用管理プログラム
１１２  記憶インターフェース
１１４  端末インターフェース
１１６  アクセス・インターフェース
１１８  ネットワーク・インターフェース
１２０  記憶装置
１２２  入力装置
１２４  出力装置
１２６  アクセス装置
１２８  ネットワーク・コンピュータ・システム
１３０1  ゲスト・オペレーティング・システム
１３０n  ゲスト・オペレーティング・システム
【図１】
0003752193.tif 000002
【図２】
0003752193.tif 000003
【図３】
0003752193.tif 000004
【図４】
0003752193.tif 000005
【図５】
0003752193.tif 000006