JP4087072B2 - ストレージシステム及び仮想プライベートボリューム制御方法 - Google Patents

ストレージシステム及び仮想プライベートボリューム制御方法 Download PDF

Info

Publication number
JP4087072B2
JP4087072B2 JP2001016503A JP2001016503A JP4087072B2 JP 4087072 B2 JP4087072 B2 JP 4087072B2 JP 2001016503 A JP2001016503 A JP 2001016503A JP 2001016503 A JP2001016503 A JP 2001016503A JP 4087072 B2 JP4087072 B2 JP 4087072B2
Authority
JP
Japan
Prior art keywords
identifying
identification number
control
exclusive
oss
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
JP2001016503A
Other languages
English (en)
Other versions
JP2002222110A (ja
Inventor
淳 田中
清弘 小原
宏明 小田原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001016503A priority Critical patent/JP4087072B2/ja
Priority to EP01116444A priority patent/EP1227389A3/en
Priority to US09/918,796 priority patent/US6820168B2/en
Publication of JP2002222110A publication Critical patent/JP2002222110A/ja
Priority to US10/962,396 priority patent/US7293147B2/en
Application granted granted Critical
Publication of JP4087072B2 publication Critical patent/JP4087072B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Description

【0001】
【発明の属する技術分野】
本発明は、サーバおよび記憶装置技術に関し、特に複数の記憶装置、CPUなどの構成要素を接続し、高いセキュリティ能力、高い応答性能、トランザクション数が要求される情報処理装置、記憶装置に有効な技術に関する。
【0002】
【従来の技術】
複数のCPU、メモリとI/Oアダプタを持つサーバと大容量のディスク装置を組み合わせ、複数のユーザでそれら資源を共用する環境が現実になってくるに従って、各ユーザのセキュリティを守り、効率的に資源を使うことが要求されてきている。従来のサーバ及びディスク装置においては、論理ボリュームの排他制御を行うためにサーバに内蔵しているI/Oアダプタ毎に識別番号を持ちそれをストレージ側で区別する方式が採用されている。図2に従来のサーバ、ディスク装置構成例を示す。ここでサーバ#0(110)とサーバ#1(120)はそれぞれ複数のOS#0(155)〜OS#2(120)を内蔵している。またI/Oアダプタ118、128を持ちストレージ170に接続している。ストレージ170にアクセスする場合データフレーム130、135、140をI/Oアダプタ118、128より発行する。データフレーム130、135、140の記述内容の中にはWorld Wide Name(WWN)(205、215、225)がありI/Oアダプタ118、128毎に固有の認識番号をそこに書きこむ。一方ディスク装置170ではI/Oアダプタ173、174を持ち上記データフレーム130、135、140を受信する。ディスク装置170で内部制御を行うチャネルコントローラ175、176は受信したデータフレーム130、135、140から識別番号であるWWN205、215、225を抽出する。そしてチャネルコントローラ175、176はWWN205、215、225とローカルメモリ180、181にあらかじめ登録されている排他/優先制御テーブル182、183を比較することで論理ボリューム195、196に対するアクセスの排他/優先制御を行う。例えばサーバ#0(110)のOS#2(150)が論理ボリューム#0(195)を所有し、サーバ#1(120)のOS#1(160)が論理ボリューム#1(196)を所有していることを仮定する。ここで誤ってOS#1(160)が論理ボリューム#0(195)をアクセスした場合、このアクセスのデータフレーム140のWWN225には識別番号001があるので、チャネルコントローラ176は排他/優先制御テーブル183を参照し、識別番号000しかアクセスが許可されていないことがわかる。そこでチャネルコントローラ176はOS#1(160)に対してアクセスが拒否されたことを伝える。このような論理ボリュームの排他/優先制御を備えたディスク装置の技術については、特開2000-20447号に開示された「記憶サブシステム」等がある。
【0003】
一方サーバ内に複数の資源が存在する場合それらを複数のOSで分割して使う技術が存在する。この技術を用いることで、サーバのCPU、メモリ等を効率よく利用することが可能になってきている。これらの技術の一例としてLPAR(Logical PARTioning)がある。これを用いた場合、複数のOSを管理するソフトウエアプログラムとしてハイパバイザ430が存在することにより、動的にOSに,CPU、メモリ、I/Oデバイスを割り当てることが可能となる。例えば図2のサーバ#1(120)では、CPU#10〜#13と4個あるので、LPARを用いることでOS#0(155)にはCPU#10を割り当て、OS#1(160)にはCPU#11、#12、#13(122、123、124)を割り当てることができる。メインメモリ125についても容量を適当な割合でOS#0(155)、OS#1(160)に割り当てることができる。I/Oアダプタが複数ある場合はOS#0(155)、OS#1(160)に割り当てることができるがこの例では1個しかないので、I/Oアダプタ128は両OSで共有することになる。このような技術については、特開平10-301795号に開示された「仮想計算機システム」等がある。
また、特開2000−112804号には、複数のOSがファイルを共用して動作する仮想計算機システムにおいて、1つのOSが他のOSのデータファイルをアクセスすることを防止するため、OS番号が付されたI/O命令をディスク装置に対して発行することが記載されている。また、特開平4−140844号には、OSが発行したI/O命令を解析するI/O解析手段を有し、I/O解析手段では引き取ったI/O命令にOS識別子を付加し、複数OSを同時動作させたときに排他制御することが記載されている。
【0004】
【発明が解決しようとする課題】
以上に述べたように,WWN205、215、225をディスク装置170で識別することによって論理ボリューム195、196の排他/優先制御を行うことが可能となる。またLPARを用いることでサーバ内複数のOSに対して,CPU、メモリ、I/Oデバイスを効率よく割り当てることが可能になる。しかし一般にサーバ内CPU数の増加の割合に対して、I/Oデバイスの数はそれほど多く増加せず、CPU間で共有する場合が多い。これはコストを削減とI/Oデバイスが外部へのI/Fを持つことによる物理的な大きさのためである。このような状況で論理ボリュームの排他/優先制御を行う場合、以下のように排他/優先制御が出来なくなる問題がある。例えば、図2のサーバ#1(120)ではOS#0(155)とOS#1(160)が同じサーバ内に存在し、I/Oアダプタ128を共有して使うことになる。しかし両OSから発行するデータフレーム135、140のWWN215、225はI/Oアダプタ128を共有するため同じ識別番号“001”が付けられる。よってディスク装置170ではこの2個のデータフレームについて排他/優先制御は行うことができない。よってOS#0(155)が論理ボリューム#0(195)を所有、他のOSにアクセスすることを許可しない場合でも、上記理由によりOS#1(160)は論理ボリューム#0(195)にアクセスすることが可能となってしまう。
本発明の主たる目的は、サーバ内の複数OSがI/Oデバイスとストレージシステムを共有する場合に、各OSに固有な識別情報をサーバ側で付加、ディスク装置側で抽出する手段をつけることにより各OS毎に所有する論理ボリュームの排他/優先制御を行う技術を改良することにある。
本発明のさらに別の目的は、ディスク装置に排他/優先制御方法を記述したテーブルを設置し、複数の排他/優先制御方法から選択し実行する技術を提供することにある。
本発明のさらに別の目的は、サーバからディスク装置に対して、各OS毎に複数の排他/優先制御方式をディスク装置に対して命令する技術を提供することにある。
【0005】
【課題を解決するための手段】
上記問題を解決するために、複数のOSを有し、前記OSからのアクセス要求があると当該OSを識別する識別番号を付与し、前記付与された識別番号を有するコマンドを送信するサーバと、当該送信されたコマンドを受信するディスク装置とを備え、前記ディスク装置は前記識別番号を抽出し、前記抽出した識別番号に対応した論理ボリュームへのアクセスを処理するかまたはアクセスを拒否するかに相当するレスポンスを前記識別番号を付与して返信し、前記サーバは前記レスポンスを受信する仮想プライベートボリューム制御方法とする。また、サーバにOS毎の識別番号をディスク装置アクセス時に発行するデータフレーム内に書き込む手段をおく。また、ディスク装置の中で上記OS毎の識別番号を抽出し、それを元にアクセスの排他/優先制御を行う手段をおく。さらにサーバからディスク装置にOS毎にアクセス可能な論理ボリュームまたは排他/優先制御情報を送る手段をおく。さらにディスク装置に上記OS毎にアクセス可能な論理ボリュームまたは排他/優先制御情報を格納するテーブルをおく。
ここで、複数のOSとは、OSユーザーが異なる場合などの、仮想的に異なる複数のOSであればよく、同種のOS(例えばOS#0がWindowsNT[米国およびその他の国における米国Microsoft Corp.の登録商標;以下同じ]でOS#1がWindowsNTの場合、OS#1がUNIX[X/Open Company Limited が独占的にライセンスしている米国ならびに他の国における登録商標;以下同じ]でOS#2がUNIXなど)であってもよい。
【0006】
【発明の実施の形態】
(実施例1)
以下、本発明に係るの実施例1を図面に示しさらに詳細に説明する。
図1は本発明の実施例1における仮想プライベートボリューム制御装置の全体構成図である。110、120はサーバであり、OS、アプリケーションを動かし、ディスク装置170に対してデータの読み出し、書き込み等の命令を発行する。111、112、113、114、121、122、123、124はCPUであり、サーバ#0、#1(110、120)に複数格納され、OS,アプリケーションの処理を並列に行う。115、125はメインメモリであり、CPUが直接使うデータを格納してある。116、126はノードコントローラであり、CPUとI/OアダプタまたはLANアダプタ等の下位アダプタ間の転送を制御する。117、127はLANコントローラであり、CPU(111、112、113、114、121、122、123、124)とLAN145に接続している外部装置間の転送を制御する。118、128、173、174はI/Oアダプタであり、CPU(111、112、113、114、121、122、123、124)とディスク装置170間の転送を制御する。図1の例では複数のCPUでメインメモリ、LANアダプタ、I/Oアダプタを共用することになる。145はLAN(Local Area Network)でありサーバとディスク装置間のデータを通す通信路である。このLAN145を使ってディスク装置170はサーバ110、120からの排他/優先制御に関する情報を入手する。170はディスク装置であり、サーバ#0、#1(110、120)の命令に従ってデータの読み出し、書き込みを行う。171、172はSVP(Service Processor)であり、LAN145を経由してサーバ#0、#1(110、120)より送られるディスク装置170の制御情報を受信し、ディスク装置170の必要な制御情報を変更する。175、176はチャネルコントローラであり、サーバ#0、#1(110、120)からくるコマンドを解析し、必要なデータの検索、送受信を行う。180、181はローカルメモリであり、チャネルコントローラ175、176を制御する際に必要な制御情報を格納する。184は共有メモリであり、チャネルコントローラ175、176間の通信、制御を行う際に必要な制御情報を格納する。182、183、185は排他/優先制御テーブルであり、論理ボリューム等の排他/優先制御を行う際に必要な制御情報を格納する。詳しくは図6にて説明する。186はキャッシュメモリであり、サーバ#0、#1(110、120)が必要としているデータを格納するメモリである。ただしすべてのデータは格納されておらず、使用頻度の高いデータのみ格納されている。187、188はキャッシュメモリ186内に格納されたデータである。190はディスクコントローラであり、磁気ディスク191、192、193,194とキャッシュメモリ186間データの送受信制御を行う。191、192、193,194は磁気ディスクであり、データが最終的に格納されている記憶装置である。150、155、160はOSであり、アプリケーションからのアクセスの制御等を行う。195、196は論理ボリュームであり、OS#0(150)、OS#1(155)、OS#2(160)に割り当てられる記憶領域である。OS#0(150)、OS#1(155)、OS#2(160)から論理ボリューム#0(195)、#1(196)に対するアクセス命令はI/Oアダプタ118、128でコマンドおよび制御情報に変換され、データフレーム130、135、140内に書き込まれ、ディスク装置170へ転送される。データフレーム内の詳細については図3にて説明する。197、198はI/Oパスであり、サーバ#0、#1(110、120)とディスク装置170を接続しているデータの通信路である。この例ではファイバーチャネル(FC)を示しているが他の規格でも本発明の範囲内である。ここで、複数のOSとは、OSユーザーが異なる場合などの、仮想的に異なる複数のOSであればよく、同種のOS(例えばOS#0がNTでOS#1がNTの場合、OS#1がUNIXでOS#2がUNIXなど)であってもよい。
【0007】
図3に本発明の実施例1におけるデータフレーム構造例を示す。この構造例はファイバーチャネルの標準規格のフォーマットを参考にしたものである。300はデータフレームの例であり、幾つかの部分から成り立つデータである。305はStart Of Frame識別子であり、データフレームの先頭をI/Oアダプタ118、128、173、174に伝える。310はフレームヘッダであり、データフレームのアドレス等を記述している。詳細は後で述べる。315は、ペイロードであり上位プロトコルのデータ、コマンド等が格納されている。詳細は後で述べる。320はCRC(Cyclic Redundancy Check)であり、データフレーム300内のデータの誤りを発見し訂正を行う。325はEnd Of Frame識別子であり、データフレームの終わりをI/Oアダプタ118、128、173、174に伝える。次にフレームヘッダ310の構造例を示す。330は送信先ポートIDでありデータフレーム300が次に進みたい装置のポートIDを示す。335は送信元ポートIDでありデータフレームをディスク装置170に送信してきた装置のポートIDを示す。具体的にはWWNの情報がここに格納され、異なるI/Oアダプタからのデータフレームの排他/優先制御に用いられる。340は上位レイヤプロトコルであり、送信元と送信先がデータのやり取りを行う際に使うプロトコルの種類を示しており、たとえばSCSI等があげられる。345は上位レイヤシーケンスIDであり、上位プロトコルに従った通信におけるシーケンスの順番を示す。350はシーケンス内フレーム番号であり、シーケンス内にある複数のデータフレームの順番を示す。355は上位レイヤプロトコル送信先IDであり、最終的にデータフレーム300が到着する装置のポートIDを示す。次にペイロード内容としてSCSIを上位プロトコルに使った場合のリードコマンド構造例を示す。360はグループコードであり、コマンドの長さまたは標準のコマンドかベンダユニークなコマンドかの区別をする。365はコマンドコードでありこの例の場合はリードコマンドに対応するコードが入る。370は論理ボリューム番号(LUN)であり例えば磁気ディスク191〜194に設定された論理ボリューム#0(195)、#1(196)を示している。375はデータ等が存在する場所のアドレスであり、例えば論理ボリューム#0(195)、#1(196)内のアドレスを示している。380はLPAR−IDを示しており、具体的にはハイパバイザ430の指定した各OSの識別番号が入る。385は転送データ長であり、リードする範囲を示す。390はコントロールバイトであり、データフレーム300またはペイロード315が扱える容量に合わせるために付け加える空白なデータである。なお上記例以外のフォーマットを使ってWWN、LPAR−IDをフレームに内蔵させた場合でも、本発明の範囲であることは自明である。
図4に本発明の実施例1におけるソフトウエア構造例とデータ転送成功例を示す。ここでサーバ#0(110)のみ説明する。410、411、412、413はミドル/アプリであり、ユーザの処理を直接受けるプログラムである。420、421、422、423はOSであり、ミドル/アプリ410、411、412、413からの要求を調整、処理を行う。430はハイバイザであり、サーバ#0(110)内のCPU、メインメモリ、I/Oデバイスを複数のOS420、421、422、423に分割して利用させる。また各OS420、421、422、423の識別番号となるLPAR−ID450、451、452を管理、設定する。440、441、442はデバイスドライバであり、ディスク装置170へのアクセスが必要な場合、コマンド、データ、WWN、LPAR−ID等をデータフレーム130に設定してディスク装置170に送信する。455は制御フレームであり、サーバ#0(110)からディスク装置170の制御方式等を変更したい場合にこの中に設定してディスク装置170にあるテーブルセットプログラム470に送信する。制御フレームの詳細については図7にて説明する。460、465はディスク装置170のμプログラム(μP)であり、ディスク装置170のI/Oアダプタ173、174、チャネルコントローラ175、176、キャッシュメモリ186を制御する。ディスク装置170のμプログラム460は、I/Oアダプタでフレームの受信、解析を制御するI/OアダプタμP(461)と、チャネルコントローラでコマンドの解析、排他/優先制御、コマンド実行を制御するチャネルコントローラμP(462)に分かれている。さらにチャネルコントローラμP(462)ではデータフレーム130内に書きこまれている、WWN、LPAR−IDを抽出して、排他/優先制御テーブル182、185の内容と比較することにより、I/Oアクセスの排他/優先制御を実行する。排他/優先制御の詳細は図12、12、13、14で説明する。470はテーブルセットプログラムであり、サーバ#0(110)から来た制御フレーム455を受信し、内容をローカルメモリ180または共有メモリ184内の排他/優先制御テーブル182、185に格納する。図4のようにデータフレーム130のLPAR−IDがローカルメモリ180、または共有メモリ184にある排他/制御テーブル182、185内で論理ボリューム#0(195)へのアクセスを許可されている場合、アクセスの結果は以下のようになる。アクセスが許可されているので、論理ボリューム#0(195)内の必要なデータをリードし、フレーム136にLPAR−IDといっしょに載せてサーバ#0(110)に送る。さらにデータ転送が正しく処理したことをステータスとして、フレーム137にLPAR−ID等といっしょに載せてサーバ#0(110)に送る。これらのフレーム136、137を受け取ることによりサーバはデータアクセスを完了する。図4の様なソフトウエア構造においてハイパバイザ430がデバイスドライバ440、441、442にLPAR−IDを設定する方式は2通りある。一つは初期設定時にデバイスドライバ440、441に設定する方式である。OS420、421とデバイスドライバ#0(440)、#1(441)が一対一に対応している場合はOSにLPAR−IDが割り当てられた時に各デバイスドライバに来るI/OのLPAR−IDも決まっているので、初期設定時にハイパバイザ430よりOS420、421、デバイスドライバ#0(440)、#1(441)がそれぞれLPAR−ID#0、#1(450、451)を受け取り設定する。I/Oアクセス発生時にはデバイスドライバ#0、#1(440,441)は設定されたLPAR−ID#0、#1(450,451)をデータフレーム130に設定する。2種類目はI/Oアクセス毎にデバイスドライバ#2(442)にLPAR−ID#2/3(452)を連絡する方式である。OS422、423はデバイスドライバ#2(442)を共有しているので実際にI/Oアクセスが発生するまでどちらのOSのI/Oアクセスなのか不明である。そのためOSがI/Oアクセスをデバイスドライバ#2(442)に発行する際に、前もってハイパバイザより設定されたLPAR−ID#2/3(452)を同時にデバイスドライバ442に送信する。受信したデバイスドライバ#2(442)はそのLPAR−ID#2/3(452)をデータフレーム130に設定する。以上のようにしてデータフレーム130にLPAR−ID#0、#1、#2、#3(450、451,452)が設定されると、同じI/Oアダプタ118を共有している複数のOS(420、421、422、423)からI/Oアクセスが発生した場合でも、LPAR−ID#0、#1、#2、#3(450、451,452)が異なるため、上で述べた様にストレージ側でこれを識別することで排他/優先制御を行うことが可能になる。
図5に本発明の実施例1におけるソフトウエア構造例とデータ転送失敗例を示す。図5のようにデータフレーム130のLPAR−IDがローカルメモリ180、または共有メモリ184にある排他/制御テーブル182、185内で論理ボリューム#0(195)へのアクセスを許可されていない場合、アクセスの結果は以下のようになる。アクセスが許可されていないので、データ転送が正しく処理できずエラーとなる。エラーが発生したことをステータスとして、フレーム138にLPAR−ID等といっしょに載せてサーバ#0(110)に送る。このフレーム138を受け取ることによりサーバは次に行うべきエラー処理を判断することが可能になる。一般的にはこの後サーバ側がディスク装置のエラー情報にアクセスして次の処理を決定する。図4,5で示したサーバへのフレーム137、138の返信は本発明のひとつの例であり、排他/優先制御に関する他の情報を返信することが可能なことは明白である。
図6に本発明の実施例1における排他/優先制御テーブル例を示す。500は例として論理ボリューム#0(195)の排他/優先制御テーブルを示している。505、510、515、520は論理ボリューム#0(195)アクセスする可能性があるWWNを示す。525、530、535、540は各WWNを持つI/Oアダプタからアクセスする可能性のあるOSのLPAR−IDを示す。この表で“○”で示されているWWN、LPAR−IDは論理ボリューム#0(195)にアクセスが可能である。逆に“×”の場合論理ボリューム#0(195)にアクセスは排他される。この制御方式は図13に詳細を説明する。また排他制御#2と書いてあった場合は図14で詳細を説明する排他制御方式に従う。また優先制御と書いてあった場合は図15で示す優先制御方式に従う。ここで他の排他/優先制御を用いる場合でもこの排他/優先制御テーブル500に登録しておけば実現可能であることは自明である。排他/優先制御テーブルは論理ボリューム毎に存在し、それらの集合はローカルメモリ180、181、共有メモリ184内に存在する(排他/優先制御テーブル182、183、185)。そしてチャネルコントローラ175、176はこれらの表を参照して排他/優先制御を行う。これらの排他/優先制御テーブルはLAN145を通して、サーバ#0、#1(110、120)から送られる制御フレーム455をテーブルセットプログラム470が受信し、生成、変更することによってできる。制御フレーム455の詳細については図7で説明する。
図7に本発明の実施例1における制御フレーム構造例を示す。制御フレーム構造例についてはIP、UDPのプロトコルを参考にしたものである。またメッセージ構造例についてはSNMP(Simple Network Management Protocol)を参考にしたものである。ローカルネットワークヘッダ605には、LAN通信に必要なアドレス、データ長等の制御情報が格納されている。IPヘッダ610にはIPを使った通信に必要なアドレス、データ長等の制御情報が格納されている。UDPヘッダ615にはUDPを使った通信に必要なアドレス、データ長等の制御情報が格納されている。ここで取り上げた以外のプロトコルを使っても本発明の範囲であることは自明である。620はメッセージであり詳細については後で説明する。625はローカルネットワークトレイラであり、データのエラーチェックのコード、データの終端のコード等が記述されている。次にメッセージ620の構造例を示す。630はコマンドフィールドでありこのメッセージを使ってディスク装置が行うべきことを示している。この例ではパラメータを排他/優先制御テーブルにセットする命令が入っている。635はデータ長フィールドであり、以下のデータフィールドが何個続くかを示している。この例では6個続くことを示している。640〜665まではデータフィールドであり、排他/優先制御テーブルに設定すべきパラメータが記述されている。この例では、論理ボリューム#2(640)のLAPR−ID#2(645)かつWWN#1(650)のアクセスに関しては排他制御#2(655)を行い、その制約条件は最大排他処理時間(660)と最大排他処理I/O数(665)であることを示している。データフィールドにはこのほかに優先制御を行う際の優先順位等が入ることも考えられる。
図8に本発明の実施例1におけるサーバVPV制御初期化のフロー示す。ここではサーバ#0(110)側仮想プライベートボリューム(VPV)制御の初期化を行う。ステップ700からサーバVPV制御初期化が始まる。ステップ705ではハイパバイザ430の初期化をまず行う。ステップ710ではLPAR−ID#0(450)、#1(451)、#2/3(452)を各LPAR(OS)に割り当てる。ステップ715では各LPAR内の特定エリアにIDを格納する。ステップ720ではOS420、421、422、423とデバイスドライバ440、441、442を初期化して立ち上げる。ステップ725ではOS420、421、422、423間でデバイスドライバ440、441、442を共用しているかを調べる。もし共有していなければ(OS420、421の場合)デバイスドライバ440、441が各LPARが格納しているLPAR−ID#0(450)、#1(451)を取得する。デバイス440、441、442を共有していれば(OS422、423の場合)、OS422、423がLPAR−ID#2/3(452)を取得する。ステップ740ではLPAR−ID#0(450)、#1(451)、#2/3(452)、論理ボリューム#0、#1(195,196)排他/優先制御情報をディスク装置170に対して制御フレーム455を使って送信する。そしてステップ745でサーバVPV制御初期化が終了する。
図9に本発明の実施例1におけるサーバ側I/O処理(デバイスドライバ非共有)のフローチャート示す。ここでは初期化終了後通常のI/O処理のフローを示す。またデバイスドライバはOS間で共有しない。ステップ800からサーバ側I/O処理が開始される。ステップ805ではOS420、421にI/O処理が来ているかどうかを調べる。もし来ていなければ、そのままステップ805に戻る。I/O処理が来ていればステップ810に進み、OS420、421がデバイスドライバ440、441用のシステムコールを起動する。ステップ815ではデバイスドライバ440、441が起動する。ステップ820ではデバイスドライバ440、441がデータフレーム130に自分のLPAR−ID#0(450)、#1(451)を埋め込む。ステップ830ではディスク装置170からデータフレームに対するステータスが返送されたかどうかを調査する。返送していなければ、そのままステップ830に戻る。ステータスが返送された場合、ステップ835に進み、I/Oステータスが正常終了したかどうかを調べる。もし正常終了した場合はステップ805に戻る。異常終了した場合、ステップ840に進みエラー原因をディスク装置170に問い合わせる。ステップ845では問い合わせた結果を見て、サーバ#0(110)のエラー処理を行う。ステップ850ではI/O処理の回復は不可能かどうか調べる。もし回復が可能ならばステップ805に進む。不可能ならばステップ855に進みサーバ側I/O処理を終了する。
図10に本発明の実施例1におけるサーバ側I/O処理(デバイスドライバ共有)のフローチャートを示す。ここでは初期化終了後通常のI/O処理のフローを示す。またデバイスドライバはOS間で共有する。ステップ900からサーバ側I/O処理が開始される。ステップ905ではOS422、423にI/O処理が来ているかどうかを調べる。もし来ていなければ、そのままステップ905に戻る。I/O処理が来ていればステップ910に進み、OS422、423がデバイスドライバ442用のシステムコールを起動する。ステップ915ではOS422、423がデバイスドライバ442に対して自分のLPAR−ID#2/3(452)を連絡する。ステップ920ではデバイスドライバ442がデータフレーム130に連絡されたLPAR−ID#2/3(452)を埋め込む。ステップ930以降は図9のステップ830以降と同じなので以下説明を省略する。
図11に本発明の実施例1におけるディスク装置VPV制御初期化のフローチャートを示す。ここではディスク装置170側仮想プライベートボリューム(VPV)制御の初期化を行う。ステップ1000からディスク装置VPV制御初期化を開始する。ステップ1005ではディスク装置170の初期化を行う。ステップ1010ではVPV制御μプログラム立ち上げ、排他/優先制御テーブル182、183、185の初期化を行う。ステップ1015ではサーバ#0(110)より制御フレーム455を通して、LPAR−ID、論理ボリューム、排他/優先制御に関する情報を受信する。受信なければ、ステップ1015に戻る。受信した後、ステップ1020では排他/優先制御テーブル182、183、185の設定を行う。そしてステップ1025でディスク装置VPV制御初期化が終了する。
図12に本発明の実施例1におけるディスク装置側I/O処理フローチャートを示す。ここでは初期化終了後ディスク装置170における通常のI/O処理のフローを示す。ステップ1100よりディスク装置側I/O処理が開始される。ステップ1105ではI/Oアダプタ173、174にI/O処理が来ているかどうかを調べる。もし来ていなければ、そのままステップ1105に戻る。I/O処理が来ていればステップ1110に進み、I/Oアダプタμプログラム461を起動する。ステップ1115ではチャネルコントローラμプログラム462を起動する。ステップ1120ではコマンドに埋め込まれたLPAR−ID380を抽出する。ステップ1125ではI/O処理対象の論理ボリューム370の排他/優先制御テーブル500を参照する。ステップ1130ではI/OのLPAR−ID380、WWN335を参照してそれが排他制御対象かどうか調べる。排他制御対象でなければ、ステップ1150の優先制御処理に進む。ステップ1150については図15で詳細を説明する。排他制御対象ならばステップ1135に進む。ステップ1135については図13で詳細を説明する。ステップ1150の優先制御処理の後、ステップ1135で通常処理と判定された場合はステップ1155にてI/Oアクセス処理のキューに入ってキャッシュメモリ186または磁気ディスク191、192、193、194のI/O処理を待つ。ステップ1135で排他処理と判定された場合はステップ1140に進む。ステップ1160ではキューに入れたI/Oの処理が正常に終わったかどうかを調べる。正常終了した場合はステップ1145へ進む。異常終了した場合はステップ1140へ進む。ステップ1140ではエラーメッセージを作成してディスク装置170内に保存する。ステップ1145はデータまたはステータスメッセージを作成して、サーバに返答する。その後ステップ1105に戻る
図13に本発明の実施例1における第一の排他制御処理例のフローチャートを示す。ここでは、図12のステップ1135の具体的な制御方式として、一番単純な排他制御のフローを示す。ステップ1200より排他制御処理#1が始まる。ステップ1205ではアクセスが排他されるべきかどうかを調べる。排他ならばステップ121の排他処理へ進む。排他でなければステップ125の通常処理へ進む。
図14に本発明の実施例1における第二の排他制御処理例のフローチャートを示す。ここでは、図12のステップ1135の具体的な制御方式として、処理時間、処理I/O数を条件とした、制限付き排他制御のフローを示す。ステップ1300より排他制御処理#2が始まる。ステップ1305ではそれまでに排他処理を行った時間が、あらかじめ設定してある最大排他処理時間(660)より少ないかどうか調べる。少なければステップ1310へ進む。同じか、大きければステップ1335の通常処理へ進む。ステップ1310では排他処理時間を加算する。ステップ1315ではそれまでに排他処理を行ったI/O数が、あらかじめ設定してある最大排他処理I/O数(665)より少ないかどうか調べる。少なければステップ1320に進む。同じか、大きければステップ1335の通常処理へ進む。ステップ1320では排他処理I/O数の加算を行う。ステップ1325ではではアクセスが排他されるべきかどうかを調べる。排他ならばステップ1330の排他処理へ進む。排他でなければステップ1335の通常処理へ進む。
図15に本発明の実施例1における優先制御処理例のフローチャートを示す。ここでは排他制御を行わず、処理の順番を変更するフローを示す。この例はSCSIの標準規格のタグキューイングを参考にしたものである。ステップ1400から優先制御処理が行われる。ステップ1405では処理するI/Oの処理順番を決めるためのポインタをキューの先頭にセットする。ステップ1410では処理するI/Oの優先順位を読み出す。ステップ1415ではキュー内のポインタの位置にI/Oがあるかどうかを調べる。なければステップ1430へ進む。I/Oがあればステップ1420に進みポインタ位置にあるキュー内I/Oの優先順位を読み出す。ステップ1425ではキュウ内I/Oの優先順位が処理するI/Oの優先順位より高いかどうかを調べる。優先順位高ければステップ1435に進み、ポインタを1加算して、ステップ1415に戻る。優先順位が低ければステップ1430へ進む。ステップ1430では処理するI/Oの順番を現時点でセットされたポインタの位置に決定する。ステップ1440では通常処理へ進む。なお以上のフロー例以外の方式を使った排他/優先制御処理も本発明の範囲であることは自明である。
以上図1から図15までに示した実施例1によれば、LPAR−IDをデータフレームに入れてディスク装置に送信し、受信したディスク装置側で排他制御を行うことにより、I/Oアダプタを共有する複数のOSに関しても排他制御を行うことが可能となる。またディスク装置側でLPAR−ID、WWNを考慮した排他/優先制御テーブルを持つことにより、サーバ間をまたがったOS等に関してもディスク装置側で統一的に排他/優先制御を行うことが可能となる。また排他/優先制御方式も複数の方式を選択できるようにしているので、柔軟な排他制御、性能の最適化が可能となる。
(実施例2)
以下、本発明に係る実施例2を図面に示しさらに詳細に説明する。
【0008】
図16に本発明の実施例2におけるソフトウエア構造例を示す。実施例1では排他/優先制御はディスク装置170で行ったが、単体サーバ#0(110)の内部だけに制御を限定し、サーバ#0(110)、ハイパバイザ1500の処理能力が高い場合は、その他にハイパバイザ1500行うことも可能である。この場合、すべてのI/Oアクセスはハイパバイザ1500で受け取り、ハイパバイザ内に格納されているLPAR−ID1510とその優先/排他制御テーブル1550を用いることで、排他/優先制御を行う。アクセスが許可された場合I/Oアクセスはそのままディスク装置170に送信され、アクセスが許可されない場合はそのままエラーでOS(420)に返される。以上図16に示した実施例によればディスク装置170、データフレーム140に変更を加えることなく、OS間の排他/優先制御を行うことが可能になる。
(実施例3)
以下、本発明に係るの実施例3を図面に示しさらに詳細に説明する。
【0009】
図17に本発明の実施例3におけるソフトウエア構造例を示す。実施例1、2では排他/優先制御を行う単位は、LPAR−IDを持つOS単位で行っていた。しかしユーザによっては、アプリケーション単位で排他を行う必要がでてくる。同一OS内のアプリケーションならば、OSが排他/優先制御を行うことになるが、複数OSにあるアプリケーション間で行うためには実施例1、2と同様にディスク装置460またはハイパバイザ430で排他/優先制御を行うことになる。たとえばアプリケーション#1(1605、1615 以下アプリ#1と呼ぶ)のデータアクセスは優先したい場合、アプリ#1(1605、1615)のアクセスが発生時にアプリケーション毎にあるID(APL−ID)をLPAR−IDと同様にデータフレーム1635につけ、ディスク装置460に送信する。ディスク装置460側では、前もって受信した制御フレーム1620で伝えられ排他/優先制御テーブル1625、1630に登録された、アプリケーション毎の排他/制御情報を元に排他/優先制御を行う。アクセス結果はデータ1640、ステータス1645によってサーバ#0(110)に報告される。この結果として、LPAR−ID#0(450)、LPAR−ID#2(452)によってアクセスが排他されていない限り、アプリ#1のデータアクセスはOSにかかわらず優先される。
【0010】
図18に本発明の実施例3における排他/優先制御テーブル例を示す。実施例3ではアプリ毎に排他/優先制御を判定するために、図6に比較してテーブルが一種類増えることになる。1625−aは排他/優先制御テーブル例(WWN−LPAR関係)で図6の排他/優先制御テーブル500と同様な形式である。1625−bは排他/優先制御テーブル例(WWN−APL関係)であり、各WWN(1700〜1715)に対するAPL(1720〜1735)の排他/優先制御の有無を示してある。
【0011】
図19に本発明の実施例3におけるデータフレーム構造例を示す。基本的には図3のデータフレーム構造と同じであるが、ペイロード315内にアプリケーションに関するIDとして、APL−ID(395)が付け加えられている。
【0012】
図20に本発明の実施例3における制御フレーム例を示す。基本的には図7の制御フレーム構造と同じであるが、メッセージ620内のデータフィールドにアプリケーションに関するIDとして、APL−ID(670)が付け加えられている。以上図17に示した実施例によれば、図13〜14で示した排他/優先制御処理のフローチャートと同様な方式で、異なるOSに存在するアプリケーション間の排他/優先制御を行うことが可能になる。
【0013】
【発明の効果】
本発明によれば、複数OSがI/Oデバイスを共有してディスク装置をアクセスするとき、OS、アプリケーション毎に付与された認識番号をディスク装置が認識できるようになる。そのため、ディスク装置側でのOS、アプリケーション間のデータの排他制御が可能となりセキュリティを高めることができる。さらに、アクセスの優先制御も行うことが可能になり仮想プライベートボリュームシステム性能の最適化が図れる。
【図面の簡単な説明】
【図1】本発明の実施例1における全体構成図を示す。
【図2】従来の排他制御方式内臓記憶装置の構成図を示す。
【図3】本発明の実施例1におけるデータフレーム構造例を示す。
【図4】本発明の実施例1におけるソフトウエア構造例とデータ転送成功例を示す。
【図5】本発明の実施例1におけるソフトウエア構造例とデータ転送失敗例を示す。
【図6】本発明の実施例1における排他/優先制御テーブル例を示す。
【図7】本発明の実施例1における制御フレーム例を示す。
【図8】本発明の実施例1におけるサーバVPV制御初期化のフロー示す。
【図9】本発明の実施例1におけるサーバ側I/O処理(デバイスドライバ非共有)のフローチャート示す。
【図10】本発明の実施例1におけるサーバ側I/O処理(デバイスドライバ共有)のフローチャートを示す。
【図11】本発明の実施例1におけるディスク装置VPV制御初期化のフローチャートを示す。
【図12】本発明の実施例1におけるディスク装置側I/O処理フローチャートを示す。
【図13】本発明の実施例1における第一の排他制御処理のフローチャートを示す。
【図14】本発明の実施例1における第二の排他制御処理のフローチャートを示す。
【図15】本発明の実施例1における優先制御処理のフローチャートを示す。
【図16】本発明の実施例2におけるソフトウエア構造例を示す。
【図17】本発明の実施例3におけるソフトウエア構造例を示す。
【図18】本発明の実施例3における排他/優先制御テーブル例を示す。
【図19】本発明の実施例3におけるデータフレーム構造例を示す。
【図20】本発明の実施例3における制御フレーム例を示す。
【符号の説明】
110、120・・サーバ、111、112、113、114、121、122、123、124・・CPU、115、125・・メインメモリ、116、126・・ノードコントローラ、117、127・・LANアダプタ、118、128、173、174・・I/Oアダプタ、130、135、140・・フレーム、145・・LAN、150、155、160・・OS、170・・ディスク装置、171、172・・SVP、175、176・・チャネルコントローラ、180、181・・ローカルメモリ、182、183、185・・排他/優先制御テーブル、184・・共有メモリ、186・・キャッシュメモリ、187、188・・Data、190・・ディスクコントローラ、191、192、193、194・・磁気ディスク、195、196・・論理ボリューム、197、198・・I/Oパス。

Claims (16)

  1. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと、
    前記複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と、を備えたストレージシステムであって、
    前記ディスク装置は、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出し、
    抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較し、一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行するように判断する
    ことを特徴とするストレージシステム。
  2. 前記優先制御では、前記ディスク装置のキュー内に前記サーバからのI/Oを処理する処理順番を決定するためのポインタの位置にI/Oがある場合に、前記ポインタの位置にある前記キュー内のI/Oの優先順位と、現時点で処理対象のI/Oの優先順位とを比較して、前記キュー内のI/Oの優先順位が前記現時点で処理対象のI/Oの優先順位より低い場合には前記現時点で設定されたポインタの位置を処理対象の順番として変更することで、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する
    ことを特徴とする請求項1に記載のストレージシステム。
  3. 前記排他制御では、排他制御を行った時間が予め設定する最大排他処理時間より少ない場合であり、かつ、排他制御を行ったI/O数が最大排他処理I/O数より少ない場合に、抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を前記排他/優先制御情報と比較することで前記論理ボリュームへのアクセス拒否を行うか否かを判断する
    ことを特徴とする請求項1又は2に記載のストレージシステム。
  4. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと、
    前記複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と、を備えたストレージシステムであって、
    前記サーバは、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出し、
    抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較し、一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行するように判断する
    ことを特徴とするストレージシステム。
  5. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置であって、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出し、
    抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較し、一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行するように判断する
    ことを特徴とするディスク装置。
  6. 前記優先制御では、前記ディスク装置のキュー内に前記サーバからのI/Oを処理する処理順番を決定するためのポインタの位置にある前記キュー内のI/Oの優先順位と、現時点で処理対象のI/Oの優先順位とを比較して、前記キュー内のI/Oの優先順位が前記便時点で処理対象のI/Oの優先順位より低い場合には前記現時点で設定されたポインタの位置を処理対象の順番として変更することで、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する
    ことを特徴とする請求項5に記載のディスク装置。
  7. 前記排他制御では、排他制御を行った時間が予め設定する最大排他処理時間より少ない場合であり、かつ、排他制御を行ったI/O数が最大排他処理I/O数より少ない場合に、抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を前記排他/優先制御情報と比較することで前記論理ボリュームへのアクセス拒否を行うか否かを判断する
    ことを特徴とする請求項5又は6に記載のディスク装置。
  8. 複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と接続し、複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバであって、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出し、
    抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較し、一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行するように判断する
    ことを特徴とするサーバ。
  9. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと、
    前記複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と、を備えたストレージシステムの制御方法であって、
    前記ディスク装置では、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出するステップと、
    抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較するステップと、
    一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行するように判断するステップと、を有する
    ことを特徴とするストレージシステムの制御方法。
  10. 前記優先制御では、前記ディスク装置のキュー内に前記サーバからのI/Oを処理する処理順番を決定するためのポインタの位置にI/Oがある場合に、前記ポインタの位置にある前記キュー内のI/Oの優先順位と、現時点で処理対象のI/Oの優先順位とを比較して、前記キュー内のI/Oの優先順位が前記現時点で処理対象のI/Oの優先順位より低い場合には前記現時点で設定されたポインタの位置を処理対象の順番として変更することで、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定するステップである
    ことを特徴とする請求項9に記載のストレージシステムの制御方法。
  11. 前記排他制御では、排他制御を行った時間が予め設定する最大排他処理時間より少ない場合であり、かつ、排他制御を行ったI/O数が最大排他処理I/O数より少ない場合に、抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を前記排他/優先制御情報と比較することで前記論理ボリュームへのアクセス拒否を行うか否かを判断するステップである
    ことを特徴とする請求項9又は10に記載のストレージシステムの制御方法。
  12. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと、
    前記複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と、を備えたストレージシステムであって、
    前記サーバでは、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出するステップと、
    抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較するステップと、
    一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行するように判断するステップと、を有する
    ことを特徴とするストレージシステムの制御方法。
  13. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと、
    前記複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と、を備えたストレージシステムのプログラムであって、
    前記ディスク装置に、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出させ、
    抽出させた前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較させ、一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行させるように判断させる
    ことを特徴とするストレージシステムのプログラム。
  14. 前記ディスク装置に、前記優先制御として、前記ディスク装置のキュー内に前記サーバからのI/Oを処理する処理順番を決定するためのポインタの位置にI/Oがある場合に、前記ポインタの位置にある前記キュー内のI/Oの優先順位と、現時点で処理対象のI/Oの優先順位とを比較させて、前記キュー内のI/Oの優先順位が前記現時点で処理対象のI/Oの優先順位より低い場合には前記現時点で設定されたポインタの位置を処理対象の順番として変更させることで、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定させる
    ことを特徴とする請求項13に記載のストレージシステムのプログラム。
  15. 前記ディスク装置に、前記排他制御として、排他制御を行った時間が予め設定する最大排他処理時間より少ない場合であり、かつ、排他制御を行ったI/O数が最大排他処理I/O数より少ない場合に、抽出した前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を前記排他/優先制御情報と比較させることで前記論理ボリュームへのアクセス拒否を行うか否かを判断させる
    ことを特徴とする請求項13又は14に記載のストレージシステムのプログラム。
  16. 複数のOS又は複数のアプリケーションと、データの転送を制御する複数のI/Oアダプタと、を有する複数のサーバと、
    前記複数のサーバと接続し、複数の記憶装置上に形成される複数の論理ボリュームを有するディスク装置と、を備えたストレージシステムのプログラムであって、
    前記サーバに、
    前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号が設定されたデータフレームから、前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号を抽出させ、
    抽出させた前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、各論理ボリュームに対して設定され、かつ、前記論理ボリュームへのアクセス拒否を行う排他制御、前記論理ボリュームに対してデータの読み書きを行うための優先順位を決定する優先制御、又は、前記論理ボリュームに対してデータの読み書きを行う通常制御、のいずれかを実行するための制御情報が格納される排他/優先制御情報内に予め設定される前記複数のOS又は複数のアプリケーションを識別するための識別番号及び前記複数のI/Oアダプタを識別するための識別番号と、が一致するか否かを比較させ、一致する場合に前記制御情報に従って排他制御、優先制御、又は通常制御を実行させるように判断させる
    ことを特徴とするストレージシステムのプログラム。
JP2001016503A 2001-01-25 2001-01-25 ストレージシステム及び仮想プライベートボリューム制御方法 Expired - Fee Related JP4087072B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001016503A JP4087072B2 (ja) 2001-01-25 2001-01-25 ストレージシステム及び仮想プライベートボリューム制御方法
EP01116444A EP1227389A3 (en) 2001-01-25 2001-07-06 Storage system and virtual private volume control method
US09/918,796 US6820168B2 (en) 2001-01-25 2001-08-01 Storage system and virtual private volume control method
US10/962,396 US7293147B2 (en) 2001-01-25 2004-10-13 Storage system controlling exclusion/priority for I/O access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001016503A JP4087072B2 (ja) 2001-01-25 2001-01-25 ストレージシステム及び仮想プライベートボリューム制御方法

Publications (2)

Publication Number Publication Date
JP2002222110A JP2002222110A (ja) 2002-08-09
JP4087072B2 true JP4087072B2 (ja) 2008-05-14

Family

ID=18882863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001016503A Expired - Fee Related JP4087072B2 (ja) 2001-01-25 2001-01-25 ストレージシステム及び仮想プライベートボリューム制御方法

Country Status (3)

Country Link
US (2) US6820168B2 (ja)
EP (1) EP1227389A3 (ja)
JP (1) JP4087072B2 (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783727B1 (en) * 2001-08-30 2010-08-24 Emc Corporation Dynamic host configuration protocol in a storage environment
JP4335516B2 (ja) * 2001-12-04 2009-09-30 パナソニック株式会社 複数のプロセッサを用いた動画像符号化装置およびその方法
JP2004054721A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd ネットワークストレージ仮想化方法
US6782424B2 (en) * 2002-08-23 2004-08-24 Finite State Machine Labs, Inc. System, method and computer program product for monitoring and controlling network connections from a supervisory operating system
US6804753B1 (en) * 2002-10-04 2004-10-12 Crossroads Systems, Inc. Partitioned library
JP2004164072A (ja) * 2002-11-11 2004-06-10 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
US8102843B2 (en) * 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US7502370B2 (en) 2003-01-21 2009-03-10 Nextio Inc. Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture
US7953074B2 (en) 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7046668B2 (en) * 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US8032659B2 (en) * 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7664909B2 (en) * 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US7512717B2 (en) * 2003-01-21 2009-03-31 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7174413B2 (en) * 2003-01-21 2007-02-06 Nextio Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7457906B2 (en) * 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US7917658B2 (en) 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7836211B2 (en) 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
JP4567293B2 (ja) * 2003-01-21 2010-10-20 株式会社日立製作所 ファイルサーバ
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7617333B2 (en) 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7493416B2 (en) * 2003-01-21 2009-02-17 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7219183B2 (en) * 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US7103064B2 (en) 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7698483B2 (en) 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
JP4077352B2 (ja) 2003-03-31 2008-04-16 株式会社日立製作所 負荷分散方法及びその実施システム並びにその処理プログラム
JP4380198B2 (ja) 2003-03-31 2009-12-09 株式会社日立製作所 ストレージ装置でアクセス制御を行う計算機システム
US7389394B1 (en) 2003-05-02 2008-06-17 Symantec Operating Corporation System and method for performing snapshots in a storage environment employing distributed block virtualization
US7484043B2 (en) * 2003-06-25 2009-01-27 International Business Machines Corporation Multiprocessor system with dynamic cache coherency regions
JP2005128781A (ja) * 2003-10-23 2005-05-19 Hitachi Ltd 系切り替え方法及び情報処理システム
JP4391200B2 (ja) * 2003-11-05 2009-12-24 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
US7421519B2 (en) * 2003-11-20 2008-09-02 International Business Machines Corporation Method for the detection of misdirected data
JP4333370B2 (ja) 2004-01-08 2009-09-16 株式会社日立製作所 データ処理システム
JP4227035B2 (ja) 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
JP2005301708A (ja) 2004-04-13 2005-10-27 Hitachi Ltd 記憶装置システムにおけるソフトウェア管理方法及び記憶装置システム
JP4230410B2 (ja) * 2004-05-11 2009-02-25 株式会社日立製作所 仮想ストレージの通信品質制御装置
JP2006011541A (ja) * 2004-06-22 2006-01-12 Hitachi Ltd 計算機および共用記憶装置を含む計算機システムにおける情報記録方法
JP4532237B2 (ja) * 2004-10-29 2010-08-25 株式会社日立製作所 計算機および計算機におけるアクセス制御方法
KR100589541B1 (ko) * 2004-11-25 2006-06-14 소프트캠프(주) 접근이 통제되는 가상디스크들 간의 온라인을 통한데이터의 보안전송시스템과 이를 통한 보안전송방법
US20060136473A1 (en) * 2004-12-20 2006-06-22 Lamb James A Service data organization
JP4733399B2 (ja) 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末
JP2006260075A (ja) * 2005-03-16 2006-09-28 Fujitsu Ltd 識別情報設定装置、識別情報設定方法および識別情報設定プログラム
JP4987307B2 (ja) * 2005-03-25 2012-07-25 株式会社日立製作所 ストレージシステム
JP4831599B2 (ja) * 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
JP4725955B2 (ja) * 2005-06-30 2011-07-13 株式会社リコー 情報処理装置、メッセージ管理方法、プログラムおよび記憶媒体
US20070180210A1 (en) * 2006-01-31 2007-08-02 Seagate Technology Llc Storage device for providing flexible protected access for security applications
JP4731420B2 (ja) * 2006-07-24 2011-07-27 株式会社日立製作所 複数の仮想計算機からのテープ媒体へのアクセスを制御する方法及びシステム
JP4983133B2 (ja) * 2006-07-26 2012-07-25 日本電気株式会社 入出力制御装置およびその制御方法、並びにプログラム
JP2008108227A (ja) * 2006-09-25 2008-05-08 Hitachi Ltd ストレージシステム及び監査ログ管理方法
JP4623126B2 (ja) * 2008-04-14 2011-02-02 株式会社日立製作所 データ処理システム
JP2009266119A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd ストレージ装置及びデータ転送方法
JP2010102458A (ja) * 2008-10-22 2010-05-06 Hitachi Ltd コマンドの起動を制御するストレージシステム及び方法
US8046460B1 (en) * 2009-01-23 2011-10-25 Hewlett-Packard Development Company, L.P. Automatic server deployment using a pre-provisioned logical volume
US9229850B1 (en) * 2009-06-30 2016-01-05 Emc Corporation Mapping data storage and virtual machines
EP2483778B1 (en) * 2009-09-30 2019-09-04 Citrix Systems, Inc. Dynamic reallocation of physical memory responsive to virtual machine events
US8516137B2 (en) * 2009-11-16 2013-08-20 Microsoft Corporation Managing virtual hard drives as blobs
US8826271B2 (en) * 2010-04-28 2014-09-02 Cavium, Inc. Method and apparatus for a virtual system on chip
US9021472B2 (en) * 2010-12-10 2015-04-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtualizing baseboard management controller operation
US8909896B2 (en) 2011-03-01 2014-12-09 Hitachi, Ltd. Network efficiency for continuous remote copy
JP4894963B2 (ja) * 2011-04-01 2012-03-14 株式会社日立製作所 データ処理システム
US9081507B2 (en) * 2012-03-14 2015-07-14 Symantec Corporation Shared storage access management systems and methods
US20140317372A1 (en) * 2013-04-23 2014-10-23 Broadcom Corporation Data frame security
US9898198B2 (en) * 2015-06-12 2018-02-20 International Business Machines Corporation Available frame queue processing
US10445324B2 (en) 2015-11-18 2019-10-15 American Express Travel Related Services Company, Inc. Systems and methods for tracking sensitive data in a big data environment
US10169601B2 (en) 2015-11-18 2019-01-01 American Express Travel Related Services Company, Inc. System and method for reading and writing to big data storage formats
US10037329B2 (en) 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10055471B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. Integrated big data interface for multiple storage types
US10055426B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. System and method transforming source data into output data in big data environments
US10360394B2 (en) * 2015-11-18 2019-07-23 American Express Travel Related Services Company, Inc. System and method for creating, tracking, and maintaining big data use cases
US10055444B2 (en) 2015-12-16 2018-08-21 American Express Travel Related Services Company, Inc. Systems and methods for access control over changing big data structures
US10235211B2 (en) 2016-04-22 2019-03-19 Cavium, Llc Method and apparatus for dynamic virtual system on chip
US11295326B2 (en) 2017-01-31 2022-04-05 American Express Travel Related Services Company, Inc. Insights on a data platform
US11182086B2 (en) * 2019-07-19 2021-11-23 Cignet Technology, Inc. Method and system for application-based management of user data storage rights

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136582A (en) * 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH05120194A (ja) 1991-10-29 1993-05-18 Nec Eng Ltd フアイル保護方式
US5553305A (en) * 1992-04-14 1996-09-03 International Business Machines Corporation System for synchronizing execution by a processing element of threads within a process using a state indicator
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
DE69409445D1 (de) * 1993-07-27 1998-05-14 Ibm Prozessüberwachung in einem Mehrfachverarbeitungsanbieter
US5483654A (en) * 1993-09-15 1996-01-09 Allen-Bradley Company, Inc. Apparatus to select computer program for execution
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6061753A (en) * 1998-01-27 2000-05-09 Emc Corporation Apparatus and method of accessing target devices across a bus utilizing initiator identifiers
JP2000020367A (ja) 1998-06-30 2000-01-21 Toshiba Corp 情報記憶方法および情報記憶装置および記録媒体
JP2000020447A (ja) 1998-07-07 2000-01-21 Hitachi Ltd 記憶サブシステム
JP3189894B2 (ja) 1998-10-01 2001-07-16 日本電気株式会社 仮想計算機システム
US6453392B1 (en) * 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
JP3853540B2 (ja) * 1999-06-30 2006-12-06 日本電気株式会社 ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices

Also Published As

Publication number Publication date
EP1227389A2 (en) 2002-07-31
US20050066125A1 (en) 2005-03-24
JP2002222110A (ja) 2002-08-09
US7293147B2 (en) 2007-11-06
EP1227389A3 (en) 2007-01-03
US20020099901A1 (en) 2002-07-25
US6820168B2 (en) 2004-11-16

Similar Documents

Publication Publication Date Title
JP4087072B2 (ja) ストレージシステム及び仮想プライベートボリューム制御方法
JP4457185B2 (ja) シリコンベースのストレージ仮想化サーバ
US6594698B1 (en) Protocol for dynamic binding of shared resources
US7428581B2 (en) Architecture for providing block-level storage access over a computer network
US7865588B2 (en) System for providing multi-path input/output in a clustered data storage network
US8719817B2 (en) Virtualization intermediary/virtual machine guest operating system collaborative SCSI path management
US6907457B2 (en) Architecture for access to embedded files using a SAN intermediate device
US6044415A (en) System for transferring I/O data between an I/O device and an application program's memory in accordance with a request directly over a virtual connection
US8677034B2 (en) System for controlling I/O devices in a multi-partition computer system
US20050278465A1 (en) Methods and structure for supporting persistent reservations in a multiple-path storage environment
US8904050B1 (en) Techniques for automated data storage system port initialization
US7953878B1 (en) Multi-threaded internet small computer system interface (iSCSI) socket layer
TW200925878A (en) System and method for management of an IOV adapter through a virtual intermediary in an IOV management partition
GB2366048A (en) Selecting a preferred path to a storage device
TW200522583A (en) IP-based method and apparatus for booting computers remotely in wide-area-network environment
US9298658B2 (en) Using PCI-E extended configuration space to send IOCTLS to a PCI-E adapter
US20060018330A1 (en) Method, system, and program for managing memory requests by devices
US10872036B1 (en) Methods for facilitating efficient storage operations using host-managed solid-state disks and devices thereof
US8677094B2 (en) Storage system, release method, and secondary storage apparatus
JP4948938B2 (ja) クロスパーティションコマンドを認定する為の方法と装置
JP2008083788A (ja) ネットワーク通信装置、ネットワークシステム及びフレーム転送方法
JP2008186211A (ja) 計算機システム
US9065740B2 (en) Prioritising data processing operations
US11100027B1 (en) Storage device protocol dual personality
US8417858B2 (en) System and method for enabling multiple processors to share multiple SAS wide ports

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040825

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070823

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071001

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071011

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071227

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080220

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees