(57)【要約】【課題】　ユーザがクライアントオペレーティングシステムに対し正しい選択を行うことに頼ることなく、オペレーティングシステムにおいて異なるコマンド呼出しを適応させる。【解決手段】　本発明のいくつかの構成は、オペレーティングシステムプラットフォームと、命令言語をインタープリトするように構成された仮想マシンと、を有するコンピュータを提供する。また、コンピュータは、命令言語で書かれたクライアントプログラムも有する。クライアントプログラムはまた、オペレーティングシステムプラットフォームを確定しその確定にしたがってクライアントプログラムの動作を変更するように構成された、命令言語で書かれた命令も有する。【選択図】　図１
2004145889.tif 000002
【特許請求の範囲】
【請求項１】
　オペレーティングシステムプラットフォームと命令言語をインタープリトするように構成された仮想マシンとを有するコンピュータであって、前記命令言語で書かれたクライアントプログラムもまた有するコンピュータであり、
　前記クライアントプログラムは、前記オペレーティングシステムプラットフォームを確定し該確定にしたがって該クライアントプログラムの動作を変更するように構成された、前記命令言語で書かれた命令もまた有するコンピュータ。
【請求項２】
　コンピュータであって、
　前記クライアントプログラムは、ストレージエリアネットワーク管理サーバと通信する命令を含む請求項１記載のコンピュータ。
【請求項３】
　コンピュータであって、
　メモリをさらに含み、
　前記クライアントプログラムは、前記メモリに格納された、前記確定にしたがって前記クライアントプログラムの動作を変更する仕様を含む仕様ファイルを読出す命令を含む請求項２記載のコンピュータ。
【請求項４】
　コンピュータであって、
　ディスプレイをさらに含み、
　前記クライアントプログラムは、ユーザ入力に応答してメニューを表示する命令を含み、前記クライアントプログラムの動作に対する前記変更には、該メニューにおけるプラットフォーム依存リンクまたはコマンドに対する少なくとも１つの変更を含む、請求項３記載のコンピュータ。
【請求項５】
　コンピュータであって、
　前記メニューにおける少なくとも１つのプラットフォーム依存リンクに対する前記変更は、前記確定されたオペレーティングシステムプラットフォーム対し前記仕様ファイルによって指示されるメモリのロケーションに格納されたアプリケーションを起動することを含む請求項４記載のコンピュータ。
【請求項６】
　コンピュータであって、
　前記アプリケーションは、リモートコンピュータと通信するプログラムを含む請求項５記載のコンピュータ。
【請求項７】
　コンピュータであって、
　前記アプリケーションは、リモートコンピュータに命令を発行するプログラムを含む請求項５記載のコンピュータ。
【請求項８】
　コンピュータであって、
　ディスプレイをさらに含み、
　前記クライアントプログラムは、ユーザ入力に応答してメニューを表示する命令を含み、前記クライアントプログラムの動作に対する前記変更は、前記メニューに、前記確定されたオペレーティングシステムプラットフォームに対して適用可能なメニュー項目のみを表示することを含む請求項３記載のコンピュータ。
【請求項９】
　管理システムであって、
　管理サーバコンピュータであって、該管理サーバコンピュータに対しストレージエリアネットワーク内の装置と通信するよう命令するように構成された命令を備えた管理サーバプログラムを有する管理サーバコンピュータと、
　各々がオペレーティングシステムプラットフォームを有するがすべてが同じオペレーティングシステムプラットフォームを有するとは限らない、複数のクライアントコンピュータと、
を含み、
　各クライアントコンピュータは、他の該クライアントコンピュータ各々と同じ言語コードをインタープリトするように構成された仮想マシンと、該仮想マシン言語で書かれ該クライアントコンピュータに対し前記管理サーバコンピュータと通信するよう命令するように構成された命令を含む、クライアントプログラムと、をも有し、
　該クライアントプログラムは、その前記クライアントコンピュータの前記オペレーティングシステムプラットフォームを確定し該確定にしたがって該クライアントプログラムの動作を変更する命令を含む、管理システム。
【請求項１０】
　前記クライアントコンピュータの各々は、メモリに格納された仕様ファイルを有し、該仕様ファイルは、前記確定にしたがって前記クライアントプログラムの動作を変更する仕様を含む請求項９記載の管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、ストレージエリアネットワーク等、複数のオペレーティングシステムプラットフォーム用に書かれたコンピュータプログラムを利用するコンピュータシステムを制御する方法および装置に関する。
【背景技術】
【０００２】
　ストレージエリアネットワーク（Storage Area Network（ＳＡＮ））のあらゆる構成において、サーバネットワークは、サーバが共通の記憶装置の記憶域を共有することができるようにするソフトウェアに接続され、それにより１つまたは複数の記憶プールを生成する。ＳＡＮを管理する能力を提供するために、ストレージネットワークの包括的な集中管理を提供するストレージエリア管理（Storage Area Management（ＳＡＭ））ソフトウェアがある。かかるソフトウェアの一例は、ストレージノードマネージャ（storage node manager）、ストレージアカウンタント（storage accountant）、ストレージアロケータ（storage allocator）、ストレージビルダ（storage builder）およびストレージオプティマイザ（storage optimizer）を含むツールの組を提供する。
【０００３】
　ＳＡＮの管理は、場合によっては、リモートコンピュータで実行し、ネットワークまたは他の通信リンクを介して異なるコンピュータで実行している管理サーバと通信する、グラフィカルユーザインタフェース（ＧＵＩ）クライアントを介して実行される。クライアントコンピュータは、ＨＰ−ＵＸ（登録商標）オペレーティングシステム（カリフォルニア州、Palo Altoのヒューレット・パッカード・カンパニー（Hewlett-Packard Company）から入手可能）、ＬＩＮＵＸ（登録商標）オペレーティングシステム（ＬＩＮＵＸは、カリフォルニア州、San JoseのLinus Torvaldsの商標）、ＳＯＬＡＲＩＳ（登録商標）オペレーティングシステム（カリフォルニア州、Palo Altoのサン・マイクロシステムズ社（Sun Microsystems, Inc.）から入手可能）またはＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム（ワシントン州、Redmondのマイクロソフト・コーポレーション（Microsoft Corporation）から入手可能）の、９５、９８、ＭＥ、ＮＴ、２０００またはＸＰ等の種々のバージョンおよびリリースのいずれか等、いくつかのオペレーティングシステムプラットフォームのうちの１つを提供することができる。少なくとも１つの既知のＧＵＩクライアントは、これらのあらゆるオペレーティングシステムで実行することができるＪＡＶＡ（登録商標）ベースクライアントである。このクライアントは、カリフォルニア州、Palo Altoのサン・マイクロシステムズ社（Sun Microsystems, Inc.）から入手可能なもの等のＪＡＶＡ（登録商標）仮想マシン（ＪＶＭ）を使用することにより、マウスクリックで呼出すことができるデバイス管理アプリケーションのメニューを提供する。これらのデバイス管理アプリケーションによっては、異なるオペレーティングシステムで異なるコマンドを呼出すことによって起動しなければならない。このため、マウスクリックを介してアクセスされるメニューにおいて、複数のリンクが提供されていた。各リンクは、ユーザが各オペレーティングシステムに対してコマンドを区別することができる記述名（たとえば、「Ｔｅｌｎｅｔ（Ｗｉｎｄｏｗｓ）」または「Ｔｅｌｎｅｔ（ＨＰ−ＵＸ）」）を含んでいた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
　オペレーティングシステムにおいて異なるコマンド呼出しを達成するこの方法は、ユーザがクライアントオペレーティングシステムに対して正しい選択を行うことに頼る。さらに、追加のオペレーティングシステムをサポートする必要がある場合、スケーラビリティが問題となる可能性があり、ユーザが決して使用する必要がないかまたは使用することができない可能性のあるコマンドにより、メニューが非常に多くなる可能性がある。
【課題を解決するための手段】
【０００５】
　したがって、本発明のいくつかの構成は、オペレーティングシステムプラットフォームと、命令言語をインタープリトするように構成された仮想マシンと、を有するコンピュータを提供する。また、コンピュータは、命令言語で書かれたクライアントプログラムも有する。クライアントプログラムはまた、オペレーティングシステムプラットフォームを確定しその確定にしたがってクライアントプログラムの動作を変更するように構成された、命令言語で書かれた命令も有する。
【０００６】
　本発明のいくつかの構成は、管理システムを提供する。本管理システムは、管理サーバコンピュータであって、管理サーバコンピュータに対しストレージエリアネットワークの装置と通信するよう命令するように構成された命令を備えた管理サーバプログラムを有する管理サーバコンピュータと、各々がオペレーティングシステムプラットフォームを有するがすべてが同じオペレーティングシステムプラットフォームを有するとは限らない、複数のクライアントコンピュータと、を有し、各クライアントコンピュータは、他のクライアントコンピュータ各々と同じ言語コードをインタープリトするように構成された仮想マシンと、仮想マシン言語で書かれ、クライアントコンピュータに対し管理サーバコンピュータと通信するよう命令するように構成された命令を含む、クライアントプログラムと、をも有し、クライアントプログラムは、そのクライアントコンピュータのオペレーティングシステムプラットフォームを確定しその確定にしたがってクライアントプログラムの動作を変更する命令を含む。
【０００７】
　本発明のいくつかの構成では、オペレーティングシステムプラットフォームと、命令言語をインタープリトするように構成された仮想マシンと、を有するコンピュータを動作させる方法であって、コンピュータがまた、命令言語で書かれたクライアントプログラムを有し、サーバと通信する命令を有するものである、方法が提供される。本方法は、クライアントプログラムを使用してオペレーティングシステムプラットフォームを確定することと、その確定にしたがってクライアントプログラムの動作を変更することと、を含む。
【０００８】
　また、本発明のいくつかの構成は、仮想マシンがインタープリト可能な命令を記録した機械読取可能媒体を提供する。それら命令は、オペレーティングシステムプラットフォームを有するコンピュータに対し、コンピュータのオペレーティングシステムプラットフォームを確定しユーザ入力に応答してコンピュータのディスプレイに表示する項目のメニューを確定するよう命令するように構成され、メニュー項目の確定は、オペレーティングシステムプラットフォーム確定によって決まる。
【発明の効果】
【０００９】
　本発明の方法および装置が、ユーザがクライアントオペレーティングシステムに対し正しい選択を行うことに頼ることなく、オペレーティングシステムにおいて異なるコマンド呼出しを適応させることが分かる。さらに、本発明の方法および装置は、ユーザが決して使用する必要がないかまたは使用することができない可能性のあるコマンドでメニューが非常に多くなることなく、追加のオペレーティングシステムをサポートする必要がある場合のスケーラビリティを提供する。
【００１０】
　本発明の適用可能性のさらなる範囲は、以下に提供する詳細な説明から明らかとなろう。詳細な説明と特定の実施例とは、本発明の好ましい実施形態を示しているが、単なる例示の目的のために意図されており、本発明の範囲を限定するようには意図されていない、ということを理解しなければならない。
【００１１】
　本発明は、詳細な説明と添付図面とからより完全に理解されよう。
【発明を実施するための最良の形態】
【００１２】
　好ましい実施形態の以下の説明は、本質的に単に例示的なものであり、決して発明、その適用または使用を限定するようには意図されていない。
【００１３】
　本発明を多くのタイプのコンピュータおよびコンピュータネットワークに関連して使用してもよいが、本発明の多くの構成は、ストレージエリアネットワーク（ＳＡＮ）に関連して利用される。構成によっては、図１を参照すると、ストレージエリアネットワーク（ＳＡＮ）１０は、少なくとも１つのＳＡＮホストコンピュータまたは記憶装置コントローラ１２と、１つまたは複数の関連する記憶装置１４と、を備え、また、ファイバチャネル（Fibrechannel）スイッチ等の１つまたは複数のＳＡＮ相互接続装置１６を有してもよい。
【００１４】
　ＳＡＮ１０はさらに、管理サーバ１８を備え、それは多くの構成では、１つまたは複数のＳＡＮホスト１２とは別個のコンピュータで実行するプロセスである。たとえば、構成によっては、管理サーバ１８は、Ｗｉｎｄｏｗｓ２０００オペレーティングシステムプラットフォームを実行するコンピュータで実行するプロセスである。本発明の構成によっては（図１によって表すものではないが）、管理サーバ１８は、ＳＡＮ１０のホストコンピュータ１２で実行し、別のコンピュータまたはプロセッサは必要ではない。（特に断りの無い限り、「管理サーバ」および「サーバ」という用語は、以下では、プロセスがいずれのコンピュータで実行しているかに係らずサーバプロセスを包含するものとする。）イーサネットまたはファイバチャネルネットワーク１９は、管理サーバプロセス１８を実行しているコンピュータとＳＡＮホスト１２との間の通信経路を提供する。ＳＡＮ１０における他の相互接続のためにイーサネットまたはファイバチャネルネットワークを使用してもよい。管理サーバ１８は、ＳＡＮ１０リソース（ホスト、相互接続、およびブリッジ、テープ、ディスク及び他の記憶装置等の装置）の発見およびマッピング等の複数の機能と、リソースの分類およびこれらリソースの適当なファイルとの対応付けと、を実行するように構成される。
【００１５】
　ＳＡＮ１０は、イーサネットＬＡＮ、ＷＡＮ、ダイアルアップ接続またはインターネット等の１つまたは複数の通信リンク２４、２６を介して管理サーバ１８と通信するコンピュータ上で実行するプロセスである、管理クライアント２０および２２の１つまたは複数のインスタンスによってリモートに管理される。各管理クライアント２０および２２は、管理サーバ１８によって利用可能な機能のうちの１つまたは複数とともに、ＳＡＮ１０のホスト１２等の装置を制御する機能に対する、グラフィカルユーザインタフェースベース（ＧＵＩベース）アクセスを提供する。
【００１６】
　管理クライアント２０および２２は、それらの夫々のコンピュータ上のオペレーティングシステムプラットフォームで実行するソフトウェアプロセスである。構成によっては、管理クライアントソフトウェアは、「仮想マシン」、すなわち、言語の命令をインタープリトし、命令がその言語を実行するように設計されたプロセッサハードウェアで実行される場合に発生するであろう結果を模倣するソフトウェアプログラムを、利用して実行する、インタープリトされた言語で書かれたプログラムの形態で、提供される。標準機能ライブラリに、オペレーティングシステムによって制御されるハードウェアと仮想マシンとの間のインタフェースが提供される。たとえば、図２および図３を参照すると、標準機能は、１つの言語で書かれたプログラムが、同じ命令を使用して、ディスプレイ２８等のＨＰ−ＵＸまたはＬｉｎｕｘワークステーションのウィンドウマネージャとディスプレイ３０等のＷｉｎｄｏｗｓ２０００ワークステーションとに同様の結果をもたらすことを可能にする。
【００１７】
　各管理クライアント２０、２２は、プラットフォーム独立リンクまたはコマンドとプラットフォーム特定リンクまたはコマンドとを提供する。プラットフォーム独立リンクまたはコマンドを、クライアントプログラムが書かれる言語で書くことができる。かかるコマンドには、限定されないが、管理サーバ１８に発行されるかまたは管理サーバ１８によってクライアント２０または２２に通信されるＳＡＮ１０に関するデータを操作し表示するコマンドか、もしくはクライアント２０または２２自体を制御するコマンドが含まれる。プラットフォーム特定リンクまたはコマンドには、ネイティブオペレーティングシステム機能に依存するかまたはクライアント２０または２２から別個のプログラムとして提供されるコマンドが含まれ、概して、クライアントコンピュータにすでに常駐するプログラムが含まれてもよい。プラットフォーム特定リンクまたはコマンドの例には、限定されないが、「ｔｅｌｎｅｔ」および「ｐｉｎｇ」が含まれる。たとえば、図２および図３を参照すると、ユーザがストレージネットワーク１０においてネットワーク化された装置（たとえば、１２、１４および１６）の表示されたツリー３４において、ホストコンピュータアイコン（アイコン３２等）上で右マウスボタンをクリックすると、ポップアップメニュー３５が現れる。たとえば、ＧＵＩ　ＳＡＭクライアント２０および２２は、同じ管理サーバ１８のクライアントである。しかしながら、クライアント２０は、ＨＰ−ＵＸプラットフォームで実行しており、ディスプレイ２８によって表され、クライアント２２は、Ｗｉｎｄｏｗｓ２０００プラットフォームで実行しており、ディスプレイ３０によって表される。ディスプレイ２８上のポップアップメニュー３５は、複数のプラットフォーム独立リンク３６といくつかのプラットフォーム依存リンク３８とを含む。
【００１８】
　クライアントプログラムの構成によっては、ＪＡＶＡで書かれ、ＪＡＶＡ仮想マシン（ＪＶＭ）を利用して実行される。これらの構成では、プラットフォーム独立リンク３６は、選択されると、ＪＡＶＡコードが実行されるようにし、異なるオペレーティングシステムプラットフォームに対してＪＡＶＡコードの別個のバージョンまたは変更を必要としない。たとえば、ＨＰ−ＵＸプラットフォームとＷｉｎｄｏｗｓ２０００プラットフォームとの両方において、ＧＵＩ　ＳＡＭクライアント２０であるかクライアント２２であるかに係らずツリー３４の表示を制御するプラットフォーム独立リンク３６「表示（View）」および「新たなウィンドウで表示（View in New Window）」に対し、同じＪＡＶＡコードが使用される。同様に、プラットフォーム独立リンク「未知のデバイスと関連付け（Associate with Unknown Device...）」、「除去＜ホスト名＞（Remove <host>）」および「削除＜ホスト名＞（Delete <host>）」により、これらの機能を、選択されたホスト（この場合、「andante.rose.hp.com」と命名されたホスト）において実行するために、メッセージが管理サーバ１８に送信される。リンク「編成に割当（Assign to Organization...）」、「編成から除去（Remove from Organization）」および「フォルダに移動（Move to Folder...）」は、「展開（Expand）」および「折り畳み（Collapse）」のように他のプラットフォーム独立リンクである。
【００１９】
　一方、プラットフォーム独立リンク３８は、クライアントコンピュータに既に常駐するプログラムを利用しＪＡＶＡで書かれてもおらずＪＶＭによって実行もされないリンクである。多くのかかるプラットフォーム独立リンク３８は、クライアントコンピュータにおいて新たなプロセスを開始する。これらのリンク３８は、ＳＡＭクライアントソフトウェアによってサポートされる各オペレーティングシステムに対するカスタマイゼーションを必要とする。このため、「ホストＴｅｌｎｅｔリリースノート（Host Telnet Release Notes）」、「Ｔｅｌｎｅｔ」および「Ｐｉｎｇ」は、ＧＵＩ　ＳＡＭクライアント２０のディスプレイ２８上のプラットフォーム独立リンクのリストに現れるが、「Ｐｉｎｇ」は、ＧＵＩ　ＳＡＭクライアント２２のディスプレイ３０上のプラットフォーム独立リンクのリストに現れない。さらに、ＨＰ−ＵＸに対するｔｅｌｎｅｔリリースノートは、Ｗｉｎｄｏｗｓ２０００に対してとは異なるため、リンク「ホストＴｅｌｎｅｔリリースノート」上をクリックするユーザは、ユーザがＳＡＭクライアント２０であるかＳＡＭクライアント２２であるかによって異なるノートを見ることになる。これらのノートは、プラットフォーム独立の記憶域ロケーションから検索される。図示する実施例における「ｐｉｎｇ」コマンドは、クライアント２２においてＷｉｎｄｏｗｓ２０００プラットフォームでは利用可能でないが、クライアント２０においてＨＰ−ＵＸプラットフォームでは利用可能であるため、ＧＵＩ　ＳＡＭクライアント２２のディスプレイ３０のメニュー３５には現れないが、ＧＵＩ　ＳＡＭクライアント２０のディスプレイ２８のメニュー３５には現れる。「ｔｅｌｎｅｔ」コマンドは、ＧＵＩ　ＳＡＭクライアント２０および２２の両方で利用可能であるため、ディスプレイ２８および３０の両方に現れるが、クライアントオペレーティングシステムが異なるため、「ｔｅｌｎｅｔ」コマンドのロケーションは、これらのコマンドに提供されるオプションと同様に、２つのクライアント間で異なる。本発明の構成によっては、ＧＵＩ　ＳＡＭクライアント２０（または２２）が実行するオペレーティングシステムプラットフォームに対して適当なプラットフォーム独立リンク３８のみが、メニュー３５に提供される。
【００２０】
　特に構成によっては、図４を参照すると、ユーザがＧＵＩ　ＳＡＭクライアント２０を始動すると（１１０）、クライアント２０はアプリケーションリンク（Application Link）オブジェクトすなわちＡｐｐＬｉｎｋを生成する（１１２）。（この実施例は、クライアント２０について言及するが、ＧＵＩ　ＳＡＭクライアント２２を含むＧＵＩ　ＳＡＭクライアントの各インスタンスの動作を反映する。この実施例は、クライアントがＪＡＶＡで書かれていると想定するが、他の構成では、クライアントは、仮想マシンが所望のクライアントオペレーティングシステムおよびプロセッサに対して利用可能な他の任意の言語で書かれてもよい。）ＡｐｐＬｉｎｋオブジェクトは、各種アプリケーションを起動するメソッドを含むＪＡＶＡオブジェクトである。さらに、クライアント２０はまた、装置特性ファイルパーサ（Device Property File Parser）オブジェクトすなわちＤＰＦＰａｒｓｅｒ１１５も生成する（１１４）。このオブジェクトは、図５に示す仕様ファイル４０等、装置特性ファイル（「仕様ファイル」）を解析する。ＤＰＦＰａｒｓｅｒオブジェクト１１５は、「ｏｓ．ｎａｍｅ」、すなわちオペレーティングシステムの名前についてローカルＪＶＭに問合せるメソッド１１６と、問合せの結果に基づいてフラグを設定するメソッド１１８と、を含む。オペレーティングシステム識別フラグは一度設定されればよく、そのため、最大効率のために、メソッド１１６および１１８は、任意のプラットフォーム特定アプリケーションリンクの最初の起動前にいつでももしくは起動時即時に呼出される。本発明の構成によってはクライアントプログラムが提供される仕様ファイル４０は、クライアント２０が実行しているプラットフォームに対しいずれのアプリケーションリンクが適用可能であるかと、これらのアプリケーションを起動するためにいずれのコマンドおよび引数が使用されるかと、を確定するために、ＧＵＩ　ＳＡＭクライアント２０が解析すること可能な装置管理仕様４８を含む。構成によっては、仕様ファイル４０は、ＧＵＩ　ＳＡＭクライアント２０が読出すことができる情報４４、４６とともに、人間の読み手に対して意図されるコメント４２も含む。多くの構成では、仕様ファイル４０は、クライアントプログラムがサポートされる各オペレーティングシステムプラットフォームに対し仕様を提供する。
【００２１】
　ＧＵＩ　ＳＡＭクライアント２０は、起動されると、管理サーバ１８との通信リンクを確立する。クライアント２０は、管理サーバ１８とデータを交換し、ディスプレイ２８、たとえば、再び図２および図３を参照すると、ネットワーク化された装置の表示されたツリー３４と、ネットワークイベントのリスト５０と、管理サーバ２０が提供するアプリケーション５４、５６、５８、６０、６２のクリック可能表示５２と、を生成するために必要な情報を受取る。図６を参照すると、ＧＵＩ　ＳＡＭクライアント２０が、ホストコンピュータアイコン３２等のＳＡＮリソースに適用する指定されたユーザ始動イベント（たとえば、右マウスクリック）を受取ると、ＡｐｐＬｉｎｋオブジェクトが、ＤＰＦＰａｒｓｅｒを使用して、現れるポップアップメニューにいずれのプラットフォーム特定アプリケーションリンクまたはコマンド３８を表示するかを確定する（１２２）。たとえば、図５を参照すると、プラットフォーム独立アプリケーションリンクまたはコマンド３６が、「ＯｎＭａｎａｇｅ」仕様７０と「ＯｎＭａｎａｇｅＮａｍｅ」仕様７２とによって指定される。この実施例では、「ＯｎＭａｎａｇｅＮａｍｅ」仕様７２は、メニューに現れるコマンド名（「ホストＴｅｌｎｅｔリリースノート（Host Telnet Release Notes）」）を提供し、「ＯｎＭａｎａｇｅ」仕様７０は、対応するコマンド（ホームディレクトリに関してパス／ｄｅｖｉｃｅｓ／ｐｒｏｐｅｒｔｉｅｓ／Ｈｏｓｔ．ｈｔｍｌのファイルに対しブラウザウィンドウを開く）を提供する。プラットフォーム特定アプリケーションリンクまたはコマンド３８は、セクション「ＯｎＭａｎａｇｅ−<オペレーティングシステム指定>」７４と「ＯｎＭａｎａｇｅＮａｍｅ−<オペレーティングシステム指定>」７６とにおいて指定され、ここで、<オペレーティングシステム指定>は、その仕様が適用されるオペレーティングシステムプラットフォームのパーサ認識可能指示である。図５に示す実施例では、Ｗｉｎｄｏｗｓ、ＨＰ−ＵＸ、ＳｏｌａｒｉｓおよびＬｉｎｕｘオペレーティングシステムに対して、プラットフォーム特定アプリケーションリンクまたはコマンド３８が提供される。Ｗｉｎｄｏｗｓ、ＳｏｌａｒｉｓおよびＬｉｎｕｘには、「Ｔｅｌｎｅｔ」コマンドのみが提供され、「Ｔｅｌｎｅｔ」名が、対応する「ＯｎＭａｎａｇｅＮａｍｅ−<オペレーティングシステム指定>」仕様７６において指定される。対応する「ＯｎＭａｎａｇｅ−<オペレーティングシステム指定>」７４指定コマンドは、Ｗｉｎｄｏｗｓの場合、クリックされたアイコンに対応するホストリソースのＩＰアドレスを含む、適当なコマンドライン引数を使用して、コマンドラインインタプリタ（ｃｍｄ．ｅｘｅ）ウィンドウ内のＷｉｎｄｏｗｓｔｅｌｎｅｔ．ｅｘｅコマンドで開始する。ＳｏｌａｒｉｓおよびＬｉｎｕｘコマンドも同様であるが、「ｘｔｅｒｍ」コマンドラインウィンドウにおいてそれらの対応するｔｅｌｎｅｔコマンドを実行する。（なお、「ｘｔｅｒｍ」コマンドに対するパスは、ＳｏｌａｒｉｓとＬｉｎｕｘとでは異なる。）ｔｅｌｎｅｔ接続が開くと、ユーザは、ホストコンピュータにログインすることができ、ホストにコマンドを発行することができる。
【００２２】
　「ｐｉｎｇ」アプリケーションリンクと同様に、ＨＰ−ＵＸに対して「ｔｅｌｎｅｔ」アプリケーションリンクも提供される。この実施例では、パーサにより、「ＯｎＭａｎａｇｅＮａｍｅ−ｈｐｕｘ」仕様においてそれらの名前を分割するセミコロンを使用することにより、２つの名前と２つのコマンドとの存在が確定される。２つのコマンドはまた、「ＯｎＭａｎａｇｅ−ｈｐｕｘ」仕様においてもセミコロンにより分割される。ｐｉｎｇアプリケーションリンクの存在によって、ユーザは、選択されたホストコンピュータにパケットを送信することにより、ホストコンピュータが応答しているか否かと、応答している場合は、各パケットに対する応答を取得するためにどれくらいかかるかと、を確定することができる。
【００２３】
　このように、構成によっては、図７を参照すると、ユーザが、ポップアップメニューから項目を、メニュー項目を左クリックすること等により選択すると、ＧＵＩ　ＳＡＭクライアント２０は、項目選択イベントを受取る（１２４）。このイベントに応答して、クライアント２０のＡｐｐＬｉｎｋオブジェクトは、アプリケーションリンクアクションハンドラ（ＡｐｐＬｉｎｋＡｃｔｉｏｎＨａｎｄｌｅｒ）オブジェクト１２８を生成することにより、選択されたコマンドを起動する（１２６）。ＡｐｐＬｉｎｋＡｃｔｉｏｎＨａｎｄｌｅｒ１２８は、ＤＰＦＰａｒｓｅｒに対し、選択イベントおよびクライアントオペレーティングシステムフラグに関連するＯｎＭａｎａｇｅ仕様のコマンドマクロ（アプリケーションリンク）について問合せる（１３０）。そして、クライアントにおいて、対応するコマンドマクロまたはコマンドが実行される（１３２）。
【００２４】
　このように、クライアントプログラムは、それが実行しているオペレーティングシステムプラットフォームを確定し、その確定にしたがってその動作を変更する。この変更には、仕様ファイルによって示されるロケーションに格納されるクライアントオペレーティングシステムに適したアプリケーションを表示し呼出すことになる変更等、ユーザメニューにおけるユーザ選択可能動作に対する少なくとも１つの変更が含まれてもよい。呼出されたアプリケーションは、たとえば、リモートコンピュータと通信しリモートコンピュータにコマンドを発行する「ｔｅｌｎｅｔ」コマンド、または「ｐｉｎｇ」コマンド、もしくはユーザのクライアントプログラムとの対話によって提供することができる別のコマンドであってもよい。構成によっては、クライアントプログラムの動作に対する変更には、クライアントプログラムによって確定されるオペレーティングシステムプラットフォームに適用可能なメニュー項目を表示することが含まれる。
【００２５】
　構成によっては、本発明は、ストレージエリアネットワーク１０におけるホストコンピュータ１２等の装置と通信する命令を有する管理サーバコンピュータ（ホストコンピュータ１２または別個のコンピュータ）で実行する管理サーバプログラム１８を含む。クライアントプログラムのインスタンスを実行するために、複数のクライアントコンピュータ２００が提供される。各クライアントコンピュータ２００は、オペレーティングシステムプラットフォームを有するが、すべてが同じオペレーティングシステムプラットフォームを有するとは限らない。各クライアントコンピュータ２００は、他の各クライアントコンピュータと同じ言語コード（たとえば、ＪＡＶＡ）をインタープリトする仮想マシン（すなわち、言語インタプリタ）と、クライアントコンピュータに対する管理サーバコンピュータと通信する命令を含む仮想マシン言語で書かれたクライアントプログラムと、も有する。クライアントプログラムはまた、それが実行しているクライアントコンピュータのオペレーティングシステムプラットフォームを確定し、その確定にしたがってクライアントプログラムの動作を変更する命令も提供する。コンピュータ２００のメモリ２０６に、仕様ファイルもまた提供される。
【００２６】
　上述した実施例は、ＧＵＩ　ＳＡＭクライアントが実行しているコンピュータに対するプラットフォーム特定アプリケーションリンクのみを含むが、構成によっては、リモートホストまたは相互接続装置でリモートで実行することができるコマンドに対し、同様の仕様が提供される。これらの構成では、ＧＵＩ　ＳＡＭクライアントがリモートホストのオペレーティングシステムプラットフォームを確定することができるように、追加のフラグおよび／または問合せメソッドが提供され、および／またはＳＡＮ管理サーバがこの情報を提供するように構成される。
【００２７】
　構成によっては、図８を参照すると、クライアント２０は、プロセッサ２０２と、表示画面２０４と、メモリ２０６と、を有するコンピュータ２００で実行するプロセスである。メモリ２０６は、ランダムアクセスメモリ（ＲＡＭ）２０８と、リードオンリメモリ（ＲＯＭ）２１０と、ハードディスク、ＣＤ−ＲＯＭリーダ、テープドライブ、フロッピーディスクドライブもしくは固定媒体を有するかまたはリムーバブル媒体２１８から命令および／またはデータを読出すことが可能な他のメモリ記憶装置等の大容量記憶装置２１２と、を含んでもよい。構成によっては、大容量記憶装置２１２を、リモートで提供してもよい。たとえば、大容量記憶装置２１２は、たとえばＳＡＮ１０の一部であるかまたはＳＡＮ１０によって増加されてもよい。キーボード２１４およびマウス２１６等のユーザ入力装置も提供される。クライアント２０と仮想マシンとは、プロセッサ２０２によって実行されるメモリ２０６またはリムーバブル媒体２１８の機械読取可能命令の形態で提供される。これらの命令のいくつかは、プロセッサ２０２に対し、サーバ１８と通信するように命令する。
【００２８】
　構成によっては、プロセッサ２０２に対して本発明の１つまたは複数のメソッド構成を実行するよう命令する命令が記録された機械読取可能媒体２１８に、クライアントプログラムが提供される。
【００２９】
　したがって、本発明の方法および装置が、ユーザがクライアントオペレーティングシステムに対して正しい選択を行うことに頼ることなく、オペレーティングシステムにおいて異なるコマンド呼出しを適応させる、ということが明らかとなろう。さらに、本発明の方法および装置は、ユーザが決して使用する必要がないかまたは使用することができない可能性のあるコマンドによりメニューが非常に多くなることなく、追加のオペレーティングシステムをサポートする必要がある場合にスケーラビリティを提供する、ということが明らかとなろう。
【００３０】
　本発明の説明は、実際には単に例示的であり、このため、本発明の要旨から逸脱しない変形が、本発明の範囲内にあるように意図されている。かかる変形は、本発明の精神および範囲から逸脱するものとしてみなされるべきではない。
【００３１】
　以下に本発明の実施態様の例を列挙する。
〔実施態様１〕
　オペレーティングシステムプラットフォームと命令言語をインタープリトするように構成された仮想マシンとを有するコンピュータであって、前記命令言語で書かれたクライアントプログラムもまた有するコンピュータであり、
　前記クライアントプログラムは、前記オペレーティングシステムプラットフォームを確定し該確定にしたがって該クライアントプログラムの動作を変更するように構成された、前記命令言語で書かれた命令もまた有するコンピュータ。
〔実施態様２〕
　コンピュータであって、
　前記クライアントプログラムは、ストレージエリアネットワーク管理サーバと通信する命令を含む実施態様１記載のコンピュータ。
〔実施態様３〕
　コンピュータであって、
　メモリをさらに含み、
　前記クライアントプログラムは、前記メモリに格納された、前記確定にしたがって前記クライアントプログラムの動作を変更する仕様を含む仕様ファイルを読出す命令を含む実施態様２記載のコンピュータ。
〔実施態様４〕
　コンピュータであって、
　ディスプレイをさらに含み、
　前記クライアントプログラムは、ユーザ入力に応答してメニューを表示する命令を含み、前記クライアントプログラムの動作に対する前記変更には、該メニューにおけるプラットフォーム依存リンクまたはコマンドに対する少なくとも１つの変更を含む、実施態様３記載のコンピュータ。
〔実施態様５〕
　コンピュータであって、
　前記メニューにおける少なくとも１つのプラットフォーム依存リンクに対する前記変更は、前記確定されたオペレーティングシステムプラットフォーム対し前記仕様ファイルによって指示されるメモリのロケーションに格納されたアプリケーションを起動することを含む実施態様４記載のコンピュータ。
〔実施態様６〕
　コンピュータであって、
　前記アプリケーションは、リモートコンピュータと通信するプログラムを含む実施態様５記載のコンピュータ。
〔実施態様７〕
　コンピュータであって、
　前記アプリケーションは、リモートコンピュータに命令を発行するプログラムを含む実施態様５記載のコンピュータ。
〔実施態様８〕
　コンピュータであって、
　ディスプレイをさらに含み、
　前記クライアントプログラムは、ユーザ入力に応答してメニューを表示する命令を含み、前記クライアントプログラムの動作に対する前記変更は、前記メニューに、前記確定されたオペレーティングシステムプラットフォームに対して適用可能なメニュー項目のみを表示することを含む実施態様３記載のコンピュータ。
〔実施態様９〕
　管理システムであって、
　管理サーバコンピュータであって、該管理サーバコンピュータに対しストレージエリアネットワーク内の装置と通信するよう命令するように構成された命令を備えた管理サーバプログラムを有する管理サーバコンピュータと、
　各々がオペレーティングシステムプラットフォームを有するがすべてが同じオペレーティングシステムプラットフォームを有するとは限らない、複数のクライアントコンピュータと、
を含み、
　各クライアントコンピュータは、他の該クライアントコンピュータ各々と同じ言語コードをインタープリトするように構成された仮想マシンと、該仮想マシン言語で書かれ該クライアントコンピュータに対し前記管理サーバコンピュータと通信するよう命令するように構成された命令を含む、クライアントプログラムと、をも有し、
　該クライアントプログラムは、その前記クライアントコンピュータの前記オペレーティングシステムプラットフォームを確定し該確定にしたがって該クライアントプログラムの動作を変更する命令を含む、管理システム。
〔実施態様１０〕
　前記クライアントコンピュータの各々は、メモリに格納された仕様ファイルを有し、該仕様ファイルは、前記確定にしたがって前記クライアントプログラムの動作を変更する仕様を含む実施態様９記載の管理システム。
【図面の簡単な説明】
【００３２】
【図１】ストレージエリアネットワーク（ＳＡＮ）においてまたはそれに関連して使用される本発明の各種構成を表すブロック図である。
【図２】ＨＰ−ＵＸまたはＬＩＮＵＸオペレーティングシステムプラットフォームを提供するコンピュータで実行しているクライアントプログラムによって生成される代表的なクライアントディスプレイを示す図である。
【図３】ＷＩＮＤＯＷＳ２０００オペレーティングシステムプラットフォームを提供するコンピュータで実行しているクライアントプログラムによって生成される代表的なクライアントディスプレイを示す図である。
【図４】ユーザがクライアントプログラムグラフィカルユーザインタフェース（ＧＵＩ）を開始した時に本発明の各種クライアントプログラム構成によって行われるステップと生成されるオブジェクトとを示すフローチャートである。
【図５】仕様ファイルのリストの図である。
【図６】プラットフォーム特定コマンドまたはリンクを含むユーザ項目のメニューを生成するユーザイベント時の、本発明の各種クライアントプログラム構成によって行われるステップを示すフローチャートである。
【図７】プラットフォーム特定コマンドまたはリンクを起動するユーザアクション時の、本発明の各種クライアントプログラム構成によって行われるステップを示すフローチャートである。
【図８】本発明の各種クライアントコンピュータ構成のブロック図であり、サーバコンピュータとの通信リンクも示す。
【図１】
2004145889.tif 000003
【図２】
2004145889.tif 000004
【図３】
2004145889.tif 000005
【図４】
2004145889.tif 000006
【図５】
2004145889.tif 000007
【図６】
2004145889.tif 000008
【図７】
2004145889.tif 000009
【図８】
2004145889.tif 000010