JP4237515B2 - ネットワークストレージ仮想化方法およびネットワークストレージシステム - Google Patents

ネットワークストレージ仮想化方法およびネットワークストレージシステム Download PDF

Info

Publication number
JP4237515B2
JP4237515B2 JP2003030426A JP2003030426A JP4237515B2 JP 4237515 B2 JP4237515 B2 JP 4237515B2 JP 2003030426 A JP2003030426 A JP 2003030426A JP 2003030426 A JP2003030426 A JP 2003030426A JP 4237515 B2 JP4237515 B2 JP 4237515B2
Authority
JP
Japan
Prior art keywords
network storage
access request
directory server
file
client
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.)
Expired - Fee Related
Application number
JP2003030426A
Other languages
English (en)
Other versions
JP2004240803A (ja
Inventor
上村  哲也
Original Assignee
株式会社日立グローバルストレージテクノロジーズ
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 株式会社日立グローバルストレージテクノロジーズ filed Critical 株式会社日立グローバルストレージテクノロジーズ
Priority to JP2003030426A priority Critical patent/JP4237515B2/ja
Priority to US10/368,644 priority patent/US7433934B2/en
Publication of JP2004240803A publication Critical patent/JP2004240803A/ja
Application granted granted Critical
Publication of JP4237515B2 publication Critical patent/JP4237515B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークストレージ仮想化システムに係り、ネットワークに直付けされるネットワークストレージを仮想化することにより、クライアントからのネットワークストレージのアクセスを容易にして、システムの構築、運用を柔軟におこなうことのできるネットワークストレージ仮想化システムに関する。
【0002】
【従来の技術】
従来の情報処理システムでは、計算機システムに直接接続したハードディスクドライブなどのストレージに情報を格納していた。ストレージに格納した情報は、ストレージを直接接続した計算機からのみアクセス可能なため、他の計算機システムから情報にアクセスするためには、ストレージを直接接続した計算機を経由する必要があった。
【0003】
しかしながら、近年のネットワーク技術の発達と格納すべき情報量の飛躍的な増大により、情報を処理する計算機システムと情報を格納するストレージシステムの分離の動きが進んでいる。その結果、ネットワークに接続し複数の計算機システム間で情報を共有できるストレージシステムが出現してきた。このようなネットワークに接続するストレージをネットワークストレージと呼ぶ。
【0004】
このようなネットワークストレージの例として、SAN(Storage Area Network)で接続してブロックアクセスを提供するSANストレージ、IPネットワークやInfinibandなどで接続してファイルアクセスを提供するNAS(Network Attached Storage)、WebアクセスのインタフェースであるHTTPプロトコルやそれを拡張したプロトコルでのアクセス形態を提供するWebストレージなどがある。
【0005】
ネットワークストレージの普及につれ、システム管理者は、ネットワークに接続した複数のネットワークストレージを管理する必要が生じてきた。例えば、格納すべきデータ量が既存のネットワークストレージの最大値を越えるような場合には、新たなネットワークストレージを追加し、データの再分配などのシステム再構築が必要になる。ストレージ容量に対する需要の急激な伸びは、度重なるシステム再構築を強いるためシステム管理コストを膨張させてきた。
【0006】
システム管理コストの抑制には、複数のネットワークストレージを計算機システムからは仮想的に一つに見せ、新たな装置の追加を行なってもシステム全体に影響が及ばないようにするストレージ仮想化技術が必須となっている。このようなストレージ仮想化技術に関しては各種方式が開発され提案されている。
【0007】
例えば、1995年にHartmanらが発表したZebra(例えば、非特許文献1参照)では、一つのファイルをストライピングして複数のネットワークストレージに分散格納する方式を提案している。この方式では、ファイルを一定の長さごとに分割し、ネットワークストレージにラウンド・ロビン方式で順次格納する。Zebraでは、ファイルがどのストレージにどのような順番で分散格納しているか集中管理するサーバがあり、ファイルアクセス処理時にはこの管理サーバにファイルの格納位置に関する情報を問い合わせてからファイルの本体データにアクセスするという特徴がある。すなわち、Zebraでは、ファイルを複数のサーバに分散格納させて一つのサーバで集中管理することにより、複数のネットワークストレージを仮想的に一つの大きいネットワークストレージに見せている。
【0008】
また、特許文献1では、Alexander H. Freyらは、Zebraの集中管理サーバ方式と異なる非集中管理サーバ方式によりファイルのストライピングを行なう方式を提案している。この方式では、ファイルのストライピング情報が格納されているスタータノード情報をファイル識別子に埋め込むことで、Zebraで集中管理していたストライピング情報を複数のネットワークストレージで分散管理している。ファイル識別子にスタータノードを格納するため、クライアントがファイルアクセスする際には、まずスタータノードへアクセスをおこない、そこでファイルの格納位置を決定し、必要があればアクセスすべきファイルの断片(ブロック)を格納しているサーバへアクセス要求を転送して処理することになる。このため、クライアントからの当該ファイルについてのアクセスは、スタータノードへ要求を発行するだけで良く、ファイルのストライピングによる格納位置を考慮する必要がないという利点がある。
【0009】
また、特許文献2の「分散ファイル管理装置及び分散ファイル管理システム」では、複数のサーバ計算機に状態管理部を設け、負荷情報を保持して負荷を管理し、記憶装置に、分散ファイルの一部または全部を構成する部分ファイルを記憶して、分散ファイルの部分ファイルを特定し、状態管理部で管理する負荷情報に基づき部分ファイルを処理するサーバ計算機を決定するようにする。これにより特定のサーバへの負荷の集中を防ぐことができる。
【0010】
【非特許文献1】
The Zebra Striped Network File System, Hartman et. al., ACM Transactions on ComputerSystem, Vol. 13, No. 3, 1995, pp. 274-310.
【特許文献1】
米国特許第6,029,168号明細書
【特許文献2】
特開2000―207370号公報
【0011】
【発明が解決しようとする課題】
上記従来技術のZebraでは、ファイルを分散していても、ユーザはそれらの詳細情報を保持していなくてもアクセスできる利点がある。しかしながら、前記Zebraでは、アクセスするファイルの断片を格納するネットワークストレージを決定する際に、集中管理サーバに問い合わせる必要があり、特にファイルの更新ではネットワークストレージ上のデータの他に集中管理サーバ上のデータも更新する必要がある。このため、ネットワークストレージの台数が増加すると集中管理サーバがボトルネックとなり、システムのスケーラビリティを阻害する要因となっている。さらに、Zebraでは専用のクライアントが必要となるため、NFSなどの標準プロトコルに適用できない問題がある。
【0012】
また、特許文献1の非集中管理サーバ方式では、管理サーバが複数のサーバに分散されている点では、集中管理サーバがボトルネックになるというZebraの問題点を解決している。しかしながら、このシステムではファイルアクセスする際にファイルを一意に特定するファイル名あるいはディレクトリ名とスタータノードが埋め込まれているファイル識別子との変換を分散ディレクトリ等のサーバがおこなうことが前提となっており、ファイルの格納場所を管理するサーバとファイル名との対応を管理する情報が別途必要となっている。特許文献1の実施例ではそのような情報を格納する手段としてa ″well−known″ distributed directory fileを利用すると述べている。また、ファイル識別子にスタータノードの位置を直接埋め込むため、新しいネットワークストレージを追加して既存のファイルのスタータノードを新しいネットワークストレージに移動する際には、分散ディレクトリに格納されているファイル名とファイル識別子との対応情報を書き換える必要がある。このため、新規ネットワークストレージ増設の際の管理コストが増大する問題がある。
【0013】
また、特許文献2に記載の発明では、複数サーバ間での負荷、特にディスクやネットワークへの負荷の分散に主眼を置いているが、分散ファイル管理手段の冗長化を考慮していないため、障害発生時にアクセスが不能になる問題がある。
【0014】
本発明は、上記問題点を解決するためになされもので、その第一の目的は、NFSなどの標準プロトコルを用いてアクセス可能なネットワークストレージ仮想化方法を提供することである。
【0015】
また、本発明の第二の目的は、ネットワークストレージの増設や減設の際の管理コストが小さいネットワークストレージ仮想化方法を提供することである。
【0016】
また、本発明の第三の目的は、ファイル管理情報を冗長化することで障害発生時にも継続して運用可能なネットワークストレージ仮想化方法を提供することである。
【0017】
さらに、本発明の第四の目的は、クライアントからの要求を受信するネットワークストレージと、要求の処理をおこないクライアントに応答を返すネットワークストレージとが異なる場合でも、クライアントでは、そのことを意識せずとも、ネットワークストレージへの要求をおこなうことのできるネットワークストレージ仮想化システムを提供することである。
【0018】
【課題を解決するための手段】
本発明のネットワークストレージ仮想化方法は、上記目的を達成するため以下のようにする。
【0019】
ネットワークストレージ仮想化システムにファイル管理情報を保存するディレクトリサーバを設け、クライアントからネットワークストレージにアクセス要求があったときに、クライアントからの要求を第一のネットワークストレージが受信し、第一のネットワークストレージが受信した要求をディレクトリサーバに転送する。そして、ディレクトリサーバは、ファイル管理情報を基に要求を処理するネットワークストレージとして第二のネットワークストレージを選択して、その第二のネットワークストレージに要求を転送する。
【0020】
第二のネットワークストレージでは、要求を処理して、要求を処理した結果を要求の応答としてクライアントに送信するようにする。
【0021】
また、ディレクトリサーバが複数あるときには、受信した要求を転送するためのディレクトリサーバを選択するようにする。
【0022】
このときに、第二のネットワークストレージは、要求を処理したのは、第一のネットワークストレージであるように見せかけた応答を処理結果に含ませて返すようにする。したがって、クライアントでは、どのネットワークストレージが処理をおこなったかを意識せずともよい。
【0023】
また、前記ディレクトリサーバが要求を処理するネットワークストレージとして第二のネットワークストレージを選択したことを、第一のネットワークストレージに通知するようにしてもよい。このようにして、第一のネットワークストレージに通知内容を保存しておけば、二回目に第一のネットワークストレージに同じファイルにアクセスがあったときに、直接、その要求を第二のネットワークストレージに転送することができる。
【0024】
また、ディレクトリサーバの有するファイル管理情報を分割して複数のネットワークストレージにも保存するようにして、クライアントからネットワークストレージにアクセス要求があったときに、クライアントからの要求を受信した第一のネットワークストレージでは、要求を転送するディレクトリサーバまたは第二のネットワークストレージを選択して、選択したディレクトリサーバまたは前記第二のネットワークストレージに、要求を転送するようにする。
【0025】
選択されたディレクトリサーバまたは第二のネットワークストレージでは、要求を処理する第三のネットワークストレージに要求を転送して、第三のネットワークストレージに処理をおこなわせる。
【0026】
ディレクトリサーバとネットワークストレージに分割して保存されるファイル管理情報は、整合性を維持して保存しておく必要がある。
【0027】
このようにすれば、ファイル管理情報が分散して管理されるため、冗長度が増し、システムの安全度を高めることができる。
【0028】
また、クライアントからネットワークストレージにアクセス要求があったときに、要求を受信したネットワークストレージで、ディレクトリサーバに対して前記受信した要求を処理するネットワークストレージを問い合わせて、通知させ、要求を受信したネットワークストレージで、要求を処理するネットワークストレージに転送するようにしてもよい。
【0029】
このネットワークストレージ仮想化方法では、標準のプロトコルでシステムを構築することができ、クライアントに特別なプロトコルや仕様を意識させることはない。また、ファイルの容量増加したときなどのシステムの増設などもネットワークストレージを追加することにより簡単におこなうことができる。
【0030】
さらに、ファイル管理情報を分散管理されているために、システムの安全性が高まっており、一部のディレクトリサーバやネットワークストレージに障害がおこっても継続運転することが可能である。
【0031】
【発明の実施の形態】
以下、本発明に係る各実施形態を、図1ないし図8を用いて説明する。
【0032】
〔本発明のネットワークストレージシステムのシステム構成〕
先ず、図1を用いて本発明のネットワークストレージシステムのシステム構成について説明する。
図1は、本発明のネットワークストレージシステムのシステム構成図である。
【0033】
本発明のネットワークストレージは、クライアントK00と、ネットワークストレージN01〜N04およびディレクトリサーバD01、D02とをLAN100により接続する。
【0034】
クライアントK00は、サーバに対してファイルの読み書き、ファイル管理情報取得などのファイルアクセス要求をおこなう。
【0035】
ネットワークストレージN01〜N04は、ネットワークに直接接続されているストレージデバイスであり、ファイルの本体データを格納する。
【0036】
ディレクトリサーバD01、D02は、ファイル属性やファイル本体データを格納しているネットワークストレージの情報などからなるファイルの管理情報を格納する。
【0037】
なお、この図1の例では、ネットワークストレージが三台、ディレクトリサーバが二台であるが、ネットワークストレージは、システムの規模に応じて何台でも増設してもよいし、ディレクトリサーバは、ファイル管理情報の容量、サーバの性能などに従って適切な台数を設けることができる。
【0038】
〔実施形態1〕
次に、図2ないし図5を用いて本発明に係る第一の実施形態について説明する。
図2は、本発明に係る第一の実施形態の処理の流れを示す模式図である。
図3は、クライアントからREAD/WRITE要求がされたときの処理を示すPAD(Problem Analysis Diagram)図である。
図4は、クライアントからCREATE要求がされたときの処理を示すPAD図である。
図5は、クライアントからLOOKUP要求がされたときの処理を示すPAD図である。
【0039】
本実施形態では、RFC1813(NFS Version3 Protocol Specification)に記載のNFSのプロトコルを使いクライアントK00が通信する場合のネットワークストレージの仮想化方法について説明する。NFS(Network File System)は、TCP/IP環境下で標準的に使用される分散分散ファイルシステムである。以下では、NFSの代表的なプロトコルであるREAD、WRITE、CREATE、LOOKUPを例にしてネットワーク仮想化方法の動作を説明するが、その他のNFSのプロトコルについても、同様に考えることができる。
(I)ネットワークストレージ仮想化方法の処理の概要
先ず、図2により本発明のネットワークストレージ仮想化方法の処理の概要について説明する。
【0040】
図2(a)は、クライアントからの要求がファイル本体とファイル管理情報の両方にアクセスする場合であり、READ、WRITE、CREATEなどのプロトコルがこれに該当する。
【0041】
この処理では、先ず、クライアントK00からネットワークストレージN01(第一のネットワークストレージ)にLAN経由でファイルアクセス要求を発する(A01)。ファイルの管理情報は、ディレクトリサーバに格納されているため、ネットワークストレージN01では、そのファイルのファイル管理情報を格納されているディレクトリサーバD01を選択して、その要求を転送する(A02)。
【0042】
このときに、ネットワークストレージN01は、転送されてきたクライアントと第一のネットワークストレージN01のIPアドレス、送受信のポート番号、READ/WRITE要求のトランザクションIDなどの情報を転送する。
【0043】
ディレクトリサーバD01は、そのファイルの格納されているネットワークストレージを検索して、転送されてきたクライアントと第一のネットワークストレージN01のIPアドレスなどの情報と共に、該当するネットワークストレージN03(第二のネットワークストレージ)に要求を転送する(A03)。
【0044】
ネットワークストレージN03では、受信した要求を処理して、クライアントK00に応答を返す(A04)。このとき、ファイルアクセス時刻などのファイル管理情報の更新処理などのために、ディレクトリサーバD01に対してファイル管理情報の読み出しや更新をおこなう(A05)。
【0045】
ここで重要なことは、処理をおこなう第二のネットワークストレージN03は、要求を処理したのは、第一のネットワークストレージN01であるように見せかけるようにすることである。すなわち、第二のネットワークストレージN03に、クライアントと第一のネットワークストレージN01のIPアドレスなどの情報が転送されるので、第二のネットワークストレージN03の応答パケットに第一のネットワークストレージN01のIPアドレスを含めて、クライアントK00でファイルアクセスの要求を出したセッションを引き継げるようにする。
【0046】
このようにすれば、クライアントK00からみると、どのネットワークストレージが要求を処理するかを意識せずともよい。
【0047】
図2(b)は、クライアントからの要求がファイル管理情報のみにアクセスする場合であり、例えば、LOOKUPなどのプロトコルがこれに該当する。
【0048】
この処理では、先ず、クライアントK00は、システム上の任意のネットワークストレージN01にLAN経由でファイルアクセス要求を発する(A01)。ファイルの管理情報は、ディレクトリサーバに格納されているため、ネットワークストレージN01では、そのファイルのファイル管理情報を格納しているディレクトリサーバD01を選択して、その要求を転送する(A02)。
【0049】
ディレクトリサーバD01は、受信した要求を処理して、クライアントK00に応答を返す(A04)。
【0050】
このタイプの要求は、ファイル管理情報のみのアクセスであるため、ディレクトリサーバだけで処理することができる。
(II)ネットワークストレージ仮想化方法の処理の詳細
次に、図3ないし図5を用いて各プロトコル毎に本発明のネットワークストレージ仮想化方法の処理の詳細について説明する。
(a)READ/WRITEプロトコル
NFSのREAD/WRITE要求は、ファイルに対して読み書きをおこなうプロトコルである。また、ファイルハンドルfileで指定するファイルについて、ファイルに対して読み書きをおこなって、ファイルの属性を返すインタフェースを持つ。
【0051】
なお、ファイルハンドルとは、NFSでファイルに対する情報を取り扱うための識別子である。
【0052】
先ず、クライアントK00がネットワークストレージN01に対して、ファイルハンドルfileに対するREAD/WRITE要求を発行する(図2(a)A01)。
【0053】
ネットワークストレージN01は、クライアントK00からのREAD/WRITE要求を受信する(S301)。NFSではファイルハンドルは最大64バイトの可変長の値である。
【0054】
ディレクトリサーバは、このシステムでは二台あるので、このファイルハンドルを基にディレクトリサーバD01、D02のどちらに処理を依頼するかを決定する必要がある。この決定の方法には、例えば、ラウンドロビンでディレクトリサーバを交互に切り替える方法や、ファイルハンドルの2の剰余でディレクトリサーバを決定する方法がある。以降では、剰余によりディレクトリサーバを決定するものとして説明する。剰余が0(ファイルハンドルの最下位ビットが0)の場合ディレクトリサーバD01を選択し、剰余が1(ファイルハンドルの最下位ビットが1)の場合ディレクトリサーバD02を選択する。ここでは仮にディレクトリサーバD01を選択したとする(S302)。
【0055】
剰余によってディレクトリサーバを選択することにより、例えば、ファイル属性を変更する場合には、特定のファイルハンドルを処理するディレクトリサーバを一意に指定できるため、二つのディレクトリサーバで同一のファイルハンドルについてファイル属性を変更し、データの整合性が取れなくなる事態を回避することができる。
【0056】
もちろん、このようなディレクトリサーバの選択にファイルハンドルの剰余を用いる方法のほかに、ファイルハンドルとディレクトリサーバを一対一に結びつける任意の手段を用いることができる。
【0057】
次に、ネットワークストレージN01がディレクトリサーバD01に対して受信したREAD/WRITE要求を転送する(S303、図2(a)A02)。ここで、クライアントK00のIPアドレス、ネットワークストレージN01のIPアドレス、TCPやUDPの送受信のポート番号、RPCのトランザクションID(XID)、RPCのプログラム番号、RPCのバージョン番号、RPCのプロシージャ番号、RPCの認証情報と検証情報など、応答メッセージを作成するのに必要な情報の全てを転送する。
【0058】
転送した要求を受信したディレクトリサーバD01では、ファイルハンドルfileを検索し(S304)、実際に存在するファイルハンドルであるか否かを確認する。fileが見つかった場合には、S311に進み、見つからなかった場合には、S321に進む。
【0059】
fileが見つかった場合には、先ず、fileに対応したファイルの本体データを保持するネットワークストレージを検索する(S311)。ここではネットワークストレージN03がファイルの本体データを保持しているとする。このネットワークストレージN03にREAD/WRITE要求を転送する(S312、図2(a)A03)。
【0060】
ここでも先ほどと同様にクライアントK00やネットワークストレージN01のIPアドレスなどの情報も同時に転送する。
【0061】
この要求を受けたネットワークストレージN03では、fileに対応したファイルの本体データをREAD/WRITEする(S313)。
【0062】
ファイルをREAD/WRITEするとアクセス時刻などのファイルの属性を更新する必要がある。そこで、ディレクトリサーバD01にfileのファイル属性の更新と、必要なファイル属性情報の読み出しを依頼する(S314、図2(a)A05)。そして、応答メッセージを組み立てる(S315)。ここで、要求を転送した際に一緒に転送したクライアントK00やネットワークストレージN01のIPアドレスなどの情報を用いて、クライアントK00がネットワークストレージN01からの応答だと認識するように、ネットワークストレージN03が応答メッセージを組み立てる。最後に、組み立てた応答メッセージをクライアントK00に送信する(S316、図2(a)A04)。
【0063】
fileが見つからなかった場合には、fileのファイル属性を読み出し(S321)、エラーメッセージを組み立てる(S322)。ここでfileが見つかった場合と同様に、要求を転送した際に一緒に転送したクライアントK00やネットワークストレージN01のIPアドレスなどの情報を用いて、クライアントK00がネットワークストレージN01からのエラーメッセージだと認識するように、ディレクトリサーバD01がエラーメッセージを組み立てる。最後に、組み立てたエラーメッセージをクライアントK00に送信する(S323、図2(a)A04)。
【0064】
このREAD/WRITE要求の処理では、S302で要求を転送するディレクトリサーバを選択して要求を転送していることにより、ディレクトリサーバの負荷分散をおこなうことができる。さらに、S303で要求を転送する際にクライアントK00やネットワークストレージN01のIPアドレスなどの情報も転送して、S315やS322であたかもネットワークストレージN01がメッセージを組み立てたかのようにクライアントK00に応答するため、クライアントK00ではどのネットワークストレージで処理がおこなわれたのかを意識せずともよい。
【0065】
また、ファイルハンドルごとにファイル属性を処理するディレクトリサーバが一意に決まるため、ファイル属性更新時に、二つのディレクトリサーバでのデータ整合性を確保することができる。
【0066】
さらに、複数のネットワークストレージにREAD/WRITE要求を転送することにより、ネットワークストレージの負荷分散をおこなうことができる。
(b)CREATEプロトコル
NFSのCREATE要求は、指定されたディレクトリにファイルを生成するプロトコルである。このCREATE要求は、ファイルハンドルdirで指定するディレクトリ上にファイル名nameのファイルを新規作成し、作成したファイルのファイルハンドルobj_fhとファイルとディレクトリの属性を返すインターフェースを持つ。
【0067】
先ず、クライアントK00がネットワークストレージN01に対して、ファイルハンドルdir上にファイル名nameのファイルを新規作成するCREATE要求を発行する(図2(a)A01)。
【0068】
ネットワークストレージN01は、このクライアントK00からのCREATE要求を受信する(S401)。NFSでは、既に述べたようにファイルハンドルは最大64バイトの可変長の値である。
【0069】
ネットワークストレージN01では、このファイルハンドルを基にディレクトリサーバD01、D02のどちらに処理を依頼するかを決定する(S402)。
【0070】
ここでもREAD/WRITEの場合と同様に、ファイルハンドルの剰余で処理を依頼するディレクトリサーバを決定する。剰余によってディレクトリサーバを選択することにより、二つのディレクトリサーバが同一ディレクトリ上に同一ファイル名を同時に作成し、データ整合性が取れなくなる事態を回避できる。ここでは仮にディレクトリサーバD01を選択したとする。
【0071】
ネットワークストレージN01が、選択したディレクトリサーバD01に受信したCREATE要求を転送する(S403、図2(a)A02)。ここで、クライアントK00のIPアドレス、ネットワークストレージN01のIPアドレス、TCPやUDPの送受信のポート番号、RPCのトランザクションID(XID)、RPCのプログラム番号、RPCのバージョン番号、RPCのプロシージャ番号、RPCの認証情報と検証情報などの応答メッセージを作成するのに必要な情報の全てを転送する。
【0072】
転送した要求を受信したディレクトリサーバD01では、ファイルハンドルdirを検索し(S404)、実際に存在するディレクトリのファイルハンドルであるかどうかを確認する。dirが見つかった場合には、S411に進み、見つからなかった場合には、S421に進む。
【0073】
dirが見つかった場合には、ファイル名nameの新規ファイルを作成するネットワークストレージを選択する(S411)。ネットワークストレージの選択の際には、以下の手法により最も負荷の低いネットワークストレージを選択すればよい。先ず、各ネットワークストレージのディスク使用率U%を求める。次に、各ネットワークストレージのネットワーク帯域使用率B%を求める。そして、別途定めるディスク容量とネットワーク帯域のどちらを優先して評価するかを定めるパラメータα、βを用いて、評価式α*U+β*Bにより各ネットワークストレージを評価する。ただし、ここでα、βは正数とする。評価式の値が大きいほどネットワークストレージのディスクまたはネットワークの負荷が大きいことを意味する。したがって、この評価式の値の小さいネットワークストレージを選択するようにするのが合理的である。
【0074】
ここでは、仮にネットワークストレージN03を選択したとする。このときネットワークストレージN03にCREATE要求を転送する(S412、図2(a)A03)。ここでも先程と同様にクライアントK00やネットワークストレージN01のIPアドレスなどの情報も同時に転送する。
【0075】
ネットワークストレージN03では、ファイル名nameのファイル本体データのエントリとファイルハンドルobj_fhを作成する(S413)。そして、READ/WRITEのところで述べた手法で、obj_fhの剰余からディレクトリサーバを選択する。ここでは、ディレクトリサーバD01が選択されたものとする。ネットワークストレージN03は、そのディレクトリサーバD01に対して、obj_fhのファイル属性の作成と、必要なファイル属性情報の読み出しを依頼する(S414、図2(a)A05)。
【0076】
次に、ネットワークストレージN03は、ディレクトリサーバD01にdirに対応したディレクトリのファイル属性の更新と必要なファイル属性情報の読み出しを依頼する(S415、図2(a)A05)。そして、応答メッセージを組み立てる(S416)。ここで、要求を転送した際に一緒に転送したクライアントK00やネットワークストレージN01のIPアドレスなどの情報を用いて、クライアントK00がネットワークストレージN01からの応答だと認識するように、ネットワークストレージN03が応答メッセージを組み立て、最後に、S417で組み立てた応答メッセージをクライアントK00に送信する(S417、図2(a)A04)。
【0077】
dirが見つからなかった場合には、dirのディレクトリのファイル属性を読み出し(S421)、ディレクトリサーバD01がエラーメッセージを組み立てる(S422)。ここで、要求を転送した際に一緒に転送したクライアントK00やネットワークストレージN01のIPアドレスなどの情報を用いて、クライアントK00がネットワークストレージN01からの応答だと認識するように、ディレクトリサーバD01が応答メッセージを組み立てる。最後に、組み立てたエラーメッセージをクライアントK00に送信する(S423、図2(a)A04)。
このCRETE要求の処理では、このREAD/WRITE要求の処理の場合と同様に、S402で要求を転送するディレクトリサーバを判定することにより、ディレクトリサーバの負荷分散をおこなうことができる。
【0078】
さらに、S403で要求を転送する際にクライアントK00やネットワークストレージN01のIPアドレスなどの情報も転送して、S416やS422であたかもネットワークストレージN01がメッセージを組み立てたかのようにクライアントK00に応答するため、クライアントK00ではどのネットワークストレージで処理がおこなわれたのかを意識せずともよい。
【0079】
また、ディレクトリのファイルハンドルごとにファイルの作成やファイル属性を処理するディレクトリサーバが一意に定まるため、ファイル作成やファイル属性更新時に、二つのディレクトリサーバでのデータ整合性を確保することができる。さらに、負荷のかかっていないネットワークストレージを選択してCREATE要求を転送することにより、理想的なネットワークストレージの負荷分散をおこなうことができる。
(c)LOOKUPプロトコル
NFSのLOOKUP要求は、指定したファイル名に対して、そのファイルに関連した情報を返すプロトコルである。すなわち、ファイルハンドルdirで指定するディレクトリ上に存在するファイル名fnameのファイルについて、ファイルのファイルハンドルobj_fh、ファイルの属性obj_attr、ディレクトリの属性dir_attrを返すインターフェースを持つ。
【0080】
LOOKUP要求では、クライアントK00がネットワークストレージN01に対して、ファイルハンドルdir上にあるファイル名fnameのファイルについてLOOKUP要求を発行する(図2(b)A01)。
【0081】
ネットワークストレージN01は、このクライアントK00からのLOOKUP要求を受信する(S501、図2(b)A01)。
【0082】
このファイルハンドルを基にディレクトリサーバD01、D02のどちらに処理を依頼するかを決定する(S502)。この決定の方法は、READ/WRITEのところで述べたのと同様の手法を用いることができる。ここでは、仮にディレクトリサーバD01を選択したとする。
【0083】
そして、ネットワークストレージN01が、そのディレクトリサーバD01に受信したLOOKUP要求を転送する(S503、図2(b)A02)。ここで、クライアントK00のIPアドレス、ネットワークストレージN01のIPアドレス、TCPやUDPの送受信のポート番号、RPCのトランザクションID(XID)、RPCのプログラム番号、RPCのバージョン番号、RPCのプロシージャ番号、RPCの認証情報と検証情報など、応答メッセージを作成するのに必要な情報の全てを転送する。
【0084】
転送した要求を受信したディレクトリサーバD01では、ファイルハンドルdirのエントリ上でファイル名fnameのファイルが持つファイルハンドルobj_fhを検索する(S504)。obj_fhが見つかった場合には、S511に進み、見つからなかった場合には、S521に進む。
【0085】
obj_fhが見つかった場合には、obj_fhのファイル属性を読み出し(S511)、dirのディレクトリ属性を読み出す(S512)。そして、ディレクトリサーバD01では、これらの情報を使い応答メッセージを組み立てる(S513)。ここで、要求を転送した際に一緒に転送したクライアントK00やネットワークストレージN01のIPアドレスなどの情報を用いて、クライアントK00がネットワークストレージN01からの応答だと認識するように、ディレクトリサーバD01が応答メッセージを組み立てるようにする。最後に、組み立てた応答メッセージをクライアントK00に送信する(S514、図2(b)B01)。
【0086】
obj_fhが見つからなかった場合には、dirのディレクトリ属性を読み出し(S521)、エラーメッセージを組み立てる(S522)。ここでobj_fhが見つかった場合と同様に、要求を転送した際に一緒に転送したクライアントK00やネットワークストレージN01のIPアドレスなどの情報を用いて、クライアントK00がネットワークストレージN01からのエラーメッセージだと認識するように、ディレクトリサーバD01がエラーメッセージを組み立てるようにする。最後に、組み立てた応答メッセージをクライアントK00に送信する(S523、図2(b)B01)。
【0087】
この要求処理では、処理をおこなうのがディレクトリサーバであり、ネットワークストレージを介さないことに注意する。
【0088】
LOOKUP要求の処理では、S502で要求を転送するサーバを判定することにより、ディレクトリサーバの負荷分散をおこなうことができる。さらに、S503で要求を転送する際にクライアントK00やネットワークストレージN01のIPアドレスなどの情報も転送して、S513やS522であたかもネットワークストレージN01がメッセージを組み立てたかのようにクライアントK00が認識できるようにしたため、クライアントK00は、どのディレクトリサーバが応答を返してくるのかを意識せずともよい。
(III)ディレクトリサーバの二重化およびファイル本体とファイル管理情報の格納形態について
これまでの説明では、ディレクトリサーバが二台あり、いずれのディレクトリサーバを使うのかを、ファイルハンドラに従って選択するようにした。本発明のネットワークストレージ仮想化方法では、ディレクトリサーバが一台でも構築することができる。しかしながら、ディレクトリサーバを複数台にすることにより、ファイル管理情報に関する処理について負荷を分散することができる。
【0089】
また、各々のディレクトリサーバに別々のファイル管理情報を格納しておき、それをファイルハンドラによって、選択する方法をとると、効率的にディレクトリサーバにファイル管理情報を格納することができる。
【0090】
しかしながら、信頼性を向上するためには、ファイル管理情報を複数のディレクトリサーバに多重化して格納しておくことが望ましい。ファイル管理情報をディレクトリサーバで保持するようにしたときには、あるディレクトリサーバのファイル管理情報が更新されたときには、適切なタイミングで他のディレクトリサーバに連絡をとり、同期をとって更新してファイル管理情報の整合性を維持しておく必要がある。
【0091】
ここで、ファイル本体のデータについても信頼性を向上させるために、一つのファイルについて多重化して、複数のネットワークストレージに冗長保持することが望ましい。この場合に、あるファイルハンドラに対するファイル管理情報を格納するディレクトリサーバを複数用意して、それぞれのディレクトリサーバでファイル本体を格納している冗長保持している複数のネットワークストレージを管理させるようにすれば、ファイル本体のデータを多重化した場合のファイル管理についても容易に実現することができる。
【0092】
さらに、本実施形態では、ファイルハンドルとそのファイルハンドルに対応した管理情報をペアで管理するようにした。しかしながら、本発明のネットワークストレージは、ファイルハンドルとファイルハンドルに対応した管理情報とファイルのオフセット情報を一組で管理することにより、一つのファイルを複数のネットワークストレージに分散して格納する方法にも容易に適用することができる。この方法によって、一つのファイルを複数のネットワークストレージに分割して保存することにより、このシステムのデータ格納方法として、 ZebraファイルシステムのようなファイルのストライプやRAID5のようなデータ冗長化手段も採用することができる。
【0093】
上記のように、複数のディレクトリサーバおよびネットワークストレージを用意して、ファイル管理情報とファイル本体データを冗長化して格納しておけば、あるディレクトリサーバやネットワークストレージに障害が発生したときでも、他方のディレクトリサーバやネットワークストレージを用いることで、容易にフェールオーバを実現することができる。
(IV)通信形態について
本実施形態では、クライアントはNFSプロトコルによりネットワークストレージの一台に要求を送信して、最終的な応答が要求を受信したネットワークストレージとは異なるネットワークストレージから返る場合であっても、最初に要求を受信したネットワークストレージからの応答のように応答メッセージを作成して、クライアントに返すようにした。すなわち、クライアントは、NFSのような標準プロトコルを用いて、仮想化されたネットワークストレージにアクセスすることができ、特別のプロトコルやソフトウェアを要しない。
【0094】
もちろん、クライアントとの通信にNFS以外のプロトコルを用いても、本発明のネットワークストレージ仮想化方法は、容易に実現することができる。
【0095】
また、本発明のネットワークストレージ仮想化方法では、ネットワークストレージとディレクトリサーバ間の通信は、クライアント側に見せる必要がないため、クライアントを接続したLANとは、別のLANを構築して、そのLANを用いて通信することにより、クライアントを接続したLANの通信帯域を節約することができる。
(V)システムの拡張性について
本発明のネットワークストレージ仮想化方法では、ネットワークストレージがファイルの本体データの保存をおこない、ディレクトリサーバがファイルの管理情報を保存する。このためシステム全体のディスク容量を増設するには、新しいネットワークストレージをネットワークに接続するだけで良く、ファイル管理情報の配置を変更する必要がないので、変更のための手間がかからず、ネットワークストレージの増設の際の管理コストが小さくすることができる。また、減設の場合も同様にファイル管理情報の配置を変更する必要がないので、ネットワークストレージの減設の際の管理コストを小さくすることかできる。
【0096】
〔実施形態2〕
次に、図6を用いて本発明に係る第二の実施形態について説明する。
図6は、本発明に係る第二の実施形態の処理の流れを示す模式図である。
【0097】
本実施形態は、第一の実施形態の機能を拡張して、クライアントからネットワークストレージにファイルアクセスの要求処理を出すときに、同じファイルを二回目にアクセスするときに、処理性能を上げようとするものである。
【0098】
図6(a)は、クライアントK00からネットワークストレージN01(第一のネットワークストレージ)に一回目の処理の依頼がきたときの流れ図であり、A01〜A04までの処理については、第一の実施形態と同様である。
【0099】
異なるのは、ディレクトリサーバD01は、ファイルの格納されているネットワークストレージN03(第二のネットワークストレージ)に要求を転送(A03)するのと同時にネットワークストレージN01に、ファイルがネットワークストレージN03に格納されていることを、例えば、ファイル識別子とネットワークストレージ識別子の対という形態で通知することである(G01)。
【0100】
このときに、ネットワークストレージN01とネットワークストレージN03は、並列に動作しているので、システムとして、それほど処理性能が低下することもない。
【0101】
ネットワークストレージN01では、そのファイル識別子とネットワークストレージ識別子の対応を、キャッシュファイルとして一時記憶用領域に保存しておく。
【0102】
この状態にあるとき、図6(b)に示されるようにクライアントK00から同じファイルに対してファイルアクセスの要求がネットワークストレージN01に発せられたとする。
【0103】
このときに、ネットワークストレージN01は、先ず、そのファイルに対応しているファイル識別子とネットワークストレージ識別子の対応が一時記憶用領域の中にないかを検索する。そして、見つかったときには、ネットワークストレージN02に直接要求を転送する(H02)。そのあと、ネットワークストレージN02で、要求を処理してクライアントに応答する(A04)ことは、第一の実施形態と同様である。見つからなかったときには、図6(a)の場合と同様に、該当するディレクトリサーバD01を選択して、それに要求を転送する(A02)。
【0104】
この実施形態によれば、一時記憶用領域の中に既にアクセスしたファイルの関連情報が記憶されているときには、ディレクトリサーバD01を経由せずに、ネットワークストレージN02に直接要求を転送することができるので、処理性能を大幅に向上させることができる。
【0105】
〔実施形態3〕
次に、図7を用いて本発明に係る第三の実施形態について説明する。
図7は、本発明に係る第三の実施形態の処理の流れを示す模式図である。
【0106】
第一の実施形態では、ファイル管理情報は、もっぱらディレクトリサーバが管理していた。ディレクトリサーバの数が少なく、かつ、多くのREAD/WRITE要求が発生して、一時に大量のファイル管理情報を更新しなければならなくなったときに、ディレクトリサーバに負荷がかかり、システムの性能のボトルネックになるおそれがある。
【0107】
本実施形態では、そのような事態を防止できるように、個々のネットワークストレージに対して、ファイル管理もおこなえるように、ディレクトリサーバ機能を持たせたものである。ディレクトリサーバは、第一の実施形態と同様に、ファイル管理情報を全て保持する。そして、各ネットワークストレージに、ファイル管理情報を分割して、コピーする。分割するときの手法としては、ファイルハンドルを用いて、ネットワークストレージと対応付ける評価関数を用いることができる。例えば、ファイルハンドルのバイト表現の剰余を計算する評価関数がある。この評価関数を用いた場合には、N台のネットワークストレージがあるとすると、各ネットワークストレージに0からN−1までの識別子を割り振り、ファイルハンドルのNの剰余を計算し、剰余の値に対応した識別子を持つネットワークストレージにそのファイルハンドルに対応するファイル管理情報を格納する。
【0108】
このように分類したファイル管理情報を対応するネットワークストレージにコピーすることで、ファイル管理情報を重複することなく各ネットワークストレージの記憶装置に分割してコピーすることができる。
【0109】
この処理では、先ず、クライアントK00からネットワークストレージN01(第一のネットワークストレージ)にLAN経由で、READ/WRITE要求のファイルアクセス要求を発する(A01)。
【0110】
本実施形態では、各々のネットワークストレージにディレクトリサーバ機能が付加されているために、ディレクトリサーバとネットワークストレージの両方がファイル管理情報に対する処理をおこなうことができる。
【0111】
第一の実施形態では、要求を転送するのは、ディレクトリサーバのみであったが、本実施形態では、要求を転送する候補として、ディレクトリサーバとネットワークストレージの二通りがあることに注意する必要がある。
【0112】
図7(a)は、ネットワークストレージN02(第二のネットワークストレージが選択されたものとする。READ/WRITEプロトコルのときには、例えば、上記のようにファイルハンドルの剰余を求めることにより、ネットワークストレージN02を選択することができる。
【0113】
そして、ネットワークストレージN01は、ネットワークストレージN02に受信した要求を転送する(C02)。
【0114】
このときに、ネットワークストレージN01は、クライアントと第一のネットワークストレージN01のIPアドレス、送受信のポート番号、READ/WRITE要求のトランザクションIDなどの情報も同時に転送する。
【0115】
ネットワークストレージN02では、転送された要求に含まれているファイルハンドルからファイル管理情報を検索して、ファイル管理情報の示すファイル本体データを格納しているネットワークストレージN03(第三のネットワークストレージ)に転送する(C03)。このときにも、クライアントと第一のネットワークストレージN01のIPアドレスなども転送するのは、C02のときと同様である。
【0116】
ネットワークストレージN03では、転送された要求に含まれるファイルハンドルに対応するファイル本体データに対して要求された処理をおこない、結果をクライアントK00に応答する(A04)。
【0117】
応答を返すとき、ネットワークストレージN03は、転送されてきたクライアントと第一のネットワークストレージN01のIPアドレス、送受信のポート番号、READ/WRITE要求のトランザクションIDなどの情報を用い、あたかも、ネットワークストレージN01が要求を処理したようなパケットを組み立てる。クライアントK00側では、どのネットワークストレージが処理をしたのかを一切意識する必要がないのは、第一の実施形態と同様である。
【0118】
そして、最後に、ファイルのアクセス時刻の更新などファイル管理情報が更新されるので、この情報をディレクトリサーバD01とネットワークストレージN02に送信して(A05)、ディレクトリサーバD01とネットワークストレージN02上のファイル管理情報を書き換える。
【0119】
これにより、ネットワークストレージ上のファイル管理情報とディレクトリサーバ上のファイル管理情報とは、整合性が保たれる。
【0120】
またこのとき、多数のファイルにREAD/WRITE要求が発生する場合や同一のファイルに対して頻繁にREAD/WRITE要求が発生する場合には、上記の手法では、毎回ディレクトリサーバが多数のファイル管理情報の更新要求パケットを受信することになるため、ディレクトリサーバに負荷がかかりすぎるおそれがある。
【0121】
そのために、ネットワークストレージ上で、ディレクトリサーバに送信すべきファイル管理情報を蓄積しておき、適切な時期に、まとめてディレクトリサーバ上のファイル管理情報を更新するようにすればよい。すなわち、複数のファイル管理情報の更新要求パケットをまとめて、一つの更新要求パケットにすることにより通信量を減らし、しかも、同一ファイルのファイル管理情報を頻繁に更新する場合には、最終結果のみが更新要求パケットとして送られるので、ディレクトリサーバのファイル管理情報の更新処理を減らすことができる。
【0122】
図7(a)に示した処理では、クライアントK00の要求がREAD/WRITE要求のように、要求のインタフェースにファイルハンドルを含んでいて、それにより、ファイル管理情報を格納している第二のネットワークストレージN02を選択した。
【0123】
次に、CREATE要求のように、クライアントK00の要求がインタフェースにファイルハンドルを含んでいない処理が発せられたものとする。
【0124】
この処理では、図7(b)に示されるように、先ず、クライアントK00からネットワークストレージN01(第一のネットワークストレージ)にLAN経由で、CREATE要求を発する(A01)。
【0125】
このときに、ネットワークストレージN01は、ネットワークストレージではなく、必ずディレクトリサーバを選択することになる。そして、ディレクトリサーバD01に要求を転送する(E02)。また、ネットワークストレージN01が、クライアントと第一のネットワークストレージN01のIPアドレス、送受信のポート番号、READ/WRITE要求のトランザクションIDなどの情報も同時に転送するのは、図7(a)のときと同様である。
【0126】
要求を受信したディレクトリサーバD01は、新規ファイルハンドルと新規ファイル管理情報を作成し、例えば、ファイルハンドルの剰余から新規ファイル管理情報をコピーするネットワークストレージN03(第三のネットワークストレージ)を求めて、それに対して新規ファイルの作成要求とファイル管理情報の格納要求を送信する(E03)。なお、新規ファイルの作成要求はネットワークストレージN03以外の任意のネットワークストレージに対して送信してよい。
【0127】
ネットワークストレージN03は、要求に応じて、新規ファイルを作成して、ファイル管理情報を格納した後に、クライアントK00に要求の応答を返す(A04)。また、応答を返すとき、ネットワークストレージN03は、転送されてきたクライアントと第一のネットワークストレージN01のIPアドレス、送受信のポート番号、READ/WRITE要求のトランザクションIDなどの情報を用い、あたかも、ネットワークストレージN01が要求を処理したようなパケットを組み立てるのは、図7(a)の場合と同様である。
【0128】
そして、ネットワークストレージN03上のファイル管理情報を更新し、この情報をディレクトリサーバD01上に送信して(A05)、ディレクトリサーバD01上のファイル管理情報を書き換えて、ネットワークストレージ上のファイル管理情報とディレクトリサーバ上のファイル管理情報との整合性が保つようにする。
【0129】
なお、図7に示したようなシステム形態で、新規にネットワークストレージを増設する際には、ディレクトリサーバのファイル管理情報のデータ更新が終了した後に、新規ネットワークストレージを含めてネットワークストレージに識別子を割り当て、ファイル管理情報の分割とネットワークストレージへのコピーを再びおこなうようにする。
【0130】
本実施形態では、上記のように、ネットワークストレージにディレクトリサーバ機能を持たせることにより、ファイル管理情報に関する処理の負荷を分散させ、処理の並列性を増すことにより、より高いスループットを達成することができる。また、ファイル管理情報がネットワークストレージにディレクトリサーバとに、二重化して保持されているために、システムの信頼性が高まり、いずれかのネットワークストレージやディレクトリサーバに障害がおこったときであっても、ファイル管理情報を喪失するのを防ぐことができ、継続してシステム運用をおこなえるという特徴がある。
【0131】
〔実施形態4〕
次に、図8を用いて本発明に係る第四の実施形態について説明する。
図8は、本発明に係る第四の実施形態の処理の流れを示す模式図である。
【0132】
第一の実施形態は、第一のネットワークストレージがクライアントから要求を受信して、その要求をディレクトリサーバに転送した。しかしながら、WRITE要求などで書き換える容量が大きいときには、そのパケットも大きくなり、ディレクトリサーバに転送すると、ディレクトリサーバに負荷がかかり、ネットワーク帯域も圧迫する恐れがある。
【0133】
本実施形態では、第一のネットワークストレージは、ディレクトリサーバに対して、ファイルアクセスの要求を転送すべきネットワークストレージを問い合わせて、その返答にしたがって、その要求を転送するものである。通常、問い合わせパケットは、WRITE要求のパケットに比べて、小さいので、ディレクトリサーバに負担がかからず、ネットワーク上に流れるパケット量を少なくすることができる。
【0134】
この処理では、先ず、クライアントK00からネットワークストレージN01(第一のネットワークストレージ)にLAN経由でファイルアクセス要求を発する(A01)。
【0135】
ネットワークストレージN01は、そのファイルのファイル管理情報を格納されているディレクトリサーバD01を選択して、それに対してファイル本体の格納されているネットワークストレージの問い合わせ要求をおこなう(F01)。
【0136】
ディレクトリサーバD01は、問い合わせ要求の中に含まれるファイルハンドルからそのファイルの格納されているネットワークストレージを検索して、該当するネットワークストレージは、ネットワークストレージN03(第二のネットワークストレージ)であることを返答する(F02)。
【0137】
ネットワークストレージN01は、これを受信して、ネットワークストレージN03に要求を転送する(F03)。
【0138】
ネットワークストレージN03では、要求を処理して応答をクライアントK00に返し(A04)、ディレクトリサーバのファイル管理情報を更新する(A05)ことは、第一の実施形態と同様である。
【0139】
問い合わせの結果は、ファイル識別子とネットワークストレージの識別子の対応として、第一のネットワークストレージN01のキャッシュファイルなどの一時記憶領域に格納しておく。そして、おなじファイルに対してアクセス要求があったときには、一時記憶領域の情報を検索して、見つかったときには、ただちに、そのファイルの格納されているネットワークストレージに要求を転送する。この流れは、図6(b)で示したものと同様である。
【0140】
【発明の効果】
本発明によれば、NFSなどの標準プロトコルを用いてアクセス可能なネットワークストレージ仮想化方法を提供することができる。
【0141】
また、ネットワークストレージの増設や減設の際の管理コストが小さいネットワークストレージ仮想化方法を提供することができる。
【0142】
また、ファイル管理情報を冗長化することで障害発生時にも継続して運用可能なネットワークストレージ仮想化方法を提供することである。
【0143】
さらに、クライアントからの要求を受信するネットワークストレージと、要求の処理をおこないクライアントに応答を返すネットワークストレージとが異なる場合でも、クライアントでは、そのことを意識せずとも、ネットワークストレージへの要求をおこなうことのできるネットワークストレージ仮想化システムを提供することができる。
【図面の簡単な説明】
【図1】本発明のネットワークストレージシステムのシステム構成図である。
【図2】本発明に係る第一の実施形態の処理の流れを示す模式図である。
【図3】クライアントからREAD/WRITE要求がされたときの処理を示すPAD(Problem Analysis Diagram)図である。
【図4】クライアントからCREATE要求がされたときの処理を示すPAD図である。
【図5】クライアントからLOOKUP要求がされたときの処理を示すPAD図である。
【図6】本発明に係る第二の実施形態の処理の流れを示す模式図である。
【図7】本発明に係る第三の実施形態の処理の流れを示す模式図である。
【図8】本発明に係る第四の実施形態の処理の流れを示す模式図である。
【符号の説明】
K00…クライアント
100…LAN
N01〜N04…ネットワークストレージ
D01,D02…ディレクトリサーバ

Claims (10)

  1. クライアントからのファイルデータを保存するネットワークストレージにアクセスするためのネットワークストレージ仮想化方法において、
    ファイル属性及びファイルデータを格納するネットワークストレージの情報を含むファイル管理情報を保存するディレクトリサーバを設け、
    前記クライアントから前記ネットワークストレージに、前記ファイル管理情報へのアクセス要求があったときに、
    (1)前記クライアントから前記ファイル管理情報へのアクセス要求を第一のネットワークストレージが受信するステップ、
    (2)前記第一のネットワークストレージが、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを前記ディレクトリサーバに転送するステップを有し
    前記アクセス要求が、前記ファイルデータ及び前記ファイル管理情報へのアクセス要求である場合、
    (3)前記ディレクトリサーバが、前記ファイル管理情報を基に前記アクセス要求を処理するネットワークストレージとして第二のネットワークストレージを選択するステップ、
    (4)前記ディレクトリサーバが、選択した第二のネットワークストレージに前記アクセス要求及び前記第一のネットワークストレージのIPアドレスを転送するステップ、
    (5)前記第二のネットワークストレージが、前記アクセス要求を処理するステップ、
    (6)前記第二のネットワークストレージが、前記第一のネットワークストレージのIPアドレスに基づく応答メッセージを組み立てるステップ、
    (7)前記第二のネットワークストレージが、前記アクセス要求を処理した結果及び前記応答メッセージを、前記アクセス要求の応答として前記クライアントに送信するステップを有し、
    前記アクセス要求が、前記ファイル管理情報のみへのアクセス要求である場合、(3′)前記ディレクトリサーバが、前記アクセス要求を処理するステップ、
    (4′)前記ディレクトリサーバが、前記第一のネットワークストレージのIPアドレスに基づく応答メッセージを組み立てるステップ、
    (5′)前記ディレクトリサーバが、前記アクセス要求を処理した結果及び前記応答メッセージを、前記アクセス要求の応答として前記クライアントに送信するステップを有することを特徴とするネットワークストレージ仮想化方法。
  2. 前記ディレクトリサーバが複数あって、前記(2)のステップにおいて、受信したアクセス要求を転送するためのディレクトリサーバを選択するための処理を含むことを特徴とする請求項1記載のネットワークストレージ仮想化方法。
  3. さらに、前記(3)のステップの結果として、前記アクセス要求を処理するネットワークストレージとして前記第二のネットワークストレージを選択したことを、前記ディレクトリサーバが前記第一のネットワークストレージに通知するステップを含むことを特徴とする請求項1記載のネットワークストレージ仮想化方法。
  4. クライアントからのファイルデータを保存するネットワークストレージにアクセスするためのネットワークストレージ仮想化方法において、
    ファイル属性及びファイルデータを格納するネットワークストレージの情報を含むファイル管理情報が保存されるディレクトリサーバと、前記ファイル管理情報が分割されて保存される複数のネットワークストレージとを設け、
    前記クライアントから前記ネットワークストレージに、前記ファイル管理情報へのアクセス要求があったときに、
    (8)前記クライアントから前記ファイル管理情報へのアクセス要求を第一のネットワークストレージが受信するステップ、
    (9)前記第一のネットワークストレージが、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを転送する前記ディレクトリサーバまたは第二のネットワークストレージを選択するステップ、
    (10)前記第一のネットワークストレージが、選択されたディレクトリサーバまたは第二のネットワークストレージに、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを転送するステップ、
    (11)前記ディレクトリサーバが選択された場合、前記ディレクトリサーバが、前記ディレクトリサーバに保存されるファイル管理情報を基に前記アクセス要求を処理する第三のネットワークストレージを選択するステップ、
    (11′)前記第二のネットワークストレージが選択された場合、前記第二のネットワークストレージが、前記複数のネットワークストレージに分割して保存されるファイル管理情報を基に前記アクセス要求を処理する第三のネットワークストレージを選択するステップ、
    (12)選択されたディレクトリサーバ又は第二のネットワークストレージが、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを、前記第三のネットワークストレージに転送するステップ、
    (13)前記第三のネットワークストレージが、前記アクセス要求を処理するステップ、
    (14)前記第三のネットワークストレージが、前記第一のネットワークストレージのIPアドレスに基づく応答メッセージを組み立てるステップ、
    (15)前記第三のネットワークストレージが、前記アクセス要求を処理した結果及び前記応答メッセージを、前記アクセス要求の応答として前記クライアントに送信するステップを有することを特徴とするネットワークストレージ仮想化方法。
  5. 前記(11)(ll′)のステップの結果として、前記ディレクトリサーバまたは前記第二のネットワークストレージが、前記アクセス要求を処理するネットワークストレージとして前記第三のネットワークストレージを選択したことを前記第一のネットワークストレージに通知するステップを含むことを特徴とする請求項4記載のネットワークストレージ仮想化方法。
  6. クライアントからのファイルデータを保存するネットワークストレージにアクセスするためのネットワークストレージシステムにおいて、
    ファイル属性及びファイルデータを格納するネットワークストレージの情報を含むファイル管理情報を保存するディレクトリサーバを設け、
    前記クライアントから前記ネットワークストレージに、前記ファイル管理情報へのアクセス要求があったときに、
    第一のネットワークストレージは、前記クライアントから前記ファイル管理情報へのアクセス要求を受信し、
    前記第一のネットワークストレージは、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを前記ディレクトリサーバに転送し、
    前記アクセス要求が、前記ファイルデータ及び前記ファイル管理情報へのアクセス要求である場合、
    前記ディレクトリサーバは、前記ファイル管理情報を基に前記アクセス要求を処理するネットワークストレージとして第二のネットワークストレージを選択し、
    前記ディレクトリサーバは、選択した第二のネットワークストレージに前記アクセス要求及び前記第一のネットワークストレージのIPアドレスを転送し、
    前記第二のネットワークストレージは、前記アクセス要求を処理し、
    前記第二のネットワークストレージは、前記第一のネットワークストレージのIPアドレスに基づく応答メッセージを組み立て
    前記第二のネットワークストレージは、前記アクセス要求を処理した結果及び前記応答メッセージを、前記アクセス要求の応答として前記クライアントに送信し、
    前記アクセス要求が、前記ファイル管理情報のみへのアクセス要求である場合、
    前記ディレクトリサーバは、前記アクセス要求を処理し、
    前記ディレクトリサーバは、前記第一のネットワークストレージのIPアドレスに基づく応答メッセージを組み立て、
    前記ディレクトリサーバは、前記アクセス要求を処理した結果及び前記応答メッセージ を、前記アクセス要求の応答として前記クライアントに送信することを特徴とするネットワークストレージシステム。
  7. 前記ディレクトリサーバが複数あって、第一のネットワークストレージは、受信したアクセス要求を転送するためのディレクトリサーバを選択することを特徴とする請求項6記載のネットワークストレージシステム。
  8. さらに、前記ディレクトリサーバが、前記アクセス要求を処理するネットワークストレージとして前記第二のネットワークストレージを選択したことを、前記ディレクトリサーバが前記第一のネットワークストレージに通知することを特徴とする請求項6記載のネットワークストレージシステム。
  9. クライアントからのファイルデータを保存するネットワークストレージにアクセスするためのネットワークストレージシステムにおいて、
    ファイル属性及びファイルデータを格納するネットワークストレージの情報を含むファイル管理情報が保存されるディレクトリサーバと、前記ファイル管理情報が分割されて保存される複数のネットワークストレージとを設け、
    前記クライアントから前記ネットワークストレージに、前記ファイル管理情報へのアクセス要求があったときに、
    第一のネットワークストレージは、前記クライアントから前記ファイル管理情報へのアクセス要求を受信し、
    前記第一のネットワークストレージは、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを転送する前記ディレクトリサーバまたは第二のネットワークストレージを選択し、
    前記第一のネットワークストレージは、選択されたディレクトリサーバまたは第二のネットワークストレージに、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを転送し、
    前記ディレクトリサーバが選択された場合、前記ディレクトリサーバは、前記ディレクトリサーバに保存されるファイル管理情報を基に前記アクセス要求を処理する第三のネットワークストレージを選択し、
    前記第二のネットワークストレージが選択された場合、前記第二のネットワークストレージは、前記複数のネットワークストレージに分割して保存されるファイル管理情報を基に前記アクセス要求を処理する第三のネットワークストレージを選択し、
    選択されたディレクトリサーバ又は第二のネットワークストレージは、受信した前記アクセス要求及び第一のネットワークストレージのIPアドレスを、前記第三のネットワークストレージに転送し、
    前記第三のネットワークストレージは、前記アクセス要求を処理し、
    前記第三のネットワークストレージは、前記第一のネットワークストレージのIPアドレスに基づく応答メッセージを組み立て、
    前記第三のネットワークストレージは、前記アクセス要求を処理した結果及び前記応答メッセージを、前記アクセス要求の応答として前記クライアントに送信することを特徴とするネットワークストレージシステム。
  10. 前記第三のネットワークストレージの選択の結果として、前記ディレクトリサーバまたは前記第二のネットワークストレージが、前記アクセス要求を処理するネットワークストレージとして前記第三のネットワークストレージを選択したことを前記第一のネットワークストレージに通知することを特徴とする請求項9記載のネットワークストレージシステム。
JP2003030426A 2003-02-07 2003-02-07 ネットワークストレージ仮想化方法およびネットワークストレージシステム Expired - Fee Related JP4237515B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003030426A JP4237515B2 (ja) 2003-02-07 2003-02-07 ネットワークストレージ仮想化方法およびネットワークストレージシステム
US10/368,644 US7433934B2 (en) 2003-02-07 2003-02-20 Network storage virtualization method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003030426A JP4237515B2 (ja) 2003-02-07 2003-02-07 ネットワークストレージ仮想化方法およびネットワークストレージシステム

Publications (2)

Publication Number Publication Date
JP2004240803A JP2004240803A (ja) 2004-08-26
JP4237515B2 true JP4237515B2 (ja) 2009-03-11

Family

ID=32957317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003030426A Expired - Fee Related JP4237515B2 (ja) 2003-02-07 2003-02-07 ネットワークストレージ仮想化方法およびネットワークストレージシステム

Country Status (2)

Country Link
US (1) US7433934B2 (ja)
JP (1) JP4237515B2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146389B2 (en) * 2002-08-30 2006-12-05 Hitachi, Ltd. Method for rebalancing free disk space among network storages virtualized into a single file system view
JP4265245B2 (ja) * 2003-03-17 2009-05-20 株式会社日立製作所 計算機システム
US7630994B1 (en) 2004-03-12 2009-12-08 Netapp, Inc. On the fly summarization of file walk data
US7293039B1 (en) 2004-03-12 2007-11-06 Network Appliance, Inc. Storage resource management across multiple paths
US7844646B1 (en) * 2004-03-12 2010-11-30 Netapp, Inc. Method and apparatus for representing file system metadata within a database for efficient queries
US7539702B2 (en) * 2004-03-12 2009-05-26 Netapp, Inc. Pre-summarization and analysis of results generated by an agent
US7546631B1 (en) * 2004-04-30 2009-06-09 Sun Microsystems, Inc. Embedded management system for a physical device having virtual elements
JP2006309375A (ja) * 2005-04-27 2006-11-09 Hitachi Ltd システム情報に基づいて動作する記憶装置システム及びその記憶装置システムの制御方法
US8073899B2 (en) * 2005-04-29 2011-12-06 Netapp, Inc. System and method for proxying data access commands in a storage system cluster
US8886778B2 (en) * 2005-04-29 2014-11-11 Netapp, Inc. System and method for proxying network management protocol commands to enable cluster wide management of data backups
US7363457B1 (en) 2005-07-21 2008-04-22 Sun Microsystems, Inc. Method and system for providing virtualization data services for legacy storage devices
US8255425B1 (en) * 2005-11-01 2012-08-28 Netapp, Inc. System and method for event notification using an event routing table
JP4175379B2 (ja) 2006-04-25 2008-11-05 日本電気株式会社 ファイル共有方法およびファイル共有システム
US20080177907A1 (en) * 2007-01-23 2008-07-24 Paul Boerger Method and system of a peripheral port of a server system
US20080270480A1 (en) * 2007-04-26 2008-10-30 Hanes David H Method and system of deleting files from a remote server
US20080270594A1 (en) * 2007-04-27 2008-10-30 Mcjilton Charles M Method and system of separate file storage locations as unified file storage
US8005993B2 (en) 2007-04-30 2011-08-23 Hewlett-Packard Development Company, L.P. System and method of a storage expansion unit for a network attached storage device
JP2009020876A (ja) * 2007-06-14 2009-01-29 Panasonic Corp ファイル管理装置及びファイル転送方法並びに撮像装置
US8452821B2 (en) * 2007-06-29 2013-05-28 Microsoft Corporation Efficient updates for distributed file systems
US8209365B2 (en) * 2007-07-23 2012-06-26 Hewlett-Packard Development Company, L.P. Technique for virtualizing storage using stateless servers
US9298417B1 (en) * 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
JP5076736B2 (ja) * 2007-08-27 2012-11-21 日本電気株式会社 計算機システム、ストレージ、アクセス制御方法およびアクセス制御用プログラム
US7791487B2 (en) * 2007-11-29 2010-09-07 International Business Machines Corporation Locating radio frequency identification tags in time and space
CN101562631A (zh) * 2008-04-18 2009-10-21 鸿富锦精密工业(深圳)有限公司 网络存储管理装置和方法
US7992055B1 (en) 2008-11-07 2011-08-02 Netapp, Inc. System and method for providing autosupport for a security system
CN101459669A (zh) * 2008-12-29 2009-06-17 成都市华为赛门铁克科技有限公司 一种网络文件***的访问方法和装置
US20100274886A1 (en) * 2009-04-24 2010-10-28 Nelson Nahum Virtualized data storage in a virtualized server environment
JP5423879B2 (ja) * 2010-03-29 2014-02-19 日本電気株式会社 データアクセス場所選択システム、方法およびプログラム
US8793645B2 (en) 2010-04-02 2014-07-29 Microsoft Corporation Replacement of data element in a graph
JP2011242826A (ja) * 2010-05-14 2011-12-01 Fujitsu Ltd ファイル管理システム及びファイル管理プログラム
JP5822452B2 (ja) * 2010-10-22 2015-11-24 株式会社インテック ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム
JP5637115B2 (ja) * 2011-10-18 2014-12-10 株式会社バッファロー ネットワークストレージシステム、ネットワークストレージシステムにおけるデータ操作方法、記憶装置
US8769105B2 (en) 2012-09-14 2014-07-01 Peaxy, Inc. Software-defined network attachable storage system and method
US9984083B1 (en) * 2013-02-25 2018-05-29 EMC IP Holding Company LLC Pluggable storage system for parallel query engines across non-native file systems
US9753980B1 (en) 2013-02-25 2017-09-05 EMC IP Holding Company LLC M X N dispatching in large scale distributed system
JP6683160B2 (ja) 2017-03-27 2020-04-15 日本電気株式会社 ストレージシステム、および通信方法
US10467097B2 (en) * 2017-06-02 2019-11-05 International Business Machines Corporation Indicating data health in a DSN memory

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513314A (en) * 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US6029168A (en) * 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
US5964886A (en) * 1998-05-12 1999-10-12 Sun Microsystems, Inc. Highly available cluster virtual disk system
JP2000020365A (ja) * 1998-07-07 2000-01-21 Matsushita Electric Ind Co Ltd データ処理装置、及びそのファイル管理方法
DE60035969T2 (de) * 2000-06-15 2008-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Anordnung zur Behandlung der Informationpakete durch vom Nutzer auswählbare Relaisknoten
JP3570501B2 (ja) * 2000-06-15 2004-09-29 日本電気株式会社 ネットワークシステム及びパケットデータ伝送方法
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US20030037061A1 (en) * 2001-05-08 2003-02-20 Gautham Sastri Data storage system for a multi-client network and method of managing such system
JP4113352B2 (ja) * 2001-10-31 2008-07-09 株式会社日立製作所 ストレージ・ネットワークにおけるストレージ・リソース運用管理方法
US7024427B2 (en) * 2001-12-19 2006-04-04 Emc Corporation Virtual file system
US7548975B2 (en) * 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
JP4154893B2 (ja) * 2002-01-23 2008-09-24 株式会社日立製作所 ネットワークストレージ仮想化方法
JP4059711B2 (ja) * 2002-06-04 2008-03-12 株式会社日立グローバルストレージテクノロジーズ 多重書き込み型記憶装置

Also Published As

Publication number Publication date
US7433934B2 (en) 2008-10-07
JP2004240803A (ja) 2004-08-26
US20040205143A1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
JP4237515B2 (ja) ネットワークストレージ仮想化方法およびネットワークストレージシステム
JP4448719B2 (ja) ストレージシステム
JP4068473B2 (ja) ストレージ装置、分担範囲決定方法及びプログラム
US10558565B2 (en) Garbage collection implementing erasure coding
US9614912B2 (en) System and method of implementing an object storage infrastructure for cloud-based services
JP5427533B2 (ja) 階層ストレージ管理システムにおける重複ファイルの転送方法及びシステム
US9342529B2 (en) Directory-level referral method for parallel NFS with multiple metadata servers
US9880753B2 (en) Write requests in a distributed storage system
US8533231B2 (en) Cloud storage system with distributed metadata
JP2004054721A (ja) ネットワークストレージ仮想化方法
JP4297747B2 (ja) ストレージ装置
US20030217077A1 (en) Methods and apparatus for storing updatable user data using a cluster of application servers
US9031906B2 (en) Method of managing data in asymmetric cluster file system
JP2004126716A (ja) 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置
US11431798B2 (en) Data storage system
CN111225003B (zh) 一种nfs节点配置方法和装置
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
US11900160B2 (en) Methods for managing storage quota assignment in a distributed system and devices thereof
JP2012164185A (ja) サーバ、クライアント、これらを有するバックアップシステム、及びこれらのバックアップ方法
JP2005018100A (ja) ネットワークファイルサーバ、情報処理装置並びにプログラム
WO2021187194A1 (ja) 分散処理システム、分散処理システムの制御方法、及び、分散処理システムの制御装置
JP2023541069A (ja) アクティブ-アクティブストレージシステムおよびそのデータ処理方法
WO2012046585A1 (ja) 分散ストレージシステム、その制御方法、およびプログラム
JP3835199B2 (ja) 分散管理型ネットワークファイルシステム及びファイル方法
WO2024148824A1 (zh) 数据处理方法、***、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050803

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081030

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081218

R150 Certificate of patent or registration of utility model

Ref document number: 4237515

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

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

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

LAPS Cancellation because of no payment of annual fees