JP2008040540A - エミュレーション装置及びエミュレーション方法 - Google Patents

エミュレーション装置及びエミュレーション方法 Download PDF

Info

Publication number
JP2008040540A
JP2008040540A JP2006209907A JP2006209907A JP2008040540A JP 2008040540 A JP2008040540 A JP 2008040540A JP 2006209907 A JP2006209907 A JP 2006209907A JP 2006209907 A JP2006209907 A JP 2006209907A JP 2008040540 A JP2008040540 A JP 2008040540A
Authority
JP
Japan
Prior art keywords
processor
processors
physical
spare
failure
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
JP2006209907A
Other languages
English (en)
Other versions
JP5217128B2 (ja
Inventor
Takahiro Tanioka
隆浩 谷岡
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006209907A priority Critical patent/JP5217128B2/ja
Publication of JP2008040540A publication Critical patent/JP2008040540A/ja
Application granted granted Critical
Publication of JP5217128B2 publication Critical patent/JP5217128B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】プラットフォームマシンのプロセッサリソース々を、ターゲットマシンの状況に応じて、ターゲットマシンの各種プロセッサとして柔軟に利用する。
【解決手段】論理プロセッサを含むターゲットマシンをエミュレートするプラットフォームマシン300を備えるエミュレーション装置を用いる。プラットフォームマシン300は、予備プロセッサを含む物理プロセッサ311と診断プロセッサ340とを備える。診断プロセッサ340は、物理プロセッサ311と論理プロセッサとを関連付けたテーブルを参照し、エミュレートのために物理プロセッサ311を論理プロセッサの機能に割り付けて動作させる。そして、ターゲットマシンとして稼動中の物理プロセッサ311の一つが障害により縮退した場合、縮退したプロセッサの割り付けられた論理プロセッサの種類に関わらず、テーブル内容を更新し、縮退したプロセッサの代替として予備プロセッサを組み込む。
【選択図】図1

Description

本発明は、エミュレーション装置及びエミュレーション方法に関し、特に、プラットフォームマシン上にターゲットマシンをエミュレーションするエミュレーション装置及びエミュレーション方法に関する。
エミュレーション機能を有するプラットフォームマシン(エミュレーション装置)が知られている。図14は、エミュレーションが実現しようとしているコンピュータシステム(以下、「ターゲットマシン」ともいう)の構成を示すブロック図である。ターゲットマシン100は、中央処理装置101及び複数のI/Oプロセッサ150−1〜150−mを具備する。中央処理装置101は、複数のCPUボード110−1〜110−n(nは2以上の自然数)、クロスバ130、診断プロセッサ140を搭載する。
診断プロセッサ140は、プラットフォームマシン(図示されず)上に実装されたマネジメントボードである。プラットフォームマシンの電源オン/オフ、プラットフォームマシンのCPUボードやクロスバなどのFRU(Field−Replaceable Units;現場交換可能ユニット)及びそのサブコンポーネント毎の構成の制御、障害の検出並びにログ採取・保存などの機能を有する。診断プロセッサ140は、外部の運用端末170に接続されている。オペレータは、運用端末170経由で、中央処理装置101の立ち上げ・立ち下げ、構成変更、障害時のログ採取などの運用操作を実施することができる。
CPUボード110−i(i=1〜n)の各々は、演算プロセッサ111−1〜111−4、メモリ116及びコントローラ115を備える。コントローラ115は、バスを介して演算プロセッサ111−1〜111−4及びメモリ116に接続されている。
クロスバ130は、複数のCPUボード110−1〜110−nと複数のI/Oプロセッサ150−1〜150−mとを接続している。すなわち、中央処理装置101は、クロスバ130を介して、複クロスバ130数のI/Oプロセッサ150−1〜150−mに接続されている。I/Oプロセッサ150−j(j=1〜m)は、複数の入出力チャネルを搭載している。
本ターゲットマシン100は、この構成において、演算プロセッサの一部(例示:演算プロセッサ111)を予備プロセッサとして予約しておく。それにより、他の演算プロセッサ(例示:112〜114)が障害にて縮退した際、当該予備プロセッサを代替として演算プロセッサに組み込む機能を提供する。
従来技術においては、このようなターゲットマシン100を図21に示すような構成のプラットフォームマシン200(エミュレーション装置)上で実現していた。図21は、プラットフォームマシンの構成を示すブロック図である。プラットフォームマシン200は、中央処理装置201を具備する。中央処理装置201は、複数のCPUボード210−1〜210−n、クロスバ230、診断プロセッサ240、入出力チャネル250−1〜250−nを搭載する。図14のターゲットマシン100は、クロスバに130接続されたI/Oプロセッサ150がOSから渡されたチャネルプログラムを解析・実行し、入出力チャネルを制御している。一方、図21のプラットフォームマシン200は、クロスバ230に直接入出力チャネル250−1〜250−mが接続されている。
CPUボード210−i(i=1〜n)の各々は、プロセッサ211−1〜211−4、メモリ216及びコントローラ215を備える。コントローラ215は、バスを介してプロセッサ211−1〜211−4及びメモリ216に接続されている。
ここで、図21のプロセッサ211−1〜211−4と、図14の演算プロセッサ111−1〜111−4、I/Oプロセッサ150とは一般にそれぞれ異なる命令セットアーキテクチャをもつプロセッサである。そのため、プラットフォームマシン200上でターゲットマシン100の演算プロセッサ111−1〜111−4、I/Oプロセッサ150の機能を実現するためにエミュレーション技術を導入している。
従来技術において、ターゲットマシンは、エミュレーション層の階層構造によって実現されている。図15は、プラットフォームマシンにおけるハードウェアとソフトウェアとの関係を示す概念図である。その階層構造は、ハードウェア層10、ファームウェア層20及びソフトウェア層30を備える。一番下の階層であるハードウェア層10は、プラットフォームマシン200の実プロセッサ(物理プロセッサ)211を有している。エミュレーション機能は、ファームウェア層20の演算プロセッサエミュレーション層22において、この物理プロセッサ211の上にファームウェアとして実装される。ファームウェア層20は、さらに幾つかの階層に分けることができる。リソースマッピング層21は、個々の物理プロセッサ211をターゲットマシン100上の演算プロセッサ111とI/Oプロセッサ150のいずれかにマッピングする。
このマッピングの結果、例えば、図16に示したような対応関係が定義される。図16は、ターゲットマシンの演算プロセッサ及びI/Oプロセッサと、プラットフォームマシンのプロセッサとの対応関係の一例を示す概念図である。この例において、プラットフォームマシン200に実装された0番、1番、2番、及び3番のプロセッサ211は、それぞれターゲットマシン100のI/Oプロセッサ150の0番、演算プロセッサ111の予備プロセッサ、演算プロセッサ2番、及び演算プロセッサ3番として定義される。ここで、このマッピング操作では、演算プロセッサ111とI/Oプロセッサ150のいずれかへの機能の割付のみ行われ、プロセッサ番号の読み替えは行われないことに留意する必要がある。このようなマッピングは、リソースマッピングテーブルとして例示されるテーブルによって実現することができる。図17は、そのリソースマッピングテーブルの一例を示す表である。このリソースマッピングテーブルには、個々の物理プロセッサ211の番号(「物理Proc#」と表記)ごとに、論理プロセッサの機能(「論理Proc#」と表記)が割り付けられている。論理プロセッサの機能として、演算プロセッサ(「EP」と表記)、I/Oプロセッサ(「IOP」と表記)、その他未使用のプロセッサ(「未定義」と表記)が定義されている。そのほか、予備プロセッサ(「状態」が「予備」と表記)として割り付ける演算プロセッサの番号も記載できる。このリソースマッピングテーブルの情報は、ターゲットマシン100のシステム構成情報として診断プロセッサ240が予め保持している情報に基づいて、システム運用中はエミュレーションファームウェアからアクセス可能なメモリ上に展開されるものである。すなわち、診断プロセッサ240は、このリソースマッピングテーブルを予め保持し、このマッピング操作を行っている。
図15を参照して、リソースマッピング層21でのマッピングの結果、個々の物理プロセッサ211の機能が決定されると、演算プロセッサ111として割り付けられた物理プロセッサ211上では演算プロセッサ111のエミュレーションを実現するファームウェアが動作する。その結果として実現された演算プロセッサ111により、ソフトウェア層30においてターゲットマシン100のオペレーティングシステム(OS)31、さらにはその上でミドルウェア32やアプリケーション33が動作する。I/Oプロセッサ150上ではI/Oプロセッサ150のエミュレーションを実現するファームウェアおよびチャネルを制御するためのデバイスドライバが搭載される。その結果としてターゲットマシン100のI/Oプロセッサ機能が実現する。
従来技術によるターゲットマシン上で実現される予備の演算プロセッサ機能について動作の概要を説明する。図18は、ターゲットマシン上における予備の演算プロセッサ機能について動作の概要の一例を示す概念図である。ここでは、例として、プラットフォームマシン200上の物理プロセッサ211の2番で障害発生した場合を考える。診断プロセッサ240がプロセッサ障害を検出し物理プロセッサ2番を縮退すると、その結果としてターゲットマシン100上の演算プロセッサ111の2番が縮退する。プロセッサの縮退は、診断プロセッサ240から演算プロセッサエミュレーション層のファームウェアを経由してターゲットマシン100のOSへ通知される。プロセッサの縮退の通知を受けたOSは、予備の演算プロセッサ111の組み込みを試みる。組み込みに成功すれば、最終的に故障した演算プロセッサ111の2番の代わりに演算プロセッサ111の1番が組み込まれ、運用を継続することができる。
図19は、演算プロセッサでの障害発生後に縮退に至るまでの動作を示すフローチャートである。
診断プロセッサ240は、プラットフォームマシン200上の物理プロセッサ211での障害の発生を、ターゲットマシン100上での演算プロセッサ111の障害として検出する(S71)。ファームウェア及び診断プロセッサ240は、障害の内容から継続運用可能か否かを判断する(S72)。診断プロセッサ240は、継続運用不可能であれば(S72:No)、そのまま重障害としてシステムダウンさせる(S77)。診断プロセッサ240は、継続運用可能であれば(S72:Yes)、まず他の演算プロセッサに対して当該の演算プロセッサ111で障害が発生したことを通知する(S73)。これを受けた他の演算プロセッサ111は、実行途中のプロセッサ間通信など、当該プロセッサ111に対するインターフェースを異常終了させる(S74)。その後、診断プロセッサ240は、当該プロセッサ111の動作を停止させ、ターゲットマシン100のOSから縮退させることによって(S75)、システムの運用を継続する(S76)。
ターゲットマシンにおいては、I/Oプロセッサの予備機能は実現されていない。図14に示すように、I/Oプロセッサには物理的に入出力チャネルのケーブルが接続されており、演算プロセッサのように予備のI/Oプロセッサで代替することはできない。
図20は、I/Oプロセッサで障害が発生した場合の障害処理動作の一例を示すフローチャートである。
診断プロセッサ240は、プラットフォームマシン200上の物理プロセッサ211での障害の発生を、ターゲットマシン100上でのI/Oプロセッサ150の障害として検出する(S81)。ファームウェア及び診断プロセッサ240は、障害の内容から継続運用可能かどうかを判断する(S82)。診断プロセッサ240は、継続運用不可能であれば(S82:No)、そのまま重障害としてシステムダウンさせる(S90)。診断プロセッサ240は、継続運用可能であれば(S82:Yes)、まず各演算プロセッサ111に対し当該I/Oプロセッサ150にて障害が発生したことを通知する(S83)。これを受けた演算プロセッサ111は、必要に応じて実行途中の入出力動作を異常終了させ、それをOSに通知する(S84)。その後、診断プロセッサ240は、当該のI/Oプロセッサ150の動作を停止させ(S85)、I/Oプロセッサ150のエミュレーションファームウェアの再起動を試みる(S86)。診断プロセッサ240は、この再起動により、当該I/Oプロセッサ150および配下の入出力チャネルの再初期化を行い、成功した場合(S87:Yes)、そのままI/Oプロセッサ150を継続運用する(S89)。失敗した場合(S87:No)、障害I/Oプロセッサ150を縮退させて(S88)、運用を継続する(S89)。
しかし、従来のエミュレーション装置(エミュレーションを実行するプラットフォームマシン)には、次のような課題がある。
第1の課題は、ターゲットマシン100上のI/Oプロセッサ150のプロセッサ番号とプラットフォームマシン200上の物理プロセッサ211の番号及び入出力チャネル番号とが一意に固定されているため、I/Oプロセッサ150の障害時に予備プロセッサなどで代替することができないということである。
第2の課題は、プラットフォームマシン200上の物理プロセッサ211を予めターゲットマシン100上の演算プロセッサ111又はI/Oプロセッサ150の何れかに割り付けているため、ターゲットマシン100上の予備の演算プロセッサ111をI/Oプロセッサ150の障害時に予備のI/Oプロセッサとして転用できないということである。
第3の課題は、プラットフォームマシン200上のプロセッサ211の番号とターゲットマシン100上のプロセッサ111、150の番号とが1対1で対応するため、プラットフォームマシン200に多数のプロセッサ211が実装されていたとしてもターゲットマシン100の仕様上の上限を超えてプロセッサ211を利用することができないということである。
特開2005−216151号公報に資源運用管理システム及び資源運用管理方法が開示されている。この資源運用管理システムは、情報処理装置と、前記情報処理装置と通信ネットワークを介して通信可能に接続し前記情報処理装置から送信されるデータの書き込み/読み出し要求に応じて記憶デバイスに対するデータの書き込み/読み出しを行うストレージ装置と、を含むストレージシステムにおける実資源の運用を管理する。前記実資源を割り当てることにより仮想資源を設定する仮想資源管理部と、前記実資源の稼働状態を管理する実資源管理部と、を有する。前記仮想資源管理部は、前記実資源の稼働状態に応じて前記設定を変更する。
特開2003−316646号公報に画像形成装置及びメモリ管理方法が開示されている。この画像形成装置は、画像形成処理を行うアプリケーションのプロセスと、画像形成処理で利用されるハードウェア資源の管理を行うコントロールサービスのプロセスとにメモリをマップする。前記メモリ上に、前記プロセスによって直接マップ可能な直接マップ領域を少なくとも獲得する領域獲得手段と、前記直接マップ領域の物理アドレスと、仮想メモリ領域上に含まれる直接マップ領域用の仮想アドレスとを対応付けたアドレス変換手段とを有する。
特開2005−196602号公報に無共有型データベース管理システムにおけるシステム構成変更方法が開示されている。これは、複数のCPUリソースと、ストレージと、これらを接続するネットワークを含み、前記複数のCPUリソースの少なくとも一部はデータベース探索プログラムが稼動することによりそれぞれ互いに素な処理対象データの処理を行うデータベースサーバとして機能する無共有型データベース管理システムにおけるシステム構成変更方法である。データベースの表へのアクセス処理を行わず、データのソート及びマージを専用に行うサーバを前記無共有型データベース管理システムに追加するステップ、ストレージI/Oリソースの追加を行うか否か判断するステップ、追加を行うと判断した場合に、前記データのソート及びマージを専用に行うサーバを通常のデータベースの表へのアクセスを行うサーバに変換するステップ、及び前記データベースサーバの処理付加が低いときにデータ再配置を行うステップを含む。
特開2005−222123号公報に計算機システム、管理装置、ストレージ装置及びコンピュータ装置が開示されている。この計算機システムは、アプリケーションソフトウェアが動作するサーバ装置と、前記サーバ装置の動作に必要なデータを記憶するストレージ装置と、を備える。
前記サーバ装置は、CPU、メモリ及びI/Oアダプタを含む計算資源と、前記計算資源を論理的に分割し、独立した仮想計算機として動作させる第1ハイパーバイザと、を有する。前記ストレージ装置は、CPU、ディスクキャッシュ、I/Oアダプタ及び物理ディスクを含むストレージ資源と、前記ストレージ資源を論理的に分割し、独立した仮想ストレージ装置として動作させる第2ハイパーバイザと、を有する。前記ストレージ装置は、更に、前記サーバ装置に備わる計算資源を管理するサーバ資源管理テーブルと、前記ストレージ装置に備わるストレージ資源を管理するストレージ資源管理テーブルと、前記仮想計算機と前記仮想ストレージ装置との対応関係を管理する仮想ディスク管理テーブルと、を有する管理部を備える。前記第1ハイパーバイザは、前記サーバ資源管理テーブルの設定に基づいて前記計算資源を論理的に分割する。前記第2ハイパーバイザは、前記ストレージ資源管理テーブルの設定に基づいて前記ストレージ資源を論理的に分割する。
特開2005−309553号公報に計算機が開示されている。この計算機は、。
CPUと、主記憶と、I/Oデバイスを接続するI/Oバスと、I/Oバスを制御するI/O制御部とを含む物理計算機を複数の論理区画に分割し、各論理区画上でそれぞれOSを動作させ、各論理区画に対する物理計算機の資源の割当を制御するファームウェアと、を備える。前記ファームウェアからの指令に基づいて前記I/Oデバイスと複数の論理区画の対応関係を設定するI/Oデバイス割り当て部と、前記I/Oデバイスからの処理要求を受け付ける処理要求受付部と、前記受け付けた処理要求を、前記I/Oデバイス割り当て部に設定された複数の論理区画へそれぞれ並列的に発行する並列処理発行部と、を備える。
特開2005−216151号公報 特開2003−316646号公報 特開2005−196602号公報 特開2005−222123号公報 特開2005−309553号公報
本発明の目的は、プラットフォームマシンの複数のプロセッサリソースの各々を、より有効に活用することが可能なエミュレーション装置及びエミュレーション方法を提供することにある。
本発明の他の目的は、プラットフォームマシンの複数のプロセッサリソースの各々を、ターゲットマシンの状況に応じて、ターゲットマシンの各種プロセッサとして柔軟に利用することが可能なエミュレーション装置及びエミュレーション方法を提供することにある。
本発明の更に他の目的は、一台のプラットフォームマシン上で複数のターゲットマシンを同時動作させることが可能なエミュレーション装置及びエミュレーション方法を提供することにある。
以下に、発明を実施するための最良の形態で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための最良の形態との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
上記課題を解決するために、本発明のエミュレーション装置は、複数の論理プロセッサ(111、150)を有するターゲットマシン(100)をエミュレートするプラットフォームマシン(300)を具備する。プラットフォームマシン(300)は、予備プロセッサを含む複数の物理プロセッサ(311)と、予備プロセッサを含む複数の物理プロセッサ(311)と複数の論理プロセッサ(111、151)とを関連付けたテーブルを参照して、エミュレートのために、複数の物理プロセッサ(311)を、複数の論理プロセッサ(111、151)の機能に割り付けて動作させる診断プロセッサ(340)とを備える。診断プロセッサ(340)は、ターゲットマシン(100)として稼動中の複数の物理プロセッサ(311)の一つが障害により縮退した場合、縮退したプロセッサの割り付けられた論理プロセッサの種類に関わらず、テーブルの内容を更新して、縮退したプロセッサの代替として予備プロセッサを組み込む。
上記のエミュレーション装置において、診断プロセッサ(340)は、複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルにおいて、予備プロセッサのプロセッサ番号を読み替えて、縮退したプロセッサの替わりに割り当てる。
上記のエミュレーション装置において、診断プロセッサ(340)は、複数の論理プロセッサ(111、150)が複数の区画に分割されているとき、予備プロセッサを除く複数の物理プロセッサ(311)を複数の区画に分割して割り付け、予備プロセッサを複数の区画に共通のプロセッサリソースとする。そして、複数の区画の一つに属する複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルの内容を更新して、予備プロセッサを縮退したプロセッサの代替として組み込む。
上記のエミュレーション装置において、複数の論理プロセッサ(111、151)は、I/Oプロセッサ(151)を含む。診断プロセッサ(340)は、複数の物理プロセッサ(311)のうちのI/Oプロセッサ(151)に割り付けられたI/O用物理プロセッサ(311)の障害を検出したとき、I/Oプロセッサ(151)の動作を停止した後、テーブルの内容を更新して、予備プロセッサをI/O用物理プロセッサ(311)に割り付け、I/Oプロセッサ(151)のファームウェアを再起動して、障害からの復旧を実現する。
上記のエミュレーション装置において、複数の論理プロセッサ(111、151)は、演算プロセッサ(111)を含む。診断プロセッサ(340)は、複数の物理プロセッサ(311)のうちの演算プロセッサ(111)に割り付けられた演算用物理プロセッサ(311)の障害を検出したとき、演算プロセッサ(111)の動作を停止した後、テーブルの内容を更新して、予備プロセッサを演算用物理プロセッサ(311)に割り付け、演算プロセッサ(111)のファームウェアを再起動して、障害からの復旧を実現する。
上記課題を解決するために、本発明のエミュレーション方法は、複数の論理プロセッサ(111、150)を有するターゲットマシン(100)をプラットフォームマシン(300)を具備するエミュレーション装置でエミュレートするエミュレーション方法である。ここで、プラットフォームマシン(300)は、予備プロセッサを含む複数の物理プロセッサ(311)と、診断プロセッサ(340)とを備える。エミュレーション方法は、(a)診断プロセッサ(340)が、予備プロセッサを含む複数の物理プロセッサ(311)と複数の論理プロセッサ(111、151)とを関連付けたテーブルを参照して、エミュレートのために、複数の物理プロセッサ(311)を、複数の論理プロセッサ(111、151)の機能に割り付けて動作させるステップと;(b)診断プロセッサ(340)が、ターゲットマシン(100)として稼動中の複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルの内容を更新して、縮退したプロセッサの代替として予備プロセッサを組み込むステップとを具備する。
上記のエミュレーション方法において、(b)ステップは、(b1)診断プロセッサ(340)が、複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルにおいて、予備プロセッサのプロセッサ番号を読み替えて、縮退したプロセッサの替わりに割り当てるステップを備える。
上記のエミュレーション方法において、(a)ステップは、(a1)診断プロセッサ(340)が、複数の論理プロセッサ(111、150)が複数の区画に分割されているとき、予備プロセッサを除く複数の物理プロセッサ(311)を複数の区画に分割して割り付け、予備プロセッサを複数の区画に共通のプロセッサリソースとするステップを備える。(b)ステップは、(b2)診断プロセッサ(340)が、複数の区画の一つに属する複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルの内容を更新して、予備プロセッサを縮退したプロセッサの代替として組み込むステップを備える。
上記のエミュレーション方法において、複数の論理プロセッサ(111、151)は、I/Oプロセッサ(151)を含む。(b)ステップは、(b3)診断プロセッサ(340)が、複数の物理プロセッサ(311)のうちのI/Oプロセッサ(151)に割り付けられたI/O用物理プロセッサ(311)の障害を検出したとき、I/Oプロセッサ(151)の動作を停止した後、テーブルの内容を更新して、予備プロセッサをI/O用物理プロセッサ(311)に割り付け、I/Oプロセッサ(151)のファームウェアを再起動して、障害からの復旧を実現するステップを備える。
上記のエミュレーション方法において、複数の論理プロセッサ(111、151)は、演算プロセッサ(111)を含む。(b)ステップは、(b4)診断プロセッサ(340)が、複数の物理プロセッサ(311)のうちの演算プロセッサ(111)に割り付けられた演算用物理プロセッサ(311)の障害を検出したとき、演算プロセッサ(111)の動作を停止した後、テーブルの内容を更新して、予備プロセッサを演算用物理プロセッサ(311)に割り付け、演算プロセッサ(111)のファームウェアを再起動して、障害からの復旧を実現するステップを備える。
上記課題を解決するために、本発明のプログラムは、複数の論理プロセッサ(111、150)を有するターゲットマシン(100)をプラットフォームマシン(300)を具備するエミュレーション装置でエミュレートするエミュレーション方法をコンピュータに実行させるプログラムである。ここで、プラットフォームマシン(300)は、予備プロセッサを含む複数の物理プロセッサ(311)と、診断プロセッサ(340)とを備える。エミュレーション方法は、(a)診断プロセッサ(340)が、予備プロセッサを含む複数の物理プロセッサ(311)と複数の論理プロセッサ(111、151)とを関連付けたテーブルを参照して、エミュレートのために、複数の物理プロセッサ(311)を、複数の論理プロセッサ(111、151)の機能に割り付けて動作させるステップと;(b)診断プロセッサ(340)が、ターゲットマシン(100)として稼動中の複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルの内容を更新して、縮退したプロセッサの代替として予備プロセッサを組み込むステップとを具備するエミュレーション方法をコンピュータに実行させる。
上記のプログラムにおいて、(b)ステップは、(b1)診断プロセッサ(340)が、複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルにおいて、予備プロセッサのプロセッサ番号を読み替えて、縮退したプロセッサの替わりに割り当てるステップを備える。
上記のプログラムにおいて、(a)ステップは、(a1)診断プロセッサ(340)が、複数の論理プロセッサ(111、150)が複数の区画に分割されているとき、予備プロセッサを除く複数の物理プロセッサ(311)を複数の区画に分割して割り付け、予備プロセッサを複数の区画に共通のプロセッサリソースとするステップを備える。(b)ステップは、(b2)診断プロセッサ(340)が、複数の区画の一つに属する複数の物理プロセッサ(311)の一つが障害により縮退した場合、テーブルの内容を更新して、予備プロセッサを縮退したプロセッサの代替として組み込むステップを備える。
上記のプログラムにおいて、複数の論理プロセッサ(111、151)は、I/Oプロセッサ(151)を含む。(b)ステップは、(b3)診断プロセッサ(340)が、複数の物理プロセッサ(311)のうちのI/Oプロセッサ(151)に割り付けられたI/O用物理プロセッサ(311)の障害を検出したとき、I/Oプロセッサ(151)の動作を停止した後、テーブルの内容を更新して、予備プロセッサをI/O用物理プロセッサ(311)に割り付け、I/Oプロセッサ(151)のファームウェアを再起動して、障害からの復旧を実現するステップを備える。
上記のプログラムにおいて、複数の論理プロセッサ(111、151)は、演算プロセッサ(111)を含む。(b)ステップは、(b4)診断プロセッサ(340)が、複数の物理プロセッサ(311)のうちの演算プロセッサ(111)に割り付けられた演算用物理プロセッサ(311)の障害を検出したとき、演算プロセッサ(111)の動作を停止した後、テーブルの内容を更新して、予備プロセッサを演算用物理プロセッサ(311)に割り付け、演算プロセッサ(111)のファームウェアを再起動して、障害からの復旧を実現するステップを備える。
本発明により、プラットフォームマシンの複数のプロセッサリソースの各々を、より有効に活用することができる。プラットフォームマシンの複数のプロセッサリソースの各々を、ターゲットマシンの状況に応じて、ターゲットマシンの各種プロセッサとして柔軟に利用することができる。一台のプラットフォームマシン上で複数のターゲットマシンを同時動作させることができる。
以下、本発明のエミュレーション装置の実施の形態に関して、添付図面を参照して説明する。エミュレーション装置は、コンピュータシステム(情報処理装置)である。ここでは、プラットフォームマシン300を搭載した情報処理装置を例にして説明する。なお、プラットフォームマシン300が実現しようとしているターゲットマシンは図14に示すターゲットマシン100である。
図1は、本発明のエミュレーション装置に含まれるプラットフォームマシンの実施の形態の構成を示すブロック図である。プラットフォームマシン300は、中央処理装置301を具備する。中央処理装置301は、複数のCPUボード310−1〜310−n、クロスバ330、診断プロセッサ340、入出力チャネル350−1〜350−nを搭載する。プラットフォームマシン300は、クロスバ230に直接入出力チャネル350−1〜350−mが接続されている。
CPUボード310−i(i=1〜n)の各々は、プロセッサ311−1〜311−4、メモリ316及びコントローラ315を備える。コントローラ315は、バスを介して演算プロセッサ311−1〜311−4及びメモリ316に接続されている。クロスバ330は、複数のCPUボード310−1〜310−nと複数の入出力チャネル350−1〜350−mを接続している。
診断プロセッサ340は、プラットフォームマシン(図示されず)上に実装されたマネジメントボードである。プラットフォームマシンの電源オン/オフ、プラットフォームマシンのCPUボードやクロスバなどのFRU(Field−Replaceable Units;現場交換可能ユニット)及びそのサブコンポーネント毎の構成の制御、障害の検出並びにログ採取・保存などの機能を有する。診断プロセッサ340は、外部の運用端末370に接続されている。オペレータは、運用端末370経由で、中央処理装置101の立ち上げ・立ち下げ、構成変更、障害時のログ採取などの運用操作を実施することができる。
図3は、本発明におけるターゲットマシンの演算プロセッサ及びI/Oプロセッサと、プラットフォームマシンのプロセッサとの対応関係の一例を示す概念図である。この図は、エミュレーション装置としてのプラットフォームマシン300の動作原理を示している。図において、一番下に表示されたプラットフォームマシン上にはプロセッサリソースとして(m+1)個の物理プロセッサ311が搭載可能である。一般にこの数(m+1)はターゲットマシン100が利用できるプロセッサ数より大きい。本実施の形態では、物理プロセッサ311として0番から8番まで9個のプロセッサが搭載されているものとして説明する。
プラットフォームマシン300の各物理プロセッサ311の0番〜7番は、プラットフォームマシン300上で実現される複数のターゲットマシン100の各々の仮想プロセッサ410としてそれぞれ割り付けられる。この図では、ターゲットマシン100として区画0(100a−0)と区画n(100a−n)の二つを同時に立ち上げ、それぞれに4個ずつのプロセッサ311を仮想プロセッサ410として割り付けた例を示している。最後のプロセッサ8番は、後述する予備プロセッサである。
さらに、このようにして各区画100a(区画0と区画n)に割り付けた仮想プロセッサ410は、従来技術による仕組みと同様に、各区画内の演算プロセッサ111及びI/Oプロセッサ150へ割り付けられる。
図2は、プラットフォームマシンにおけるハードウェアとソフトウェアとの関係を示す概念図である。その階層構造は、ハードウェア層50、ファームウェア層60及びソフトウェア層70を備える。ハードウェア層50は、プラットフォームマシン300の実プロセッサ(物理プロセッサ)311を有している。エミュレーション機能は、ファームウェア層60の演算プロセッサエミュレーション層63において、この物理プロセッサ311の上にファームウェアとして実装される。ファームウェア層60は、さらに幾つかの階層に分けることができる。リソースマッピング層62は、個々の物理プロセッサ311をターゲットマシン100(各区画100a)上の演算プロセッサ111とI/Oプロセッサ150のいずれかにマッピングする。
本実施の形態におけるファームウェア層60は、従来技術と比較して、物理プロセッサ311のハードウェア層50の上に、物理プロセッサ311のターゲットマシン100の区画100aへの割り付けと、プロセッサ番号の読み替えを行う仮想化層61が挿入されている。この仮想化層61上のリソースマッピング層62から上の実装は、従来技術によるプラットフォームマシン(エミュレーション装置)と同等である。
仮想化層61におけるプロセッサ311の区画100aへの割り付けとプロセッサ番号の読替えは、仮想化テーブルとして例示されるテーブルによって実現することができる。図5は、仮想化テーブルの一例を示す表である。このテーブルに記載される情報は、ターゲットマシン100のシステム構成情報として診断プロセッサ340が予め保持している情報に基づいて、エミュレーションファームウェアが参照可能なメモリ領域に展開されたものである。すなわち、診断プロセッサ340は、仮想化テーブルを予め保持し、このマッピング操作を行って。
この仮想化テーブルにおいて、個々のごとに、左端の列にはプラットフォームマシン300上の物理プロセッサ311の番号(「物理Proc#」と表記)が記載されている。その右側の列は、各々の物理プロセッサ311毎にプロセッサの状態(「状態」と表記)が記載されている。本実施の形態において、プロセッサ311の状態は予備プロセッサとして予約していることを示す“予備”、縮退して予備プロセッサに切り替わっていることを示す“縮退”(図示されず)、その他の状態である“−”の3種類の状態を定義している。
その右側の列には各物理プロセッサ311を割り付けるターゲットマシン100の区画100aの番号(「区画」と表記)が記載されている。何れの区画にも割り付けられていないプロセッサは“未定義”と表記されている。予備プロセッサは初期状態では何れの区画にも割り付けられておらず、“未定義”と記載されている。
一番右側の列は、物理プロセッサ311をターゲットマシン100の各区画100aに割り付けた後の区画内の仮想的なプロセッサ番号410(「仮想Proc#」と表記)が記載されている。何れの区画100aにも割り付けられていないプロセッサ311は“未定義”と表記されている。また、予備プロセッサは初期状態ではいずれの区画100aにも割り付けられておらず、“未定義”と記載されている。
リソースマッピング層62における仮想プロセッサ410の番号(「仮想Proc#」)からターゲットマシン100上の論理プロセッサ番号(「論理Proc#」)への割り付けは、リソースマッピングテーブルとして例示されるテーブルによって実現することができる。図4は、そのリソースマッピングテーブルの一例を示す表である。このリソースマッピングテーブルに記載される情報は、従来技術においてプラットフォームマシン200上の物理プロセッサからターゲットマシン100上の論理プロセッサへの割り付けに用いられるテーブルと同等である。すなわち、診断プロセッサ340は、このリソースマッピングテーブルを予め保持しし、このマッピング操作を行っている。ただし、変換元のプロセッサが、従来技術では物理プロセッサ211だったものが、本実施の形態においては仮想化テーブルによって区画100aに割り付けられた後の仮想プロセッサ番号(「仮想Proc#」)による点が異なる。この仮想プロセッサ番号は、図5の仮想プロセッサ番号と対応している。すなわち、テーブルの左端の列には当該区画100aにおいて仮想化されたプロセッサ番号(「仮想Proc#」)が記載され、各々のプロセッサ番号ごとにその右側の列にはプロセッサの状態定義として予備プロセッサであることを示す“予備”もしくはそれ以外の“−”のいずれかが記載される。右端の列は当該プロセッサが演算プロセッサ111として定義されている場合は“EP”、I/Oプロセッサ150として定義されている場合は“IOP”、それ以外の場合は“未定義”と記載される。
ただし、リソースマッピングテーブルは、同時に複数のターゲットマシン100の区画100aを定義する場合、区画毎に用意する必要がある。
言うまでもなく、これらリソースマッピングテーブル及び仮想化テーブルの各々の図及び説明に記載された状態や番号等は説明の便宜上“予備”や“未定義”と表記しているだけである。すなわち、メモリ上に展開された実体がこのとおりの形式で格納されている必然性はなく、また本実施の形態の記載のテーブルの格納場所および格納形式が本発明の有効性に対しては何の影響も及ぼさないことは自明である。
なお、図2記載の演算プロセッサエミュレーション層及びデバイスドライバ、I/Oプロセッサエミュレーション層を含む上位の階層の実装形態については当業者にとって良く知られており、また本発明と直接関係しないのでこれ以上の詳細な説明は省略する。
次に、本発明のエミュレーション装置に含まれるプラットフォームマシンの実施の形態の動作について説明する。ここでは、本実施の形態の動作の一例としてプラットフォームマシンのプロセッサ311の0番で障害が発生した場合を考える。図6は、本発明のプラットフォームマシンの実施の形態の動作の概要の一例を示す概念図である。
プラットフォームマシン300のプロセッサ311の0番は、図5の仮想化テーブルを参照して、区画0のターゲットマシン100上の仮想プロセッサ0番に割り付けられている。更に、図4のリソースマッピングテーブルを参照して、仮想プロセッサ0番は、区画0のI/Oプロセッサ150の0番に割り付けられている。従って、図6に示すように、プラットフォームマシン300のプロセッサ311の0番の障害は、区画0のターゲットマシン100上のI/Oプロセッサ150の0番の障害として検出される。
図7は、本発明のプラットフォームマシンの実施の形態の動作の一例を示すフローチャートである。ここでは、I/Oプロセッサ150の0番の障害が検出された後の動作を図7を参照しながら説明する。
診断プロセッサ340は、プラットフォームマシン300のプロセッサ311の0番の障害を、区画0のターゲットマシン100上で障害がI/Oプロセッサ150の0番(以下「該当I/Oプロセッサ150)に発生したことを検出する(S01)。ファームウェア及び診断プロセッサ340は、障害の内容から継続運用可能なものであるか否かを判定する(S02)。診断プロセッサ340は、継続運用不可能と判定すれば(S02:No)、そのまま重障害としてシステムダウンさせる(S11)。診断プロセッサ340は、継続運用可能と判定すれば(S02:Yes)、まず同一区画100a内の各演算プロセッサ111に対して該当I/Oプロセッサ150の障害を通知する(S03)。これを受けた演算プロセッサ111は、必要に応じ実行途中の入出力動作を異常終了させ、それをOSに通知する(S04)。診断プロセッサ340は、その後、該当I/Oプロセッサ150の動作を停止させ(S05)、その後に該当I/Oプロセッサ150の予備プロセッサへの切り替えを試みる(S06)。
図8は、予備プロセッサへの切り替え操作を示すフローチャートである。診断プロセッサ340は、予備プロセッサへの切り替えを指示されると(S21)、仮想化テーブル(図5)を参照して障害が発生したプロセッサのエントリ(以下「障害エントリ」)を特定し、その障害エントリの「状態」列の値を“縮退”に変更する(S22)。診断プロセッサ340は、その後、「状態」列の値が“予備”であるエントリ(以下「予備エントリ」)を検索して予備プロセッサを特定する。そして、その予備エントリの「区画」列と「仮想Proc#」列に、障害エントリの「区画」列と「仮想Proc#」列の値を転写する(S23)。この操作の結果、仮想化テーブルは、図5に示す初期状態から、図10に示す内容に変更される。すなわち、図10は、図8の動作により更新された仮想テーブル化を示している。
図7を参照して、診断プロセッサ340は、予備プロセッサへの切り替え完了後(S06)、障害が発生した該当I/Oプロセッサ150のファームウェアの再起動を試みる(S07)。ターゲットマシン100上では、再起動を試みるプロセッサは障害を起こした該当I/Oプロセッサ150と同じプロセッサ番号である。しかし、リソースマッピングテーブル(図4)及び仮想化テーブル(図10)を辿ると、区画0の該当I/Oプロセッサ150の0番が物理プロセッサ311の8番に割り付けられていることがわかる。それは、仮想化テーブル上区画0の仮想プロセッサ0番のエントリは2つ存在するが、物理プロセッサ0番のエントリは“縮退”状態のため、もう一つの物理プロセッサ8番が選択されるからである。そのため、診断プロセッサ340は、該当I/Oプロセッサ150のファームウェアを物理プロセッサ311の8番の上で起動する。
このようにして再起動に成功した場合(S08:Yes)、該当I/Oプロセッサ150は再び区画0のターゲットマシン100に組み込まれて継続運用される。何らかの理由で再起動に失敗した場合(S08:No)、ターゲットマシン100から該当I/Oプロセッサ150を縮退させて(S09)、システムの運用を継続する(S10)。
次に、このようにして予備プロセッサに切り替えた後に該当I/Oプロセッサ150を元の物理プロセッサ311へ切り戻す(元の状態に戻す)手順を説明する。
なお、一度、障害で予備プロセッサに切り替えたプロセッサを元に戻すためには、障害が発生したプロセッサを交換修理する必要がある。修理交換の手順としては、一度システムの運用を停止してオフラインで交換する方法や、ホットプラグ機能を備えたプラットフォームマシンであれば運用中にオンライン交換する方法等の従来知られた方法を用いることが出来る。ただし、本発明の範囲を超えるためここでは詳細には説明しない。
図12は、切り替えられた予備プロセッサを元の物理プロセッサへ切り戻す動作を示すフローチャートである。切り戻し動作を実行するにあたり、事前にターゲットマシン100上のOSからは該当I/Oプロセッサ150(=予備プロセッサ)をオフライン状態にして動作を停止しておく必要がある。また、本実施の形態においては、切り戻し動作を実施する主体は運用端末370を操作するオペレータである。オペレータは、運用端末370を介して診断プロセッサ340に該当I/Oプロセッサ150の切り戻しを指示する(S41)。診断プロセッサ340は、該当I/Oプロセッサ150がオフライン状態かどうかを確認する(S42)。オフライン状態でない場合(S42:No)、切り戻し動作を実施せず動作を終了する。該当I/Oプロセッサ150がオフライン状態である場合(S42:Yes)、該当I/Oプロセッサ150(=予備プロセッサ)を元の物理プロセッサに戻す動作を開始する(S43)。この動作の詳細は図9に示す。
図9は、図12における予備プロセッサを元の状態に戻す動作を示すフローチャートである。
該当I/Oプロセッサ150がオフライン状態である場合(S42:Yes)、予備プロセッサを元の物理プロセッサに戻す動作を開始する(S31)。まず、診断プロセッサ370は、仮想化テーブルを参照して切り戻したいプロセッサ(最初に障害が発生した物理プロセッサ:図10の場合では、「物理Proc#」0番)の「状態」欄を“縮退”から通常状態“−”へ戻す(S32)。診断プロセッサ370は、仮想化テーブル中の状態欄が“予備”のエントリの「区画」欄と「仮想Proc#」欄の値を“未定義”に変更する(S33)。
以上で該当I/Oプロセッサの切り戻し動作は完了する(S74)。しかし、この時点ではまだ該当I/Oプロセッサ150はオフライン状態なので、この後にオペレータ操作により該当I/Oプロセッサ150の組み込みが行われなければならない。この組み込み操作により該当I/Oプロセッサ150をOSに組み込む際にファームウェアが元の物理プロセッサ311の0番上で起動され、ターゲットマシン100の状態は該当I/Oプロセッサ150の障害が発生する前の状態に戻る。
続いて、ターゲットマシン100上で演算プロセッサ111で障害が発生した場合の予備プロセッサへの切り替え手順を説明する。
演算プロセッサ111に関しては、従来技術による予備演算プロセッサの実現方法からも明らかなように、図4のリソースマッピングテーブルにて予備の演算プロセッサを定義することによりリソースマッピング層62から上の階層での操作だけで、従来どおりの予備機能を実現することは可能である。しかし、従来技術では予備演算プロセッサとして割り付けた物理プロセッサは特定区画の演算プロセッサの代替としてしか利用することは出来ない。従って、プロセッサリソースの有効活用の観点からも本実施の形態にて以下に示すような方法で実現する方がより好ましいことは明らかである。
図13は、本発明のプラットフォームマシンの実施の形態の動作の他の一例を示すフローチャートである。ここでは、演プラットフォームマシン300上で物理プロセッサ障害が発生した場合の予備プロセッサへの切り替え手順を説明する。
診断プロセッサ340が、その物理プロセッサ障害について仮想化テーブル、リソースマッピングテーブルを参照して対応する論理プロセッサを特定し、ある区画100aのターゲットマシン100上で障害が一つの演算プロセッサ111(以下「該当演算プロセッサ111」)に発生したことを検出する(S51)。診断プロセッサ340は、障害の内容から当該区画100aの継続運用が可能か否かを判断する(S52)。継続運用が不可能な場合(S52:No)、そのまま重障害としてシステムダウンさせる(S61)。継続運用が可能な場合(S52:Yes)、同一区画内の他の演算プロセッサ111に対し該当演算プロセッサ111の障害を通知する(S53)。これを受けた他の演算プロセッサ111は、該当演算プロセッサ111に対する実行途中のプロセッサ間通信などの待ち合わせを異常終了させて運用を継続する(S54)。その後、診断プロセッサ340は、該当演算プロセッサ111の動作を停止させ(S55)、該当演算プロセッサ111に対応する物理プロセッサ311を予備プロセッサへ切り替えることを試みる(S56)。ここで予備プロセッサへの切り替え操作は、先に説明した該当I/Oプロセッサ150の切り替えの場合と同様に、図8のフローチャートにて示した手順にて実行される。
図8を参照して、診断プロセッサ340は、予備プロセッサへの切り替えを指示されると(S21)、仮想化テーブル(図5)を参照して障害が発生したプロセッサのエントリ(以下「障害エントリ」)を特定し、その障害エントリの「状態」列の値を“縮退”に変更する(S22)。診断プロセッサ340は、その後、「状態」列の値が“予備”であるエントリ(以下「予備エントリ」)を検索して予備プロセッサを特定する。そして、その予備エントリの「区画」列と「仮想Proc#」列に、障害エントリの「区画」列と「仮想Proc#」列の値を転写する(S23)。この操作の結果、仮想化テーブルは、図5に示す初期状態から、図11に示す内容に変更される。すなわち、図11は、図8の動作により更新された仮想テーブル化を示している。
図13を参照して、その後、診断プロセッサ340は、障害が発生した演算プロセッサのファームウェアを再起動することを試みる(S57)。この時点で該当演算プロセッサ111に対応付けられた物理プロセッサ311は仮想化テーブル(図5)にて予め予備プロセッサに定義された物理プロセッサ311へ切り替わっている。そのため、演算プロセッサ111のファームウェアは新しく定義しなおされた物理プロセッサ311上で起動する。そしてファームウェアの再起動が成功した場合(S58:Yes)、該当演算プロセッサ111は再度ターゲットマシン上に組み込んで継続運用が可能になる。ファームウェアの再起動が何らかの理由で失敗した場合(S58:No)、ターゲットマシン100上から演算プロセッサ111を縮退させて(S59)、運用を継続する(S60)。
このようにして演算プロセッサ111を予備プロセッサへ切り替えることが出来る。なお、このようにして演算プロセッサ111が予備プロセッサへ切り替えられた状態を、元の状態に切り戻す手順は、図12を参照して説明したI/Oプロセッサ150の切り戻し手順と同様の方法で実施できる。
本発明では、仮想化テーブルの機能により、予備プロセッサを、任意のターゲットマシン100上で演算プロセッサ及びI/Oプロセッサの何れにも利用出来るように定義している。それにより、予備プロセッサを演算プロセッサとI/Oプロセッサの何れにも代替できることが可能となる。
また、本発明では、仮想化テーブルの機能により、予め予備プロセッサとして定義したプロセッサを任意のターゲットマシンのI/Oプロセッサとして利用できるようにしている。それにより、従来技術で実現されていなかった予備I/Oプロセッサ機能が提供できる。
更に本発明では、仮想化テーブルの機能により、プラットフォームマシンのプロセッサを任意の区画のターゲットマシンに割り付けられるようにしている。それにより、プラットフォームマシンに実装されるプロセッサがターゲットマシンの仕様上の上限を超えた数量実装されている場合でも、プラットフォームマシンのプロセッサを複数の区画のターゲットマシンに割り付けて同時動作させることによりプロセッサリソースの有効活用を図ることが出来る。
なお、上記実施の形態において、リソースマッピングテーブル及び仮想化テーブルを別個のテーブルとしている。しかし、高速化などを目的としてこれらを一つのテーブルにまとめ、ターゲットマシン上の論理プロセッサ番号からプラットフォームマシン上の物理プロセッサ番号を一度のテーブル参照で変換できるようにしても良い。また、論理プロセッサ番号から物理プロセッサ番号もしくは物理プロセッサ番号から論理プロセッサ番号へ双方向の変換を高速に行うために、本実施の形態に記載のテーブルの逆引きテーブルを設けることも有効である。
また、上記実施の形態の仮想化テーブルの機能拡張として、「状態」行に定義する“予備”状態を拡張して当該予備プロセッサが何れの区画に対する予備プロセッサであるかを定義することもできる。例えばある物理プロセッサを区画0と区画1に対する予備プロセッサとして定義した場合、区画2で発生したプロセッサ障害に対しては予備の代替を行わないようにすることが可能である。
同様に、上記実施の形態の仮想化テーブルの機能拡張として、「状態」行に定義する“予備”状態を拡張して当該予備プロセッサがターゲットマシン上の何れの機能に割り付けられ得るかを定義することも出来る。例えばある物理プロセッサをI/Oプロセッサに対する予備プロセッサとして定義した場合、演算プロセッサ障害に対しては仮想化層での予備の代替を行わないようにすることが可能である。
さらに、上記実施の形態の仮想化テーブルの機能拡張として、予備プロセッサを複数個定義することも可能である。ある論理プロセッサ(演算プロセッサ及びI/Oプロセッサのいずれか)の障害で予備プロセッサへの代替を行うにあたり仮想化テーブルを参照した時に複数の予備プロセッサの定義が見つかった場合、(1)定義された予備プロセッサのうち代替可能な最小番の物理プロセッサで代替する、(2)定義された予備プロセッサのうち、障害プロセッサと同一のCPUボード上に定義された予備プロセッサが代替可能であれば、その予備プロセッサで優先的に代替する(この方法は予備への代替前後でCPUボードごとの負荷バランスやメモリレイテンシが変わることを抑えられるのでシステム性能への影響を小さくしたい場合に有効である)、(3)定義された予備プロセッサのうち、障害プロセッサと異なるCPUボード上に定義された予備プロセッサが代替可能であれば、その予備プロセッサで優先的に代替する(この方法は予備への切り替え後の継続運用中に障害プロセッサをオンラインで交換修理する場合を想定して交換時のシステムへの影響を小さくしたい場合に有効である)、などの優先順位付けに従って代替すべきプロセッサを決定することができる。
これらの複数の機能拡張を組み合わせて同時に実施することも可能である。
以上示したように、本発明は、プラットフォームマシンとは異なるアーキテクチャから構成されるターゲットマシンをプラットフォーム上のエミュレーションファームウェアによって実現するエミュレーション装置である。そして、このエミュレーション装置は、ターゲットマシンはプラットフォームマシンのプロセッサをリソースマッピングテーブルおよび仮想化テーブルによって演算プロセッサまたはI/Oプロセッサのいずれかの機能に割り付けて動作させる。このとき、プラットフォームマシン上のプロセッサを複数の区画に分割・割付を行う。加えて、各区画に共通のプロセッサリソースとして予備プロセッサを備えている。そして、ターゲットマシンとして稼動中の演算プロセッサもしくはI/Oプロセッサにて障害が発生し当該プロセッサが縮退した場合、縮退したプロセッサが演算プロセッサとI/Oプロセッサの何れであったかによらず、当該予備プロセッサを縮退したプロセッサの代替として組み込む機能を実装
している。
図6および図7において、I/Oプロセッサ障害を検出した際に診断プロセッサは、当該プロセッサの動作を停止した後、仮想化テーブルの内容を更新することによりターゲットマシン上のI/Oプロセッサに割り付けられたプラットフォームマシン上の物理プロセッサを変更する。その後、新たに割り付けられたI/Oプロセッサのファームウェアを再起動する。それにより、ターゲットマシン上で障害を起こしたI/Oプロセッサを再組み込み可能にして障害からの復旧を実現する。
同様に、図13において、演算プロセッサ障害を検出した際に診断プロセッサは、当該プロセッサの動作を停止した後仮想化テーブルの内容を更新することによりターゲットマシン上の演算プロセッサに割り付けられたプラットフォームマシン上の物理プロセッサを変更する。その後、新たに割り付けられた演算プロセッサのファームウェアを再起動する。それにより、ターゲットマシン上で障害を起こした演算プロセッサを再組み込み可能にして障害からの復旧を実現する。
このように、本発明では、仮想化テーブルの機能により予備プロセッサとして予約したプラットフォームマシン上の物理プロセッサをターゲットマシン上の演算プロセッサもしくはI/Oプロセッサに任意に割り付けられるようにしているので、プロセッサが障害により縮退してもターゲットマシン上では障害プロセッサを再度組み込んで障害状態から復旧させることができる。
また、本発明は、仮想化テーブルの機能によりプラットフォームマシンがターゲットマシンの仕様上の上限を超えたプロセッサリソースを実装している場合でも、複数のターゲットマシン環境を同時に複数稼動させる機能を提供できるため、ターゲットマシンのオペレーティングシステムやアプリケーションに諸元の拡張などの改造を施すことなく、プラットフォームマシンのリソースを有効に活用することができる。
本発明は上記実施の形態に限定されず、本発明の技術思想の範囲内において、実施の形態は適宜変形又は変更され得ることは明らかである。
図1は、本発明のエミュレーション装置に含まれるプラットフォームマシンの実施の形態の構成を示すブロック図である。 図2は、プラットフォームマシンにおけるハードウェアとソフトウェアとの関係を示す概念図である。 図3は、本発明におけるターゲットマシンのプロセッとプラットフォームマシンのプロセッサとの対応関係の一例を示す概念図である。 図4は、そのリソースマッピングテーブルの一例を示す表である。 図5は、仮想化テーブルの一例を示す表である。 図6は、本発明のプラットフォームマシンの実施の形態の動作の概要の一例を示す概念図である。 図7は、本発明のプラットフォームマシンの実施の形態の動作の一例を示すフローチャートである。 図8は、予備プロセッサへの切り替え操作を示すフローチャートである。 図9は、図12における予備プロセッサを元の状態に戻す動作を示すフローチャートである。 図10は、図7の動作途中における図8の動作により更新された仮想テーブル化を示している。 図11は、図13の動作途中における図8の動作により更新された仮想テーブル化を示している。 図12は、切り替えられた予備プロセッサを元の物理プロセッサへ切り戻す動作を示すフローチャートである。 図13は、本発明のプラットフォームマシンの実施の形態の動作の他の一例を示すフローチャートである。 図14は、ターゲットマシンの構成を示すブロック図である。 図15は、プラットフォームマシンにおけるハードウェアとソフトウェアとの関係を示す概念図である。 図16は、ターゲットマシンのプロセッとプラットフォームマシンのプロセッサとの対応関係の一例を示す概念図である。 図17は、そのリソースマッピングテーブルの一例を示す表である。 図18は、ターゲットマシン上における予備の演算プロセッサ機能について動作の概要の一例を示す概念図である。 図19は、演算プロセッサでの障害発生後に縮退に至るまでの動作を示すフローチャートである。 図20は、I/Oプロセッサで障害が発生した場合の障害処理動作の一例を示すフローチャートである。 図21は、プラットフォームマシンの構成を示すブロック図である。
符号の説明
100 ターゲットマシン
101、201、301 中央処理装置
110、110−1〜110−n、210、210−1〜210−n、310、310−1〜310−n CPUボード
111、111−1〜111−4 演算プロセッサ
211、211−1〜211−4、311、311−1〜311−4 プロセッサ
410 仮想プロセッサ
115、215、315 コントローラ
116、216、316 メモリ
130、230、330 クロスバ
140、240、340 診断プロセッサ
150 I/Oプロセッサ
151、151−1〜151−m、251、251−1〜251−m、351、351−1〜351−m 入出力チャンネル
170、270、370 運用端末
200、300 プラットフォームマシン
10、50 ハードウェア層
20、60 ファームウェア層
21、63 演算プロセッサエミュレーション層
22、62 リソースマッピング層
61 仮想化層
30、70 ソフトウェア層
31、71 オペレーティングシステム
32、72 ミドルウェア
33、73 アプリケーション

Claims (15)

  1. 複数の論理プロセッサを有するターゲットマシンをエミュレートするプラットフォームマシンを具備し、
    前記プラットフォームマシンは、
    予備プロセッサを含む複数の物理プロセッサと、
    前記予備プロセッサを含む前記複数の物理プロセッサと前記複数の論理プロセッサとを関連付けたテーブルを参照して、前記エミュレートのために、前記複数の物理プロセッサを、前記複数の論理プロセッサの機能に割り付けて動作させる診断プロセッサと
    を備え、
    前記診断プロセッサは、前記ターゲットマシンとして稼動中の前記複数の物理プロセッサの一つが障害により縮退した場合、前記縮退したプロセッサの割り付けられた論理プロセッサの種類に関わらず、前記テーブルの内容を更新して、前記縮退したプロセッサの代替として前記予備プロセッサを組み込む
    エミュレーション装置。
  2. 請求項1に記載のエミュレーション装置において、
    前記診断プロセッサは、前記複数の物理プロセッサの一つが障害により縮退した場合、前記テーブルにおいて、前記予備プロセッサのプロセッサ番号を読み替えて、前記縮退したプロセッサの替わりに割り当てる
    エミュレーション装置。
  3. 請求項1に記載のエミュレーション装置において、
    前記診断プロセッサは、
    前記複数の論理プロセッサが複数の区画に分割されているとき、前記予備プロセッサを除く前記複数の物理プロセッサを前記複数の区画に分割して割り付け、前記予備プロセッサを前記複数の区画に共通のプロセッサリソースとし、
    前記複数の区画の一つに属する前記複数の物理プロセッサの一つが障害により縮退した場合、前記テーブルの内容を更新して、前記予備プロセッサを前記縮退したプロセッサの代替として組み込む
    エミュレーション装置。
  4. 請求項1に記載のエミュレーション装置において、
    前記複数の論理プロセッサは、I/Oプロセッサを含み、
    前記診断プロセッサは、
    前記複数の物理プロセッサのうちの前記I/Oプロセッサに割り付けられたI/O用物理プロセッサの障害を検出したとき、前記I/Oプロセッサの動作を停止した後、前記テーブルの内容を更新して、前記予備プロセッサを前記I/O用物理プロセッサに割り付け、前記I/Oプロセッサのファームウェアを再起動して、前記障害からの復旧を実現する
    エミュレーション装置。
  5. 請求項1に記載のエミュレーション装置において、
    前記複数の論理プロセッサは、演算プロセッサを含み、
    前記診断プロセッサは、
    前記複数の物理プロセッサのうちの前記演算プロセッサに割り付けられた演算用物理プロセッサの障害を検出したとき、前記演算プロセッサの動作を停止した後、前記テーブルの内容を更新して、前記予備プロセッサを前記演算用物理プロセッサに割り付け、前記演算プロセッサのファームウェアを再起動して、前記障害からの復旧を実現する
    エミュレーション装置。
  6. 複数の論理プロセッサを有するターゲットマシンをプラットフォームマシンを具備するエミュレーション装置でエミュレートするエミュレーション方法であって、
    ここで、前記プラットフォームマシンは、
    予備プロセッサを含む複数の物理プロセッサと、
    診断プロセッサと
    を備え、
    前記エミュレーション方法は、
    (a)診断プロセッサが、前記予備プロセッサを含む前記複数の物理プロセッサと前記複数の論理プロセッサとを関連付けたテーブルを参照して、前記エミュレートのために、前記複数の物理プロセッサを、前記複数の論理プロセッサの機能に割り付けて動作させるステップと、
    (b)前記診断プロセッサが、前記ターゲットマシンとして稼動中の前記複数の物理プロセッサの一つが障害により縮退した場合、前記縮退したプロセッサの割り付けられた論理プロセッサの種類に関わらず、前記テーブルの内容を更新して、前記縮退したプロセッサの代替として前記予備プロセッサを組み込むステップと
    を具備する
    エミュレーション方法。
  7. 請求項6に記載のエミュレーション方法において、
    前記(b)ステップは、
    (b1)前記診断プロセッサが、前記複数の物理プロセッサの一つが障害により縮退した場合、前記テーブルにおいて、前記予備プロセッサのプロセッサ番号を読み替えて、前記縮退したプロセッサの替わりに割り当てるステップを備える
    エミュレーション方法。
  8. 請求項6に記載のエミュレーション方法において、
    前記(a)ステップは、
    (a1)前記診断プロセッサが、前記複数の論理プロセッサが複数の区画に分割されているとき、前記予備プロセッサを除く前記複数の物理プロセッサを前記複数の区画に分割して割り付け、前記予備プロセッサを前記複数の区画に共通のプロセッサリソースとするステップを備え、
    前記(b)ステップは、
    (b2)前記診断プロセッサが、前記複数の区画の一つに属する前記複数の物理プロセッサの一つが障害により縮退した場合、前記テーブルの内容を更新して、前記予備プロセッサを前記縮退したプロセッサの代替として組み込むステップを備える
    エミュレーション方法。
  9. 請求項6に記載のエミュレーション方法において、
    前記複数の論理プロセッサは、I/Oプロセッサを含み、
    前記(b)ステップは、
    (b3)前記診断プロセッサが、前記複数の物理プロセッサのうちの前記I/Oプロセッサに割り付けられたI/O用物理プロセッサの障害を検出したとき、前記I/Oプロセッサの動作を停止した後、前記テーブルの内容を更新して、前記予備プロセッサを前記I/O用物理プロセッサに割り付け、前記I/Oプロセッサのファームウェアを再起動して、前記障害からの復旧を実現するステップを備える
    エミュレーション方法。
  10. 請求項6に記載のエミュレーション方法において、
    前記複数の論理プロセッサは、演算プロセッサを含み、
    前記(b)ステップは、
    (b4)前記診断プロセッサが、前記複数の物理プロセッサのうちの前記演算プロセッサに割り付けられた演算用物理プロセッサの障害を検出したとき、前記演算プロセッサの動作を停止した後、前記テーブルの内容を更新して、前記予備プロセッサを前記演算用物理プロセッサに割り付け、前記演算プロセッサのファームウェアを再起動して、前記障害からの復旧を実現するステップを備える
    エミュレーション方法。
  11. 複数の論理プロセッサを有するターゲットマシンをプラットフォームマシンを具備するエミュレーション装置でエミュレートするエミュレーション方法をコンピュータに実行させるプログラムであって、
    ここで、前記プラットフォームマシンは、
    予備プロセッサを含む複数の物理プロセッサと、
    診断プロセッサと
    を備え、
    前記プログラムは、
    (a)診断プロセッサが、前記予備プロセッサを含む前記複数の物理プロセッサと前記複数の論理プロセッサとを関連付けたテーブルを参照して、前記エミュレートのために、前記複数の物理プロセッサを、前記複数の論理プロセッサの機能に割り付けて動作させるステップと、
    (b)前記診断プロセッサが、前記ターゲットマシンとして稼動中の前記複数の物理プロセッサの一つが障害により縮退した場合、前記縮退したプロセッサの割り付けられた論理プロセッサの種類に関わらず、前記テーブルの内容を更新して、前記縮退したプロセッサの代替として前記予備プロセッサを組み込むステップと
    を具備するエミュレーション方法をコンピュータに実行させるプログラム。
  12. 請求項11に記載のプログラムにおいて、
    前記(b)ステップは、
    (b1)前記診断プロセッサが、前記複数の物理プロセッサの一つが障害により縮退した場合、前記テーブルにおいて、前記予備プロセッサのプロセッサ番号を読み替えて、前記縮退したプロセッサの替わりに割り当てるステップを備える
    プログラム。
  13. 請求項11に記載のプログラムにおいて、
    前記(a)ステップは、
    (a1)前記診断プロセッサが、前記複数の論理プロセッサが複数の区画に分割されているとき、前記予備プロセッサを除く前記複数の物理プロセッサを前記複数の区画に分割して割り付け、前記予備プロセッサを前記複数の区画に共通のプロセッサリソースとするステップを備え、
    前記(b)ステップは、
    (b2)前記診断プロセッサが、前記複数の区画の一つに属する前記複数の物理プロセッサの一つが障害により縮退した場合、前記テーブルの内容を更新して、前記予備プロセッサを前記縮退したプロセッサの代替として組み込むステップを備える
    プログラム。
  14. 請求項11に記載のプログラムにおいて、
    前記複数の論理プロセッサは、I/Oプロセッサを含み、
    前記(b)ステップは、
    (b3)前記診断プロセッサが、前記複数の物理プロセッサのうちの前記I/Oプロセッサに割り付けられたI/O用物理プロセッサの障害を検出したとき、前記I/Oプロセッサの動作を停止した後、前記テーブルの内容を更新して、前記予備プロセッサを前記I/O用物理プロセッサに割り付け、前記I/Oプロセッサのファームウェアを再起動して、前記障害からの復旧を実現するステップを備える
    プログラム。
  15. 請求項11に記載のプログラムにおいて、
    前記複数の論理プロセッサは、演算プロセッサを含み、
    前記(b)ステップは、
    (b4)前記診断プロセッサが、前記複数の物理プロセッサのうちの前記演算プロセッサに割り付けられた演算用物理プロセッサの障害を検出したとき、前記演算プロセッサの動作を停止した後、前記テーブルの内容を更新して、前記予備プロセッサを前記演算用物理プロセッサに割り付け、前記演算プロセッサのファームウェアを再起動して、前記障害からの復旧を実現するステップを備える
    プログラム。
JP2006209907A 2006-08-01 2006-08-01 エミュレーション装置及びエミュレーション方法 Expired - Fee Related JP5217128B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006209907A JP5217128B2 (ja) 2006-08-01 2006-08-01 エミュレーション装置及びエミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006209907A JP5217128B2 (ja) 2006-08-01 2006-08-01 エミュレーション装置及びエミュレーション方法

Publications (2)

Publication Number Publication Date
JP2008040540A true JP2008040540A (ja) 2008-02-21
JP5217128B2 JP5217128B2 (ja) 2013-06-19

Family

ID=39175509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006209907A Expired - Fee Related JP5217128B2 (ja) 2006-08-01 2006-08-01 エミュレーション装置及びエミュレーション方法

Country Status (1)

Country Link
JP (1) JP5217128B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113212A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 メモリリーク監視装置、及び方法
JP2011008682A (ja) * 2009-06-29 2011-01-13 Fujitsu Ltd コンパイル方法、プログラム実行方法及びプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6123247A (ja) * 1984-07-11 1986-01-31 Nec Corp エラ−報告方式
JPH01224861A (ja) * 1988-03-03 1989-09-07 Nec Corp マルチプロセッサ制御方式
JPH06230992A (ja) * 1993-02-06 1994-08-19 Hitachi Ltd 計算機システムおよび計算機システムの障害回復方法
JPH06274459A (ja) * 1993-03-17 1994-09-30 Hitachi Ltd 半導体集積回路装置
JP2000076216A (ja) * 1998-09-02 2000-03-14 Nec Corp マルチプロセッサシステム及びそのプロセッサ二重化方法並びにその制御プログラムを記録した記録媒体
JP2000148533A (ja) * 1998-11-12 2000-05-30 Nec Corp マルチプロセッサシステムで用いられるトレース方法及びトレース装置
JP2002041304A (ja) * 2000-07-28 2002-02-08 Hitachi Ltd 論理区画の予備リソース自動付与方法及び論理区画式計算機システム
JP2003067351A (ja) * 2001-08-28 2003-03-07 Nec System Technologies Ltd 分散型コンピュータの構成制御システム
JP2004110809A (ja) * 2002-09-17 2004-04-08 Internatl Business Mach Corp <Ibm> マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム
JP2004252525A (ja) * 2003-02-18 2004-09-09 Nec Corp エミュレータおよびプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6123247A (ja) * 1984-07-11 1986-01-31 Nec Corp エラ−報告方式
JPH01224861A (ja) * 1988-03-03 1989-09-07 Nec Corp マルチプロセッサ制御方式
JPH06230992A (ja) * 1993-02-06 1994-08-19 Hitachi Ltd 計算機システムおよび計算機システムの障害回復方法
JPH06274459A (ja) * 1993-03-17 1994-09-30 Hitachi Ltd 半導体集積回路装置
JP2000076216A (ja) * 1998-09-02 2000-03-14 Nec Corp マルチプロセッサシステム及びそのプロセッサ二重化方法並びにその制御プログラムを記録した記録媒体
JP2000148533A (ja) * 1998-11-12 2000-05-30 Nec Corp マルチプロセッサシステムで用いられるトレース方法及びトレース装置
JP2002041304A (ja) * 2000-07-28 2002-02-08 Hitachi Ltd 論理区画の予備リソース自動付与方法及び論理区画式計算機システム
JP2003067351A (ja) * 2001-08-28 2003-03-07 Nec System Technologies Ltd 分散型コンピュータの構成制御システム
JP2004110809A (ja) * 2002-09-17 2004-04-08 Internatl Business Mach Corp <Ibm> マルチプロセッサ・ホスト・システム上でのマルチプロセッサ・エミュレーションのための方法およびシステム
JP2004252525A (ja) * 2003-02-18 2004-09-09 Nec Corp エミュレータおよびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNA200701988001; ACOSソフトウェア ACOS-4/VX スーパバイザ解説書 第2版, 200512, pp.172〜173, 日本電気株式会社 *
CSNH200600047040; 'テクノ2005-技術の進展・成果- コンピュータシステム メインフレーム:新ACOSシリーズi-PX9' NEC技報 第58巻,第3号(通巻427号), 20050525, p.67, 日本電気株式会社 *
JPN6012047970; 'テクノ2005-技術の進展・成果- コンピュータシステム メインフレーム:新ACOSシリーズi-PX9' NEC技報 第58巻,第3号(通巻427号), 20050525, p.67, 日本電気株式会社 *
JPN6012047971; ACOSソフトウェア ACOS-4/VX スーパバイザ解説書 第2版, 200512, pp.172〜173, 日本電気株式会社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010113212A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 メモリリーク監視装置、及び方法
JPWO2010113212A1 (ja) * 2009-03-31 2012-10-04 富士通株式会社 メモリリーク監視装置、及び方法
JP2011008682A (ja) * 2009-06-29 2011-01-13 Fujitsu Ltd コンパイル方法、プログラム実行方法及びプログラム

Also Published As

Publication number Publication date
JP5217128B2 (ja) 2013-06-19

Similar Documents

Publication Publication Date Title
CN106776159B (zh) 具有故障转移的快速外围元件互连网络系统与操作方法
US10275322B2 (en) Systems and methods for maintaining virtual component checkpoints on an offload device
US7992032B2 (en) Cluster system and failover method for cluster system
US9396029B2 (en) Storage system and method for allocating resource
JP5600361B2 (ja) ハイパーバイザベースのサーバ二重化システム、その方法およびサーバ二重化コンピュータプログラムが記録された記録媒体
JP5305848B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP3696960B2 (ja) 並列演算処理システム及び並列演算処理方法
CN110083494B (zh) 在多核心环境中管理硬件错误的方法和装置
JP5069732B2 (ja) 計算機装置、計算機システム、アダプタ承継方法
US7487222B2 (en) System management architecture for multi-node computer system
US7484032B2 (en) Fault tolerant computer system
JP5035299B2 (ja) マルチコアプロセッサ制御方法、その計算機システム、及び管理計算機のプログラム
US20110004708A1 (en) Computer apparatus and path management method
US20050216696A1 (en) Multi-processor system and memory accessing method
US10289564B2 (en) Computer and memory region management method
JP2008152594A (ja) マルチコアプロセッサ計算機の高信頼化方法
JP5476481B2 (ja) ノード故障の対処
US20090083467A1 (en) Method and System for Handling Interrupts Within Computer System During Hardware Resource Migration
US11593170B2 (en) Flexible reverse ballooning for nested virtual machines
KR20090081405A (ko) 파티션 유닛을 교체하는 방법 및 컴퓨터 판독가능 매체
US20100125843A1 (en) Virtual server system, physical cpu and method for allocating physical memory
JP5217128B2 (ja) エミュレーション装置及びエミュレーション方法
JP2009069963A (ja) マルチプロセッサシステム
JP2001022599A (ja) フォールトトレラント・システム,フォールトトレラント処理方法およびフォールトトレラント制御用プログラム記録媒体
JP2021026375A (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120912

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

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

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5217128

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