JP2006099308A - コンポーネントベース・アプリケーション構築方法 - Google Patents

コンポーネントベース・アプリケーション構築方法 Download PDF

Info

Publication number
JP2006099308A
JP2006099308A JP2004283032A JP2004283032A JP2006099308A JP 2006099308 A JP2006099308 A JP 2006099308A JP 2004283032 A JP2004283032 A JP 2004283032A JP 2004283032 A JP2004283032 A JP 2004283032A JP 2006099308 A JP2006099308 A JP 2006099308A
Authority
JP
Japan
Prior art keywords
component
execution
application
reliability
based application
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.)
Withdrawn
Application number
JP2004283032A
Other languages
English (en)
Other versions
JP2006099308A5 (ja
Inventor
Tomohiro Nakamura
友洋 中村
Keimei Fujii
啓明 藤井
Toshihiro Eguchi
俊宏 江口
Chiaki Kato
千昭 加藤
Kazuya Kuki
和也 久木
Masaru Takeuchi
勝 竹内
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 JP2004283032A priority Critical patent/JP2006099308A/ja
Priority to US11/070,499 priority patent/US7703072B2/en
Publication of JP2006099308A publication Critical patent/JP2006099308A/ja
Publication of JP2006099308A5 publication Critical patent/JP2006099308A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

【課題】コンポーネントベース・アプリケーションの構築時に信頼性の評価を行い、要求される信頼性を実現するアプリケーションを効率的に構築することを可能とする。
【解決手段】ソフトウェア・コンポーネント毎にエラーの発生頻度・エラー発生時に復旧に要する時間・予防保守実行時の処理能力などの実行時履歴をアプリケーションID・組み合わせたコンポーネントID・実行したハードウェアIDなどの実行環境毎に記録された実行時履歴表を付加し、これらの情報からシステム構築時に個々のソフトウェア・コンポーネント毎に推奨される予防保守実行の間隔を算出し、またソフトウェア・コンポーネント毎の信頼性をシステムに要求される信頼性と比較して適否の判定・適合度の評価を行う。さらに、システム全体での信頼性・処理能力の算出をしてシステム全体として要求される信頼性・処理性能と比較して適否の判定・適合度の評価を行う。
【選択図】図1

Description

本発明は、コンポーネント化されたソフトウェア部品(ソフトウェア・コンポーネント)を組み合わせてアプリケーションを構築する方法で、ソフトウェア・コンポーネント毎の信頼性に関する実行履歴の取得・蓄積方法と、それを利用した高信頼システムの構築方法に関する。
インターネット・イントラネット上での電子商取引や社内情報処理システムなどのWebサービスに代表されるオンラインアプリケーションの利用が急速に広まっており、顧客拡大・運用効率化・コスト削減などの要求に応じて迅速かつ柔軟なシステム開発が求められている。そのため、EJBに代表されるソフトウェア・コンポーネントを組み合わせてアプリケーションを構築する技術が注目をあびている。このような方法で構築されたアプリケーションをコンポーネントベース・アプリケーションと呼ぶ。
コンポーネントベース・アプリケーションは、よく利用される処理を行うソフトウェア・コンポーネントをあらかじめ用意し、それらを組み合わせることで構築できるので、開発時間を短縮することが可能である。また、動的に変化する顧客要求に応じてアプリケーションを改良する場合には、変更箇所のソフトウェア・コンポーネントを交換することで対応できるので、迅速かつ柔軟な改良が可能である。
コンポーネントベース・アプリケーションの開発はこのような特長をもっており、さらにJ2EE(Java2 Enterprise Edition)(Javaは登録商標)のような標準フレームワークの登場により、広く利用されるようになってきている。その結果として、今後様々なソフトウェア・コンポーネントが開発され、蓄積されていくと考えられる。
システム構築においては、これらのソフトウェア・コンポーネントから必要とされる機能を持つソフトウェア・コンポーネントを検索する必要があるが、ソフトウェア・コンポーネントの充実に伴って、機能的には同等なソフトウェア・コンポーネントが複数見つかる可能性が出てくる。そのため、これら複数の候補ソフトウェア・コンポーネントから最適なものを迅速かつ的確に選択する技術が重要になってくる。
ソフトウェア・コンポーネントの1つの選択指標としては、システム性能が挙げられる。しかしシステム構築時にソフトウェア・コンポーネントを組み合わせた際のシステム性能を予測することは難しい。
特許文献1では、コンポーネントベース・アプリケーションにおいて、個々のソフトウェア・コンポーネントで処理を行った場合のCPU時間を基本動作性能として測定し、その測定値を基に想定される処理における処理性能(CPU時間)を予測する方法について述べている。この方法によれば、通常の処理におけるシステムの処理性能がシステム全体を組み上げる前に予測可能であるとしている。
ソフトウェア・コンポーネントの別の選択指標としては、システムの信頼性が挙げられる。特に業務システムにおいては、システムの信頼性は重要な指標であり、システム性能がハードウェアの追加などの対策で改善可能な場合が多いのに対して、システムの信頼性は同様の対策が困難である場合が多い。特にコンポーネントベース・アプリケーションでは、ソフトウェア・コンポーネントの組み合わせによって信頼性が低下する場合もあり、システムの信頼性を予測することは難しい。
特許文献2では、コンポーネントベース・アプリケーションにおいて、ソフトウェア・コンポーネント毎に処理の開始・終了時刻を計測することで処理時間を測定し、一定の処理時間を超過した場合に異常状態と判定するなどして、対処手続きを行うとしている。対処手続きとしては、コンポーネントの停止やサーバプロセスの再起動などであり、システムの運用時にシステムの信頼性を監視し、異常時の対処をする方法が示されている。あわせて特許文献2ではシステム運用時におけるシステム性能を監視する方法についても示されている。
特開2004−220453号公報
特開2002−82926号公報 A Microrebootable System − Design, Implementation, and Evaluation. George Candea et al., Symposium on Operating Systems Design and Implementation 2004
以上に示したように、コンポーネントベース・アプリケーションの構築時におけるシステム性能予測方法、運用時におけるシステムの信頼性・性能の監視方法については公知であるが、コンポーネントベース・アプリケーションの構築時にシステムの信頼性を考慮してシステム構築を行う手法については効果的な方法がなかった。これは個々のソフトウェア・コンポーネントの信頼性をそのソフトウェア・コンポーネントを構築する際に評価することはできても、コンポーネントベース・アプリケーションにおいてシステム全体を組み上げる前にシステム全体の信頼性を評価する効果的な方法の開発が困難であったためであるが、コンポーネントベース・アプリケーションにおける信頼性の向上については最近新しいアプローチが検討されており、このアプローチの利用などを含めてシステムの構築時にシステムに要求される信頼性を考慮したシステム構築を行う効果的な手法を示すのが本発明の課題である。
前期の新しいアプローチは非特許文献1に示されている。非特許文献1では、コンポーネントベース・アプリケーションにおいて、コンポーネント単位でのリブート(マイクロリブート)によって、アプリケーション全体のリブート(フルリブート)に対して障害発生時により小さいコストでシステムを復旧させることが可能であることが示されており、特に完全なシステムダウンを回避できる可能性が高い点がシステムの信頼性向上の点で大きな意味を持つ。さらに、システムが正常に動作している間にも、マイクロリブートによりコンポーネント単位でのリブートを行うことで予防保守としてシステムの信頼性を向上させる方法が示されている。非特許文献1では予防保守としてマイクロリブートを行うコンポーネントは、コンポーネントのメモリ使用量の推移によって選択されている。
本願において開示される発明のうち、代表的なものの概要を説明すれば、次のとおりである。
アプリケーションをソフトウェア部品であるソフトウェア・コンポーネントの組み合わせで構築する際に、システムに要求される信頼性を確保しつつ効率的にアプリケーションを構築する方法を提供するために、ソフトウェア・コンポーネント毎にエラーの発生頻度・エラー発生時に復旧に要する時間・予防保守実行時の処理能力などの実行時履歴をアプリケーションID・組み合わせたコンポーネントID・実行したハードウェアIDなどの実行環境毎に記録された実行時履歴表を付加し、これらの情報からシステム構築時に個々のソフトウェア・コンポーネント毎に推奨される予防保守実行の間隔を算出し、またソフトウェア・コンポーネント毎の信頼性をシステムに要求される信頼性と比較して適否の判定・適合度の評価を行う。さらに、ソフトウェア・コンポーネントを組み合わせて作られたコンポーネントベース・アプリケーション全体での予防保守の実行スケジュールの算出と処理能力の算出を行い、またシステム全体での信頼性・処理能力の算出をしてシステム全体として要求される信頼性・処理性能と比較して適否の判定・適合度の評価を行う。
以上の判定・評価を行うために、ソフトウェア・コンポーネント毎に実行時履歴表を付加する手段、ソフトウェア・コンポーネント毎のエラー発生頻度・エラー発生時に復旧に要する時間・予防保守実行時の処理能力をコンポーネントベース・アプリケーション実行時に計測する手段もしくは試験的にコンポーネントベース・アプリケーションを実行して計測する手段、ソフトウェア・コンポーネント毎の実行時履歴表からソフトウェア・コンポーネント毎およびシステム全体での信頼性・処理能力の算出・評価を行う手段、システムに要求される信頼性・処理能力とソフトウェア・コンポーネント毎およびシステム全体での信頼性・処理能力とを比較して、各ソフトウェア・コンポーネントの適否の判定・適合度の評価を行う手段、コンポーネントベース・アプリケーションにおいてシステムに要求される信頼性・処理能力を満たす各ソフトウェア・コンポーネントの予防保守方法をシステム構築時に示す手段を提供する。
上記代表的な発明の効果は、次のとおりに説明できる。コンポーネントベース・アプリケーションで作られるシステムの構築時に、システムに要求される信頼性を考慮した効率的なシステム構築手法の提供を可能が可能となる。
さらに、予防保守を使ったシステム全体の信頼性の確保と処理性能の確保を両立させる効率的な予防保守スケジュールの提供を可能とする。
また、コンポーネントベース・アプリケーションで作られるシステムの構築時に、最適なソフトウェア・コンポーネントの選択を可能とするために、システムへの要求に対するソフトウェア・コンポーネントの適合度の提供が可能となる。
これらにより、結果的にコンポーネントベース・アプリケーションの構築コストが軽減される。
コンポーネントベース・アプリケーションは、ソフトウェア・コンポーネントをあらかじめ用意し、それを組み合わせることでアプリケーションを構築するので、開発時間の短縮、柔軟な改良が可能である点で優れているが、構築時に適切なソフトウェア・コンポーネントを多数のソフトウェア・コンポーネントから選択することが難しく、特にシステムに要求される信頼性を考慮して最適なソフトウェア・コンポーネントを選択可能とする本発明は、特にコンポーネントベース・アプリケーションの構築コスト削減に有効である。
またコンポーネントベース・アプリケーションにおける新しい信頼性向上手法であるマイクロリブートの考え方を使ったシステム運用時の高信頼化、予防保守によるシステムの高信頼化を考慮した、コンポーネントベース・アプリケーション構築を本発明は可能とする。
本発明で示すコンポーネントベース・アプリケーションにおける高信頼システム構築方法の概略を図1に示す。システム構築時には、まずシステム設計者もしくはシステム設計用のソフトウェアツールなどを利用して、業務定義書もしくは運用ポリシ(1)からシステム要件3を抽出する。
ここで、システム要件3に少なくとも含まれる仕様として、機能/環境仕様・信頼性仕様・性能仕様が挙げられる。
機能/環境仕様には、構築するシステムで実現すべき機能と、用意すべき動作環境が記述される。機能には、業務プロセスフローなどの業務定義書とコンポーネントベース・アプリケーションの構成を結びつけるための詳細仕様が含まれる。動作環境には実行に必要なハードウェアリソースやOSや実行基盤ミドルウェアなどの基盤ソフトウェアとその設定、外部I/Oやストレージなどを含むシステム構成情報などの詳細仕様もしくは条件が含まれる。
信頼性仕様には、アプリケーション実行時に要求される信頼性に関する要求が記述される。要求には、システム停止頻度に対する許容頻度や、障害発生時の復旧方法および復旧時における処理性能低下許容範囲や、性能変動に対する許容範囲などの信頼性を評価するのに必要な基準が含まれる。また、信頼性に関しては、可能な限り守られるべき希望基準や、絶対に守られなければならない絶対基準などのレベルの異なる複数の基準が含まれる場合も含まれる。
性能仕様には、アプリケーション実行時に要求される性能に関する要求が記述される。要求には、レイテンシやスループットなどの基準が含まれる。性能に関しても、可能な限り守られるべき希望基準や、絶対に守られなければならない絶対基準などのレベルの異なる複数の基準が含まれる場合も含まれる。
システム要件3は、業務定義書や運用ポリシ(1)からだけではなく、顧客などのシステム設計依頼者へのヒアリングや、システム設計者の判断、前システムや現システムの構成により決定されることも含まれる。
ソフトウェア・コンポーネント・データベース(以下、ソフトウェア・コンポーネントDB)5は、EJB(Enterprise Java Beans)コンポーネントに代表されるソフトウェア・コンポーネント8を登録したデータベースであり、システム要件3に応じてソフトウェア・コンポーネントDB5を検索し(4)、適切なソフトウェア・コンポーネント8を選択する。本発明によるソフトウェア・コンポーネント8には、実行履歴表7が付属しており、この実行履歴表7を使ってシステム要件3に記載の要求仕様への適合度を評価し最適コンポーネント・次点コンポーネント・次々点コンポーネントなどの順位をつけてコンポーネントの検索結果9が出力される。この選択はシステム要件3の機能仕様で示される業務プロセスフローなどの個々の業務プロセス毎に行われ、個々の業務プロセスは1つ以上のコンポーネントを選択する。そのため1つのシステム要件3に対して、通常は複数のコンポーネントの選択結果9が出力される。
コンポーネント評価結果11はコンポーネントの選択結果9に出力された個々のコンポーネント8について、システム要件3に記載の仕様に対しての適合度を評価した結果を出力したものである。機能評価は、前記の業務プロセスで要求される機能を満たすかどうかを示す指標であり、通常は完全に機能を満たす必要がある。機能が不足する場合には、その機能を補うために別のコンポーネントを選択するか、新たに作成する必要がある。環境評価は構築するシステムで想定される環境と、ソフトウェア・コンポーネントDB5を検索した際に利用したコンポーネント毎に記録された実行履歴表に記載の環境との類似度を示す指標である、完全に一致することが理想ではあるが、類似の環境も認められる。信頼性評価は、システム要件3に信頼性に関する要求に対する適合度を評価した結果を出力したものである。同様に、性能評価は性能に関する要求に対する適合度を評価した結果の出力である。
コンポーネント評価結果11を用いて、システム構築者が適切なソフトウェア・コンポーネント8を選択・組み合わせてコンポーネントベース・アプリケーション13を構築する。このプロセスは、ソフトウェアツールによる自動化もしくは半自動化も含まれる。コンポーネント評価結果11はコンポーネント毎のシステム要件(3)への適合度を評価した結果であるので、構築されたコンポーネントベース・アプリケーション13全体でシステム要件3への適合度を再度評価する必要がある(14)。その結果がアプリケーション評価結果(15)であり、その結果から必要に応じてアプリケーションの再構築を行う(16)。
図2は図1に示したシステム要件3でソフトウェア・コンポーネントDB5を検索し、コンポーネント評価結果11を出力するまでのプロセスについて実装の一例を示した図である。システム要件3は個々の業務プロセス毎に機能仕様・環境仕様17、信頼性仕様18、性能仕様19をもつ。個々の仕様は1つもしくは複数のソフトウェア・コンポーネント8に対する条件もしくは要求である。
まず機能仕様および環境仕様17によってソフトウェア・コンポーネントDB5を検索する。機能仕様はアプリケーションで実現すべき機能が記述されているので、この機能を持つソフトウェア・コンポーネント8を検索する。また、環境仕様により、実行環境に適合したソフトウェア・コンポーネント8を検索する。この検索結果22はアプリケーションを構築する上で最低限の仕様を満たすソフトウェア・コンポーネント群である。この検索においては、環境仕様17の要求に幅をもたせて検索することによって、実行環境に適合する可能性のある類似のソフトウェア・コンポーネント検索することも含まれる。このようにして検索されたソフトウェア・コンポーネント8は、若干の改良・修正によって利用可能となる可能性があるので有用である。また、ソフトウェア・コンポーネントDB5に完全に適合するソフトウェア・コンポーネントが含まれない場合にも、改良・修正によって利用可能となる可能性のあるソフトウェア・コンポーネントを提示することで、アプリケーションの構築を進めることを可能とする。なお、類似のソフトウェア・コンポーネントとして検索されたソフトウェア・コンポーネントについては、完全に適合したソフトウェア・コンポーネントと区別するマークを付しておくのがよい。
次に検索信頼性仕様(8により検索結果22に含まれるソフトウェア・コンポーネントを評価し、最適コンポーネント・次点コンポーネント・次々点コンポーネントなどを選択する。評価の際に、各ソフトウェア・コンポーネント8に付属の実行履歴表7に含まれる信頼性仕様に記載の要求への適合度を評価する。次に性能仕様19との適合度を信頼性仕様への適合度の評価と同様に行い、コンポーネント評価結果(28)を最終的に出力する。信頼性仕様18と性能仕様19の評価は、図2に記載の順序の他に、順序を入れ替えた評価、同時に評価し双方の評価結果をまとめて評価した結果により最適コンポーネント・次点コンポーネント・次々点コンポーネントなどを出力する方法もある。
コンポーネントベース・アプリケーションの実行時における障害発生時の復旧方法の実装例を図3に示す。コンポーネントベース・アプリケーション13を構成するコンポーネントのうちの1つのコンポーネント29で障害が発生した場合、このアプリケーション全体をリブートすることで障害復旧をする方法をフルリブートと呼ぶ。フルリブートでは、リブート実行中はアプリケーション全体が停止し、その停止時間もアプリケーションや環境によるが、数秒から数分にわたることもある。一方、障害を起したもしくは起したと推測されるコンポーネントを検出し、そのコンポーネントのみをリブートすることで障害復旧する方法をマイクロリブートと呼ぶ。マイクロリブートでは、障害復旧中もリブートを行っていない他のコンポーネントは継続して実行されるので、アプリケーションは一部のみもしくは一時的に停止するのみで、一般的にはフルリブートに比べて停止時間や停止規模が縮小され、信頼性が向上される。しかし、マイクロリブートはすべての場合に行えるとは限らず、障害を起したもしくは起したと推測されるコンポーネントがStatefullなコンポーネントであった場合などでリブートによって元の状態に戻らないことがあり、この場合にはフルリブートが必要になる可能性がある。
コンポーネントベース・アプリケーションの実行時における信頼性向上の方法である予防保守の実装例を図4に示す。コンポーネントベース・アプリケーション13で1つのコンポーネント33の障害発生可能性が増加したと判断された場合に、そのコンポーネント33に対して予防的にリブートを実行することで、障害発生可能性を減少させ、アプリケーションを継続的に稼動する方法である。図3に示した障害発生時のマイクロリブートは障害発生後に障害を発生したコンポーネントの検出とリブートを行うのではなく、アプリケーションを監視しアプリケーション実行中に障害発生可能性の増加したコンポーネントを検出し、適当なタイミングでリブートを実行する。予防保守なしの場合には、障害が発生し、その後にフルリブートもしくはマイクロリブートによる障害復旧を行うことになるため、アプリケーション全体が停止もしくは一部・一時のみ停止するため、予防保守を行った場合よりも信頼性が低下する可能性がある。
図5は本実施例におけるコンポーネントに付属する実行履歴表7の内容の例を示す。
実行履歴表7のインデックス部36には、コンポーネントが使われた環境として、ビジネス・業務種やアプリケーション名、実行したハードウェアに関する情報、実行時のシステム負荷状態、実行した日時、接続元や接続先のコンポーネントなどが記録される。リソース要求37部37は、このコンポーネント8が動作時に使用したCPU使用量、メモリ使用量、入出力データ量などが記録される。
機能仕様などで検索される機能部38については、コンポーネント(8)が行う処理内容や入出力インタフェースなどが記録される。この他に、コンポーネント8の機能については、例えばEJBなどのJavaBeanでは、イントロスペクションなどの外部にコンポーネントの機能を通知するメカニズムが備わっているのが普通である。
信頼性部39は、コンポーネント8の信頼性に関する事項を評価する際に利用される項目である。これには、実行時のエラー頻度、リブート所要時間、マイクロリブートを実行した際に起こった性能劣化度、実行した予防保守頻度の他に、このコンポーネントがマイクロリブート可能かどうかに関する情報などが含まれる。
性能部40には、このコンポーネント8の実行時の1つの処理に要するレイテンシや処理のスループットが含まれる。これらの性能値については、最大値や平均値などの形態で記録される場合も含まれる。
以上の実行履歴表7はコンポーネント8に1つだけとは限らず、例えば別のシステムで実行された場合や、別の機能として使われた場合など毎に用意する場合も含まれる。
次に実行履歴表7を記録する方法について述べる。図6はコンポーネントベース・アプリケーションの通常実行時の測定結果を実行履歴表に記録する手段を持つ実行管理システムの例である。アプリケーションは、コンポーネントベース・アプリケーション実行部41で実行される。コンポーネントベース・アプリケーション実行部41はコンポーネントベース・アプリケーション運用管理部45から制御指示42を受けて、アプリケーションの起動や停止などを行う他、ソフトウェア・コンポーネントDB5との間でコンポーネントの投入・退避を行う(44)。また、コンポーネントベース・アプリケーション実行部41からコンポーネントベース・アプリケーション運用管理部45に対して、アプリケーションやコンポーネントの状態報告が行われる(43)。この状態報告(43)には、主に信頼性や性能に関する報告が含まれる。OS、アプリケーション実行基盤48およびハードウェア50などとコンポーネントベース・アプリケーション運用管理部45の間では、状態モニタや構成情報に関する指示や確認が行われる(47、49)。リソース要求(図5のリソース要求部37を参照)はこれらの状態モニタから測定される。また、信頼性や性能に関しても、状態モニタ(47、49)から測定されることも含まれる。さらに、状態モニタや構成情報に関する指示や確認は、インデックス(図5のインデックス部36を参照)を作成するのにも使われることがある。
実行履歴表7を記録する別の方法について述べる。図7はコンポーネントベース・アプリケーションで実行履歴表7の作成・更新のための試験運用を行う方法の例である。
図7(a)は、コンポーネントベース・アプリケーションの一部に試験コンポーネント53を追加して実行することで、試験コンポーネント(53)の実行履歴表(7)を作成・更新する。試験コンポーネント53の入力線52は、試験コンポーネント53を実行するのに必要な情報を通信するが、この入力線52が他の通常のコンポーネントの実行や実行履歴表への記録に影響を与えてはならない。また、試験コンポーネント53の出力線(54)では、試験コンポーネント53から出力先のコンポーネントへの実際の通信は行わないが、実行履歴の測定に必要である。この出力線54も、入力線52と同様に他の通常のコンポーネントの実行や実行履歴表への記録に影響を与えてはならない。
図7(b)は別の試験運用の方法の例である。実行管理システム51とほぼ同等の試験実行管理システム55を設け、試験実行管理システム上で、実行履歴表7の作成・更新をしたいコンポーネントの実行を行う。この実行による実行履歴表7への記録は、試験運用管理部57を通して、実行管理システム上のソフトウェア・コンポーネントDB5に記録される。これによって、実際の実行部41には影響を与えずに実行履歴表7の作成・更新が可能となる。なお、OS、実行基盤48やハードウェア5)などは、実行管理システム51と試験実行管理システム55で2重に用意するだけでなく、一部もしくは全部を共用する方法も考えられる。
その他、図7(a)(b)のいずれの場合においても、試験的な実行を空いているリソースを活用しておこなうことも含まれる。
次に、図2に示した信頼性仕様(18)によるコンポーネントの評価について図8に例を示す。仕様/環境を満たすコンポーネント群22に含まれるコンポーネントA、B、Cの実行履歴表7は、それぞれ図8に示す状態になっている。図8では信頼性仕様の例を3つ挙げて、それぞれの評価結果を示した。
まず、信頼性仕様(1)(符号58)では、無停止であることが最優先要求であり、若干の性能変動を許容し、マイクロリブートの使用も可能である場合で、無停止の実現のために予防保守を行う。そのため、マイクロリブートが使用できず、予防保守が難しく、停止する可能性のあるコンポーネントBがまず最下位となる。またエラー頻度とマイクロリブート時の性能劣化度から、性能低下量が少ないコンポーネントCが最適コンポーネントとなる。コンポーネントAとCの評価方法の一例は、エラー頻度にマイクロリブート時の性能劣化度を掛け合わせた値の大小で比較する方法が挙げられる。
信頼性仕様(2)(符号60)では、性能変動不可が最優先要求であり、障害時にはある程度の停止が許容されるが、停止回数は少ない方がよい場合で、性能変動を起すマイクロリブートは利用できない。また、停止回数を減少させるために、エラー頻度を比較して、エラー頻度の低い順に優先度が高くなり、コンポーネントA、B、Cの順序と評価できる。
信頼性仕様(3)(符号62)では、停止時間の最小化が最優先要求であるが、マイクロリブートの使用が不可の場合である。この場合、エラー頻度とリブート時間から、例えば、エラー頻度にリブート所要時間を掛け合わせた値の大小で比較する方法で停止時間を評価し、コンポーネントB、C、Aの順序と評価できる。
ここまで、コンポーネント毎に実行履歴表をもち、コンポーネント8単位でアプリケーションの構築や管理を行う場合について述べたが、本発明の方法は、複数のコンポーネントの組み合わせを1つのコンポーネントと同等として扱う場合も含まれる。図9は複数のコンポーネントの組み合わせを1つのコンポーネント群66として、このコンポーネント群毎に実行履歴表65を付属させアプリケーション構築時に最適なコンポーネント群選択を行う方法について示した図である。
予防保守を行う場合には、本発明によるアプリケーション構築方法により、予防保守のスケジュールを作成することが可能である。図10は、予防保守スケジュールの作成例である。各コンポーネント8に付属する実行履歴表7から、信頼性に関する情報を得て、予防保守の実行頻度や予防保守実行時の性能劣化度などから、例えば性能変動の最も小さい予防保守スケジュールを作ることが可能である。例えば、コンポーネントAとCでは、エラー頻度に10倍の差があるため、コンポーネントCはコンポーネントAに比べて10倍の頻度で予防保守を実行する。コンポーネントCの予防保守実行頻度は、エラー頻度が10%であるので、例えば10回の処理に1度の割合で予防保守を実行する。予防保守に要する時間はリブート時間とし、その間だけ実行履歴表7に示されたマイクロリブート時の性能劣化度分だけ処理性能が低下すると考えると、できるだけ各コンポーネントの予防保守スケジュールが重ならないように配置することが重要である。以上のような考え方で、図10上部に記載のコンポーネントベース・アプリケーション22に対して作成した予防保守スケジュール70が図10下部のグラフである。この予防保守スケジュール70では、横軸が時間であり、縦軸は各コンポーネントを示している。棒グラフ中の黒い部分でそのコンポーネントに対して予防保守を実行しており、ここでは、同時に1つのコンポーネントのみが予防保守をしている状態を示した。
ここまで、コンポーネントベース・アプリケーションの構築方法について示したが、以上で示したソフトウェア・コンポーネントの評価方法を利用して、環境に応じたソフトウェア・コンポーネントの価格付けも可能である。例えば、実行リソースを低減することが重要な場合には、信頼性の指標が優れているがリソース要求の高いソフトウェア・コンポーネントは、信頼性の指標が劣っていてかつリソース要求も高いソフトウェア・コンポーネントよりも価格付けを高くすることができ、さらに、信頼性の指標が劣っているがリソース要求の低いソフトウェア・コンポーネントはさらに高い価格付けができる。
本発明で示したコンポーネントベース・アプリケーションの高信頼システム構築方法は、コンポーネントベース・アプリケーションで作られるシステムの構築時に、システムに要求される信頼性を考慮した効率的なシステム構築手法の提供を可能とすることで、コンポーネントベース・アプリケーションの適用範囲を広げる可能性がある。また、コンポーネントベース・アプリケーションの高信頼化を実現するために、システムの構築時に行う信頼性の評価においても、本発明で示した方法により、容易かつ精度よく評価することが可能となり、更に予防保守スケジュールなどの運用時も含めた高信頼化方法を示すなど、高信頼なコンポーネントベース・アプリケーションの構築に要するコストを低減することが可能である。さらに、本発明で示したコンポーネントの評価方法により、実行環境などに応じたコンポーネントの価格付けが可能となり、より柔軟なコンポーネント流通ビジネスが実現できる。
本発明によるコンポーネントベース・アプリケーション構築方法の概略を示した概念図である。 本発明によるコンポーネントベース・アプリケーション構築方法において、コンポーネントの選択方法について示した概念図である。 本発明で利用するコンポーネントベース・アプリケーションの実行時の障害復旧において信頼性を向上させる方法を示した概念図である。 本発明で利用するコンポーネントベース・アプリケーションの実行時に予防保守をして信頼性を向上させる方法を示した概念図である。 本発明によるコンポーネントベース・アプリケーション構築方法でコンポーネント毎に付属する実行履歴表の内容の例を示したデータ構成図である。 本発明によるコンポーネント毎に付属する実行履歴表を、アプリケーション実行時に作成・更新する実行管理システムの例を示した概念図である。 本発明によるコンポーネント毎に付属する実行履歴表を、アプリケーションを試験的に実行することで作成・更新する方法の例を示した概念図である。 本発明によるコンポーネントベース・アプリケーション構築方法において、信頼性仕様によりコンポーネントの評価を行う例を示した概念図である。 本発明によるコンポーネントベース・アプリケーション構築方法で、複数のコンポーネントの組み合わせを単位として構築する方法の概略を示した概念図である。 本発明によるコンポーネントベース・アプリケーション構築方法において、コンポーネント毎に付属する実行履歴表を利用した予防保守のスケジュールの作成例を示した概念図である。
符号の説明
1:業務定義書・運用ポリシ
3:システム要件
5:ソフトウェア・コンポーネント・データベース
7:実行履歴表
8:ソフトウェア・コンポーネント
9:ソフトウェア・コンポーネント検索結果
10:ソフトウェア・コンポーネント評価結果
13:コンポーネントベース・アプリケーション
15:コンポーネントベース・アプリケーション評価結果
17:機能仕様/環境仕様
18:信頼性仕様
19:性能仕様
22:機能/環境を満たすコンポーネント群
25:信頼性仕様評価結果
28:ソフトウェア・コンポーネント評価結果
29:障害発生したソフトウェア・コンポーネント
30:アプリケーション停止時間
33:障害発生可能性が増加したソフトウェア・コンポーネント
34:障害復旧時間
35:予防保守時間
36:インデックス部
37:リソース要求部
38:機能部
39:信頼性部
40:性能部
41:コンポーネントベース・アプリケーション実行部
42:コンポーネントベース・アプリケーション制御指示
43:コンポーネントベース・アプリケーション状態報告
44:コンポーネントベース・アプリケーション投入・退避
45:コンポーネントベース・アプリケーション運用管理部
46:実行履歴表入出力
47,49:状態モニタ、構成情報入出力
48:OS,アプリケーション実行基盤
50:ハードウェア
51:コンポーネントベース・アプリケーション実行管理システム
52:試験コンポーネント入力線
53:試験コンポーネント
54:試験コンポーネント出力線
55:試験実行管理システム
56:試験実行部
57:試験運用管理部
58,60,62:信頼性仕様例
59,61,63:信頼性仕様によるソフトウェア・コンポーネント評価結果例
64:ソフトウェア・コンポーネント群・データベース
65:実行履歴表
66:ソフトウェア・コンポーネント群
67:ソフトウェア・コンポーネント群検索結果
68,69:ソフトウェア・コンポーネント群評価結果
70:予防保守スケジュール例。

Claims (9)

  1. ソフトウェア部品であるソフトウェア・コンポーネントの組み合わせでアプリケーションを構築するコンポーネントベース・アプリケーション構築方法であって、蓄積するソフトウェア・コンポーネントの実行時の信頼性指標の履歴を該ソフトウェア・コンポーネントの実行履歴として記録し、ソフトウェア・コンポーネントを組み合わせてアプリケーションを構築する際に、前記記録された実行履歴を参照してアプリケーションの実行時の信頼性を評価し、前記アプリケーションの構築に採用するコンポーネントの選択に反映させることを特徴とするコンポーネントベース・アプリケーション構築方法。
  2. 前記実行履歴として、ソフトウェア・コンポーネント毎の実行時の信頼性指標の履歴を実行時に測定することが可能なコンポーネントベース・アプリケーション実行環境により記録された実行履歴を用いることを特徴とする請求項1に記載のコンポーネントベース・アプリケーション構築方法。
  3. 前記実行履歴として、前記ソフトウェア・コンポーネント毎の実行時の信頼性指標の履歴を測定するために試験的に実行することができる実行環境とその実行履歴とを記録することを特徴とするコンポーネントベース・アプリケーション実行環境を用いて記録された実行履歴を用いることを特徴とする請求項1に記載のコンポーネントベース・アプリケーション構築方法。
  4. 前記実行履歴に該ソフトウェア・コンポーネントの実行環境を記録し、構築するアプリケーションの実行環境と同一の実行履歴を持つコンポーネントを検索して前記アプリケーションの構築に採用するコンポーネントの選択に反映決定することを特徴とする請求項1に記載のコンポーネントベース・アプリケーション構築方法。
  5. 構築するアプリケーションの実行環境と類似の実行環境も同一の実行履歴をもつコンポーネントとして検索することを特徴とする請求項4に記載のコンポーネントベース・アプリケーション構築方法。
  6. 前記実行履歴は蓄積するソフトウェア・コンポーネントの群毎に記録し、前記アプリケーションの構築は該ソフトウェア・コンポーネントの群を単位に行うことを特徴とする請求項1の
  7. 前記信頼性指標として、エラーもしくは障害の発生時に復旧に要した時間、復旧実行中の性能劣化度、リブートに要する時間、リブートを実行中の性能劣化度の1つ以上を含むことを特徴とする請求項1に記載のコンポーネントベース・アプリケーション構築方法。
  8. アプリケーションの実行時に、エラーもしくは障害の発生を予防するためにソフトウェア・コンポーネント単位もしくはソフトウェア・コンポーネントの組み合わせ単位にリブートを行うことが可能なアプリケーション実行環境を持ち、前記予防的にリブートを実行した際の、予防的なリブートの実行頻度、予防的なリブートの実行に要する時間、予防的なリブート実行中の性能劣化度の1つ以上を信頼性指標に含むことを特徴とする請求項1に記載のコンポーネントベース・アプリケーション構築方法。
  9. 前記実行履歴を利用してコンポーネントベース・アプリケーション実行環境に応じてソフトウェア・コンポーネントもしくはそれらのソフトウェア・コンポーネントを組み合わせて作られたコンポーネントベース・アプリケーションの価格付けを決定するステップを更に有する請求項1に記載のコンポーネントベース・アプリケーション構築方法。
JP2004283032A 2004-09-29 2004-09-29 コンポーネントベース・アプリケーション構築方法 Withdrawn JP2006099308A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004283032A JP2006099308A (ja) 2004-09-29 2004-09-29 コンポーネントベース・アプリケーション構築方法
US11/070,499 US7703072B2 (en) 2004-09-29 2005-03-03 Component-based application constructing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004283032A JP2006099308A (ja) 2004-09-29 2004-09-29 コンポーネントベース・アプリケーション構築方法

Publications (2)

Publication Number Publication Date
JP2006099308A true JP2006099308A (ja) 2006-04-13
JP2006099308A5 JP2006099308A5 (ja) 2007-05-17

Family

ID=36182200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004283032A Withdrawn JP2006099308A (ja) 2004-09-29 2004-09-29 コンポーネントベース・アプリケーション構築方法

Country Status (2)

Country Link
US (1) US7703072B2 (ja)
JP (1) JP2006099308A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293866A (ja) * 2006-04-26 2007-11-08 Sap Ag プログラミングのための関連情報の使用
JP2008102630A (ja) * 2006-10-17 2008-05-01 Toshiba Syst Technol Corp ソフトウェア安全性診断装置およびプログラム
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法
US7437269B2 (en) * 2005-03-30 2008-10-14 Hitachi, Ltd. Method, system and program for evaluating reliability on component
JP2008304996A (ja) * 2007-06-05 2008-12-18 Nec Corp 要件定義具体化支援装置および要件定義具体化支援方法
JP2009005209A (ja) * 2007-06-25 2009-01-08 Fuji Xerox Co Ltd 画像処理装置
JP2009111903A (ja) * 2007-10-31 2009-05-21 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム
JP2010039892A (ja) * 2008-08-07 2010-02-18 Hitachi Ltd パターン作成装置及びパターン作成方法
WO2014188502A1 (ja) * 2013-05-21 2014-11-27 株式会社日立製作所 管理システム、管理プログラム及び管理方法
JP2015032126A (ja) * 2013-08-02 2015-02-16 日本電気株式会社 アセット抽出装置、アセット抽出方法及びプログラム
US9015675B2 (en) 2010-04-13 2015-04-21 Nec Corporation System reliability evaluation device
JP2019049815A (ja) * 2017-09-08 2019-03-28 富士通株式会社 データ変換プログラム、データ変換方法、およびデータ変換装置
JP2020149638A (ja) * 2019-03-15 2020-09-17 株式会社リコー 起動制御装置、画像形成装置、起動制御方法、およびプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058177B2 (en) * 2004-02-12 2015-06-16 Raju Venkata Chiluvuri Real software components for achieving real component-based design
JP4963110B2 (ja) * 2008-01-25 2012-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス検索システム、方法及びプログラム
US8448136B2 (en) * 2009-06-25 2013-05-21 Intuit Inc. Creating a composite program module in a computing ecosystem
JP5333141B2 (ja) * 2009-10-09 2013-11-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5839774B2 (ja) * 2010-01-06 2016-01-06 三菱重工業株式会社 計算機及び計算機管理方法並びに計算機管理プログラム
US8972564B1 (en) * 2011-09-01 2015-03-03 Amazon Technologies, Inc. Reliability estimator for ad hoc applications
US9594903B1 (en) * 2012-02-29 2017-03-14 Symantec Corporation Reputation scoring of social networking applications
US8949653B1 (en) * 2012-08-03 2015-02-03 Symantec Corporation Evaluating high-availability configuration
US10148523B1 (en) * 2013-09-16 2018-12-04 Amazon Technologies, Inc. Resetting computing resources in a service provider network
US11250176B2 (en) * 2017-05-05 2022-02-15 Nucor Corporation System for on-site tracking, managing, planning and staging construction projects
US11379188B2 (en) * 2019-11-15 2022-07-05 Foresight Data Systems LLC Plugin-oriented functional programming system configured with software components

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149280A (ja) * 1996-09-17 1998-06-02 Toshiba Corp プログラム合成装置及びプログラム合成方法
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2003150549A (ja) * 2001-11-14 2003-05-23 Nippon Telegraph & Telephone East Corp トレース情報取得表示・検証システム及び方法
JP2004185166A (ja) * 2002-12-02 2004-07-02 Hitachi Ltd サービス部品選択支援方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862696B1 (en) * 2000-05-03 2005-03-01 Cigital System and method for software certification
US20040205730A1 (en) * 2001-06-11 2004-10-14 Week Jon J. System and method for building libraries and groups of computer programs
US20030163780A1 (en) * 2002-02-18 2003-08-28 Marc Kossa Enhancing management of a distributed computer system
WO2003098451A1 (en) * 2002-05-16 2003-11-27 Agency For Science, Technology And Research Apparatus for discovering computing services architecture an developing patterns of computing services and method therefor
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
JP4787460B2 (ja) 2003-01-17 2011-10-05 日本電気株式会社 ソフトウェア・コンポーネントの性能測定を基にしたシステム性能予測方式および方法
US7673027B2 (en) * 2004-05-20 2010-03-02 Hewlett-Packard Development Company, L.P. Method and apparatus for designing multi-tier systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10149280A (ja) * 1996-09-17 1998-06-02 Toshiba Corp プログラム合成装置及びプログラム合成方法
JP2002082926A (ja) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
JP2003150549A (ja) * 2001-11-14 2003-05-23 Nippon Telegraph & Telephone East Corp トレース情報取得表示・検証システム及び方法
JP2004185166A (ja) * 2002-12-02 2004-07-02 Hitachi Ltd サービス部品選択支援方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437269B2 (en) * 2005-03-30 2008-10-14 Hitachi, Ltd. Method, system and program for evaluating reliability on component
JP2007293866A (ja) * 2006-04-26 2007-11-08 Sap Ag プログラミングのための関連情報の使用
JP2008102630A (ja) * 2006-10-17 2008-05-01 Toshiba Syst Technol Corp ソフトウェア安全性診断装置およびプログラム
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法
JP2008304996A (ja) * 2007-06-05 2008-12-18 Nec Corp 要件定義具体化支援装置および要件定義具体化支援方法
JP2009005209A (ja) * 2007-06-25 2009-01-08 Fuji Xerox Co Ltd 画像処理装置
JP2009111903A (ja) * 2007-10-31 2009-05-21 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム
JP2010039892A (ja) * 2008-08-07 2010-02-18 Hitachi Ltd パターン作成装置及びパターン作成方法
US9015675B2 (en) 2010-04-13 2015-04-21 Nec Corporation System reliability evaluation device
WO2014188502A1 (ja) * 2013-05-21 2014-11-27 株式会社日立製作所 管理システム、管理プログラム及び管理方法
US9513957B2 (en) 2013-05-21 2016-12-06 Hitachi, Ltd. Management system, management program, and management method
JP2015032126A (ja) * 2013-08-02 2015-02-16 日本電気株式会社 アセット抽出装置、アセット抽出方法及びプログラム
JP2019049815A (ja) * 2017-09-08 2019-03-28 富士通株式会社 データ変換プログラム、データ変換方法、およびデータ変換装置
JP2020149638A (ja) * 2019-03-15 2020-09-17 株式会社リコー 起動制御装置、画像形成装置、起動制御方法、およびプログラム

Also Published As

Publication number Publication date
US20060085664A1 (en) 2006-04-20
US7703072B2 (en) 2010-04-20

Similar Documents

Publication Publication Date Title
JP2006099308A (ja) コンポーネントベース・アプリケーション構築方法
JP6828096B2 (ja) サーバハードウェア障害の分析及びリカバリ
US11269718B1 (en) Root cause detection and corrective action diagnosis system
JP4859558B2 (ja) コンピュータシステムの制御方法及びコンピュータシステム
US8578335B2 (en) Apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code
US8212683B2 (en) Metric for planned downtime
US8275757B2 (en) Apparatus and method for process monitoring
JP2010526352A (ja) 統計的な分析を利用した性能障害管理システム及びその方法
JP4823315B2 (ja) プログラム分析方法及び装置
US6567935B1 (en) Performance linking methodologies
US8868973B2 (en) Automating diagnoses of computer-related incidents
JP2007148728A (ja) ポリシ制御方法、装置及びプログラム
JP2012208664A (ja) ソフトウェア設計・運用統合管理システム
Alhosban et al. Self-healing framework for cloud-based services
JP2005258501A (ja) 障害影響範囲解析システム及び障害影響範囲解析方法及びプログラム
US11582087B2 (en) Node health prediction based on failure issues experienced prior to deployment in a cloud computing system
Singh et al. A step towards software preventive maintenance
CN110990179B (zh) 一种任务处理方法、装置及设备
JP5181479B2 (ja) 故障診断システム及び故障診断プログラム
US20120016705A1 (en) Method and apparatus for supporting a computer-based product
Kajko-Mattsson Can we learn anything from hardware preventive maintenance?
JP6326383B2 (ja) ネットワーク評価システム、ネットワーク評価方法、及びネットワーク評価プログラム
Vouk et al. Some issues in multi-phase software reliability modeling.
Bharadwaj et al. Mapping general system characteristics to non-functional requirements
US20120101864A1 (en) Method and apparatus for supporting a computer-based product

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110223

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120328

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120703