JP2003532193A - 記憶ユニットの計画的なマスキング - Google Patents

記憶ユニットの計画的なマスキング

Info

Publication number
JP2003532193A
JP2003532193A JP2001579114A JP2001579114A JP2003532193A JP 2003532193 A JP2003532193 A JP 2003532193A JP 2001579114 A JP2001579114 A JP 2001579114A JP 2001579114 A JP2001579114 A JP 2001579114A JP 2003532193 A JP2003532193 A JP 2003532193A
Authority
JP
Japan
Prior art keywords
node
programmable
data structure
computer
storage units
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
JP2001579114A
Other languages
English (en)
Other versions
JP3965052B2 (ja
Inventor
ウェイランド ピーター
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003532193A publication Critical patent/JP2003532193A/ja
Application granted granted Critical
Publication of JP3965052B2 publication Critical patent/JP3965052B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Mechanical Pencils And Projecting And Retracting Systems Therefor, And Multi-System Writing Instruments (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 システムおよび方法は、1または複数のノード(12)と共有記憶ユニットなどの複数の関連付けられた装置(16、18、20、22)との間のアクセスを計画的に管理することが開示されている。各ノード(12)は、関連付けられた装置(16、18、20、22)が各々のノード(12)の範囲内にあるべきか否かを特定するデータ構造(40、46)を含むようにプログラムされる。データ構造(40、46)は、永続的および/または一時的リスト(48、50)を含むことができる。各装置(16、18、20、22)は、所定のインタフェース(60、70、80、90)を使用することによって、ノード(12)のデータ構造(40、46)を動的に修正することによりノード(12)に関連して計画的にマスクすることができる。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、一般に、装置へのアクセスを制御することに関し、より詳細には、
ホストシステムに動作可能に接続された1または複数の装置へのホストシステム
によるアクセスを計画的に管理するシステムおよび方法に関する。
【0002】 (背景技術) 競争力を維持し、技術的な変更に対処するために、コンピュータシステムは、
益々強力に、さらに複雑化している。この主な誘因は、大規模なデータベースの
応用、およびよりデータ集約的な応用である。システムが複雑さを増すにつれて
、改良されたデータ記憶と通信機能に対する需要も高まってきた。コンピュータ
のアーキテクチャは、従来、記憶装置が取り付けられているホストコンピュータ
またはノードによって、記憶装置が「所有される」という原則に基づいていた。
最近では、コンピュータのアーキテクチャのモデルは、より多くの知能をデータ
記憶装置およびチャネルに移動して、データ伝送および記憶を容易にする。
【0003】 チャネルとネットワークは、典型的には、プロセッサ間およびプロセッサと周
辺装置との間で使用されるデータ通信トポロジの2つの基本的な種類である。「
チャネル」は、通信装置間に直接またはスイッチされたポイント・ポイント接続
を実現する。このチャネルの主なタスクは、最も遅延を少なくして可能な限り最
高のデータ転送率でデータを転送することである。チャネルは、典型的には、ハ
ードウェアで簡単なエラー訂正を実行する。「ネットワーク」は、対照的に、ノ
ード間の対話をサポートする固有のプロトコルを有する分散したノード(例えば
、ワークステーション、大容量記憶装置など)の集合体である。典型的には、各
ノードは、伝送媒体を争奪し、ネットワーク上のエラー状態を認知することがで
きなければならず、そのエラー状態から復帰するために必要とされるエラー管理
を提供する必要がある。
【0004】 通信相互接続の複合タイプは、ファイバチャネルであり、チャネルとネットワ
ーク技術の両方の利点を結合することを試みる。ファイバチャネルプロトコルは
、American National Standard for Information Systems(ANSI)の下で開
発され、採用されている。換言すれば、ファイバチャネルは、ワークステーショ
ン、スーパーコンピュータ、および様々な周辺装置間での並行した通信を可能に
する交換プロトコルである。ファイバチャネルによって提供される全体的なネッ
トワーク帯域幅は、およそ秒速1テラビットになる場合がある。ファイバチャネ
ルは、双方向同時に秒速1ギガビット超の速度でフレームを伝送することができ
る。光ファイバおよび銅ケーブルの両方を介して、IP(Internet Protocol)
、SCSI(Small Computer System Interface)、HIPPI(High Performa
nce Parallel Interface)、およびIPI(Intelligent Peripheral Interface
)などの既存のプロトコルに従って、コマンドおよびデータを転送することもで
きる。
【0005】 ファイバチャネルの発展および標準化は、データ記憶に関して重大な影響を有
している。ファイバチャネルは、他の従来型データ記憶トポロジよりも、より高
速のアクセスと、さらに遠距離(例えば、10km超)のアクセスとを可能にす
る。ファイバチャネルによって装置間の距離をさらに延長することができるので
、記憶装置を遠隔に配置することによって、災害復帰状況において利点を有する
。ファイバチャネルが重大な関心をよせるある特定のデータ記憶のアリーナ(ar
ena)は、共有記憶システムであり、複数のホストが関連付けられた記憶装置の
ネットワークに対するアクセスを共有することができる記憶領域ネットワーク(
SAN:Storage Area Network)などである。
【0006】 典型的なSANアーキテクチャは、複数の記憶システムと論理的に分離された
ネットワークから構成されている。記憶システムは、ディスク、テープなどの事
実上いかなるタイプの記憶装置も含むことができる。ネットワーク部分は、アダ
プタ、配線、ブリッジ、ハブ、スイッチ、およびディレクタ(directors)を含
む。換言すれば、アダプタは、サーバおよび周辺装置をネットワークの配線(例
えば、光ファイバまたは他の配線)に取り付ける。ブリッジは、例えば、SCS
Iからファイバチャネルへ、一方のプロトコルから他方のプロトコルに変換する
。ハブ、スイッチ、およびディレクタは、典型的なSANデータバスに中央接続
点とルーティング機能を提供する。SAN環境によって、複数の記憶装置は、複
数のホストマシンによってアクセスすることができる共有記憶プールとみなすこ
とができる。複数の装置が、同時に所与の記憶装置に対するアクセスを要求する
場合があるので、SANの記憶装置に対するアクセスを管理する際に問題が発生
する場合がある。
【0007】 ハードウェアベースのスイッチングアーキテクチャは、SANに接続された記
憶装置に対するアクセスを選択的に制御することを提案してきた。例えば、ファ
イバチャネルスイッチを、SANにおける個々のファイバチャネルノードの機能
を制限するゾーンを生成し、相互に、および関連付けられた記憶装置と通信する
のに使用する。複数の記憶装置が論理ユニットのアレイ(例えば、キャビネット
内)として構成されている記憶装置のアーキテクチャでは、別の手法でハードウ
ェアベースのLUNマスキングを実施する。LUNマスキングでは、スイッチが
使用され、通常SANにおいて、ホストマシンと関連付けられた記憶装置に対応
する選択された論理ユニットとの間のアクセスを制御する。例えば、ファイバチ
ャネルスイッチは、特定のコマンドがどのファイバチャネルノードおよびどの論
理ユニット番号を対象とするかを決定し、論理ユニット番号レベルでマスキング
を実行する。
【0008】 しかしながら、ハードウェアのスイッチを制御するために使用するインタフェ
ースに関して不十分な標準しか開発されていないので、大部分のシステムではL
UNマスキングを有効に実施することは困難な場合がある。具体的には、各記憶
装置およびホストマシンの管理インタフェースは、通常、製造業者によって異な
る。従って、システムが異なる製造業者による記憶装置および/またはホストマ
シンを備えているとき、異なるインタフェースが、要求される。さらに、ハード
ウェア自体(例えば、スイッチおよびキャビネット)は、それらを共有記憶用に
使用することを要求する、小規模な組織にとっては、法外に高価な場合がしばし
ばある。同様に、SANシステムに接続されている様々なホストマシンが、様々
なオペレーティングシステムを使用する場合には、様々なマシンが同じ記憶装置
(または論理ユニット)に同時にアクセスを試みると問題が発生する場合がある
。加えて、複数のホストが同じ記憶装置に接続されている場合、各ホストによる
装置の定期的な監視によるなど、ファイルシステムが破損する確率が高まる。
【0009】 (発明の開示) 本発明は、ノードと、記憶ユニットなどの1または複数の関連付けられた装置
との間のアクセスを、計画的に管理するシステムおよび方法に関する。ノードに
1または複数のデータ構造をプログラムして、関連付けられた装置がノードの範
囲内にあるか否かを示すことができる。ノードの範囲は、ノードのデータ構造に
基づいて決定されるが、これはデータ構造を計画的に修正することによって動的
に変更することができる。
【0010】 本発明の一態様によれば、ノードに取り付けられた装置を特定するためにイン
タフェースが使用される。例えばノードは、ノードに取り付けられた装置を示す
第1のデータ構造を有する。ノードは、関連付けられた装置がノードに関係して
隠蔽されるか露出されるかを示す第2のデータ構造も有する。例えば、第2のデ
ータ構造は、どの装置がノードの範囲内にあるかを示す包含リストの形式であっ
ても、および/またはどの特定された装置がノードの範囲内にないかを示す排他
リストであってもよい。計画に従ったインタフェースを使用して、選択された方
法で第2のデータ構造を修正することができる。従って、選択され取り付けられ
た装置は、動的にノードの範囲に入れ、および/または出すことができる。共有
記憶システムでは、インタフェースは、共有記憶装置の管理を単純化し、装置の
競合を軽減する。本発明によって構成されているノードのブートタイムを低減す
ることができる。オペレーティングシステムは、ノードの第2のデータ構造に基
づいて関連付けられた装置へのアクセスと実装とを必要とするからである。
【0011】 本発明の別の態様によれば、ノード上の1または複数のコントローラを、複数
のターゲット記憶ユニットを有する共有記憶システムに動作可能に結合すること
ができる。各コントローラは、プログラム可能なデータ構造を使用し、これは、
コントローラに対して機能的に露出または隠蔽されるべきノードに動作可能に取
り付けられた、関連付けられた装置を規定する。データ構造は、永続的および/
または一時的な構成要素を含むことができる。一時的および/または永続的構成
要素を、所定の方法で使用されるインタフェースによって修正することができる
。装置オブジェクトは、コントローラのデータ構造によって規定されるように、
関連付けられた装置ごとにコントローラで生成される。各装置オブジェクトは、
クラスドライバなどの高レベルのオブジェクトにリンクされ、コントローラから
のコマンドに応じて関連付けられた装置の動作を制御する。
【0012】 本発明の別の態様によれば、関連付けられた装置に対する装置オブジェクトは
、ノードのデータ構造に対する変更に基づいて、動的に削除(または追加)され
る。例えば、装置オブジェクトが削除されると、高レベルの装置オブジェクト(
例えば、クラスドライバ)は、各々の装置オブジェクトに対してロードされず、
対応する装置は、最早ノードの範囲内にはない。従って、従来型の通信機構(例
えば、読み取りおよび/または書き込みコマンド)は、装置と通信することが禁
止される。しかしながら、第2のノードに対する装置オブジェクトを、関連付け
られた装置に対して生成し(例えば、第2のノードのデータ構造を計画的に修正
することによって)、第2のノードと関連付けられた装置との間に通信チャネル
を確立することができる。この方法で、本発明の一態様を使用して、1組の相互
接続されたノード間で装置を計画的にスワップすることを容易にすることができ
る。
【0013】 本発明のさらに別の態様によれば、装置オブジェクトと関連付けられた装置の
高レベルの装置オブジェクトとの間のリンクは、関連付けられた装置がノードの
データ構造によって特定されるか否かによって動的に切断または追加することが
できる。装置オブジェクトと高レベルの装置オブジェクトとの間のリンクが切断
されるとき、関連付けられた装置は、最早ノードの範囲内にはなく、関連付けら
れた装置へのノードによるアクセスはブロックされる。新しい高レベルの装置オ
ブジェクトを生成し、装置オブジェクトにリンクして、ノードのデータ構造の計
画的な変更に応じるなどして、ノードに対して関連付けられた装置を露出するこ
とができる。
【0014】 (本発明を実行するためのモード) 本発明は、ノードと、記憶の機能単位などの1または複数の関連付けられた装
置との間のアクセスを計画的に管理するシステムおよび方法に関する。1または
複数のデータ構造を、ノードにプログラムして、関連付けられた装置がノードの
範囲内にあるか否かを特定することができる。ノードの範囲は、各関連付けられ
た装置がノードに関連して機能的に露出されているか隠蔽されているかを規定す
る。ノードの範囲を、本発明の一態様にかかるデータ構造を計画的に修正するこ
とによって動的に変更することができる。
【0015】 図1は、本発明にかかるマスキングを実施するようにプログラムすることがで
きるシステム10の簡略化されたブロック図である。システムは、バス14を介
して複数の装置16、18、20および22に動作可能に結合されるノード12
を含む。ノードは、クライアントマシン、ワークステーション、サーバ、または
他のマシンなどのコンピュータである。装置16、18、20、および22は、
ノード12と関連して使用することのできる記憶の機能単位(例えば、ハードデ
ィスクドライブ、CD−ROM、DVD、テープ)、または他の周辺装置の形態
とすることができる。バス14は、ノード12と記憶装置16、18、20、お
よび22との間でデータ通信を可能にするネットワーク、チャネルまたは他の接
続手段の形態とすることができる。
【0016】 本発明の一態様によると、ノード12は、関連付けられたデータ構造を有する
コントローラ24を含み、これは、1または複数のプログラム可能なリストなど
、ノードによって使用されるマスキングパラメータを決定するための範囲基準を
規定する。特に別の方法で記され、または文脈によって異なる解釈が要求されな
い限り、本明細書および頭記の特許請求の範囲で使用する「マスキング」という
用語は、最も広義に解釈されるべきであり、この用語のこのような解釈は、頭記
の特許請求の範囲に含まれる点を意図することを理解し認識されたい。例えば、
ノードに関する装置を「マスクする」ということは、その装置をノードの範囲内
に入れること、およびその装置をノードの範囲から出すことの両方を含むことが
できる。装置がノード12の範囲内にない場合、装置がノードのソフトウェアの
上層に対して隠蔽されているので、ノードと装置との間の通信はブロックされる
。対照的に、装置がノード12の範囲内にある場合、ノードは、適切な通信プロ
トコルを使用して装置にアクセスすることができる。
【0017】 図2a〜2cは、ノード12のオペレーティングシステム(例えば、ドライバ
スタック)の特徴を表す機能ブロック図であり、これを、ノードとノードに動作
可能に結合されている装置(図示せず)との間の通信経路をマスクするようにプ
ログラムし、および/または構成することができる。図2aを参照すると、ノー
ド12は、例えば、SCSIバスアダプタであるホストバスアダプタ28を含む
。ホストバスアダプタ28は、関連付けられたバスを介してノード12とノード
に動作可能に接続された装置との間の通信経路またはチャネルを管理するように
構成されおよび/またはプログラムされたコントローラ30を含む。具体的には
、コントローラ30は、バスに接続された装置の装置オブジェクト32a、32
b、32c(「装置オブジェクト32」という)を生成する。各装置オブジェク
ト32は、例えば装置の位置(例えば、論理ユニット番号)と装置の動作特性と
を含めて、装置を特定する機能的な装置オブジェクトである。本明細書で使用さ
れる装置という用語は、例えば、ハードウェア装置または記憶装置に関連付けら
れたデータ記憶の論理ユニットなどの装置の機能単位に相当するように、広義に
解釈されるよう意図されることを理解されたい。
【0018】 別の高レベルの装置オブジェクト34a、34b、34c(「高レベルの装置
オブジェクト34」という)は、各々の装置オブジェクト32a、32b、32
cに対してロードされる。各高レベルの装置オブジェクト34a、34b、34
cは、36a、36b、36cで示された動作可能なリンクを介して、各々の装
置オブジェクトに関連付けられる。高レベルの装置オブジェクト34は、例えば
、クラスドライバなどの物理的装置オブジェクトであり、これは、ノード12の
コントローラ30の要求に応じて、対応する装置に適切なコマンドを提供しまた
は提供されることによって、関連付けられた装置の動作を制御する。高レベルの
装置オブジェクト34が関連付けられた装置オブジェクト32にロードされリン
クされると、対応する装置は、ノードの範囲内にある(例えば、ノードは、対応
する装置にアクセスすることができる)。
【0019】 ノード12、またはより具体的にコントローラ30は、装置とノードとの機能
上の関係を示す情報を記憶するデータ構造40を含む。一例として、データ構造
40の一態様は、コントローラのバスに動作可能に接続されているすべての装置
を特定するデータベースまたはリスト42(以下、「ワールドリスト42」とい
う)に相当する。ワールドリスト42は、本発明に関して、ノード12に関連し
て機能的に露出および隠蔽される装置を含む。データ構造40の別の一態様は、
インスタンス生成される装置オブジェクトを有するすべての装置を特定するデー
タベースまたはリスト44である。すなわち、オブジェクトのインスタンス生成
されたリスト44は、装置オブジェクト32が存在するコントローラ30(また
は、ノード12)に動作可能に接続されている装置を特定する。
【0020】 データ構造40の第3の態様は、範囲制御データ構造46であり、適切にはノ
ード12に対するマスキング基準の作業マップを記憶しているリスト(以下、「
範囲制御リスト46」という)の形式をとる。範囲制御リスト46は、プログラ
ム可能であり、マスキング基準を修正して、システムのブートを必要とせずに、
選択された装置を動的にノード12の範囲内に入れおよび/または範囲外に出す
ようにすることができる。マスキング基準は、例えば、排他リスト、包含リスト
、またはその両方を含むことができる。リスト(包含または排他)を、いかなる
形式のデータ構造により構成することができる。包含リストは、ノードの範囲内
にある装置を規定する(その論理ユニット番号または他の識別特性に従うことに
より)。対照的に排他リストは、ノードの範囲内にない装置を特定する。すなわ
ち、排他リストにないすべての装置は、ノードの範囲内にある。従って、排他リ
ストが使用される場合、新しい装置がノード12に動作可能に結合されると、そ
の装置を、例えばPNP(Plug-n-Play)制御を使用して、ノードに対して露出
する。マスキング規準を包含リストと排他リストのどちらの形式で提供するかは
、一般的に言って設計の選択の問題である。システム構成およびマスキングが実
施されているという理由に応じて、それぞれに利点を有するからである。
【0021】 簡約化のため、以下の例は、包含リストの装置がノードの範囲内である包含リ
ストとして範囲制御リスト46を記述する。しかしながら、本明細書に記載の原
理は、包含リストと排他リストの両方に同等に適用可能であることを理解された
い。さらに、範囲制御リスト46は、ノードのコントローラ30に動作可能に関
連付けられているように記載されているが、他のデータ記憶構成を使用すること
もできることを理解されたい。例えば、共通の範囲制御データ構造を、ノード1
2に対して維持し、ノード12に関連してどの装置がマスクされるかを広くグロ
示すことができる。別法として、範囲制御リストは、バスごとに別個に維持する
こともできる。
【0022】 本発明の一態様によれば、2つの種類の包含(および/または排他)リストを
、範囲制御リスト46、すなわち永続的包含リスト48と一時的包含リスト50
とに動作可能に関連付けることができる。「永続的」および「一時的」という用
語は、各々のリストの記憶特性に関する。例えば、一時的包含リストは、システ
ムのリブートまたは対応するコントローラのディスエーブルでは存続しない。例
えば、一時的リスト50は、RAMなどのノードの一時的メモリ(例えば、揮発
性記憶装置)に記憶され、システムが実行中でありコントローラ30がイネーブ
ルされている限り維持される。永続的包含リスト48は、システムのリブートま
たはクラッシュ、並びに電力損失やコントローラ30またはノード12がディス
エーブルされたときなど、類似の状況で存続できることが好ましい。例えば、永
続的リストは、システムレジストリなどの永続的メモリ(例えば、不揮発性記憶
装置)に記憶される。永続的および一時的包含リスト48、50は、各々プログ
ラム可能であり、例えば、管理者または高レベルのサービスが選択されたリスト
を修正し、その結果ノード12の範囲を動的に変更することができる。いくつか
のインタフェース(例えば、API(Application Program Interface))が提
供されて、例えば、選択された複数のリストの内容を閲覧し、または選択された
リストの内容を計画的に変更することができる。
【0023】 一例として、本発明に関して、SET_INCLUSION_LISTインタフェース(またはA
PI)などのインタフェース60が提供されて、ノード12に関連する装置の計
画的なマスキングをイネーブルする。高レベルのアプリケーション(またはサー
ビス)または管理者などのエージェントは、インタフェース60を使用して、包
含(および/または排他)リストを修正する。インタフェース60によって、1
または複数の装置の対応する識別データが、適切な包含リスト(永続的または一
時的)から削除(または追加)される。高レベルのアプリケーションまたはシス
テム管理者によってインタフェース60に提供された命令は、リストに対する変
更の種類および範囲を決定する。
【0024】 特定の装置がノード12の範囲内にあるか否かを制御することに加え、範囲制
御リストを完全に削除することが望ましい場合もあり、範囲制御リストに関連付
けられたマスキング特性が、システムの動作に影響を与えないようにする(例え
ば、マスキングがまったく試みられないように)。このような操作を、例えば包
含リストに対して実施するためには、CLEAR_INCLUSION_LISTインタフェース70
などの適切なインタフェースまたはAPIを提供することができる。管理者(手
動で)または高レベルのアプリケーション(開始された操作)は、どの包含リス
ト(または複数の包含リスト)が削除されるべきかを示すことによってインタフ
ェース70を使用することができる。このインタフェース70の効果は、範囲制
御リストの種類に従って決定される。例えば、1つのリストだけが存在し、その
リストがCLEAR_INCLUSION_LISTインタフェースを使用して削除される場合、シス
テムは、例えばシステムで見えるすべての装置を露出することができるデフォル
トの動作に戻る。別法として、混合している範囲制御リストがある場合(例えば
、包含リストと排他リストの両方がある場合)、システムの動作は、どちらのリ
ストが削除されているかに従って変わる。例えば、包含リストがインタフェース
を介して削除される場合、排他リストで特定されたすべての装置は、排除される
。排他リストが混合リストから削除される場合、包含リストで特定されるすべて
が包含される。ノードの範囲を修正する操作は、例えば、以下に記載の手法の1
つによって行われる。すなわち、装置オブジェクト自体を削除または追加するこ
ともでき(例えば、図2Bを参照)、または装置オブジェクトと各々のクラスド
ライバとの間のリンクを切断または作成することができる(例えば、図2Cを参
照)。
【0025】 包含(または排他)リストの現在の状態を決定するために、ノード、管理者ま
たはアプリケーションは、GET_INCLUSION_LISTインタフェース80などの別のイ
ンタフェースを使用して、現在の包含リスト(一時的および/または永続的)を
示す情報を戻すこともできる。GET_INCLUSION_LISTインタフェース80は、あら
ゆるアプリケーションまたはユーザによって、ノードにおいてアクセスすること
ができる。
【0026】 別のインタフェースQUERY_ATTACHED_DEVICES90を使用して、コントローラに
取り付けられた装置のリストを、各々の装置の識別特性と共に戻すことができる
。例えば、SCSI照会に応じた照会データの取り出しに基づくことができ、ノ
ードに関連付けられたあらゆるユーザまたはアプリケーションによって、これに
アクセスすることができる。
【0027】 図2bは、本発明の特定の一態様によって、装置がノード12の範囲内にある
か否かを制御するために使用することができる手法の機能図を示す。プライムシ
ンボル(’)を付した類似の参照番号は、図2aに関して既に特定された対応す
る構成要素を示す。具体的には、この手法は、関連付けられた装置オブジェクト
32c’を操作すること(例えば、追加することまたは削除すること)に関し、
関連付けられた装置に関連するノードでマスキングを実施する。一例として、現
在露出されている装置をノード12’の範囲から削除するために、特定の装置に
関連付けられた装置オブジェクト(例えば32c’)が削除される。これは、装
置オブジェクト32c(図2a)の欠損を示す参照文字32Xによって図2bに
示される。装置オブジェクトの削除を、例えば、SET_INCLUSION_LISTインタフェ
ース60’を使用することによって開始して、選択された装置を包含リストから
削除することができる。範囲制御リスト46’は、包含リストに変更を組み込む
。インタフェース60’は、PNPモジュールまたは専用インタフェース(図示
せず)に指示して、各々の装置オブジェクトを削除する。装置オブジェクト32
cの削除によって、対応するクラスドライバ34c(図2a)を削除またはアン
ロードする。装置は、インスタンス生成されたオブジェクト44’のリストから
も削除される。装置には装置オブジェクトもクラスドライバも関連付けられてい
ないので、ノード12に関連付けられたあらゆる高レベルオブジェクトまたはド
ライバを通して装置と通信することのできる有用なチャネルはなく、従って、装
置へのノードによるアクセスは完全にブロックされる。
【0028】 現在露出されていない装置をノード12の範囲内に入れるために、装置オブジ
ェクト32は、その装置のノードで計画的に生成される。図2bを参照すると、
これは、例えば、SET_INCLUSION_LISTインタフェース60’を使用する高レベル
アプリケーションまたは管理者によって実施され、その装置の適切な識別データ
を包含リストに追加することができる。インタフェース60’は、PNP制御ま
たは他のインタフェースに指示し、その装置の装置オブジェクトを追加する。そ
の装置のクラスドライバ34cは、ロードされ、装置オブジェクト32cに動作
可能にリンクされる(図2a参照)。その装置を、例えば、ノードと装置との間
に通信チャネルを確立中であるという理由に基づいて、永続的または一時的包含
リスト48’、50’に追加することができる。装置オブジェクト32cが作成
されると、その装置を、インスタンス生成されたオブジェクト44のリストに追
加する。追加中の装置がシステムにとって新しい装置である場合、これをワール
ドリスト42にも追加することができる。
【0029】 管理者または高レベルアプリケーションまたはモジュールは、CLEAR_INCLUSIO
N_LISTインタフェース70’を使用して、範囲制御リストを削除することができ
る。上記のように、装置がノード12の範囲内に入れられるか、この範囲から出
されるかは、そのリストが包含リストか排他リストかによって異なる。
【0030】 図2cは、本発明によって、装置がノード12”の範囲内にあるか否かを計画
的に制御するために、ノード12”で使用することができる別の手法の機能図で
ある。ダブルプライムシンボル(”)を付した類似の参照番号は、図2aに関し
て既に特定された対応する構成要素を示す。この手法では、ノードと装置との間
の通信チャネルを、装置オブジェクト32”と、その装置の対応する高レベルの
装置オブジェクト34”との間の動作可能なリンク36”を制御することによっ
てマスクすることができる。再度図2aを参照すると、例えば、装置に対して装
置オブジェクト32cと対応するクラスドライバ34cとが存在する場合、その
装置を、装置オブジェクトとクラスドライバとの間のリンク36cを動的に切断
する(または削除する)ことによって、ノード12の範囲から出すことができる
。これは、リンク36c(図2a)の欠損を示す参照番号36Xによって図2c
に示される。ノードの範囲内にはないが既にワールド42”の一部である装置を
、例えば、図2aに示すように装置オブジェクト32cと装置のクラスドライバ
34cとの間にリンク36cを追加することによって、ノード12”の範囲に入
れることができる。
【0031】 マスキングは、図2bに関して記載した手法と類似の方法で実施することがで
きる。すなわち管理者または高レベルのアプリケーションは、SET_INCLUSION_LI
STインタフェース60”などの適切なインタフェースを使用して、包含リスト(
一時的50”または永続的48”)を修正する。範囲制御リスト46”は、各々
の包含リストに変更を組み込む。インタフェース60”は、専用インタフェース
またはPNP制御に指示して、装置がノードに関連して機能的に隠蔽され、また
は露出されているかによってリンク36”を追加または切断する。ノード12”
に関連して露出されるべき装置(例えばシステムに接続されている新しい装置)
に対して、装置オブジェクトもクラスドライバも作成されていない場合、既に図
2aに関して示し、記載したように、対応する装置オブジェクト32cとクラス
ドライバ34cとが作成され、リンクされる。各装置オブジェクト32に関連付
けられたフラグを、論理値(TRUEまたはFALSE)にセットして、装置オ
ブジェクトがノードの範囲内にある可視の装置に相当するか否かを示すことがで
きる。
【0032】 図3は、ノード110が複数のバス130および140を介して複数のターゲ
ット装置120に動作可能に結合されるシステム環境100の一例を示す。ノー
ド110は、ノードと各ターゲット装置の間に通信経路(チャネル)を確立し、
制御するために、各々のバス130、140と動作可能に関連付けられたコント
ローラ150、160を含む。各ターゲット装置120は、それに関連付けられ
たターゲットアドレスを有し、1または複数の論理ユニット170を含む。論理
ユニット170は、例えば、各々のターゲット装置120の機能的記憶ユニット
にインタフェースを提供する。各論理ユニット170は、関連付けられた論理ユ
ニット番号(または他の識別特性)を有する。ノード110およびコントローラ
150と160は、図2A〜2Cに関して示し、記載したノードおよびコントロ
ーラと同様に機能するように構成される。具体的には、ノード110は、ノード
の範囲内にある1または複数の論理ユニットを特定するシステムレジストリに記
憶されている永続的包含リストを含むことができる。
【0033】 システムブートまたは初期化中に、永続的包含リストが使用され、ノード10
0と、リストによって示される各装置120または論理ユニット170との間に
通信経路またはチャネルを確立する。一例として、初期化中にノード110また
はコントローラ150および160は、システムレジストリに記憶されている永
続的包含リストに基づいて範囲制御リストをセットする。永続的リストが提供さ
れていない場合、ノードは、既定値により、ノードに動作可能に接続されている
すべての装置を機能的に露出するか、または装置を露出しないように構成するこ
とができる。以下の例では、初期の永続的包含リストが提供されていると想定し
ている。
【0034】 各コントローラ150、160は、バスをスキャンし、各ターゲット装置に関
連付けられた論理ユニット番号を決定するために、各々のバス130、140上
の各ターゲット120に照会を送る。コントローラ150および160は、追加
の照会を実行して、各論理ユニットに関連付けられた装置の種類を決定し、例え
ばシリアル番号などの各論理ユニットの特定の識別データを取得することができ
る。各コントローラ150、160は、さらに、その範囲制御リストをチェック
して、識別データに基づいて、装置または論理ユニットがリストの範囲内にある
か否かを判定する。論理ユニットがコントローラの範囲内にある場合、その論理
ユニットの装置オブジェクトが生成され、装置オブジェクトに関連付けられた適
切なフラグをセットすることによって、その論理ユニットを可視であるとしてマ
ーク付けすることができる。各装置オブジェクトに関連付けられた論理ユニット
特性も、インスタンス生成されたオブジェクトのリストに追加される。しかしな
がら、論理ユニットがノード110の範囲内にない場合、対応する装置オブジェ
クトは生成されない。しかしながら、どちらの場合でも、各論理ユニットの識別
特性は、ノード110のワールドリストに追加される。このプロセスは、各バス
130、140の各ターゲット装置120の各論理ユニット170がそれに応じ
て処理されるまで反復される。
【0035】 システムのブートなどのある種の環境下では、範囲制御リストからすべての項
目が削除されるヌル範囲制御リストを計画的にセットすることが望ましい場合が
ある。例えば、ヌル包含リストによって、すべての装置120または論理ユニッ
ト170は、ノード110の範囲から削除される。対照的に、ヌル排他リストに
よって、バスに取り付けられているすべての装置が範囲に含まれる。このような
状況では、ノード110は、包含リスト(永続的または一時的)で特定されたい
かなる装置をも有さず、従って、範囲制御リストによって特定される装置はない
。コントローラが包含リストを有しない場合、バススキャン中にバスに動作可能
に接続されている装置のチェックは実行されない。これは大幅にブートタイムを
軽減する。固有の装置の動作を検証し、または装置に関連付けられたファイルシ
ステムをチェックするために手順を実施することは必須ではないからである。ブ
ートタイムを、ノードの包含リストを最初にプログラムすることによって低減す
ることができ、比較的少数の装置だけを特定して、ノードの範囲内に装置がほと
んどないようにする(例えば、システムがSAN環境などの大量のデータ記憶に
取り付けられている場合)。経路過負荷と装置競合とが軽減される。
【0036】 図4は、複数のノード202と204とがそれぞれに接続206と208を介
して共有記憶システム210に接続されている本発明にかかるシステム構成の一
例200の機能図である。共有記憶システム210は、例えば、複数の記憶ユニ
ット220a、220b、220c、220dおよび220e(「記憶ユニット
220」という)に動作可能に結合されているSAN212を含む。各記憶ユニ
ット220は、例えばディスク、テープ、またはいかなる他の形態の記憶媒体(
光または電子)であってもよい。
【0037】 SAN212は、例えば、アダプタ、ブリッジ、ハブ、スイッチおよびディレ
クタの構成を含み、記憶ユニット220とノード202および204との間のル
ーティングおよび接続を制御する。すなわちアダプタは、ノードまたはサーバと
周辺装置をSAN212の配線(例えば、光ファイバまたは他の配線)に取り付
ける。ブリッジは、ファイバチャネルからIP、またはSCSIからファイバチ
ャネルのように、1のプロトコルから別のプロトコルに変換する。ハブ、スイッ
チおよびディレクタは、SANデータバスに中央接続点とルーティング機能とを
提供する。システムの帯域幅とデータ転送率を高めるために、SAN212は、
ファイバチャネル構造を使用して、記憶ユニット220とノード202および2
04とを含めてクロスポイントスイッチ構成で装置を接続することができる。
【0038】 任意選択の通信リンク230をノード202と204の間に提供して、ノード
間の通信を可能にすることができる。通信リンク230は、ネットワーク(LA
N、WAN)、遠隔通信リンク、またはノード202と204および/またはそ
のユーザがそれによって通信することができる他の機構の形態であってよい。通
信リンクは、プロセス間通信プロトコル(例えばIP、HIPPI、VI)をい
くつでも使用してSAN上で実行することもできる。
【0039】 一例として、ノード202および204は、記憶ユニット220に対してファ
イバチャネルを使用するSAN212に対する通信リンク206および208を
介してSCSIプロトコル使用する。各ノード202、204は、包含リストお
よび/または排他リストなどのデータ構造を含むようにプログラムされ、どの記
憶ユニット220が各々のノードの範囲内にあるかを規定する。データ構造は、
永続的および/または一時的リストを含むことができる。高レベルのアプリケー
ションまたはエージェントは、どの記憶ユニットが各ノードの範囲内にあり、ま
たは各ノードの範囲内にないかに関して管理を実行する。上記のように、各ノー
ドの包含リストを計画的に修正して、ノードの各々と選択された記憶ユニットと
の間のアクセスを動的にマスクすることができる。
【0040】 例えば、ノード202は、記憶ユニット220aを含んでいる包含リストを有
することができ、ノード204は、記憶ユニット220bと220cを含んでい
る包含リストを有することができる。ノード202が記憶ユニット220bにア
クセスする前に、ノード204は、所有権を放棄するよう指示される。これは、
インタフェース(SET_INCLUSION_LIST)を使用する高レベルのアプリケーション
または管理者によって実施され、記憶ユニット220bをノード204の包含リ
ストから削除することができる。この方法で包含リストを修正することによって
、範囲制御リスト内に対応する変更が生じる。インタフェースまたはPNP制御
を使用して、図2a〜2cに関して示し記載した実施態様の1つに従うなどして
、装置オブジェクトレベルでノード204による記憶ユニット220bへのアク
セスをブロックすることができる。記憶ユニット220bがノード204の範囲
内にない場合、ノード204(またはそのユーザ)は、記憶ユニットの所有権が
解放されていることを示す通信リンク230を介してノード202と通信するこ
とができる。管理者または高レベルのアプリケーションは(通信リンク230を
介してノード202またはノード204で)、インタフェース(例えば、SET_IN
CLUSION_LIST)を使用して、ノード202の包含リストに記憶ユニット220b
を追加することができる。範囲制御リストは、それに従って修正される。インタ
フェースは、別のインタフェースまたはPNP制御手段に指示し、記憶ユニット
220bに対応する装置オブジェクトを追加する適切なコマンドを発行すること
により、装置220bをノード202の範囲に入れ、および/または、装置オブ
ジェクトを記憶ユニット220bの対応するクラスドライバにリンクする。ノー
ド202の装置オブジェクトが適切なクラスドライバにリンクされているので、
各々の記憶ユニット220bへのアクセスがイネーブルされる(例えば、装置が
ノード202の範囲内にある)。ノード202と204による他の記憶ユニット
220に関連するアクセスを、同様の方法で計画的にマスクすることができる。
【0041】 管理者は、例えば、各ノードの要求に見合った適切な記憶のレベルを、各ノー
ド202、204に提供することができる。加えて、各ノード202、204は
、同じ記憶ユニット220にアクセスするようにプログラムされて、システム2
00全体による記憶の要求を低減することができる。その結果、複数のノードに
対する複製データを記憶する必要はない。この方法でアクセスをマスキングする
ことは、複数のノードが1つの記憶ユニットに対して同時にアクセスを試みるこ
とができる経路過負荷と装置競合とを軽減する。
【0042】 図5は、複数のクライアントノード302および304が、LANまたはWA
Nなどの従来型ネットワーク・インフラストラクチャ310を介して、複数のサ
ーバノード306および308にリンクされている本発明にかかる別のシステム
構成300の一例である。サーバノード306および308は、共有記憶システ
ム318に動作可能に結合されている。具体的には、サーバノード306および
308は、SAN330を介して複数の記憶ユニット320a、320b、32
0c、320dおよび320e(「記憶ユニット320」という)に結合され、
SAN330は、ファイバチャネル構造のトポロジを含むことができる。
【0043】 本発明の一態様によれば、クライアントノード302および304のそれぞれ
は、包含および/または排他リストの形式により、1または複数のプログラム可
能なデータ構造を含み、どの記憶ユニット320がクライアントノードの各々の
範囲内にあるかを規定する。上記のように、データ構造は、一時的および/また
は永続的包含リストの形式であってよい。データ構造は、各々のクライアントノ
ードの範囲内に記憶ユニットがないことを示すヌル包含リストに対応することも
できる。サーバノード306、308のそれぞれは、選択された記憶ユニットへ
のアクセスをさらに制御するために包含(または排他)リストを含むようにプロ
グラムすることもできることを理解されたい。本発明によれば、1または複数の
記憶ユニットを、適切なインタフェースを使用することによって、各ノード30
2、304、306、308に関連して動的にマスクし、各々のノードの包含リ
ストから1または複数の記憶ユニットを計画的に追加または削除することができ
る。
【0044】 一例として、クライアントノード302は、記憶ユニット320aと320c
を示す包含リストを有し、ノード304は、ヌル包含リスト(例えば、バス上の
すべての装置がその範囲から排除される)を有する。ノード304が装置ユニッ
ト320cにアクセスするために、装置ユニットは、その包含リストに追加され
る(またはその排他リストから削除される)。これは、例えば、インタフェース
(SET_INCLUSIOTN_LIST)を使用する高レベルアプリケーションまたは管理者に
よって実施され、記憶ユニット320cをノード304の包含リストに追加する
ことができる。追加は、記憶ユニットがどの包含リスト(一時的または永続的)
に追加されるかによって永続的である場合と一時的である場合とがある。この方
法で包含リストを修正することによって、ノード304の範囲制御リストに対応
する変更がもたらされる。PNP制御は、例えば、記憶ユニットに対する装置オ
ブジェクトを生成するように指示される(まだ1つも存在しないと仮定すると)
。装置オブジェクトは、コマンド命令を記憶ユニット320cに伝達する(例え
ばねI/O要求に応じて読み込みまたは書き込みコマンドを提供する)ために通
信経路を介してクラスドライバにリンクされる。
【0045】 ユニットを他のノード304に露出する前に、ノード302の範囲から記憶ユ
ニット320cを出すことが望ましい場合もある。従って、サーバノード306
または308またはクライアントノード304の1つが、ネットワーク・インフ
ラストラクチャ310を介してクライアントノード302と通信することができ
、ノード302による記憶ユニットへのクセスを計画的にマスクすることによっ
て、ノード302が、記憶ユニット320cの所有権を放棄することを要求する
ことができる。インタフェース(SET_INCLUSION_LIST)を使用して、本明細書に
記載の実施態様のどれかに従うことにより、クライアントノード302でマスキ
ングを開始することができる。記憶ユニット320cが、クライアントノード3
02に対して機能的に隠蔽されているので、複数のノードが装置に同時にアクセ
スする場合に発生する可能性のある経路過負荷と起こりうる競合とが軽減される
【0046】 図6は、共有記憶システム420の複数の記憶ユニット410a、410b、
410c、410d、および410e(「記憶ユニット410」という)へのア
クセスを動的に管理するための、本発明にかかるマスキングを使用することがで
きるインターネットベースのシステム400の一例を示す。複数のインターネッ
トサーバ430および440は、インターネット450に動作可能に結合されて
いる。各サーバ430、440は、各サーバに物理的に関連付けられた各々の記
憶装置460、462を含む。サーバ430および440は、例えば、電子商取
引のインターネットサーバに相当し、これは、注文を受け取り、業務の特定領域
について取引処理の予め選択された態様を実行するする。別のサーバ470は、
追加の取引処理またはデータ管理(例えば、データマイニングなど)を実行する
ためのマスタサーバであり、インターネットサーバ430、440の各々から取
得した取引データに基づく。マスタサーバ470は、サーバによって排他的に所
有される記憶装置472を含む。すべてのサーバ430、440および470は
、共有記憶システム420のSAN474を介して、記憶ユニット410に動作
可能に結合されている。
【0047】 本発明によれば、各サーバ430、440、470は、データ構造を含むよう
にプログラムされており、各々のサーバのマスキング規準を特定する包含および
/または排他リストの形式などである。上記のように、リストは、特定の記憶装
置が、各々のサーバの範囲に含まれるべきか否かを特定する永続的および/また
は一時的リストを含むことができる。記憶ユニット410を、本発明の一態様に
よって、サーバ430、440、470の1つのデータ構造に計画的に追加する
こと、またはそこから削除することができ、各々のサーバに関連して記憶ユニッ
トを動的にマスクする。
【0048】 一例として、インターネットサーバ430は、インターネットビジネスの第1
の領域に関連して、インターネット450から注文を受け取って処理するための
サーバに相当する。サーバ430は、記憶装置460に関連付けられたそれに取
引データを記憶することができるが、そのデータをさらに処理するために追加の
ドライブ空間を要求する。共有記憶システム420は、記憶ユニット410bな
どの十分な記憶領域を提供して、アプリケーション集約型データ処理を実行する
。記憶ユニット410bにアクセスするために、サーバは、記憶ユニットをサー
バ430の範囲内に計画的に入れる。
【0049】 本発明によれば、管理者または高レベルアプリケーションによるインタフェー
ス(SET_INCLUSION_LIST)を使用して、記憶ユニット410bをサーバ430の
選択された包含リスト(例えば、一時的または永続的)に追加することができる
。サーバ430の範囲制御リストは、一時的包含リストへの変更に従って修正さ
れる。さらに、専用インタフェースまたはPNP制御は、記憶ユニット410b
をサーバ430の範囲内に入れるために活動化され、例えば、図2a〜2cに関
して示し記載された例示の実施態様の1つに従う。記憶ユニット410bがイン
ターネットサーバ430の範囲内にある場合、サーバは、サーバによって装置が
所有される際には、記憶ユニットを使用して取引データを処理して記憶すること
ができる。処理が完了すると、サーバ430は、記憶ユニット410bの所有権
を放棄することができ、例えば、インタフェース(SET_INCLUSION_LIST)を使用
して記憶ユニットを一時的包含リストから削除することによる。
【0050】 上記の例では、記憶ユニット410bは、特定の目的すなわちデータの処理ま
たは他のマシンへの転送などのためにアクセスされているので、この記憶ユニッ
トを、一時的包含リストに追加することができる。従って、サーバ430または
その関連付けられたコントローラが、処理中にクラッシュした場合、その一時的
包含リスト上の記憶ユニットは、サーバ430の範囲内にはあり続けない。代わ
りに、サーバは、そのような記憶ユニットの所有権を再調整し、その取引データ
の処理を続行する必要がある。
【0051】 サーバ430(そのユーザ)は、通信リンク480を介してマスタサーバ47
0(またはそのユーザ)と通信することができ、サーバ430が、記憶ユニット
410bへのアクセス権を放棄したこと、およびマスタサーバ470が、記憶ユ
ニットをその包含リストに追加するなどによって、記憶ユニット410bの所有
権を取得することができることを教える。計画的な命令は、マスタサーバ470
でSET_INCLUSITON_LISTインタフェースを開始するために通信に付随して、記憶
ユニット410bをマスタサーバの包含リストに追加することができる。あらゆ
る通信モードを使用して、インターネットサーバ430に関する情報および記憶
ユニット410bで提供されるデータを、マニュアルまたは自動化された機構、
配線または無線などを含み、伝達することができることが理解されよう。マスタ
サーバ470は、その範囲内に記憶ユニット410bを計画的に入れた後、デー
タを処理して、マスタサーバ470が排他的に所有する追加メモリ472にその
データを記憶し、そのデータを記憶ユニット410bに保持することができ、ま
たはそのデータの所有権を調整した後で、記憶ユニット410の異なる1つに転
送することができる。サーバ440は、通信リンク482を介してマスタサーバ
470と通信して、サーバ440に関する状況情報を提供し、関連する記憶ユニ
ット410に関する状況情報および/または命令を提供することができる。
【0052】 有利には、大量のデータを、個々のインターネットサーバマシン430および
440によって構築し、マスタサーバ470による処理のために、共有記憶シス
テム420の記憶ユニット410に転送することができる。マスタサーバ470
は、例えば、システム400全体のファイルサーバとして使用することができる
。さらにこの方法は、選択されたデータのバックアップコピーを効率的に作成す
るために使用することができ、このデータは、SANのロジスティックな制約に
基づいて遠隔に配置された記憶ユニット410で維持することができる。例えば
、ファイバチャネルは、記憶装置とそのような装置にアクセスすることができる
ホストコンピュータとの間が少なくとも10キロメートルまで可能である。
【0053】 本発明の様々な態様にある状況を提供するために、図7および以下の記述は、
本発明の様々な態様を実施することができる適切なコンピューティング環境の簡
単で一般的な説明を提供することを意図している。本発明は、上記で様々なシス
テム構成のホストコンピュータまたはノードで実行されるコンピュータプログラ
ムのコンピュータ実行可能命令の一般的文脈によって記載したが、当業者ならば
、本発明は、他のプログラムモジュールと共に実施することもできることを理解
するだろう。一般に、プログラムモジュールには、特定タスクを実行し、または
特定の抽象データ型を実施するルーチン、プログラム、構成要素、データ構造な
どが含まれる。さらに当業者ならば、本発明の方法を、1または複数の関連付け
られた装置に動作可能に結合することができる単一プロセッサまたはマルチプロ
セッサのコンピュータシステム、ミニコンピュータ、メインフレームコンピュー
タ、並びにパーソナルコンピュータ、ハンドヘルドコンピュータ装置、マイクロ
プロセッサベースの、またはプログラム可能な家庭電化製品などを含めて他のコ
ンピュータシステム構成によって実行することができるということを理解するだ
ろう。本発明の例示の態様は、ある種のタスクが通信ネットワークを介してリン
クされた遠隔処理装置によって実行される分散型コンピューティング環境で実行
することもできる。しかしながら、本発明の態様のすべてではないにしろ一部は
、複数のプロセッサが複数の共有記憶ユニット(例えば、セグメント化されたデ
ィスク記憶領域)に動作可能に関連付けられている場合などに、スタンドアロン
コンピュータで実行することができる。分散型コンピューティング環境では、プ
ログラムモジュールは、ローカルおよび遠隔記憶装置に配置することができる。
しかしながら、本発明にかかるマスキングは、本明細書に記載のマスキング機能
を提供するために、各コンピュータまたはノードの低レベル(例えば、ドライバ
スタック)で実施されることを理解されたい。
【0054】 図7を参照すると、本発明の様々な態様を実施するシステム500の一例は、
処理ユニット504と、システムメモリ506と、システムメモリを含む様々な
システム構成要素を処理ユニット504に結合するシステムバス508とを含む
従来型サーバコンピュータ502を含む。処理ユニット504は、これに限定は
しないが、Intel x86、Intel社製またはCyrix、AMDおよびNexgenを含めた他
社製のPentium(登録商標)および互換のマイクロプロセッサ、Digital社製のAl
pha、MIPS Technology社、NEC社、IDT社、Siemens社および他社製のMIP
S、IBMおよびMotorola社製のPowerPCを含む様々な市販のプロセッサのどれ
であってもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサのア
ーキテクチャを、処理ユニット504として使用することができる。
【0055】 システムバス508は、メモリバスまたはメモリコントローラ、周辺バス、お
よびいくつか例を挙げるとPCI、VESA、Microchannel、ISAおよびEI
SAなどの様々な従来型バスアーキテクチャのいずれかを使用するローカルバス
を含む様々な種類のバス構造のいずれであってもよい。システムメモリ500は
、読み取り専用メモリ(ROM)510およびランダアクセスメモリ(RAM)
512を含む。起動中などにサーバコンピュータ502内の素子間で情報を転送
することを支援する基本ルーチンを含んでいる基本入出力システム(BIOS)
は、ROM510に記憶される。
【0056】 サーバコンピュータ502は、ハードディスクドライブ514、例えば取り外
し可能ディスク518から読み取りまたはそこに書き込む磁気ディスクドライブ
516、例えばCD−ROMディスク522を読み取るため、または他の光媒体
から読み取り、またはそこに書き込みをする光ディスクドライブ520をさらに
含む。ハードディスクドライブ514、磁気ディスクドライブ516、および光
ディスクドライブ520は、各々ハードディスクドライブインタフェース524
、磁気ディスクドライブインタフェース526、および光ドライブインタフェー
ス528によってシステムバス508に接続される。ドライブおよびそれらに関
連付けられたコンピュータ可読媒体は、サーバコンピュータ502にデータ、デ
ータ構造、コンピュータ実行可能命令などの不揮発性記憶領域を提供する。上記
のコンピュータ可読媒体の説明は、ハードディスク、取り外し可能な磁気ディス
ク、およびCDを示しているが、当業者には、磁気カセット、フラッシュメモリ
カード、デジタルビデオディスク、Bernoulliカートリッジなどのコンピュータ
によって読み取り可能な他のタイプの媒体を、例示の操作環境で使用することが
でき、さらにそのような媒体のいずれもが、本発明の方法を実施するためのコン
ピュータ実行可能命令を含むことができるということを理解されたい。さらにサ
ーバコンピュータ502の一部を形成する装置514〜522の各々は、サーバ
コンピュータによって「所有される」とみなされる。しかしながら、そのような
装置は別法として、サーバコンピュータと他のコンピュータを本発明によるマス
キングを使用するようにプログラムして、サーバコンピュータ502から遠隔に
配置し、1または複数の他のコンピュータによって共有することができることを
理解されたい。
【0057】 複数のプログラムモジュールは、オペレーティングシステム530、1または
複数のアプリケーションプログラム532、他のプログラムモジュール534、
およびプログラムデータ536を含むドライブおよびRAM512に記憶するこ
とができる。例示のコンピュータのオペレーティングシステム530は、例えば
「Microsoft Windows(登録商標) 2000」サーバオペレーティングシステムだが
、本発明は他のオペレーティングシステムまたは他のオペレーティングシステム
の組合せによって実施することができることを理解されたい。
【0058】 ユーザは、キーボード538およびマウス540などのポインティングデバイ
スによって、サーバコンピュータ502にコマンドおよび情報を入力することが
できる。他の入力装置(図示せず)は、マイクロフォン、ジョイスティック、ゲ
ームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。
これらおよび他の入力装置は、システムバス508に結合されているシリアルポ
ートインタフェース542を介して処理ユニット504に接続されるが、パラレ
ルポート、ゲームポートまたはユニバーサルシリアルバス(USB)などの他の
インタフェースによって接続することもできる。モニタ544または他のタイプ
の表示装置を、ビデオアダプタ546などのインタフェースを介してシステムバ
ス508に接続される。モニタの他に、コンピュータは、通常、スピーカ、プリ
ンタなどの他の周辺出力装置(図示せず)も含む。
【0059】 サーバコンピュータ502は、SAN552を介して、共有記憶システム55
0に動作可能に結合することができる。例えば、サーバコンピュータ502は、
記憶インタフェースまたはアダプタ554を介してSAN552に接続される。
サーバコンピュータ502が適切な記憶アダプタを介して共有記憶システム55
0に直接的に結合することができるので、SANはそれが任意選択であることを
示すために破線で示してある。
【0060】 サーバコンピュータ502は、遠隔クライアントコンピュータまたはノード5
60などの1または複数の遠隔コンピュータへの論理接続を使用してネットワー
ク接続した環境で動作することができる。遠隔コンピュータ560は、ワークス
テーション、サーバコンピュータ、ルータ、ピアデバイスまたは他の共通ネット
ワークノードであってよく、典型的には、サーバコンピュータ502に関して記
載された要素の多くまたはすべてを含むが、簡約化の目的から図7には記憶装置
562しか示さない。さらに遠隔コンピュータ562は、その遠隔コンピュータ
562に動作可能に関連付けられた1または複数の装置に対して、本発明にかか
るマスキングを使用するようにプログラムされ、サーバコンピュータ502の一
部またはSAN552を介してサーバコンピュータに接続された共有記憶システ
ム550を含むことができる。図7に示す論理接続は、ローカルエリアネットワ
ーク(LAN)564とワイドエリアネットワーク(WAN)566とを含む。
このようなネットワーク接続環境は、オフィス、企業規模のコンピュータネット
ワーク、インターネットおよびイントラネットではよくあることである。
【0061】 LANネットワーク接続環境で使用される場合、サーバコンピュータ502は
、ネットワークインタフェースまたはアダプタ568を介してローカルネットワ
ーク564に接続される。WANネットワーク接続環境で使用される場合、サー
バコンピュータ502は、典型的には、モデム566を含むか、またはLAN上
の通信サーバに接続されるか、またはインターネットなどのWAN566を介し
て通信を確立するための他の手段を有する。内蔵であっても外付けであってもよ
いモデム570は、シリアルポートインタフェース542を介してシステムバス
508に接続される。ネットワーク接続した環境では、サーバコンピュータ50
2に対して記述されたプログラムモジュールまたはその一部は、遠隔記憶装置5
62および/または共有記憶装置550に記憶することができる。図示したネッ
トワーク接続は一例であり、コンピュータ間に通信を確立する他の手段も使用す
ることができることが理解されよう。
【0062】 コンピュータプログラミングの当業者の慣例によって、本発明は、特記しない
限りサーバコンピュータ502または遠隔コンピュータ560などのコンピュー
タによって実行することができる作用および動作の記号表記を参照して記載した
。このような作用および動作は、コンピュータで実行中のものとして示す場合が
ある。作用と記号によって表された動作は、電子信号の表現の結果として変換ま
たは低減をもたらすデータビットを表す電子信号の処理ユニット504による操
作と、メモリでのデータビットの維持が、メモリシステム(システムメモリ50
6、ハードドライブ514、フロッピー(登録商標)ディスク518、CD−R
OM522、および共有記憶システム550を含めて)に位置づけられて、コン
ピュータシステムの動作並びに信号の他の処理をそれによって再構成または変更
することを含むと理解されよう。そのようなデータビットが維持されるメモリ位
置は、そのデータビットに対応する特定の電子的、磁気的、または光学特性を有
する物理的位置である。
【0063】 上記の操作環境例とシステム構成例とに鑑みて、本発明にかかるマスキング方
法は、図8〜9cに示す流れ図を参照するとさらによく理解されるだろう。これ
らの図面に示した例示的な方法は、図3に示したシステム構成と類似のシステム
構成に関して記載されている。すなわち、各ターゲットが1または複数の論理ユ
ニット(LU)をさらに含んだ状態で、各ターゲット装置は、関連付けられたバ
スアドレス(ファイバチャネルノードに相当する)を有する。各LUは、ターゲ
ット装置の一部(例えば、セグメントまたはディスク)などの関連付けられた装
置の対応する態様にインタフェースを提供する。各LUは、関連付けられた論理
ユニット番号(LUN)、または各々のターゲット装置の論理ユニットを特定す
る他の識別特性を有する。この例では、ノードは、システムレジストリに記憶す
ることができる永続的包含リストを含むようにプログラムされていると想定して
いる。この永続的包含リストは、ノードの範囲内に最初にどの装置があるべきか
を特定する。簡約化の目的から、以下の記述では、包含リストのみを使用してい
るようにマスキング方法を記載するが、本発明では排他リストを別法として、ま
たは追加として実施することもできる。各ノードを、本発明によって図8−9c
に示す方法を実施するようにプログラムすることができることを理解されたい。
【0064】 図8を参照すると、ノードに動作可能に接続されている複数のターゲット装置
のそれぞれに対してノードに関するマスキング規準を最初に確立するための方法
が示されている。プロセスは、システムまたはノードが例えばシステムブートで
初期化されるステップ700から開始する。ブート直前にはノードの範囲内に装
置はない。プロセスは、永続的包含リストがメモリからロードされるステップ7
10に進む。次にステップ720において、範囲制御リストは、この永続的包含
リストに基づいて規定される。プロセスは、ステップ720から、ノードが、こ
の状況では第1のバスであるノードに関連付けられた次のバスにアクセスするス
テップ724に進む。プロセスは次いで、そのバスに動作可能に結合された各タ
ーゲット装置に関する照会を実行する。
【0065】 ステップ730において、ノードは、スキャンされているバスに関連付けられ
た次のターゲットのアドレスを取得またはロードする。次に、そのノードに動作
可能に接続されたターゲット装置(ステップ740)に関する照会がなされる。
具体的には、SCSIコマンドプロトコルを使用することのできる照会コマンド
が、スキャンされているバスの現在のターゲットの論理ユニット0にアドレス指
定される。各ターゲット装置は、ターゲット装置に関連付けられた他のLUに関
する照会などの、基本コマンドに応答することができる少なくとも1つの論理ユ
ニット0を含む。次にステップ750において、リポートLUNコマンドが、ス
キャンされている現在のバスの現在のターゲット装置の論理ユニット0に送られ
る。これによって論理ユニット0は、そのターゲットに関連付けられたすべての
LUのリストを提供することによって応答する。何らかの理由で、LUを特定す
るリポートがステップ750での照会に応答して提供されなかった場合、ノード
は、ターゲット装置に関連付けることができるすべての潜在的なLUのスキャン
を実行することができる。プロセスは次いで、各々のターゲット装置のLUに関
連する追加の照会を実行するために、ノードが第1の論理ユニット番号をキャッ
シュするステップ760に進む。
【0066】 ステップ770において、一般照会が、現在のターゲットに関連付けられたキ
ャッシュ済みのLUに対してなされる。この照会は、例えば、LUによって表さ
れる装置の種類または構成に関する情報(例えば、その装置が何であるか)の要
求を含むことができる。次にステップ780において、別の照会がなされ、その
装置のシリアル番号などの、LUによって表される装置に関連付けられた識別特
性またはデータを取得する。装置を特定するために十分な情報が収集されると、
プロセスはステップ790に進むことができる。
【0067】 ステップ790において、特定されたLUがノードの範囲内(データ構造)に
あるか否かに関して判定がなされる。この例では、ステップ720に従って、永
続的包含リストによって特定された装置によって範囲が規定される。LUがノー
ドの範囲内にない場合、プロセスは、ワールドリストにそのターゲット装置の識
別特性を記憶することによって、ターゲット装置のLUがワールドに追加される
ステップ800に進む。範囲内にない装置に関連付けられたフラグを、任意選択
で論理FALSEにセットすることができる(例えば、visible=FALSE)。この
例では、FALSEがデフォルト状態なので、フラグを明示的にセットする必要
はない。
【0068】 しかしながら、ステップ790で特定されたLUがノードの範囲内にある場合
、プロセスは、フラグが論理TRUE(例えば、visible=TRUE)にセットされる
ステップ810に進む。プロセスは、ステップ810から、対応する装置オブジ
ェクトが作成されるステップ820に進む。装置オブジェクトの作成は、例えば
、専用インタフェースまたはPNP制御を使用して実施することができる。装置
オブジェクトは、現在のターゲットの現在のLUに動作可能に関連付けられてい
る。ステップ840で装置に対して装置オブジェクトが作成されたので、装置に
対応する識別データが、インスタンス生成されたオブジェクトのリストに追加さ
れる(図2a〜2c参照のこと)。プロセスは次いで、装置に対する識別特性が
ワールドリストに追加されるステップ800に進む。プロセスは次いで、ステッ
プ850に進む。
【0069】 ステップ850では、現在のターゲット装置が照会を行うことができる追加の
LUを含むか否かについて判定がなされる。追加のLUが存在する場合、プロセ
スは、次のLUNがキャッシュされるステップ860に進む。プロセスは次いで
、次のLUNに対して上記ステップを反復するためにステップ770に戻る。ス
テップ850で追加のLUが1つも存在しないという判定に達すると(例えば、
現在のターゲットのすべてのLUNが処理済みである)、プロセスは、ステップ
870に進む。ステップ870において、スキャンされているバスに関連付けら
れた追加のターゲット装置が1つでもあるか否かについて判定がなされる。この
判定が追加のターゲットがバスに接続されていることを示す肯定的な判定である
場合、プロセスは、ノードが現在のバスに接続されている次のターゲット装置の
アドレスを取得するステップ730に戻る。プロセスは次いで、ターゲット装置
の各LUに対して反復される。
【0070】 ステップ870での判定が、追加のターゲット装置がバスに関連付けられてい
ないことを示す否定的な判定である場合、プロセスはステップ880に進む。ス
テップ880において、追加のバスがノードに動作可能に関連付けられているか
否かに関して判定がなされる。バスがまだスキャンされ処理されていない場合、
プロセスは、アクセスされる次のバスが上記プロセスに従ってスキャンされるス
テップ724に戻る。ステップ880での判定がノードに接続されたすべてのバ
スが既に処理済みであることを示す否定的な判定である場合、プロセスはステッ
プ884に進む。ステップ884において、各装置オブジェクトに対するクラス
ドライバに対応する高レベルの装置オブジェクトが、ステップ820で生成され
た各装置オブジェクトにロードされ、動作可能にリンクされる。これは、例えば
、バススキャンの結果(例えば、どの装置がマスクされるべきかを含む)をPN
P制御に通知することによって実施することができる。PNP制御は、高レベル
のデバイスドライバにコマンドを発行して、ノードの範囲内にあるよう既に選択
されている各々の新しい装置オブジェクトに取り付ける。ステップ884から、
プロセスはステップ890で終了する。このような方法を実施することによって
、永続的包含リストは、各装置が初期ノードの範囲内にあるか否かを規定する。
残りの装置はノードの範囲内にはなく、従って、これらはノードに対して機能的
に隠蔽されている。しかしながら、すべての動作可能に取り付けられている装置
は、ワールドに含まれる。排他リストを使用することができ、リスト上で特定さ
れた装置はノードの範囲外にあり、他の装置のすべてはノードの範囲内にあると
いうことを理解されたい。
【0071】 図9a〜9cは、ノードに関連付けられたマスキング規準を計画的に修正する
ための方法を一例として示す流れ図である。これは、図2a〜2cに関して開示
されたようなSET_INCLUSION_LISTインタフェースを使用に応答することができる
。図9aを参照すると、プロセスは、本明細書に記載のSET_INCLUSION_LISTイン
タフェースなどのインタフェースを活動化することによって、ステップ950か
ら開始される。このインタフェースは、例えば、入出力制御などのSCSIコマ
ンドであってよい。適切な構成データが、インタフェースを使用するときに提供
され、ノードに関連してマスクされるべき装置、並びに永続的および/または一
時的リストに対して変更がなされているか否かを特定する。上記のように、この
インタフェースは、システム管理者などにより手動で活動化することができ、ま
たは高レベルのアプリケーションまたはインテリジェントエージェントなどによ
り開始された動作であってもよい。
【0072】 ステップ950から、プロセスは、提供されたインタフェース特性に基づいて
適切な包含リスト(一時的および/または永続的)が修正されるステップ960
に進む。次にステップ970において、新しい包含リストが、ステップ960で
提供された変更を含む適切なメモリに記憶される。一例として、永続的包含リス
トに変更がなされた場合、改定されたリストは、システムレジストリなどの適切
な不揮発性メモリに記憶される。一時的包含リストになされた変更は、例えば、
システムが実行中である限り、またはコントローラがイネーブルされたままであ
る限り所定の場所に存続する揮発性メモリに記憶される。プロセスは次いで、範
囲制御リストが包含リストに対してなされた変更に対応するように更新されるス
テップ980に進む。範囲制御リストは、一時的または永続的リストに対応する
オブジェクトを含むことができ、または揮発性メモリに記憶された両方のリスト
の作業コピーを含むこともできることを理解されたい。ステップ980から、プ
ロセスは、範囲制御リストになされた改定に応じて1または複数の装置のマスキ
ングを実施するためにステップ990に進む。図9bおよび9cは、マスキング
方法の2つの可能な実施態様を対象としている(ステップ990)。
【0073】 図9bは、図2bとそれに伴う記載に対応しているマスキング方法を記載して
いる。マスキングは、ノードに関連する選択された装置の露出または隠蔽に対応
することができるので、マスキングプロセスを開始するステップ990の後の第
1ステップ1000は、装置がノードの範囲内にあるべきか否かを判定すること
に相当する。これは例えば、修正されたリストが包含リスト(ノードの範囲内に
ある装置を示す)か排他リスト(ノードの範囲から除外されるべき装置を示す)
かに基づいている。この判定は、リストが追加の装置を含めるかまたは既存の装
置を削除するように改定されているかに基づいている。装置がノードの範囲内に
あることを示すマスキングデータを仮定すると、プロセスは、ステップ1010
に進む。
【0074】 ステップ1010において、装置オブジェクトが上記のように装置のノードで
作成される。次にステップ1020において、装置オブジェクトに関連付けられ
たフラグが、論理TRUEにセットされる(例えば、visible=TRUE)。プロセス
は次いで、インスタンス生成されたオブジェクトのリストが、作成されたばかり
の装置オブジェクト(ステップ1010)に対応する装置の識別データを含むよ
うに改定されるステップ1030に進む。ステップ1030から、プロセスは、
追加の装置がマスクされるべきか否かを判定するためにステップ1050に進む
。判定が、追加装置がマスキングを必要としていることを示す肯定的な判定の場
合、プロセスは、マスクされるべき次の装置のLUおよび/または他の識別デー
タを取得するためにステップ1060に進む。ステップ1060から、プロセス
はステップ1000に戻る。
【0075】 ステップ1000において、装置がノードの範囲から排除されるべきであるこ
とをマスキングデータが示している場合、プロセスはステップ1070に進む。
ステップ1070において、マスクされている装置に対応する装置オブジェクト
は除去される。これは、例えば、装置オブジェクトの除去を実現する専用インタ
フェースまたはPNP制御によって実施することができる。次にステップ108
0において、装置オブジェクトに関連付けられたフラグを、論理FALSE(例
えば、visible=FALSE)にセットすることができる。プロセスは次いで、装置オ
ブジェクトがインスタンス生成されたオブジェクトのリストから除去されるステ
ップ1090に進む。その結果、装置は、ノードに対して機能的に隠蔽される。
プロセスは次いで、追加のマスキングがまだ必要とされているか否かを判定する
ためにステップ1050に進む。ステップ1050での判定が否定的な判定であ
る場合、プロセスは、ノードの範囲内にあるべき各々の装置オブジェクトにクラ
スドライバがロードされ、動作可能にリンクされるステップ1100に進む。上
記のように、これは、PNP制御からさらに高いレベルのドライバに対するコマ
ンドに応じて実施され、VISIBLEフラグ状態に基づいて、適切な装置オブジェク
トに取り付けることができる。クラスドライバが装置オブジェクトにロードされ
、リンクされると、その装置はノードの範囲内にある。ステップ1100から、
マスキングプロセスはステップ1110で終了する。
【0076】 図9cは、本発明によって実施することができる別のマスキング方法を示す。
このマスキングの態様は、図2cに対して示し、記載した手法に全般的に対応し
ている。プロセスは、所定のマスキングプロセスの開始に応答してステップ99
0で開始される。プロセスは次いで、マスクされている装置がノードの範囲内に
あることを示すマスキングデータか否かについて判定がなされるステップ120
0に進む。分析によって、装置がノードの範囲内にあることが判明すると、プロ
セスはステップ1210に進む。
【0077】 ステップ1210で、ノードの範囲に入れられた装置が新しい装置か否か(ま
だワールドの一部でないか否か)に関して判定がなされる。これは、装置に対応
する識別データのノードによって維持されるワールドリストをチェックすること
によって、またはインスタンス生成されたオブジェクトのリストをチェックする
ことによって判定することができる。本発明のこの態様によって、装置オブジェ
クトとそれが対応するクラスドライバとの間のリンクが切断またはブロックされ
、たとえ装置オブジェクトがノードの範囲内になくても、装置オブジェクトは存
続するということを想起されたい。従って装置オブジェクトは、ワールドの装置
ごとに作成される。ステップ1210での判定が、装置が新たに追加された装置
であることを示す肯定的な判定である場合、プロセスはステップ1220に進む
【0078】 ステップ1220−1250は、図8bのステップ1010〜1040とほぼ
同一である。すなわちステップ1220で、装置オブジェクトは、PNPまたは
専用インタフェースを使用して、装置のノードで作成される。プロセスは次いで
、装置オブジェクトに関連付けられたフラグが、論理TRUE(例えば、visibl
e=TRUE)にセットされるステップ1230に進む。次にステップ1240におい
て、インスタンス生成されたオブジェクトのリストが、追加中の装置に対する識
別データを含めるように改定される。ステップ1240から、プロセスは、追加
の装置がマスキングを必要としているか否かを判定するためにステップ1260
に進む。追加の装置がマスキングを必要としている場合、プロセスは、装置に関
連付けられた次のLUまたは他の識別データがロードされるステップ1270に
進む。
【0079】 先のステップ1210での判定が、ノードの範囲に入れられている装置がシス
テムに新たに追加されるものではないことを示す否定的な判定である場合、プロ
セスはステップ1280に進む。ステップ1280において、装置に関連付けら
れた既存の装置オブジェクトが配置され、対応するフラグ状態が論理TRUEに
セットされる(例えば、visible=TRUE)。プロセスは次いで、装置オブジェクト
が対応するクラスドライバにリンクされるステップ1290に進む。装置オブジ
ェクトを対応するクラスドライバにリンクするこの機能的な態様を、PNP制御
によって、または各々の装置オブジェクトにリンクするためにより高いレベルの
クラスドライバに適切なコマンドを発行する専用インタフェースによって処理す
ることができる。ステップ1290から、プロセスは、追加の装置がマスクされ
るべきか否かを判定するためにステップ1260に進む。
【0080】 先のステップ1200で、装置がノードの範囲から削除されるべきであること
を示すマスキングデータであると判定された場合、プロセスはステップ1300
に進む。ステップ1300において、装置オブジェクトに関連付けられたフラグ
は、論理FALSEにセットされる(例えば、visible=FALSE)。プロセスは次
いで、装置オブジェクトとそれに対応するクラスドライバの間のリンクが切断さ
れるステップ1310に進む。削除を、例えば、適切なインタフェースまたはP
NP制御によって要求される削除として処理することができる。リンクを切断し
た結果、装置は、ノードの範囲から完全に削除され、ノードのコントローラによ
るアクセスはブロックされる。クラスドライバへ直接行く通信経路を保護するた
めに追加のステップを取ることができ、ノードと装置との間の通信経路がブロッ
クされる。ステップ1310から、プロセスは、上記のように図9cの方法に従
って、追加の装置がマスキングを必要としているか否かを判定するためにステッ
プ1260に進む。追加のマスキングが必要とされない場合、プロセスは、ノー
ドの範囲内にあるべき各装置オブジェクトにクラスドライバがロードされ、動作
可能にリンクされるステップ1320に進む(例えば、visible=TRUEに従って)
。ステップ1320から、プロセスは、プロセスが終了するステップ1330に
進む。
【0081】 図9bおよび9cの方法を別個のマスキング手法として記載したが、マスキン
グの一方の種類は、他方よりも望ましい場合があるので、所与のノードを、両方
のタイプのマスキングを実施するようにプログラムし、および/または構成する
ことができることを理解されたい。さらに、1または複数のノードに動作可能に
接続されたSAN環境など、本明細書に記載の計画的なマスキングに伴ってハー
ドウェアベースのLUNマスキングを使用することもできる。本発明によるLU
Nマスキングに対する計画的な手法によって、ハードウェア構成が可能でない場
合でも、所与のノードは1または複数の関連付けられた装置に対するアクセスを
有効かつ動的にマスクすることができる。さらに、この計画的なマスキングの手
法は、リブートを必要とせずにノード内で構成の変更を動的に行うことを可能に
する。その結果、複数の相互接続されたホストは、記憶ユニットまたは他の共有
記憶装置を計画的にスワップすることができる。
【0082】 上記に記載したものは本発明の一例である。当然ながら、本発明を説明する目
的で構成要素または方法のすべての想定可能な組合せを記載することは不可能で
あるが、当業者ならば本発明の多くのさらなる組合せおよび並べ替えが可能であ
ることを理解するだろう。従って本発明は、頭記の特許請求の趣旨および範囲内
に包含されるすべてのそのような代替形態、修正形態および変形形態を包含する
ことを対象としている。
【0083】 (産業上の応用範囲) 本発明は、コンピュータサイエンスの分野に産業上の応用範囲を有する。
【図面の簡単な説明】
【図1】 本発明にかかるシステムの概略ブロック図である。
【図2a】 第1のシステム状態を示す本発明にかかるプログラムされたシステムの機能ブ
ロック図である。
【図2b】 本発明の一態様にかかる第2のシステム状態を示す図2aのシステムの機能ブ
ロック図である。
【図2c】 本発明の別の一態様による装置の第3のシステム状態を示す図2aのシステム
の機能ブロック図である。
【図3】 本発明に従って構成することができる、複数のバスを介して複数のターゲット
に結合されるノードを示すシステムの機能ブロック図である。
【図4】 本発明にかかる共有記憶システムに結合されている複数のノードを有するシス
テムのブロック図である。
【図5】 本発明にかかるネットワークを介して共有記憶システムに結合されている複数
のノードを有するシステムのブロック図である。
【図6】 本発明にかかる共有システムに結合されている複数のノードを有するインター
ネットベースシステムのブロック図である。
【図7】 本発明に従って構成されているシステムの操作環境の一例である。
【図8】 本発明にかかるノードのマスキング基準を初期化する方法を示す流れ図である
【図9a】 本発明にかかる装置に関連するノードによるアクセスをマスクする方法を示す
流れ図である。
【図9b】 本発明の一態様にかかる図9aのプロセスの部分をさらに詳細に示す流れ図で
ある。
【図9c】 本発明の別の一態様にかかる図9aのプロセスの部分をさらに詳細に示す流れ
図である。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/14 310 G06F 12/14 310K 13/14 330 13/14 330A (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,UZ,VN, YU,ZA,ZW Fターム(参考) 5B014 EB03 FB04 GA04 GA15 HC02 5B017 AA01 BA06 5B065 BA01 CA11 CA30 PA11 5B082 HA01 HA05 HA08

Claims (44)

    【特許請求の範囲】
  1. 【請求項1】 複数の記憶ユニットを含む共有記憶システムと、 前記共有システムに動作可能に接続されたノードであって、該ノードに動作可
    能に接続されている各記憶ユニットを特定し、前記ノードによる前記記憶ユニッ
    トの少なくとも1つに対するアクセスをマスクするようにプログラムされている
    前記ノードと を備えたことを特徴とするシステム。
  2. 【請求項2】 前記ノードは、前記共有記憶システムの前記記憶ユニットが
    前記ノードの範囲内にあるか否かを特定するプログラム可能なデータ構造をさら
    に含み、前記ノードは、前記プログラム可能なデータ構造に基づいて記憶ユニッ
    トへのアクセスをマスクすることを特徴とする請求項1に記載のシステム。
  3. 【請求項3】 前記プログラム可能なデータ構造は、プログラム可能な永続
    的データに対応する少なくとも一部分を含むことを特徴とする請求項2に記載の
    システム。
  4. 【請求項4】 前記プログラム可能なデータ構造は、プログラム可能な一時
    的データに対応する別の部分をさらに含むことを特徴とする請求項3に記載のシ
    ステム。
  5. 【請求項5】 前記ノードは、前記プログラム可能なデータ構造に基づいて
    前記ノードと記憶ユニットとの間に通信チャネルを提供する前記ノード内の計画
    的なリンクの生成および削除の少なくとも1つをさらにプログラムされているこ
    とを特徴とする請求項2に記載のシステム。
  6. 【請求項6】 前記計画的なリンクは、前記ノードに関連付けられた装置オ
    ブジェクトと対応する記憶ユニットとを含み、前記装置オブジェクトは、前記プ
    ログラム可能なデータ構造に基づいてインスタンス生成されることを特徴とする
    請求項5に記載のシステム。
  7. 【請求項7】 前記計画的なリンクは、前記ノードに動作可能に関連付けら
    れた装置オブジェクトと、前記記憶ユニットの1つに動作可能に関連付けられた
    高レベルの装置オブジェクトとの間に通信経路を提供するプログラム可能な接続
    を含み、前記通信経路は、前記プログラム可能なデータ構造に従ってマスクされ
    ることを特徴とする請求項5に記載のシステム。
  8. 【請求項8】 前記ノードは、前記ノードのマスキング基準を特定するプロ
    グラム可能な一時的データ構造とプログラム可能な永続的データ構造の少なくと
    も1つをさらに含むことを特徴とする請求項1に記載のシステム。
  9. 【請求項9】 前記共有記憶システムは、前記ノードを前記複数の記憶ユニ
    ットに動作可能に接続する記憶領域ネットワークをさらに含むことを特徴とする
    請求項1に記載のシステム。
  10. 【請求項10】 複数の装置と、 前記複数の装置の各々を、複数のノードの各々に接続する少なくとも1つのバ
    スとを備え、 前記複数のノードの各々は、前記複数の装置の各々を特定するようにプログラ
    ムされ、前記複数のノードの各々は、プログラム可能なデータ構造を有し、該プ
    ログラム可能なデータ構造に従って前記複数の装置の少なくとも1つへの前記ノ
    ードによるアクセスをマスクするようにプログラム可能であることを特徴とする
    システム。
  11. 【請求項11】 対応するノードの前記プログラム可能なデータ構造は、前
    記複数の装置の各々が、前記対応するノードの範囲内にあるか否かを特定し、前
    記対応するノードは、それに関連付けられた前記プログラム可能なデータ構造に
    基づいて装置へのアクセスをマスクすることを特徴とする請求項10に記載のシ
    ステム。
  12. 【請求項12】 前記対応するノードの前記プログラム可能なデータ構造は
    、前記対応するノードに関連してマスクされるべき少なくとも1つの装置を特定
    するプログラム可能な永続的データを含むことを特徴とする請求項11に記載の
    システム。
  13. 【請求項13】 前記対応するノードの前記プログラム可能なデータ構造は
    、前記対応するノードに関連してマスクされるべき少なくとも1つの装置を特定
    するプログラム可能な一時的データを含むことを特徴とする請求項11に記載の
    システム。
  14. 【請求項14】 前記対応するノードの前記プログラム可能なデータ構造は
    、前記対応するノードに関連してマスクされるべき装置を特定するプログラム可
    能な永続的データとプログラム可能な一時的データとを含むことを特徴とする請
    求項11に記載のシステム。
  15. 【請求項15】 前記複数のノードの各々は、前記プログラム可能なデータ
    構造に基づいて前記対応するノード内のプログラム可能なリンクの追加および削
    除の少なくとも1つをさらにプログラムされ、前記プログラム可能なリンクは、
    前記対応するノードと前記複数の装置の1つとの間に通信チャネルを提供するこ
    とを特徴とする請求項11に記載のシステム。
  16. 【請求項16】 前記プログラム可能なリンクは、前記対応するノードと前
    記複数の装置のうちの対応する1つとに関連付けられた装置オブジェクトを含み
    、該装置オブジェクトは、前記プログラム可能なデータ構造に基づいてインスタ
    ンス生成されることを特徴とする請求項15に記載のシステム。
  17. 【請求項17】 前記プログラム可能なリンクは、前記対応するノードに動
    作可能に関連付けられている装置オブジェクトと、前記複数の装置の1つに動作
    可能に関連付けられている高レベルの装置オブジェクトとの間のプログラム可能
    な通信経路を含み、該通信経路は、前記対応するノードの前記プログラム可能な
    データ構造に従ってマスクされることを特徴とする請求項15に記載のシステム
  18. 【請求項18】 前記ノードは、前記ノードに対するマスキング基準を特定
    するプログラム可能な一時的データ構造とプログラム可能な永続的データ構造の
    少なくとも1つをさらに含むことを特徴とする請求項10に記載のシステム。
  19. 【請求項19】 前記複数の装置の少なくともいくつかは、記憶域ネットワ
    ークを介して前記ノードと動作可能に接続されている共有記憶システムの記憶ユ
    ニットであることを特徴とする請求項10に記載のシステム。
  20. 【請求項20】 共有記憶システムの複数の記憶ユニットへのアクセスを管
    理するシステムであって、 前記複数の記憶ユニットに動作可能に接続することができるノードであって、
    前記複数の記憶ユニットの各々が前記ノードに関連してマスクされるか否かを示
    すプログラム可能なデータ構造を有する前記ノードと、 前記複数の記憶ユニットの少なくとも1つに関連して前記ノードによるアクセ
    スをマスクするために、プログラム命令に応じて前記プログラム可能なデータ構
    造を選択的に修正するインタフェースと を備えたことを特徴とするシステム。
  21. 【請求項21】 前記ノードの前記プログラム可能なデータ構造は、前記ノ
    ードに関連してマスクされる前記複数の記憶ユニットの少なくとも1つを特定す
    るプログラム可能な永続的データを含むことを特徴とする請求項20に記載のシ
    ステム。
  22. 【請求項22】 前記ノードの前記プログラム可能なデータ構造は、前記ノ
    ードに関連してマスクされる前記複数の記憶ユニットの少なくとも1つを特定す
    るプログラム可能な一時的データを含むことを特徴とする請求項20に記載のシ
    ステム。
  23. 【請求項23】 前記ノードの前記プログラム可能なデータ構造は、前記ノ
    ードに関連してマスクされる記憶ユニットを特定するプログラム可能な永続的デ
    ータとプログラム可能な一時的データとを含むことを特徴とする請求項20に記
    載のシステム。
  24. 【請求項24】 前記ノードは、前記プログラム可能なデータ構造の変更に
    応じて前記ノードと対応する記憶ユニットとの間に通信チャネルを提供するプロ
    グラム可能なリンクの追加および削除の少なくとも1つをさらにプログラムされ
    ていることを特徴とする請求項20に記載のシステム。
  25. 【請求項25】 前記プログラム可能なリンクは、前記ノードと前記対応す
    る記憶ユニットとに関連付けられた装置オブジェクトを含み、該装置オブジェク
    トは、前記プログラム可能なデータ構造に基づいてインスタンス生成されること
    を特徴とする請求項24に記載のシステム。
  26. 【請求項26】 前記プログラム可能なリンクは、前記ノードに動作可能に
    関連付けられている装置オブジェクトと、前記対応する記憶ユニットに動作可能
    に関連付けられている高レベルのオブジェクトとの間のプログラム可能な通信経
    路を含み、該通信経路は、前記プログラム可能なデータ構造に応じて変わること
    を特徴とする請求項24に記載のシステム。
  27. 【請求項27】 ノードに動作可能に接続されている記憶ユニットを特定す
    るステップと、 少なくとも1つの計画的に選択された記憶ユニットに関連して前記ノードによ
    るアクセスをマスクするステップと を実行するためのコンピュータ実行可能命令を有するコンピュータ読み取り可
    能な記憶媒体。
  28. 【請求項28】 ノードに動作可能に接続されている記憶ユニットを特定す
    るステップと、 選択された記憶ユニットを示す前記ノードにおいてプログラム可能なデータ構
    造を生成するステップと、 前記プログラム可能なデータ構造に基づいて前記記憶ユニットの少なくとも1
    つに関連して前記ノードによるアクセスをマスクするステップと を実行するためのコンピュータ実行可能命令を有するコンピュータ読み取り可
    能な記憶媒体。
  29. 【請求項29】 前記ノードに関連してマスクされる前記複数の記憶ユニッ
    トの少なくとも1つを特定するデータを、前記ノードの永続的メモリに記憶する
    ステップを実行するためのコンピュータ実行可能命令を有することを特徴とする
    請求項28に記載のコンピュータ読み取り可能な記憶媒体。
  30. 【請求項30】 前記ノードに関連してマスクされる前記複数の記憶ユニッ
    トの少なくとも1つを特定するデータを、前記ノードの一時的メモリに記憶する
    ステップを実行するためのコンピュータ実行可能命令を有することを特徴とする
    請求項29に記載のコンピュータ読み取り可能な記憶媒体。
  31. 【請求項31】 前記永続的メモリと前記一時的メモリの少なくとも1つに
    記憶されている前記データに基づいて前記プログラム可能なデータ構造を規定す
    るステップを実行するためのコンピュータ実行可能命令を有することを特徴とす
    る請求項30に記載のコンピュータ読み取り可能な記憶媒体。
  32. 【請求項32】 前記ノードに関連してマスクされる前記複数の記憶ユニッ
    トの少なくとも1つを特定するデータを前記ノードの永続的メモリに記憶するス
    テップと、前記永続的メモリに記憶されている前記データに基づいて前記プログ
    ラム可能なデータ構造を規定するステップとを実行するためのコンピュータ実行
    可能命令を有することを特徴とする請求項28に記載のコンピュータ読み取り可
    能な記憶媒体。
  33. 【請求項33】 前記プログラム可能なデータ構造の変更に応じて、前記ノ
    ードと前記記憶ユニットの対応する1つとの間のプログラム可能なリンクを追加
    または削除するステップを実行するためのコンピュータ実行可能命令を有するこ
    とを特徴とする請求項28に記載のコンピュータ読み取り可能な記憶媒体。
  34. 【請求項34】 前記プログラム可能なリンクは、前記ノードと前記複数の
    記憶ユニットの前記対応する1つとに関連付けられた装置オブジェクトを含み、
    前記プログラム可能なデータ構造に基づいて前記装置オブジェクトをインスタン
    ス生成するステップを実行するためのコンピュータ実行可能命令を有することを
    特徴とする請求項33に記載のコンピュータ読み取り可能な記憶媒体。
  35. 【請求項35】 前記プログラム可能なリンクは、前記ノードに動作可能に
    関連付けられている装置オブジェクトと、前記記憶ユニットの1つに動作可能に
    関連付けられている高レベルの装置オブジェクトとの間のプログラム可能な通信
    経路を含み、前記プログラム可能なデータ構造の変更に応じて、前記通信経路を
    追加または削除するステップを実行するためのコンピュータ実行可能命令を有す
    ることを特徴とする請求項28に記載のコンピュータ読み取り可能な記憶媒体。
  36. 【請求項36】 複数のコンピュータによる複数の共有記憶ユニットへのア
    クセスを管理する方法であって、 前記複数の記憶ユニットを計画的に特定するステップと、 前記複数のコンピュータの少なくとも1つによる前記複数の記憶ユニットの少
    なくとも1つへのアクセスを計画的にマスクするステップと を備えたことを特徴とする方法。
  37. 【請求項37】 記憶ユニットが前記少なくとも1つのコンピュータに関連
    してマスクされるべきか否かのマスキング基準を示すプログラム可能なデータ構
    造を、前記少なくとも1つのコンピュータで記憶するステップをさらに含み、前
    記計画的にマスクするステップは、前記プログラム可能なデータ構造に基づいて
    実行されることを特徴とする請求項36に記載の方法。
  38. 【請求項38】 前記少なくとも1つのコンピュータに関連してマスクされ
    る前記複数の記憶ユニットの少なくとも1つを特定するデータを、前記少なくと
    も1つのコンピュータの永続的メモリに記憶するステップをさらに含むことを特
    徴とする請求項に37記載の方法。
  39. 【請求項39】 前記少なくとも1つのコンピュータに関連してマスクされ
    る前記複数の記憶ユニットの少なくとも1つを特定するデータを、前記少なくと
    も1つのコンピュータの一時的メモリに記憶するステップをさらに含むことを特
    徴とする請求項に38記載の方法。
  40. 【請求項40】 前記永続的メモリと前記一時的メモリの少なくとも1つに
    記憶されている前記データに基づいて前記プログラム可能なデータ構造を規定す
    るステップをさらに含むことを特徴とする請求項39に記載の方法。
  41. 【請求項41】 前記少なくとも1つのコンピュータに関連してマスクされ
    る前記複数の記憶ユニットの少なくとも1つを特定する永続的および一時的デー
    タの少なくとも1つを、前記少なくとも1つのコンピュータに記憶するステップ
    と、永続的および一時的データの前記少なくとも1つに基づいて前記プログラム
    可能なデータ構造を規定するステップとをさらに含むことを特徴とする請求項3
    7に記載の方法。
  42. 【請求項42】 前記少なくとも1つのコンピュータにおいて、前記プログ
    ラム可能なデータ構造の変更に応じて、前記少なくとも1つのコンピュータと対
    応する記憶ユニットとの間に通信チャネルを提供するプログラム可能なリンクを
    追加または削除するステップをさらに含むことを特徴とする請求項37に記載の
    方法。
  43. 【請求項43】 前記プログラム可能なリンクは、前記少なくとも1つのコ
    ンピュータと前記複数の記憶ユニットの対応する1つとに関連付けられた装置オ
    ブジェクトを含み、前記プログラム可能なデータ構造に基づいて前記少なくとも
    1つのコンピュータにおいて前記装置オブジェクトをインスタンス生成するステ
    ップをさらに含むことを特徴とする請求項42に記載の方法。
  44. 【請求項44】 前記プログラム可能なリンクは、前記少なくとも1つのコ
    ンピュータに動作可能に関連付けられた装置オブジェクトと、前記記憶ユニット
    の1つに動作可能に関連付けられた高レベルの装置オブジェクトとの間のプログ
    ラム可能な通信経路を含み、前記プログラム可能なデータ構造の変更に応じて前
    記通信経路を追加または削除するステップをさらに含むことを特徴とする請求項
    42に記載の方法。
JP2001579114A 2000-04-20 2001-02-02 記憶ユニットへのアクセスを管理するシステム及びその方法 Expired - Lifetime JP3965052B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/553,114 2000-04-20
US09/553,114 US6643748B1 (en) 2000-04-20 2000-04-20 Programmatic masking of storage units
PCT/US2001/003632 WO2001082091A1 (en) 2000-04-20 2001-02-02 Programmatic masking of storage units

Publications (2)

Publication Number Publication Date
JP2003532193A true JP2003532193A (ja) 2003-10-28
JP3965052B2 JP3965052B2 (ja) 2007-08-22

Family

ID=24208188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001579114A Expired - Lifetime JP3965052B2 (ja) 2000-04-20 2001-02-02 記憶ユニットへのアクセスを管理するシステム及びその方法

Country Status (13)

Country Link
US (1) US6643748B1 (ja)
EP (1) EP1275050B1 (ja)
JP (1) JP3965052B2 (ja)
CN (1) CN100485647C (ja)
AT (1) ATE423353T1 (ja)
AU (1) AU2001233312A1 (ja)
BR (1) BR0110222A (ja)
CA (1) CA2406902C (ja)
DE (1) DE60137685D1 (ja)
HK (1) HK1053176B (ja)
MX (1) MXPA02010378A (ja)
RU (1) RU2265882C2 (ja)
WO (1) WO2001082091A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006513469A (ja) * 2002-12-16 2006-04-20 ユニシス コーポレイシヨン 記憶システムのための汎用多重通路ドライバ
US9838254B2 (en) 2014-03-31 2017-12-05 Nec Corporation Information processing equipment, information processing method and storage medium

Families Citing this family (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
JP4651230B2 (ja) 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US7720928B2 (en) * 2000-06-02 2010-05-18 Hewlett-Packard Development Company, L.P. Centralized fine-grained enhancements for distributed table driven I/O mapping
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
US7051101B1 (en) * 2000-09-13 2006-05-23 Emc Corporation Methods and apparatus for controlling devices within storage network
US7171474B2 (en) * 2001-04-25 2007-01-30 Sun Microsystems, Inc. Persistent repository for on-demand node creation for fabric devices
US7200646B2 (en) * 2001-04-25 2007-04-03 Sun Microsystems, Inc. System and method for on-demand node creation for fabric devices
US20020194407A1 (en) * 2001-04-25 2002-12-19 Kim Hyon T. Maintaining fabric device configuration through dynamic reconfiguration
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
AU2002341784A1 (en) * 2001-09-21 2003-04-01 Polyserve, Inc. A system and method for efficient lock recovery
US20030154271A1 (en) * 2001-10-05 2003-08-14 Baldwin Duane Mark Storage area network methods and apparatus with centralized management
US6965951B2 (en) * 2002-05-17 2005-11-15 Sun Microsystems, Inc. Device centric discovery and configuration for fabric devices
US20040015611A1 (en) * 2002-06-25 2004-01-22 Kim Hyon T. Interfaces to multiple layers of device properties in a storage network
US7290045B2 (en) * 2002-07-01 2007-10-30 Sun Microsystems, Inc. Method and apparatus for managing a storage area network including a self-contained storage system
JP2004118250A (ja) * 2002-09-24 2004-04-15 Hitachi Ltd 計算機管理システム、管理プログラム
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US7676611B2 (en) * 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
US20060090196A1 (en) * 2004-10-21 2006-04-27 Van Bemmel Jeroen Method, apparatus and system for enforcing security policies
US7392437B2 (en) * 2005-01-20 2008-06-24 Qlogic, Corporation Method and system for testing host bus adapters
WO2007030595A2 (en) * 2005-09-06 2007-03-15 Home Xperience, Inc. Extensible universal home automation integration framework and user interface
US7917712B2 (en) * 2005-09-30 2011-03-29 Hewlett-Packard Development Company, L.P. Method and system for governing access to storage device on SAN
US8438319B1 (en) * 2010-06-24 2013-05-07 Atmel Wi-Fi Solutions, Inc. Method and apparatus for virtualizing hardware dongle over a wireless connection
US20080077638A1 (en) * 2006-09-21 2008-03-27 Microsoft Corporation Distributed storage in a computing environment
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US8161353B2 (en) * 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US7765433B1 (en) * 2007-03-14 2010-07-27 Symantec Corporation Technique for performing disaster rehearsal for a storage area network utilizing a replication appliance
RU2450349C2 (ru) * 2009-11-26 2012-05-10 Хун-Чиэнь ЧОУ Способ и вычислительное устройство защиты данных
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9483201B2 (en) * 2012-07-31 2016-11-01 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US9864606B2 (en) * 2013-09-05 2018-01-09 F5 Networks, Inc. Methods for configurable hardware logic device reloading and devices thereof
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9612952B2 (en) 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
JP6796589B2 (ja) * 2015-02-10 2020-12-09 ピュア ストレージ, インコーポレイテッド ストレージシステムアーキテクチャー
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
CN105095013B (zh) * 2015-06-04 2017-11-21 华为技术有限公司 数据存储方法、恢复方法、相关装置以及系统
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11227065B2 (en) * 2018-11-06 2022-01-18 Microsoft Technology Licensing, Llc Static data masking
US11537716B1 (en) 2018-11-13 2022-12-27 F5, Inc. Methods for detecting changes to a firmware and devices thereof
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5837585B2 (ja) * 1975-09-30 1983-08-17 株式会社東芝 ケイサンキソウチ
DE2712575C2 (de) * 1977-03-22 1985-12-19 Walter Dipl.-Ing. 8011 Putzbrunn Motsch Assoziatives Speichersystem in hochintegrierter Halbleitertechnik
US5253328A (en) * 1989-11-17 1993-10-12 Microelectronics & Computer Technology Corp. Neural-network content-addressable memory
US5357621A (en) * 1990-09-04 1994-10-18 Hewlett-Packard Company Serial architecture for memory module control
US5423044A (en) * 1992-06-16 1995-06-06 International Business Machines Corporation Shared, distributed lock manager for loosely coupled processing systems
JPH06236325A (ja) * 1993-02-08 1994-08-23 Sansei Denshi Japan Kk データ記憶装置
US5592641A (en) * 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US5673317A (en) * 1995-03-22 1997-09-30 Ora Electronics, Inc. System and method for preventing unauthorized programming of wireless network access devices
US5828889A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Quorum mechanism in a two-node distributed computer system
US5794244A (en) * 1996-06-04 1998-08-11 International Business Machines Corporation Data storage system with table-driven device selector
US6031842A (en) 1996-09-11 2000-02-29 Mcdata Corporation Low latency shared memory switch architecture
EP0858036A3 (en) * 1997-02-10 1999-12-22 Compaq Computer Corporation Fibre channel attached storage architecture
US6005849A (en) 1997-09-24 1999-12-21 Emulex Corporation Full-duplex communication processor which can be used for fibre channel frames
US6094699A (en) * 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006513469A (ja) * 2002-12-16 2006-04-20 ユニシス コーポレイシヨン 記憶システムのための汎用多重通路ドライバ
US9838254B2 (en) 2014-03-31 2017-12-05 Nec Corporation Information processing equipment, information processing method and storage medium

Also Published As

Publication number Publication date
AU2001233312A1 (en) 2001-11-07
CA2406902A1 (en) 2001-11-01
CA2406902C (en) 2009-11-03
RU2265882C2 (ru) 2005-12-10
HK1053176A1 (en) 2003-10-10
EP1275050B1 (en) 2009-02-18
JP3965052B2 (ja) 2007-08-22
ATE423353T1 (de) 2009-03-15
HK1053176B (zh) 2009-07-17
BR0110222A (pt) 2004-02-25
RU2002131156A (ru) 2004-03-10
US6643748B1 (en) 2003-11-04
MXPA02010378A (es) 2003-05-23
DE60137685D1 (de) 2009-04-02
CN1430747A (zh) 2003-07-16
EP1275050A1 (en) 2003-01-15
CN100485647C (zh) 2009-05-06
WO2001082091A1 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
JP2003532193A (ja) 記憶ユニットの計画的なマスキング
US10140045B2 (en) Control device for storage system capable of acting as a constituent element of virtualization storage system
US6892316B2 (en) Switchable resource management in clustered computer system
CN101080694B (zh) 将操作系统从源计算机迁移到目的计算机的方法和装置
US6209023B1 (en) Supporting a SCSI device on a non-SCSI transport medium of a network
US7272674B1 (en) System and method for storage device active path coordination among hosts
US7437462B2 (en) Method for zoning data storage network using SAS addressing
US7814065B2 (en) Affinity-based recovery/failover in a cluster environment
US6640278B1 (en) Method for configuration and management of storage resources in a storage network
US6601128B1 (en) Method, system, program, and data structure for selecting a preferred path to a storage device
US7444468B2 (en) Storage system and method using interface control devices of different types
US20030208581A1 (en) Discovery of fabric devices using information from devices and switches
EP1291755A2 (en) Storage system, a method of file data back up and a method of copying of file data
US8316110B1 (en) System and method for clustering standalone server applications and extending cluster functionality
KR20040015223A (ko) 클러스터형 컴퓨터 시스템의 자원 작용 수행 방법,클러스터형 컴퓨터 시스템 및 그의 수행을 위한 컴퓨터프로그램
CN101836186A (zh) 用于在隔离环境之间通信的方法和系统
US20040199680A1 (en) Centralized technique for assigning I/O controllers to hosts in a cluster
CN101799743A (zh) 用于逻辑卷管理的方法和装置
JP2002229837A (ja) 共有ディスク・パラレル・データ・ファイル内のデータに対するアクセスを制御する方法
US7340743B1 (en) Masterless locks in a multi-node environment
JP2009199584A (ja) 階層型ストレージシステムにおけるhddのスピンダウンとスピンアップを管理する方法及び装置
EP1267264A2 (en) Computer system
US20020161934A1 (en) System and method for communication of data between a host and an administration system
KR20020059139A (ko) 네트워크에 직접 부착 가능한 디스크 시스템
JP2003204327A (ja) コンピュータシステムの管理方法、管理プログラム、記憶装置および表示装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050926

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20060710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060711

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060830

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: 20070427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070525

R150 Certificate of patent or registration of utility model

Ref document number: 3965052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130601

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term