JP2003223346A - ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ - Google Patents
ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャInfo
- Publication number
- JP2003223346A JP2003223346A JP2002379209A JP2002379209A JP2003223346A JP 2003223346 A JP2003223346 A JP 2003223346A JP 2002379209 A JP2002379209 A JP 2002379209A JP 2002379209 A JP2002379209 A JP 2002379209A JP 2003223346 A JP2003223346 A JP 2003223346A
- Authority
- JP
- Japan
- Prior art keywords
- vfiler
- filer
- server
- storage
- access
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
スをファイラー等の1つのサーハ゛内に作成及び維持するための能
力を提供するアーキテクチャに関する。 【解決手段】vfilerは、マルチフ゜ロトコルサーハ゛のインスタンスを確立
するための、ファイラーフ゜ラットフォームのネットワークリソース及びストレーシ゛リソ
ースの論理的分割である。各vfilerには、ホ゛リュームまたは論
理サフ゛ホ゛リューム(qtree)といったストレーシ゛リソースの専用単位のサフ
゛セット、及び、1以上のネットワークアト゛レスリソースが割り当てられ
る。また、各vfilerはストレーシ゛オヘ゜レーティンク゛システムのファイルシステム
リソースに共用アクセスすることもできる。割り当てられたリソース
及び共有リソースに対するアクセス制御を保証するため、各vfil
erには各々のアクセスフ゜ロトコルについて独自のセキュリティト゛メインが
さらに割り当てられる。ファイルシステムによってvfiler境界チ
ェックが実施され、要求のあったファイラーフ゜ラットフォーム上に格
納されたファイルについてカレントvfilerが特定のストレーシ゛リソースへ
のアクセスが可能であるか判定される。
Description
ャに関し、詳しくは1つの物理サーバプラットフォーム
内で複数の論理サーバのインスタンス化を可能にするア
ーキテクチャに関する。
ディスク等の書き込み可能な持続性記憶装置上での情報
の編成に関するファイルサービスを提供するコンピュー
タである。ファイルサーバまたはファイラーは、情報を
ディレクトリ及びファイルの階層構造として例えばディ
スク上に論理的に編成するためのファイルシステムを実
施するストレージオペレーティングシステムを含むスト
レージシステムとして実現される。「ディスク上」の各
ファイルは、ファイルの実際のデータ等の情報を記憶す
るように構成された例えばディスクブロック等のデータ
構造の集まりとして実施される。一方、ディレクトリ
は、他のファイルまたはディレクトリに関する情報を記
憶する特別なフォーマットのファイルとして実施され
る。
/サーバ形態の情報配送に従って動作するように構成さ
れ、これにより多数のクライアントがファイルサーバ等
のサーバによって実行されているアプリケーションサー
ビスにアクセスできる。この形態の場合、クライアント
は、インターネット等の公衆網を介して実施されるポイ
ント・ツー・ポイント接続、共有ローカルエリア・ネッ
トワーク、ワイドエリアネットワーク、または、仮想私
設網(VPN)等のコンピュータネットワークを介して
ファイルサーバに「接続」するためのアプリケーション
をコンピュータ上で実行している場合がある。各クライ
アントは、これらのネットワークを介してファイルシス
テムプロトコルメッセージを(パケットの形で)サーバ
へ発行することにより、ファイルサーバに対してファイ
ルシステムのサービスを要求することができる。しかし
ながら、ファイルサーバは(例えばクライアントまたは
「ホスト」)コンピュータに直接取り付けられた複数の
記憶装置の集まりとして動作するように構成される場合
もある。この場合、ユーザはそれらの記憶装置に対して
アクセス(すなわち、読み出しまたは書き込み)するた
めのファイルシステムのサービスを要求する場合もあ
る。
ルシステムの1種は、write-anywhereファイルシステム
である。ディスク上のあるデータブロックがディスクか
らメモリに取得され、新たなデータで「汚される」場
合、そのデータブロックはディスク上の新たな位置に記
憶され(書き込まれ)、これによって書き込み性能を最
適化している。write-anywhereファイルシステムは、デ
ータがディスク上に実質的に連続的に配置された最適な
レイアウトを最初に仮定する。この最適なディスクレイ
アウトによって効率的なアクセス動作になり、特にディ
スクに対するシーケンシャルリード動作について効率的
なアクセス動作になる。ファイラー等のストレージシス
テム上で動作するように構成されたwrite-anywhereファ
イルシステムの一例は、カリフォルニア州サニーベール
にあるネットワークアプライアンス社から入手できるW
rite Anywhere File Layout
(WAFL(登録商標))である。WAFLファイルシ
ステムは、ファイラー及び関連ディスクストレージのプ
ロトコルスタック全体の中で、マイクロカーネルとして
実施される。
な記憶装置(ディスク)を含む1以上の「ボリューム」
として実施され、ディスク空間の全体的な論理的配置を
定義している。通常、各ボリュームはそのボリューム独
自のファイルシステムに関連している。WAFLファイ
ルシステムの場合、物理ボリュームの名前空間の中に、
論理サブボリュームの性質を持つ「qtree」と呼ば
れる特別なディレクトリが作成される。各ファイルシス
テムオブジェクト(ファイルまたはディレクトリ)は唯
1つのqtree及び複数のquotaに関連してお
り、セキュリティプロパティ及びその他の事項はqtr
ee毎に割り当てることができる。各ボリュームはその
ボリューム独自のファイルシステム識別子(ID)を有
しており、ボリューム内の各qtreeはそのqtre
e独自のqtreeIDを有している。
を支える大量の記憶装置(例えば6テラバイト等)を有
している。この種のストレージシステムは、多くの用途
即ち「目的」について一般的に大きすぎ、高価すぎるこ
とが多い。1ボリューム(または1ファイルシステム)
の典型的な最小記憶容量でさえ約150ギガバイト(G
B)もの大きさがあり、ほとんどの目的について一般的
に大きすぎるものである。
ではなく、特定の目的に適合した複数の小型サーバを購
入することも可能である。しかしながら、上述のように
1ボリュームの典型的な最小記憶容量は約150GBで
あるから、記憶装置の細分性に関する問題は依然として
存在する。また、多数の小型サーバの入手は1つのファ
イラーの購入よりもコストがかかる場合もある。さら
に、多数の小型サーバを維持及び管理するコストは通
常、1つのファイラーを維持及び管理するコストよりも
実質的に大きいものである。従って、多数のサーバを1
つのファイラープラットフォーム内に統合し、それらの
サーバを論理的に実現することが望まれている。従っ
て、サーバ統合とは、複数の論理サーバあるいは仮想サ
ーバを1つの物理サーバプラットフォーム内に設ける能
力として定義される。1つのプラットフォーム内に実現
可能な仮想サーバの例としては、ウェブサーバ、データ
ベースサーバ、メールサーバ、及び、ネームサーバが挙
げられる。
のプラットフォーム内に実質的に「まとめてラックに納
められた」複数の独立したサーバを提供するものであ
る。このソリューションの一例は、EMC社から入手可
能なCelerraアーキテクチャである。Celer
raアーキテクチャは、データムーバまたはファイルサ
ーバのインスタンスの概念を利用しており、様々な他の
データムーバに対して論理的に配分および割り当て可能
なストレージリソースを有するSymmetrixスト
レージデバイスのフロントエンドとして機能する。各デ
ータムーバは、そのデータムーバ独自のネットワークハ
ードウェアの集合と、そのデータムーバ独自のオペレー
ティングシステムのコピーを動作させるためのそのデー
タムーバ独自のプロセッサとを有している。
の複数のインスタンスを1つの物理プラットフォーム上
で実行するように構成される。例えばIBM社の仮想マ
シン(VM)オペレーティングシステムは、メインフレ
ームコンピュータシステム上で動作し、サーバの複数の
インスタンスをそのコンピュータシステム上で実行でき
るようにする。各VMは、独自のファイルシステム及び
ストレージリソースを有する1つのオペレーティングシ
ステム全体を完全にインスタンス化したものである。従
って、メインフレーム上で動作しているVM間でファイ
ルシステムやストレージリソースを共有することはな
い。そうではなく、コンピュータシステムのストレージ
リソースは、そのコンピュータ上に実現されたVMのイ
ンスタンスに配分され、専用のものになる。
行に対応したサーバ統合ソリューションの他の例として
は、Sambaがある。Sambaは、UNIX(登録
商標)オペレーティングシステムプラットフォーム上で
動作するオープンソースのWindows互換サーバで
ある。Sambaサーバは、システムのアプリケーショ
ン層で実行され、UNIXプラットフォーム上で動作す
るWindows互換サーバの複数のインスタンスを提
供する。Sambaは、1つの物理プラットフォーム上
で複数のサーバを実行するための、比較的一般的な「サ
ーバプロセス複製」に基くアプローチの一例である。
方法は、統合されている全てのサービス(即ちファイル
サーバ用のストレージ)ユニットをリネームして各々の
サービスユニットがそれらの間で一意に定まるように
し、全てのサービス(ストレージ)ユニットのサービス
を提供する1インスタンスの統合サーバを構成すること
である。本明細書では、以後この方法を「サーババンド
リング」と呼ぶ。
ング・ベースのサーバ統合ソリューションは通常、プラ
ットフォーム上で動作しているサーバインスタンスの各
々について異なるセキュリティ特性を提供しない。例え
ば、Sambaは、Windows互換(例えばNT)
サーバの全てのインスタンスについて、Sambaのプ
ラットフォームインフラストラクチャの非複製部分に関
する1セットのセキュリティ特性(即ちセキュリティド
メイン)しか持たない。セキュリティドメインの一例
は、Windows NT(登録商標)ドメインセキュ
リティである。NTドメインセキュリティは、あるドメ
インの全てのユーザ及びサーバが権限を有するユーザ識
別子及びグループ識別子(「セキュリティオブジェク
ト」)並びにオペレーティングシステムのリソースなど
を含む同じセキュリティ情報を共有することによる抽象
概念である。
dows NTで保護されたサブシステムによって、セ
キュリティアカウントマネージャ(SAM)データベー
スに保持される。SAMデータベースは、UNIXサー
バ上の/etc/passwdデータベース及び/etc/groupデータ
ベースの組み合わせと同等のものであり、そのサーバに
ローカルなユーザ及びグループだけを保持している。こ
の/etc/passwd、/etc/groupといった表記は、UNIX
プラットフォーム上で使用されるパスワードファイル及
びグループファイルへのパスを指す設定ディレクトリを
示している。あるセキュリティドメインにアカウントを
有するユーザは、そのドメイン内の任意のサーバから自
分のアカウントにログオンしてアクセスすることが可能
である。通常、1つのサーバは、(各アクセスプロトコ
ルについて)一度に1つのセキュリティドメインにしか
属することができない。マルチプロトコルサーバーは、
各アクセスプロトコルについて1セキュリティドメイン
と同程度の数のセキュリティドメインに属することが可
能である。例えばマルチプロトコルファイラーは、CI
FS(Common Internet File System)アクセスのため
にNTドメインに属するとともに、NFS(Network Fi
le System)アクセスのためにNIS(Network Informat
ion System)ドメインにも属する場合がある。上記のよ
うに、UNIX環境も異なるサーバについて異なるセキ
ュリティオブジェクトを有する場合がある。
rkingの一態様は、ユーザがサーバ上の1単位のス
トレージを参照するための方法を定義したUNC(Unif
ormNaming convertion)パスの概念である。UNCパス
は、先頭に「\\」の文字列を付けて、ネットワーク上
のリソース名を指し示すものである。例えば、UNCパ
スは、サーバ名、共有名及びパス記述子を含み、シェア
等の1単位のストレージをまとめて参照する。シェアと
は、ファイルシステム上のディレクトリ等の共有ストレ
ージリソースである。
めに用いられる複数の独立サーバを有する環境の場合、
すべてのシェア(及び共有名)は異なるものでなければ
ならない。しかしながら、それらの複数のサーバをサー
バに対するエイリアス名を用いて1つのサーバプラット
フォームに統合した場合(Sambaやサーババンドリ
ング等のサーバプロセス複製により)、何らかのエイリ
アスサーバ名を介してアクセスしたときにすべての共有
リソースが見えてしまう場合があるので、シェアに対す
るUNCパスの中のサーバ名を変更しなければならない
場合がある。言い換えると、各サーバがサーバ独自のシ
ェアの集合を有していても、ユーザは自分のデータにア
クセスするためにそれらのシェアのUNCパス定義を変
更しなければならない場合がある。
そのクライアントがセキュリティドメイン1に関連し、
第2及び第3のNTサーバ(NT2、NT3)及びそれ
らのクライアントがセキュリティドメイン2に関連して
いるような3つ(3)のNTサーバを編成するものと仮
定する。即ち、NT2及びNT3のクライアント(ユー
ザ)はセキュリティドメイン2内の同じセキュリティデ
ータベースを共有するものとする。セキュリティドメイ
ン2のユーザがNT3上のあるシェア(proj1)を
参照する場合、そのユーザは認証のためにまずセキュリ
ティドメイン2に加入し、その後、そのサーバに接続
し、そのサーバを共有する。ユーザによって指定される
このUNCパスの表記の例は、\\NT3\data\
proj1というようなものになる。
付けられたリソースの1つをサーバプラットフォームに
統合するものと仮定する。この場合、特定ドメインのク
ライアントが自分のデータを参照する方法に関して問題
が生じる。すなわち、各クライアントがproj1と呼
ばれるシェアを有し、それらのシェア全てが1つのプラ
ットフォーム内に統合された場合、それらのシェアを区
別する方法が存在しなければならない。サーバのストレ
ージリソースに対するデータのマイグレーション(移
行)や再構成はクライアントシステムに対して透過的で
はなく、実際には、この問題を解決するために、クライ
アントシステムは自分のデータに対するパス記述子を変
更しなければならない場合も多い。こうしたアプローチ
は、クライアントシステムに代わるアクションが必要に
なるので、一般的に望ましくない。さらに、ストレージ
リソースを1以上のサーバに統合した場合、ユーザがそ
れらのサーバのリソースにアクセスするときにそれらの
サーバが同じセキュリティドメインに存在しないことも
あり得る。
サーバ統合技術は、物理的システムリソースの分割、及
びオペレーティングシステムオブジェクトの複製に基く
ものであり、複数のセキュリティドメインからサーバを
統合することができないことや、サービス(ストレー
ジ)ユニットのリネームが必要になることといった上記
2つの制限の影響を受けることはない。しかしながら、
これらの技術には他の制限がある。通常、このようなサ
ーバ統合ソリューションのオペレーティングシステム
は、ネットワークインタフェースカード等の物理的ハー
ドウェアデバイスや、ハードウェアデバイスをうまく定
義した集まり等を表すソフトウェアオブジェクトを含
む。ハードウェアデバイスの集まりを表すソフトウェア
オブジェクトの一例は、オペレーティングシステム上で
動作しているアプリケーションによって利用可能な記憶
ディスクの集合に対して空間の割り当てを行なうファイ
ルシステムである。
ステムの場合、通常これらのハードウェアを表すソフト
ウェアオブジェクトの静的割り当ては、システムのハー
ドウェアリソースのサブセットをVM/データムーバ
(仮想サーバ)の1つのインスタンスに関連付けること
により実施される。各仮想サーバに対するリソースの割
り当てにより、ハードウェアリソースを表すソフトウェ
アオブジェクトが仮想サーバに直接割り当てられるの
で、ハードウェアリソースは特定の仮想サーバに直接関
連付けられている。この直接割り当て方法はリソース管
理の柔軟性を制限するものであり、特に仮想サーバ間で
のリソースの「論理的」割り当てに関して柔軟性を制限
する。また、この方法は、すべての分割及びサイズ決定
を統合時に行なわなければならず、統合サーバの発展に
応じて後から容易にそれらを変更することができないの
で、サーバ統合の革新的成長を妨げるものである。
ダ(SSP)の場合に特に有用である。SSPは、1つ
の物理的なプラットフォーム、即ち「データセンター」
を用いて、データストレージアプリケーションのサービ
スを複数のユーザまたはクライアントに提供(「ホステ
ィング」する。このデータセンターは主としてSSPに
よって保守され、安全で信頼性の高いストレージサービ
スをクライアントに提供する。典型的な構成の場合、デ
ータセンターは、独立した私設の内部ネットワーク
(「イントラネット」)を有する複数の異なるクライア
ント環境に接続される。各イントラネットは異なるクラ
イアント又はクライアントの部署に関連している場合が
あるので、物理的プラットフォーム内でデータトラフィ
ックを個別に保持しなければならない。
サーバを1つの物理的ファイラープラットフォーム内に
インスタンス化することを可能にし、柔軟性の高い物理
リソースの分割を可能にするアーキテクチャに関するも
のである。
ーバを1つの物理的ファイラープラットフォーム内にイ
ンスタンス化することを可能にし、SSP環境での使用
に適し、高レベルのセキュリティをユーザに提供するア
ーキテクチャに関するものである。
レーションまたはロードバランシング等に使用するた
め、異なる物理プラットフォーム上のサーバの効率的な
マイグレーション及び再インスタンス化を可能にする形
態で記憶されたデータ及びすべての設定情報を有するサ
ーバのカプセル化を可能にするアーキテクチャにも関連
する。
ーバの複数のインスタンスをファイラープラットフォー
ム等の1つのサーバ内に十分な柔軟性及び細分性で作成
及び維持するための能力を提供するアーキテクチャに関
する。vfilerは、マルチプロトコルサーバのイン
スタンスを確立するための、ファイラーのネットワーク
及びストレージリソースの論理的分割である。各vfi
lerは、プラットフォーム上の他のvfilterか
ら独立して維持及び実行される。ストレージユニットや
ネットワークインタフェースのネットワークアドレス等
の専用ファイラーリソースをグループ化及び分割し、フ
ァイラー内にセキュリティドメインを確立することがで
きる。さらに、ストレージオペレーティングシステム及
びファイルシステム等の共通ファイラーリソースをvf
iler間で共有することができる。
ームやqtree等の専用の個別単位のストレージリソ
ースと、インターネットプロトコルアドレス等のネット
ワークアドレスとが割り当てられる。また、各vfil
erは、そのクライアントシステムに代わって共通ファ
イルシステムに共用アクセスすることが可能である。従
って、例えばクライアントの共有ファイルシステムへの
アクセスに関するセキュリティオブジェクトの解釈は、
vfilerによって異なる場合がある。これに対処す
るため、各vfilerに、特にvfilerに一意の
個別のセキュリティドメインに関する情報を含むvfi
lerコンテクストデータ構造を設け(サポートされて
いるアクセスプロトコル毎に)、これによってvfil
erに割り当てられた共有リソースに対するアクセスの
制御を可能にする。
レーティングシステムのファイルシステムによってvf
iler境界チェックが実施され、ファイラー上で実行
されている現在のvfilerが要求されたプラットフ
ォーム上のファイルの特定のストレージリソースにアク
セス可能であることが検証される。このvfiler境
界チェックは、要求されたファイルのiノードから得
た、そのファイルに関する記憶単位(qtreeまたは
ボリューム)などの設定情報に基いて行なわれる。具体
的には、複数ステージの検証手順に従ってファイルシス
テム識別子及びqtree識別子を確認し、それらの識
別子が現在のvfilerに割り当てられたストレージ
リソースの要素であることを確認する。一単位のストレ
ージのアクセスの要求がある毎に、これらの識別子を用
いてvfiler境界チェックが実施され、要求を行な
っているvfilerがそのストレージリソースに対す
るアクセスを許可されているか否かが判定される。この
チェックにより、要求を行なっているvfilerが要
求したストレージリソースに対するアクセスを許可され
ていないことが判明した場合、その要求は直ちに拒否さ
れる。そうでない場合には、その要求は許可され、ファ
イルシステムはその要求を処理するための処理を行う。
ーキテクチャによると、仮想サーバ及びそれらの各々の
データアプリケーションの1つのファイラ上への統合だ
けでなく、すべてのサーバネットワーク及びストレージ
リソースのカプセル化も容易になる。サーバ統合は、各
々がセキュリティドメインに関連付けられたvfile
rの作成(サポートされているアクセスプロトコルの各
々について1つ)によって行なわれる。これらのセキュ
リティドメイン間には共通の要素がまったくなく、これ
によって個別の独立したvfilerが同じファイラー
プラットフォーム内に提供される。本発明のこの態様
は、ファイラ上で複数のクライアント組織のデータアプ
リケーションを扱うストレージサービスプロバイダの場
合、特に有用である。各クライアント組織は、自分のv
filerだけにしかアクセスすることができず、他の
組織と同じ物理ファイラーを共有していることにはまっ
たく気づかない。従って、この新規なアーキテクチャに
よると、各クライアント組織について専用のファイラー
は不要になる。
r毎に割り当てられるため、vfiler間でのストレ
ージリソースのマイグレーションがユーザに対して透過
的になる。これによって、クライアントはデータを参照
するための方法(例えばパス記述子)を変更する必要も
なくなる。さらに、基礎とするファイルシステムを共有
しているため、vfilerに対するストレージユニッ
トの割り当てを柔軟にすることができ、優れた細分性に
することができる。即ち、1つのボリュームを複数のv
filerで共有することができ、さらに、1つのファ
イラは任意の複数のボリューム上に1以上のボリューム
及び/又は1以上のqtreeを有することができる。
0と、ネットワークストレージアプライアンス等のファ
イルサーバとを含む本発明に有効に使用されるコンピュ
ータネットワーク100の略ブロック図である。ファイ
ルサーバまたはファイラー200は、ディスク等のスト
レージデバイス上の情報の編成に関するファイルサービ
スを提供するコンピュータである。クライアント100
は、従来のCIFS(Common Internet File System)
やNFS(Network File System)プロトコル等のファ
イルシステムプロトコルを有するアプリケーションを実
行するように構成された汎用コンピュータでよい。さら
にクライアント110は、クライアント/サーバモデル
の情報配送に従ってファイラー200と対話することが
できる。即ち、ネットワーク100を介して例えばCI
FS及びNFSプロトコルフォーマットにカプセル化さ
れたパケット120を交換することにより、各クライア
ントはファイラーのサービスを要求することができ、フ
ァイラーはクライアントから要求されたサービスの結果
を返すことができる。当業者であれば、本明細書で説明
する新しい技術は、サーバ上のサーバアプリケーション
と通信するクライアント上で実行されている様々なアプ
リケーションに従って任意のクライアントにサービスを
提供する任意のサーバに適用することが可能であること
が分かるであろう。
80を介してルータやスイッチなどの中間ネットワーク
ノード150に接続される。この物理リンクには、例え
ばギガビットイーサネット(登録商標)リンク、100
BASE−Tイーサネットリンク、10BASE−Tイ
ーサネットリンクまたはその他同様のリンク等が含まれ
る。スイッチ150は更に、例えばローカルエリアネッ
トワーク(LAN)や仮想LAN(VLAN)として構
成されたネットワーククラウド130を介してクライア
ント110に接続される。あるいは、ファイラーはポイ
ント・ツー・ポイント接続やLAN等の共有媒体からな
る通信リンク140を介して1以上のクライアントに直
接接続することもできる。
ter Inter Connect)バス等のシステムバス210によ
って相互接続されたプロセッサ202、メモリ204、
ストレージアダプタ206及び1以上のネットワークア
ダプタ208を含むファイラー200を示す略ブロック
図である。このファイラーは、ストレージアダプタ20
6に接続されたディスク216上で情報をディレクトリ
及びファイルの階層構造として論理的に編成するための
ファイルシステムを実行するストレージオペレーティン
グシステム300をさらに含む。本明細書で説明する例
示的実施形態の場合、ストレージオペレーティングシス
テム300は、好ましくはネットワークアプライアンス
社から入手できるNetApp Data ONTAP
(登録商標)であり、FAFL(Write Anyw
here File Layout)ファイルシステム
を実施する。
ることができ、そのうちの1つはストレージオペレーテ
ィングシステム300のネットワークドライバによって
使用するために複数のデータバッファ222として編成
されたバッファプール220である。本明細書で説明さ
れるように、各ネットワークドライバはバッファ222
のリストに割り当てられ、ネットワークアダプタ208
のインタフェース218で受信されたデータ要求をロー
ドするために使用される。メモリの他のセクションは、
本発明に関するソフトウェアプログラムコード及びデー
タ構造を記憶するため、プロセッサ及びアダプタによっ
てアドレス指定可能な記憶場所として編成することがで
きる。従って、プロセッサ及びアダプタは、そのソフト
ウェアコードを実行し、データ構造にアクセスするよう
に構成された処理要素及び/又は論理回路を含む。スト
レージオペレーティングシステム300は、その一部が
通常メモリ内に存在し、処理要素によって実行され、特
にファイラー200によって実施されるサービスを支え
るストレージ及びネットワーク操作を呼び出すことによ
り、そのファイラーを機能的に編成する。当業者であれ
ば、本明細書で説明する新しい技術に関するプログラム
命令の記憶及び実行には、様々なコンピュータ読取可能
媒体を含めて他の処理手段及び記憶手段も利用できるこ
とが分かるであろう。
ク180を介してファイラー200をスイッチ150に
接続するのに必要な機械的回路、電気回路及び信号回路
を有するネットワークインタフェースカード(NIC)
を含む場合がある。一実施形態では、この物理リンク及
びインタフェースは、集合インタフェースまたは仮想イ
ンタフェース(VIF)190として編成される。各N
ICは1つのインタフェース218を有し、4リンクの
VIFの場合、ファイラーは4個のNIC208を有す
る。あるいは、各NIC208が4個の「4分の1ポー
ト」インタフェース218を有し、各々の4分の1ポー
トインタフェースがVIF190のリンク180に接続
されるようにすることもできる。他の実施形態では、物
理リンク及びインタフェースを集合インタフェースまた
はVLANではないように構成することもできる。各イ
ンタフェース218には、1つのMAC(Media Access
Control)アドレスと共に1以上のIP(Internet Pro
tocol)アドレスを割り当てることができる。しかしな
がら、物理インタフェース218及びそれらに関連する
リンク180を1つの仮想インタフェース190に一体
化した場合、全ての物理インタフェースがただ1つのM
ACアドレスに応答してしまう。即ち、物理インタフェ
ース218は、共通のMACアドレスが割り当てられた
1つの論理インタフェースを有する1つの仮想的な「パ
イプ」に編成される。
で実行されているストレージオペレーティングシステム
300と協働してクライアントから要求された情報にア
クセスすることができ、この情報はディスク等の何らか
の記憶媒体上に記憶されている。ストレージアダプタ
は、従来の高性能ファイバーチャネルシリアルリンクト
ポロジー等のI/O相互接続構成を介してディスクに接
続された入出力(I/O)インタフェース回路を含む。
情報はストレージアダプタによって取得され、必要であ
ればシステムバス210を介してネットワークアダプタ
208へ転送する前にプロセッサ202(又はアダプタ
206自体)によって処理を施し、その情報をパケット
120にフォーマットしてクライアント110へ返す。
トレージディスク216の集まりを含む1以上のストレ
ージ「ボリューム」として実施し、ディスク空間の全体
的な論理的構成を定義することが好ましい。各ボリュー
ムは通常、そのボリューム独自のファイルシステムに関
連している。ディスク216に対するアクセスを容易に
するため、ストレージオペレーティングシステム300
は、ディスク上で情報をファイル及びディレクトリの階
層構造として論理的に編成するファイルシステムを実施
する。「ディスク上」の各ファイルはデータ等の情報を
記憶するように構成されたディスクブロックの集合とし
て実施されるのに対し、ディレクトリは他のファイル及
びディレクトリに関する情報を格納した特別なフォーマ
ットのファイルとして実施される。前述のように、スト
レージオペレーティングシステムは、WAFLファイル
システムを実施するData ONTAPオペレーティ
ングシステムであることが好ましい。しかしながら、任
意の適当なファイルシステムを用いることが可能である
ことは明らかであるから、「WAFL」という用語を使
用した場合でも、この用語は本発明の教示に適合可能な
任意のファイルシステムを広く意味するものと解釈すべ
きである。
a ONTAPオペレーティングシステム300を示す
略ブロック図である。このストレージオペレーティング
システムは、ネットワークドライバ(例えばギガビット
イーサネットドライバ等)のメディアアクセス層310
を含む一連のソフトウェア層から構成される。このオペ
レーティングシステムは更に、IP層312等のネット
ワークプロトコル層と、その補助的なトランスポート機
構であるトランスポートコントロールプロトコル(TC
P)層314及びユーザデータグラムプロトコル(UD
P)層316を含む。ファイルシステムプロトコル層は
マルチプロトコルデータアクセスを提供するため、CI
FSプロトコル318、NFSプロトコル320及びハ
イパーテキストトランスファープロトコル(HTTP)
322をサポートする。また、ストレージオペレーティ
ングシステム300は更に、RAID(Redundant Arra
yof Independent Disks)プロトコル等のディスクスト
レージプロトコルを実施するディスクストレージ層32
4と、SCSI(Small Computer Systems Interface)
プロトコル等のディスクアクセスプロトコルを実施する
ディスクドライバ層326とを含む。
ワークプロトコル層/ファイルシステムプロトコル層と
の橋渡しをするのはWAFL層330であり、好ましく
はWAFLファイルシステムを実施する。WAFLファ
イルシステムのディスク上のフォーマットは、例えば4
キロバイト(kB)のブロックを用いたブロックベース
のフォーマットであり、ファイルを表すのにinode
を使用している。inodeとはファイルに関するメタ
データ等の情報を記憶するために使用されるデータ構造
であり、例えば128バイトのデータ構造である。in
odeに保持されるメタデータには、例えばそのファイ
ルの所有者、ファイルのパーミッション、ファイルのサ
イズ、ファイルの種類、ファイルに関する記憶単位、及
び、そのファイルのディスク上の位置等が含まれる。W
AFLファイルシステムは、ファイルハンドル、すなわ
ちinode番号を含む識別子を用いてディスクからi
nodeを検索する。また、WAFL層330は、その
ファイルシステムのレイアウトを記述するメタデータを
記憶するためにファイルも使用する。これらのメタファ
イルには、特にinodeファイルが含まれる。
求は、例えばコンピュータネットワーク100を介して
従来のCIFSまたはNFSプロトコルのパケット12
0としてファイラー200のネットワークアダプタ20
8に転送される。メディアアクセス層310のネットワ
ークドライバは、ネットワークアダプタと協働してその
要求パケットをデータバッファ222にロードし、その
入ってきた要求パケットを受信したファイラーの物理イ
ンタフェース218の名前を用いてそのバッファにマー
クを付ける。各バッファ222はヘッダ部分224及び
データ部分226からなり、入ってきたパケットはデー
タ部分にロードされる。ヘッダの内容には(1)バッフ
ァの種類、(2)様々なフラグ、及び(3)ファイラー
によってマークが付けられた着信インタフェースが含ま
れ、これらがファイラーによって維持される。入ってき
たパケットがロードされた後、バッファ222はネット
ワークプロトコルスタックが実質的に繰り上げられ、例
えばファイラーのディスク上に記憶されたデータをフェ
ッチすることによりその要求をサービスする、適当なア
プリケーションへ配送される。
は、そのバッファをWAFL層330へ転送する前にさ
らなる処理を行なうため、ネットワークプロトコル層3
12〜314またはCIFSまたはNFS層318、3
20上へ渡す。WAFLファイルシステムは、要求され
たデータ(及びinode)が「コア」内、即ちメモリ
204内に存在しなければ、要求されたデータ(及びi
node)をディスク216からロード(検索)するた
めの処理を行なう。その情報がメモリ内に存在しない場
合、WFAL層330は、inode番号を用いてin
odeファイル内に索引付けして適当なエントリにアク
セスし、論理ボリュームブロック番号(VBN)を取得
する。次いでWAFL層はその論理VBNをディスクス
トレージ(RAID)層324に渡し、ディスクストレ
ージ(RAID)層324がその論理番号をディスクブ
ロック番号にマッピングし、ディスクブロック番号をデ
ィスクドライバ層326の適当なドライバ(例えばSC
SIドライバ等)へ送信する。ディスクドライバは、デ
ィスク216のそのディスクブロック番号にアクセス
し、要求されたデータブロックをファイラーで処理する
ためメモリ204にロードする。要求をサービスする
際、CIFSまたはNFS層318、320は、フェッ
チされたデータに対してバッファプールの中から別の
(応答)バッファ222を割り当て、更にその応答を最
初の要求に関連付ける。即ち、CIFSまたはNFS層
は、入ってきた要求に関連する物理インタフェースを用
いてその応答バッファにマークを付ける。
クライアント110に対してファイルサービスを提供す
るように構成されているため、通常、クライアントから
発行された要求に応答してデータを返す。この応答性を
向上させるため、本ファイラーは、クライアントから要
求を受信するのに使用された物理インタフェース218
と同じ物理インタフェースを介して実質的に応答を返す
という「高速パス」技術を実施する。高速パス技術を実
施するためには、CIFSまたはNFS層318でバッ
ファヘッダー224内に高速パスフラグをアサートし、
次いでそのバッファをプロトコルスタック「下方」のI
P層312へ渡し、IP層でそのフラグの状態を検査す
る。高速パスフラグのアサートにより、その特定の応答
についてはルート計算を実施する必要のないことがIP
層に通知される。従って、その応答バッファを受信する
宛先となるファイラー内のインタフェースは、その要求
を受信した着信インタフェース218である。応答バッ
ファがそのインタフェースへ転送され、要求されたデー
タがネットワーク100を介してクライアント110へ
返される。
についてデータストレージアクセスを実施するのに必要
な上記ストレージオペレーティングシステム層中を通る
ソフトウェア「パス」は、代替としてハードウェアで実
施することも可能である。即ち、本発明の代替の実施形
態では、ストレージアクセス要求データパス350は、
FPGA(Field Programmable Gate Array)またはA
CIC(Application Specific integrated circuit)
内に論理回路として実施することもできる。この種のハ
ードウェアによる実施は、クライアント110から発行
されたファイルシステム要求パケット120に応答して
ファイラー200によって提供されるファイルサービス
の性能を向上させることができる。さらに本発明の他の
実施形態では、プロセッサ202からパケット処理及び
ストレージアクセス処理の負荷のいくらかまたはすべて
を軽減させるようにアダプタ206、206の処理要素
を構成し、これによってファイラーによって提供される
ファイルサービスの性能を向上させることもできる。本
明細書で説明する様々な処理、アーキテクチャ、及び手
順は、ハードウェアでもファームウェアでも、あるいは
ソフトウェアでも実施することができるということは明
らかである。
ペレーティングシステム」という用語は、ストレージシ
ステムにおいてストレージ機能を実施することが可能な
コンピュータ実行可能コードを一般的に意味し、例えば
ファイルシステムセマンティック及びデータアクセス管
理を実施するコンピュータ実行可能コードを意味してい
る。この意味において、ONTAPソフトウェアは、マ
イクロカーネルとして実施され、WAFLファイルシス
テムセマンティックを実施してデータアクセスを管理す
るためのWAFL層を含むこのようなストレージオペレ
ーティングシステムの一例である。このストレージオペ
レーティングシステムは、UNIX、Windows
NT等の汎用オペレーティングシステム上で動作するア
プリケーションプログラムとして実施することもできる
し、本明細書で説明するストレージアプリケーションあ
るいは本明細書で説明するような設定可能な機能を有す
る汎用オペレーティングシステムとして実施することも
できる。
る本発明の技術は、ストレージシステムとして実施され
るスタンドアロンのコンピュータあるいはその一部、ま
たは、ストレージシステムを含むスタンドアロンのコン
ピュータあるいはその一部を含めて、任意の種類の特別
な用途(例えばファイルサービスアプライアンス等)の
コンピュータにも汎用コンピュータにも適用可能である
ことが分かるであろう。サーバは1以上のクライアント
にアプリケーションサービスを提供するコンピュータと
して定義され、このコンテクストにおいて、仮想サーバ
はクライアントに提供されるアプリケーションサービス
のインスタンスである。また、本発明の教示は、これら
に限定はしないが、ネットワークに取り付けられたスト
レージ環境、ストレージエリアネットワーク、及び、ク
ライアントやホストコンピュータに直接取り付けられた
ディスクアセンブリ等を含む様々なストレージシステム
アーキテクチャに適合させることができる。従って、
「ストレージシステム」という用語は、ストレージ機能
を実施するように構成された任意のサブシステム及びそ
の他の装置またはシステムに関連する任意のサブシステ
ムだけでなく、それらの構成も含むように広い意味で解
釈すべきである。
ラ(vfiler)等の仮想サーバを1つのファイラ等
のサーバ内に作成及び維持するための能力を提供するア
ーキテクチャを含む。vfilerは、マルチプロトコ
ルサーバのインスタンスを確立するための、ファイラー
プラットフォームのネットワーク及びストレージリソー
スの論理的分割である。各vfilerは、プラットフ
ォーム上の他のファイラーとは完全に独立して維持及び
実行される。そのため、ストレージの記憶単位及びネッ
トワークインタフェースのネットワークアドレス等の専
用ファイラーリソースを自由にグループ分けして「ハー
ド」パーティションに分割することにより、ファイラー
内にセキュリティドメインを確立することができる。さ
らに、ストレージオペレーティングシステム及びファイ
ルシステム等の共通ファイラーリソースは、vfile
r間で共有することができる。
の専用の個別の単位のストレージリソース(即ちサブセ
ット)が割り当てられるとともに、1以上の専用の個別
のネットワークアドレスが割り当てられる。また、各v
filerは、そのクライアントに代わって共通ファイ
ルシステムに共用アクセスすることも許可されている。
従って、例えば共通ファイルシステムにアクセスするク
ライアントに関するセキュリティオブジェクトの解釈は
vfiler間で異なる場合がある。これを解決するた
め、各vfilerには、特にそのvfilerに一意
で個別のセキュリティドメインに関する情報を含むvf
ilerコンテクストデータ構造(以下「vfiler
コンテクスト」と呼ぶ)が設けられ、これによってvf
ilerに割り当てられた共有リソースに対するアクセ
スを制御できるようにしている。
rコンテクストにより、第1のセキュリティドメインの
ユーザまたはクライアントは、ファイラ上のストレージ
リソースの第1のサブセットにアクセスするための要求
を発行するときに、発信元ネットワークアドレス及び宛
先ネットワークアドレスの第1の組を確実に使用できる
ようになる。同様に、第2のvfilerのvfile
rコンテクストにより、第2のセキュリティドメインの
ユーザまたはクライアントは、発信元ネットワークアド
レス及び宛先ネットワークアドレスの第2の組を使用し
てストレージリソースの第2のサブセットにアクセスで
きることが保証される。注目して欲しいのは、各セキュ
リティドメインのクライアントはファイラー上でお互い
の存在に気づくことがなく、また、お互いのストレージ
リソースにアクセスすることもできない点である。さら
に、vfiler間にデータフローは存在しない。
を有するファイラープラットフォーム400の一実施形
態を示す概略図である。各ファイラーは、例えばCIF
Sサーバ等のサーバとして実施され、例えばVF1〜V
F3等の論理名で図示されている。クライアントから見
ると、各vfilerは他のvfilerから個別で独
立したものに見える。各vfiler VF1〜VF3
は、1以上のネットワークインタフェース408a〜c
に割り当てられた1以上のインターネットプロトコル
(IP)アドレスを有するように構成される。このコン
テクストにおいて、「ネットワークインタフェース」と
いう用語はIPアドレスを割り振ることが可能なインタ
フェースを意味しており、「物理的」NIC、及び、V
IF、VLAN、エミュレーテッドLAN(ELAN)
等の「ソフトウェア」NICも含まれる。注意して欲し
いのは、一枚のNICは複数のIPアドレスをサポート
することができ、必要であれば、このような構成を用い
ることにより、複数のvfilerが1つのNICを有
効に共有することも可能である点である。
インタフェースをIP空間に「バインド」するIP空間
識別子(ID)406a〜cが割り当てられる。IP空
間とは、ファイラー及びそのストレージオペレーティン
グシステムが参加している個別のIPアドレス空間を意
味している。1つのファイラーは複数のIP空間をサポ
ートすることができる。各vfilerは1つのIPア
ドレス空間に関連しており、従って、各vfilerは
1つのIP空間に属している。各IP空間内のIPアド
レスは一意なものでなければならない。IP空間につい
ては、「Technique for Enabling Multiple Virtual Fi
lers on a Single Filer to Participate in Multiple
Address Spaces with Overlapping Network Addresse
s」と題した同時継続の米国特許出願第112056−
0023号にさらに詳しい説明がある。
ジリソースの単位には、ボリュームまたはサブボリュー
ム(qtree)が含まれる。ボリューム(V)410
は、ファイルシステムすなわちディレクトリ及びファイ
ルの階層構造からなるストレージの単位である。qtr
ee QT1〜3 420は、小型ボリューム(小型フ
ァイルシステム)またはボリュームの細分割に類似した
特別なディレクトリであり、例えばファイルのinod
e内に記憶されたqtree識別子(qtreeid)
等を用いて、ファイルシステム内で自身を識別すること
ができるという性質を有する。vfilerアーキテク
チャは、vfilerまたはvfiler間に、ストレ
ージリソースの作成、割り当て及びマッピングを含むこ
れらのストレージリソースの有効な利用及び管理を提供
する。例えば、仮想サーバ(vfiler等)及びそれ
に関連するストレージリソース(qtree等)をある
サーバ(ファイラー等)へ移動させ、同様に名前付けさ
れたリソースを有する他の仮想サーバ(vfiler
等)と統合させることができる。ストレージリソースが
vfiler毎に割り当てられるため、クライアントが
データを参照するための方法には変更がないので、サー
バ統合及びストレージ統合がクライアントに対して透過
的なものになる。
部」設定によって記述される。外部設定は、vfile
rに割り当てられたリソース(例えば、1以上のIPア
ドレスと、1ボリューム全体または1ボリューム上のq
tree等の1以上の記憶単位等)及びvfilerが
利用可能な能力(例えばそのvfiler上で実行可能
なプロトコル等)を記述するものである。内部設定(即
ちvfilerの内部)は、そのvfilerに関連す
る様々なプロトコルモジュールまたは「vfilerオ
プション」の動作を制御するものである。こうしたオプ
ションの例としては、vfilerと共にネットワーク
インフォメーション(NIS)サーバを使用するか否
か、及び、NFS等の特定のプロトコルが基礎とするト
ランスポートとしてTCPやUPDPを使用するか否か
が含まれる。
ストリ(通常ファイラーのルートボリュームに格納され
ている)に記憶し、一方、内部設定情報はそのvfil
erに割り当てられたストレージのプライベートレジス
トリに記憶することが好ましい。vfilerの分割構
成が与えられたとき、vfilerに属するディスク等
のストレージデバイスをある物理ファイラーから他の物
理ファイラーへ移動させた場合、新たな「ヘッド」上に
vfilerを作成するのに必要なすべての情報を得る
ことは通常できない。注意して欲しいのは、「ヘッド」
がディスクシェルフを除いたファイラーの全ての部分と
して定義される点である。内部設定は入手することが可
能であるが、外部設定は古いファイラー上でしか入手す
ることができない。
vfilerの移動されたディスク上に冗長的に記憶す
ることができる。しかしながら、この情報は、そのvf
ilerの管理者がアクセスできないような(変更不能
な)方法で記憶しなければならない。外部設定情報は、
移動されたディスクのすべてのファイルシステム単位
(例えばボリューム)のメタデータ部分に記憶すること
が好ましい。ディスクシェルフの移動されたディスクが
ファイラープラットフォームに取り付けられると、スト
レージオペレーティングシステムのディスクソフトウェ
ア層が取り付けられたストレージユニットの外部設定情
報を探し、「見つかった」vfilerをインスタンス
化する。これにより、ある物理ファイラーヘッドからそ
のストレージディスクを保持するディスクシェルフを取
り除き、それらを別の物理ファイラーヘッドに取り付け
るだけで、あるいは、外部設定情報を暗号化された形態
で複製または移動可能なデータに記憶するだけで、vf
ilerの移動が可能になる。
は、オペレーティングシステムに関するユーザインタフ
ェースの下記のコマンドラインインタフェース(CL
I)コマンドにより作成される。 vfiler create [xyz] [-s IPspace-name] [-i IP addre
ss(s)] [/vol/vol2] [/vol/vol3/qt1] ただし、xyzは作成するvfilerの名前を、−s
IPspace−nameはそのvfilerが属す
るIP空間の名前を、−i IPaddress(s)
はそのvfilerの特定のIPアドレスまたは一連の
IPアドレスを記述するものである。また、/vol/
vol2という記述は第1のストレージユニットを指す
パス記述子であり、/vol/vol3/qt1という
記述は第2のストレージユニットを指すパス記述子であ
る。デフォルトvfilerはvfiler0(VF
0)であり、物理ファイラーがブートする際の初期化時
に作成される。他にvfilerが作成されていなけれ
ば、ファイラー内に実現されるvfilerはVF0だ
けである。デフォルトVF0は物理ファイラープラット
フォームに関連しており、例えばファイラー上のすべて
のvfilerについてリソース割り当てが完了した
後、割り当てられていないファイラーリソースに対して
アクセスすることができる。vfilerが何も定義さ
れていない場合、VF0はそのファイラーのすべてのリ
ソースを含む。
erコンテクスト500a〜cを作成するCLIコマン
ドを作成する。vfilerコンテクストがファイラー
の初期化時にVF0について作成される点に注意して欲
しい。図5は、マルチプロトコルサーバのインスタンス
を確立するために必要な設定情報または「状態」を保持
するvfilerコンテクスト500のコア表現を示す
略ブロック図である。これらのコンテクストの複数のイ
ンスタンスが本vfilerアーキテクチャの基礎を提
供する。vfilerコンテクスト500は、そのvf
ilerの名前502及びUUID504(Universall
y Unique Identifier)を保持するフィールドを有し、
これらはvfilerコンテクストと共に作成される。
UUIDには、例えば現在時刻及びそのvfilerに
関するメディアアクセスコントロール(MAC)アドレ
スが含まれる。vfilerリストフィールド506は
そのファイラープラットフォーム上のvfilerのリ
ストを保持し、IP識別子(ID)フィールド508は
そのvfilerのIP空間IDを保持する。
バイス及びネットワークデバイス等のハードウェアリソ
ースはvfilerに直接割り当てられるのではない。
そうではなく、これらのハードウェアデバイスの能力の
うちの一部だけを表現したソフトウェアオブジェクトが
vfilerに割り当てられる。これらのソフトウェア
(「ソフト」)オブジェクトは、ハードウェアリソース
のうちの「動的調節可能」な部分にのみ対応している。
vfilerへの割り当てにソフトウェアオブジェクト
を使用することの利点は、物理ファイラー上のvfil
er間でハードウェアリソースの全部または一部を割り
当て、追加、移動及び除去する際の総合的な柔軟性であ
る。これらの操作は、VMまたはデータムーバ等の仮想
サーバに基くハードウェア分割の際のハードウェアオブ
ジェクトの再構成または複製による複雑で実行時間の長
い手順とは対照的に、例えば実行時間の短いコンソール
コマンドを用いて極めて迅速に行なうことが可能であ
る。
0の他のフィールドは、仮想フィルターストレージ(v
fstore)構造(ソフトオブジェクト)のリスト5
10、及び、ソフトオブジェクトの仮想ファイラーネッ
トワーク(vfnet)のリスト512を保持する。図
6は、本発明に有利に使用することが可能なソフトオブ
ジェクトデータ構造を示す略ブロック図である。詳しく
は、vfstoreリスト510はvfstoreソフ
トオブジェクト610へのポインタを含み、vfsto
reソフトオブジェクト610の各々はそのvfile
rに割り当てられたqtreeまたはボリューム等、一
単位のストレージリソースへのパスを指すポインタ61
2を有している。これにより、例えば複数のqtree
からなるボリュームをvfiler間で有効に共有する
ことが可能になる。また、各qtreeまたはボリュー
ムをvfilerコンテクスト500(及び従ってvf
store610)へ「マッピング」して戻すハッシュ
テーブル(図示せず)も設けられる。
トオブジェクト620に対するポインタを含み、各々の
ソフトオブジェクト620はそのvfilerに割り当
てられたIPアドレスを表すインタフェースアドレス
(ifaddr)データ構造640を参照するポインタ
を有する。各vfnetオブジェクト620は、任意の
ネットワークインタフェース(例えばIPアドレスをN
ICに割り当てる場合はNIC)に割り当てることがで
きる「流動的」能力を表している。複数のIPアドレス
をNICに割り当てる場合、NICのその能力は複数の
vfnetオブジェクト620間(即ち異なる場合もあ
るvfiler間)で有効に共有される。1つのインタ
フェースに1つのIPアドレスしか関連していない場合
(インタフェースネットワーク(ifnet)データ構
造630によって表現されるように)、1つのvfne
tオブジェクト620だけが、即ち1つのvfiler
だけがそのNICの能力を使用する。
ピングとは、qtree/ボリューム等のハードウェア
リソースの一部に割り当てられたvfilerのリソー
ス(vfstore及びvfnetオブジェクト)を表
すソフトオブジェクトとifnet構造との間のマッピ
ングとして定義される。従って、vfstore及びv
fnetソフトオブジェクトは、これらのハードウェア
リソースの能力のうちの動的調節可能な部分を表すある
レベルの間接参照を提供する。即ち、これらのソフトオ
ブジェクトはハードウェアリソースを表す他のソフトオ
ブジェクト(データ構造)に「リンク」され、これらの
ネットワーク及びストレージリソースを「論理的」に再
割り当てするときに、例えばオブジェクトのポインタを
変更すること等の方法により柔軟性を与える。こうした
柔軟性によってファイルシステムレベルでのvfile
r構成変更の論理的確立が可能になり、手動でネットワ
ーク及びストレージハードウェアリソースを再構成する
等による物理的確立とは対照的なものになる。
ワークインタフェースに割り当てられたIPアドレスの
リストを保持するIPリストフィールド632を有す
る。さらにこのIPリストは、それらのIPアドレスに
関連する適当なifaddrデータ構造640を参照す
るポインタを含む。前述のように、各vfnetオブジ
ェクト620はifaddr構造640へのポインタ6
22(対応するIPアドレスがifnet構造630上
に設定されている場合)、または、ヌル値(対応するI
Pアドレスが設定されていない場合)を含む。また、各
ifaddr構造640はvfilerコンテクスト5
00への(従って対応するvfnetオブジェクト62
0への)バックリンクポインタ642を保持する。
の場合、各vfstoreオブジェクト610は記憶単
位のパスへのポインタ612を有する。例示的実施形態
では、WAFLファイルシステム333は、qtree
やボリューム等の記憶単位の利用可能性及び範囲に関す
る情報を保持している。共に問い合わせのためにパスを
伴うシステムコールをファイルシステムに供給し、応答
として、そのパスが属するボリューム及びqtreeを
示すストレージ識別子タプル(例えばfsid、qtr
eeid等)を受信する。
マッピングは更に、例えばvfiler間でのネットワ
ークリソース及びストレージリソースの移動(割り当
て)に関して、効率的なネットワーク及びストレージの
管理を可能にする。一群のデータ構造を参照したネット
ワーク管理、及び、動的変化に応じてvfilerとそ
れらのネットワークリソースとの間のリソースマッピン
グを維持するアルゴリズムが、プラットフォーム上での
これらのリソースの割り当て及びその他の変更に対して
なされる。一方、一群のデータ構造を参照したストレー
ジ管理、及び、動的変化に応じてvfilerとそれら
のストレージリソースとの間のリソースマッピングを維
持するアルゴリズムが、プラットフォーム上でのこれら
のリソースの割り当て及びその他の変更に対してなされ
る。割り当て変更には、vfiler間でのリソースの
追加、移動、及び除去が含まれる。他のシステム変更に
は、新たなNIC(VIF、VLAN、または新たなデ
バイス)の作成、または、ストレージボリュームの追加
/始動/停止が含まれる。
filer間のリソースの割り当てに変更がなされたと
きにネットワークオブジェクト及びストレージオブジェ
クトに対して実施されるタスクも含まれる。例えば、v
filerに対するIPアドレスの割り当てが変更され
た場合、IPアドレスに関するTCP/IP接続及びル
ーティングは再初期化しなければならない。同様に、v
filerに対するストレージユニットの割り当てが変
更された場合、qtreeやボリューム上で行なわれて
いるディスク入出力操作も中止し、再初期化しなければ
ならない。
プラットフォーム400上でのセキュリティドメインの
作成に関するものである。ストレージオペレーティング
システム300及びそのWAFLファイルシステム33
0は、すべてのファイルが例えばUNIXスタイルまた
はNT(NTFS)スタイルのネイティブセキュリティ
の形態を有するマルチプロトコルセキュリティの概念を
実施する。ファイルのネイティブセキュリティスタイル
は、そのファイルのinodeに含まれるセキュリティ
情報から入手することができる。NFSファイルの場
合、inodeに保持されるUNIXスタイルのセキュ
リティ情報には、(1)ファイルの所有者、(2)ユー
ザID及びプライマリグループID(「セキュリティオ
ブジェクト」)、及び(3)ユーザ及びグループについ
てのパーミッション/権限が含まれる。NTスタイルセ
キュリティのファイルの場合、inodeには、ファイ
ルの所有者、セキュリティオブジェクト及びパーミッシ
ョン/権限情報を含むセキュリティ記述子を参照するポ
インタが含まれる。
各vfilerがクライアントから見たときに一意の個
別のセキュリティドメインに関連していることである。
さらに、各vfilerが共通ファイルシステム(例え
ばWAFLファイルシステム)に対するアクセスを共用
することである。従って、各vfilerが独自のセキ
ュリティドメインに関連しているので、例えばクライア
ントによる共通ファイルシステムへのアクセスに関する
セキュリティオブジェクトの解釈はvfiler間で異
なる場合がある。これを解決するため、各vfiler
コンテクストはそのvfilerのセキュリティドメイ
ンに関する情報をさらに含み、これによってvfile
rに割り当てられた共有リソースへのアクセス制御を可
能にしている。具体的には、各vfilerコンテクス
ト500は、各ユーザパスワードに関するユーザID及
びグループIDを保持する/etc/passwd、g
roupファイル516へのポインタを有する。さらに
本明細書で説明するように、各vfilerコンテクス
トは、Windows環境での認証に必要なネットワー
ク接続及びその他の機構とともに、ローカルなWind
owsユーザ及びグループについてそのvfiler独
自の集合を有する。
ルチプロトコルな性質の理由から、NTユーザ(Win
dowsクライアント)がUNIXスタイルのセキュリ
ティを有するファイルにアクセスを試みる状況(あるい
は逆の状況、即ちUNIXユーザ/クライアントがNT
スタイルのセキュリティを有するファイルにアクセスす
る場合)も発生し得る。本vfilerアーキテクチャ
は、異なる種類のセキュリティを有する複数の異なるク
ライアントをサポートするとともに、それらの異なるク
ライアントのセキュリティの種類をファイラーの異なる
vfilerにマッピングする能力を有するというマル
チプロトコルな特徴をさらに有している。特にWAFL
ファイルシステム330は、マルチプロトコルマッピン
グ手順を実施してクライアントが要求されたリソース/
ファイルにアクセスできるか否かを判定する。このマッ
ピング手順は通常、そのリソースのセキュリティスタイ
ルに関するセキュリティコントローラを使用してセキュ
リティデータベース内に検索動作を実施することによ
り、そのクライアント/ユーザの識別を解決している。
新規のvfilerコンテクスト構造500は、あるプ
ロトコルから別のプロトコルへ(例えばNFSからNT
セキュリティへ)パーミッション検査属性の変換を可能
にするマルチプロトコルマッピングライブラリファイル
518を参照するポインタを設けることにより、この特
徴を実現している。
がNFS要求をファイラー400に転送してNTスタイ
ルのセキュリティを有するファイルにアクセスするもの
と仮定する。この要求には、UNIXスタイルのユーザ
IDを有するCredentialの集合が含まれる。従って、フ
ァイルシステム330がそのユーザの「NT」IDを判
定するためには、そのUNIXユーザIDをNTユーザ
IDに変換しなければならない。ファイルシステム33
0は、UNIXユーザIDを/etc/passwdフ
ァイル516の中から探してそのユーザIDのUNIX
ユーザ名を識別し、次いでそのユーザ名をマッピングラ
イブラリファイル518を用いてNTユーザ名に変換す
る。次いでこのファイルシステムはコントローラ、例え
ばNTドメインコントローラにアクセスし、そのNTユ
ーザ名のNTスタイルのセキュリティID(Credential
によって明らかになる)を提供する。ドメインコントロ
ーラはそのCredentialをファイルシステムに返し、ファ
イルシステムはそのCredentialで指定されたアクセス権
と要求されたファイルのinodeに関するアクセスコ
ントロールリスト(ACL)とを比較する。本発明に有
利に使用できるマルチプロトコルマッピング手順の一例
は、1998年3月3日に出願された「FileAccess Con
trol in a Multi-Protocol File Server」と題したHi
tz他による米国特許出願第09/035,234号明
細書に記載されている。
定のプロトコルまたはサブシステムのインスタンスにつ
いて必要なすべての情報(グローバル変数等)を含む複
数の「モジュール」データ構造をさらに含む。例えば、
CIFSモジュールデータ構造520は、ドメインコン
トローラ522との接続、CIFSプロトコルのアクテ
ィブなセッション524、及び、CIFSプロトコルに
関する様々なコントロールブロック525に関する情報
を含む、CIFSプロトコルのインスタンスについて必
要な全ての情報を保持する。ドメインコントローラは、
ログイン要求を受け付けてそれらの認証を開始するネッ
トワークサーバである。CIFS要求に対してNTタイ
プのセキュリティを可能にするため、セキュリティドメ
イン526に関する情報も供給される。このセキュリテ
ィ情報には、ドメイン部分とそれに関連するID(RI
D)部分とから構成されるセキュリティIDが含まれ、
後者のRIDはUNIXセキュリティのユーザIDに類
似したものである。Windowsドメインセキュリテ
ィの場合、このセキュリティ情報にはドメインコントロ
ーラとのトラストリレーションシップも含まれる。この
トラストリレーションシップは、vfilerの能力を
通知し、ユーザの認証をvfilerの代わりにドメイ
ンコントローラに「委ねる」ためのものである。各CI
FSモジュール520にはCIFS認証プロセスのプロ
セスID(PID528)も含まれ、CIFS層が認証
要求を正しいCIFS認証プロセスへ送信できるように
なっている。
0、リモートシェル(RSH)プロトコル540、テル
ネットプロトコル550、NISサブシステム560、
ドメインネームサービス(DNS)サブシステム57
0、及びレジストリ580を含むvfilerに関連す
るプロトコル及びサブシステムの各々について、同様の
「モジュール毎」のデータ構造が存在する。NISサブ
システムすなわち「イエローページ」は、NISプロト
コルのサービス探知機であり、各ユーザパスワードに関
連するユーザID及びグループIDなどのセキュリティ
情報を格納する分散データベースとして実施される。N
ISサブシステムモジュール560は、分散セキュリテ
ィデータベースにアクセスする必要が生じたときにNI
Sコントローラに接続するための情報を有している(例
えばファイル516に格納された/etc/passw
d,groupの情報を用いる)。DNSサブシステム
は、DNS名を対応するIPアドレスに解決する働きが
ある。レジストリは、ハードウェア、ソフトウェア及び
そのファイラー(及び各vfiler)ユーザに関する
設定情報のレポジトリである。
lerがファイラープラットフォーム上の特定のストレ
ージリソースにアクセス可能であることを検証するた
め、ストレージオペレーティングシステム300のファ
イルシステム(即ちWAFL層330)によって実施さ
れるvfiler境界チェックに関する。vfiler
境界チェックは、要求されたファイルのinodeから
取得したそのファイルに関連する記憶単位(qtree
やボリューム)等の情報に基いて行なわれる。記憶単位
へのアクセスの要求がある毎に毎回この情報を用いて境
界チェックが実施され、要求を行なっているvfile
rがそのストレージリソースに対してアクセスを許可さ
れている否かが判定される。境界チェックによってその
vfilerが要求されたストレージリソースに対する
アクセスを許可されていないことが判明した場合、その
要求は直ちに拒否される。そうでなければ、その要求は
許可され、WAFLファイルシステムがその要求を処理
するための処理を行なう。
通のNFSサーバにアクセスするものと仮定する。各N
FSクライアントはNFSサーバによってエクスポート
されたリソースの集合を「見る」ことができる。従っ
て、各クライアントは、そのサーバの実質的にすべての
リソースにアクセスすることができる。これに対して、
NFSサーバがファイラー400(図4)として構成さ
れた場合、そのサーバは仮想サーバVF0〜VF3に実
質的に分割される(として実現される)。各vfile
rは独自のvfilerコンテクスト及びセキュリティ
ドメインを有する。さらに、クライアントU1がVF1
のリソースに対するアクセスを許可され、クライアント
U2がVF2のリソースに対するアクセスを許可され、
クライアントU3がVF3のリソースに対するアクセス
を許可されているものと仮定する。U1がVF2のリソ
ースにアクセスを試みた場合、U1はファイルシステム
によって実施される新規のバウンダリチェックに失敗す
る。この「論理的」な境界チェックは、NFSハンドル
の「スヌーピング」を試みるハッカーを含むすべてのク
ライアントについて、vfilerドメイン内のセキュ
リティ(シェアに対するアクセス)を実施する。ハッカ
ーが使用するようなツールを用いると、ストレージがク
ライアントにエクスポートされていなくても、サーバ上
の任意のinodeに有効にアクセスすることが可能で
ある。従って、本vfilerアーキテクチャの他のセ
キュリティ態様は、物理ファイラー上のストレージリソ
ースに対するアクセスを判定するための境界チェックの
利用(及びそれらに関連するデータ構造)を含む。
するために使用される様々なデータ構造を示す略ブロッ
ク図である。第1のデータ構造、例えばfsidハッシ
ュテーブル700は複数のエントリ710を有し、各々
のエントリ710がvfilerに関連し、そのテーブ
ル内へのキーとして機能するボリューム(ファイルシス
テム)識別子(fsid)によってアクセスされる。f
sidテーブルの各vfilerエントリは、例えばV
F1、VF2、VF3のようにvfilerを意味し、
vfilerはそのfsidによって識別されるボリュ
ームを明確に(完全に)所有する。適当なinodeか
ら取得したfsidを用いることにより、あるvfil
erがそのfsidに関連するボリュームを完全に所有
しているか否かを判定することができる。第2のqtr
eeハッシュテーブル750は複数のエントリ760を
有し、各々のエントリ760がvfilerに関連し、
fsid及びqtreeidから構成されるキーによっ
てアクセスされる。後者のqtreeidもinode
から取得される。qtreeテーブルの各vfiler
エントリは、qtreeidによって識別されるqtr
eeを所有するvfilerを意味している。従って、
fsid及びqtreeidを用いることにより、その
vfilerがあるボリューム(ファイルシステム)の
qtreeを完全に所有しているか否かを判定すること
ができる。
のストレージリソースにアクセスするための複数ステー
ジの検証手順に関連して行なわれることが好ましい。図
8は、本発明の複数ステージの検証手順を含むステップ
の流れを示すフロー図である。このシーケンスは、ステ
ップ800から開始してステップ802へ進み、ここで
ファイラーのネットワークインタフェース408で着信
した要求(NFS、CIFS、HTTP、または、TE
LNETパケット)を受信し、ステップ804でその要
求をその要求の宛先IPアドレス及びインタフェースの
IP空間IDに基いて適当なvfilerへ送信する。
例えば、メディアアクセス層310のドライバが特定の
ファイルハンドルを有するファイルにアクセスするため
のCIFS要求を受信するものと仮定する。上記のよう
に、ネットワークインタフェースはIP空間に関連して
いる。ネットワークドライバはその要求をIP層312
へ渡し、IP層でその要求の宛先IPアドレス及びIP
空間ID406をIP空間データベースに格納された設
定情報と比較することにより、その要求を所有するvf
ilerコンテクスト、例えば仮想フィルタ2(VF
2)を選択する。その結果、VF2のvfilerコン
テクスト500bがその要求に関連付けられる。着信し
た要求を処理するためのvfilerコンテクストの選
択については、「Technique for Enabling Multiple Vi
rtual Filers on a Single Filer to Participate in M
ultiple Address Spaces with Overlapping Network Ad
dresses.」と題した継続特許出願に完全に記載されてい
る。
に関連付けた後、IP層312はシステムコールを発行
してそのvfilerコンテクスト500をそのファイ
ラー上で実行されているカレントプロセスに設定する
(ステップ806)。ストレージオペレーティングシス
テムの内部は、ファイラー上で実行されている制御のプ
ロセスまたはスレッドの概念である。プロセスブロック
データ構造は、その実行中のプロセススレッドのコンテ
クストを表している。プロセスブロックデータ構造に
は、vfilerコンテクストで動作しているスレッド
の概念が含まれる。そのため、プロセスブロックデータ
構造には、そのファイラー上で実行されているカレント
vfilerを参照するポインタが含まれる。ファイラ
ー上にvfilerが何も作成/定義されていなけれ
ば、プロセスはデフォルトvfilerVF0のコンテ
クストで動作する。
その要求を適当なトランスポートプロトコル(例えばT
CP)層へ渡し、トランスポートプロトコル層はその要
求が特定のポート、例えばCIFS層に宛てられたもの
であることを判定する。即ち、TCP層コード314は
そのプロトコル制御ブロック(PCB)テーブルを検査
して、その要求に含まれるポート番号に対してオープン
された「ソケット」が存在するか否かを判定する。この
ポート番号は、ファイルシステムプロトコル層、例えば
CIFS層プロトコルの特定のプロトコルサーバを識別
するのに使用される。vfiler及びIP空間IDに
よってPCBテーブルに条件がつけられ、これによって
TCP層314はカレントvfilerコンテクストが
オープンソケットを有するか否かを判定できるようにな
る。オープンソケットを有する場合、TCP層314
は、TCP(NBT)層(図3の符号315に示す)を
介してNetBIOSを呼び出し、CIFSプロトコル
の組み立てを実施する。NBT層315は、要求全体を
受け取った後、CIFSプロトコル層318を呼び出
す。
バ(CIFSコード)は、カレントvfilerコンテ
クストのコンテクストで特にCIFSモジュールを実行
する。変数を参照する場合には、カレントvfiler
コンテクスト500のCIFSモジュール520の中か
ら適当な変数を取得する。例えば、CIFS層の実行コ
ードが例えばドメインコントローラとの接続を指定する
ものである場合、そのコードはカレントvfilerコ
ンテクスト内のCIFSプロトコルのモジュールごとの
インスタンスを参照してドメインコントローラ接続情報
522を得る。このように、vfilerに関する全て
の状態はモジュールごとのデータ構造に記憶される。ま
た、vfilerを初期化する場合には、一群の初期化
ルーチンを実行することにより、メモリロケーションを
割り当て、変数を既知の値に設定し、適当なvfile
rIDでプロセスを作成する。
セス(読み出し)の種類、及び、特定のファイル(ファ
イルハンドル)を判定する。ステップ812でCIFS
プロトコルサーバは、要求に関連するメッセージ(WA
FLメッセージ)をフォーマットし、そのメッセージを
WAFLファイルシステムへ渡す。WAFLメッセージ
は、要求をWAFL層330へ転送して特定の機能に従
って処理を行なうために用いられる仕組みである。WA
FLメッセージの1フィールドには、カレントvfil
erコンテクストのIDが保持される。WAFLファイ
ルシステムは、要求に対する返答などの機能について、
そのvfilerコンテクストを使用する。具体的に
は、WAFLメッセージには、WAFL層コードによる
後続の処理についてvfilerコンテクストを設定す
るためのvfilerポインタが含まれる。「仮想化」
されたコンテクストに関する全てのコード、例えばプロ
トコルや管理機能を実行するのに必要なコードは、それ
らが動作しているカレントvfilerコンテクスト
と、そのカレントコンテクストに基いて有する能力とを
「認識」している。
場合、WAFL層は、ファイルハンドルを用いてそのフ
ァイルのinodeをコアへロードする。ファイルハン
ドルとは、ファイルシステム内部で使用されるinod
eデータ構造に対する参照である。ファイルハンドルは
通常、ファイルID(inode番号)を含む複数の構
成要素からなる。ステップ814でWAFL層コード
は、要求されたファイルのinodeからfsid及び
qtreeidを取り出し、その要求を処理(サービ
ス)する前に、新規の境界チェックに関する複数ステー
ジの検証手順を実行する。
ジで、fsidをfsidテーブル700への索引とし
て用い(ステップ816)、要求を行なっているvfi
ler(VF2)が、例えばfsidによって指定され
たボリューム等の記憶単位全体を明らかに「所有」して
いるか否かを判定する(ステップ818)。所有してい
る場合、ステップ820でVF2はそのストレージリソ
ースにアクセスすることができる。所有していない場
合、この手順の2番目のステージで、そのボリュームが
他のvfilerによって完全に所有されているか否か
を判定する(ステップ822)。所有されている場合、
ステップ824でその要求は直ちに拒否され、手順はス
テップ840で終了する。そのボリュームが他のvfi
lerによって明らかに所有されていない場合、この手
順の3番目のステージで、fsdi及びqtreeid
をqtreeテーブル750への索引として用い(ステ
ップ826)、そのqtreeidによって識別される
qtree等のボリュームの一部をVF2が所有してい
るか否かを判定する(ステップ828)。所有している
場合、ステップ830でVF2はそのストレージリソー
スにアクセスすることができる。所有していない場合、
ステップ832でその要求は直ちに拒否され、この手順
はステップ840で終了する。
ものと仮定すると、ステップ834でWAFL層330
がその要求をサービスし、CIFS層318を呼び出
す。前述のように、CIFS層によって生成されたWA
FLメッセージにはカレントvfilerコンテクスト
が含まれる。次いでステップ836でCIFSプロトコ
ルは応答を生成し、ステップ838でそれをネットワー
クプロトコル層へ転送し、ネットワークを介してその要
求を発行したクライアントへ転送する。そしてこの手順
はステップ840で終了する。
と仮定する。認証はCIFS層318で行なわれる。C
IFSプロトコルは、認証のために例えばKerber
osサーバ等の外部サーバに接続する必要があるか否か
を判定する。従って、CIFS認証プロセスは、vfi
ler(コンテクスト)のコンテクストで作成(生成)
される。CIFS層は、カレントvfilerのCIF
S認証プロセスへメッセージを送信する。前述のよう
に、各CIFSモジュール520はCIFS認証プロセ
スのPID528を保持しているので、CIFS層はそ
のメッセージを正しいCIFS認証プロセスへ送信する
ことが可能である。CIFS認証プロセスは、ドメイン
コントローラに接続し、例えばその要求を認証したとい
う受領確認を受信した後、応答を生成してそれをネット
ワークプロトコル層へ送信する。
のvfilerは、例えばWAFLメッセージのインジ
ケータに基いて自分のvfilerを設定するためのW
AFLスレッド等、いくつかのオペレーティングシステ
ム機能について同じプロセスを「共有」することができ
る。他の場合としては、vfilerの各インスタンス
について個別のプロセスが作成され、特にドメインコン
トローラに接続するまで待機してしまう等の「ブロッキ
ング」の可能性がある操作について個別のプロセスが作
成される場合もある。後者の場合、ドメインコントロー
ラに接続するまでに要する時間に他のvfilerが
「停止」することは望ましくない。
クチャによると、1つのファイラー上での仮想サーバと
それらの各々のデータアプリケーションとの統合が容易
になるだけでなく、すべてのサーバリソースのカプセル
化も容易になる。サーバ統合は、各々のvfilerが
セキュリティドメインに関連付けられたvfilerの
作成によってなされる。これらのセキュリティドメイン
同士は完全に無関係のものであるため、同一のファイラ
ープラットフォーム内に個別の独立したvfilerが
設けられる。本発明のこの態様は、ファイラー上で複数
のクライアント組織のデータアプリケーションを取り扱
うストレージサービスプロバイダの場合に特に有用であ
る。各クライアント組織は、自分のvfilerにのみ
アクセスすることができ、同じ物理ファイラーを他のク
ライアント組織と共用していることに気づくことはな
い。従って、この新規のアーキテクチャによると、各ク
ライアント組織について専用に1つのファイラーを用意
する必要がなくなる。
よると、vfilerが1つのサーバに関するすべての
リソースをカプセル化するので、ストレージリソースの
統合に関する管理が容易になる。すなわち、ストレージ
リソースがvfilerごとに割り当てられるので、フ
ァイラー間でのストレージ移動がクライアントに対して
透過的になる。これによってvfilerが他の物理フ
ァイラーへ移動または複製された場合でも、クライアン
トはデータを参照するための方法(例えばパス記述子)
を変更する必要がなくなる。さらに、個々のハードウェ
アプラットフォームについて、vfilerのインスタ
ンスを設けるために必要なハードウェアリソース及びソ
フトウェアのコストも低減される。
複数のインスタンスを動作させるように構成されてい
る。例えば、IBM社の仮想マシン(VM)オペレーテ
ィングシステムはサーバの複数のインスタンスを1つの
ハードウェアプラットフォーム上で実行することを可能
にするものである。しかしながら、VMの各インスタン
スは、それ独自のファイルシステムを所有するととも
に、それ独自のネットワーク及びストレージリソースを
所有している。すなわち、ハードウェアプラットフォー
ムのネットワーク及びストレージリソースは、プラット
フォーム上に実現されたVMのインスタンスに分配さ
れ、予め割り当てられる。これに対して、本vfile
rアーキテクチャは、例えば本明細書で説明したデータ
構造の変更などの方法により、ネットワーク及びストレ
ージリソースの「論理的」な再割り当てに関して柔軟性
を保ちつつすべてのvfilerで共有された1つのフ
ァイルシステムを採用している。従って、vfiler
構成の変更はファイルシステムレベルで実施され、ネッ
トワークリソース及びストレージリソースの物理的再構
成や、ファイルシステムの再フォーマット等とは対照的
なものになっている。
ペレーティングシステムプラットフォーム上で動作する
Samba等のオープンソースのWindowsサーバ
がある。Sambaアーキテクチャはアプリケーション
層で実施され、NTサーバの複数のインスタンスをUN
IXプラットフォーム上に提供する。サーバインスタン
スを物理ネットワークインタフェース及びセキュリティ
ドメインに「結び付ける」ことによって、例えばセキュ
リティ、及び、サーバインスタンス間のセキュリティド
メインの多様性を保証するためには、このような実施形
態は、基礎とするUNIXオペレーティングシステムの
ネットワークインフラストラクチャの変更を強いられる
場合がある。これに対して、本vfilerアーキテク
チャの境界チェック手段は、各vfilerインスタン
スについてIPアドレスを設定するのに使用されるスト
レージオペレーティングシステムのネットワークコード
の中の一関数である。(アクセスプロトコルごとに)独
立したセキュリティドメインを有する能力は、本vfi
lerアーキテクチャの最もすぐれた特性である。
raアーキテクチャは、ファイラーのインスタンスに相
当するデータムーバの概念を利用している。データムー
バは、様々な他のデータムーバに論理的に配分および割
り当て可能なストレージリソースを有するSymmet
rixストレージデバイスの「フロントエンド」として
機能する。各データムーバは、それ独自のネットワーク
ハードウェアの集合を有する。しかしながら、各データ
ムーバは、オペレーティングシステムの独自のコピーを
動作させるため、更に独自のプロセッサを有している。
これは、複数の独立した「物理」サーバプラットフォー
ムを「まとめてラックに納める」ことに等しい。これに
対して本vfilerアーキテクチャは、1つのファイ
ラープラットフォーム内にvfilerの多数の「論理
的」インスタンスをサポートすることができ、これによ
ってアーキテクチャのスケーラビリティを向上させてい
る。また、この新規のアーキテクチャは、すべての仮想
ファイラーで共有する1つのファイルシステムを採用し
ているため、ファイルシステムレベルでのストレージリ
ソースの論理的再割り当てに柔軟性がある。プロセッ
サ、メモリ、ネットワークインタフェース、及び、オペ
レーティングシステムリソース等の共通の物理ファイラ
ー属性を共有することにより、本vfilerアーキテ
クチャの方法は、従来の解決法よりもさらに経済性に優
れたものとなっている。
によると、リソースの共有が容易になり、特に例えばフ
ェイルオーバ状況の故障の際に必要となる予備リソース
の共有が容易になる。従来のシステムでは、例えば予備
のリソースが同じ物理的マシンに取り付けられていない
といった理由から同じアドレス空間を共有することがで
きないので、このようなリソース共有は不可能である。
そのため、プラットフォーム上でリソースを動的に再構
成することができない。これに対して、新規のvfil
erアーキテクチャは、ネットワークリソース及びスト
レージリソース(NIC及びディスクドライブ等)の共
有「予備」の貯えを維持することができ、それらをファ
イラーに動的に割り当てることが可能である。この文脈
で、動的割り当てとは、リソースの「動作中」論理的割
り当てを意味しており、様々なプラットフォーム間での
デバイス/ハードウェアの物理的な再配置とは対照的な
意味である。
スを1つのファイラー内に作成及び維持する能力を提供
するアーキテクチャの例示的実施形態について図示及び
説明してきたが、本発明の思想及び範囲内で様々な他の
応用及び変更が可能であると考えられる。例えば、代替
の実施形態として、新規のvfilerアーキテクチャ
は複数のvfilerによるセキュリティドメインの共
有を妨げないようにすることもできる。即ち、各vfi
lerが独自のボリューム及びqtreeリソースを有
するが、それでも他のvfilerと情報(例えばNI
Sドメイン内の)を共有できるようにすることも可能で
ある。さらに、様々なvfilerが独自の記憶単位
(例えばボリューム)を有するように構成し、物理ファ
イラーの管理者の判断で特定のvfiler(例えばデ
フォルトvfiler)がプラットフォーム上の他の任
意のvfilerに関連する任意のストレージにアクセ
スできるようにすることもできる。
して行なっている。しかしながら、それらの利点のうち
の一部または全部を保ちつつ説明した実施形態に対して
様々な変更及び修正を施すことが可能であることは明ら
かである。従って、こうした変更及び修正が本発明の真
の思想及び範囲内に含まれるようにカバーすることが付
記した特許請求の範囲の目的である。
に下記の説明を参照することによってさらによく理解す
ることができ、図面中で似たような符合は全く同じ要素
あるいは機能的に類似した要素を指している。
発明に有利に用いられるコンピュータネットワークを示
す略ブロック図である。
ージアプライアンスまたはファイラー等のサーバを示す
略ブロック図である。
ティングシステムを示す略ブロック図である。
る本発明によるファイラーの一実施形態を示す略図であ
る。
構造を示す略ブロック図である。
オブジェクト構造を示す略ブロック図である。
するために使用される様々なデータ構造を示す略ブロッ
ク図である。
検証手順に含まれるステップの流れを示すフロー図であ
る。
Claims (23)
- 【請求項1】サーバ内に複数の仮想サーバを作成及び維
持するための方法であって、 各仮想サーバのインスタンスを確立するためにサーバの
リソースを分割するステップと、 前記サーバ内のリソースの論理境界チェック及びセキュ
リティ解釈を用いて、リソースへのアクセス制御を可能
にするステップと、 からなる方法。 - 【請求項2】前記分割するステップは、 前記サーバの専用リソースを前記仮想サーバの各インス
タンスに割り当てるステップと、 すべての前記仮想サーバ間で前記サーバの共用リソース
を共有するステップと、 を含む、請求項1の方法。 - 【請求項3】前記専用リソースが、記憶単位、及び前記
サーバのネットワークインタフェースのネットワークア
ドレスである、請求項2の方法。 - 【請求項4】前記共用リソースが、前記サーバのオペレ
ーティングシステム及びファイルシステムである、請求
項3の方法。 - 【請求項5】前記サーバがファイラーであり、前記仮想
サーバが仮想ファイラー(vfiler)である、請求
項4の方法。 - 【請求項6】前記可能にするステップは、前記vfil
erのセキュリティドメインに関する情報を含むvfi
lerコンテクスト構造を設けるステップを含む、請求
項5の方法。 - 【請求項7】前記割り当てるステップは、vfstor
eソフトオブジェクトへのポインタからなる前記vfi
lerコンテクスト構造のvfstore listを
設けるステップを含み、該vfstoreソフトオブジ
ェクトの各々が前記vfilerに割り当てられた記憶
単位へのパスを参照するポインタを有する、請求項6の
方法。 - 【請求項8】前記割り当てるステップは、vfnetソ
フトオブジェクトへのポインタからなる前記vfile
rコンテクスト構造のvfnet listを設けるス
テップをさらに含み、該vfnetソフトオブジェクト
の各々が前記vfilerに割り当てられたネットワー
クアドレスを表すインタフェースアドレスデータ構造を
参照するポインタを有する、請求項7の方法。 - 【請求項9】前記可能にするステップは、vfiler
が前記filerの特定のストレージリソースに対する
アクセスを許可されていることを検証するためのvfi
ler境界チェックを実施するステップをさらに含む、
請求項8の方法。 - 【請求項10】前記実施するステップは、前記記憶単位
に関連するファイルシステム識別子及びqtree識別
子を確認するステップを含む、請求項9の方法。 - 【請求項11】前記実施するステップは、 記憶単位にアクセスするための要求の各々について、前
記識別子を用いて前記vfilerが該記憶単位にアク
セスする権限を有しているか否かを判定するステップ
と、 前記vfilerが要求された記憶単位にアクセスする
権限を有していない場合、その要求を直ちに拒否するス
テップと、 そうでなければ前記要求を許可し、前記要求を処理する
ためのファイルシステム処理を行なうステップと、 をさらに含む、請求項10の方法。 - 【請求項12】サーバ内に複数の仮想サーバを作成及び
維持するシステムであって、 前記仮想サーバの各々に割り当てられたストレージリソ
ースの単位に従って情報を記憶するように構成された記
憶媒体と、 前記仮想サーバの各々に割り当てられた1以上のネット
ワークアドレスリソースが割り当てられたネットワーク
インタフェースと、 要求が前記ストレージ媒体上のストレージリソースの特
定のユニットに対するアクセスを許可されていることを
検証するための境界チェックを実施するファイルシステ
ムリソースを有するオペレーティングシステムであっ
て、各仮想サーバが該ファイルシステムに対して共用ア
クセス可能になっている、オペレーティングシステム
と、 前記ネットワークインタフェース及び前記記憶媒体に接
続され、オペレーティングシステム及びファイルシステ
ムを実行し、これによって、前記ファイルシステムの境
界チェックの結果に従ってネットワーク及びストレージ
アクセス操作を呼び出すように構成された処理要素と、
からなるシステム。 - 【請求項13】各仮想サーバに設けられたコンテクスト
データ構造をさらに含み、該コンテクストデータ構造が
仮想サーバのセキュリティドメインに関する情報を含
み、割り当てられた共有リソースへのアクセス制御を実
施する、請求項12のシステム。 - 【請求項14】前記ストレージリソースの単位がボリュ
ーム及びqtreeである、請求項13のシステム。 - 【請求項15】前記境界チェックを実施するために前記
処理要素によってアクセスされる複数のテーブルデータ
構造をさらに含み、該テーブルデータ構造が複数の第1
のエントリを有する第1のテーブルを含み、該第1のエ
ントリの各々が仮想サーバに関連し、該テーブル内への
第1のキーとして機能するファイルシステム識別子(f
sid)を用いてアクセスされ、前記第1のテーブルの
第1のエントリの各々は前記fsidによって識別され
るボリュームを完全に所有する仮想サーバを示してい
る、請求項14のシステム。 - 【請求項16】前記テーブルデータ構造は複数の第2の
エントリを有する第2のテーブルをさらに含み、該第2
のエントリの各々が仮想サーバに関連し、fsid及び
qtree識別子(qtreeid)からなる第2のキ
ーを用いてアクセスされ、前記第2のテーブルの第2の
エントリの各々は前記fsid及びqtreeidによ
って識別されるqtreeを完全に所有する仮想サーバ
を示している、請求項15のシステム。 - 【請求項17】前記サーバがファイラーであり、前記仮
想サーバが仮想ファイラーである、請求項16のシステ
ム。 - 【請求項18】ファイラー内に複数の仮想ファイラー
(vfiler)を作成及び維持する装置であって、 ファイラーの専用リソースを各vfilerに割り当て
るための手段と、 前記ファイラーの共用リソースを全ての前記vfile
r間で共有するための手段と、 前記サーバ内のリソースの論理境界チェック及びセキュ
リティ解釈を用いて前記専用リソース及び共有リソース
へのアクセス制御を可能にするための手段と、 からなる装置。 - 【請求項19】前記可能にする手段は、vfilerが
前記ファイラーの特定の専用リソースに対するアクセス
を許可されていることを検証するためのvfiler境
界チェックを実施する手段を含む、請求項18の装置。 - 【請求項20】前記可能にする手段は、前記vfile
rのセキュリティドメインに関する情報を含むvfil
erコンテクスト構造を設けるための手段を含む、請求
項18の装置。 - 【請求項21】ファイラー内に複数の仮想ファイラー
(vfiler)を作成及び維持するための実行可能プ
ログラム命令を保持するコンピュータ読取可能媒体であ
って、該実行可能プログラム命令が、 ファイラーの専用リソースを各vfilerに割り当て
るためのプログラム命令と、 前記ファイラーの共用リソースを全ての前記vfile
r間で共有するためのプログラム命令と、 前記サーバの前記専用リソース及び前記共有リソースの
論理境界チェック及びセキュリティ解釈を用いてそれら
のリソースに対するアクセスを実施するためのプログラ
ム命令と、 からなる、コンピュータ読取可能媒体。 - 【請求項22】前記可能にするためのプログラム命令
は、vfilerが前記ファイラーの特定の専用リソー
スに対するアクセスを許可されていることを検証するv
filer境界チェックを実施するためのプログラム命
令を含む、請求項21のコンピュータ読取可能媒体。 - 【請求項23】前記可能にするためのプログラム命令
は、前記vfilerのセキュリティドメインに関する
情報を含むvfilerコンテクスト構造を設けるため
のプログラム命令を含む、請求項21のコンピュータ読
取可能媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/035,664 US7360034B1 (en) | 2001-12-28 | 2001-12-28 | Architecture for creating and maintaining virtual filers on a filer |
US10/035664 | 2001-12-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009229467A Division JP4726982B2 (ja) | 2001-12-28 | 2009-10-01 | ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003223346A true JP2003223346A (ja) | 2003-08-08 |
JP2003223346A5 JP2003223346A5 (ja) | 2006-02-23 |
Family
ID=21884042
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002379209A Pending JP2003223346A (ja) | 2001-12-28 | 2002-12-27 | ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ |
JP2009229467A Expired - Fee Related JP4726982B2 (ja) | 2001-12-28 | 2009-10-01 | ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009229467A Expired - Fee Related JP4726982B2 (ja) | 2001-12-28 | 2009-10-01 | ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ |
Country Status (3)
Country | Link |
---|---|
US (4) | US7360034B1 (ja) |
EP (1) | EP1329812B1 (ja) |
JP (2) | JP2003223346A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099557A (ja) * | 2004-09-30 | 2006-04-13 | Hitachi Ltd | 計算機システム |
JP2007509417A (ja) * | 2003-10-24 | 2007-04-12 | マイクロソフト コーポレーション | 静的リストを使用してデータを管理するシステムおよび方法 |
JP2007533030A (ja) * | 2004-04-12 | 2007-11-15 | ネットワーク・アプライアンス・インコーポレイテッド | 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法 |
US7420979B2 (en) | 2003-11-20 | 2008-09-02 | Hitachi Communcation Technologies, Ltd. | VLAN server |
JP2009211668A (ja) * | 2007-03-28 | 2009-09-17 | Fujitsu Ltd | アクセス制御プログラム |
US7970882B2 (en) | 2008-04-28 | 2011-06-28 | Hitachi, Ltd. | Management apparatus and management method |
JP2013509657A (ja) * | 2009-10-30 | 2013-03-14 | ヒタチデータ・システムズ・コーポレイション | 名前空間を用いた、区分化されたコンテンツプラットフォーム内の固定コンテンツストレージ |
JP2013509656A (ja) * | 2009-10-30 | 2013-03-14 | ヒタチデータ・システムズ・コーポレイション | 複製による、区分化されたコンテンツプラットフォーム内の固定コンテンツストレージ |
US8788667B2 (en) | 2009-05-15 | 2014-07-22 | Hitachi, Ltd. | Computer system and management method |
Families Citing this family (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427163B1 (en) * | 1998-07-10 | 2002-07-30 | International Business Machines Corporation | Highly scalable and highly available cluster system management scheme |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US7360034B1 (en) | 2001-12-28 | 2008-04-15 | Network Appliance, Inc. | Architecture for creating and maintaining virtual filers on a filer |
JP4154893B2 (ja) * | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
US7194519B1 (en) | 2002-03-15 | 2007-03-20 | Network Appliance, Inc. | System and method for administering a filer having a plurality of virtual filers |
US7143307B1 (en) | 2002-03-15 | 2006-11-28 | Network Appliance, Inc. | Remote disaster recovery and data migration using virtual appliance migration |
US6895413B2 (en) * | 2002-03-22 | 2005-05-17 | Network Appliance, Inc. | System and method for performing an on-line check of a file system |
US7356608B2 (en) * | 2002-05-06 | 2008-04-08 | Qlogic, Corporation | System and method for implementing LAN within shared I/O subsystem |
US7404012B2 (en) * | 2002-05-06 | 2008-07-22 | Qlogic, Corporation | System and method for dynamic link aggregation in a shared I/O subsystem |
US7447778B2 (en) * | 2002-05-06 | 2008-11-04 | Qlogic, Corporation | System and method for a shared I/O subsystem |
JP4087149B2 (ja) * | 2002-05-20 | 2008-05-21 | 株式会社日立製作所 | ディスク装置共有システム、及び計算機 |
US7107385B2 (en) * | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
JP4567293B2 (ja) * | 2003-01-21 | 2010-10-20 | 株式会社日立製作所 | ファイルサーバ |
JP4597488B2 (ja) * | 2003-03-31 | 2010-12-15 | 株式会社日立製作所 | プログラム配置方法及びその実施システム並びにその処理プログラム |
JP4349871B2 (ja) * | 2003-09-09 | 2009-10-21 | 株式会社日立製作所 | ファイル共有装置及びファイル共有装置間のデータ移行方法 |
US7418507B2 (en) * | 2003-12-18 | 2008-08-26 | Microsoft Corporation | Virtual resource serving of consolidated server shares |
US20050198401A1 (en) * | 2004-01-29 | 2005-09-08 | Chron Edward G. | Efficiently virtualizing multiple network attached stores |
US7487258B2 (en) * | 2004-01-30 | 2009-02-03 | International Business Machines Corporation | Arbitration in a computing utility system |
US8782024B2 (en) * | 2004-02-12 | 2014-07-15 | International Business Machines Corporation | Managing the sharing of logical resources among separate partitions of a logically partitioned computer system |
US7133988B2 (en) * | 2004-02-25 | 2006-11-07 | Hitachi, Ltd. | Method and apparatus for managing direct I/O to storage systems in virtualization |
US7949792B2 (en) * | 2004-02-27 | 2011-05-24 | Cisco Technology, Inc. | Encoding a TCP offload engine within FCP |
US7272654B1 (en) * | 2004-03-04 | 2007-09-18 | Sandbox Networks, Inc. | Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names |
US7480789B1 (en) * | 2004-03-29 | 2009-01-20 | Xilinx, Inc. | Virtual file system interface to configuration data of a PLD |
US20050240558A1 (en) * | 2004-04-13 | 2005-10-27 | Reynaldo Gil | Virtual server operating on one or more client devices |
US7430571B2 (en) | 2004-04-30 | 2008-09-30 | Network Appliance, Inc. | Extension of write anywhere file layout write allocation |
US7409494B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Extension of write anywhere file system layout |
US8266670B1 (en) | 2004-05-06 | 2012-09-11 | American Express Travel Related Services Company, Inc. | System and method for dynamic security provisioning of data resources |
US7827294B2 (en) * | 2004-05-06 | 2010-11-02 | American Express Travel Related Services Company, Inc. | System and method for dynamic security provisioning of computing resources |
US7519813B1 (en) * | 2004-08-02 | 2009-04-14 | Network Appliance, Inc. | System and method for a sidecar authentication mechanism |
US7607129B2 (en) * | 2005-04-07 | 2009-10-20 | International Business Machines Corporation | Method and apparatus for using virtual machine technology for managing parallel communicating applications |
US8949364B2 (en) * | 2005-09-15 | 2015-02-03 | Ca, Inc. | Apparatus, method and system for rapid delivery of distributed applications |
US20070106629A1 (en) * | 2005-10-17 | 2007-05-10 | Steve Endacott | System and method for accessing data |
CA2627073A1 (en) * | 2005-10-24 | 2007-05-03 | Accenture Global Services Gmbh | Dynamic server consolidation and configuration |
US20070208799A1 (en) * | 2006-02-17 | 2007-09-06 | Hughes William A | Systems and methods for business continuity |
US7428614B2 (en) * | 2006-07-27 | 2008-09-23 | Hitachi, Ltd. | Management system for a virtualized storage environment |
US8014308B2 (en) * | 2006-09-28 | 2011-09-06 | Microsoft Corporation | Hardware architecture for cloud services |
US20080080396A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Marketplace for cloud services resources |
JP2008102672A (ja) | 2006-10-18 | 2008-05-01 | Hitachi Ltd | 計算機システム、管理計算機、操作制御情報の設定方法 |
US7970851B2 (en) * | 2006-10-31 | 2011-06-28 | Netapp, Inc. | Method and system for managing and monitoring virtual storage servers of a hosting storage server |
JP4935899B2 (ja) * | 2007-03-08 | 2012-05-23 | 富士通株式会社 | アクセス権限設定プログラム、方法及び装置 |
US8099766B1 (en) * | 2007-03-26 | 2012-01-17 | Netapp, Inc. | Credential caching for clustered storage systems |
CN101281461B (zh) * | 2007-04-04 | 2012-07-04 | 国际商业机器公司 | 用于迁移应用所依赖的系统环境的方法和装置 |
US9134921B1 (en) | 2007-04-23 | 2015-09-15 | Netapp, Inc. | Uniquely naming storage devices in a global storage environment |
US7925749B1 (en) | 2007-04-24 | 2011-04-12 | Netapp, Inc. | System and method for transparent data replication over migrating virtual servers |
US20090006713A1 (en) * | 2007-06-26 | 2009-01-01 | Royer Matthew I | Dynamic virtualized volume |
US8271911B1 (en) | 2007-09-13 | 2012-09-18 | Xilinx, Inc. | Programmable hardware event reporting |
US10108460B2 (en) * | 2008-02-28 | 2018-10-23 | International Business Machines Corporation | Method and system for integrated deployment planning for virtual appliances |
US8321915B1 (en) * | 2008-02-29 | 2012-11-27 | Amazon Technologies, Inc. | Control of access to mass storage system |
US8230069B2 (en) * | 2008-03-04 | 2012-07-24 | International Business Machines Corporation | Server and storage-aware method for selecting virtual machine migration targets |
JP5410025B2 (ja) * | 2008-03-07 | 2014-02-05 | 株式会社日立製作所 | ストレージシステム及びその管理方法 |
JP2009230381A (ja) * | 2008-03-21 | 2009-10-08 | Hitachi Ltd | ストレージシステム及びボリューム割当方法並びに管理装置 |
US7890916B1 (en) | 2008-03-25 | 2011-02-15 | Xilinx, Inc. | Debugging using a virtual file system interface |
JP2009237826A (ja) * | 2008-03-26 | 2009-10-15 | Hitachi Ltd | ストレージシステム及びそのボリューム管理方法 |
US7908353B2 (en) * | 2008-04-11 | 2011-03-15 | International Business Machines Corporation | Managing overlapping address spaces |
US8302192B1 (en) * | 2008-04-30 | 2012-10-30 | Netapp, Inc. | Integrating anti-virus in a clustered storage system |
JP5199000B2 (ja) * | 2008-09-25 | 2013-05-15 | 株式会社日立製作所 | ファイルサーバリソース分割方法、システム、装置及びプログラム |
US7885276B1 (en) * | 2008-09-30 | 2011-02-08 | Emc Corporation | Isolating network traffic in multi-tenant virtualization environments |
US8176012B1 (en) | 2008-10-06 | 2012-05-08 | Netapp, Inc. | Read-only mirroring for load sharing |
US8078622B2 (en) * | 2008-10-30 | 2011-12-13 | Network Appliance, Inc. | Remote volume access and migration via a clustered server namespace |
KR101738647B1 (ko) * | 2008-12-02 | 2017-06-08 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 유지 시스템 |
US8230013B2 (en) * | 2008-12-30 | 2012-07-24 | International Business Machines Corporation | Extending name space size of legacy group communication systems |
US9344401B2 (en) * | 2009-02-04 | 2016-05-17 | Citrix Systems, Inc. | Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment |
US8793223B1 (en) | 2009-02-09 | 2014-07-29 | Netapp, Inc. | Online data consistency checking in a network storage system with optional committal of remedial changes |
US8621553B2 (en) * | 2009-03-31 | 2013-12-31 | Microsoft Corporation | Model based security for cloud services |
US8271557B1 (en) | 2009-04-20 | 2012-09-18 | Xilinx, Inc. | Configuration of a large-scale reconfigurable computing arrangement using a virtual file system interface |
US20100274886A1 (en) * | 2009-04-24 | 2010-10-28 | Nelson Nahum | Virtualized data storage in a virtualized server environment |
JP5360978B2 (ja) * | 2009-05-22 | 2013-12-04 | 株式会社日立製作所 | ファイルサーバ、及びファイルサーバにおけるファイル操作通知方法 |
US8086633B2 (en) * | 2009-08-27 | 2011-12-27 | International Business Machines Corporation | Unified user identification with automatic mapping and database absence handling |
US9098210B2 (en) * | 2009-10-29 | 2015-08-04 | Oracle America, Inc. | Automatically linking partitions on a tape media device |
US8489799B2 (en) * | 2009-12-13 | 2013-07-16 | International Business Machines Corporation | Efficient loading of data into memory of a computing system |
US9015333B2 (en) | 2009-12-18 | 2015-04-21 | Cisco Technology, Inc. | Apparatus and methods for handling network file operations over a fibre channel network |
US8645550B2 (en) | 2010-02-18 | 2014-02-04 | Microsoft Corporation | Database virtualization |
WO2011114382A1 (en) | 2010-03-19 | 2011-09-22 | Hitachi, Ltd. | Virtual file system and hierarchical storage management for cloud computing containing different underlying file systems |
JP5298055B2 (ja) * | 2010-03-24 | 2013-09-25 | Kddi株式会社 | 資源内に配置された制御対象機器を制御する機器制御装置、プログラム及び方法 |
US8812806B2 (en) * | 2010-10-29 | 2014-08-19 | Netapp, Inc. | Method and system for non-disruptive migration |
US20120158806A1 (en) * | 2010-12-20 | 2012-06-21 | Verizon Patent And Licensing Inc. | Provisioning network-attached storage |
AU2011382479B2 (en) * | 2010-12-29 | 2015-07-30 | Amazon Technologies, Inc. | Receiver-side data deduplication in data systems |
US8943023B2 (en) | 2010-12-29 | 2015-01-27 | Amazon Technologies, Inc. | Receiver-side data deduplication in data systems |
US8849880B2 (en) | 2011-05-18 | 2014-09-30 | Hewlett-Packard Development Company, L.P. | Providing a shadow directory and virtual files to store metadata |
US9507797B2 (en) * | 2011-06-06 | 2016-11-29 | Hewlett Packard Enterprise Development Lp | Cross-protocol locking with a file system |
US9176829B2 (en) * | 2011-07-01 | 2015-11-03 | Microsoft Technology Licensing, Llc | Managing recovery virtual machines in clustered environment |
US8601473B1 (en) | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9009106B1 (en) | 2011-08-10 | 2015-04-14 | Nutanix, Inc. | Method and system for implementing writable snapshots in a virtualized storage environment |
US9652265B1 (en) | 2011-08-10 | 2017-05-16 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types |
US8850130B1 (en) | 2011-08-10 | 2014-09-30 | Nutanix, Inc. | Metadata for managing I/O and storage for a virtualization |
US9747287B1 (en) | 2011-08-10 | 2017-08-29 | Nutanix, Inc. | Method and system for managing metadata for a virtualization environment |
US8549518B1 (en) | 2011-08-10 | 2013-10-01 | Nutanix, Inc. | Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment |
US8863124B1 (en) * | 2011-08-10 | 2014-10-14 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
JP6024138B2 (ja) * | 2012-03-21 | 2016-11-09 | 日本電気株式会社 | クラスタシステム |
US9237195B2 (en) * | 2012-04-27 | 2016-01-12 | Netapp, Inc. | Virtual storage appliance gateway |
US20140007189A1 (en) * | 2012-06-28 | 2014-01-02 | International Business Machines Corporation | Secure access to shared storage resources |
US9772866B1 (en) | 2012-07-17 | 2017-09-26 | Nutanix, Inc. | Architecture for implementing a virtualization environment and appliance |
JP6255858B2 (ja) * | 2012-10-31 | 2018-01-10 | 株式会社リコー | システム及びサービス提供装置 |
US9307059B2 (en) * | 2012-11-09 | 2016-04-05 | Sap Se | Retry mechanism for data loading from on-premise datasource to cloud |
US20150032954A1 (en) * | 2013-07-24 | 2015-01-29 | Netapp, Inc. | Method and system for presenting and managing storage shares |
US9053216B1 (en) | 2013-08-09 | 2015-06-09 | Datto, Inc. | CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems |
US10908937B2 (en) | 2013-11-11 | 2021-02-02 | Amazon Technologies, Inc. | Automatic directory join for virtual machine instances |
US10530742B2 (en) | 2013-11-11 | 2020-01-07 | Amazon Technologies Inc. | Managed directory service |
US9465549B1 (en) * | 2013-12-19 | 2016-10-11 | Emc Corporation | Dynamic allocation of a high-speed memory pool between a cluster file system and a burst buffer appliance |
US20150304278A1 (en) * | 2014-04-21 | 2015-10-22 | General Electric Company | Systems and methods for secure network-based monitoring of electrical power generators |
US10542049B2 (en) | 2014-05-09 | 2020-01-21 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
US9699251B2 (en) | 2014-05-13 | 2017-07-04 | Nutanix, Inc. | Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management |
US9485308B2 (en) * | 2014-05-29 | 2016-11-01 | Netapp, Inc. | Zero copy volume reconstruction |
US10509663B1 (en) | 2015-02-04 | 2019-12-17 | Amazon Technologies, Inc. | Automatic domain join for virtual machine instances |
US10581858B2 (en) * | 2015-04-01 | 2020-03-03 | Datto, Inc. | Network attached storage (NAS) apparatus having reversible privacy settings for logical storage area shares, and methods of configuring same |
CN106817388B (zh) * | 2015-11-30 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 |
US10375071B1 (en) * | 2015-12-16 | 2019-08-06 | Jpmorgan Chase Bank, N.A. | Access control system and method |
US10809998B2 (en) | 2016-02-12 | 2020-10-20 | Nutanix, Inc. | Virtualized file server splitting and merging |
US10725806B2 (en) * | 2016-02-16 | 2020-07-28 | Netapp Inc. | Transitioning volumes between storage virtual machines |
WO2017158407A1 (en) | 2016-03-18 | 2017-09-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Using nano-services to secure multi-tenant networking in datacenters |
US10467103B1 (en) | 2016-03-25 | 2019-11-05 | Nutanix, Inc. | Efficient change block training |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
US10356182B2 (en) * | 2016-07-19 | 2019-07-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication stack optimized per application without virtual machine overhead |
US10360057B1 (en) * | 2016-09-22 | 2019-07-23 | Amazon Technologies, Inc. | Network-accessible volume creation and leasing |
US10728090B2 (en) | 2016-12-02 | 2020-07-28 | Nutanix, Inc. | Configuring network segmentation for a virtualization environment |
US11562034B2 (en) | 2016-12-02 | 2023-01-24 | Nutanix, Inc. | Transparent referrals for distributed file servers |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
US10824455B2 (en) | 2016-12-02 | 2020-11-03 | Nutanix, Inc. | Virtualized server systems and methods including load balancing for virtualized file servers |
US11294777B2 (en) | 2016-12-05 | 2022-04-05 | Nutanix, Inc. | Disaster recovery for distributed file servers, including metadata fixers |
US11281484B2 (en) | 2016-12-06 | 2022-03-22 | Nutanix, Inc. | Virtualized server systems and methods including scaling of file system virtual machines |
US11288239B2 (en) | 2016-12-06 | 2022-03-29 | Nutanix, Inc. | Cloning virtualized file servers |
US11086826B2 (en) | 2018-04-30 | 2021-08-10 | Nutanix, Inc. | Virtualized server systems and methods including domain joining techniques |
US11194680B2 (en) | 2018-07-20 | 2021-12-07 | Nutanix, Inc. | Two node clusters recovery on a failure |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
CN109446685B (zh) * | 2018-11-06 | 2023-06-30 | 南方电网调峰调频发电有限公司 | 一种基于水电站仿真培训的数据通信协议 |
JP6835177B2 (ja) * | 2018-11-30 | 2021-02-24 | 株式会社Jvcケンウッド | 画像復号化装置、画像復号化方法及び画像復号化プログラム |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US12117972B2 (en) | 2021-08-19 | 2024-10-15 | Nutanix, Inc. | File server managers and systems for managing virtualized file servers |
US12072770B2 (en) | 2021-08-19 | 2024-08-27 | Nutanix, Inc. | Share-based file server replication for disaster recovery |
CN113986132A (zh) * | 2021-10-27 | 2022-01-28 | 北京八分量信息科技有限公司 | 异构网络中共享存储资源的方法、装置及相关产品 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0490980B1 (en) | 1989-09-08 | 1999-05-06 | Auspex Systems, Inc. | Multiple facility operating system architecture |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
WO1993009494A1 (en) | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
US5432907A (en) | 1992-05-12 | 1995-07-11 | Network Resources Corporation | Network hub with integrated bridge |
JP3751018B2 (ja) | 1993-06-03 | 2006-03-01 | ネットワーク・アプライアンス・インコーポレイテッド | ライトエニウエアファイルシステムレイアウト |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
EP0701716B1 (en) | 1993-06-03 | 2002-08-14 | Network Appliance, Inc. | Method and file system for allocating blocks of files to storage space in a RAID disk system |
JPH0863441A (ja) | 1994-08-26 | 1996-03-08 | Hitachi Ltd | 並列システムの運用方法 |
US5513314A (en) | 1995-01-27 | 1996-04-30 | Auspex Systems, Inc. | Fault tolerant NFS server system and mirroring protocol |
US5870550A (en) * | 1996-02-26 | 1999-02-09 | Network Engineering Software | Web server employing multi-homed, moldular framework |
US5835720A (en) | 1996-05-17 | 1998-11-10 | Sun Microsystems, Inc. | IP discovery apparatus and method |
US6058423A (en) * | 1996-12-23 | 2000-05-02 | International Business Machines Corporation | System and method for locating resources in a distributed network |
US6802062B1 (en) | 1997-04-01 | 2004-10-05 | Hitachi, Ltd. | System with virtual machine movable between virtual machine systems and control method |
US6351775B1 (en) * | 1997-05-30 | 2002-02-26 | International Business Machines Corporation | Loading balancing across servers in a computer network |
US6230200B1 (en) | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
WO1999023571A1 (en) | 1997-11-03 | 1999-05-14 | Inca Technology, Inc. | Automatically configuring network-name-services |
US5941972A (en) | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US6947987B2 (en) * | 1998-05-29 | 2005-09-20 | Ncr Corporation | Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes |
US6968390B1 (en) * | 1999-04-15 | 2005-11-22 | International Business Machines Corporation | Method and system for enabling a network function in a context of one or all server names in a multiple server name environment |
US6854114B1 (en) | 1999-10-21 | 2005-02-08 | Oracle International Corp. | Using a virtual machine instance as the basic unit of user execution in a server environment |
US7047301B2 (en) * | 2000-01-31 | 2006-05-16 | F5 Networks, Inc. | Method and system for enabling persistent access to virtual servers by an LDNS server |
US6865601B1 (en) | 2000-02-11 | 2005-03-08 | Hewlett-Packard Development Company L.P. | Method for allocating web sites on a web server cluster based on balancing memory and load requirements |
EP1326405B1 (en) | 2000-05-26 | 2005-03-23 | Citrix Systems, Inc. | Method and system for efficiently reducing graphical display data for transmission over a low bandwidth transport protocol mechanism |
US6816905B1 (en) * | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
EP1364510B1 (en) * | 2000-10-26 | 2007-12-12 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
US7027412B2 (en) * | 2000-11-10 | 2006-04-11 | Veritas Operating Corporation | System for dynamic provisioning of secure, scalable, and extensible networked computer environments |
US6813766B2 (en) | 2001-02-05 | 2004-11-02 | Interland, Inc. | Method and apparatus for scheduling processes based upon virtual server identifiers |
US20020120660A1 (en) * | 2001-02-28 | 2002-08-29 | Hay Russell C. | Method and apparatus for associating virtual server identifiers with processes |
US6618736B1 (en) * | 2001-03-09 | 2003-09-09 | Ensim Corporation | Template-based creation and archival of file systems |
US7222132B2 (en) * | 2001-03-20 | 2007-05-22 | Swsoft Holdings, Ltd. | Common template file system tree for virtual environments and virtual servers |
US7584228B1 (en) * | 2001-07-18 | 2009-09-01 | Swsoft Holdings, Ltd. | System and method for duplication of virtual private server files |
US6944785B2 (en) * | 2001-07-23 | 2005-09-13 | Network Appliance, Inc. | High-availability cluster virtual server system |
US6880002B2 (en) * | 2001-09-05 | 2005-04-12 | Surgient, Inc. | Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources |
US6961806B1 (en) | 2001-12-10 | 2005-11-01 | Vmware, Inc. | System and method for detecting access to shared structures and for maintaining coherence of derived structures in virtualized multiprocessor systems |
US7024427B2 (en) * | 2001-12-19 | 2006-04-04 | Emc Corporation | Virtual file system |
US7360034B1 (en) | 2001-12-28 | 2008-04-15 | Network Appliance, Inc. | Architecture for creating and maintaining virtual filers on a filer |
US6895429B2 (en) * | 2001-12-28 | 2005-05-17 | Network Appliance, Inc. | Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses |
US8230085B2 (en) * | 2004-04-12 | 2012-07-24 | Netapp, Inc. | System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance |
US7730183B2 (en) * | 2005-01-13 | 2010-06-01 | Microsoft Corporation | System and method for generating virtual networks |
US8190641B2 (en) * | 2007-02-13 | 2012-05-29 | Netapp, Inc. | System and method for administration of virtual servers |
-
2001
- 2001-12-28 US US10/035,664 patent/US7360034B1/en not_active Expired - Lifetime
-
2002
- 2002-12-24 EP EP02258948A patent/EP1329812B1/en not_active Expired - Lifetime
- 2002-12-27 JP JP2002379209A patent/JP2003223346A/ja active Pending
-
2003
- 2003-04-07 US US10/408,399 patent/US7647461B2/en not_active Expired - Lifetime
- 2003-04-09 US US10/410,064 patent/US7269696B2/en not_active Expired - Lifetime
-
2008
- 2008-06-30 US US12/165,323 patent/US8782232B2/en not_active Expired - Lifetime
-
2009
- 2009-10-01 JP JP2009229467A patent/JP4726982B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007509417A (ja) * | 2003-10-24 | 2007-04-12 | マイクロソフト コーポレーション | 静的リストを使用してデータを管理するシステムおよび方法 |
US7420979B2 (en) | 2003-11-20 | 2008-09-02 | Hitachi Communcation Technologies, Ltd. | VLAN server |
US8094660B2 (en) | 2003-11-20 | 2012-01-10 | Hitachi, Ltd. | VLAN server |
JP2007533030A (ja) * | 2004-04-12 | 2007-11-15 | ネットワーク・アプライアンス・インコーポレイテッド | 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法 |
JP4758424B2 (ja) * | 2004-04-12 | 2011-08-31 | ネットアップ,インコーポレイテッド | 物理的ストレージアプライアンス内で実行される仮想ストレージアプライアンスにおいてブロックベースのプロトコルを利用することが可能なシステム及び方法 |
JP2006099557A (ja) * | 2004-09-30 | 2006-04-13 | Hitachi Ltd | 計算機システム |
JP2009211668A (ja) * | 2007-03-28 | 2009-09-17 | Fujitsu Ltd | アクセス制御プログラム |
US7970882B2 (en) | 2008-04-28 | 2011-06-28 | Hitachi, Ltd. | Management apparatus and management method |
US8788667B2 (en) | 2009-05-15 | 2014-07-22 | Hitachi, Ltd. | Computer system and management method |
JP2013509657A (ja) * | 2009-10-30 | 2013-03-14 | ヒタチデータ・システムズ・コーポレイション | 名前空間を用いた、区分化されたコンテンツプラットフォーム内の固定コンテンツストレージ |
JP2013509656A (ja) * | 2009-10-30 | 2013-03-14 | ヒタチデータ・システムズ・コーポレイション | 複製による、区分化されたコンテンツプラットフォーム内の固定コンテンツストレージ |
Also Published As
Publication number | Publication date |
---|---|
US20030195942A1 (en) | 2003-10-16 |
US8782232B2 (en) | 2014-07-15 |
US7269696B2 (en) | 2007-09-11 |
EP1329812B1 (en) | 2011-07-13 |
EP1329812A2 (en) | 2003-07-23 |
US7647461B2 (en) | 2010-01-12 |
US20030191810A1 (en) | 2003-10-09 |
EP1329812A3 (en) | 2007-04-11 |
US20080281967A1 (en) | 2008-11-13 |
JP4726982B2 (ja) | 2011-07-20 |
JP2010092475A (ja) | 2010-04-22 |
US7360034B1 (en) | 2008-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4726982B2 (ja) | ファイラー上に仮想ファイラーを作成及び維持するアーキテクチャ | |
US11218364B2 (en) | Network-accessible computing service for micro virtual machines | |
US7917598B1 (en) | System and method for administering a filer having a plurality of virtual filers | |
CN110710168B (zh) | 跨隔离的网络堆栈的智能线程管理 | |
US8230085B2 (en) | System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance | |
US7873700B2 (en) | Multi-protocol storage appliance that provides integrated support for file and block access protocols | |
US7673012B2 (en) | Virtual file servers with storage device | |
US7996560B2 (en) | Managing virtual ports in an information processing system | |
JP5167225B2 (ja) | 1つのファイラー上の複数の仮想ファイラーが重複するネットワークアドレスを有する複数のアドレス空間に参加することを可能にする技術 | |
US9152776B2 (en) | Secure access-based enumeration of a junction or mount point on a clustered server | |
US8190641B2 (en) | System and method for administration of virtual servers | |
US8082261B1 (en) | System and method for associating NIS attributes with CIFS clients | |
US7293152B1 (en) | Consistent logical naming of initiator groups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081028 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090204 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090204 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090602 |