JP2011018343A - 遠隔管理システム - Google Patents

遠隔管理システム Download PDF

Info

Publication number
JP2011018343A
JP2011018343A JP2010158333A JP2010158333A JP2011018343A JP 2011018343 A JP2011018343 A JP 2011018343A JP 2010158333 A JP2010158333 A JP 2010158333A JP 2010158333 A JP2010158333 A JP 2010158333A JP 2011018343 A JP2011018343 A JP 2011018343A
Authority
JP
Japan
Prior art keywords
instruction
host bus
item
fiber channel
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010158333A
Other languages
English (en)
Other versions
JP5438613B2 (ja
Inventor
Bill Bostick
ボスティック ビル
Bill Daugherty
ダルティ ビル
Minh Bryant
ブライアント ミン
Alan Perelman
ペレルマン アラン
Robert H Nixon
エイチ. ニクソン ロバート
William Lasor
ラソー ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Emulex Corp
Original Assignee
Emulex Design and Manufacturing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Emulex Design and Manufacturing Corp filed Critical Emulex Design and Manufacturing Corp
Publication of JP2011018343A publication Critical patent/JP2011018343A/ja
Application granted granted Critical
Publication of JP5438613B2 publication Critical patent/JP5438613B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Bus Control (AREA)
  • Selective Calling Equipment (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】第1のファイバ・チャネル・ポートに結合される第1のホスト・バス・アダプタと、第2のファイバ・チャネル・ポートに結合する第2のホスト・バス・アダプタに付随する遠隔管理者とを含む好適なシステムを提供する。
【解決手段】遠隔管理者は、第2のホスト・バス・アダプタによって第1のホスト・バス・アダプタへ、ファイバ・チャネルの共通トランスポート層を介して送られるべき命令を形成するように、動作可能である。本発明の一態様は、指定された場所におけるアドミニストレータが、ストレージ・エリア・ネットワーク(SAN)の複数のサーバ、HBA、ならびにポートを管理することができる遠隔管理システムに関する。遠隔管理システムには、遠隔管理者サーバにおけるRMCソフトウェア、および各ターゲット・サーバにおけるRMAソフトウェア、および/または管理すべきHBAが含まれていても良い。
【選択図】図2A

Description

背景
ストレージ・エリア・ネットワーク(SAN)には、複数のサーバ、記憶デバイス、およびスイッチが含まれる場合がある。各サーバは、サーバをネットワークに結合するホスト・バス・アダプタ(「HBA」または「アダプタ」とも呼ばれる)を有する場合がある。SANの全体に渡ってインストールされたHBAは、設定およびメンテナンス作業が必要となる場合がある。従来、これらの作業はSANの各ノード上で別個に行なわれている。
SANが大型化して複雑になるにつれ、所定のSAN上のホスト・サーバおよびアダプタの数が増加して、それらの場所が物理的に多様化する場合がある。大型で複雑なSANは、高価であるとともにインストールおよび保守に時間がかかる可能性がある。SANアドミニストレータの仕事である、複数サーバ、HBA、ポート(ネットワークに対するデバイスのアクセス・ポイント)、スイッチ、および記憶アレイを管理することに対して、要求が厳しくなる場合がある。たとえばSANアドミニストレータは、HBAファームウェアを、HBAがインストールされる各ホスト・サーバにおいて、局所的に更新しなければならない。
概要
本発明の一態様は、指定された場所におけるアドミニストレータが、ストレージ・エリア・ネットワーク(SAN)の複数のサーバ、HBA(たとえば、ファイバ・チャネルおよび/またはiSCSI)、ならびにポートを管理することができる遠隔管理システムに関する。遠隔管理システムには、遠隔管理者サーバにおける遠隔管理クライアント(RMC)ソフトウェア、および各ターゲット・サーバにおける遠隔管理エージェント(RMA)ソフトウェア、および/または管理すべきHBAが含まれていても良い。
遠隔管理システムは、遠隔で、ステータス情報を照会し、サーバ、HBA、およびポートの活動をモニタし、問題を診断し、ならびにサーバ、HBA、および、SANのポートの構成、設定、オプション、およびパラメータを設定しても良い。
遠隔管理システムによって、多くの利点が得られる。遠隔管理システムによって、SANアドミニストレータの仕事が非常に簡単になり得る。と言うのは、アドミニストレータは各HBAを、HBAがインストールされているホスト・サーバにおいて局所的に管理する必要がないからである。HBA管理をある地点に集中させることによって、遠隔管理システムは、SANおよびそのコンポーネントを所有および管理するコストを下げられ得るため、有利である。
遠隔管理システムは、新しいHBAファームウェアをSAN内の何れかのHBAに転送すること(「ファームウェア更新」とも呼ばれる)を始めても良い。遠隔管理システムは、HBAファームウェアの更新を、リアル・タイムで、およびSAN性能に影響を及ぼすことなく、行ない得る。
遠隔管理システムは、ドライバおよび/またはドライバ更新を、遠隔サーバに分配しても良い。
遠隔管理システムは、HBAと連絡してこれを制御することを、(SAN上の)「帯域内」通信ネットワークを用いて、たとえばファイバ・チャネル共通トランスポート(FC−CT)パケットをファイバ・チャネル・ネットワークを介して用いて、またはインターネット・プロトコル(IP)パケットをiSCSIネットワークを介して用いることによって、行なっても良い。
遠隔管理システムは、「帯域内」通信に加えてまたはその代わりに、「帯域外」通信を用いて、たとえばインターネット・プロトコル(IP)パケットをイーサネット(登録商標)を介して用いて、同じSANまたは別個のSAN上のHBAと連絡してこれを制御しても良い。遠隔管理者とHBAとの間の帯域外通信は、SAN以外のネットワークを介しても良い。システムは、帯域外通信によって、複数のSAN上のHBAを管理することができる。複数のSANは、互いと直接にネットワークされていなくても良い。
遠隔管理クライアントは、堅固で高レベルの遠隔管理アプリケーション・プログラム・インターフェース(RMAPI)にアクセスするユーザ・インターフェース・アプリケーションを有していても良い。RMAPIを、互いに別個のソフトウェア・ベンダ(ISV)に分配して、それら特有の管理アプリケーションおよびユーザ・インターフェースを開発しても良い。RMAPIによって、遠隔管理システムの特徴に対するISVアプリケーション・アクセスが得られる。
RMAPIは、複数のプラットフォームおよびオペレーティング・システム、たとえばウィンドウズ(登録商標)NT/2000、ソラリス、AIX、HP−UXおよびリナックスにわたって、不変であっても良い。RMAPIは、ファイバ・チャネル・アダプタおよびiSCSIアダプタの両方を同じAPIを用いて管理できるように、完全に汎用であっても良い。
RMAPIは、ファイバ・チャネルHBA(FC−RMAPI)用のライブラリおよびiSCSIHBA(ISCI−RMAPI)用のライブラリ内の機能にアクセスしても良い。FC−RMAPIライブラリは、FC共通トランスポート(CT)命令に対応するFCRMAPI(RM)命令を含んでいても良い。FC共通トランスポート(CT)命令は、入力出力制御(IOCTL)機能によって、ファブリックを越えて送られても良い。
遠隔管理システムの他の利益が、SANスイッチがインテリジェント・コンピュータへと発展し続ける限り、実現され得る。スイッチおよび他のファブリック・デバイスは、IOCTLインターフェースを介してドライバ・レベルの入力出力制御(IOCTL)機能にアクセスして、HBAを遠隔に管理できても良い。たとえば、スイッチおよび他のファブリック・デバイスは、HBAファームウェア構成およびオプションを遠隔に変更しても良い。
遠隔管理システムは、拡張可能なマークアップ言語(XML)サポートを提供しても良い。
遠隔管理システムは、マイクロソフト管理コンソール(MMC)スナップ・インの形態の管理ツールを提供しても良い。
遠隔管理システムの一実施形態は、どのサード・パーティ・ソフトウェア製品とも干渉せず、またどのオペレーティング・システムまたはアプリケーションに対してもわずかな変更も要求しない。帯域内遠隔管理は、SANのすべてのハードウェア・デバイスに対して透明であっても良い。
アプリケーションの一態様は、ファイバ・チャネル・ネットワークを有するシステムに関する。システムには、ファイバ・チャネル・ネットワークの第1のポートに結合される第1のホスト・バス・アダプタと、ファイバ・チャネル・ネットワークの第2のポートに結合される第2のホスト・バス・アダプタに付随する遠隔管理者とが含まれる。遠隔管理者は、命令を、第2のホスト・バス・アダプタから第1のホスト・バス・アダプタへ、ファイバ・チャネル・ネットワークの共通トランスポート層を介して送るように動作可能である。
他の態様は、第1のコンピュータにおけるプログラム・インターフェース・モジュールに関する。プログラム・インターフェース・モジュールは、クライアント・ソフトウェア・アプリケーションが遠隔管理機能のライブラリにアクセスできるように、動作可能である。各遠隔管理機能は、ファイバ・チャネル共通トランスポート命令に付随する。各ファイバ・チャネル共通トランスポート命令は、第2のコンピュータのコンポーネントに、機能を実行するように命令するように構成されている。第2のコンピュータは、第1のコンピュータと、ファイバ・チャネル・ネットワークを介して連絡する。
他の態様は、インターネット・システム・インターフェース(iSCSI)ネットワークを有するシステムに関する。システムには、iSCSIネットワークの第1のポートに結合される第1のホスト・バス・アダプタと、iSCSIネットワークの第2のポートに結合される第2のホスト・バス・アダプタに付随する遠隔管理者とが含まれる。遠隔管理者は、命令を、第2のホスト・バス・アダプタから第1のホスト・バス・アダプタへ、インターネット・プロトコル・パケットで、iSCSIネットワークを介して送るように動作可能である。
他の態様は、属性タイプのフィールド、属性長さのフィールド、および属性データのフィールドを含むデータ構造に関する。データ構造は、ストレージ・エリア・ネットワーク内のコンポーネントの属性を記述する。属性データ構造は、ファイバ・チャネル・ネットワークの第1のノードからから第2のノードへ、ファイバ・チャネル共通トランスポート層を介して送信されるように構成される。
他の態様は、第1のファイバ・チャネル・ポートから第2のファイバ・チャネル・ポートへ送られるように構成されるファイバ・チャネル共通トランスポート命令に関する。ファイバ・チャネル共通トランスポート命令は、第2のファイバ・チャネル・ポートと連絡するコンポーネントに、機能を実行するように指示を出す。
他の態様は、第1のファイバ・チャネル・ポートにおける第1のコンピュータから第2のファイバ・チャネル・ポートにおける第2のコンピュータへ送られるように構成される命令構造に関する。命令構造には、命令を送るべき場所を指定するオブジェクト・ポート・アドレス、命令を送るべきバックアップ・アドレスを指定するプロキシ・ポート・アドレス、ポインタ、および戻り値が含まれる。
他の態様は、ディスク・ベースのディレクトリを含むリポジトリに関する。リポジトリは、第1のコンピュータ・サーバからコンピュータ第2のサーバへ複数のファイバ・チャネル命令トランスポート・パケットを介して転送されるべきファイルを記憶するように、動作可能である。
他の態様は、第2のコンピュータにおけるディスク・ベースのディレクトリを含むリポジトリに関する。リポジトリは、第1のコンピュータから第2のコンピュータへ複数のファイバ・チャネル命令トランスポート・パケットを介して転送されるファイルを記憶する
ように、動作可能である。
他の態様は、サーバ上のホスト・バス・アダプタ・ドライバと連絡するように動作可能であるソフトウェア・モジュールに関する。ソフトウェア・モジュールには、ストレージ・エリア・ネットワークの遠隔ポートから命令を受信するように動作可能である複数の遠隔命令モジュールと、遠隔命令モジュールから受信する命令を複数のプロトコル管理者へディスパッチするように動作可能であるカーネルと、命令を実行するように動作可能である複数の管理サービス・モジュールと、が含まれる。
他の態様は、命令をファイバ・チャネル・ネットワーク内のデバイスへ送る方法に関する。方法には、ファイバ・チャネル・ネットワーク内の第1のデバイスにおいてユーザ命令を受信することと、ファイバ・チャネル共通トランスポート命令ライブラリにアクセスして、ユーザ命令に対応するファイバ・チャネル共通トランスポート命令を同定することと、ファイバ・チャネル共通トランスポート命令を共通トランスポート情報単位リクエスト内に封入することと、共通トランスポート情報単位リクエストを第2のデバイスへファイバ・チャネル・ネットワークを介して送ることと、が含まれる。
他の態様は、命令を、インターネット・インターフェース(iSCSI)ネットワーク内のデバイスへ送る方法に関する。方法には、iSCSIネットワーク内の第1のデバイスにおいてユーザ命令を受信することと、iSCSI命令ライブラリにアクセスして、ユーザ命令に対応するiSCSI命令を同定することと、iSCSI命令を第2のデバイスにiSCSIネットワークを介して送ることと、が含まれる。
他の態様は、ファームウェア・ファイルを遠隔ホスト・バス・アダプタに転送する方法に関する。方法には、ファームウェア・ファイルを局所的なリポジトリへインポートすることと、ファームウェア・ファイルが、ファームウェア・ファイルを受信するべき遠隔アダプタと適合することを確認することと、ファームウェア・ファイルを遠隔ホスト・アダプタへファイバ・チャネル共通トランスポート(FC−CT)層を介して送ることと、が含まれる。
1つまたは複数の実施形態の詳細を、添付の図面および以下の説明において述べる。他の特徴、オブジェクト、および利点は、説明および図面、ならびに請求項から明らかである。
種々の図面における同様の参照符号は、同様の要素を示す。
(項目1)
ファイバ・チャネル・ネットワークを有するシステムであって、
ファイバ・チャネル・ネットワークの第1のポートに結合される第1のホスト・バス・アダプタと、
ファイバ・チャネル・ネットワークの第2のポートに結合される第2のホスト・バス・アダプタに付随する遠隔管理者であって、命令を、第2のホスト・バス・アダプタから第1のホスト・バス・アダプタへ、ファイバ・チャネル・ネットワークの共通トランスポート層を介して送るように動作可能である遠隔管理者と、を含むシステム。
(項目2)
第1のホスト・バス・アダプタが、サーバ内にインストールされる項目1に記載のシステム。
(項目3)
サーバ内に組み込まれる第3のホスト・バス・アダプタをさらに含み、第3のホスト・アダプタは第3のファイバ・チャネル・ポートに結合され、命令は、第1のホスト・バス・アダプタに対するオブジェクト・ポート・アドレス、および第3のホスト・バス・アダ
プタに対するプロキシ・ポート・アドレスを指定する項目2に記載のシステム。
(項目4)
ファイバ・チャネル・ネットワークの第3のポートに結合される少なくとも1つの記憶デバイスをさらに含む項目1に記載のシステム。
(項目5)
少なくとも1つのネットワーク・スイッチをさらに含む項目1に記載のシステム。
(項目6)
第1のホスト・バス・アダプタが、第1のホスト・バス・アダプタがインストールされるサーバのオペレーティング・システムを伴うことなく、命令を実行するように動作可能である項目1に記載のシステム。
(項目7)
遠隔管理者が、命令を第2のホスト・バス・アダプタへ送るように動作可能であり、および第2のホスト・バス・アダプタが、命令に応答するように動作可能である項目1に記載のシステム。
(項目8)
命令が、第1のホスト・バス・アダプタによって戻されるデータが記憶されるべきメモリ・バッファのアドレスを指定する項目1に記載のシステム。
(項目9)
命令が、ファイバ・チャネル・ネットワークのポートに結合されるすべてのホスト・バス・アダプタの名前およびアドレスを発見する項目1に記載のシステム。
(項目10)
命令が、第1のホスト・バス・アダプタからのホスト・バス・アダプタ属性をリクエストする項目1に記載のシステム。
(項目11)
命令が、第1のホスト・バス・アダプタの属性を変更する項目1に記載のシステム。
(項目12)
命令が、第1のポートからのポート属性をリクエストする項目1に記載のシステム。
(項目13)
命令が、第1のポートのポート属性を変更する項目1に記載のシステム。
(項目14)
命令が、第1のポートからのポート統計をリクエストする項目1に記載のシステム。
(項目15)
命令が、第1のポートのポート統計をリセットする項目1に記載のシステム。
(項目16)
命令が、第1のホスト・バス・アダプタに結合されるサーバからのサーバ属性をリクエストする項目1に記載のシステム。
(項目17)
命令が、第1のホスト・バス・アダプタに結合されるサーバのサーバ属性を変更する項目1に記載のシステム。
(項目18)
命令が、ファイルをリポジトリにコピーし、リポジトリは遠隔管理者によってアクセス可能である項目1に記載のシステム。
(項目19)
命令が、第1のホスト・バス・アダプタへのファームウェア・ファイルのダウンロードが成功できたかどうかを確認する項目1に記載のシステム。
(項目20)
命令が、遠隔管理者に付随する第1のリポジトリ内のファイルを、第1のホスト・バス・アダプタに付随する第2のリポジトリへ送る項目1に記載のシステム。
(項目21)
ファイルにファームウェアが含まれる項目20に記載のシステム。
(項目22)
ファイルにドライバが含まれる項目20に記載のシステム。
(項目23)
命令が、第1のホスト・バス・アダプタに、第1のホスト・バス・アダプタに付随するリポジトリ内のファームウェアをダウンロードするように指示を出し、ファームウェアは遠隔管理者からロードされる項目1に記載のシステム。
(項目24)
命令が、
ファームウェア・ファイルを第1のリポジトリへコピーすることであって、第1のリポジトリは遠隔管理者によってアクセス可能である、コピーすることと、
第1のホスト・バス・アダプタへのファームウェア・ファイルのダウンロードが成功できたかどうかを確かめることと、
遠隔管理者に付随する第1のリポジトリ内のファームウェア・ファイルを、第1のホスト・バス・アダプタに付随する第2のリポジトリへ送ることと、
第1のホスト・バス・アダプタに、第1のホスト・バス・アダプタに付随する第2のリポジトリ内のファームウェアをダウンロードするように指示を出すことと、を含む項目1に記載のシステム。
(項目25)
命令が、第1のホスト・バス・アダプタの動作をリセットする項目1に記載のシステム。
(項目26)
命令が、第1のホスト・バス・アダプタに付随するサーバ上のリポジトリ内の指定されたファイルの名前を変更する項目1に記載のシステム。
(項目27)
命令が、第1のホスト・バス・アダプタに付随するサーバ上のリポジトリ内の指定されたファイルを削除する項目1に記載のシステム。
(項目28)
命令が、第1のホスト・バス・アダプタに付随するリポジトリ内のファイル名のリストを取り出す項目1に記載のシステム。
(項目29)
命令が、ファイバ・チャネル・プロトコル(FCP)ターゲットと小さなコンピュータ・システム・インターフェース(SCSI)情報との間のマッピングを取り出す項目1に記載のシステム。
(項目30)
命令が、第1のホスト・バス・アダプタに付随するドライバの属性を取り出す項目1に記載のシステム。
(項目31)
命令が、第1のホスト・バス・アダプタに付随するドライバの属性を変更する項目1に記載のシステム。
(項目32)
命令が、結合操作するために、第1のホスト・バス・アダプタに付随するすべてのノードの名前を取り出す項目1に記載のシステム。
(項目33)
命令が、永続的な結合を加える項目1に記載のシステム。
(項目34)
命令が、永続的な結合を削除する項目1に記載のシステム。
(項目35)
コンピュータ上で実行可能なソフトウェア・モジュールであって、命令を第1のホスト・バス・アダプタから第2のホスト・バス・アダプタへ、ファイバ・チャネル・ネットワークの共通トランスポート層を介して送るためのソフトウェア・モジュール。
(項目36)
クライアント・アプリケーション、アプリケーション・プログラミング・インターフェース、および命令機能のライブラリを含み、アプリケーション・プログラミング・インターフェースによって、クライアント・アプリケーションが、命令機能のライブラリにアクセスすることができる項目35に記載のソフトウェア・モジュール。
(項目37)
クライアント・アプリケーションに、ユーザがクライアント・アプリケーションを管理することができるように動作可能なグラフィカル・ユーザ・インターフェースが含まれる項目36に記載のソフトウェア・モジュール。
(項目38)
クライアント・アプリケーションがウェブ・ブラウザである項目36に記載のソフトウェア・モジュール。
(項目39)
クライアント・アプリケーションが、拡張可能マークアップ言語(XML)アプリケーションである項目36に記載のソフトウェア・モジュール。
(項目40)
クライアント・アプリケーションがジャバ・アプリケーションである項目36に記載のソフトウェア・モジュール。
(項目41)
デバイス・ドライバをさらに含む項目36に記載のソフトウェア・モジュール。
(項目42)
単純ネットワーク管理プロトコル(SNMP)アプリケーションをさらに含む項目36に記載のソフトウェア・モジュール。
(項目43)
マイクロソフト管理コンソールをさらに含む項目36に記載のソフトウェア・モジュール。
(項目44)
拡張可能マークアップ言語(XML)アプリケーションをさらに含む項目36に記載のソフトウェア・モジュール。
(項目45)
拡張可能マークアップ言語(XML)パーサ・モジュールをさらに含む項目36に記載のソフトウェア・モジュール。
(項目46)
拡張可能マークアップ言語(XML)ページ・サーバ・モジュールをさらに含む項目36に記載のソフトウェア・モジュール。
(項目47)
ジャバ・ネイティブ・インターフェースをさらに含む項目36に記載のソフトウェア・モジュール。
(項目48)
帯域外インターネット・プロトコル・イーサネット(登録商標)・インターフェースをさらに含む項目36に記載のソフトウェア・モジュール。
(項目49)
命令が、ポート属性をリクエストする項目35に記載のソフトウェア・モジュール。
(項目50)
命令が、ポート属性を変更する項目35に記載のソフトウェア・モジュール。
(項目51)
命令が、ポート統計をリクエストする項目35に記載のソフトウェア・モジュール。
(項目52)
命令が、ポート統計を変更する項目35に記載のソフトウェア・モジュール。
(項目53)
命令が、ホスト・バス・アダプタ属性をリクエストする項目35に記載のソフトウェア・モジュール。
(項目54)
命令が、ホスト・バス・アダプタ属性を変更する項目35に記載のソフトウェア・モジュール。
(項目55)
命令が、サーバ属性をリクエストする項目35に記載のソフトウェア・モジュール。
(項目56)
命令が、サーバ属性を変更する項目35に記載のソフトウェア・モジュール。
(項目57)
命令が、第2のホスト・バス・アダプタに、ファームウェア・ファイルをロードするように指示を出す項目35に記載のソフトウェア・モジュール。
(項目58)
命令が、永続的な結合を加える項目35に記載のソフトウェア・モジュール。
(項目59)
命令が、永続的な結合を削除する項目35に記載のソフトウェア・モジュール。
(項目60)
命令が、ホスト・バス・アダプタのアドレスを送る項目35に記載のソフトウェア・モジュール。
(項目61)
命令が、ホスト・バス・アダプタ上で診断テストを実行する項目35に記載のソフトウェア・モジュール。
(項目62)
第1のコンピュータにおけるプログラム・インターフェース・モジュールであって、クライアント・ソフトウェア・アプリケーションが遠隔管理機能のライブラリにアクセスできるように動作可能であり、各遠隔管理機能は、ファイバ・チャネル共通トランスポート命令に付随し、各ファイバ・チャネル共通トランスポート命令は、第2のコンピュータのコンポーネントに、機能を実行するように命令するように構成され、第2のコンピュータは、第1のコンピュータと、ファイバ・チャネル・ネットワークを介して連絡するプログラム・インターフェース・モジュール。
(項目63)
プログラム・インターフェース・モジュールは、クライアント・ソフトウェア・アプリケーションが遠隔管理機能の第2のライブラリにアクセスできるように動作可能であり、第2のライブラリ内の各遠隔管理機能は、インターネット・システム・インターフェース(iSCSI)命令に付随し、各iSCSI命令は、第2のコンピュータのコンポーネントに、機能を実行するように命令するように構成されている項目62に記載のプログラム・インターフェース・モジュール。
(項目64)
ダイナミック・リンク・ライブラリを含む項目62に記載のプログラム・インターフェース・モジュール。
(項目65)
クライアント・ソフトウェア・アプリケーションが、単純ネットワーク管理プロトコル(SNMP)アプリケーションである項目62に記載のプログラム・インターフェース・モジュール。
(項目66)
クライアント・ソフトウェア・アプリケーションがネイティブ・アプリケーションである項目62に記載のプログラム・インターフェース・モジュール。
(項目67)
クライアント・ソフトウェア・アプリケーションがジャバ・アプリケーションである項目62に記載のプログラム・インターフェース・モジュール。
(項目68)
クライアント・ソフトウェア・アプリケーションがウェブ・ブラウザである項目62に記載のプログラム・インターフェース・モジュール。
(項目69)
クライアント・ソフトウェア・アプリケーションが、拡張可能マークアップ言語(XML)アプリケーションである項目62に記載のプログラム・インターフェース・モジュール。
(項目70)
クライアント・ソフトウェア・アプリケーションが、マイクロソフト管理コンソールである項目62に記載のプログラム・インターフェース・モジュール。
(項目71)
命令が、ファイバ・チャネル・ネットワークのポートに結合されるすべてのホスト・バス・アダプタの名前およびアドレスを発見する項目62に記載のプログラム・インターフェース・モジュール。
(項目72)
命令が、第2のコンピュータのホスト・バス・アダプタからのホスト・バス・アダプタ属性をリクエストする項目62に記載のプログラム・インターフェース・モジュール。
(項目73)
命令が、第2のコンピュータのホスト・バス・アダプタの属性を変更する項目62に記載のプログラム・インターフェース・モジュール。
(項目74)
命令が、第2のコンピュータのポートからのポート属性をリクエストする項目62に記載のプログラム・インターフェース・モジュール。
(項目75)
命令が、第2のコンピュータのポート属性ポートを変更する項目62に記載のプログラム・インターフェース・モジュール。
(項目76)
命令が、第2のコンピュータのポートからのポート統計をリクエストする項目62に記載のプログラム・インターフェース・モジュール。
(項目77)
命令が、第2のコンピュータのポートのポート統計をリセットする項目62に記載のプログラム・インターフェース・モジュール。
(項目78)
命令が、第2のコンピュータのサーバ属性をリクエストする項目62に記載のプログラム・インターフェース・モジュール。
(項目79)
命令が、第2のコンピュータのサーバ属性を変更する項目62に記載のプログラム・インターフェース・モジュール。
(項目80)
命令が、第1のコンピュータに付随する第1のリポジトリ内のファームウェア・ファイルを、第2のコンピュータに付随する第2のリポジトリに送る項目62に記載のプログラム・インターフェース・モジュール。
(項目81)
命令が、第2のコンピュータのホスト・バス・アダプタに、第1のホスト・バス・アダプタに付随するリポジトリ内のファームウェアをダウンロードするように指示を出し、ファームウェアは、第1のコンピュータからロードされる項目62に記載のプログラム・インターフェース・モジュール。
(項目82)
命令が、
ファームウェア・ファイルを第1のリポジトリへコピーすることであって、第1のリポ
ジトリは、第1のコンピュータによってアクセス可能である、コピーすることと、
第2のコンピュータのホスト・バス・アダプタへのファームウェア・ファイルのダウンロードが成功できたかどうかを確かめることと、
第1のコンピュータに付随する第1のリポジトリ内のファームウェア・ファイルを、第2のコンピュータに付随する第2のリポジトリへ送ることと、
ホスト・バス・アダプタに、ホスト・バス・アダプタに付随する第2のリポジトリ内のファームウェアをダウンロードするように指示を出すことと、を含む項目62に記載のプログラム・インターフェース・モジュール。
(項目83)
命令が、第2のコンピュータのホスト・バス・アダプタの動作をリセットする項目62に記載のプログラム・インターフェース・モジュール。
(項目84)
命令が、第2のコンピュータ内のリポジトリ内の指定されたファイルの名前を変更する項目62に記載のプログラム・インターフェース・モジュール。
(項目85)
命令が、第2のコンピュータ内のリポジトリ内の指定されたファイルを削除する項目62に記載のプログラム・インターフェース・モジュール。
(項目86)
命令が、第2のコンピュータ内のリポジトリ内のファイル名のリストを取り出す項目62に記載のプログラム・インターフェース・モジュール。
(項目87)
命令が、ファイバ・チャネル・プロトコル(FCP)ターゲットとシステム・インターフェース(SCSI)情報との間のマッピングを取り出す項目62に記載のプログラム・インターフェース・モジュール。
(項目88)
命令が、第2のコンピュータのホスト・バス・アダプタに付随するドライバの属性を取り出す項目62に記載のプログラム・インターフェース・モジュール。
(項目89)
命令が、第2のコンピュータのホスト・バス・アダプタに付随するドライバの属性を変更する項目62に記載のプログラム・インターフェース・モジュール。
(項目90)
命令が、結合操作するために、第2のコンピュータのホスト・バス・アダプタに付随するすべてのノードの名前を取り出す項目62に記載のプログラム・インターフェース・モジュール。
(項目91)
命令が、永続的な結合を加える項目62に記載のプログラム・インターフェース・モジュール。
(項目92)
命令が、永続的な結合を削除する項目62に記載のプログラム・インターフェース・モジュール。
(項目93)
インターネット・システム・インターフェース(iSCSI)ネットワークを有するシステムであって、
iSCSIネットワークの第1のポートに結合される第1のホスト・バス・アダプタと、
iSCSIネットワークの第2のポートに結合される第2のホスト・バス・アダプタに付随する遠隔管理者であって、命令を、第2のホスト・バス・アダプタから第1のホスト・バス・アダプタへ、インターネット・プロトコル・パケットで、iSCSIネットワークを介して送るように動作可能である遠隔管理者と、を含むシステム。
(項目94)
属性タイプのフィールド、属性長さのフィールド、および属性データのフィールドを含むデータ構造であって、ストレージ・エリア・ネットワーク内のコンポーネントの属性を記述し、属性データ構造は、ファイバ・チャネル・ネットワークの第1のノードから第2のノードへファイバ・チャネル共通トランスポート層を介して送信されるように構成される属性データ構造。
(項目95)
コンポーネントがホスト・バス・アダプタである項目94に記載の属性データ構造。
(項目96)
コンポーネントがホスト・バス・アダプタ・ドライバである項目94に記載の属性データ構造。
(項目97)
コンポーネントがサーバである項目94に記載の属性データ構造。
(項目98)
コンポーネントがポートである項目94に記載の属性データ構造。
(項目99)
コンポーネントが記憶デバイスである項目94に記載の属性データ構造。
(項目100)
第1のファイバ・チャネル・ポートから第2のファイバ・チャネル・ポートへ送られるように構成されるファイバ・チャネル共通トランスポート命令であって、第2のファイバ・チャネル・ポートと連絡するコンポーネントに、機能を実行するように命令するファイバ・チャネル共通トランスポート。
(項目101)
第2のファイバ・チャネル・ポートと連絡するコンポーネントが、ホスト・バス・アダプタである項目100に記載のファイバ・チャネル共通トランスポート命令。
(項目102)
第2のファイバ・チャネル・ポートと連絡するコンポーネントが、サーバである項目100に記載のファイバ・チャネル共通トランスポート命令。
(項目103)
第2のファイバ・チャネル・ポートと連絡するコンポーネントが、記憶デバイスである項目100に記載のファイバ・チャネル共通トランスポート命令。
(項目104)
機能には、ホスト・バス・アダプタ・パラメータを、第2のファイバ・チャネル・ポートから第1のファイバ・チャネル・ポートへ送ることが含まれる項目100に記載のファイバ・チャネル共通トランスポート命令。
(項目105)
第1のファイバ・チャネル・ポートにおける第1のコンピュータから第2のファイバ・チャネル・ポートにおける第2のコンピュータへ送られるように構成される命令構造であって、
命令を送るべき場所を指定するオブジェクト・ポート・アドレスと、
バックアップ・アドレス命令を送るべき場所を指定するプロキシ・ポート・アドレスと、
ポインタと、
戻り値と、を含む命令構造。
(項目106)
第1のホスト・バス・アダプタに、ファームウェアを、ファイバ・チャネル・ストレージ・エリア・ネットワーク内の第2のホスト・バス・アダプタへ送るように指示を出すように構成される命令構造。
(項目107)
第1のホスト・バス・アダプタに、ファームウェアを、インターネット・システム・インターフェース(iSCSI)ストレージ・エリア・ネットワーク内の第2のホスト・バ
ス・アダプタへ送るように指示を出すように構成される命令構造。
(項目108)
ファイバ・チャネル・ポートに結合されるストレージ・エリア・ネットワーク内のすべてのホスト・バス・アダプタを発見するように構成される命令構造。
(項目109)
ディスク・ベースのディレクトリを含むリポジトリであって、第1のコンピュータ・サーバからコンピュータ第2のサーバへ複数のファイバ・チャネル命令トランスポート・パケットを介して転送すべきファイルを記憶するように動作可能であるリポジトリ。
(項目110)
ファイルが、ホスト・バス・アダプタ・ファームウェアを含む項目109に記載のリポジトリ。
(項目111)
ファイルが、デバイス・ドライバを含む項目109に記載のリポジトリ。
(項目112)
第1のコンピュータ・サーバの記憶デバイスに記憶される項目109に記載のリポジトリ。
(項目113)
第2のコンピュータにおけるディスク・ベースのディレクトリを含むリポジトリであって、第1のコンピュータから第2のコンピュータへ複数のファイバ・チャネル命令トランスポート・パケットを介して転送されるファイルを記憶するように動作可能であるリポジトリ。
(項目114)
サーバ上のホスト・バス・アダプタ・ドライバと連絡するように動作可能であるソフトウェア・モジュールであって、
ストレージ・エリア・ネットワークの遠隔ポートから命令を受信するように動作可能である複数の遠隔命令モジュールと、
遠隔命令モジュールから受信する命令を複数のプロトコル管理者にディスパッチするように動作可能であるカーネルと、
命令を実行するように動作可能である複数の管理サービス・モジュールと、を含む、ソフトウェア・モジュール。
(項目115)
遠隔命令モジュールの1つが、ファイバ・チャネル共通トランスポート(FC−CT)命令を受信するように動作可能である項目114に記載のソフトウェア・モジュール。
(項目116)
遠隔命令モジュールの1つが、インターネット・プロトコル・ベースのファイバ・チャネル共通トランスポート(FC−CT)命令を受信するように動作可能である項目114に記載のソフトウェア・モジュール。
(項目117)
遠隔命令モジュールの1つが、インターネット・プロトコル・ベースの単純ネットワーク管理プロトコル(SNMP)命令を受信するように動作可能である項目114に記載のソフトウェア・モジュール。
(項目118)
管理サービス・モジュールの1つが、ディレクトリ・サーバを含む項目114に記載のソフトウェア・モジュール。
(項目119)
管理サービス・モジュールの1つが、キー・サーバを含む項目114に記載のソフトウェア・モジュール。
(項目120)
管理サービス・モジュールの1つが、命令ソースを認証するように動作可能であるモジュールを含む項目114に記載のソフトウェア・モジュール。
(項目121)
命令を、ファイバ・チャネル・ネットワーク内のデバイスへ送る方法であって、
ファイバ・チャネル・ネットワーク内の第1のデバイスにおいてユーザ命令を受信することと、
ファイバ・チャネル共通トランスポート命令ライブラリにアクセスして、ユーザ命令に対応するファイバ・チャネル共通トランスポート命令を同定することと、
ファイバ・チャネル共通トランスポート命令を共通トランスポート情報単位リクエスト内に封入することと、
共通トランスポート情報単位リクエストを第2のデバイスへ、ファイバ・チャネル・ネットワークを介して送ることと、を含む方法。
(項目122)
第2のデバイスがサーバである項目121に記載の方法。
(項目123)
第2のデバイスがホスト・バス・アダプタである項目121に記載の方法。
(項目124)
共通トランスポート情報単位リクエストの認証コードをチェックすることをさらに含む項目121に記載の方法。
(項目125)
命令が、ファイバ・チャネル・ネットワークのポートに結合されるすべてのホスト・バス・アダプタの名前およびアドレスを発見する項目121に記載の方法。
(項目126)
命令が、第2のデバイスからのホスト・バス・アダプタ属性をリクエストする項目121に記載の方法。
(項目127)
命令が、第2のデバイスのホスト・バス・アダプタ属性を変更する項目121に記載の方法。
(項目128)
命令が、第2のデバイスからのポート属性をリクエストする項目121に記載の方法。(項目129)
命令が、第2のデバイスのポート属性を変更する項目121に記載の方法。
(項目130)
命令が、第2のデバイスからのポート統計をリクエストする項目121に記載の方法。(項目131)
命令が、第2のデバイスのポート統計をリセットする項目121に記載の方法。
(項目132)
命令が、第2のデバイスからのサーバ属性をリクエストする項目121に記載の方法。(項目133)
命令が、第2のデバイスのサーバ属性を変更する項目121に記載の方法。
(項目134)
命令がファイルをリポジトリにコピーし、リポジトリは第2のデバイスによってアクセス可能である項目121に記載の方法。
(項目135)
命令が、第1のデバイスに付随する第1のリポジトリ内のファームウェアを、第2のデバイスに付随する第2のリポジトリに送る項目121に記載の方法。
(項目136)
命令が、第2のデバイスに、第2のデバイスに付随するリポジトリ内のファームウェアをダウンロードするように指示を出し、ファームウェアは第1のデバイスからロードされる項目121に記載の方法。
(項目137)
命令が、
ファームウェア・ファイルを第1のリポジトリへコピーすることであって、第1のリポジトリは第1のデバイスによってアクセス可能である、コピーすることと、
第1のデバイスに付随する第1のリポジトリ内のファームウェア・ファイルを、第2のデバイスに付随する第2のリポジトリへ送ることと、
第2のデバイスに、第2のデバイスに付随する第2のリポジトリ内のファームウェアをダウンロードするように指示を出すことと、を含む項目121に記載の方法。
(項目138)
命令が、第2のデバイスのホスト・バス・アダプタの動作をリセットする項目121に記載の方法。
(項目139)
命令が、第2のデバイスに付随するサーバ上のリポジトリ内の指定されたファイルの名前を変更する項目121に記載の方法。
(項目140)
命令が、第2のデバイスに付随するサーバ上のリポジトリ内の指定されたファイルを削除する項目121に記載の方法。
(項目141)
命令が、第2のデバイスに付随するリポジトリ内のファイル名のリストを取り出す項目121に記載の方法。
(項目142)
命令が、ファイバ・チャネル・プロトコル(FCP)ターゲットとシステム・インターフェース(SCSI)情報との間のマッピングを取り出す項目121に記載の方法。
(項目143)
命令が、第2のデバイスに付随するドライバの属性を取り出す項目121に記載の方法。
(項目144)
命令が、第2のデバイスに付随するドライバの属性を変更する項目121に記載の方法。
(項目145)
命令が、結合操作するために、第2のデバイスに付随するすべてのノードの名前を取り出す項目121に記載の方法。
(項目146)
命令が、永続的な結合を加える項目121に記載の方法。
(項目147)
命令が、永続的な結合を削除する項目121に記載の方法。
(項目148)
命令をインターネット・インターフェース(iSCSI)ネットワーク内のデバイスに送る方法であって、
iSCSIネットワーク内の第1のデバイスにおいてユーザ命令を受信することと、
iSCSI命令ライブラリにアクセスして、ユーザ命令に対応するiSCSI命令を同定することと、
iSCSI命令を第2のデバイスへiSCSIネットワークを介して送ることと、を含む方法。
(項目149)
ファームウェア・ファイルを遠隔ホスト・バス・アダプタへ転送する方法であって、
ファームウェア・ファイルを局所的なリポジトリへインポートすることと、
ファームウェア・ファイルが、ファームウェア・ファイルを受信するべき遠隔アダプタと適合することを確認することと、
ファームウェア・ファイルを遠隔ホスト・アダプタへファイバ・チャネル共通トランスポート(FC−CT)層を介して送ることと、を含む方法。
(項目150)
遠隔ホスト・アダプタにおいてファームウェア・ファイルを受信することと、
ファームウェア・ファイルを、遠隔ホスト・バス・アダプタに付随するリポジトリにコピーすることと、をさらに含む項目149に記載の方法。
(項目151)
ファイル・ダウンロード命令を受信することと、
ファームウェア・ファイルを遠隔ホスト・バス・アダプタ上にインストールすることと、をさらに含む項目149に記載の方法。
(項目152)
ファームウェア・ファイルが、ファイルを受信するべき遠隔アダプタと適合することを確認することが、ファイルのチェックサムをチェックすることを含む項目149に記載の方法。
(項目153)
ファームウェア・ファイルが、ファイルを受信するべき遠隔アダプタと適合することを確認することが、ファイルのタイプがホスト・バス・アダプタのタイプとマッチングするかどうかを判定することを含む項目149に記載の方法。
図1は、ストレージ・エリア・ネットワーク(SAN)の一実施形態を示す。 図2A〜2Bは、図1のSANにおける遠隔管理クライアント(RMC)および1つまたは複数の遠隔管理エージェント(RMA)の一実施形態を示す。 図2A〜2Bは、図1のSANにおける遠隔管理クライアント(RMC)および1つまたは複数の遠隔管理エージェント(RMA)の一実施形態を示す。 図3は、図1および2におけるRMCの一実施形態のブロック・ダイアグラムを示す。 図3は、図1および2におけるRMCの一実施形態のブロック・ダイアグラムを示す。 図4は、ファイバ・チャネル、ホスト・バス・アダプタ(HBA)、遠隔管理エージェント(RMA)、およびイーサネット(登録商標)の一実施形態を示す。 図4は、ファイバ・チャネル、ホスト・バス・アダプタ(HBA)、遠隔管理エージェント(RMA)、およびイーサネット(登録商標)の一実施形態を示す。 図5は、図4のRMAの使用方法を示す。 図6は、遠隔管理者におけるクライアントによって与えられ得るアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図7は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図8は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図9は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図10は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図11は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図12は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図13は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図14は、遠隔管理者におけるクライアントによって与えられ得る他のアプリケーション・ウィンドウの一実施形態のスクリーン場面である。 図15Aは、主要なRMAPI機能カテゴリ、個々のRMAPI機能、およびそれらの関連するFC−CT命令の一実施形態を示す。 図15Aは、主要なRMAPI機能カテゴリ、個々のRMAPI機能、およびそれらの関連するFC−CT命令の一実施形態を示す。 図15Bは、HBAAPI機能およびRMAPI機能の例を示す。 図15Bは、HBAAPI機能およびRMAPI機能の例を示す。 図16A〜16Bは、サーバ属性およびそれらのフォーマットの例を示す。 図16A〜16Bは、サーバ属性およびそれらのフォーマットの例を示す。 図17Aおよび17Bは、HBA属性およびそれらのフォーマットの例を示す。 図17Aおよび17Bは、HBA属性およびそれらのフォーマットの例を示す。 図17Aおよび17Bは、HBA属性およびそれらのフォーマットの例を示す。 図17Aおよび17Bは、HBA属性およびそれらのフォーマットの例を示す。 図18は、ポート属性およびそれらのフォーマットの例を示す。 図19は、ポート統計およびそれらのフォーマットの例を示す。 図19は、ポート統計およびそれらのフォーマットの例を示す。 図20Aは、ポートFCP属性の例を示す。 図20Bは、ポートFCP属性の例を示す。 図21は、FC−3管理属性の例を示す。 図22は、ファームウェアを遠隔サーバへダウンロードする方法を示す。 図23A〜23Eは、ソフトウェア・リソース属性およびそのフィールドの一実施形態を示す。 図23A〜23Eは、ソフトウェア・リソース属性およびそのフィールドの一実施形態を示す。 図23A〜23Eは、ソフトウェア・リソース属性およびそのフィールドの一実施形態を示す。 図23A〜23Eは、ソフトウェア・リソース属性およびそのフィールドの一実施形態を示す。 図23A〜23Eは、ソフトウェア・リソース属性およびそのフィールドの一実施形態を示す。 図24は、ベンダ・ユニークなFC−CT命令コードの例を示す。 図24は、ベンダ・ユニークなFC−CT命令コードの例を示す。 図25〜27は、共通トランスポート(CT)命令ブロック・フォーマットの例を示す。 図25〜27は、共通トランスポート(CT)命令ブロック・フォーマットの例を示す。 図25〜27は、共通トランスポート(CT)命令ブロック・フォーマットの例を示す。 図28は、CTベンダ・ユニークな拒絶理由コードの例のリストである。 図28は、CTベンダ・ユニークな拒絶理由コードの例のリストである。 図29A〜29Bは、命令特有のエラーに対するCTベンダ・ユニークな理由コードの例のリストである。 図29A〜29Bは、命令特有のエラーに対するCTベンダ・ユニークな理由コードの例のリストである。 図29A〜29Bは、命令特有のエラーに対するCTベンダ・ユニークな理由コードの例のリストである。 図30は、CT拒絶追加情報フィールドの一実施形態を示す。 図31は、拒絶CT_IU追加情報フィールドの一実施形態を示す。 図32は、すべてのポート統計に対して用いられ得る一般的なフォーマットの一実施形態を示す。 図33は、ポート統計ブロック・エントリの一実施形態を示す。 図34は、ソフトウェア・リソース記述子(SRD)の一実施形態を示す。 図35は、ソフトウェア・リソース・ブロック(SRB)の一実施形態を示す。 図36A〜36Bは、サーバ属性取得命令およびサーバ属性取得応答の例を示す。 図36A〜36Bは、サーバ属性取得命令およびサーバ属性取得応答の例を示す。 図37A〜37Bは、HBA取得属性命令およびHBA属性取得応答の例を示す。 図37A〜37Bは、HBA取得属性命令およびHBA属性取得応答の例を示す。 図38A〜38Bは、ポート属性取得命令およびポート属性取得応答の例を示す。 図38A〜38Bは、ポート属性取得命令およびポート属性取得応答の例を示す。 図39A〜39Bは、ドライバ属性取得命令およびドライバ属性取得応答の例を示す。 図39A〜39Bは、ドライバ属性取得命令およびドライバ属性取得応答の例を示す。 図40A〜40Bは、ポート統計取得命令およびポート統計取得応答の例を示す。 図40A〜40Bは、ポート統計取得命令およびポート統計取得応答の例を示す。 図41A〜41Bは、サーバ属性設定命令およびサーバ属性設定応答の例を示す。 図41A〜41Bは、サーバ属性設定命令およびサーバ属性設定応答の例を示す。 図42A〜42Bは、HBA属性設定命令およびHBA属性設定応答の例を示す。 図42A〜42Bは、HBA属性設定命令およびHBA属性設定応答の例を示す。 図43A〜43Bは、ポート属性設定命令およびポート属性設定応答の例を示す。 図43A〜43Bは、ポート属性設定命令およびポート属性設定応答の例を示す。 図44A〜44Bは、ドライバ属性設定命令およびドライバ属性設定応答の例を示す。 図44A〜44Bは、ドライバ属性設定命令およびドライバ属性設定応答の例を示す。 図45A〜45Bは、ポート統計リセット命令およびポート統計リセット応答の例を示す。 図45A〜45Bは、ポート統計リセット命令およびポート統計リセット応答の例を示す。 図46A〜46Bは、ファームウェア確認命令およびファームウェア確認応答の例を示す。 図46A〜46Bは、ファームウェア確認命令およびファームウェア確認応答の例を示す。 図47A〜47Bは、ファームウェア・ダウンロード命令およびファームウェア・ダウンロード応答の例を示す。 図47A〜47Bは、ファームウェア・ダウンロード命令およびファームウェア・ダウンロード応答の例を示す。 図48A〜48Bは、ファームウェア・アップグレード命令およびファームウェア・アップグレード応答の例を示す。 図48A〜48Bは、ファームウェア・アップグレード命令およびファームウェア・アップグレード応答の例を示す。 図49A〜49Cは、HBAリセット命令、HBAリセット応答およびHBAリセット命令詳細の例を示す。 図49A〜49Cは、HBAリセット命令、HBAリセット応答およびHBAリセット命令詳細の例を示す。 図49A〜49Cは、HBAリセット命令、HBAリセット応答およびHBAリセット命令詳細の例を示す。 図49A〜49Cは、HBAリセット命令、HBAリセット応答およびHBAリセット命令詳細の例を示す。 図50A〜50Cは、HBA診断実行命令、HBA診断実行応答、およびHBA診断実行命令詳細の例を示す。 図50A〜50Cは、HBA診断実行命令、HBA診断実行応答、およびHBA診断実行命令詳細の例を示す。 図50A〜50Cは、HBA診断実行命令、HBA診断実行応答、およびHBA診断実行命令詳細の例を示す。 図51A〜51Cは、遠隔リソース・リスト取得命令、遠隔リソース・リスト取得応答、および遠隔リソース・リスト取得命令詳細の例を示す。 図51A〜51Cは、遠隔リソース・リスト取得命令、遠隔リソース・リスト取得応答、および遠隔リソース・リスト取得命令詳細の例を示す。 図51A〜51Cは、遠隔リソース・リスト取得命令、遠隔リソース・リスト取得応答、および遠隔リソース・リスト取得命令詳細の例を示す。 図51A〜51Cは、遠隔リソース・リスト取得命令、遠隔リソース・リスト取得応答、および遠隔リソース・リスト取得命令詳細の例を示す。 図51A〜51Cは、遠隔リソース・リスト取得命令、遠隔リソース・リスト取得応答、および遠隔リソース・リスト取得命令詳細の例を示す。 図52A〜52Bは、遠隔リソース情報取得命令および遠隔リソース情報取得応答の例を示す。 図52A〜52Bは、遠隔リソース情報取得命令および遠隔リソース情報取得応答の例を示す。 図53A〜53Cは、ソフトウェア・リソース送信命令、ソフトウェア・リソース送信応答、およびソフトウェア・リソース送信命令詳細の例を示す。 図53A〜53Cは、ソフトウェア・リソース送信命令、ソフトウェア・リソース送信応答、およびソフトウェア・リソース送信命令詳細の例を示す。 図53A〜53Cは、ソフトウェア・リソース送信命令、ソフトウェア・リソース送信応答、およびソフトウェア・リソース送信命令詳細の例を示す。 図53A〜53Cは、ソフトウェア・リソース送信命令、ソフトウェア・リソース送信応答、およびソフトウェア・リソース送信命令詳細の例を示す。 図54A〜54Cは、遠隔リソース削除命令、遠隔リソース削除応答、および遠隔リソース削除命令詳細の例を示す。 図54A〜54Cは、遠隔リソース削除命令、遠隔リソース削除応答、および遠隔リソース削除命令詳細の例を示す。 図54A〜54Cは、遠隔リソース削除命令、遠隔リソース削除応答、および遠隔リソース削除命令詳細の例を示す。 図55A〜55Cは、遠隔リソース名変更命令、遠隔リソース名変更応答、および遠隔リソース名変更命令詳細の例を示す。 図55A〜55Cは、遠隔リソース名変更命令、遠隔リソース名変更応答、および遠隔リソース名変更命令詳細の例を示す。 図55A〜55Cは、遠隔リソース名変更命令、遠隔リソース名変更応答、および遠隔リソース名変更命令詳細の例を示す。 図56Aおよび56Bは、送信および受信テスト命令、ならびに送信および受信テスト応答の例を示す。 図56Aおよび56Bは、送信および受信テスト命令、ならびに送信および受信テスト応答の例を示す。 図57A〜57Cは、HBA照会応答詳細、HBA照会命令、およびHBA照会応答の例を示す。 図57A〜57Cは、HBA照会応答詳細、HBA照会命令、およびHBA照会応答の例を示す。 図57A〜57Cは、HBA照会応答詳細、HBA照会命令、およびHBA照会応答の例を示す。 図57A〜57Cは、HBA照会応答詳細、HBA照会命令、およびHBA照会応答の例を示す。
詳細な説明
図1に、ストレージ・エリア・ネットワーク(SAN)の一実施形態50を示す。企業のSAN50は普通、大きくて複雑なネットワークであり、100個のノード、たとえば図1内のノードA〜Oを含んでいても良い。SAN50のノードA〜Oは、ファブリック・デバイス150A〜150C(たとえば、ファイバ・チャネル(FC)スイッチ)および1つまたは複数のFCハブ160によって、互いに結合されていても良い。用語「ファブリック」および「スイッチ」は、本明細書では同意語として用いても良い。ファイバ・チャネル・デバイスの説明においては、用語「スイッチ」は、「ファブリック・デバイス」たとえばブロケード(Brocade)またはマクデータ(McData)によって製造されたスイッチを、意味する。これらのスイッチは、「IPスイッチ」または「ルータ・デバイス」たとえばシスコ(Cisco)によって製造されたものと、混同してはならない。ファイバ・チャネル・ファブリック・デバイスは、SAN50の一体型コンポーネントである。IPスイッチまたはルータが、別個のイーサネット(登録商標)・ネットワーク上に存在していても良い。しかしIPスイッチまたはルータは、ファイバ・チャネルSANの機能的コンポーネントではない。
SAN50において、ファイバ・チャネルまたはiSCSIネットワークが用いられていても良い。他のタイプのネットワークを、実施しても良い。以下の説明では、ファイバ・チャネルを、主な例として用いる場合がある。
SAN50内のノードA〜Oには、記憶アレイ140A、140B、またはコンピュータ・システム/サーバにファイバ・チャネルまたはiSCSIHBA112A〜112C(図2A)がインストールされたものが含まれていても良い。これらは、ファブリック・デバイス150A〜Cに接続されている。SAN50の他の実施形態は、図1におけるコ
ンポーネントに加えてまたはその代わりに、他のコンポーネントを有していても良い。たとえば追加のノード、記憶デバイス、およびファブリック・デバイスである。
サーバおよびHBA
図2Aに、遠隔管理者コンピュータ/サーバ103、1つまたは複数のホスト/ターゲット・サーバまたはコンピュータ・システム110A、110B、および記憶アレイ140A、140Bが、ファブリック100のポートに結合されたものを示す。ファブリック100は、1つまたは複数のスイッチ、ハブおよび/またはルータに結合していても良い。図2Aにおいて、ホスト・サーバ110A、110Bは、ファブリック100と、ホスト・バス・アダプタ(HBA)112A、112B、112Cを介して連絡する。ホスト・バス・アダプタ(HBA)は、たとえばエムレックス(Emulex)株式会社(コス
タ・メサ(Costa Mesa)、カリフォルニア州)によって作製されたファイバ・チャネルHBAおよびiSCSIHBAである。HBA112A〜112Cは、遠隔管理エージェント(RMA)ソフトウェア104A、104B、および104Cを実行するように動作可能である。
各ホスト・サーバ110は、複数のHBAを有していても良い。たとえばホスト・サーバ110Bは、ターゲット/オブジェクトHBA112B(共通トランスポート(CT)管理リクエストの意図されたターゲット)およびプロキシHBA112Cを有していても良い。オブジェクトHBA112Bが利用できない状況の場合には、CTリクエストを、同じサーバ110B上のプロキシHBA112Cに送っても良い。
SAN50の全体に渡ってノードA〜O上にインストールされた各HBA112(図2A)は、設定およびメンテナンス作業を必要としても良い。
図2A〜2Bに、図1のSAN50における遠隔管理クライアント(RMC)102および1つまたは複数の遠隔管理エージェント(RMA)104A、104Bの一実施形態を示す。RMC102およびRMA104は、SAN50内の単一の点(サーバ103)がHBAおよび他のコンポーネントを管理できるようにするソフトウェア・コンポーネントの集まりである。この単一点の管理の(サーバ103)においてRMCアプリケーション102が実行され、その結果、管理機能が得られる。HBA112A、112B、112Cがインストールされた他のノードでは、RMAアプリケーション104A、104B、104Cが実行される。これは、RMCアプリケーション102からの管理リクエストに応答して行なわれる。RMCアプリケーション102から遠隔HBA112A、112Bに、RMC管理命令が、ファイバ・チャネル・ファブリック100を介して発行されても良い。
図2Bでは、RMCアプリケーション102によって命令が、ファイバ・チャネル・ファブリック100上に、デバイス・ドライバ216Aによって設けられたインターフェースを介して、発せられる。遠隔ノードBが命令を受信すると、遠隔ノードB上のデバイス・ドライバ216Bから命令が、RMA104に送られる。
RMC102およびRMA104は一緒に、遠隔管理ユーティリティ(RMU)と呼んでも良い。RMC102およびRMA104は、クライアント/サーバ・アーキテクチャ・モデルを形成しても良い。
遠隔管理者
図2Aでは、遠隔管理者コンピュータ/サーバ103は、HBA112D、RMC102、およびRMA104Dを有していても良い。遠隔管理者103は、ホスト・サーバ110A、110Bのようなコンピュータ・サーバであっても良い。実際には、SAN50
におけるどのサーバ110も、RMCソフトウェア102をロードおよび実行し、また遠隔管理者103として動作しても良い。
RMC102が、グラフィカル・ユーザ・インターフェース(GUI)を伴うアプリケーション302を有することで(図3および図6〜14)、アドミニストレータが、局所的および遠隔のHBA112D、112A、112B、112Cをモニタして、命令を発行するようになっていても良い。たとえば遠隔管理者103は、新しいHBAファームウェア・バージョンまたは更新を、同じSAN50内のHBA112D、112A、112B、112Cの何れかまたは全てに、転送/コピーしても良い。
遠隔管理クライアント102および/またはエージェント104は、ユーザによってインストールされても良い。バンドルド遠隔管理パッケージ(適切なドライバを含む)を、エムレックス顧客用のエムレックス・ウェブ・サイト上でのダウンロードに対して利用できるようにしても良い。遠隔管理コンポーネントには、インストール・プロセスが含まれていても良い。インストール・プロセスによって、HBAドライバおよび要求された全ての遠隔管理者ソフトウェア、ならびにインストール・プロセスおよび動作機能性について説明している「リードミー」ファイルが、インストールされている。HBAドライバ216を、「HBAニィウェア」クライアント102およびエージェント104とは別個に、インストールしてもいい。
遠隔管理クライアント(RMC)
遠隔管理クライアント(RMC)102には、ファイバ・チャネルおよび/またはiSCSIHBAの両方の遠隔管理を与えても良いソフトウェア・コンポーネントの組が含まれていても良い。RMC102は、ファイバ・チャネルまたはiSCSIHBAを有する任意のマシンまたはシステム上に設けられていても良い。
図3は、図1、2A、および2Bにおける遠隔管理クライアント102および他の関連するソフトウェアの一実施形態のブロック・ダイアグラムである。たとえば、ウェブ・ブラウザ312、マイクロソフト管理コンソール(MMC)306、ジャバ・ネイティブ・インターフェース(JNI)319、およびイーサネット(登録商標)・ネットワーク・インターフェース・カード(NIC)334である。図3の遠隔管理クライアント102には、以下の一部または全てが含まれていても良い。シンプル・ネットワーク管理プロトコル(SNMP)アプリケーション304、ネイティブ・アプリケーション310、XMLアプリケーション314、ジャバ・アプリケーション307、MMCプラグ・イン308、XMLパーサ316、XMLページ・サーバ320、ジャバXMLパーサ318、遠隔管理アプリケーション・プログラム・インターフェース(RMAPI)304、HBAAPI324、1つまたは複数のHBA特有の遠隔管理ライブラリ306、IPベースのFC−CTハンドラ328、イーサネット(登録商標)IOCTLインターフェース330、帯域内FC−CTハンドラ308、およびFCドライバ/IOCTLインターフェース332。HBA特有の遠隔管理ライブラリ306には、FCHBA325Bに対するRMAPI、および/またはiSCSIHBA325Aに対するRMAPIが含まれていても良い。
遠隔管理クライアント102の他の実施形態においては、含まれるものが、図3のコンポーネントの全部より少なくても良い。RMC102の他の実施形態においては、図3に示したコンポーネントに加えてまたはその代わりに、他のコンポーネントが含まれていても良い。
RMC102(「クライアント102」とも呼ばれる)によって、最上位のアプリケーション304、310、312、314、307が、遠隔管理ライブラリ326内の機能
に、コンソール命令プロンプトからアクセス可能となっていても良い。クライアント102は、シェル・スクリプト、バッチ・ファイル、または特定のプラットフォーム等価物内からのスクリプト動作において用いるためのものであっても良い。
たとえば、命令ライン・インターフェース(CLI)クライアントは、「コンソール・アプリケーション」である。これは、グラフィカル・ユーザ・インターフェース(GUI)とは対照的に、テキスト・インターフェースを有している。一実施形態においては、3つのクライアント・アプリケーションが、HBAニィウェアクライアント102によって、与えられる。すなわちウィンドウズ(登録商標)GUIアプリケーション、ジャバGUIアプリケーション、およびHBACMDと呼ばれるCLIアプリケーションである。CLIクライアント命令に対する第1のパラメータは、要求された動作であっても良い。指定された動作が完了したらすぐに、遠隔管理者103におけるユーザを、命令プロンプトに戻しても良い。後述するいくつかの動作においては、SAN50上の存在についての情報を取り出して、その情報を管理者コンソール103上に表示しても良い(図6〜14を参照)。
CLIクライアント命令は、命令の種類を指定する1つまたは複数の追加のパラメータを有していても良い。多くのHBACMD命令が用いるパラメータによって、命令のターゲットであるHBAのワールド・ワイド・ノード名が指定される。たとえば、次の命令、
C:\>HBACMD PORTATTRIB 10:00:00:00:c9:20:20:20
によって、指定されるワールド・ワイド・ノード名(WWNN)を有するHBAに対するポート属性が表示される
遠隔管理API(RMAPI)
サード・パーティの互いに別個のソフトウェア開発者/ベンダ(ISV)、たとえばベリタス(Veritas)は、自身の管理アプリケーション(最上位のアプリケーション304、310、312、314、307の1つによって表わされる)を書いて、外部に見えるRMAPI322にアクセスしても良い。RMAPI322によって、局所的および遠隔のホスト・バス・アダプタ112A〜112D(図2A)を管理するためのインターフェースが得られる。RMAPI322のことを「遠隔」管理APIとは言うけれども、API322も同様に、局所的なアダプタを管理することができても良い。
RMAPI322は、異なるプラットフォームおよびオペレーティング・システム(たとえばウィンドウズ(登録商標)NT/2000、ソラリス、AIX、HP−UX、およびリナックス)の間で、たとえばジャバ・アプリケーション307を介して、安定した堅固な遠隔管理インターフェースであっても良く、また任意の環境における任意のHBAに適用可能であっても良い。
RMAPI322は、遠隔管理を希望する遠隔管理者コンピュータ103上の何れかのアプリケーション310、312、314または307によって、動的にロードしても良い。
マイクロソフト・ウィンドウズ(登録商標)環境では、RMAPI322は、ウィンドウズ(登録商標)・ダイナミック・リンク・ライブラリ(DLL)として存在していても良い。種々のユニックス環境の下では、RMAPI322は、共有オブジェクト・ライブラリの形態であっても良い。
RMAPI322は、マルチ・スレッドであっても良い。その結果、複数のアプリケーションが、ライブラリ326に同時にアクセスすることができる。
RMAPI322によって、以下の幅広いカテゴリの管理RMAPI機能が得られる。
指定されるファームウェア画像(ファイル)を、指定されるWWNNを有する局所的および遠隔のHBA112A〜112Dへロードする。ファイルは、クライアント102(図13〜14)にアクセス可能である任意のファイルとすることができる。
局所的および遠隔のHBA112A〜112D(図9〜10)のドライバ・パラメータを取り出して、見て、変更する。
遠隔ドライバを管理およびロードする。
永続的な結合を管理して、維持して、付加する。永続的な結合は、SANアドミニストレータが、SAN50上の物理的なデバイスと、オペレーティング・システムが見る論理デバイスとの間に設ける関係である。本質的には、永続的な結合は、それぞれの物理SANデバイスを論理OSデバイスにマッチングさせるデータの表として存在する。
1つまたは複数のHBA112A〜112Dを、1つまたは複数の指定されるワールド・ワイド・ポート名によってリセットする。
HBA112A〜112DのIEEEアドレスを設定または変更する。
RMAPI322またはクライアント102の特有の機能には、以下のものが含まれていても良い。
HBA診断を実行する。
発見された管理可能なHBA112A〜112Dおよびそれらのワールド・ワイド・ノード名のリストを表示する(図6および7を参照)。
それぞれの指定されるワールド・ワイド・ノード名を有する局所的または遠隔のHBA112に対するHBA属性/パラメータのリストを表示および設定する(図9〜10を参照)。
指定されるワールド・ワイド・ポート名を有する局所的または遠隔のポートに対するポート属性/パラメータのリストを表示および設定する(図11を参照)。
指定されるワールド・ワイド・ポート名を有するポートに対するポート統計のリストを表示する(図12)。
指定されるポートに対するポート統計をゼロにリセットする。
指定されるサーバに対する属性のリストを表示および設定する(図8を参照)。
それぞれの指定されるワールド・ワイド・ポート名を有するポートに対するマッピングされたターゲットのリストを表示する(図6および11を参照)。
指定されるワールド・ワイド・ポート名を有するポートに対するデバイス・ドライバ属性のリストを表示する(図9〜10を参照)。
図15Aは、主要なRMAPI機能カテゴリ、個々のRMAPI機能、およびそれらの
関連するFC−CT命令の一実施形態を示す。図15Bは、HBAAPI機能およびRMAPI機能の例を示す。
クライアント102が行なう機能の多くは、ファイバ・デバイス管理インターフェース(FDMI)機能である。クライアント102が、たとえばHBA属性機能取得を実施する際、クライアント102は、ベンダ・ユニークなGS_タイプ値である0x0Aを用いても良く、FDMI管理サービスに対するFC−GS仕様によって指定される標準的GS値=0xFAでなくても良い。FC−GSとは、ファイバ・チャネル汎用サービスのことであり、これは、ファイバ・チャネル界では良く知られた業界標準仕様である。同様に、FC−CT命令コードは、必ずしも0x0101でなくても良い。
他の機能がユニークであっても良い。またファイバ・デバイス管理インターフェース(FDMI)または相互接続用ファイバ・チャネル方法論(FC−MI)には、実際のモデルは存在しない。一例は、前述したファームウェア・ダウンロード操作である。
RMAPI機能の属性には、標準的なHBAAPI機能のすべて(図15Bおよび付録Bを参照)とともに、前述した追加機能が含まれていても良い。RMAPI322(付録Aのページ6〜25を参照)は、HBAAPI(付録Bを参照)によって得られる局所的な能力を、局所的および遠隔のアクセスの両方を含むように移動させるためのものである。HBAAPI機能は、RMAPI機能のサブセットを表していても良い。
HBA特有のRMAPIライブラリ
一実施形態においては、RMAPI322は、HBA112の特定のタイプに対する別個のRMAPIライブラリ325A、325Bを動的にロードしても良い。たとえば図3において、2つのHBA特有のRMAPIライブラリが存在する。すなわち、ファイバ・チャネルRMAPI(FC−RMAPI)325B、およびiSCSIRMAPI(ISCSI−RMAPI)325Aである。RMAPI322は、アプリケーションから受信した汎用管理リクエストを、適切なライブラリ325へ転送する。これらのHBAタイプ特有のライブラリ325A、325Bは、リクエストに対する処理の大部分を取り扱っても良い。各ライブラリ325によって、管理機能に対するプログラム・アクセスが得られても良い。
RMAPI322は、会社の委員会であるSNIAによって開発された標準的なHBAAPIアーキテクチャのパラダイム(付録B参照)のラッパー・ライブラリ・コンポーネントに、意図的に、ある点で同様であっても良い。
FCHBA(FC−RMAPI)に対するRMAPIライブラリ
FC−RMAPI325Bは、遠隔管理を希望する任意のアプリケーション、たとえばアプリケーション310、312、314または307の1つによって、動的にロードしても良い。FC−RMAPI325Bは、SNIAHBAAPIの核となる機能性、エムレックス・ライトパルス(LightPulse)ユーティリティと新しい機能の組とを結合して、単一の凝集したアプリケーション・プログラム・インターフェースにしても良い。局所的または遠隔に配置された任意のHBA112を、FC−RMAPI325Bを介して管理可能であっても良い。
FC−RMAPIライブラリ325Bは、RMAPI322から管理リクエストを受領し、リクエストを適切な遠隔または局所的なHBA112へ送出するために用意する。FC−RMAPI325Bは、ファイバ・チャネル汎用サービス(FC−GS)の共通トランスポート(CT)プロトコル層を用いて、管理リクエストをHBA112A〜112Dへ伝達しても良い。
FC−CT命令
FC−RMAPI325Bは、RMAPI管理機能を、対応するFC−CT命令にマッピングするように動作可能である(図15Aに図示する)。場合によっては、1対1の対応関係が、RMAPI機能とFC−CT命令との間に存在しても良い。
拡張FC−CT命令の特定の組を、FC−RMAPI325Bに対して形成しても良い。図24に、ベンダ・ユニークなFC−CT命令コードの例を示す。
標準的なCT命令の組を、以下の幅広いカテゴリの機能を行なう命令によって、拡張しても良い。
ファイル・リソース(たとえば、ファームウェア画像)を、HBAへ送信/ダウンロードする(図13〜14参照)。
遠隔ファイル・リソースを取得する。
起動バイオス状態を設定する。起動バイオスをイネーブル/ディスエーブルする。
HBAファイル、すなわち、ファームウェア・ファイル、ドライバ・ファイル、ライブラリ・ファイルを管理する。
HBA属性、ポート属性統計およびドライバ・パラメータを、取り出して変更する(図9〜12を参照)。
デバイス特有の動作たとえばファームウェア・ファイルのダウンロード(図13〜14参照)、ドライバのインストール、およびHBAのリセットを開始する。
HBAAPI適合性の情報を遠隔HBAから取り出す。
図3のデバイス・ドライバ332は、FC−CT命令パケットを、ファブリック100を介して送信されるべき共通トランスポート情報単位(CT_IU)リクエスト内に配置する。ファブリック・デバイスは、SAN50の絶対に必要なコンポーネントというわけではない。HBAニィウェア命令が遠隔HBAに送られる。HBAニィウェア命令は、ルート内のファブリック・デバイスを通過しても良い。共通トランスポート情報単位に対する略語は、ファイバ・チャネル標準では具体的に「CT_IU」と呼ばれているが、本明
細書においては「CT IU」、「CTIU」、および「CT−IU」と呼ぶこともある。こうして、3つのレベルの命令/機能/ルーチンが存在する。(a)RMAPI機能、(b)FC_CT命令、および(c)CT_IUリクエスト(IOCTL機能/ルーチン内に配置される)。
前述したように、ソフトウェア会社は、RMAPI機能にRMAPI322(図3)を介してアクセスするソフトウェア・アプリケーションを開発しても良い。一方でデバイス製造業者は、ハードウェア・デバイス、たとえばスイッチまたはRAID記憶デバイスを、ソフトウェア・ライブラリにアクセスしないがその代わりにCT命令を直接用いるファブリック100に対して、開発しても良い。したがって、遠隔管理を行なうためにサード・パーティ会社がアクセスしても良い可能なインターフェースが2つ存在する(RMAPI322およびCT命令)。
本明細書で説明したFC−CTプロトコル・アプリケーションに適応するために、既存
のCT標準に対して多少の拡張を行なっても良い。たとえば、FC−CTリクエストの受取人が、良く知られたファブリック・アドレス、たとえば名前サービスまたは時間サービスなどのサービスであっても良い。ファイバ・チャネル・ファブリック・デバイス19は、サービスの組をSAN50に提供しなければならない。他のSANデバイスは、これらのサービスの特徴にアクセスすることを、これらのサービスが有するように要求されている良く知られたファイバ・チャネル・アドレスに命令を出すことによって、行なっても良い。FC−RMAPI325Bは、FC−CTリクエストを、特定のターゲット、たとえばファイバ・チャネル100上のデバイス・ポートの特定のワールド・ワイド・ポート名(WWPN)に、送っても良い。意図されたターゲット・アドレスを、FCCTリクエスト・ヘッダ内に挿入しても良い。
以下、FC−CTおよびCT_IUについての詳細な説明を、クライアント102およびエージェント104の他のコンポーネントについて説明した後で、行なう。
帯域内および/または帯域外トランスポート
CTリクエストは、帯域内でファイバ・チャネルを介して、または帯域外でイーサネット(登録商標)を介してトランスポート可能であっても良い。たとえば、FC−RMAPI層325Bの下に直接、3つのインターフェースがあっても良い。すなわち、帯域外通信用のIPベースのFC−CTハンドラ328、帯域内FC−CTハンドラ330、およびファイバ・チャネル・デバイス・ドライバ/IOCTLインターフェース332である。FC−RMAPI層325Bは、管理リクエストを、帯域内FC−CTハンドラ330または帯域外IPベースのFC−CTハンドラ328に転送する。転送先は、どちらのトランスポート媒体を選択するかに依存する。すべての遠隔管理リクエストを、帯域外IPベースのFC−CTハンドラ328または帯域内FCCTハンドラ330を通して、ルーティングしても良い。すべての局所的なHBA管理リクエストを、デバイス・ドライバ/IOCTLインターフェース332まで、ルーティングしても良い。
ハンドラ328、330およびインターフェース330、332は、適切なヘッダを命令パケットに付加しても良く、またリクエストが適切な媒体を介して送られていることを確実にしても良い。
iSCSIHBA(ISCSI−RMAPI)に対するRMAPIライブラリ
ISCSI−RMAPIライブラリ325Aは、RMAPI322から管理リクエストを受領し、リクエストをSAN50などのIPストレージ・ネットワーク上の適切な遠隔の存在に送出するために用意する。
ISCSI−RMAPIライブラリ325Aは、以下の管理命令をiSCSIプロトコルに適した仕方で、パッケージして送ることが可能であっても良い。
HBA属性を取り出す。
ファイル・リソースを送る(たとえば、ファームウェア画像をHBA112へ)。
ファームウェアをダウンロードする。
遠隔ファイル・リソースを取得する
起動バイオス状態を設定する。
帯域内FC−CTハンドラ
帯域内FC−CTハンドラ330は、帯域内FC−CTHBA管理リクエストの送信を
担っている。帯域内FC−CTハンドラ330は、完全に指定されたFC−CTIUを入力として受信し、必要に応じて、ファイバ・チャネル100を介してトランスポートするために封入する。帯域内FC−CTハンドラ330は、たった一つのインターフェース・エントリ・ポイント、「管理命令送信」を有していても良い。このポイントを通して、RMAPI322が、管理リクエストを含むFC−CTIU、および応答CT_IUを受信するホスト・メモリ内のバッファの場所を送る。これは、応答を受信するかまたはリクエストが時間切れになるまで阻止される同期ルーチンであっても良い。
IPベースのFC−CTハンドラ
IPベースのFC−CTハンドラ328は、IPベースのFC−CTリクエストに対する封入層である。IPベースのFC−CTハンドラ328は、完全に指定されたFC−CTIUを入力として受信し、イーサネット(登録商標)130を介してトランスポートするために適切なIPヘッダによって封入しても良い。
ジャバ・ネイティブ・インターフェース
一般に、ジャバ・ネイティブ・インターフェース層319は、ジャバ・アプリケーション307に、「ネイティブ」ルーチンを呼び出す能力を与える。「ネイティブ」ルーチンは、コードが実行されているプラットフォーム・タイプに対して具体的にコーディングされるルーチンである。具体的には、ジャバ・ネイティブ・インターフェース層319を用いて、ジャバ遠隔管理アプリケーション307と遠隔管理API(RMAPI)322との間をインターフェースする。遠隔管理API(RMAPI)322は、ネイティブCコードで書かれていても良い。
ジャバ・ネイティブ・インターフェース319を所定の位置に配置することには、実際のコーディング作業自体は含まれていなくても良い。RMAPIダイナミック・ライブラリ内のルーチン(ウィンドウズ(登録商標)環境におけるDLL、またはユニックス環境における共有のオブジェクト・ライブラリ)を、対応するジャバ・クラスにマッピングしても良い。これは、利用可能な自動化されたツールに加えて多少の変更を用いることによって、かなり迅速に行なっても良い。
XMLページ・サーバ
ウェブ・ブラウザおよび他のXML適応型アプリケーションには、管理されたコンポーネントから戻った情報を、XML対応のドキュメントに変換するオプションが含まれていても良い。XMLは、情報交換用に広く使用される標準になりつつある。データをXMLドキュメントの形態で与える利点は、ウェブ・ブラウザおよび他のXML適応型アプリケーションによって、容易に統合されて扱われることである。
XMLページ・サーバ320を通して、アプリケーション310、312、314が、たとえば遠隔HBAのポート統計表(図示せず)を含むXMLドキュメントを、リクエストできても良い。XMLページ・サーバ320は、要求されたデータをRMAPI322を介して取り出し、RMAPI322からフェッチされたデータを用いてXMLドキュメントをアセンブルし、およびXMLドキュメントをアプリケーション310、312または314に戻す。
XMLパーサ
1つまたは複数のXMLパーサ316を用いて、XMLドキュメントを翻訳しても良い。XMLパーサ316は、XMLドキュメントを走査して、ドキュメントを、アプリケーション310、312または314が利用可能なフォーマットにする。XMLパーサの多くは、広く入手できる。
ジャバXMLパーサ
RMC102がジャバおよびXMLの両方をサポートする場合には、ジャバ・アプリケーションに対して具体的にデザインされたXMLパーサ318があっても良い。広く入手できるジャバ用のXMLパーサはいくつかある。たとえば「ジャバ用XML」である。
XMLアプリケーション
XMLドキュメントに対応できるアプリケーション314を「XML適応型」と呼んでも良い。たとえば、ウェブ・ブラウザ(ネットスケープまたはインターネット・エクスプローラ・バージョン5.0以降)は、XML適応型アプリケーションである。
ネイティブ・アプリケーション
エムレックスによって開発される各プラットフォームは、局所的なHBA管理に対するネイティブ・アプリケーション310を有していても良い。遠隔管理に対して設けられる機能の多くは、局所的な管理に対する機能と同様であっても良い。ネイティブ・アプリケーション310は、これらの局所的なHBA管理ルーチンを拡張して、遠隔操作を扱えるようにしても良い。
ジャバ・アプリケーション
ジャバ・アプリケーション307は、利点として、コード移植性およびクロス・プラットフォーム保全性を有していても良い。加えて、ジャバ・アプリケーション307は、外観および感触が、すべてのプラットフォームに渡って一貫していても良い。「ジャスト・イン・タイム」(JIT)コンパイラを用いて、バイトコードを、実行時にマシン・ネイティブ・コードに翻訳しても良い。
リポジトリ
複数のFC−RMAPI機能が、遠隔サーバ110A、110B上に配置されたファイル上で動作しても良い。たとえば、クライアント102からのファイル(たとえば、ファームウェア)を遠隔サーバ110へ送って、遠隔サーバ110上の既存のファイル名を変更し、および遠隔サーバ110上で利用可能なファイルのリストを取り出す、という要求があっても良い。このような操作を行なうために、ファイルを、局所的および遠隔のホスト・サーバの両方103、110A、110B上の予め規定された場所に配置しても良い。
特別なリポジトリ340(図3)を用いて、2つのホスト間で転送されるファイルを保持しても良い。リポジトリ340には、ホスト・マシンのディスク上のディレクトリが含まれていても良い。これらのファイルは通常は、HBAにダウンロードすることが意図されるファームウェア画像である。
HBAファイルを遠隔サーバ110へ送ることが可能となる前に、まずファイルを局所的なリポジトリ340内へインポートしなければならない。と言うのは、これが、動作に対する暗黙の出発点であるからである。同様に、HBAファイルを遠隔サーバ110へ送った後で、そのファイルが、目標とした遠隔ホスト・サーバ110のリポジトリ450(図4)内に存在していても良い。
リポジトリ340、450のさらなる特徴は、そこに含まれるHBAファイルの名前が、ウィンドウズ(登録商標)・ベースであろうとユニックス・ベースであろうと任意のホスト・アプリケーションのファイル・システムによってファイルを管理できるようなものであることである。したがって、HBAファイルをリポジトリ340、450内へインポートすることには、ファイル名を、すべてのOSプラットフォーム上で構文的に容認できるフォーマットに変換することも含まれていても良い。
リポジトリによる遠隔ダウンロード
図22に、ファームウェアまたはデバイス・ドライバを遠隔サーバにダウンロードする方法を示す。ファームウェア・ファイルが局所的なホスト103上に配置される。局所的なホスト103は、そのファイルをコピーして遠隔サーバ110上のアダプタ112にインストールすることを希望する。
ブロック2200では、クライアント102が、HBAファイルを、局所的なリポジトリ340(図3)へインポートする。ファイルのインポートが、それ以前の操作の代わりに行なわれていた場合には、このステップは不必要である。
ブロック2202では、クライアント102は、ファームウェア・ファイルが、ファイルを受信するべき遠隔アダプタ112と適合することを確認する。ファームウェア・ファイルが適合し得るのは、ファイルが良好なチェックサムを有して、そのタイプがアダプタ・タイプとマッチングする場合である。
ブロック2204では、いったん適合性が確認されたら、ファイルを、ターゲット・アダプタ112がインストールされる遠隔ホスト110へ送る。遠隔ホスト110がファイルを受信したら、ファイルをそのホスト110のリポジトリ450へコピーする。
ブロック2206では、遠隔サーバ110がファイル・ダウンロード命令を受信する。ファイル・ダウンロード命令は、遠隔サーバ110に、そのリポジトリ450内にあるファームウェア・ファイルを、指定されるアダプタ112上にインストールすることを命令するものである。
IOCTLインターフェースおよびIOCTL機能
ドライバIOCTLインターフェース332は、SAN50のコンポーネントに対して、同様にRMAPI322にアクセスするソフトウェアに対して、透明であっても良い。IOCTLインターフェースは、その性質そのもののために、ベンダー・ユニークで、移植性がなく、またどんな業界標準にも適合しない。HBAニィウェアクライアント102またはエージェント104(図2B)は、IOCTL命令をドライバ216に発行して、クライアント102またはエージェント104が必要とする情報を得る。しかしRMAPIインターフェース322および/またはCTインターフェース325Bは、このインターフェース332を、任意の外部パーティから取り出す。
図3および4における1つまたは複数のプラットフォーム・デバイス・ドライバ332、400を拡張して、IOCTL機能の新しい組を得ても良い。これらのIOCTL機能/ルーチンによって、ファイバ・チャネル・ネットワーク上の別個のノード間で管理命令および応答(たとえば、遠隔サーバ110に対する応答)を送信すること、および遠隔サーバ110から管理応答を受信することに対するメカニズムが得られても良い。たとえば、IOCTLによって得られるメカニズムとして、遠隔管理者クライアント102におけるデバイス・ドライバ332に通知してCTリクエスト(命令)を遠隔サーバ・エージェント104に送信し、およびその命令に対する応答を遠隔サーバ・エージェント104から受信するためのものであっても良い。
ノードは、FC共通トランスポート・シーケンスとして送信される命令のベンダ・ユニークなセットを用いて、互いに連絡し合う。これらのIOCTLルーチンは、デバイス・ドライバによって、またはデバイス・ドライバに密接に結ばれた診断ライブラリによって、得られる。
以下のIOCTL命令セットによって、ノードは、クライアント・ノード103もしくはサーバ・ノード110として、またはクライアント・ノードおよびサーバ・ノードの両方として同時に、機能することができる。クライアント・ノードは、管理リクエストをいつ発行しても良い。またサーバ・ノードを、非請求の管理リクエストに応答するように用意しなければならない。
FC共通トランスポートによって、リクエストおよび応答メカニズムが得られる。クライアント・ノード103は、管理リクエストを、共通トランスポート情報単位(CT_IU)の形態で発行する。このCT_IUには、ファブリックのD_ID、リクエストを受信するべきノード110のWWPN(HBAニィウェア命令が特定のHBA112に、そのHBA112のWWPNを用いてアドレス指定される)、リクエスト命令コード、リクエストによって要求されるパラメータ、および付随する任意のペイロード・データが、含まれる。各リクエストの結果、遠隔ノード110から、CT_IUの形態で受領応答または拒絶応答が得られる。受領応答IUには、ステータス・データと命令に付随するペイロード・データとが含まれる。拒絶応答IUには、拒否理由を示すエラー情報が含まれる。
付録Cに、FC−CT命令をトランスポートするために用いても良いIOCTLルーチン/機能の例がリストされている。
CT事象登録
CT事象登録((ボイド*)(コールバック_機能)(CTPKT* ctPkt、UINT ctサイズ))と呼ばれるIOCTL機能によって、コールバック・ルーチンを登録しても良い。コールバック・ルーチンは、エージェントの遠隔命令モジュール410が遠隔管理命令を受信する度に、デバイス・ドライバ400(図4)によってディスパッチされる。FC−CT遠隔命令モジュール410Aは、このコールバック・ルーチンを呼び出して、遠隔命令の受信を可能にする。
ホスト・サーバ110が、CT事象登録IOCTLを用いて、FC−CT管理命令を受信したときにサーバ110が通知を受けたい旨をデバイス・ドライバ400に通知しても良く、また機能呼び出し(これにより、デバイス・ドライバ400がそうしても良い)などのメカニズムを実現しても良い。
帯域内FC−CT遠隔命令モジュール410Aは、ドライバ400に、そのCT事象登録IOCTLを介して登録して、コールバック・ルーチンを実現する。入ってくる命令をドライバ400が受信すると、このコールバック・ルーチンが命令を帯域内FC−CT遠隔命令モジュールに送る。帯域内FC−CT遠隔命令モジュールは、命令をRMAカーネル命令ディスパッチャまたはディスパッチ・ルーティング412に送る。
CT事象登録ルーチンによって、管理リクエストが到着したことをサーバ・アプリケーション(エージェント)104に知らせるためのデバイス・ドライバ400(図3)の手段が得られる。サーバ・アプリケーション104は、CT事象登録ルーチンを一度呼んで、将来のリクエストの通知を受信するという自身の希望を登録し、および通知を受信するための手段として呼び出されるコールバック・ルーチンを指定する。
サーバ・アプリケーション104がCT事象登録を呼んだ後で、ドライバ400が、入ってくる各リクエストに対して、コールバック・ルーチンを一度呼び出す。コールバック・ルーチンは、入ってくるCTリクエストに対するポインタと、デバイス・ドライバ400によって割り当てられたユニークなタグ値とを、受信する。このタグをドライバが用いて、この命令をその後の応答に関連付ける。
CT事象登録解除
ホスト・サーバ110は、CT事象登録解除と呼ばれる他のIOCTL機能を用いて、CT事象の登録を解除しても良い。CT事象登録解除ルーチンは、以前のCT事象登録呼び出しのコールバック効果をサーバ・アプリケーション104がキャンセルできるように、設けられている。
管理命令送信および管理応答送信
管理命令および管理応答を送信するための2つのIOCTL機能は、管理命令送信(UINT32アダプタ、UCHAR*destWWN、CTPKT*cmdPkt、UINTcmdサイズ、CTPKT*rspPkt、UINTrspサイズ、UINT32タグ)、および管理応答送信(UINT32アダプタ、UCHAR*destWWN、CTPKT*rspPkt、UINTrspサイズ、UINT32タグ)と呼ばれる。管理命令送信の目的は、クライアント102からの管理命令を、エージェント104へ送信することである。管理応答送信の目的は、エージェント104からの管理応答を、クライアント102へ送信することである。これらの命令および応答は、FC−CTを介して、伝えても良い。
管理命令送信によって、特定のワールド・ワイド・ポート名を対象にすることができる命令を送るためのHBAAPIのCT通過メカニズムの変形が得られても良い。エージェント104におけるFC管理サービス130Aが、この機能を用いて、クライアント102からの遠隔命令に応答しても良い。
管理命令送信ルーチンは、遠隔宛先ノード110にリクエストを送るように要求されるすべてのタスク(たとえば、リクエストを完全にするために要求される何らかのログイン行為)を担っている。管理命令送信ルーチンは、ブロッキング同期機能であっても良い。この機能は、遠隔ノードがリクエストに、受領または拒絶CT_IUによって応答するまで、ステータスを戻さない。管理命令送信ルーチンの機能性は、HBAAPIライブラリによって与えられるHBACT送信通過ルーチンに非常に似ていても良い。
RMAPI322は、管理リクエストを含むCT_IU構造を構築する。管理リクエストのターゲットは、管理命令送信ルーチンのターゲットWWWパラメータによって指定される。命令は、ドライバによって、管理命令送信ルーチンのdestWWNフィールド内で指定されるアダプタ112にルーティングされていなければならない。CT_IUのGS_タイプおよびGS_サブタイプ・フィールドにはどんな値が含まれていても良く、またこのドキュメント内で指定されるルーチンは、これらのフィールドを構文解析しようとしてはならない。
サーバ・アプリケーション104は、いったん管理リクエストを受信したら、管理応答送信ルーチンを用いて応答を発行することができる。サーバ・アプリケーション104によって、応答を含むCT_IU構造が構築される。管理応答送信ルーチンに対するパラメータには、この応答構造に対するポインタ、および応答される管理リクエストのユニークなタグが含まれる。このタグによって、デバイス・ドライバ400は、入ってくるリクエストのXRIに応答を関連付けて、交換を適切に終了できるようにすることができる。
ユーザ・モード・アプリケーション104の関数を呼び出すデバイス・ドライバ400の能力に関する詳細は、オペレーティング・システムごとに、およびデバイス・ドライバ・モデルごとに、大きく異なっていても良い。コールバック・ルーチンを実際に呼び出すコードは、デバイス・ドライバ400と別個であっても良い。
ソラリス環境では、libdfcライブラリによって、ユーザ・モードで実行される別
個のコンポーネントがすでに得られるため、コールバック特徴に対するサポートには、このライブラリを拡張することが含まれていても良い。マイクロソフト・ドライバ・プラットフォームは、より複雑となる可能性がある。と言うのは、ポート・ドライバまたはミニポート・ドライバには、標準的なユーザ・モード・コンポーネントがなくても良いからである。ドライバ・レベル・サポートでは、新しいソフトウェア・コンポーネント(たとえばカーネル・モードDLL、ユーザ・モードDLL、フィルタ・ドライバなど)を加えることが要求されても良い。これらの詳細は、FC−CT命令セットによって与えられる抽象層の背後に隠されていても良い。
FC−CT命令セットでは、仮定として、CT事象登録ルーチンを実現するコードが、入ってくる管理命令に対してバッファを割り当てることができおよびバッファ・ポインタをコールバック・ルーチンに送ることができると、されていても良い。このモデルによって、バッファをコピーすることが最小限に抑えられる。他の実施形態においては、サーバ・アプリケーション104がバッファ割り当てを担うように、モデルを変更しても良い。
タグ・メカニズムは、デバイス・ドライバ400が、入ってくる管理リクエストの交換コンテキストを保存して、その後の応答がこのコンテキストを使用できるように、するためのものである。
効果的な命令タイムアウト・メカニズムが、非常に長い操作(ファームウェア・ダウンロードのような)に適応して、別個のCPU間のプロセス・デッドロック状況を回避しても良い。
デバイス・ドライバ400は、複数のクライアント・アプリケーション102からの同時の管理リクエストに適応することができても良い。
このFC−CT命令セットを用いる管理アプリケーションが、セキュリティを目的とする認証されたCTシーケンス用いるために、必要とされても良い。FC−GS3において指定される88バイトの拡張プリアンブルを、送信されるすべてのシーケンスに対して用いても良い。
遠隔管理エージェント(RMA)
図1における遠隔管理エージェント104A〜104Dを、各サーバ110、103において局所的にロードしても良い。サーバ110A、110Bにおける既存のホスト・ドライバを、HBA112A〜112D間の新しい関係をサポートするように変更しても良い。たとえばSANネットワーク100上のサーバ110は、非請求のメッセージを他のサーバ103から受信しても良く、またメッセージがネットワーク100上の遠隔管理者103からであることを決定できなくてはならない。
図4に、ファイバ・チャネル102、ホスト・バス・アダプタ(HBA)112、デバイス・ドライバ/IOCTLインターフェース400、遠隔管理エージェント(RMA)104、およびイーサネット(登録商標)130の一実施形態を示す。遠隔管理エージェント104には、複数の遠隔命令モジュール410A〜410D、遠隔管理エージェント・カーネル418、複数のプロトコル管理者モジュール(PMM)420A〜420C、および複数の管理サービス430A〜430Dが、含まれていても良い。エージェント104の他の実施形態には、図4に示すコンポーネントの代わりにまたはこれに加えて、他のコンポーネントが含まれていても良い。
一般的に、遠隔管理エージェント(RMA)104は、遠隔の存在たとえばクライアント102から管理命令を受信して、これらの命令を、実行させるために適切な管理サービ
ス130に送っても良いソフトウェア・コンポーネントの集まりである。RMA104は、遠隔管理すべきハードウェア・デバイスを有するどんなホストCPU上にインストールされていても良い。RMA104は、ソフトウェア・コンポーネントを継続的に実行していても良い。RMA104を、ウィンドウズ(登録商標)NTサービスとして、またはユニックス・デーモンとして、実現しても良い。
図5に、図4のRMA104の使用方法を示す。ブロック500では、初期化時に、RMAカーネル418は、カーネル418が管理命令を受信することができる1つまたは複数の通信経路のイネーブルを試みる。これらの経路はそれぞれ、帯域内ファイバ・チャネル共通トランスポート(FC−CT)、帯域外IPベースのFC−CTまたはIPベースのSNMPなどの単一の管理プロトコルに対する管理命令を、非請求に受信することをサポートする。RMA104は、遠隔命令を受信するための任意の数の経路をサポートするために、RMA104によって、(a)複数管理プロトコルを同時に取り扱うこと、または(b)複数供給源からの単一の管理プロトコルを同時に取り扱うことが、可能になる。
遠隔命令モジュール
RMA104は、管理命令を複数の経路から、動的にロード可能な遠隔命令モジュール(RCM)410A〜410Dを通して、受信しても良い。各遠隔命令モジュール410は、単一のプロトコルの非請求の遠隔管理命令を、単一の経路から受領しても良い。「経路」は、デバイス・ドライバ400に対するインターフェース、またはファイバ・チャネル、イーサネット(登録商標)、もしくは何らかの他のトポロジを送信方法として用いるネットワーク・インターフェース・カードであっても良い。「経路」は、他のソフトウェア・コンポーネント、たとえば局所的なアプリケーションに対するインターフェースであっても良い。登録済みのRCM410はそれぞれ、遠隔管理命令を受信するために適切なハードウェアおよび/またはソフトウェアとインターフェースするように、動作可能である。
たとえばあるRCM410Aが、帯域内ファイバ・チャネル共通トランスポート(FC−CT)管理命令を、経路402を介して受信しても良い。別個のRCM410Bが、帯域外インターネット・プロトコル(IP)FC−CT管理命令を受信しても良い。RMAアーキテクチャ104を非ファイバ・チャネル製品にまで拡張するために、追加のRCMが、異なる管理プロトコルにサポートしおよび/または異なる経路上の命令にアクセスしても良い。
ブロック502では、RCM410が、遠隔管理命令を受信して、命令をRMAカーネル418に送る。RMA104は、複数の管理プロトコルを、複数の動的にロードされるプロトコル管理モジュール(PMM)420A〜420Cを用いることによって、サポートする。
ブロック504では、RMAカーネル418が、命令をPMM420に送る。概念的には、RMAカーネル418は、命令ディスパッチャであっても良い。
プロトコル管理者
1つまたは複数のPMM420A〜420Cをロードして、1つまたは複数の所望する管理プロトコルをサポートしても良い。各プロトコル管理者420は、単一の遠隔管理プロトコルに対して命令を処理する動的にロード可能なモジュールであっても良い。
各プロトコル管理者420によって、プロトコル管理者の特定のプロトコルの遠隔命令設定(パラメータ取り出しなどの遠隔命令を有する)に対する完全なサポートが得られても良い。あるいは、各プロトコル管理者120によって、1つまたは複数の管理サービス
430へのルーティング・サービスが得られても良い。管理サービス430は、プロトコルの管理命令セットのサブセットをサポートするものである。
またプロトコル管理者120によって、命令を管理サービス130へルーティングする前に、特定のプロトコルのすべての命令に適用される汎用サービス層が得られても良い。このようなサービスには、認証またはデータ圧縮が含まれていても良い。
FC−CTプロトコル管理者420Aまたは管理サービス444の1つが、認証を担い、入ってくる命令の有効性をCTヘッダの拡張プリアンブルの内容に基づいて決定し、および無効な命令を廃棄しても良い。CT命令がホスト・ノード103上に形成されると、認証データが、命令を指定するCT_IUの拡張プリアンブル内に配置される。この命令を受信すると、FC−CTプロトコル管理者420Aまたは遠隔CTサーバ430は、拡張プリアンブルの内容を調べて、認証データの有効性を決定する認証データが無効であると考えられる場合には、命令は無効であると考えられる。認証を、CTキー・サーバ430Cまたは他のセキュリティ・コンポーネントを用いることによって、拡張しても良い。
ブロック506では、各PMM420は、特定のプロトコルの非請求の管理命令を取得すること、および命令を適切な管理サービス430へディスパッチすることを、担っている。比較的単純な管理プロトコルに対するPMM420が、命令自体を実行しても良い。より複雑な管理プロトコルに対するPMM420が、第2層のディスパッチャとして機能する可能性があっても良い。第2層のディスパッチャは、命令を、その下にあるプロトコルについての知識に基づいて解釈して、複数の管理サービス・モジュール(MSM)430A〜430Dの1つを呼ぶ。
たとえばFC−CTプロトコルPMM420Aが、FC−CTFCMSM430A(エムレックス株式会社(コスタ・メサ、カリフォルニア州)製)を呼んでも良い.またFC−CTプロトコルPMM420Aは、ディレクトリ・サーバ430B、キー・サーバ430C、または何らかの他のCTサーバ430Dを呼んでも良い。
管理サービス
ブロック508では、各MSM430が、管理サービスのサブセットをその特定のプロトコルに対して与える。たとえば、FC−CTプロトコル管理モジュール420Aは、CT命令を、複数のCTサービス430A〜430Dの1つに対して、CT命令(エムレックス特有またはFC−GS標準に従って)内のGS_タイプおよびGS_サブタイプ・フィールド(エムレックス特有または標準)にディスパッチする。複数の管理サービス・モジュール430が望ましい場合もあるが、一実施形態においては、少なくとも単一のFCMSM430Aが、エムレックス特有の遠隔管理CT命令をサービスする。一実施形態においては、管理サービス444が、FC−GS標準のGS_タイプおよびベンダ・ユニークなGS_サブタイプによって、実現される。この実施における特定の命令が、ベンダー・ユニークである。他の実施形態においては、標準のFC_GSサービスを、仕様内の命令セットを用いて実施しても良い(たとえば後述するようにキー・サーバ430Cまたはディレクトリ・サーバ430B)。他の実施形態では、ベンダー・ユニーク・サービスを、さらなるベンダー・ユニークGS_サブタイプ値を用いて実施しても良い。
またディレクトリ・サーバMSM430Bを、サポート・ファブリック・スイッチがない場合の発見をサポートするために実施しても良い。さらなるプロトコル管理モジュール420(およびおそらくはさらなる管理サービス・モジュール430)によって、RMAアーキテクチャ104を、非ファイバ・チャネル製品まで拡張することができる。
RMAカーネル
RMAカーネル418は、非請求の管理命令を遠隔命令モジュール410A〜410Dから受信した後、これらの命令を適切なプロトコル管理者420にディスパッチしても良い。RMAカーネル418は、遠隔命令を受信する特定の仕方を知らなくても良い。特定のプロトコルの実施詳細は、RMAカーネル418と関連性がなくても良い。
その代わりに、RMAカーネル418によって、1つまたは複数の遠隔命令モジュール410A〜410Dがそれらの、入ってくる遠隔命令をルーティングする能力を登録するための方法が与えられても良い。またRMAカーネル418によって、1つまたは複数のプロトコル管理者420A〜420Cがそれらの、遠隔命令を受領する能力を登録するための方法が与えられても良い。RMAカーネル418には、遠隔命令を少なくとも1つの動作中の遠隔命令モジュール410から受信する少なくとも1つの動作中の管理者420がなければならない。
各プロトコル管理者420は、コールバック・ルーチンをRMAカーネル418に与えることによって、RMAカーネル418に登録しても良い。適切なプロトコルの遠隔命令が、ドライバ400によって受信されて、RMAカーネル418に送られたときに、コールバック・ルーチンは、RMAカーネル418によって呼び出される。カーネル418によって、以下のようなルーチンまたは機能が得られても良い。
RMA登録プロトコル管理者(ボイド*(コールバック_機能)(パラメータ−リスト))
「ルーチン」は一般的に、命名されたコード・ボディとして定義しても良い。「ルーチン」および「機能」は、本明細書で用いる場合、同義語であっても良い。コールバック・ルーチンおよび機能は一般的に、ソフトウェア技術の当業者によって理解され得る。コールバック・ルーチンのコンセプトは、以下の通りである。すなわち、あるコード・ボディ(たとえば、クライアントGUIアプリケーション302)は、その命名された機能の1つ(「コールバック・ルーチン」)が、ある将来の事象(デバイス・エラーのような)の発生時に、他のコード・ボディ(たとえば、RMAカーネル418)によって呼び出されることを、リクエストすることができる、ということである。この例では、クライアントGUIアプリケーション302は、デバイス・エラーを検出する能力自体は持たないが、エラーの視覚的なインディケータを表示する必要がある。RMAカーネル418は、このようなエラーを検出することができる。したがって、外部のコード・ボディ(クライアントGUIアプリケーション302)は、コールバック・ルーチンをRMAカーネル418に「登録する」。すなわちクライアント・アプリケーション102は、パス・コールバック・ルーチンのアドレスをRMAカーネル418へ送る。RMAカーネル418がデバイス・エラーを検出すると、RMAカーネル418はアドレスを用いてコールバック・ルーチンを呼び出す、すなわちクライアント・アプリケーション102へ「コール・バック」する。コールバック・ルーチン・コンセプトをこのRMAカーネル418の領域で用いることで、プロトコル管理者420は、カーネル418が命令を受信すると呼び出されるコールバック・ルーチンを登録することができる。
コールバック・ルーチンに対するパラメータによって、入ってくる遠隔命令に対するポインタが与えられても良い(ポインタは、入ってくる遠隔命令を含むメモリ場所のアドレスである)。
各遠隔命令モジュール410は、RMAカーネル418に同様の仕方で登録しても良いが、コールバックの役割を反対にしても良い。RMAカーネル418によって、それぞれの登録済み遠隔命令モジュール410に対してコールバック・ルーチンが与えられる。RCM410は、コールバック・ルーチンを、RCM410が遠隔命令をその経路を介して受信する度に、呼び出しても良い。RMAカーネル418によって、以下のような機能が得られても良い。
RMA_登録遠隔命令モジュール((ボイド*)RMA_RCMコールバック機能())
RCM410が遠隔管理命令をその経路を介して受信すると、RCM410はRMA_RCMコールバック機能を呼んで、入ってくる遠隔管理命令にポインタを送る(ポインタ入ってくる遠隔管理命令を含むメモリ場所のアドレスである)。コールバック・ルーチンは命令を送って、RMAカーネル418のルーチン412をディスパッチする。
ディスパッチ・ルーチン412は、命令を、登録済みプロトコル管理者420と関連付けようと試みる。関連付けられたプロトコル管理者420がRMAカーネル418に登録されると、ディスパッチ・ルーチン412は命令をプロトコル管理者420へ、プロトコル管理者の登録済みコールバック・ルーチンを介して送る。
ディスパッチ・ルーチン412が、遠隔命令を登録済みプロトコルと関連付けることができない場合には、遠隔命令は廃棄される。
各プロトコル管理者420を、RMAカーネル418に、RMA_登録プロトコル管理者ルーチンを介して登録しても良い。また各プロトコル管理者420によって、コールバック・ルーチンが、このRMA_登録プロトコル管理者ルーチンに与えられても良い。
GUI例
図6は、遠隔管理者103においてクライアント102によって与えられ得るアプリケーション・ウィンドウ600の一実施形態のスクリーン場面である(「HBAnywhereユーティリティ」)。ウィンドウ600に示されているのは、ファイル・メニュー604、ビュー・メニュー606、アダプタ・メニュー608、ヘルプ・メニュー610、再発見ボタン612、リセット・ボタン614、ホスト・ソート・ボタン614、ファブリック・ソート・ボタン616、局所的HBAのみボタン618、およびヘルプ・アイコン620である。
ユーザが再発見ボタン612をクリックすると、クライアント102が発見プロセスを開始する。ユーザが局所的HBAのみボタン618をクリックすると、クライアント102は、発見を局所的なホストCPUのみに限定する。
ユーザがリセットするボタン614をクリックすると、クライアント102は、選択されたアダプタ112をリセットする。
ユーザがホスト・ソート・ボタン614をクリックすると、クライアント102は、ノード・リスト650内の要素をホスト名によってソートして、「発見された要素」サブ・ウィンドウ602を表示する。たとえば、図6内のサブ・ウィンドウ602には、4つのホスト・サーバおよび6つのアダプタがリストされている。ウィンドウ600の左側には、4つのホスト・アイコン620A〜620Dおよび6つのアダプタ622A〜622Fが示されている。この例では、図6内の第1のホスト・サーバ620Aおよび第1の2つのアダプタ622A〜622Bは局所的であり、一方で、残りのサーバ620B〜620Dおよびアダプタ622C〜622は遠隔である。
図7は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ700の一実施形態のスクリーン場面である。図6内のウィンドウ600から、ユーザがファブリック・ソート・ボタン616をクリックすると、クライアント102は、ノード・リスト750内の要素をファブリック接続部によってソートして、「発見された要素」サブ・ウィンドウ702を表示する。図7の例では、サブ・ウ
ィンドウ702は、1つのファブリックおよび6つのアダプタをリストしている。ウィンドウ700の左側には、6つのアダプタ722A〜722Fが示されている。
図8は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ800の一実施形態のスクリーン場面である。図6内のウィンドウ600から、ユーザが第1のサーバ・アイコン620Aをクリックすると、クライアント102は、「ホスト属性」サブ・ウィンドウ802を表示する。ホスト属性サブ・ウィンドウ802は、たとえば、ホスト・サーバの名前およびファームウェアおよびドライバの場所を表示する。ホスト属性サブ・ウィンドウ802を、他のホスト・サーバ・パラメータおよび状態を表示するように変更しても良い。
図9は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ900の一実施形態のスクリーン場面である。図6内のウィンドウ600から、ユーザが第1のアダプタ・アイコン622Aをクリックすると、クライアント102は、「一般的な」情報サブ・ウィンドウ902を第1のアダプタ622Aに対して表示する。サブ・ウィンドウ902は、以下のようなアダプタ情報をリストしても良い。すなわち、たとえば、モデル・タイプ912、アダプタ説明914、ワールド・ワイド・ノード名(WWNNまたはノードWWN)916、ドライバ・バージョン918、ファームウェア・バージョン920、ドライバ名922、およびリンク・ステータス924などである。「一般的な」情報サブ・ウィンドウ902を、他のアダプタ・パラメータおよび状態を表示するように変更しても良い。
図10は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ1000の一実施形態のスクリーン場面である。図9内のウィンドウ900から、ユーザが「詳細」タブ904をクリックすると、クライアント102は、「詳細」情報サブ・ウィンドウ1002を第1のアダプタ622Aに対して表示する。「詳細」情報サブ・ウィンドウ1002は、以下のような詳細を表示しても良い。たとえば、ノードWWN1004、ノード記号名1006、説明1008、ドライバ名1010、ドライバ・バージョン1012、ハードウェア・バージョン1014、オプションROMバージョン1016、シリアル番号1018、ポート番号1020、デバイスID1022、IEEEアドレス1024、および起動バイオス・イネーブルド/ディセイブルド1026などである。「詳細」情報サブ・ウィンドウ1002を、他のアダプタ詳細を表示するように変更しても良い。
図11は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ1100の一実施形態のスクリーン場面である。図9内のウィンドウ900から、ユーザが「ポート属性」タブ906をクリックすると、クライアント102は、「ポート属性」情報サブ・ウィンドウ1102を第1のアダプタ622Aに対して表示する。「ポート属性」情報サブ・ウィンドウ1102は、以下のようなポート属性を表示しても良い。たとえば、ノードWWN1104、ポートWWN1106、ポート記号名1108、ポートFCID1110、ポート・タイプ1112、ポート状態1114、サポートされたサービス・クラス1116、サポートされたFCタイプ1118、サポートされた速度1120、現在の速度1122、最大のフレーム・サイズ1124、オペレーティング・システム・デバイス名1126、発見されたポート1128、およびファブリック名1130などである。「ポート属性」情報サブ・ウィンドウ1102を、他のポート属性を表示するように変更しても良い。
図12は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ1200の一実施形態のスクリーン場面である。図9内のウィンドウ900から、ユーザが「ポート統計」タブ908をクリックすると、クライアン
ト102は「ポート統計」情報サブ・ウィンドウ1202を第1のアダプタ622Aに対して表示する。「ポート統計」情報サブ・ウィンドウ1202は、以下のような統計を表示しても良い。たとえば、送信フレーム1204、送信ワード1206、送信KBカウント1208、送信シーケンス1210、LIPカウント1212、エラー・フレーム1214、リンク故障1216、信号損失1218、無効な送信ワード1220、交換カウント発信者1222、受信フレーム1224、受信ワード1226、受信KBカウント1228、受信シーケンス1230、NOSカウント1232、ダンプされたフレーム1234、同期損失1236、プリミティブ・シーケンス・プロトコル・エラー1238、無効なCRC1240、交換カウント応答者1242などである。ポートにおけるデータ・スループット・カウンタおよびエラー・カウンタによって、この情報の一部が与えられても良い。「ポート統計」情報サブ・ウィンドウ1202を、他のポート統計を表示するように変更しても良い。
図13は、遠隔管理者103においてクライアント102によって与えられ得る他のアプリケーション・ウィンドウ1300の一実施形態のスクリーン場面である。図9内のウィンドウ900から、ユーザが「ファームウェア」タブ910をクリックすると、クライアント102は、「ファームウェア」情報サブ・ウィンドウ1302を第1のアダプタ622Aに対して表示する。「ファームウェア」情報サブ・ウィンドウ1302は、ファームウェア・バージョン1304、ファームウェア名1306、SLI−1ファームウェア名1308、およびSLI−2ファームウェア名1310を表示しても良い。「ファームウェア」情報サブ・ウィンドウ1302を、他のファームウェア情報を表示するように変更しても良い。
ファームウェア・ダウンロード
図13および14に、ファームウェア・ダウンロード・プロセスを示す。ユーザが「ブラウズ」ボタン1312をクリックすると、クライアント102は、「ファームウェア・ファイル選択」ウィンドウ1314を表示する。ユーザは、「ファームウェア・ファイル選択」ウィンドウ1314のファイル選択フィールド1316またはファイル・リスト1318から、ファイルを選択しても良い。ユーザは、オープン・ボタン1320およびダウンロード・ボタン1322をクリックして、選択されたファームウェア・ファイルをアダプタ622Aへダウンロードしても良い。
図14に、ファームウェア(図13において選択された)のダウンロードが進行している様子を示す。
一実施形態においては、遠隔HBA112は、意図されたファームウェア画像ファイルがそのHBA112上に存在するまで、フラッシュ・メモリの消去を始めない。
望ましい機能的な特徴の1つは、クライアント102および/またはエージェント104A〜104Dが、システム・アドミニストレータが遠隔管理者103において遠隔に管理することができるファームウェア画像ファイルのリポジトリを維持しても良いことである。たとえば、特定のファームウェア画像ファイルが遠隔ノードのリポジトリ内にすでに存在している場合には、クライアント102は、ファームウェアを遠隔にダウンロードすることが、ファームウェアをリンク100を介して再送信することなく、行なうことができる。
FC−RMAPI情報定義
属性
クライアント102およびエージェント104は、SAN50のハードウェアの特定の部分、たとえばサーバ110、HBA112、またはポート、に付随する情報の「属性」
を用いる。属性の例としては、バージョンID、WWN、ポート状態、無効なCRCカウント、およびSCSIバス番号が挙げられる。各属性エントリには、属性タイプ(たとえば、2バイト;サーバ、HBAまたはポート)、属性長さ(たとえば、2バイト;属性エントリ全体の全長をバイトで同定する)、および属性データ値(可変長;一構成において4〜256バイト)が含まれていても良い。属性値に対してFC−MIにおいて指定されるように、フィル・バイトを付加しても良い。
属性内のデータを、二進数またはASCII文字列として表しても良い。データがASCII文字列の場合には、データは、ヌル・ターミネートされていなければならない。表現(バイナリまたはASCII)は、属性タイプ・コードによって示しても良い。
属性ブロック
「属性ブロック」の形成は、1つまたは複数の属性を連結すること、およびその前にカウント・フィールドによって属性ブロック内の属性の数を指定することによって、行なっても良い。FC−MI仕様(付録Bとして添付)において規定されるように、属性ブロックを、標準の属性ブロック相互接続用ファイバ・チャネル方法論(FC−MI)とある程度同じ仕方で構築しても良い。しかし、標準のFC−MI属性ブロックと多少の違いがあっても良い。たとえば種々のファームウェア名が、標準のFD−MI属性ブロックと異なる属性ブロック内にあっても良い。
それぞれの属性ブロックは、固定サイズの存在であっても良いし、可変サイズの存在であっても良い。
属性ブロックのタイプには、サーバ属性ブロック・タイプ、HBA属性ブロック・タイプ、ポート属性ブロック・タイプ、ポート統計ブロック、ポート・ファイバ・チャネル・プロトコル(FCP)マッピング/結合属性ブロック、およびFC−3管理属性ブロックが含まれていても良い。
ブロック内の各属性エントリによって、ブロックに付随する特定の属性が指定される。属性ブロックには、それらの適用可能な属性の何れかまたは全てが、任意の順序で含まれていても良い。
属性ブロックを取り出すために、クライアント102におけるアプリケーション呼び出しが行なわれたときには、呼び出し元は最初に、リクエストに対応するための十分なメモリをクライアント102において割り当てなければならない。割り当てられたメモリ量が不十分である場合には、エラー・コードが、呼び出しに対して要求される実際のサイズとともに、戻される。アプリケーションがこの状況に遭遇したときには、当初のメモリを開放し、正確なサイズを用いて新しいブロックを割り当て、および呼び出しを再発行しなければならない。最大のブロック・サイズは、次のようにして計算しても良い。
属性カウント・エントリのサイズ=4
属性の最大サイズ=1+4(タイプ・エントリのサイズ+長さエントリのサイズ=4)
属性の最大サイズ=2+4(タイプ・エントリのサイズ+長さエントリのサイズ=4)
属性の最大サイズ=n+4(タイプ・エントリのサイズ+長さエントリのサイズ=4)。ここで、nは、属性ブロック内のエントリの数。
より簡潔な形では、(4+すべての属性サイズの合計+4*属性の数)
「属性表」は、ハードウェアの特定の部分に対するすべての属性を含む構造であり、それぞれの属性は可変長フィールドとして表わされる。属性は、下位レベルのソフトウェア・モジュールの一部においては表形式で表しても良いが、アプリケーション・レベル・ソ
フトウェアに対してはブロック形式で表しても良い。
属性リストの形成は、1つまたは複数の属性ブロックを連結すること、およびその前にカウントによってリスト内のブロックの数を指定することによって、行なっても良い。
図16A〜16Bに、サーバ属性およびそれらのフォーマットの例を示す。
図17Aおよび17Bに、HBA属性およびそれらのフォーマットの例を示す。「ファームウェア・バージョン」は、動作中ファームウェア・バージョンと同一であっても良い。エムレックスによって作られるHBAに対して報告されるポートの数は、1であっても良い。エムレックス・デュアル・チャネルHBAは、FC−RMAPI325Bに対しては、それぞれ単一のポートを所有する2つの別個のHBA112として見えても良い。「動作中ファームウェア名」は、エムレックスによって作られるHBA上の動作ファームウェアである。「SLI−1ファームウェア名」は、エムレックスHBA上のSLI−1オーバーレイ・ソフトウェアである。「SLI−2ファームウェア名」は、エムレックスHBA上のSLI−1オーバーレイ・ソフトウェアである。「IEEEアドレス」は、HBA112のアドレスである。「起動バイオス状態」は、起動バイオス・ソフトウェアの(現在HBA112上にあるならば)、現在の状態(イネーブルド/ディセイブルド)である。「プラットフォーム名」(ホスト名とも言われる)は、GS−4HBA構成サーバを指す。
図18に、ポート属性およびそれらのフォーマットの例を示す。
図19に、ポート統計およびそれらのフォーマットの例を示す。
図20に、ポートFCP属性の例を示す。
図21に、FC−3管理属性の例を示す。
図23A〜23Eに、ソフトウェア・リソース属性およびそのフィールドの一実施形態を示す。
付録A:FC−RMAPI
付録Aのページ1〜5には、FC−RMAPI機能が用いても良いデータ・タイプおよび構造定義がリストされている。
付録Aのページ6〜25には、RMAPI機能/命令、それらの引数、およびそれらの戻り値の例が与えられている。
付録B:FC−MI
付録Bは、相互接続用ファイバ・チャネル方法論(FC−MI)属性仕様改訂1.8である。
CT_IU
本明細書で説明する転送長さは、バイトであっても良い。すべてのCTリクエスト、受領、および拒絶CT_IUに対する全体の転送長さは、4バイトの倍数であっても良い。FC−GS仕様で規定されるように、基本プリアンブルおよび追加プリアンブルの長さは、4バイトの倍数である。
本明細書で規定するように、すべてのCTリクエストの追加情報フィールドの長さは、
4バイトの複数であっても良い。追加情報フィールドを構成するすべての属性ブロック、統計ブロック、および他の存在は、長さが4バイトの倍数であると規定されていても良い。それぞれのASCIIパラメータに対して、文字列はヌル・ターミネートされていても良い。また必要に応じて、「4バイト倍数」の要求を満足するように、追加のパディング・ヌルを加えても良い。
基本プリアンブル
基本プリアンブルでは、説明していないすべてのフィールドおよびビットを未使用にして、0に設定しても良い。
命令(リクエストCT_IU)
改訂フィールド:値0x02を用いて、FC−GS−3改訂7.01との適合を示しても良い。
IN_ID:値0を用いても良い。
GS_タイプ :値0x0Aを用いて、ベンダ・ユニークな(たとえば、エムレックス)管理サービスを示しても良い。
GS_サブタイプ:値0x10を用いて、HBA管理サービスを示しても良い。
オプション・フィールド:
ビット7:交換マッピング:値0を用いて、同期モードを示しても良い。
ビット6:部分的な応答:値0を用いて、「未指定」を示しても良い。
ビット5:拡張プリアンブルの存在:値1を用いて、拡張CT_IUプリアンブルが存在することを示しても良い。
命令/応答コード:ベンダ・ユニークなFC−CT命令コードであっても良い(図24に示す)。図24に、ベンダ・ユニークなFC−CT命令コードの例を示す。
最大サイズ:一実施形態においては、16−ビット値によって、受領CT_IUの最大サイズ(割り当てられた応答バッファのサイズ)を記述する。最大サイズは、基本プリアンブル、拡張プリアンブル、および追加情報を含むCT_IUの全体のサイズであっても良い。最大サイズは、4バイトの倍数であっても良い。IOCTLシステムは、64kbの最大転送長さを課しても良い。
応答(受領CT_IU)
すべてのフィールドは、FC−GS−3改訂7.01で説明されている通りであっても良い加えて、ベンダ・ユニークなフィールドが存在しても良い。
拡張プリアンブル
認証されたCTを用いて、あるレベルのセキュリティを実現しても良い。このことは、拡張CT_IUプリアンブルを用いることを示しても良い。
リクエストCT_IU
CT命令(図15Aおよび24)を、リクエストCT_IU追加情報フィールドにおいて伝えても良い。CT命令を説明する目的で、このフィールドをさらに2つの部分に分割しても良い。すなわち、命令ブロックおよび命令データ・フィールドである。命令ブロッ
クは、以下の原理に従ってデザインしても良い。
命令ブロックは、長さが1〜8ワードであっても良い。
命令ブロック要素を、ロングワード境界上でアライメントしても良い。例外は、8ワード境界でアライメントされたHBA識別子およびポート識別子であっても良い。
すべての命令ブロックが、ベンダ_OUI(IEEE組織的にユニークな識別子)を、第1のワード(ワード0)内に含んでいても良い。エムレックスに割り当てられたOUIは、0x000000C9である。
命令によっては、パラメータを用いていなくても良い。これらの命令では、1ワードの公称命令ブロック形態を用いても良い。これは、ベンダOUIのみを含んでいる。
命令によっては、命令制御ワード(CCW)と呼ばれる制御ワードを用いても良い。命令制御ワードは、存在するならば、ワード1である。
命令によっては、命令特有パラメータと呼ばれる制御パラメータに対する追加のワードが必要であっても良い。命令特有パラメータは、存在するならば、ワード2である。
命令によっては、データの可変長ブロックを、命令データ・フィールドと呼ばれるフィールド内のサーバに送っても良い。すべての命令データ・フィールド構造は、タイプ、長さ、およびカウントに対して、自己同定しても良い。したがって命令ブロック内では、データ長さパラメータは必要ではない。
ある特定の命令において、ポート識別子の組を用いても良い。これらのパラメータはそれぞれ、長さが8バイトであっても良い。これらを、8−バイト境界にアライメントされた状態にしておくために、必要に応じて、適切な命令ブロックを、未使用のワードで埋めても良い。ポート識別子は、一部の命令ではワード2〜5で含まれ、および他の命令ではワード4〜7で含まれる。
図25〜27に、共通トランスポート(CT)命令ブロック・フォーマットの例を示す。
プロキシ/オブジェクト・ポート(またはHBA)識別子
クライアント102が、リクエストを所望のHBA112へ送れない場合が、しばしば存在する。このような状況では、クライアント102は、プロキシ・ポート(またはHBA)を、CTリクエストの受取人として用いることができても良い。クライアント102は、呼び出し元の代わりにリクエストを受信して実行するために、プロキシ・ポート(またはHBA)のWWPNを知っていても良い。この情報を伝えるために、リクエストには2つのパラメータが含まれていても良い。すなわち「プロキシ・ポート識別子」および「オブジェクト・ポート識別子」(または「プロキシHBA識別子」および「オブジェクトHBA識別子」)である。
しかしリクエストによっては、たとえば「サーバ属性取得」および「サーバ属性設定」では、2つの識別子は必要ではない。これらの命令の場合には、オブジェクト・ポート識別子(またはオブジェクトHBA識別子)のみがリクエストに含まれている必要がある。
2つの識別子を含まない命令の場合には、クライアント102は一般的に、リクエストを所望のオブジェクト・ポート(またはオブジェクトHBA)に送って、プロキシ・ポー
ト識別子(またはプロキシHBA識別子)を0に設定する。しかしクライアント102が、リクエストをプロキシ・ポート(またはHBA)へ送ることを選んだ場合には、クライアント102は、有効なノン・ゼロ・プロキシ・ポート識別子(またはプロキシHBA識別子)を与えることになる。
リクエストCT_IUでは、各ポート識別子(またはHBA識別子)は、存在する場合には、8バイトWWPNであっても良い。
クライアント/サーバHBA識別子
ファイル転送プロトコルの場合には、何らかのメカニズムを用いて個々のリクエストにタグをつけても良い。リクエストCT_IUでは、それぞれのHBA識別子は、存在する場合には、8バイトWWPNであっても良い。
受領CT_IU
サーバ110がCTリクエストの完了を成功させることができる場合には、サーバ110は、応答して、受領CT_IUをクライアント102に送る。応答データは、受領CT_IU追加情報フィールドにおいて伝えても良い。CT受領を説明する目的で、このフィールドをさらに2つの部分に分割しても良い。すなわち、応答ブロックおよび応答データ・フィールドである。CT受領ブロックは、以下の原理に従ってデザインしても良い。
応答ブロックは、長さが1〜8ワードであっても良い。
ロングワード境界よりも良好にアライメントされる要素がなくても良い。
応答ブロックは、それらの対応する命令ブロックを反映していなくても良い。
すべての応答ブロックにおいて、ベンダOUIが第1のワード(ワード0)に含まれていても良い。
公称応答ブロックが、ベンダ_OUIのみから構成されていても良い。
拒絶CT_IU
標準拒絶コード
サーバ110が、要求された動作を行なうことができない場合には、サーバ110は、拒絶CT_IUをクライアント102へ送る。すべての標準FC−GS−3理由コードを、サポートしても良い。これらの理由コードのほとんどを、プロトコルまたは物理的なエラーに対して用いる。たとえば論理エラー、無効なCT_IUサイズ、論理ビジー、およびプロトコル・エラーである。他の理由コードには、以下のものが含まれる。
理由コードのコード記述
0x01無効命令コード
命令コードが有効なベンダ・ユニークな管理命令でない場合には、戻される。
0x09命令リクエストを行なうことができない
サポートされた命令コードを処理するエラーがある場合には、戻す。説明フィールドは、以下の通りである。
理由コード説明のコード記述
0x00追加説明なし
0x10無効なHBA識別子
0x11HBA属性ブロックには、同じタイプの複数の属性が含まれる
0x12無効なHBA属性ブロック長さ
0x13無効なHBA属性
0x20無効なポート識別子
0x21ポート属性ブロックには同じタイプの複数属性が含まれる
0x22無効なポート属性ブロック長さ
0x23無効なポート属性
0x30無効なホスト識別子
0x31サーバ属性ブロックには、同じタイプの複数属性が含まれる
0x32無効なサーバ属性ブロック長さ
0x33無効なサーバ属性
0x0Bサポートされていない命令
ベンダ・ユニークな拒絶コード
サーバ110が、本明細書で説明したベンダ・ユニークな拒絶コードの1つを生成する場合には、サーバ110は、理由コードを0xFFに設定し(ベンダ・ユニークなエラーを意味する)、理由コード説明を0に設定し(追加説明がないことを意味する)、およびベンダー・ユニーク・フィールドを適切な値に設定する。
図28には、CTベンダ・ユニークな拒絶理由コードの例がリストされている。
局所的なHBA103または遠隔HBA110上のいずれかにおけるハードウェア・エラーのせいで、すべての遠隔CT動作が失敗する可能性はある。加えて、ある特定の命令は、他の命令特有のエラー・コードを有する。
図29A〜29Bには、命令特有のエラーに対するCTベンダ・ユニークな理由コードの例がリストされている。
メールボックス・エラー・ステータス
ある場合には、メールボックス(MBX)命令が、サーバ110上で機能しなくなり、クライアント102に良く知られており、MBX応答が必要となることがある。一例は、RUN−BIU−DIAGサブ・コードを有するHBA診断実行命令である。これらの場合には、拒絶理由コードはMBXERRであっても良い。実際のMBX応答データは、拒絶追加情報フィールド内に配置しても良い。
他の場合には、サーバ110が、MBXエラーを評価することができ、またクライアント102に、その下にあるMBX命令とは切り離されたステータス(拒絶理由コード)を戻すことができることがある。拒絶理由コードによって、クライアント102に、十分な情報が与えられても良い。例としては、フラッシュ・プログラミング動作の場合に可能性のある多数のMBXエラー・コードが挙げられる。たとえば、クライアント102は、MBX命令がロード_SMもしくはダウンロードだったかどうか、またはMBXステータス消去がフラッシュ障害もしくはプログラム・フラッシュ障害だったかどうかについて、注意しなくても良い。拒絶理由コードは、フラッシュ_エラーである。しかし、このような場合には、実際のMBX応答データを、以下に規定されるフォーマットに従って拒絶追加情報フィールドに配置しても良い。エラーの全詳細は、クライアント102にとって入手可能であり、アプリケーションまたはシステム・アドミニストレータが詳細を必要とする場合に備えている。
拒絶追加情報
ある特定のベンダ・ユニークな拒絶コードでは、より多くの情報をクライアント102に戻すために、拒絶追加情報フィールドを必要としても良い。
図30に、CT拒絶追加情報フィールドの一実施形態を示す。追加情報タイプのフィールドでは、拒絶追加情報のタイプが一意に同定される。
タイプ 説明
0x0001 メールボックス応答
その他 未使用
追加情報フィールド長さのフィールドでは、追加情報フィールドの全長をバイトで示す。全長は、4バイトの倍数であっても良く、タイプ、長さ、およびデータ・フィールドを含んでいる。
データ・フィールドには、追加の情報ペイロードが含まれる。データ・フィールドは、長さが少なくとも4バイトであり、長さは4の倍数であっても良い。最大長さは、256バイトであっても良い。必要に応じて、フィル・バイトを加えても良い。
拒絶追加情報:メールボックス応答
MBX命令が遠隔サーバ110上で機能しなくなったときには、MBX応答を、拒絶CT_IU追加情報フィールド内に配置する(図31に示す)。
追加情報タイプ:0x0001
追加情報フィールド長さのフィールドでは、追加情報フィールドの全長をバイトで示す。全長は、4バイトの倍数であっても良く、タイプ、長さ、およびデータ・フィールドを含んでいる。
データ・フィールドには、MBX応答が含まれる。
ポート統計
FDMIは、ポート統計の取り出しをアドレス指定しない。FCRMAPI325Bには、ポート統計を取り扱うためのベンダ・ユニークな方法があっても良い。
クライアントの観点からすると、ポート統計に適用可能な操作は2つだけであっても良い。すなわち取り出しおよびリセットである。特定のFC−CT命令が、統計のリセットに対して設けられている。すなわち、ポート統計リセット(RPST)である。
取り出す際には、属性に良く似たポート統計を扱うのが便利である。以下の説明では、ポート統計に適用可能なデータ構造の概要を述べる。
図32に、すべてのポート統計に対して用いても良い一般的なフォーマットの一実施形態を示す。
ポート統計エントリ・タイプのフィールドでは、それぞれの個々の統計が一意に同定される。
ポート統計エントリ長さのフィールドでは、ポート統計エントリの全長がバイトで示される。全長は、4バイトの倍数であっても良く、タイプ、長さ、および値フィールドを含んでいる。
ポート統計エントリ値のフィールドでは、統計値が指定される。統計値は、バイナリ・タイプであっても良く、および長さが4または8バイトであっても良い。
図33に、ポート統計ブロック・エントリの一実施形態を示す。ポート統計ブロックは、固定サイズの存在であっても良いし、可変サイズの存在であっても良い。これらを、ポート属性ブロックと同様に構築しても良い。ポート統計ブロックには、以下の統計の何れかまたは全てが、任意の順序で含まれていても良い。
多くのポート統計エントリのフィールドによって、ブロックに含まれるポート統計エントリの数が指定される。値0は有効であり、この値は、ポート統計エントリがブロックに含まれていないことを示す。この場合、ブロックの長さは4バイトとする。
各ポート統計エントリによって、ブロックに付随する特定の統計が指定される。各ポート統計エントリは、図32に指定された一般的なポート統計エントリ・フォーマットに従う。
ソフトウェア・リソース記述子(SRD)
複数のCT命令タイプによって、遠隔サーバ110上のソフトウェア・リソース(ファイル)を操作しても良い。たとえば、ソフトウェア_リソース_送信によって、ファイルをクライアント102からサーバ110へ送る。ソフトウェア_リソース_名前変更によって、遠隔サーバ110上の既存のファイル名を変える。遠隔_リソース_リスト_取得によって、遠隔サーバ110上で利用可能なすべてのリソースの記述子を取り出す。
CT命令が異なると、動作するソフトウェア・リソースの数が異なる。3つの同じ例を用いて、ソフトウェア_リソース_送信は、正確に1つのファイル上で動作しても良く、ソフトウェア_リソース_名前変更は、正確に1つファイル上で動作しても良いが2つの記述子を必要とし、遠隔_リソース_リスト_取得は、記述子を取り出すリソースの数を変えられる。これらの考慮によって示されることは、ソフトウェア・リソース記述子のデザインが、属性に対して用いたものと同様であるということである。
図34に、ソフトウェア・リソース記述子(SRD)の一実施形態を示す。SRDタイプのフィールドでは、SRDのタイプが同定される。SRD長さのフィールドでは、5つのすべてのフィールドを含むSRDの全長をバイトで示している。ソフトウェア・リソース属性のフィールドには、ソフトウェア・リソース属性が含まれる。ソフトウェア・リソース属性には、リソースを適格なものにするビット・マスクが含まれる。ソフトウェア・リソース・バージョンのフィールドには、ソフトウェア・リソース・バージョンが含まれる。ソフトウェア・リソース・バージョンは、ヌル・ターミネートされたASCII文字列であり、必要に応じて、20バイトの長さまでパディングしても良い。ソフトウェア・リソース名のフィールドには、ソフトウェア・リソース名が含まれる。ソフトウェア・リソース名のフィールドは、ヌル・ターミネートされたASCII文字列であっても良く、最大サイズは256バイトである。
図35に、ソフトウェア・リソース・ブロック(SRB)の一実施形態を示す。多くのSRDのフィールドによって、SRBに含まれるSRDの数が指定される。値0は違法であっても良く、エラーであるとみなしても良い。最大の数は、可変であり、実施によって限定されても良い。本明細書によって課される限定はない。
SRDn:各SRDが、正確に1つのソフトウェア・リソースを記述しても良い。
ソフトウェア・リソース属性は、リソースのソフトウェアおよびハードウェアのタイプを同定する64ビットのフィールドであっても良い。ソフトウェア・リソース属性は、特定のリソースを記述するために用いられるときには、リソースのソフトウェア・リソース・ブロック(SRB)の一部である。これに関連して、ソフトウェア・リソース属性は、
複数のCT命令、たとえばソフトウェア_リソース_送信および遠隔_リソース_削除において現れる。
ソフトウェア・リソース属性は、リソースの組を記述するために用いられるときには、遠隔リソース・リスト取得の場合と同様に、CT命令自体におけるパラメータとして現れる。
命令(リクエスト)および応答(受領)詳細
後述する命令および応答ブロックでは、追加情報フィールドが示され、基本プリアンブルおよび拡張プリアンブルは図示されていない。本明細書では、用語「命令」および「応答」は、リクエストCT_IU追加情報フィールド、および受領CT_IU追加情報フィールドを意味するために用いられる。誤った応答に対しては、受領CT_IUではなくて、拒絶CT_IUを戻す。
また、すべての命令および応答ブロックには、ベンダ_OUI(IEEE組織的にユニークな識別子)が、第1のワード(ワード0)に含まれている。このセクションでは、ベンダOUIを、命令および応答ブロックにおいて示す。
属性取得命令
サーバ属性取得(GSAT)
図36A〜36Bに、サーバ属性取得命令およびサーバ属性取得応答の例を示す。サーバ属性取得命令は、サーバ110に、そのサーバ属性ブロック(図16A〜16B)をクライアント102に戻すように指示を出す。GSAT命令は、HBA特有でもポート特有でもなくても良い。そのため、GSAT命令はプロキシ識別子を必要としなくても良い。
GSAT命令は、パラメータを必要としなくても良い。命令には、公称命令ブロックが含まれる。
GSAT応答には、公称応答ブロックと、続いてサーバ属性ブロックとが含まれていても良い。一般的には、しかし必ずしもそうでなくても良いが、戻されるブロックには、適用可能な属性がすべて含まれる。
HBA属性取得(GHAT)
図37A〜37Bに、HBA属性取得命令およびHBA属性取得応答の例を示す。HBA属性取得命令は、サーバ110に、オブジェクトHBAのHBA属性ブロック(図17A〜17Bを参照)をクライアント102に戻すように指示を出す。
GHAT命令はHBA特有であっても良い。そのため、GHAT命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれていても良い。GHAT命令には、2つのパラメータが含まれる。すなわち、オブジェクトHBA識別子、およびプロキシHBA識別子である。
GHAT応答には、公称応答ブロックと、続いてHBA属性ブロックとが含まれる。一般的には、しかし必ずしもそうでなくても良いが、戻されるブロックには、適用可能な属性がすべて含まれる。
ポート属性取得(GPAT)
図38A〜38Bに、ポート属性取得命令およびポート属性取得応答の例を示す。
ポート属性取得命令は、オブジェクト・サーバ110に、オブジェクト・ポートのポー
ト属性ブロック(図18参照)をクライアント102に戻すように指示を出す。
GPAT命令はポート特有であっても良い。そのため、GPAT命令には、オブジェクト・ポート識別子およびプロキシ・ポート識別子が含まれる。GPAT命令には、2つのパラメータが含まれる。すなわち、オブジェクト・ポート識別子、およびプロキシ・ポート識別子である。
GPAT応答には、公称応答ブロックと、続いてポート属性ブロックとが含まれる。一般的には、しかし必ずしもそうでなくても良いが、戻されるブロックには、適用可能な属性がすべて含まれる。
ドライバ属性取得(GDAT)
図39A〜39Bに、ドライバ属性取得命令およびドライバ属性取得応答の例を示す。ドライバ属性取得命令は、オブジェクト・サーバ110に、ドライバ属性ブロック(図示せず)をクライアント112に戻すように指示を出す。GDAT命令は、HBA特有でもポート特有でもなくても良い。そのため、GDAT命令はプロキシ識別子を必要としない。GDAT命令は、パラメータを必要としなくても良い。リクエストには、公称命令ブロックが含まれていても良い。
GDAT応答には、公称応答ブロックと、続いてドライバ属性ブロックとが含まれていても良い。一般的に、しかし必ずしもそうでなくても良いが、戻されるブロックには、適用可能な属性がすべて含まれている。
ポート統計取得(GPST)
図40A〜40Bに、ポート統計取得命令およびポート統計取得応答の例を示す。ポート統計取得命令は、オブジェクト・サーバ110に、オブジェクト・ポートのポート統計ブロックをクライアント102に戻すように指示を出す。GPST命令はポート特定であっても良い。そのため、GPST命令には、オブジェクト・ポート識別子およびプロキシ・ポート識別子が含まれていても良い。GPST命令には2つのパラメータが含まれていても良い。すなわち、オブジェクト・ポート識別子、およびプロキシ・ポート識別子である。
GPST応答には、公称応答ブロックと、続いてポート統計ブロックとが含まれていても良い。一般的に、しかし必ずしもそうでなくても良いが、戻されるブロックには、適用可能な統計のすべてが含まれる。
サーバ属性設定(SSAT)
図41A〜41Bに、サーバ属性設定命令およびサーバ属性設定応答の例を示す。サーバ属性設定命令は、オブジェクト・サーバ110に、サーバ属性ブロックに含まれる属性を登録するように指示を出すSSAT命令は、HBA特有でもポート特有でもなくても良い。そのため、SSAT命令はプロキシ識別子を必要としなくても良い。
SSAT命令には、サーバ属性ブロックが含まれる。これは、登録すべき属性を指定するものである。1つまたは複数の属性を、属性ブロック内で指定して、単一の命令に登録しても良い。ブロック内のゼロ属性は、エラーであっても良い。
SSAT応答は、公称応答ブロックから構成される。
HBA属性設定(SHAT)
図42A〜42Bに、HBA属性設定命令およびHBA属性設定応答の例を示す。HB
A属性設定命令は、オブジェクト・サーバ110に、HBA属性ブロックに含まれる属性を登録するように指示を出す。
SHAT命令はHBA特有であっても良い。そのため、SHAT命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれる。SHAT命令には、HBA属性ブロックが含まれる。これは、登録すべき属性を指定するものである。1つまたは複数の属性を、属性ブロック内で指定して、単一の命令に登録しても良い。ブロック内のゼロ属性は、エラーであっても良い。
SHAT応答には、公称応答ブロックが含まれる。
ポート属性設定(SPAT)
図43A〜43Bに、ポート属性設定命令およびポート属性設定応答の例を示す。ポート属性設定命令は、オブジェクト・サーバ110に、ポート属性ブロックに含まれる属性を登録するように指示を出す。SPAT命令はポート特有であっても良い。そのため、SPAT命令には、オブジェクト・ポート識別子およびプロキシ・ポート識別子が含まれる。SPAT命令には、ポート属性ブロックが含まれる。これは、登録すべき属性を指定するものである。1つまたは複数の属性を、属性ブロック内で指定して、単一の命令に登録しても良い。ブロック内のゼロ属性は、エラーであっても良い。
SPAT応答には、公称応答ブロックが含まれる。
ドライバ属性設定(SDAT)
図44A〜44Bに、ドライバ属性設定命令およびドライバ属性設定応答の例を示す。ドライバ属性設定命令は、オブジェクト・サーバ110に、ドライバ属性ブロックに含まれる属性を登録するように指示を出す。SDAT命令はHBA特有でもポート特有でもなくても良い。そのため、SDAT命令は、プロキシ識別子を必要としなくても良い。SDAT命令には、ドライバ属性ブロックが含まれる。これは、登録すべき属性を指定するものである。1つまたは複数の属性を、属性ブロック内で指定して、単一の命令に登録しても良い。ブロック内のゼロ属性は、エラーであっても良い。
SDAT応答には、公称応答ブロックが含まれていても良い。
ポート統計リセット(RPST)
図45A〜45Bに、ポート統計リセット命令およびポート統計リセット応答の例を示す。ポート統計リセット命令は、オブジェクト・サーバ110に、オブジェクト・ポートの統計を再初期化するように指示を出す。RPST命令はポート特有であっても良い。そのため、RPST命令には、オブジェクト・ポート識別子およびプロキシ・ポート識別子が含まれていても良い。RPST命令には、2つのパラメータが含まれる。すなわち、オブジェクト・ポート識別子、およびプロキシ・ポート識別子である。
RPST応答には、公称応答ブロックが含まれていても良い。
ファームウェア確認(VFW)
図46A〜46Bに、ファームウェア確認命令およびファームウェア確認応答の例を示す。ファームウェア確認命令は、オブジェクト・サーバ110に、以下のことを確認するように指示を出す。すなわち、指定されたファームウェア画像リソースが存在すること、ファームウェア画像リソースが指定されたHBAに対する正しいタイプであること、およびファームウェア画像リソースが、有効な内部フォーマットを有すること、である。
VFW命令は、HBA特有であっても良い。そのため、VFW命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれる。VFW命令には、以下のパラメータが含まれていても良い。オブジェクトHBA識別子、プロキシHBA識別子、および遠隔ファームウェア・リソースSRDである。
VFW応答には、公称応答ブロックが含まれる。誤り状態を、拒絶CT_IUによって報告する。
ファームウェア・ダウンロード(DFW)
図47A〜47Bに、ファームウェア・ダウンロード命令およびファームウェア・ダウンロード応答の例を示す。ファームウェア・ダウンロード命令は、オブジェクト・サーバ110に、指定されるファームウェア画像リソースを、指定されるHBA112内へダウンロードするように指示する。DFW命令は、HBA特有であっても良い。そのため、DFW命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれる。DFW命令には、以下のパラメータが含まれる。命令制御ワード、オブジェクトHBA識別子、プロキシHBA識別子、および遠隔ファームウェア・リソースSRDである。
DFW応答には、公称応答ブロックが含まれる。誤り状態を、拒絶CT_IUによって報告する。
ファームウェア・ダウンロード(DFW)命令では、ワード1、ビット(0)の記述は、(命令制御ワード)であるダウンロード後リセットであっても良い。具体的には、ダウンロードが成功した後に、ポートを通常モードでリセットして、ドライバを再初期化する。
ファームウェア・アップグレード(UFW)
図48A〜48Bに、ファームウェア・アップグレード命令およびファームウェア・アップグレード応答の例を示す。ファームウェア・アップグレード命令は、クライアント・アプリケーション102に対して単一の命令メカニズムを与えて、特定のサーバ103または110上のファームウェア画像リソースを、(潜在的に異なる)特定のサーバ110上の特定のHBA112内にダウンロードさせる。
2つのサーバは、必ずしも同じサーバである必要はない。ファームウェア・アップグレード命令は、クライアント・アプリケーション102によって、必要なファームウェア画像リソースを含むサーバ103または110に送信される。このサーバ103または110は、リソース・サーバと呼ばれる。次にリソース・サーバ103または110は、リソースを、ソフトウェア・リソース送信命令を介して、アップグレードすべきHBA112を含むサーバ110に送信する。このサーバ110は、オブジェクト・サーバと呼ばれる。最後に、リソース・サーバ103または110は、ファームウェア・ダウンロード命令を、オブジェクト・サーバ110に送信する。
リソース・サーバ103または110とオブジェクト・サーバ110とが同じサーバである場合には、すでに概説した追加ステップを省く。この場合、ファームウェア・アップグレード命令は、ファームウェア・ダウンロード命令のように機能する。
その下にあるDFW命令は、HBA特有であっても良く、オブジェクトHBA識別子とプロキシHBA識別子とを用いるため、これら2つの識別子が、UFW命令内に要求される。UFW命令自体はHBA特有ではないため、UFW命令はプロキシを必要としない。したがってUFW命令には、3つのHBA識別子が含まれる。すなわち、リソース・サーバHBA識別子、オブジェクト・サーバ・オブジェクトHBA識別子、およびオブジェク
ト・サーバ・プロキシHBA識別子である。
加えて、UFW命令には、命令制御ワードとファームウェア・リソースSRDとが含まれていても良い。
UFW応答には、公称応答ブロックが含まれる。誤り状態を、拒絶CT_IUによって報告する。
ファームウェア・ダウンロード(DFW)命令の場合、ワード1、ビット(0)は、(命令制御ワード)であるダウンロード後リセットを有していても良い。ダウンロードが成功した後に、ポートを通常モードでリセットして、ドライバを再初期化する。
HBAリセット(RES)
図49A〜49Cに、HBAリセット命令、HBAリセット応答、およびHBAリセット命令詳細の例を示す。HBAリセット命令は、オブジェクト・サーバ110に、示されたリセット動作を指定されるHBA112上で行なうように指示を出す。RES命令はHBA特有であっても良い。そのため、RES命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれる。RES命令には、以下のパラメータが含まれる。命令制御ワード、オブジェクトHBA識別子、およびプロキシHBA識別子である。
RES応答には、公称応答ブロックが含まれる。誤り状態を、拒絶CT_IUによって報告する。
HBA診断実行(RHD)
図50A〜50Cに、HBA診断実行命令、HBA診断実行応答、およびHBA診断実行命令詳細の例を示す。HBA診断実行命令は、オブジェクト・サーバ110に、示された診断をオブジェクトHBA112上で行なうように指示を出す。RHD命令はHBA特有であっても良い。そのため、RHD命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれる。RHD命令には、以下のパラメータが含まれる。命令制御ワード、オブジェクトHBA識別子、およびプロキシHBA識別子である。
RHD応答には、公称応答ブロックが含まれる。誤り状態を、拒絶CT_IUによって報告する。
遠隔リソース・リスト取得(GRRL)
図51A〜51Cに、遠隔リソース・リスト取得命令、遠隔リソース・リスト取得応答、および遠隔リソース・リスト取得命令詳細の例を示す。遠隔リソース・リスト取得命令は、命令内の仕様にマッチングするすべての遠隔リソースに対するソフトウェア・リソース記述子(SRD)を戻すために用いられる。GRRL命令は、HBA特有でもポート特有でもなくても良い。そのため、GRRL命令は、プロキシ識別子を必要としなくても良い。GRRL命令には、2つのパラメータが含まれる。命令制御ワードおよびソフトウェア・リソース属性である。
GRRL応答には、公称応答ブロックと、続いて可変長SRDリストとが含まれる。
遠隔リソース情報取得(GRRI)
図52A〜52Bに、遠隔リソース情報取得命令および遠隔リソース情報取得応答の例を示す。遠隔リソース情報取得命令は、命令内で命名されたリソースに対するソフトウェア・リソース記述子(SRD)を戻すために用いられる。GRRI命令は、HBA特有でもポート特有でもなくても良い。そのため、GRRI命令は、プロキシ識別子を必要とし
なくても良い。
一構成においては、GRRI命令には、1つのSRDが含まれる。このSRDは、不完全であってソフトウェア・リソース名のみを含んでいても良いし、または完全であって名前およびタイプの両方を含んでいても良い。SRDが不完全である場合には、サーバ110は、名前のみにマッチングするリソースを検索する。SRDが完全である場合には、サーバ110は、名前およびタイプの両方にマッチングするリソースを検索する。どちらの場合でも、マッチングするリソースが見つかったら、その完全なSRDを戻す。
GRRI応答には、公称応答ブロックと、続いて可変長SRDとが含まれる。
ソフトウェア・リソース送信(SSR)
図53A〜53Cに、ソフトウェア・リソース送信命令、ソフトウェア・リソース送信応答、およびソフトウェア・リソース送信命令詳細の例を示す。ソフトウェア・リソース送信命令は、ソフトウェア・リソース(ファイル)を、クライアント・システム103からサーバ・システム110へコピーするために用いられる。SSR命令は、HBA特有でもポート特有でもなくても良い。そのため、SRR命令は、プロキシ識別子を必要としなくても良い。
宛先リソース・ファイル名が、CTリクエスト内で指定される。それは、SSRデータ・フィールド内に含まれるソフトウェア・リソース記述子(SRD)に含まれる。宛先リソース・パス名は、適切なサーバ属性によって指定され、CTリクエストに含まれていなくても良い。
管理命令送信システムは、I/Oサイズが最大であっても良い。I/Oサイズは、現在のところ、64Kbであると予想される。ファームウェア・ファイルは、これよりもはるかに大きい。したがってクライアント102が、ファイルをバラバラにして断片で送っても良く、サーバ110がファイルを再び集めても良い。このタスクは、同期モードCTのみを用いれば、ある程度単純になり得るが、クライアント102およびエージェント104は、単純なフラグメント・レベル・プロトコルを実施しても良い。
メカニズムによっては、個々のSSRリクエストにタグを付けても良い。その結果、サーバ110は、複数のファイルをサーバ110に同時に送る複数のクライアント102を扱うことができる。クライアントおよびサーバHBA識別子は、SSRリクエストに、このメカニズムの一部として含まれる。
このメカニズムを完成させるのは、ファイル転送タグおよびフラグメント数である。これらのパラメータは、命令ブロック内の命令特有のパラメータ・ワードに含まれる。
またSSR命令は、命令特定の命令制御ワードを用いても良い。CCW内の制御ビットによって、SSRデータ・フィールドに含まれるのがSRDなのかリソース・フラグメントなのかが示される。このデザインから2つの意味合いが生じる。第1に、任意の特定のSSRリクエストによって、SRDまたはリソース・フラグメントが送信されるが、両方ではない。第2に、最小限の2つのSSRリクエストが、ソフトウェア・リソースを送信するために要求される。1つは、SRDを送信するために、および少なくとも1つは、リソース・フラグメントを送信するためである。
SSR応答には、公称応答ブロックが含まれる。
遠隔リソース削除(DRR)
図54A〜54Cに、遠隔リソース削除命令、遠隔リソース削除応答、および遠隔リソース削除命令詳細の例を示す。遠隔リソース削除命令は、ソフトウェア・リソース(ファイル)を遠隔サーバ110から移動させるために用いられる。DRR命令は、HBA特有でもポート特有でもなくても良い。そのため、DRRコマンは、プロキシ識別子を必要としなくても良い。
リソース・ファイル名は、CTリクエスト内で指定される。リソース・ファイル名は、DRRデータ・フィールド内に含まれるソフトウェア・リソース記述子(SRD)内に含まれる。この命令の場合には、SRDにヌル・ソフトウェア・リソース属性フィールドが含まれることが推奨される。どんな場合にも、SRAフィールドは無視される。
リソース・パス名は、適切なサーバ属性によって指定され、CTリクエスト内には含まれない。
DRR応答には、公称応答ブロックが含まれる。
遠隔リソース名変更(RRR)
図55A〜55Cに示すのは、遠隔リソース名変更命令、遠隔リソース名変更応答および遠隔リソース名変更命令詳細の例である。遠隔リソース名変更命令は、遠隔サーバ110上のソフトウェア・リソース(ファイル)の名前を変更するために用いられる。RRR命令は、HBA特有でもポート特有でもなくても良い。そのため、RRR命令は、プロキシ識別子を必要としなくても良い。
現在のおよび新しいリソース・ファイル名は、CTリクエスト内で指定される。それらは、RRRリクエスト内に含まれる2つのソフトウェア・リソース記述子(SRD)内に含まれる。この命令の場合、各SRDにはヌル・ソフトウェア・リソース属性のフィールドが含まれることが推奨される。どんな場合でも、各SRAフィールドは無視される。
RRR応答には、公称応答ブロックが含まれる。
送信および受信テスト(テスト)
図56Aおよび56Bに示すのは、送信および受信テスト命令、ならびに送信および受信テスト応答の例である。テスト命令によって、遠隔管理命令/応答システムおよびデータ経路をテストするメカニズムが得られる。
ベンダOUIに加えて、テスト命令ブロックには、要求されるCT命令バイト・カウント、要求されるCT応答バイト・カウント、テスト命令参照番号、およびデータ・フィールドが含まれる。命令がサーバ110によって処理されると、サーバ110は、補足されたデータ・フィールドを含む応答を形成して送信する。命令バイト・カウントおよび応答バイト・カウントについては、等しいことが要求されないことに注意されたい。応答が、クライアント・アプリケーション102によって処理されると、データ・フィールドを、データ整合性に関してチェックすることができる。
HBA照会(HBA)
図57A〜57Cに示すのは、HBA照会応答詳細、HBA照会命令、およびHBA照会応答の例である。HBA照会命令は、2つの目的に対して用いても良い。第1に、HBA照会命令を用いて、遠隔HBA112が管理可能であるかどうか、すなわちHBA112が、遠隔管理エージェント104および/またはクライアント102を実行しているサーバ110内にインストールされているかどうかを、判定しても良い。第2に、HBA照会命令を用いて、ファームウェア・ダウンロードまたはHBAリセット命令のステータス
を決定しても良い。
QHBA命令は、HBA特有であっても良い。そのため、QHBA命令には、オブジェクトHBA識別子およびプロキシHBA識別子が含まれていても良い。QHAB命令は、パラメータを必要としなくても良い。リクエストには、公称命令ブロックが含まれていても良い。
QHBA応答には、公称応答ブロックと、続いてステータス・ワードとが含まれていても良い。
遠隔HBA112が管理可能であるかどうかを判定する場合、ステータス・ワードは適用できなくても良い。応答が存在するかしないかは、以下のように適用することができる。応答がタイム・アウト時間内に到着したら、遠隔HBA112は管理可能である。応答がタイム・アウト時間内に到着しなかったら、遠隔HBA112は管理可能ではない。
ファームウェア・ダウンロードまたはHBAリセット命令のステータスをチェックする場合、ステータス・ワードは、以下のように規定される。「完全な」ビットは、成功を意味する。動作上のエラーがある場合、照会命令は拒絶を受け、受領されない。
多くの実施形態について説明してきた。それでもなお、種々の変更を行なっても良いことが理解される。たとえば、SAN50内に複数の遠隔管理者103があっても良い。したがって他の実施形態が、以下の請求項の範囲内である。

Claims (17)

  1. ファイバ・チャネル・ネットワークの第1のポートに結合されるファイバ・チャネル・ホスト・バス・アダプタおよびiSCSIネットワークの第2のポートに結合されるiSCSIホスト・バス・アダプタを少なくとも含む複数のホスト・バス・アダプタと、
    前記ファイバ・チャネル・ネットワークと前記iSCSIネットワークとに接続される遠隔管理モジュールであって、前記遠隔管理モジュールは、共通トランスポート・パケットで前記ファイバ・チャネル・ネットワークを介して前記ファイバ・チャネル・ホスト・バス・アダプタに第1の命令を送信することによって、前記ファイバ・チャネル・ホスト・バス・アダプタを管理するように動作可能であり、前記遠隔管理モジュールは、前記iSCSIネットワークを介して前記iSCSIホスト・バス・アダプタに第2の命令を送信することによって、前記iSCSIホスト・バス・アダプタを管理するようにも動作可能である、遠隔管理モジュールと
    を含む、システム。
  2. 前記ファイバ・チャネル・ホスト・バス・アダプタおよび前記iSCSIホスト・バス・アダプタのうちの少なくとも1つが、サーバ内にインストールされる、請求項1に記載のシステム。
  3. 前記サーバ内にインストールされる第3のホスト・バス・アダプタをさらに含み、前記第3のホスト・バス・アダプタは第3のファイバ・チャネル・ポートに結合され、前記第1の命令は、前記ファイバ・チャネル・ホスト・バス・アダプタに対するオブジェクト・ポート・アドレス、および前記第3のホスト・バス・アダプタに対するプロキシ・ポート・アドレスを指定する、請求項2に記載のシステム。
  4. 前記ファイバ・チャネル・ホスト・バス・アダプタが、前記ファイバ・チャネル・ホスト・バス・アダプタがインストールされるサーバのオペレーティング・システムを伴うことなく、前記第1の命令を実行するように動作可能である、請求項1に記載のシステム。
  5. 前記遠隔管理モジュールが、第3の命令を前記iSCSIホスト・バス・アダプタに送信するように動作可能であり、前記iSCSIホスト・バス・アダプタが、前記第3の命令に応答するように動作可能である、請求項1に記載のシステム。
  6. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタによって前記第1の命令に応答して戻されるデータが記憶されるべきメモリ・バッファのアドレスを指定する、請求項1に記載のシステム。
  7. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタからのホスト・バス・アダプタ属性をリクエストする、請求項1に記載のシステム。
  8. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタの属性を変更する、請求項1に記載のシステム。
  9. 前記第1の命令が、ファイルをリポジトリにコピーし、前記リポジトリは前記遠隔管理モジュールによってアクセス可能である、請求項1に記載のシステム。
  10. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタへのファームウェア・ファイルのダウンロードが成功できたかどうかを確認する、請求項1に記載のシステム。
  11. 前記第1の命令が、前記遠隔管理モジュールの第1のリポジトリ内のファイルを、前記ファイバ・チャネル・ホスト・バス・アダプタに関連付けられた第2のリポジトリに送信する、請求項1に記載のシステム。
  12. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタに、前記ファイバ・チャネル・ホスト・バス・アダプタのリポジトリ内のファームウェアをダウンロードするように指示を出し、前記ファームウェアは前記遠隔管理モジュールからロードされる、請求項1に記載のシステム。
  13. 前記第1の命令が、
    ファームウェア・ファイルを第1のリポジトリへコピーすることと、
    前記ファイバ・チャネル・ホスト・バス・アダプタへの前記ファームウェア・ファイルのダウンロードが成功できたかどうかを確かめることと、
    前記遠隔管理モジュールの前記第1のリポジトリ内の前記ファームウェア・ファイルを、前記ファイバ・チャネル・ホスト・バス・アダプタの第2のリポジトリに送信することと、
    前記ファイバ・チャネル・ホスト・バス・アダプタに、前記ファイバ・チャネル・ホスト・バス・アダプタの前記第2のリポジトリ内のファームウェアをダウンロードするように指示を出すことと
    を含み、前記第1のレポジトリは前記遠隔管理モジュールによってアクセス可能である、請求項1に記載のシステム。
  14. 前記第1の命令が、ファイバ・チャネル・プロトコル(FCP)ターゲットと小さなコンピュータ・システム・インターフェース(SCSI)情報との間のマッピングを取り出す、請求項1に記載のシステム。
  15. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタのドライバの属性を取り出す、請求項1に記載のシステム。
  16. 前記第1の命令が、前記ファイバ・チャネル・ホスト・バス・アダプタのドライバの属性を変更する、請求項1に記載のシステム。
  17. 前記第1の命令が、前記ファイバ・チャネル・ネットワーク上のノードの論理デバイスと物理的なデバイスとの間の永続的な結合を管理する、請求項1に記載のシステム。
JP2010158333A 2002-10-21 2010-07-12 遠隔管理システム Expired - Fee Related JP5438613B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/277,922 2002-10-21
US10/277,922 US20040103220A1 (en) 2002-10-21 2002-10-21 Remote management system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010030678A Division JP2010182313A (ja) 2002-10-21 2010-02-15 遠隔管理システム

Publications (2)

Publication Number Publication Date
JP2011018343A true JP2011018343A (ja) 2011-01-27
JP5438613B2 JP5438613B2 (ja) 2014-03-12

Family

ID=32174555

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2004547069A Pending JP2006504187A (ja) 2002-10-21 2003-10-21 遠隔管理システム
JP2010030678A Pending JP2010182313A (ja) 2002-10-21 2010-02-15 遠隔管理システム
JP2010158333A Expired - Fee Related JP5438613B2 (ja) 2002-10-21 2010-07-12 遠隔管理システム
JP2013224516A Pending JP2014059888A (ja) 2002-10-21 2013-10-29 遠隔管理システム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2004547069A Pending JP2006504187A (ja) 2002-10-21 2003-10-21 遠隔管理システム
JP2010030678A Pending JP2010182313A (ja) 2002-10-21 2010-02-15 遠隔管理システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013224516A Pending JP2014059888A (ja) 2002-10-21 2013-10-29 遠隔管理システム

Country Status (4)

Country Link
US (2) US20040103220A1 (ja)
EP (1) EP1563397A2 (ja)
JP (4) JP2006504187A (ja)
WO (1) WO2004038699A2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424533B1 (en) * 2003-05-23 2008-09-09 Cisco Technology, Inc. Method and apparatus for role-based access control
US8260741B2 (en) * 2003-08-15 2012-09-04 Intel Corporation System and method for utilizing a modular operating system (OS) resident agent allowing an out-of-band server management
DE10345016A1 (de) * 2003-09-23 2005-04-21 Deutsche Telekom Ag Verfahren und Kommunikationssystem zur Verwaltung und Bereitstellung von Daten
US11108591B2 (en) 2003-10-21 2021-08-31 John W. Hayes Transporting fibre channel over ethernet
JP2005157826A (ja) 2003-11-27 2005-06-16 Hitachi Ltd アクセス制御装置及び方法
US7966294B1 (en) * 2004-01-08 2011-06-21 Netapp, Inc. User interface system for a clustered storage system
US20050251684A1 (en) * 2004-02-02 2005-11-10 Hitachi, Ltd. Storage control system and storage control method
US7949792B2 (en) * 2004-02-27 2011-05-24 Cisco Technology, Inc. Encoding a TCP offload engine within FCP
JP4726432B2 (ja) * 2004-05-10 2011-07-20 株式会社日立製作所 ディスクアレイ装置
US20050278723A1 (en) * 2004-06-14 2005-12-15 Feinleib David A System and method for remote administration from a windows client of computer systems running the Linux operating system
JP2006011888A (ja) * 2004-06-28 2006-01-12 Hitachi Ltd 遠隔管理システム
US20050289218A1 (en) * 2004-06-28 2005-12-29 Rothman Michael A Method to enable remote storage utilization
US7310742B2 (en) * 2004-06-30 2007-12-18 Intel Corporation Method and apparatus for performing disk diagnostics and repairs on remote clients
US8705401B1 (en) * 2004-12-03 2014-04-22 At&T Intellectual Property Ii, L.P. Method and apparatus for validating commands for VOIP network components
US7653903B2 (en) * 2005-03-25 2010-01-26 Sony Corporation Modular imaging download system
US20070079097A1 (en) * 2005-09-30 2007-04-05 Emulex Design & Manufacturing Corporation Automated logical unit creation and assignment for storage networks
US20070088810A1 (en) * 2005-10-19 2007-04-19 Lamb Michael L Apparatus, system, and method for mapping a storage environment
US8001267B2 (en) 2005-12-15 2011-08-16 International Business Machines Corporation Apparatus, system, and method for automatically verifying access to a multipathed target at boot time
US7882562B2 (en) 2005-12-15 2011-02-01 International Business Machines Corporation Apparatus, system, and method for deploying iSCSI parameters to a diskless computing device
US8166166B2 (en) 2005-12-15 2012-04-24 International Business Machines Corporation Apparatus system and method for distributing configuration parameter
US20070233815A1 (en) * 2006-03-30 2007-10-04 Inventec Corporation Initialization picture displaying method
US8295157B1 (en) * 2006-04-10 2012-10-23 Crimson Corporation Systems and methods for using out-of-band protocols for remote management while in-band communication is not available
US8484325B1 (en) * 2006-06-23 2013-07-09 American Megatrends, Inc. Providing a common management console for managing the operation of a server computer
US8972532B2 (en) * 2006-06-30 2015-03-03 Ca, Inc. Providing hardware configuration management for heterogeneous computers
US9112891B2 (en) * 2007-02-02 2015-08-18 Sharp Laboratories Of America, Inc. Remote firmware management for electronic devices
US8250203B1 (en) * 2007-05-22 2012-08-21 Qlogic, Corporation Method and system for network traffic monitoring
US7962675B1 (en) * 2008-02-21 2011-06-14 Qlogic, Corporation Method and system for communicating with a host bus adapter
US8099524B2 (en) * 2008-10-01 2012-01-17 International Business Machines Corporation Automated method to configure a data storage system
JP5239765B2 (ja) * 2008-11-13 2013-07-17 株式会社リコー 電子計算機、電子計算機の外部ストレージデバイスの認識情報のネットワーク情報共有処理方法、及びコンピュータプログラム
US8738711B2 (en) * 2009-11-03 2014-05-27 Oto Technologies, Llc System and method for redirecting client-side storage operations
US20110145723A1 (en) * 2009-12-16 2011-06-16 Oto Technologies, Llc System and method for redirecting client-side storage operations
US9015333B2 (en) 2009-12-18 2015-04-21 Cisco Technology, Inc. Apparatus and methods for handling network file operations over a fibre channel network
US9077624B2 (en) * 2012-03-07 2015-07-07 International Business Machines Corporation Diagnostics in a distributed fabric system
KR101951908B1 (ko) * 2012-10-18 2019-04-25 한국전자통신연구원 로봇 소프트웨어 컴포넌트를 위한 디바이스 공유 장치 및 방법
US9325576B2 (en) * 2014-01-15 2016-04-26 Sas Institute Inc. Dynamic server to server configuration and initialization
US9729653B2 (en) * 2014-01-23 2017-08-08 Software Ag Systems and/or methods for automatically tuning a delivery system for transmission of large, volatile data
US10324953B1 (en) * 2014-06-26 2019-06-18 EMC IP Holding Company LLC Managing remote data center from another data center
US10303531B2 (en) * 2014-07-28 2019-05-28 Red Hat, Inc. Console application through web service
KR20160092275A (ko) * 2015-01-27 2016-08-04 한국전자통신연구원 CoAP 통신 방법 및 이를 수행하는 시스템
US10275327B2 (en) * 2017-01-05 2019-04-30 Hewlett Packard Enterprises Development LP Virtual fibre channel port migration
US11734458B2 (en) * 2019-02-26 2023-08-22 Intel Corporation Extensible layered trusted computing base for computing devices
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11405215B2 (en) 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11546137B2 (en) * 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11310036B2 (en) 2020-02-26 2022-04-19 International Business Machines Corporation Generation of a secure key exchange authentication request in a computing environment
US11502830B2 (en) * 2020-10-12 2022-11-15 Kyndryl, Inc. Ultrasound split key transmission for enhanced security
US20240205660A1 (en) * 2021-04-30 2024-06-20 Zebra Technologies Corporation Enhanced Device Discovery to Support Multiple Clients and High Data Bandwidth

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180765A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd 二重化ボリウム管理方式
JPS60258638A (ja) * 1984-06-06 1985-12-20 Fujitsu Ltd 磁気デイスク装置の制御方式
JPS63172549A (ja) * 1987-01-12 1988-07-16 Nippon Telegr & Teleph Corp <Ntt> 選択着信装置
JPH01171045A (ja) * 1987-12-26 1989-07-06 Fujitsu Ltd 外部記憶装置制御方式
JPH0440525A (ja) * 1990-06-06 1992-02-10 Seiko Epson Corp 並列処理型マイクロプロセッサ
JPH0446436A (ja) * 1990-06-14 1992-02-17 Nec Corp パケット交換網の網管理方法と網管理装置
JPH04364514A (ja) * 1991-06-11 1992-12-16 Mitsubishi Electric Corp デュアルポートディスク制御装置
JPH06152772A (ja) * 1992-11-09 1994-05-31 Matsushita Electric Ind Co Ltd 通信システムの機器異常情報管理装置、機器アダプタ、機器異常情報管理ユニット、通報ユニット、センター装置及び機器異常情報管理方法
JPH0965289A (ja) * 1995-05-30 1997-03-07 Internatl Business Mach Corp <Ibm> 階層マルチメディア配布システム
JPH104407A (ja) * 1996-06-17 1998-01-06 Nec Corp ネットワーク管理装置および方法
JPH11127198A (ja) * 1997-08-01 1999-05-11 Hewlett Packard Co <Hp> パケット網の使用に関する情報を収集する方法及び装置
JPH11164253A (ja) * 1997-08-29 1999-06-18 Lg Electron Inc メモリ制御方法及びこれを用いたデジタル記録/再生装置
JPH11203058A (ja) * 1998-01-12 1999-07-30 Nec Corp ディスクアレイ装置
JP2000006483A (ja) * 1998-06-18 2000-01-11 Seiko Epson Corp プリンタ、印刷命令生成装置および印刷システム
WO2000058842A1 (en) * 1999-03-30 2000-10-05 Mcdata Corporation Interconnection architecture for managing multiple low bandwidth connections over a high bandwidth link
JP2000276306A (ja) * 1999-03-24 2000-10-06 Hitachi Ltd ネットワーク接続ディスク装置
JP2000330925A (ja) * 1999-05-19 2000-11-30 Nec Corp 装置内アドレス収集方式
WO2000077606A2 (en) * 1999-06-11 2000-12-21 Storage Technology Corporation Intelligent storage area network
JP2001109581A (ja) * 1999-09-07 2001-04-20 Key Technology Corp ハードディスクシステム
WO2001035188A2 (en) * 1999-11-12 2001-05-17 Crossroads Systems, Inc. Method and system for mapping addressing of scsi devices between storage area networks
JP2001202201A (ja) * 2000-01-21 2001-07-27 Nec Corp 装置管理方式
JP2001291345A (ja) * 2000-04-05 2001-10-19 Toshiba Corp データ記録再生装置
JP2001337863A (ja) * 2000-05-24 2001-12-07 Hitachi Ltd 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP2001344188A (ja) * 2000-05-31 2001-12-14 Toshiba Corp ディスクアレイ装置
JP2002023963A (ja) * 2000-05-02 2002-01-25 Internatl Business Mach Corp <Ibm> 記憶装置への好ましいパスを選択するための方法、システム、および媒体
JP2002063063A (ja) * 2000-06-05 2002-02-28 Fujitsu Ltd ストレージエリア・ネットワーク管理システム
JP2002132549A (ja) * 2000-10-23 2002-05-10 Hitachi Ltd 論理ボリューム管理方法、これを利用したサービスおよびそのサービスを記録したコンピュータ読み取り可能な記録媒体
WO2002052809A2 (en) * 2000-12-22 2002-07-04 Emc Corporation Method and apparatus for preventing unauthorized access by a network device
JP2002520730A (ja) * 1998-07-15 2002-07-09 サトミン ストレージ コーポレイション 高速テープ位置決め操作を実行するのためのシステムおよび方法
JP2002524974A (ja) * 1998-09-02 2002-08-06 ヒュンダイ エレクトロニクス アメリカ マルチポートパケットプロセッサ
JP2002259355A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 多重系システム
JP2002278909A (ja) * 2001-03-19 2002-09-27 Toshiba Corp 管理パス切り替え方法及び管理パス切り替えが可能な高可用性ストレージシステム
JP2002305619A (ja) * 2001-04-06 2002-10-18 Ricoh Co Ltd 画像形成装置総合管理システム
JP2002540501A (ja) * 1999-03-19 2002-11-26 フィーニックス テクノロジーズ リミテッド メモリ・ベースのデバイス・エミュレーションを実現する方法およびシステム

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
EP1028375B1 (en) * 1994-12-13 2003-06-18 Microsoft Corporation Data transfer with expanded clipboard format
US5666501A (en) * 1995-03-30 1997-09-09 International Business Machines Corporation Method and apparatus for installing software
US6697868B2 (en) * 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
JP4412685B2 (ja) * 1998-09-28 2010-02-10 株式会社日立製作所 記憶制御装置及びこれを用いたデータ格納システムの取り扱い方法
KR100313949B1 (ko) * 1998-11-11 2002-09-17 엘지.필립스 엘시디 주식회사 멀티도메인액정표시소자
US6425034B1 (en) * 1998-10-30 2002-07-23 Agilent Technologies, Inc. Fibre channel controller having both inbound and outbound control units for simultaneously processing both multiple inbound and outbound sequences
EP1087293A3 (en) * 1999-09-24 2006-02-01 Hitachi, Ltd. A computer system and a program install method thereof
US7424529B2 (en) * 1999-12-10 2008-09-09 International Business Machines Corporation System using host bus adapter connection tables and server tables to generate connection topology of servers and controllers
US7103653B2 (en) * 2000-06-05 2006-09-05 Fujitsu Limited Storage area network management system, method, and computer-readable medium
US7401139B1 (en) * 2000-09-07 2008-07-15 International Business Machines Corporation Storage area network management and configuration method and apparatus via enabling in-band communications
US7065564B2 (en) * 2000-12-22 2006-06-20 Canon Kabushiki Kaisha Network system, method and apparatus for processing information, and control program
US20020111972A1 (en) * 2000-12-15 2002-08-15 Virtual Access Networks. Inc. Virtual access
US6857059B2 (en) * 2001-01-11 2005-02-15 Yottayotta, Inc. Storage virtualization system and methods
US6920491B2 (en) * 2001-04-25 2005-07-19 Sun Microsystems, Inc. Fabric device configuration interface for onlining fabric devices for use from a host system
US7343410B2 (en) * 2001-06-28 2008-03-11 Finisar Corporation Automated creation of application data paths in storage area networks
JP3547411B2 (ja) * 2001-07-19 2004-07-28 株式会社日立製作所 記憶システム
US6811754B2 (en) * 2001-07-25 2004-11-02 Cherie G. House Biological specimen collection apparatus
US6978282B1 (en) * 2001-09-04 2005-12-20 Emc Corporation Information replication system having automated replication storage
US7177935B2 (en) * 2001-10-05 2007-02-13 International Business Machines Corporation Storage area network methods and apparatus with hierarchical file system extension policy
US7133907B2 (en) * 2001-10-18 2006-11-07 Sun Microsystems, Inc. Method, system, and program for configuring system resources
US6965559B2 (en) * 2001-10-19 2005-11-15 Sun Microsystems, Inc. Method, system, and program for discovering devices communicating through a switch
US6883065B1 (en) * 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
US7159015B2 (en) * 2001-11-16 2007-01-02 Sun Microsystems, Inc. Method and apparatus for managing configuration information in a distributed computer system
US7873984B2 (en) * 2002-01-31 2011-01-18 Brocade Communications Systems, Inc. Network security through configuration servers in the fabric environment
US6683883B1 (en) * 2002-04-09 2004-01-27 Sancastle Technologies Ltd. ISCSI-FCP gateway
US20030196007A1 (en) * 2002-04-12 2003-10-16 Baron John M. Device-resident driver system and method
US20030208581A1 (en) * 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US20030217358A1 (en) * 2002-05-17 2003-11-20 Sun Microsystems, Inc. Method, system, and article of manufacture for firmware downloads
US6941429B1 (en) * 2002-06-25 2005-09-06 Emc Corporation System and method for improving performance of a data backup operation
US20040143642A1 (en) * 2002-06-28 2004-07-22 Beckmann Curt E. Apparatus and method for fibre channel data processing in a storage process device
US20040148376A1 (en) * 2002-06-28 2004-07-29 Brocade Communications Systems, Inc. Storage area network processing device
US7243144B2 (en) * 2002-09-26 2007-07-10 Hitachi, Ltd. Integrated topology management method for storage and IP networks
US20040136374A1 (en) * 2003-01-14 2004-07-15 Ballard Curtis C. Backplane system and method for its use

Patent Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59180765A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd 二重化ボリウム管理方式
JPS60258638A (ja) * 1984-06-06 1985-12-20 Fujitsu Ltd 磁気デイスク装置の制御方式
JPS63172549A (ja) * 1987-01-12 1988-07-16 Nippon Telegr & Teleph Corp <Ntt> 選択着信装置
JPH01171045A (ja) * 1987-12-26 1989-07-06 Fujitsu Ltd 外部記憶装置制御方式
JPH0440525A (ja) * 1990-06-06 1992-02-10 Seiko Epson Corp 並列処理型マイクロプロセッサ
JPH0446436A (ja) * 1990-06-14 1992-02-17 Nec Corp パケット交換網の網管理方法と網管理装置
JPH04364514A (ja) * 1991-06-11 1992-12-16 Mitsubishi Electric Corp デュアルポートディスク制御装置
JPH06152772A (ja) * 1992-11-09 1994-05-31 Matsushita Electric Ind Co Ltd 通信システムの機器異常情報管理装置、機器アダプタ、機器異常情報管理ユニット、通報ユニット、センター装置及び機器異常情報管理方法
JPH0965289A (ja) * 1995-05-30 1997-03-07 Internatl Business Mach Corp <Ibm> 階層マルチメディア配布システム
JPH104407A (ja) * 1996-06-17 1998-01-06 Nec Corp ネットワーク管理装置および方法
JPH11127198A (ja) * 1997-08-01 1999-05-11 Hewlett Packard Co <Hp> パケット網の使用に関する情報を収集する方法及び装置
JPH11164253A (ja) * 1997-08-29 1999-06-18 Lg Electron Inc メモリ制御方法及びこれを用いたデジタル記録/再生装置
JPH11203058A (ja) * 1998-01-12 1999-07-30 Nec Corp ディスクアレイ装置
JP2000006483A (ja) * 1998-06-18 2000-01-11 Seiko Epson Corp プリンタ、印刷命令生成装置および印刷システム
JP2002520730A (ja) * 1998-07-15 2002-07-09 サトミン ストレージ コーポレイション 高速テープ位置決め操作を実行するのためのシステムおよび方法
JP2002524974A (ja) * 1998-09-02 2002-08-06 ヒュンダイ エレクトロニクス アメリカ マルチポートパケットプロセッサ
JP2002540501A (ja) * 1999-03-19 2002-11-26 フィーニックス テクノロジーズ リミテッド メモリ・ベースのデバイス・エミュレーションを実現する方法およびシステム
JP2000276306A (ja) * 1999-03-24 2000-10-06 Hitachi Ltd ネットワーク接続ディスク装置
WO2000058842A1 (en) * 1999-03-30 2000-10-05 Mcdata Corporation Interconnection architecture for managing multiple low bandwidth connections over a high bandwidth link
JP2002540701A (ja) * 1999-03-30 2002-11-26 マックデータ・コーポレーション 高帯域幅リンクを介した多数の低帯域幅接続を管理する相互接続アーキテクチュア
JP2000330925A (ja) * 1999-05-19 2000-11-30 Nec Corp 装置内アドレス収集方式
WO2000077606A2 (en) * 1999-06-11 2000-12-21 Storage Technology Corporation Intelligent storage area network
JP2003502751A (ja) * 1999-06-11 2003-01-21 ストレイジ・テクノロジー・コーポレイション インテリジェント記憶領域ネットワーク
JP2001109581A (ja) * 1999-09-07 2001-04-20 Key Technology Corp ハードディスクシステム
JP2003531416A (ja) * 1999-11-12 2003-10-21 クロスローズ・システムズ・インコーポレイテッド 格納領域ネットワーク間でscsiデバイスのアドレスをマッピングするための方法およびシステム
WO2001035188A2 (en) * 1999-11-12 2001-05-17 Crossroads Systems, Inc. Method and system for mapping addressing of scsi devices between storage area networks
JP2001202201A (ja) * 2000-01-21 2001-07-27 Nec Corp 装置管理方式
JP2001291345A (ja) * 2000-04-05 2001-10-19 Toshiba Corp データ記録再生装置
JP2002023963A (ja) * 2000-05-02 2002-01-25 Internatl Business Mach Corp <Ibm> 記憶装置への好ましいパスを選択するための方法、システム、および媒体
JP2001337863A (ja) * 2000-05-24 2001-12-07 Hitachi Ltd 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP2001344188A (ja) * 2000-05-31 2001-12-14 Toshiba Corp ディスクアレイ装置
JP2002063063A (ja) * 2000-06-05 2002-02-28 Fujitsu Ltd ストレージエリア・ネットワーク管理システム
JP2002132549A (ja) * 2000-10-23 2002-05-10 Hitachi Ltd 論理ボリューム管理方法、これを利用したサービスおよびそのサービスを記録したコンピュータ読み取り可能な記録媒体
WO2002052809A2 (en) * 2000-12-22 2002-07-04 Emc Corporation Method and apparatus for preventing unauthorized access by a network device
JP2004516590A (ja) * 2000-12-22 2004-06-03 イーエムシー コーポレイション ネットワーク装置による不正アクセスを防止するための方法および装置
JP2002259355A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 多重系システム
JP2002278909A (ja) * 2001-03-19 2002-09-27 Toshiba Corp 管理パス切り替え方法及び管理パス切り替えが可能な高可用性ストレージシステム
JP2002305619A (ja) * 2001-04-06 2002-10-18 Ricoh Co Ltd 画像形成装置総合管理システム

Also Published As

Publication number Publication date
WO2004038699A3 (en) 2005-06-23
EP1563397A2 (en) 2005-08-17
JP2014059888A (ja) 2014-04-03
US10375165B2 (en) 2019-08-06
JP2006504187A (ja) 2006-02-02
US20140222958A1 (en) 2014-08-07
JP2010182313A (ja) 2010-08-19
WO2004038699A2 (en) 2004-05-06
US20040103220A1 (en) 2004-05-27
JP5438613B2 (ja) 2014-03-12

Similar Documents

Publication Publication Date Title
JP5438613B2 (ja) 遠隔管理システム
US5021949A (en) Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network
US4893307A (en) Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network
EP1303096B1 (en) Virtual network with adaptive dispatcher
US6584499B1 (en) Methods and apparatus for performing mass operations on a plurality of managed devices on a network
US6654750B1 (en) Network management system having a network database
US6769022B1 (en) Methods and apparatus for managing heterogeneous storage devices
US7694312B2 (en) Methods and apparatus for enabling bus connectivity over a data network
US7930583B1 (en) System and method for domain failure analysis of a storage area network
US6681243B1 (en) Network environment supporting mobile agents with permissioned access to resources
US7080134B2 (en) Systems and methods for software distribution and management
FI113927B (fi) Menetelmä verkkopakettien sieppaamiseksi tietokonelaitteessa
US20040030768A1 (en) Unified system and method for downloading code to heterogeneous devices in distributed storage area networks
US6772205B1 (en) Executing applications on a target network device using a proxy network device
US20030005039A1 (en) End node partitioning using local identifiers
US8010973B2 (en) Class loader for managing a network
EP1154601A1 (en) Modular routing system with Routing Application Programm Interface (API)
US6952830B2 (en) System and method to uniformly access devices
WO1996018948A9 (en) Method and apparatus for providing simple, secure management of remote servers
US6757289B1 (en) Apparatus and method for managing communication between a failed application and other executing applications
US7735095B2 (en) Network device drivers using a communication transport
US6718377B1 (en) Telecommunications network management system interface
EP1088422B1 (en) A telecommunication controller messaging system
WO2003017101A2 (en) System and method for distributed device control
GB2398654A (en) Information system management

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120621

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120920

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121024

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121120

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130701

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130805

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131213

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees