JP2010003061A - 計算機システム及びそのi/o構成変更方法 - Google Patents

計算機システム及びそのi/o構成変更方法 Download PDF

Info

Publication number
JP2010003061A
JP2010003061A JP2008160459A JP2008160459A JP2010003061A JP 2010003061 A JP2010003061 A JP 2010003061A JP 2008160459 A JP2008160459 A JP 2008160459A JP 2008160459 A JP2008160459 A JP 2008160459A JP 2010003061 A JP2010003061 A JP 2010003061A
Authority
JP
Japan
Prior art keywords
interface
server
unit
change
access request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008160459A
Other languages
English (en)
Other versions
JP5352132B2 (ja
Inventor
Keisuke Hatasaki
恵介 畑▲崎▼
Yoshifumi Takamoto
良史 高本
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 JP2008160459A priority Critical patent/JP5352132B2/ja
Priority to US12/200,409 priority patent/US7870191B2/en
Publication of JP2010003061A publication Critical patent/JP2010003061A/ja
Priority to US12/951,237 priority patent/US8103721B2/en
Priority to US13/345,883 priority patent/US20120110069A1/en
Application granted granted Critical
Publication of JP5352132B2 publication Critical patent/JP5352132B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

【課題】サーバによる処理を継続させながら、サーバが使用するI/Oインタフェイスを変更する。
【解決手段】本発明の計算機システムは、サーバに対応付けられたI/Oインタフェイスと、サーバに対応付けられる他のI/Oインタフェイスと、サーバ、I/Oインタフェイス及び他のI/Oインタフェイスと接続し、I/Oバッファを有し、サーバに対応付けられたI/Oインタフェイスの、他のI/Oインタフェイスへの変更開始の要求に応答して、サーバからのI/Oインタフェイスへのアクセス要求をI/Oバッファに格納するI/Oマッピング部、サーバへ他のI/Oインタフェイスを対応付けるI/O変更部、及びI/O変更部による対応付けの完了に応答して、I/Oバッファに格納されているアクセス要求を他のI/Oインタフェイスへのアクセス要求に変換し、変換したアクセス要求を実行するI/O同期部を有する。
【選択図】図1

Description

本発明は、計算機システムに係り、特にサーバとI/Oインタフェイスとのマッピング(対応関係)が変更可能な計算機システムとマッピングを変更するI/O構成変更方法に関する。
計算機システムを構成するサーバには、サーバから利用可能なI/Oインタフェイス(PCIデバイス等)が固定的に搭載されている。しかし、計算機システムを柔軟に運用するには、サーバとI/Oインタフェイスとの割り当てを柔軟に変更できることが望ましい。
これを実現する従来技術として、サーバ仮想化技術がある。サーバ仮想化技術により、サーバ上の仮想サーバと、そのサーバに搭載の複数のI/Oインタフェイスのうち、どのI/Oインタフェイスを仮想サーバと対応付けるかを設定できる。
上記の方法では、仮想サーバの実行中にI/Oインタフェイスを変更すると、I/Oインタフェイスを使用する処理がエラーなり、仮想サーバの実行が中断される。そこで仮想サーバに割当てたI/Oインタフェイスを他のI/Oインタフェイスに変更する場合には、仮想サーバを停止し、I/Oインタフェイスを変更した後に再起動させる必要がある。仮想サーバの再起動は、継続的な処理を最初から再実行することになり、計算機システムの可用性が低下するという問題がある。
本発明が解決しようとする課題は、サーバを再起動させることなく、すなわちサーバによる処理を継続させながら、サーバが使用するI/Oインタフェイスを変更し、計算機システムで稼動する業務への影響を小さくすることである。
本発明の計算機システムは、サーバに対応付けられたI/Oインタフェイスと、サーバに対応付けられる他のI/Oインタフェイスと、サーバ、I/Oインタフェイス及び他のI/Oインタフェイスと接続し、I/Oバッファを有し、サーバに対応付けられたI/Oインタフェイスの、他のI/Oインタフェイスへの変更開始の要求に応答して、サーバからのI/Oインタフェイスへのアクセス要求をI/Oバッファに格納するI/Oマッピング部、サーバへ他のI/Oインタフェイスを対応付けるI/O変更部、及びI/O変更部による対応付けの完了に応答して、I/Oバッファに格納されているアクセス要求を他のI/Oインタフェイスへのアクセス要求に変換し、変換したアクセス要求を実行するI/O同期部を有する。
本発明の望ましい他の態様は、I/O同期部は、I/O変更部によるサーバへの他のI/Oインタフェイスの対応付けが不可のとき、I/Oバッファに格納されているI/Oインタフェイスへのアクセス要求を実行する。
本発明のさらに望ましい他の態様は、サーバは仮想サーバであり、仮想サーバの実行を管理する仮想化部をさらに設ける。
本発明のさらに望ましい他の態様は、I/O管理部を仮想化部に含んで構成する。
本発明のさらに望ましい他の態様は、サーバ、I/Oインタフェイス及び他のI/Oインタフェイスの識別する情報をパラメータとして、変更開始の要求を発行する管理サーバをさらに設ける。
本発明の他の態様は、サーバと接続し、I/Oバッファを有し、サーバに対応付けられたI/Oインタフェイスの、他のI/Oインタフェイスへの変更開始の要求に応答して、サーバからのI/Oインタフェイスへのアクセス要求をI/Oバッファに格納するI/Oマッピング部と、サーバへ他のI/Oインタフェイスを対応付けるI/O変更部と、I/O変更部による対応付けの完了に応答して、I/Oバッファに格納されているアクセス要求を他のI/Oインタフェイスへのアクセス要求に変換し、変換したアクセス要求を実行するI/O同期部とを有するI/O管理装置である。
本発明のさらに他の態様は、サーバに対応付けられたI/Oインタフェイスから他のI/Oインタフェイスへ対応付けを変更する、I/Oバッファを有するI/O管理部による計算機システムのI/O構成変更方法であって、サーバに対応付けられたI/Oインタフェイスの、他のI/Oインタフェイスへの変更開始の要求に応答して、サーバからのI/Oインタフェイスへのアクセス要求をI/Oバッファに格納し、サーバへ他のI/Oインタフェイスを対応付け、対応付けの完了に応答して、I/Oバッファに格納されているアクセス要求を他のI/Oインタフェイスへのアクセス要求に変換し、変換したアクセス要求を実行する。
本発明によれば、サーバによる処理を継続させながら、サーバが使用するI/Oインタフェイスを変更できる。
以下に、本発明の実施例について記載する。
図1は、実施例1の計算機システムの構成を示している。本実施例の計算機システムは管理サーバ20、サーバ10およびそれらを接続するネットワーク21を有する。サーバ10は、仮想化部15と仮想サーバ16をメモリ11に保持する。仮想化部15と仮想サーバ16は、それぞれプログラムと、そのプログラムの実行に必要なデータとから成る。ここで、仮想化部15は、サーバ上で仮想サーバ16の実行を管理するハイパーバイザ(仮想モニターなどとも呼ばれる。)であり、仮想サーバ16は各々がOSを持つ。
なお、本実施例では仮想化部15はメモリ11に格納され、CPU12により実行されるプログラムとして説明するが、サーバ10に搭載するハードウェアやファームウェア、又はそれらの組み合わせにより実装しても良い。また、仮想サーバ16上でアプリケーションプログラム(業務プログラム)を実行する。
サーバ10は、メモリ11上のプログラムを実行するCPU12と、ハードディスクやフラッシュメモリなどの補助記憶装置13、およびI/Oインタフェイス14を有する。図1では、補助記憶装置13をサーバ10に内蔵するように図示しているが、RAID(Redundant Arrays of Inexpensive Disks)システムのような記憶装置システムをI/Oインタフェイス14を介して、サーバ10の外部に接続しても良い。I/Oインタフェイス14は、たとえばNIC(Network Interface Card)や、HBA(Host Bus Adaptor)などであり、その接続先はネットワークや、RAIDシステムのような外部記憶装置である。本実施例では、I/Oインタフェイス14の具体例としてNICやHBAなどのPCIデバイスを取り上げて説明する。I/Oインタフェイス14には、それぞれ記憶装置22、ネットワーク23、記憶装置24などが接続する。図示を簡略化してあるが、あるI/Oインタフェイス14と他のI/Oインタフェイス14とが、たとえば同じ記憶装置22やネットワーク23に接続されていることが一般的である。
仮想化部15は、仮想サーバ16とI/Oインタフェイス14とのマッピング(対応関係)を管理するI/Oマッピング部30、I/Oインタフェイスの変更時に変更元と変更先のI/Oインタフェイス14の状態を同期させるI/O同期部31、及び仮想サーバ16とI/Oインタフェイス14とのマッピングを変更するI/O変更部32の各処理部を有する。ここで、I/O同期または同期とは、変更元と変更先のI/Oインタフェイス14の動作を、新たなリクエストの実行を保留することにより一時的に停止させ、変更元と変更先のI/Oインタフェイス14を同等の動作状態(一時的停止)に維持することである。このI/Oインタフェイス14の一時的な停止は、仮想サーバ16から見ると、リクエストの実行を保留されるので停止に見えない。またI/O変更または変更とは、仮想サーバ16から見て、同じターゲット機器(通信相手や記憶装置のボリューム)にアクセスするためのI/Oインタフェイス14を変更元から変更先に切り替えることである。
仮想化部15はさらに、仮想サーバ16にマッピング可能な(対応付け可能な)I/Oインタフェイス14の一覧情報を保持するI/Oインタフェイステーブル33、仮想サーバ16とI/Oインタフェイス14とのマッピング関係を保持するI/Oマッピングテーブル34、及び後述するI/O同期中の構成を保持するI/O同期テーブル35の各テーブルを有する。
仮想化部15はさらに、I/O同期中の、仮想サーバ16からI/Oインタフェイス14へのリクエスト(I/Oアクセス要求)およびリクエストに対する応答を保持するI/Oバッファ36、および管理サーバ20との通信のための管理I/F(37)を有する。管理I/F(37)は、仮想化部15が管理サーバ20との間でネットワーク21を介して通信するための通信インタフェイスである。 図2は、I/Oインタフェイステーブル33の例を示している。カラム330はI/Oインタフェイス14の識別子を示す。カラム331は、I/Oインタフェイス14のデバイス識別子を示す。デバイス識別子は、PCIデバイスの場合、PCIデバイスのバス番号(B)、デバイス番号(D)、及び機能番号(F)を含み、図ではバス番号xを「Bx」、デバイス番号yを「Dy」、機能番号zを「Fz」として示している。カラム332は、I/Oインタフェイス14のメモリマップドI/Oアドレス(MMIO:Memory Mapped I/O Address)を示している。図ではMMIOを16進数で記述している。カラム333は、I/Oインタフェイス14の割り込みライン(INT)を示している。ここでは、MMIOによる入出力インタフェイスについて説明したが、Read/Writeコマンドや送受信コマンドを用いるI/Oインタフェイス14であっても、仮想サーバ16から見て仮想的な識別子を用いてアクセスできればよい。
図3に、I/Oマッピングテーブル34に保持する仮想サーバ16とI/Oインタフェイス14とのマッピングの例を示す。図3の例では、仮想サーバ1(41)とI/Oインタフェイス1(51)とがマッピングされていることを示し、I/Oマッピングテーブル34及びI/Oインタフェイステーブル33を用いたアクセス変換(仮想MMIOなどを物理MMIOなどに変換)を伴って、仮想サーバ1(41)からI/Oインタフェイス1(51)へアクセスする。また、仮想サーバ2(42)と仮想サーバ3(43)とが、I/Oインタフェイス3(53)を共有していることを示している。
このようにI/Oインタフェイス3(53)を共有している場合は、仮想サーバ2(42)と仮想サーバ3(43)とからI/Oインタフェイス3(53)へのアクセスは、前述のアクセス変換に加えて、仮想化部15においてアクセスのスケジューリングを伴う。複数の仮想サーバがI/Oインタフェイスを共有している場合のI/O変更は、前述のように仮想サーバから見たI/Oインタフェイスの変更であるので、次の例のようになる。図3の構成において、仮想サーバ2(42)から見たI/Oインタフェイス3(53)を、たとえばI/Oインタフェイス1(51)へ変更すると、破線で示すようにI/Oインタフェイス1(51)は仮想サーバ1(41)と仮想サーバ2(42)とにより共有され、I/Oインタフェイス3(53)は仮想サーバ3(43)に専有されることになる。したがって、障害などの要因に基づいて、I/Oインタフェイス3(53)の使用を停止する場合は、仮想サーバ2(42)に対応するI/O変更と仮想サーバ3(43)に対応するI/O変更とが必要となり、I/O変更の処理を繰り返すことになる。
他の例は図示内容から明らかであるので、説明を省略する。ここでI/Oインタフェイスの単位は、I/Oインタフェイス(装置、ボード)14に複数のポート等を備える場合の各ポートのような最小の機能単位である。たとえば、PCIデバイスの機能番号単位などである。
図4は、図3に例示した仮想サーバ16(図3では41〜45)とI/Oインタフェイス14(図3では51〜55)とのマッピングの例を、I/Oマッピングテーブル34として示している。カラム340は仮想サーバ16の識別子を示す。カラム341は、仮想サーバ16にマッピングされたI/Oインタフェイス14の識別子を示している。カラム342は、カラム340に示す仮想サーバ16が認識する、カラム341に示すI/Oインタフェイス14に対して付与される仮想的なデバイス識別子を示している。カラム343は、カラム340に示す仮想サーバ16が認識する、カラム341に示すI/Oインタフェイス14に対して付与される仮想的なMMIOを示している。カラム344は、カラム340に示す仮想サーバ16が認識する、カラム341に示すI/Oインタフェイス14に対して付与される仮想的なINT(割り込みライン)を示している。換言すると、カラム340の仮想サーバ16から見ると、カラム341のI/Oインタフェイス14の、識別子がカラム342の仮想デバイス識別子に、メモリマップドI/Oアドレス(MMIO)がカラム343の仮想MMIOに、割り込みライン(INT)がカラム344の仮想INTに見える。
図5に、I/O同期テーブル35の例を示す。I/O同期テーブル35は、I/Oインタフェイス14を変更するために同期中の、仮想サーバ16、変更元のI/Oインタフェイス14及び変更先のI/Oインタフェイス14の対応関係を示す。具体的には、I/O同期テーブル35のカラム350は、I/Oインタフェイス14を変更する仮想サーバ16の識別子を示す。カラム351は、カラム350に示す仮想サーバ16にマッピングされているI/Oインタフェイス14のうち、I/O変更の変更元となるI/Oインタフェイス14の識別子である。カラム352は、I/O変更において、カラム351に示したI/Oインタフェイス14の変更先となるI/Oインタフェイス14の識別子である。図5のI/O同期テーブル35には1行分を示しているが、I/Oインタフェイス14を変更するために同期中の仮想サーバ16とI/Oインタフェイス14との対応関係の数に応じてテーブルの行数は増減する。I/O同期テーブル35に複数行ある場合は、複数の仮想サーバ16に関するI/O同期の処理、又は一つの仮想サーバ16に関する複数のI/O同期の処理が並列実行されている。
図6に、I/Oバッファ36の例を示す。I/Oバッファ36は、I/O同期中に仮想サーバ16からのリクエスト(I/Oアクセス要求)または応答を一時的に保留するために用いられる。カラム360は、I/Oバッファ36に格納された順番を示す。カラム361は、格納されたリクエストまたは応答に係る仮想サーバ16の識別子を示す。カラム362は、リクエストまたは応答に係るI/Oインタフェイス14の識別子を示す。カラム363は、リクエストまたは応答のデータそのものを保持する。
図7に、管理サーバ20の構成を示す。管理サーバ20は、構成管理プログラム70とテーブル群71を保持するメモリ60、メモリ60内のプログラムを実行するCPU61、ネットワーク21と接続し、サーバ10の管理I/F37を介して仮想化部15と通信するためのNIC62、及びI/Oインタフェイス63を有する。I/Oインタフェイス63は、マウスやキーボードなどの入力装置64、ディスプレイなどの表示装置65を接続し、管理サーバ20とユーザとの間で情報を入出力する。図示を省略しているが、I/Oインタフェイス63は、USBメディアなどの記憶装置との接続に用いても良い。
構成管理プログラム70は、サーバ10やそのI/Oインタフェイス14の構成情報等を取得する取得部72、ユーザにUI(User Interface)を提供するUI部73、I/O変更の可否等を確認する確認部74、及びI/O変更を実行する変更部75の各処理部を有する。管理サーバ20は、テーブル群71として、I/Oインタフェイス14とその接続先(図1の記憶装置22など)との構成を保持するI/O構成テーブル76、及び仮想サーバ16とI/Oインタフェイス14とのマッピングを管理するマッピング管理テーブル77を有する。
図8に、I/O構成テーブル76の例を示す。カラム760はI/Oインタフェイス14の識別子である。カラム761はカラム760に示すI/Oインタフェイス14の種別を示す。たとえば、I/Oインタフェイス14がNICであれば「NIC」、ファイバチャネル(FC)のHBAであれば、「FC-HBA」などである。カラム762は、カラム760に示すI/Oインタフェイス14のIDである。ここでIDは、たとえばWWN(World Wide Name)やMACアドレスなどである。カラム763は、カラム760のI/Oインタフェイス14の接続先(図1の記憶装置22など)を示す。ここで接続先は、I/Oインタフェイス14の接続先となっているネットワーク機器や外部ストレージ装置を特定可能な情報であり、たとえば外部ストレージ装置に接続されたストレージエリアネットワーク(SAN)、および外部ストレージのディスク、ネットワーク(VLAN)などである。たとえば図では、I/Oインタフェイス14の「I/O 1」が、外部ストレージ装置に接続されたストレージエリアネットワーク「SAN1」に接続され、外部ストレージ装置の論理ディスク「LU1」にアクセス可能であることを示している。
図9に、マッピング管理テーブル77の例を示す。カラム770は仮想サーバ16の識別子を示す。カラム771は、カラム770に示す仮想サーバ16にマッピングされているI/Oインタフェイス14を示す。このマッピング管理テーブル77に格納されている情報は、仮想化部15のI/Oマッピングテーブル34のカラム340及びカラム341の情報と同じである。これらの情報は、ネットワーク21を介した通信により、同期が取られている(内容が同じになっている)。
図10に、仮想サーバ16からのI/Oアクセス要求に対応するI/Oマッピング部30の処理フロー図を示す。仮想サーバ16がI/Oアクセス要求を発行すると、I/Oマッピング部30がI/Oアクセス変換する(ステップ300)。仮想サーバからI/Oアクセス要求には、リード/ライト種別、メモリ11上の仮想サーバ16に割当てられている領域内の所定領域(リード要求の場合は、リードデータを格納する領域であり、ライト要求の場合は、ライトするデータを格納している領域)の先頭アドレスとリード/ライトデータのサイズ又は所定領域のサイズ、仮想デバイス識別子(バス番号、デバイス番号、機能番号)、仮想MMIOを含んでいる。リード/ライトデータを格納する所定領域の先頭アドレスも、仮想サーバ16が認識しているアドレス空間がサーバ10のアドレス空間と異なり、アドレス変換を必要とするが、ここではメモリ11に関するアドレス変換に関しては省略し、I/Oアクセス変換としてI/Oインタフェイス使用のための変換に関して説明する。
I/Oアクセス変換は、I/Oアクセス要求に含まれる仮想デバイス識別子に一致する、図4のI/Oマッピングテーブル34の仮想デバイス識別子342を検索し、対応するI/Oインタフェイス14の識別子341を求める。そのI/Oインタフェイス14の識別子に一致する図2のI/Oインタフェイステーブル33の識別子330を検索し、対応するI/Oインタフェイス14の仮想デバイス識別子(バス番号、デバイス番号、機能番号)342、仮想MMIO343、仮想INT344に対応するデバイス識別子(バス番号、デバイス番号、機能番号)331、MMIO332、INT333を取得する。
仮想サーバ16からのI/Oアクセス要求によってアクセスするI/Oインタフェイス14が、I/O同期中か否かを判定する(ステップ301)。I/O同期に関しては後述するが、I/Oアクセス要求を発行した仮想サーバ16の識別子がI/O同期テーブル35にあり、仮想サーバ16の識別子があるI/O同期テーブル35の行(変更元または変更先インタフェイス351,352)にアクセス対象のI/Oインタフェイス14の識別子が存在するとき、I/O同期中であると判定する。I/O同期中でなければ、変換されたデバイス識別子(バス番号、デバイス番号、機能番号)、MMIO、INT を用いてI/Oインタフェイス14へアクセス(通常アクセス)する(ステップ301)。I/O同期中であれば、I/Oバッファ36にI/Oアクセス要求を格納する(ステップ303)。通常アクセス又はI/Oバッファ36へのI/Oアクセス要求の格納後に、I/Oマッピング部30は仮想サーバ16に応答する(ステップ304)。応答の内容は、通常アクセス後はその成功/失敗、I/Oバッファ320へのI/Oアクセス要求の格納後はI/Oバッファ320に格納したことを示す。
後の説明を分かり易くするために、図11に示す通常アクセス(図10のステップ302)の概略シーケンスについて説明する。図11(a)にI/Oアクセス要求がリード要求の場合、図11(b)に接続先からのトリガーに対応してリード要求を発行する場合、及び図11(c)にI/Oアクセス要求がライト要求の場合の処理シーケンスの概略を示す。なお、仮想サーバ16からのI/Oアクセス要求は、前述のようにアクセス変換を必要とするが、ここではアクセス変換を省略して説明する。
図11(a)に示すI/Oアクセス要求が(1)リード要求の場合、I/Oインタフェイス14は接続先(たとえば、ディスクボリューム22)へ(2)データリード要求を発行する。データリード要求に応答した接続先からの(3)データは、I/Oインタフェイス14内の入力バッファ140に格納される。この入力バッファ140に格納されたデータは、入力バッファ140のアドレス(MMIO)にアクセスすることにより(4)読み出され、仮想サーバ16の所定領域に転送される。仮想サーバ16の所定アドレスにデータが格納された後、I/Oインタフェイス14からの(5)割込みにより、仮想サーバ16は一連のリードシーケンスの終了を認識する。
一般にI/Oインタフェイス14と仮想サーバ16の所定領域とのデータ転送には、DMA(Direct Memory Access)転送が用いられ、その制御にDMAコントローラ(図示略)が用いられる。この場合、仮想サーバ16はリード要求をDMAコントローラに発行すると、応答までのタイムアウト時間を設定したタイマからの割り込み又はDMAコントローラからの終了割り込み(上述の(5)割込みが相当)が入るまで、このリード要求に対するデータを用いない他のプロセス(タスク)を実行する。他のプロセスからも他のアクセス命令が発行される可能性があるので、仮想サーバ16(又はサーバ10)としては多重にI/Oアクセスすることになる。また、入力バッファ140から仮想サーバ140の所定領域へのデータ転送は、バッファ140にデータが格納されたことを契機にI/Oインタフェイス14から出力される信号に応答してDMAコントローラによって実行され、前述のI/Oインタフェイス14からの仮想サーバ16への割り込みの実体はDMAコントローラからの割り込みになる。入力バッファ140のサイズはI/Oインタフェイス14の種別によって異なる。
上記とは異なり、仮想サーバ16が主導的に制御できない場合がある。I/Oインタフェイス14がNICのような通信インタフェイスの場合である。このような場合を図11(b)に示す接続先からのトリガーに対応してリード要求を発行する場合として説明する。通信インタフェイスは(1)受信を検知(パケットの宛先アドレスが自アドレスを示していることの検知など)すると、仮想サーバ16に(3)受信割り込みを発行し、この受信割り込みに応答して仮想サーバ16は(DMAコントローラを介して)I/Oインタフェイス14に(4)リード要求を発行する。一般にリード要求が発行された時点には、入力バッファ140に受信データが格納され始めている。この入力バッファ140に格納された受信データの、(5)仮想サーバ16の所定領域への転送、I/Oインタフェイス14からの(6)割込みに関しては、図11(a)の場合と同様である。接続先がネットワーク23であり、受信の場合はパケットの送信元からのトリガーで動作し、受信側は主導的に制御できないので(制御する場合は、受信の可否を知らせるなどの処理が必要となる。I/Oインタフェイス14から動作不可(インオペラブル)やビジーを送信側に通知できる場合は、それらによって通知する。)、後述するI/O同期が取れない場合(受信処理の継続)が生じる。そこで図11(b)によるシーケンスの場合は、(4)リード要求を発行せずに、入力バッファ140をオーバーフローさせ、受信パケットを廃棄する。
プロトコル(通信規約)によっては、常に仮想サーバ16が受信データを格納する所定領域を確保しておき、(3)受信割り込みがない(実際は受信割り込みが発生するが、DMAコントローラが動作を開始し、仮想サーバ16には受信割り込みが発生しない)場合がある。このようなプロトコルにおいては、受信の完了((6)割込み)に対応して肯定/否定応答をパケットの送信元へ返送する。したがって、所定領域に格納されたデータを廃棄し、応答しないようにすれば、結果として受信パケットを廃棄したことになる。換言すると、受信動作が実行されていないのと同様になる。
以上のようにすることにより、主導的に制御できない場合はリード動作が無かったものと見なせるので、このようなI/Oアクセス要求は、後述するI/O同期中にI/Oバッファ36へ格納されないことになる。
図11(c)を用いて、I/Oアクセス要求がライト要求の場合の処理シーケンスを説明する。仮想サーバ16は、ライトするデータをメモリ11上の所定領域へ格納し、(1)ライト要求を、DMAコントローラを介して、I/Oインタフェイス14へ発行する。DMAコントローラは、仮想サーバ140の所定領域から(2)データをI/Oインタフェイス134の出力バッファ141へ転送する。出力バッファ141のアドレス(MMIO)は一般に入力バッファ140と異なるが、アドレス指定の方法はリードの場合と同様である。出力バッファ141へデータが格納されると、I/Oインタフェイス14は、仮想サーバ16へ(3)ライト完了(終了割り込み)を出力する。I/Oインタフェイス14は、出力バッファ141の(4)データを接続先に向けて出力する。図示は、(4)データの接続先への出力より前に、仮想サーバ140へ(3)ライト完了(終了割り込み)を出力しているが、データの接続先への出力完了後に、ライト完了(終了割り込み)を出力するI/Oインタフェイス14もある。ライト要求を発行してからライト完了(終了割り込み)を受けるまでの、仮想サーバ16の動作はリードの場合と同様である。また、DMAコントローラも、データの転送方向が逆になることを除いて、リードの場合と同様に動作する。
図12に、I/O同期部31の処理フロー図を示す。管理サーバ20からのI/O変更開始要求を受け付ける(ステップ310)。I/O変更開始要求には、I/O構成を変更する仮想サーバ16の識別子、変更元のI/Oインタフェイス14の識別子、及びそれに対応する変更先のI/Oインタフェイス14の識別子がパラメータとして含まれる。変更先のI/Oインタフェイス14が通信インタフェイスであり、そのネットワークIDを更新する場合には、更新するネットワークID情報もパラメータに含まれる。I/O同期テーブル35に、I/O変更開始要求のパラメータである仮想サーバ16の識別子、変更元のI/Oインタフェイス14の識別子と、及びそれに対応する変更先のI/Oインタフェイス14の識別子を登録する(ステップ311)。I/Oインタフェイス14に対してデバイスバッファ(図11の入力バッファ140、出力バッファ141)の開放を指示する(ステップ312)。この指示に従って、I/Oインタフェイス14はデバイスバッファを開放する。このデバイスバッファの開放は、デバイスバッファにデータを残している入出力処理(通信インタフェイスの場合は送受信処理)を強制的に終了させることになる。これは、入出力処理の継続よりもI/O変更処理の方に高い優先度を与える考え方に基づいている。逆に強制的に終了させることがシステムの運用上不都合である場合、又はデバイスバッファの開放の指示を受けられないI/Oインタフェイス14の場合は、デバイスバッファの開放のために予め定めた時間を待つなどにより、デバイスバッファが開放されるまで待てばよい。また、I/Oインタフェイス14にデバイスバッファが存在しない場合には、デバイスバッファの開放の指示は不要である。
I/O同期部31がI/O同期を開始したことを管理サーバ20に通知する(ステップ313)。管理サーバ20はI/O同期の開始の通知を受信し、後述する処理の後、I/O変更を要求する。I/O変更の要求を受けた、I/O同期部31はI/O変更部32を呼び出す。I/O変更部32による処理は後述する。
I/O変更部32の処理中に仮想サーバ16からI/Oアクセス要求が発行されると、I/Oマッピング部30によりI/Oアクセス要求はI/Oバッファ36に格納されると前述した。システムによっては、I/O同期中のI/Oインタフェイス14への仮想サーバ16からI/Oアクセス要求の頻度(又はI/O変更部32の処理中のI/Oアクセス要求の数)を予測できない。すなわち、I/O変更部32の処理中にI/Oバッファ36がオーバーフローする可能性がある。このような場合が想定されるならば、I/O変更部32の処理開始前にI/O同期中の仮想サーバ16を一時的に停止し、I/O変更部32の処理終了後に、停止した仮想サーバ16の処理を再開し、継続させる。仮想サーバ16の一時的な停止及び再開は、仮想化部15に用意されているコマンドを実行しても良いし、停止時に仮想サーバ16のスナップショットをとり、再開時にそのスナップショットを基に再開させるようにしても良い。このように、I/O変更部32の処理中に、仮想サーバ16を一時的に停止させることにより、仮想サーバ16からのI/Oアクセス要求の発行の停止を保証できる。この場合の仮想サーバ16の再開は、仮想サーバ16を再起動することと異なり、一時的な停止時点からの処理を継続できる。
変更部32は、I/O同期テーブル35に登録してあるI/O変更を完了する場合及びI/O変更しなかった場合(I/O変更の要求を受ける前の状態を維持している場合)の2種の結果をもたらす。
I/Oバッファ36を開放する(ステップ315)。I/O変更部32により、I/O同期テーブル35に登録してあるI/O変更を完了した場合、I/Oバッファ36に格納されているリクエスト(I/Oアクセス要求)および応答のI/Oインタフェイス14を、変更元のI/Oインタフェイス14から変更先のI/Oインタフェイス14へ変換し、変換されたリクエスト(I/Oアクセス要求)および応答を実行する。I/O変更部32により、I/O同期テーブル35に登録してあるI/O変更が実行されなかった場合、I/Oバッファ36に格納されているリクエスト(I/Oアクセス要求)および応答を、I/Oインタフェイス14を変換せずに(変更元のI/Oインタフェイス14で)実行する。このようにリクエスト(I/Oアクセス要求)および応答の実行に伴って、I/Oバッファ36は開放される(空になる)。
I/O同期テーブル35から、I/O変更の処理対象であったI/Oインタフェイス(変更元および変更先の両方)を削除する(ステップ316)。I/O変更の処理対象であったとは、I/O変更が完了した場合とI/O変更しなかった場合とがあるからである。この2つの場合を明示して、I/O変更の完了を管理サーバ20へ通知する(ステップ317)。
図13に、I/O変更部32の処理フロー図を示す。I/O変更部32は、I/O同期部31(図12のステップ314)から呼び出される。変更元I/Oインタフェイス14と変更先I/Oインタフェイス14との構成を検証する(ステップ320)。ここでの検証は、変更先I/Oインタフェイス14に故障がないことの確認や、仮想サーバ16のOSが認識しているMMIOの範囲とI/Oマッピングテーブル34のMMIOの範囲が一致するか否かなど、構成変更の実行の可否を確認する。検証の結果、構成変更に問題がある場合にはステップ329へ進む。
I/Oのマッピングを変更する(ステップ322)。仮想サーバ16へのI/Oインタフェイス14のマッピングを、変更元のI/Oインタフェイス14から変更先のI/Oインタフェイス14に変更するため、I/Oマッピングテーブル34において、該当する仮想サーバ16にマッピングされた変更元のI/Oインタフェイス14から、変更先のI/Oインタフェイス14に更新する(具体的にはI/Oマッピングテーブル34のI/Oインタフェイスの識別子341を変更先のI/Oインタフェイスの識別子341で上書きする。)。
変更先のI/Oインタフェイス14のネットワークIDを更新するか否かを判定する(ステップ323)。I/O同期部31が受けたI/O変更開始要求にパラメータとしてネットワークIDが含まれている場合に、IDの更新が必要である。変更先I/Oインタフェイス14のネットワークIDを更新する。ここで、ネットワークIDの更新は、I/Oインタフェイス14自体が更新機能も持つ場合には、I/Oインタフェイス14にネットワークIDをパラメータとして更新を要求する。ネットワークIDの書き換えのためにプログラムの実行が必要となる場合には、I/O変更部32がネットワークIDの書き換えを目的とした新たな仮想サーバを生成し、生成した仮想サーバにネットワークIDの書き換え対象のI/Oインタフェイスをマッピングし、その仮想サーバ上でネットワークID書き換えプログラムを配信して実行させ、プログラムの実行完了を待ってI/Oインタフェイス14のマッピングを、その仮想サーバから解除する。なお、同一のネットワークIDが複数I/Oインタフェイス14上に存在するのは望ましくないことから、変更先のI/Oインタフェイス14だけでなく、変更元のI/Oインタフェイス14のネットワークIDを書き換えても良い。
接続先への変更通知を行う(ステップ325)。たとえば、ネットワークであれば、接続先のARPテーブルの更新などを目的として、ARP(Address Resolution Protocol)パケットなどの送出であったり、ログイン・ログアウト処理(FCのpLogin/Logout)や、ネットワーク上の機器が提供するAPI(Application Programming Interface)やCLI(Command Line Interface)などによる接続先の変更操作である。
I/O変更後のI/Oインタフェイス14の構成検証する(ステップ326)。構成検証は、変更先I/Oインタフェイス14の故障確認やリクエスト・応答確認(パケットの送受信による確認)、およびネットワークのIDを引き継いだ場合にはネットワークIDの確認処理などである。
検証の結果(ステップ327)、問題がある場合には、構成を変更前の状態に戻すため、I/Oインタフェイス14のマッピングを変更前の状態に戻す(ステップ328)。I/Oインタフェイス14のマッピングを変更前の状態に戻すためには、ステップ322〜ステップ325の各処理内容をロールバックする。
I/Oの構成変更をキャンセルし、キャンセルしたことと、その原因を通知し(ステップ329)、処理を終了する。検証の結果(ステップ327)、問題が無い場合はI/O変更の完了を通知する。この通知は、前述のI/O同期部31に引き継がれ、管理サーバ20に通知される(図12のステップ317)。
以下に、本実施例の管理サーバ20における構成管理プログラム70の動作を示す。図14に、構成管理プログラム70の取得部72の処理フロー図を示す。取得部72は、構成情報を取得する(ステップ720)。ここで取得する構成情報は、I/O構成テーブル76およびマッピング管理テーブル77の作成および更新のための情報である。情報取得の方法は、たとえば仮想化部15、ネットワークを構成するスイッチ、サーバの構成情報を保持する装置、外部ストレージ装置、計算機システムの構成情報を管理しているソフトウェアなどから、機器やソフトウェアが提供するAPI(Application Program Interface)やCLI(Command Line Interface)を利用して取得する方法や、ユーザによる入力、ファイルによる取得等である。取得した情報を利用して、I/O構成テーブル76およびマッピング管理テーブル77の作成および更新する(ステップ721)。
図15に、構成管理プログラム70がユーザによる設定情報を取得するために提供するUI(User Interface)の例として、GUI(Graphical User Interface)の例を示す。このGUIは、管理サーバ20に接続する表示装置65や、管理サーバ20にネットワークを介して接続された他の端末の表示装置等にブラウザや専用のプログラム、およびテキストなどを用いて表示する。ウインドウ650はブラウザやプログラムのウインドウを示す。ウインドウ650には、仮想サーバ16へのI/Oインタフェイス14のマッピングの情報表示と、変更操作のためのボタン等が表示される。ユーザは、仮想サーバの選択枠651によりI/Oインタフェイス14のマッピングを変更する仮想サーバ16の識別子を選択する。図の例は、仮想サーバ16の選択枠651はプルダウンメニューを示している。
I/O一覧652には、選択枠651で選択された仮想サーバ16(図示は仮想サーバ2)に現在マッピングされているI/Oインタフェイス14の一覧が表示される。図では、I/Oインタフェイス14の識別子(I/O2など)と、I/O種別(NICなど)、ネットワークID(MAC1など)を表示しているが、さらに接続先ネットワーク等の情報を付加しても良い。I/O一覧652に表示されるI/Oインタフェイス14がI/O同期処理中であれば、その状態を示す情報を表示しても良い。I/O一覧652はマウスなどのカーソルを特定のI/Oインタフェイス14の行に合わせてマウスのクリック操作などを行うと、そのI/Oインタフェイス14を選択(図のハッチングの行)できる。
変更先I/O候補653には、I/O一覧652で選択されたI/Oインタフェイス14に対して、そのI/Oインタフェイス14からの変更先の候補となるI/Oインタフェイス14の一覧が表示される。図ではI/O一覧652のI/O種別「FC-HBA」が選択されているので、変更先I/O候補653の一覧には、同じI/O種別「FC-HBA」のI/Oインタフェイス14を表示している。変更先I/O候補653の検索方法については、後述する。変更先I/O候補653においてI/Oインタフェイス14の行を選択すると、選択されたI/Oインタフェイス14が変更先I/Oインタフェイスとなる。
チェックボックス654は、対象仮想サーバ16上で実行中のOSを再起動をせずに、I/Oインタフェイス14を変更する場合にチェックする。チェックボックス655は、ネットワークIDを変更元I/Oインタフェイスから変更先I/Oインタフェイスに引き継ぐ場合にチェックする。チェックボックス656は、変更元I/Oインタフェイスが接続しているネットワークの構成を変更先I/Oインタフェイスにも引き継ぐ場合にはチェックする。「実行」ボタン657をマウスなどでクリックすると、I/O構成変更を実行する要求がブラウザやGUIプログラムからUI部73に送られる。「キャンセル」ボタン658をクリックすると、ウインドウ650を閉じる。ウインドウ650において、仮想サーバ16の選択枠651の内容と、I/O一覧652及び変更先I/O候補653で選択された内容は、それぞれ仮想サーバ16、変更元I/Oインタフェイス及び変更先I/Oインタフェイスの識別子としてUI部73に通知される。チェックボックスのチェック状態もブラウザやGUIプログラムからUI部73に通知される。
図16は、UI部73の処理フロー図を示す。UI部73が図15に示したUI(ウインドウ650)を表示する(ステップ730)。ユーザがUI(ウインドウ650)において、仮想サーバ16の識別子と変更元I/Oインタフェイスとを選択したことを検知し(ステップ731)、選択された変更元I/Oインタフェイスに対応する変更先I/Oインタフェイスの候補を検索するように確認部74に要求する(ステップ732)。ただし、図示を省略するが、確認部74は選択された変更元I/Oインタフェイスの状態を仮想化部15への問い合わせ、選択された変更元I/OインタフェイスがI/O同期中であった場合には、選択不可能とする確認部74は変更元I/Oインタフェイスに対応する変更先I/Oインタフェイスの候補を検索し、UI部73に応答する。UI部73が確認部74から受けとった変更先のI/Oインタフェイスの候補を、変更先I/O候補653としてUI(ウインドウ650)に表示する(ステップ733)。UI部73は、UI(GUIプログラムやブラウザ)からの構成変更指示を受け付け(ステップ734)、変更部75にI/Oインタフェイス14の変更処理を要求する(ステップ735)。これは、「実行」ボタン658のクリックの検知に相当する。変更部75は、仮想サーバ16とI/Oインタフェイス14とのマッピングの変更処理を実行する(ステップ735)。変更部75の処理は後述する。変更部75による処理が完了すると、UI(ウインドウ650)にI/Oインタフェイス14の構成変更完了のメッセージを表示する(ステップ736)。なお、UI部73の処理の過程でエラーが発生した場合には、その旨もメッセージとして表示する。たとえば、I/O構成変更がキャンセルされた場合などである。
ユーザからの指示に基づいて仮想サーバ16とI/Oインタフェイス14とのマッピングの変更(I/O 変更)を実行する例をUI部73の処理として説明した。仮想サーバ16とI/Oインタフェイス14とのマッピングの変更(I/O変更)は、計算機システムの運用上、ユーザからの指示に基づく場合だけではない。他の例としては、負荷が特定のI/Oインタフェイス14に集中している場合や特定のI/Oインタフェイス14に障害の兆しが検知されたり、障害が発生した場合などがある。
負荷が特定のI/Oインタフェイス14に集中している場合は、そのI/Oインタフェイス14を使用している仮想サーバ16のマッピングを同種(互換性がある)の他のI/Oインタフェイス14に変更することにより、負荷を平準化できる。このためには、仮想化部15で各I/Oインタフェイスの性能情報を監視し、その監視結果を得た管理サーバ10(構成管理プログラム70)が、変更元及び変更先のI/Oインタフェイス14(又は候補)を決定すればよい。この決定は、たとえば同種(互換性がある)のI/Oインタフェイス14の中で、負荷の最も高いI/Oインタフェイス14を選択し、このI/Oインタフェイス14を使用している仮想サーバ16の一つを選択し、選択した仮想サーバ16が使用するI/Oインタフェイス14として、負荷が最も低いI/Oインタフェイス14を変更先とする。一つの仮想サーバ16が独占的に使用しているI/Oインタフェイス14の負荷が極端に高い場合は、新たな仮想サーバを仮想化部15が生成し、I/Oインタフェイス14の負荷を高くしている仮想サーバ16の機能を分割し、分割した機能を新たな仮想サーバに実行させるようにした後に、前述の仮想サーバ16の選択を実行する。仮想サーバ16の選択や変更元及び変更先のI/Oインタフェイス14(又は候補)の決定に際して、必要に応じてUI部73の処理を選択的に用いてユーザに確認するようにしても良い。
I/Oインタフェイス14に障害の兆しが検知されたり、障害が発生した場合について簡単に説明する。I/Oインタフェイス14に発生する障害に関する情報を収集する。障害に関する情報とは、たとえば、I/Oインタフェイス14の発熱の異常、エラー訂正処理の頻発、割り込みのロスト、重大な障害な予兆となるイベントの発生などである。仮想化部15でI/Oインタフェイス14の障害に関する情報を監視し、それらの情報がI/Oインタフェイス14の障害の予兆または障害を示しているならば、管理サーバ10(構成管理プログラム70)に通知する。通知された管理サーバ10は、障害の予兆または障害のI/Oインタフェイス14の識別子の表示と共に、UI部73を起動する。ここで、変更元としての障害の予兆または障害のI/Oインタフェイス14と、そのI/Oインタフェイス14を使用している仮想サーバ16とを特定し、同種(互換性がある)のI/Oインタフェイス14を変更先の候補として決定した後に、UI部73のステップ732移行を実行させるようにしても良い。
図17は、確認部75の処理フロー図である。ウインドウ650のチェックボックス654のチェックの有無、またはチェックボックス655のチェックの有無に応じた、I/O構成変更が動的変更か否か、またはネットワークIDを引き継ぐか否かを確認する(ステップ740)。
I/O構成変更が動的変更、またはネットワークIDの引き継ぐ場合には、I/Oインタフェイス14のI/O種別と接続先ネットワークとを条件に変更元I/Oインタフェイスから変更が可能な変更先I/Oインタフェイス14を検索する(ステップ741)。I/O構成テーブル76のI/O種別(カラム761)を用いて、変更元I/Oインタフェイスと同じI/O種別のI/Oインタフェイスを条件として検索する。ただし、I/O種別が完全に一致しなくても良い。たとえば同等の機能を持つ(互換性がある)I/O種別であれば変更先I/Oインタフェイスの候補としても良い。同等か否かを判断する基準をユーザが定義しても良い。また、上記の条件による検索に加えて、I/O構成テーブル76の接続先(カラム763)の情報を用いて、変更元I/Oインタフェイスと同一のネットワークに接続されているI/Oインタフェイス14を候補として検索する。この検索においても、接続先が完全に一致しなくても良い。たとえば接続先が最終的に変更元I/Oインタフェイスと同じターゲット機器に接続されている場合や、変更元I/Oインタフェイスが利用するストレージ装置と同等の情報を保持するストレージ装置に接続されているI/Oインタフェイスなどは、変更先I/Oインタフェイスの候補としても良い。また、この条件をユーザが定義しても良い。
I/O構成変更が動的変更及びネットワークIDの引き継ぎのいずれでもない場合には、ウインドウ650のチェックボックス656のチェックの有無に応じて、ネットワーク構成の引き継ぎをするか否かを確認する(ステップ742)。ネットワーク構成の引き継ぎをする場合には、I/Oインタフェイス14の接続先ネットワークを条件に変更元I/Oインタフェイスから変更が可能な変更先I/Oインタフェイスを検索する。I/O構成テーブル76の接続先(カラム763)の情報を用いて、変更元I/Oインタフェイスと同一のネットワークに接続されているI/Oインタフェイス14を候補として検索する。この検索においても、接続先ネットワークが完全に一致しなくても良い。たとえば、ネットワークが最終的に変更元I/Oインタフェイスと同じターゲット機器に接続されている場合や、変更元I/Oインタフェイスが利用するストレージ装置と同等の情報を保持するストレージ装置に接続されているI/Oインタフェイス14などは、変更先I/Oインタフェイスの候補としても良い。この条件をユーザが定義しても良い。
ウインドウ650のチェックボックス654〜656のいずれにもチェックが無い場合、仮想化部15へ問い合わせ、変更先のI/Oインタフェイス14の候補として、仮想化部15が管理する全てのI/Oインタフェイスを候補とする(ステップ744)。変更先の候補のI/Oインタフェイス14をUI部73に返信する(ステップ745)。なお、I/Oインタフェイス14の候補の検索が不要なユーザに対応するため、確認部74はステップ744及びステップ745の処理のみを実行するオプションをユーザに提供しても良い。
図18に、変更部75の処理フロー図を示す。I/O変更開始を仮想化部150に対してI/O変更開始を要求する(ステップ750)。この要求は、図12のステップ310において、I/O同期部31が受信する。仮想化部15からI/O同期開始の通知を受信する(ステップ751)。このステップは、図12のI/O同期部31のステップ313に対応した処理である。ウインドウ650のチェックボックス656のチェックの有無に応じて、ネットワーク構成の引き継ぐか否かを確認する(ステップ752)。ネットワーク構成の引き継ぐ場合には、ネットワークIDの引き継ぎをするか否かを確認し(ステップ753)、引き継ぐ場合は、接続先のセキュリティを再設定する(ステップ754)。仮想サーバ16が用いるI/Oインタフェイス14の変更により、変更元I/Oインタフェイスと変更先I/OインタフェイスのネットワークIDが変化するので、ネットワークIDに基づくセキュリティがネットワーク上に存在する機器に設定されていた場合には、機器のセキュリティ設定に利用されている変更元I/OインタフェイスのネットワークIDを、変更先I/OインタフェイスのネットワークIDに書き換える。これにより、ネットワークで接続された計算機システムにおいてネットワークID変更の影響を抑えることができる。セキュリティ設定に限らず、ネットワークIDを利用して何らかの設定を行っている機器が存在する場合、それらも書き換えの対象とする。これらの書換えの実際は、詳細を省略するが、仮想化部15に変更部75から指示し、仮想化部15が実行する。
I/O構成テーブル76のI/O種別(カラム761)を参照して、変更元および変更先のI/OインタフェイスがNICか否かに基づいて、ネットワーク設定の引き継ぎをするか否かを判断する(ステップ755)。ネットワーク設定を引き継ぐ場合、変更元I/Oインタフェイスのネットワーク上の機器に対して設定されている情報を、変更先I/Oインタフェイスのネットワーク上の機器に設定する。たとえば、それぞれのI/Oインタフェイス14が接続されているネットワークスイッチのポートが異なる場合、変更元I/Oインタフェイスの接続されているネットワークスイッチポートに対して設定されたVLAN(Virtual LAN)、QoS(Quality of Service)設定等を、変更先I/Oインタフェイスの接続されているネットワークスイッチポートに対して設定する。これらの設定の実際は、詳細を省略するが、仮想化部15に変更部75から指示し、仮想化部15が実行する。
変更元I/Oインタフェイスの接続されているストレージが、変更先I/Oインタフェイスに接続されているストレージと異なる場合は、ストレージ構成を引き継ぐと判断し(ステップ757)、変更元I/Oインタフェイスが接続されているストレージと、変更先I/Oインタフェイスが接続されているストレージが格納している内容(データ)を一致させる。この処理には、たとえばストレージのレプリケーションのためのソフトウェアや、ストレージ装置自体のレプリケーション機能などを利用する。ネットワーク構成を引き継ぐことにより、接続先のストレージ構成やネットワーク構成の異なるI/Oインタフェイス14間での構成の変更が可能になる。
仮想化部15に対してI/O変更を要求する(ステップ759)。このステップは、図12のI/O同期部31の処理をステップ314から継続させる契機となる。I/O同期部31のステップ317からのI/O変更完了通知があるまでウエイトし、通知を受信したならば処理を終了する。
なお、変更部75のステップ752〜758は仮想化部15に対する指示を作成し、その実行主体が仮想化部15であることから、ステップ752〜758を実行した後に、I/O変更開始を要求する(ステップ750)ことにより、変更部75のステップ751及びステップ759と共に、I/O同期部31のステップ313を省略でき、I/O変更の一連の処理における管理サーバ20の中間的処理によるオーバーヘッドや、管理サーバ20とサーバ10との通信オーバーヘッドを削減できる。
本実施例によれば、仮想サーバによる処理を継続させながら、仮想サーバが使用するI/Oインタフェイスの構成を変更し、計算機システムで稼動する業務への影響を小さくすることができる。
実施例1では、仮想サーバ16とI/Oインタフェイス14とのマッピングを変更するための、サーバ10上の処理を仮想化部15による処理として説明した。本実施例は、実施例1で説明したI/Oアクセス変換の処理を含め、仮想サーバ16とI/Oインタフェイス14とのマッピングを変更するための処理を仮想化部15から独立させたI/O管理部によって実行する例である。
図19に、本実施例の計算機システムの構成を示す。実施例1と異なるのは、I/Oアクセス変換の処理を含め、仮想サーバ16とI/Oインタフェイス14とのマッピングを変更するための処理を実行するI/O管理部17を設け、仮想サーバ16が仮想化部15を介さずに、I/O管理部17に接続する点にある。このように、実施例1と構成を異にしても、図1(実施例1)と図19(実施例2)とを比較すれば、実施例1で説明したI/O変更に係る処理が変わらないことは容易に理解されるであろう。
本実施例によれば、仮想サーバ16からのI/Oインタフェイス14へのアクセスに係る処理時間を短縮するために、I/Oアクセス変換を仮想化部15から独立させた構成の仮想サーバシステムにも、実施例1で説明したI/O変更に係る処理を適用可能である。
図20に、本実施例の計算機システム構成例を示す。本実施例は、実施例2の仮想サーバ16を物理サーバ(図中はノード83)とし、I/O管理部17を独立したI/O管理装置80として設ける。ノード83はI/O管理装置80に接続され、I/O管理装置80はネットワーク21を介して管理サーバ20に接続され、I/Oインタフェイス14はI/Oインタフェイス14に接続されている。図20では、I/Oインタフェイス14とは独立に管理装置80を図示しているが、I/Oインタフェイス14を含めてI/O管理装置80として構成しても良い。ノード83は一般的なコンピュータであり、説明を省略する。
I/O管理装置80は、メモリ81とCPU82とを備えたコンピュータにより構成される。メモリ81には、実施例1で説明したI/O変更の処理のためのプログラムやテーブルが格納される。I/O管理装置80のノード83との接続、I/Oインタフェイス14との接続を簡略化して図示してあるが、この接続のために、さらにI/Oインタフェイスを用いることは自明であろう。I/O管理装置80は、ノード83との接続とI/Oインタフェイス14との接続とをさらに接続し、さらに実施例1で説明したI/O変更を実行するので、接続のスイッチング(交換)機能を持ったコンピュータと言える。ただし、ノード83が一般的なコンピュータ(物理サーバ)である場合に、MMIOなどはノード83において仮想化されていないので、実施例1や実施例2のI/Oマッピングテーブル34及びI/Oマッピングテーブル34を用いたI/Oアクセス変換は実行されない。
本実施例によれば、I/O管理装置80を独立した装置とし、構成の自由度を高くした計算機システムにおいても、実施例1で説明したI/O変更に係る処理を適用可能である。したがって、サーバによる処理を継続させながら、サーバが使用するI/Oインタフェイスの構成を変更し、計算機システムで稼動する業務への影響を小さくすることができる。
実施例1の計算機システムの構成である。 I/Oインタフェイステーブルの例である。 仮想サーバとI/Oインタフェイスとのマッピングの例である。 I/Oマッピングテーブルの例である。 I/O同期テーブルの例である。 I/Oバッファの例である。 管理サーバの構成である。 I/O構成テーブルの例である。 マッピング管理テーブルの例である。 I/Oマッピング部の処理フロー図である。 通常アクセスの概略シーケンスである。 I/O同期部の処理フロー図である。 I/O変更部の処理フロー図である。 取得部の処理フロー図である。 GUIの例である。 UI部の処理フロー図である。 確認部の処理フロー図である。 変更部の処理フロー図である。 実施例2の計算機システムの構成である。 実施例3の計算機システムの構成である。
符号の説明
10:サーバ、11:メモリ、12:CPU、13:補助記憶装置、14:I/Oインタフェイス、15:仮想化部、16:仮想サーバ、17:I/O管理部、20:管理サーバ、36:I/Oバッファ、60:メモリ、61:CPU、62:NIC、63:I/Oインタフェイス、80:I/O管理装置、81:メモリ、82:CPU、83:ノード。

Claims (18)

  1. サーバに対応付けられたI/Oインタフェイスと、前記サーバに対応付けられる他のI/Oインタフェイスと、前記サーバ、前記I/Oインタフェイス及び前記他のI/Oインタフェイスと接続し、I/Oバッファを有し、前記サーバに対応付けられた前記I/Oインタフェイスの、前記他のI/Oインタフェイスへの変更開始の要求に応答して、前記サーバからの前記I/Oインタフェイスへのアクセス要求を前記I/Oバッファに格納するI/Oマッピング部、前記サーバへ前記他のI/Oインタフェイスを対応付けるI/O変更部、及び前記I/O変更部による前記対応付けの完了に応答して、前記I/Oバッファに格納されている前記アクセス要求を前記他のI/Oインタフェイスへのアクセス要求に変換し、前記変換したアクセス要求を実行するI/O同期部を有するI/O管理部とを設けたことを特徴とする計算機システム。
  2. 前記I/O同期部は、前記I/O変更部による前記サーバへの前記他のI/Oインタフェイスの対応付けが不可のとき、前記I/Oバッファに格納されている前記I/Oインタフェイスへの前記アクセス要求を実行することを特徴とする請求項1記載の計算機システム。
  3. 前記I/Oインタフェイスと前記他のI/Oインタフェイスとは、前記仮想サーバから同種のターゲット機器にアクセスするI/Oインタフェイスであることを特徴とする請求項2記載の計算機システム。
  4. 前記サーバは仮想サーバであり、前記仮想サーバの実行を管理する仮想化部をさらに設けたことを特徴とする請求項3記載の計算機システム。
  5. 前記I/O管理部を前記仮想化部に含んで構成したことを特徴とする請求項4記載の計算機システム。
  6. 前記I/O変更部は、前記I/Oインタフェイス及び前記他のI/Oインタフェイスがネットワークインタフェイスであるとき、前記I/Oインタフェイスが有するIDを前記他のI/OインタフェイスのIDとすることを特徴とする請求項3記載の計算機システム。
  7. 前記IDは、WWN及びMACアドレスのいずれか一方であることを特徴とする請求項6記載の計算機システム。
  8. 前記サーバ、前記I/Oインタフェイス及び前記他のI/Oインタフェイスの識別する情報をパラメータとして、前記変更開始の要求を発行する管理サーバをさらに設けたことを特徴とする請求項2記載の計算機システム。
  9. 前記管理サーバは、ユーザからの指示、前記I/Oインタフェイスの高負荷の検知、及び前記I/Oインタフェイスの障害又は前記障害の兆しの検知のいずれかに基づいて、前記変更開始の要求を発行することを特徴とする請求項8記載の計算機システム。
  10. サーバと接続し、I/Oバッファを有し、前記サーバに対応付けられたI/Oインタフェイスの、他のI/Oインタフェイスへの変更開始の要求に応答して、前記サーバからの前記I/Oインタフェイスへのアクセス要求を前記I/Oバッファに格納するI/Oマッピング部と、前記サーバへ前記他のI/Oインタフェイスを対応付けるI/O変更部と、前記I/O変更部による対応付けの完了に応答して、前記I/Oバッファに格納されている前記アクセス要求を前記他のI/Oインタフェイスへのアクセス要求に変換し、前記変換したアクセス要求を実行するI/O同期部とを有することを特徴とするI/O管理装置。
  11. 前記I/O同期部は、前記I/O変更部による前記サーバへの前記他のI/Oインタフェイスの対応付けが不可のとき、前記I/Oバッファに格納されている前記I/Oインタフェイスへの前記アクセス要求を実行することを特徴とする請求項10記載のI/O管理装置。
  12. 前記I/Oインタフェイスと前記他のI/Oインタフェイスとは、前記仮想サーバから同種のターゲット機器にアクセスするI/Oインタフェイスであることを特徴とする請求項11記載のI/O管理装置。
  13. 前記I/O変更部は、前記I/Oインタフェイス及び前記他のI/Oインタフェイスがネットワークインタフェイスであるとき、前記I/Oインタフェイスが有するIDを前記他のI/OインタフェイスのIDとすることを特徴とする請求項12記載のI/O管理装置。
  14. 前記IDは、WWN及びMACアドレスのいずれか一方であることを特徴とする請求項13記載のI/O管理装置。
  15. 外部に接続した管理サーバから、前記サーバ、前記I/Oインタフェイス及び前記他のI/Oインタフェイスの識別する情報をパラメータとして、前記変更開始の要求を受け付けることを特徴とする請求項11記載のI/O管理装置。
  16. サーバに対応付けられたI/Oインタフェイスから他のI/Oインタフェイスへ対応付けを変更する、I/Oバッファを有するI/O管理部による計算機システムのI/O構成変更方法であって、前記サーバに対応付けられた前記I/Oインタフェイスの、前記他のI/Oインタフェイスへの変更開始の要求に応答して、前記サーバからの前記I/Oインタフェイスへのアクセス要求を前記I/Oバッファに格納し、前記サーバへ前記他のI/Oインタフェイスを対応付け、前記対応付けの完了に応答して、前記I/Oバッファに格納されている前記アクセス要求を前記他のI/Oインタフェイスへのアクセス要求に変換し、前記変換したアクセス要求を実行することを特徴とするI/O構成変更方法。
  17. 前記サーバへの前記他のI/Oインタフェイスの対応付けが不可のとき、前記I/Oバッファに格納されている前記I/Oインタフェイスへの前記アクセス要求を実行することを特徴とする請求項16記載のI/O構成変更方法。
  18. 前記サーバは仮想サーバであり、前記I/O管理部は、前記仮想サーバからの前記I/Oインタフェイス及び前記他のI/Oインタフェイスへの前記アクセス要求の実行を管理することを特徴とする請求項17記載のI/O構成変更方法。
JP2008160459A 2008-06-19 2008-06-19 計算機システム及びそのi/o構成変更方法 Expired - Fee Related JP5352132B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008160459A JP5352132B2 (ja) 2008-06-19 2008-06-19 計算機システム及びそのi/o構成変更方法
US12/200,409 US7870191B2 (en) 2008-06-19 2008-08-28 Computing system and method of changing I/O configuration thereof
US12/951,237 US8103721B2 (en) 2008-06-19 2010-11-22 Computing system and method of changing I/O configuration thereof
US13/345,883 US20120110069A1 (en) 2008-06-19 2012-01-09 Computing system and method of changing i/o configuration thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008160459A JP5352132B2 (ja) 2008-06-19 2008-06-19 計算機システム及びそのi/o構成変更方法

Publications (2)

Publication Number Publication Date
JP2010003061A true JP2010003061A (ja) 2010-01-07
JP5352132B2 JP5352132B2 (ja) 2013-11-27

Family

ID=41432364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008160459A Expired - Fee Related JP5352132B2 (ja) 2008-06-19 2008-06-19 計算機システム及びそのi/o構成変更方法

Country Status (2)

Country Link
US (3) US7870191B2 (ja)
JP (1) JP5352132B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017022767A (ja) * 2014-06-23 2017-01-26 インテル コーポレイション ソフトウェア確定ネットワークにおける仮想マシンと仮想化コンテナを用いたローカルサービスチェーン
JP2017084133A (ja) * 2015-10-28 2017-05-18 株式会社日立製作所 仮想計算機間の通信経路制御方法および計算機システム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5352132B2 (ja) * 2008-06-19 2013-11-27 株式会社日立製作所 計算機システム及びそのi/o構成変更方法
JP5516575B2 (ja) * 2009-03-30 2014-06-11 日本電気株式会社 データ挿入システム
US8521921B1 (en) 2009-05-22 2013-08-27 Marvell International Ltd. Automatic direct memory access (DMA)
US8959253B2 (en) * 2009-12-23 2015-02-17 Intel Corporation Virtualizing a powered down input/output device
JP5416156B2 (ja) * 2011-03-29 2014-02-12 株式会社日立システムズ 統合監視システム及び統合監視プログラム
US8539113B2 (en) * 2011-06-16 2013-09-17 Hewlett-Packard Development Company, L.P. Indicators for streams associated with messages
US8874511B1 (en) * 2011-09-06 2014-10-28 Google Inc. Efficient clearing of synchronization information
US9419879B2 (en) 2013-06-20 2016-08-16 International Business Machines Corporation Selectively refreshing address registration information
WO2015162777A1 (ja) 2014-04-25 2015-10-29 株式会社日立製作所 計算機システム及び接続構成制御方法
US9678674B2 (en) * 2015-10-01 2017-06-13 International Business Machines Corporation Synchronous input/output command with partial completion
US10063376B2 (en) 2015-10-01 2018-08-28 International Business Machines Corporation Access control and security for synchronous input/output links
US10120818B2 (en) 2015-10-01 2018-11-06 International Business Machines Corporation Synchronous input/output command
US10581936B2 (en) * 2016-09-15 2020-03-03 Ricoh Company, Ltd. Information processing terminal, management system, communication system, information processing method, and recording medium
US20180107392A1 (en) * 2016-10-19 2018-04-19 Aliane Technologies Co., Memory management system and method thereof
US11216194B2 (en) 2016-10-19 2022-01-04 Aliane Technologies Corporation Memory management system and method thereof
US10791051B2 (en) * 2017-04-18 2020-09-29 Cisco Technology, Inc. System and method to bypass the forwarding information base (FIB) for interest packet forwarding in an information-centric networking (ICN) environment
US11537312B2 (en) * 2021-05-05 2022-12-27 EMC IP Holding Company LLC Maintaining replication consistency during distribution instance changes

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114599A (ja) * 1995-10-13 1997-05-02 Matsushita Electric Ind Co Ltd ディスクスケジューリング装置
JP2002049575A (ja) * 2000-08-01 2002-02-15 Hitachi Ltd ファイルシステム
JP2004537126A (ja) * 2001-07-23 2004-12-09 ネットワーク アプライアンス, インコーポレイテッド 高可用性クラスターの仮想サーバ・システム
JP2007087266A (ja) * 2005-09-26 2007-04-05 Hitachi Ltd ストレージシステムおよびストレージ装置
JP2007115019A (ja) * 2005-10-20 2007-05-10 Hitachi Ltd ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP2007128409A (ja) * 2005-11-07 2007-05-24 Hitachi Ltd 計算機システム、帯域制御方法及びプログラム
JP2008026965A (ja) * 2006-07-18 2008-02-07 Toshiba Corp データバックアップ方法、及びデータバックアップシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1107512A1 (en) * 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
JP5352132B2 (ja) * 2008-06-19 2013-11-27 株式会社日立製作所 計算機システム及びそのi/o構成変更方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114599A (ja) * 1995-10-13 1997-05-02 Matsushita Electric Ind Co Ltd ディスクスケジューリング装置
JP2002049575A (ja) * 2000-08-01 2002-02-15 Hitachi Ltd ファイルシステム
JP2004537126A (ja) * 2001-07-23 2004-12-09 ネットワーク アプライアンス, インコーポレイテッド 高可用性クラスターの仮想サーバ・システム
JP2007087266A (ja) * 2005-09-26 2007-04-05 Hitachi Ltd ストレージシステムおよびストレージ装置
JP2007115019A (ja) * 2005-10-20 2007-05-10 Hitachi Ltd ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP2007128409A (ja) * 2005-11-07 2007-05-24 Hitachi Ltd 計算機システム、帯域制御方法及びプログラム
JP2008026965A (ja) * 2006-07-18 2008-02-07 Toshiba Corp データバックアップ方法、及びデータバックアップシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017022767A (ja) * 2014-06-23 2017-01-26 インテル コーポレイション ソフトウェア確定ネットワークにおける仮想マシンと仮想化コンテナを用いたローカルサービスチェーン
US10261814B2 (en) 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
JP2017084133A (ja) * 2015-10-28 2017-05-18 株式会社日立製作所 仮想計算機間の通信経路制御方法および計算機システム
US10114667B2 (en) 2015-10-28 2018-10-30 Hitachi, Ltd. Method of controlling communication path between virtual machines and computer system

Also Published As

Publication number Publication date
US8103721B2 (en) 2012-01-24
US7870191B2 (en) 2011-01-11
JP5352132B2 (ja) 2013-11-27
US20110072080A1 (en) 2011-03-24
US20090319604A1 (en) 2009-12-24
US20120110069A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
JP5352132B2 (ja) 計算機システム及びそのi/o構成変更方法
JP4295184B2 (ja) 仮想計算機システム
US9785381B2 (en) Computer system and control method for the same
EP1760591B1 (en) System and method of managing access path
JP4733399B2 (ja) 計算機システム、計算機、ストレージ装置及び管理端末
EP2430544B1 (en) Altering access to a fibre channel fabric
US20110004708A1 (en) Computer apparatus and path management method
JP2004220450A (ja) ストレージ装置、その導入方法、及びその導入プログラム
JP2008146566A (ja) 計算機、仮想デバイスの制御方法およびそのプログラム
WO2012004902A1 (ja) 計算機システム及び計算機システムの系切替制御方法
JP2010152704A (ja) 計算機システムの運用管理システム及び管理方法
JP2010026946A (ja) ストレージサブシステム及びコントローラによるコマンド実行方法
WO2014174594A1 (ja) ストレージシステムおよびストレージシステムの障害管理方法
JP2005055970A (ja) ストレージ装置
JP6663478B2 (ja) データ移行方法及び計算機システム
US9304875B2 (en) Dynamically tracking logical units moving between input/output ports of a storage area network target
JP2010257274A (ja) 仮想化環境におけるストレージ管理システム及びストレージ管理方法
JP4509089B2 (ja) 仮想化制御装置及びデータ移行制御方法
US10019182B2 (en) Management system and management method of computer system
JP4643456B2 (ja) アクセスの設定方法
JP2010079624A (ja) 計算機システム及びストレージシステム
JP2005010997A (ja) データアクセスシステム及び方法
JP2008009622A (ja) 管理サーバ、およびサーバシステム
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
US9654560B2 (en) Management system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Ref document number: 5352132

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees