JP2005516302A - 汎用適応制御のためのオブジェクト指向フレームワーク - Google Patents

汎用適応制御のためのオブジェクト指向フレームワーク Download PDF

Info

Publication number
JP2005516302A
JP2005516302A JP2003564735A JP2003564735A JP2005516302A JP 2005516302 A JP2005516302 A JP 2005516302A JP 2003564735 A JP2003564735 A JP 2003564735A JP 2003564735 A JP2003564735 A JP 2003564735A JP 2005516302 A JP2005516302 A JP 2005516302A
Authority
JP
Japan
Prior art keywords
tuning system
target systems
adapters
metrics
controllers
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
JP2003564735A
Other languages
English (en)
Other versions
JP3940399B2 (ja
Inventor
ビーガス、ジョゼフ、フィリップ
ヘラースタイン、ジョゼフ、エル
パレク、スージェイ
ピルグリム、ジェフリー、ロバート
シュロスネイグル、ドナルド、エイ
スキランテ、マーク、エス
サッサッチャー、ジェイラム、エス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005516302A publication Critical patent/JP2005516302A/ja
Application granted granted Critical
Publication of JP3940399B2 publication Critical patent/JP3940399B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 コンピュータ・システムおよびアプリケーションの自動化チューニングのための汎用ソフトウェア・エージェントを構築しインプリメントするためのシステムおよび方法を提供することである。
【解決手段】 このフレームワークは、エージェントをモジュール方式で作成できるようにするモジュールおよびインターフェースを定義する。ターゲット・システム(260)の詳細は、ターゲット・システム(260)への均一インターフェースを提供するアダプタ(230)によって収集される。エージェント内のデータはメトリック・マネージャ(240)によって管理され、コントローラ・モジュールは所望の制御アルゴリズムをインプリメントする。このモジュール構造および共通インターフェースは、広く様々なターゲット・システムに適用可能な汎用エージェントの構築を可能にし、広く様々な制御アルゴリズムを使用することができる。

Description

本発明は一般に、コンピュータ・システムのパフォーマンスに関し、特に、汎用的かつアプリケーション独立的にコンピュータ・システムおよびアプリケーションの自動化パフォーマンス・チューニングのためのシステムおよび方法に関する。
この数年の間、分散およびネットワーク化システムの複雑さは著しく増大してきた。これは主にクライアント/サーバ・アーキテクチャおよび他の分散コンピューティング・パラダイムの活用によるものである可能性がある。このようなコンピュータ・システムおよびソフトウェア(オペレーティング・システム、ミドルウェア、およびアプリケーション)は、最適パフォーマンスのためにそれらを構成することが困難になるほど非常に複雑なものになっている。
データベース(たとえば、ORACLE、DB2)、メッセージ待ち行列化システム(たとえば、MQSERIES)、アプリケーション・サーバ(たとえば、WEBSPHERE、DOMINO)などの複雑なアプリケーションは、その構成、挙動、およびパフォーマンスを制御する、文字通り、数十および数百のパラメータを有する(DOMINO/DB2 adminガイド)。また、このような複雑なシステムの挙動は、システム・ユーザによってシステムに課せられる動的負荷にも支配される。個々のパラメータを設定することは相当な専門知識を要し、パラメータと、結果的にシステムの挙動およびパフォーマンスに及ぼす影響との相互作用を理解することはさらに困難なことである。これらのシステムを管理することの困難さを増すもう1つの要因は、このようなシステムが非常に動的なものである可能性があり、したがって、たとえば、時間の経過につれて作業負荷が変化する場合に、そのパラメータの常時モニターおよび調整を必要とする可能性があることである。
したがって、特定のシステムの総所有コスト(TCO)は、エキスパートの援助を雇うコストだけでなく、システムが適切に構成されていない場合に潜在的に失われる歳入のために増加する可能性がある。TCOおよびシステム管理者の負担を低減するために、多くのソフトウェア・ベンダは、現在、このような複雑なシステムを管理する複雑さを管理しやすくするためにソフトウェア・エージェントにたよっている。
ソフトウェア・エージェントは、このようなシステムを制御するというタスクに非常に適している。従来のエキスパート知識は一度だけエージェントに取り込むことができ、それにより、専門知識に対するエンドユーザの要求が低減された。加えて、ソフトウェア・エージェントは、より密接にシステムに結びつけることができ、人間の力で可能なものより密接なモニターおよび更新を実行することができる。制御理論、最適化、オペレーションズ・リサーチ、人工知能の分野における最近の進歩は、多くのエキスパート知識がなくても複雑なシステムの挙動を動的にチューニングするための豊富なアルゴリズムおよび技法をもたらすものである。
様々なターゲット固有または「カスタマイズ自動化チューニング・システム」(CATS)が開発されている。例えば、通信サブシステム内のタスク優先順位を使用してマルチメディアの送達に関するサービス品質を制御したり、応答時間およびスループットの目標を達成するためにMVS(多重仮想記憶)固有のメカニズムを使用してMVSシステムで達成するための応答時間およびスループットの目標を管理者が指定するための手段を提供する。
「チューニング」の概念は、既存のリソース割振りを調整することによりサービス・レベルを改善しようとするものである。上記のことを達成するには、メトリックスと、リソース割振りを決定するコントロールへのアクセスが必要である。一般に、(1)たとえば、回線速度、プロセッサ処理速度、およびメモリ・サイズなどのチューニング・コントロール(tuning control)を調整することによって変更されないターゲットのパフォーマンス関連機能を記述する「構成メトリックス」と、(2)たとえば、到着比率およびサービス時間などのターゲット上の負荷を特徴付ける「作業負荷メトリックス」と、(3)たとえば、応答時間、待ち行列長、およびスループットなどの送達されるパフォーマンスを特徴付ける「サービス・レベル・メトリックス」という3通りのクラスのメトリックスが存在する。
「チューニング・コントロール」は、ターゲット・リソース割振りを調整するパラメータであり、このため、ターゲットのパフォーマンス特性を変更するものである。電子メール・システムおよびアプリケーション・フレームワークであるLOTUS NOTESは、大規模な1組のコントロールを有する。これらの中には、メモリを管理するためのNSF_BufferPoolSize、サーバへのアドミッションを制御するためのServer_MaxSessions、およびアイドル・ユーザの数を規制するためのServer_SessionTimeoutがある。差異化サービスをサポートするWebベースのアプリケーションには、サービス・クラスおよびサーバ・タイプによって経路指定部分を決定するチューニング・コントロールが存在する。分散システムにおける信頼できるトランスポート・メカニズムであるMQ SERIESは、ストレージ割振りと優先順位割当てのためのコントロールを有する。データベース製品(たとえば、IBMのDB/2)では、ソート・インデックスおよびバッファ・プール・サイズ割振りのためのコントロールを公表している。
CATSでは、その解釈および調整のためのメカニズムを自動化チューニング・システムに取り込むことができるように、メトリックスおよびチューニング・コントロールをあらかじめ識別しなければならない。したがって、依然としてCATSの構築およびメンテナンスは相当な専門知識を必要とする。インターネットの出現により、ソフトウェア・システムおよびそのコンポーネントは、それらが処理する作業負荷のように急速に進化している。したがって、チューニングが行われる速度に近い速度で自動化チューニング・システムを更新しなければならないのはもっともである。このような事情では、自動化チューニングの価値は著しく減少する。
自動化チューニングに関連する従来技術は主として、非常に緊密にターゲット・システム(すなわち、制御されるシステム)に結合された特定のアルゴリズムおよびアーキテクチャを開発することに焦点を合わせていた。このようなケースでは、そのアルゴリズムが他のシステムに容易に再適用することができず、提案されたアーキテクチャに他の制御方式を挿入することもできない。
ターゲット独立自動化チューニングに関する既存の従来技術では、メトリックスおよびコントロールにアクセスするためのアーキテクチャ上のサポートを考慮していない。汎用自動化チューニングを実現するには、汎用自動化チューニング・システムがターゲットから要求されたデータにアクセスできるように、十分に定義されたインターフェースを必要とする。以前の研究ではこれらの考慮事項を無視している。
チューニング・コントロールの適切な設定を探すサーチは、メトリックスのセマンティクスおよびチューニング・コントロールの操作に関する情報を公表することによって容易になる。特に、構成、作業負荷、およびサービス・レベルというカテゴリにメトリックスを入れることがターゲットにとって有用である。このような指定は、汎用システム・モデルの構築を助成することができる。さらに、このような知識を備えることによってチューニング・コントロールの適切な設定を探すサーチの複雑さが低減されるので、チューニング・コントロール調整の指向性の効果を表現する方法が存在しなければならない。過去の研究はこのような事柄に焦点を合わせていない。
従来技術の上記の諸問題ならびにその他の関連問題は、汎用適応制御のためのオブジェクト指向フレームワークである本発明によって解決される。本発明は、たとえば、ネットワーク内の1つまたは複数のコンピュータ・システムなどの1つまたは複数のターゲット・システムに適用することができる。
有利なことに、本発明は、汎用自動化チューニング・エージェント(GATA)を作成するためのフレキシブルなソフトウェア・アーキテクチャを提供し、そのエージェントは、1つまたは複数のコントローラ・モジュール(以下「オートチューン・コントローラ(Autotune Controller)」ともいう)と、1つまたは複数のターゲット・システム(アプリケーション)アダプタ(以下「オートチューン・アダプタ(AutotuneAdaptor)」ともいう)とで構成されるソフトウェア・エージェントである。その上、本発明により、ユーザは、プラグ・アンド・プレイ方式で他のコンポーネントを代用できるように、エージェントのコンポーネント(コントローラおよびアダプタ)同士の間のインターフェースを指定することができる。また、本発明は、計算可能な制御戦略のインプリメンテーション(および構成)を可能にし、任意に複雑なやり方でコントローラ同士が相互接続できるようにするインターフェースも提供する。さらに、本発明は、フレームワーク内で作成されたエージェント同士が相互接続し、互いに通信して、複数ソフトウェア・エージェントからなる潜在的に複雑なネットワークおよび/または階層を形成できるようにするためのメカニズムを提供する。追加として、本発明は、必要な場合に任意選択かつフレキシブルな手動モニターおよび介入を可能にするカスタマイザ・インターフェースを提供する。
このアーキテクチャは、汎用フレームワークにおける多くの制御戦略のインプリメンテーションを可能にする。その上、これは、必ずしもターゲット・システムに結びつけられないように、制御戦略をモジュール方式でインプリメントできるようにする。このモジュール性によりさらに、同じ制御戦略を容易に種々のターゲット・システムに適用することができる。このアーキテクチャは、複数のコントローラを必要とする戦略をインプリメントするのに十分なほどフレキシブルである。加えて、これは、(追加のコーディングを必要とせずに)既存のインフラストラクチャを強化するエージェント間通信を可能にする。このため、複雑な分散システムを制御するための複雑なエージェント・ネットワークを構築することができる。
本発明の一態様によれば、1つまたは複数のターゲット・システムを自動的にチューニングするためのチューニング・システムが提供される。メトリック・マネージャは、1つまたは複数のターゲット・システムに対応する少なくとも1組のメトリックスを管理する。1つまたは複数のコントローラは、少なくとも1組のメトリックスに基づいて1つまたは複数の制御戦略をインプリメントする。この1つまたは複数の制御戦略は、1つまたは複数のターゲット・システムのうちのいずれかの特定のアーキテクチャとは無関係である。1つまたは複数のアダプタは、1つまたは複数の制御戦略に関して1つまたは複数のターゲット・システムとのインターフェースを取る。この1つまたは複数のアダプタのうちの少なくとも1つは、1つまたは複数のターゲット・システムのうちの対応する1つに固有のものである。
本発明の他の態様によれば、このチューニング・システムはさらに、メトリック・マネージャと、1つまたは複数のコントローラと、1つまたは複数のアダプタとのうちの少なくとも1つをカスタマイズするためのユーザ入力を受け取るための少なくとも1つのカスタマイザを有する。この少なくとも1つのカスタマイザはグラフィカル・ユーザ・インターフェースである。
本発明のさらに他の態様によれば、この1つまたは複数のコントローラは、1つまたは複数の制御戦略間の矛盾を解決するためのマスタ・コントローラを有する。
本発明のさらに他の態様によれば、このチューニング・システムは、他のチューニング・システムを呼び出して、1つまたは複数のターゲット・システムに関して階層チューニング・システムを形成する能力を有する。
本発明の他の態様によれば、このチューニング・システムおよび他のチューニング・システムは1つまたは複数の制御戦略をインプリメントするために協力して動作する。
本発明のさらに他の態様によれば、1つまたは複数のコントローラのうちの少なくともいくつかはモジュール方式のものであり、チューニング・システムからの削除、変更、または置換が行われる能力を有する。
本発明のさらに他の態様によれば、1つまたは複数のアダプタのうちの少なくともいくつかはモジュール方式のものであり、チューニング・システムからの削除、変更、または置換が行われる能力を有する。
本発明の上記その他の態様、特徴、および利点は、添付図面に関連して読むべき以下に示す好ましい実施形態の詳細な説明から明らかになるだろう。
図1は、本発明の例示的な一実施形態により、本発明によるソフトウェア・エージェントが適用可能な典型的な稼働環境を示すブロック図である。エージェント110は、所望のサービス・レベル要件ならびにコントローラの動作に影響する様々なパラメータに関して人間(またはソフトウェア)の管理者エンティティ120から情報を受け取る。本明細書で前述する構成メトリックス、作業負荷メトリックス、およびサービス・レベル・メトリックスに関してエージェント110への他の入力は、ターゲット・アプリケーション130自体から受け取る。このような入力を使用して、エージェント110は、ターゲット・システムまたはシステム130に関する制御設定を計算する。これらの制御設定はその後、ターゲット・システム130に伝えられる。したがって、エージェント110がターゲット・システム130に関して閉ループで動作することが分かる。また、図1は、ユーザ140によってそれに課せられる作業負荷によってターゲット・システム130の挙動が支配されることも示している。図1の最終態様は、管理者120がコントローラ・パラメータを提供することに加え、コントローラの動作に関連するメトリックスにアクセスできることである。これを使用すると、自動化エージェント110をモニターし、それが適切に動作することを保証し、その動作の効率を測定することができる。
このようなエージェントの内部コンポーネントは図2に概略が示されている。特に、図2は、本発明の例示的な一実施形態により、ソフトウェア・エージェントとそれに対応する相互接続とを有するコンポーネントを示すブロック図である。このエージェント・アーキテクチャはオートチューン・エージェント(Autotune Agent)と呼ぶ。
図2のソフトウェア・エージェントは、マスタ・オートチューン・コントローラ210と、1つまたは複数のスレーブ・オートチューン・コントローラ(以下「スレーブ・オートチューン・コントローラ」)220と、1つまたは複数のオートチューン・アダプタ(以下「オートチューン・アダプタ」)230と、リポジトリ250と、メトリック・マネージャ240と、管理者アプリケーション・プログラミング・インターフェース(API)265と、カスタマイザ270、280、290とを含む。図2のソフトウェア・エージェントは、1つまたは複数のターゲット・システムおよび/または1つまたは複数の他のオートチューン・エージェント(本発明によるソフトウェア・エージェントが他のエージェントならびに他のエージェントではないターゲット・システムと対話可能であることを示すために、以下、区別なく「ターゲット・システム」または「他のオートチューン・エージェント」という)260と対話する。上記の説明は、オートチューン・エージェント自体が他のオートチューン・エージェントのターゲット・システムになりうることを示している。
オートチューン・エージェントは、1つまたは複数のオートチューン・コントローラと1つまたは複数のオートチューン・アダプタから構成することができる。そのエージェント内に複数のオートチューン・コントローラが存在する場合、そのうちの1つはマスタ・コントローラ210と指定され、最終制御アクションの生成を担当する。マスタ・コントローラ210は、制御アルゴリズムに応じて、所望の制御アクションの決定を助けるためにサブルーチンとして他の(スレーブ)コントローラ220のうちのいずれかを使用することができる。
図3は、本発明の例示的な一実施形態により、メトリックスのタイプ階層を示すツリーである。メトリックス390は、読取り専用メトリックス370と読取り/書込みメトリックス380に分割されている。本明細書に記載する本発明の例示的な実施形態では、構成メトリックス310と、作業負荷メトリックス320と、サービス・レベル・メトリックス330は読取り専用であり、チューニング・コントロール・メトリックス340は読取り/書込みメトリックスと見なされている。当然のことながら、本発明の精神および範囲を維持しながら、他の構成を使用することもできる。
メトリックスはメトリック・マネージャ240によって管理される。このエンティティは、そのエージェントにとって既知の1組のメトリックスを追加し、削除し、リストするためのインターフェース(図2のgetMetric())を提供する。メトリック・マネージャ240により、管理者はカスタマイザ280または管理者API265を介して、ロギングのために使用可能なリポジトリ250にロギングすべき既知のメトリックスのサブセットを選択することができる。メトリック・マネージャ240は、ロギングの宛先の選択およびロギング機能の使用可能/使用不可などの1組の各種機能を提供する。
オートチューン・アダプタ230は、ターゲット・アプリケーション(複数も可)260に対するエージェントのインターフェースである。各オートチューン・アダプタ230は、それが把握している1組のメトリックスを定義する。この1組は、オートチューン・アダプタ230に照会することによって入手することができる(図2のgetMetrics())。読取り専用メトリックスの場合、オートチューン・アダプタ230は、ターゲット・システム260からこれらのメトリックスの最新値を獲得する手段を提供する(図2のprocess())。チューニング・コントロール・メトリックスの場合、オートチューン・アダプタ230は、ターゲット・システム260上のそのチューニング・コントロールの値を設定するための手段を提供する(図2のsetControl())。オートチューン・アダプタ230はターゲット固有のものであり、制御アルゴリズム自体が特定のターゲット・システムに直接結びつけられる必要がないように抽象化を提供する。同じ制御アルゴリズムを他のターゲット・システムに適用するためには、そのターゲット・システムの代用としてオートチューン・アダプタを使用するだけでよい。ターゲット・システム260は、たとえば、他のオートチューン・エージェントを含む、任意の外部エンティティにすることができることに留意されたい。この特性により、複数エージェントのチェーンを構築することができ、そのチェーンはエージェント階層を構築するために後で使用される。
オートチューン・コントローラ210、220は制御戦略をインプリメントする。オートチューン・コントローラ210、220は、メトリック・マネージャから関心のあるすべてのメトリックスを入手する(getMetric()を使用する)。オートチューン・コントローラ210、220は、エラー(所望のサービス・レベルからの偏差)を計算し、新しい制御値を計算し、その制御値を設定するためのメカニズムを提供する(setControl()を介して対応するオートチューン・アダプタ230のコンポーネントを呼び出すことによる)。
典型的な制御ループは以下の通りである。
1. If (同期モード), then:
同期アダプタを呼び出す
2. 所望のサービス・レベルからのエラーを計算する
3. 新しい制御値を計算する(これは制御アルゴリズムをインプリメントする)
4. If (現行コントローラがマスタ・オートチューン・コントローラ210である), then:
その制御値を設定する
5. 繰り返す
直前のステップ2(エラーを計算する)は任意選択ステップであることを理解されたい。たいていの制御アルゴリズムはエラーに対して作用するが、エラーに対して作用しないものもある。当然のことながら、他の変形例は可能であり、関連技術の当業者によって容易に企図されるものである。
オートチューン・アダプタ230は、同期または非同期方式で動作することができる。「同期」とは、新しい制御値を計算する直前にオートチューン・アダプタ230が呼び出されることを意味する。非同期モードでは、オートチューン・アダプタ230は、最新のメトリック値を入手するために他の何らかの(ユーザ定義)周波数で独力で呼び出されるものと想定されている。この特徴により、制御周波数が感知周波数と同じではない場合にオートチューン・コントローラをインプリメントすることができる。
所望のサービス・レベルからのエラーを計算する際に、オートチューン・コントローラは、必要に応じてメトリック・マネージャ240にとって既知のメトリックスのうちのいずれかにアクセスすることができる。
それぞれのコンポーネント(メトリック・マネージャ240、オートチューン・アダプタ230、オートチューン・コントローラ210、220)用のユーザインターフェースはカスタマイザ270、280、290により提供される。カスタマイザは、各コンポーネントの低レベル詳細に対するGUIを提供するエンティティである。本明細書に記載する例示的な実施形態では、エージェントの一部である各エレメントごとに1つのカスタマイザが存在する。当然のことながら、エージェントの一部である各タイプのエレメント(たとえば、オートチューン・コントローラ、アダプタなど)ごとに1つのカスタマイザを含むがこれに限定されない他の構成も可能である。たとえば、メトリック・マネージャ240の場合、カスタマイザにより、ユーザは、どのメトリックスをロギングすべきか、ならびにログ・ファイルの位置などを指定することができる。オートチューン・コントローラの場合、それにより、制御周波数の設定、マスタ・オートチューン・コントローラの選択などを行うことができる。オートチューン・アダプタ230の場合、同期/非同期という動作モードを選択し、チューニング・コントロールを手動で(自動化エージェントに動作させたくない場合)設定することもできる。また、カスタマイザ270、280、290は、使用可能なメトリックスをユーザに公表するための方法も提供し、したがって、リアルタイム・モニターを実行することができる。
次に、広く様々なコンピュータ・システムを制御するためのソフトウェア・エージェントを容易に作成するためにこのフレームワークをどのように使用できるかという具体的な例を示す。特定のエージェントをインスタンス化するためには、各ターゲット・システムごとに複数のオートチューン・アダプタと、1つ(または複数)の制御アルゴリズムというコンポーネントを必要とする。
図4は、本発明の例示的な一実施形態により、単一制御方法を使用して単一アプリケーションを制御するための単純なエージェントを示すブロック図である。図4のソフトウェア・エージェントは、単一オートチューン・コントローラ410と、オートチューン・アダプタ460と、リポジトリ450と、メトリック・マネージャ440と、管理者API465と、カスタマイザ470、480、490とを含む。図4のソフトウェア・エージェントは、ターゲット・システムまたは他のオートチューン・エージェント(以下、区別なく「ターゲット・システム」または「他のオートチューン・エージェント」という)460と対話する。
単一ターゲット・システムと単一制御アルゴリズムを備えたシナリオ(図4の通り)に関する基本的なエージェント作成プロセスについては、以下の図8に関して示されている。
同じ制御戦略を使用する同じエージェントは、現行アダプタ・コンポーネントを新しいターゲット・システム用のコンポーネントで置換することにより、異なるシステムのターゲットにすることができる。これにより、既存の知識の再利用が可能になる。同様に、コントロール・モジュールを置換することにより、制御アルゴリズムを容易に変更することができる。
図5は、本発明の例示的な一実施形態により、複数の制御戦略を単一エージェントにどのように含めることができるかを示すブロック図である。
図5のソフトウェア・エージェントは、マスタ・オートチューン・コントローラ510と、1つまたは複数のスレーブ・オートチューン・コントローラ(以下「スレーブ・オートチューン・コントローラ」)520と、オートチューン・アダプタ560と、リポジトリ550と、メトリック・マネージャ540と、管理者API565と、カスタマイザ570、280、290とを含む。図5のソフトウェア・エージェントは、ターゲット・システムまたは他のオートチューン・エージェント(以下、区別なく「ターゲット・システム」または「他のオートチューン・エージェント」という)560と対話する。この場合、マスタ・オートチューン・コントローラ510は、複数の低レベル制御戦略を使用して制御値を計算する最上位レベルの制御戦略をインプリメントする。このエージェントは、以下の図8に関して記載する通りに作成することができる。
図6は、本発明の例示的な一実施形態により、階層制御構成を示すブロック図である。この場合、次に「米国オートチューン・エージェント」610は「イースト・コース」620および「ウェスト・コースト」630というオートチューン・エージェントを呼び出し、次にこれらはその従属物640、650、660、670を呼び出す。この従属物640、650、660、670はそれぞれ、app1 681、app2 682、app3 683、app4 684を制御/マッピングする。この階層は、その階層の各レベルにあるコントローラによってインプリメントすることができる。
図7は、本発明の例示的な一実施形態により、図6の階層制御構成の一部であるエージェントのブロック図である。特に、この階層の内部ノードにあるコントローラ(マスタ・オートチューン階層コントローラ710)は図7に示されている。この実施形態では、高レベル・エージェントの場合、ターゲット・システムが低レベル・エージェントのうちの1つになることは留意すべき興味深いことである。この再帰は、他のオートチューン・エージェント760に対する標準的なアダプタ・インターフェースを提供するオートチューン・エージェント・アダプタ730によって可能になる。この例は、このフレームワークの完全な普遍性を示しており、同じフレームワークを使用して複数エージェントおよびコントローラの複雑なチェーンを容易に構築できることを示している。マスタ・オートチューン階層コントローラ710と、オートチューン・エージェント・アダプタ730と、他のオートチューン・エージェント760とに加え、図7の実施形態は、1つまたは複数のスレーブ・オートチューン・コントローラ(以下「スレーブ・オートチューン・コントローラ」)720と、リポジトリ750と、メトリック・マネージャ740と、管理者API765と、カスタマイザ770、780、790とをさらに含む。
図8は、本発明の例示的な一実施形態により、オートチューン・エージェントを作成するための方法を示す流れ図である。図8の方法の諸ステップの一部はオートチューン・エージェントの所与のエレメントに関して「指定/作成」を示していることを理解されたい。これにより、ユーザは、ユーザの要求およびターゲット・システム上で実行すべきチューニングに応じて、そのエレメントを作成するかまたは現在既存のエレメントを使用することができる。
1つまたは複数のオートチューン・アダプタが指定/作成される(ステップ820)。次に、そのエージェントが2つ以上の制御戦略または制御アルゴリズムを使用するかどうかが判定される(ステップ830)。使用する場合、1〜N個(N2)のオートチューン・コントローラが指定/作成され(ステップ840)、この方法はステップ860に進む。使用しない場合、単一オートチューン・コントローラが指定/作成され(ステップ850)、この方法はステップ870に進む。
ステップ860および870では、1つまたは複数のカスタマイザを介して制御パラメータが選択/生成される。ステップ860および870のいずれも、たとえば、コントローラ周波数、同期/非同期モード、ロギング・メトリックスなどのパラメータを選択することを含むことができる。しかし、ステップ860は、1〜N個のオートチューン・コントローラからマスタ・オートチューン・コントローラを選択することを含まなければならない。
本発明は汎用自動化チューニング・システムを提供することを理解されたい。有利なことに、本発明は、ターゲット・システムの詳細な知識をチューニング・システムに取り込むためにエキスパートを必要とせず、むしろ、本発明はターゲットのパフォーマンス特性を学習することができる。これは、ターゲット・システムに関する従来の知識が使用可能であり、信頼でき、耐久性のあるものであるときに、本発明による汎用自動化チューニング・システムにこのような知識を活用させることを含むことができる。
添付図面に関連して例示的な実施形態について本明細書に記載してきたが、本システムおよび方法はこれらの正確な実施形態に限定されず、他の様々な変更および修正は本発明の範囲または精神を逸脱せずに当業者による影響を受ける可能性があることを理解されたい。このような変更および修正はいずれも、特許請求の範囲によって定義される本発明の範囲内に含まれるものとする。
本発明の例示的な一実施形態により、本発明によるソフトウェア・エージェントが適用可能な典型的な稼働環境を示すブロック図である。 本発明の例示的な一実施形態により、ソフトウェア・エージェントとそれに対応する相互接続とを有するコンポーネントを示すブロック図である。 本発明の例示的な一実施形態により、メトリックス・タイプ階層を示すツリーである。 本発明の例示的な一実施形態により、単一制御方法を使用して単一アプリケーションを制御するための単純なエージェントを示すブロック図である。 本発明の例示的な一実施形態により、複数の制御戦略を単一エージェントにどのように含めることができるかを示すブロック図である。 本発明の例示的な一実施形態により、階層制御構成を示すブロック図である。 本発明の例示的な一実施形態により、図6の階層制御構成の一部であるエージェントのブロック図である。 本発明の例示的な一実施形態により、オートチューン・ソフトウェア・エージェントを作成するための方法を示す流れ図である。

Claims (25)

  1. 1つまたは複数のターゲット・システムに対応する少なくとも1組のメトリックスを管理するためのメトリック・マネージャと、
    前記少なくとも1組のメトリックスに基づいて1つまたは複数の制御戦略をインプリメントするための1つまたは複数のコントローラであって、前記1つまたは複数の制御戦略が前記1つまたは複数のターゲット・システムのうちのいずれかの特定のアーキテクチャとは無関係である1つまたは複数のコントローラと、
    前記1つまたは複数の制御戦略に関して前記1つまたは複数のターゲット・システムとのインターフェースを取るための1つまたは複数のアダプタであって、前記1つまたは複数のアダプタのうちの少なくとも1つが前記1つまたは複数のターゲット・システムのうちの対応する1つに固有のものである1つまたは複数のアダプタと、
    を有する、1つまたは複数のターゲット・システムを自動的にチューニングするためのチューニング・システム。
  2. 前記1つまたは複数の制御戦略のそれぞれが個別のコンピュータ・プログラムに対応する、請求項1に記載のチューニング・システム。
  3. 前記メトリック・マネージャと、前記1つまたは複数のコントローラと、前記1つまたは複数のアダプタとのうちの少なくとも1つをカスタマイズするためのユーザ入力を受け取るための少なくとも1つのカスタマイザであって、前記少なくとも1つのカスタマイザがグラフィカル・ユーザ・インターフェースである少なくとも1つのカスタマイザをさらに有する、請求項1に記載のチューニング・システム。
  4. 前記カスタマイザが前記ユーザ入力を受け取って、前記メトリック・マネージャと、前記1つまたは複数のコントローラと、前記1つまたは複数のアダプタとのうちの少なくとも1つに関するデフォルト値を設定する、請求項3に記載のチューニング・システム。
  5. 前記カスタマイザが前記ユーザ入力を受け取って、前記1つまたは複数のターゲット・システムのうちの所与の1つに対する前記チューニング・システムの所与のアプリケーションにおいて使用すべき前記1つまたは複数のアダプタのうちのいくつかを選択する、請求項3に記載のチューニング・システム。
  6. 前記カスタマイザが前記ユーザ入力を受け取って、前記1つまたは複数のターゲット・システムのうちの所与の1つに対する前記チューニング・システムの所与のアプリケーションにおいて使用すべき前記1つまたは複数のアダプタの1つまたは複数のタイプを選択する、請求項3に記載のチューニング・システム。
  7. 前記カスタマイザが前記ユーザ入力を受け取って、前記1つまたは複数のターゲット・システムのうちの所与の1つに対する前記チューニング・システムの所与のアプリケーションにおいて使用すべき前記1つまたは複数のコントローラのうちのいくつかを選択する、請求項3に記載のチューニング・システム。
  8. 前記カスタマイザが前記ユーザ入力を受け取って、前記1つまたは複数のターゲット・システムのうちの所与の1つに対する前記チューニング・システムの所与のアプリケーションにおいて使用すべき前記1つまたは複数のコントローラの1つまたは複数のタイプを選択する、請求項3に記載のチューニング・システム。
  9. 前記1つまたは複数のコントローラが、前記1つまたは複数の制御戦略間の矛盾を解決するためのマスタ・コントローラを有する、請求項1に記載のチューニング・システム。
  10. 前記1組のメトリックスが、読取り専用メトリックスと読取り/書込みメトリックスとを有する、請求項1に記載のチューニング・システム。
  11. 前記1つまたは複数のアダプタが、前記1つまたは複数のターゲット・システムから前記読取り専用メトリックスの最新値を直接入手する、請求項10に記載のチューニング・システム。
  12. 前記1つまたは複数のアダプタが、前記1つまたは複数のターゲット・システム上の前記読取り/書込みメトリックスに対応する値を設定する、請求項10に記載のチューニング・システム。
  13. 前記メトリック・マネージャが、前記少なくとも1組のメトリックスを追加、削除、およびリストする能力を有する、請求項1に記載のチューニング・システム。
  14. 前記チューニング・システムが、他のチューニング・システムを呼び出して、前記1つまたは複数のターゲット・システムに関する階層チューニング・システムを形成する能力を有する、請求項1に記載のチューニング・システム。
  15. 前記チューニング・システムおよび前記他のチューニング・システムが、前記1つまたは複数の制御戦略をインプリメントするために協力して動作する、請求項14に記載のチューニング・システム。
  16. 前記1つまたは複数のターゲット・システムのサービス・レベル要件を指定するための管理者アプリケーション・プログラミング・インターフェース(API)をさらに有する、請求項1に記載のチューニング・システム。
  17. 前記チューニング・システムの動作をモニターするための管理者アプリケーション・プログラミング・インターフェース(API)をさらに有する、請求項1に記載のチューニング・システム。
  18. 前記メトリック・マネージャが、前記少なくとも1組のメトリックスから記憶すべきメトリックスの少なくとも1つのサブセットを指定する入力を受け取ることができる、請求項1に記載のチューニング・システム。
  19. 前記1つまたは複数のターゲット・システムのうちの所与の1つに対する前記チューニング・システムの所与のアプリケーションにおいて前記1つまたは複数のコントローラのうちの2つ以上が使用される、請求項1に記載のチューニング・システム。
  20. 前記1つまたは複数のコントローラのうちの少なくともいくつかがモジュール方式のものであり、前記チューニング・システムからの削除、変更、または置換が行われる能力を有する、請求項1に記載のチューニング・システム。
  21. 前記1つまたは複数のアダプタのうちの少なくともいくつかがモジュール方式のものであり、前記チューニング・システムからの削除、変更、または置換が行われる能力を有する、請求項1に記載のチューニング・システム。
  22. メトリック変更をロギングするための共用機能をさらに有する、請求項1に記載のチューニング・システム。
  23. 1つまたは複数のターゲット・システムに対応する少なくとも1組のメトリックスを管理するステップと、
    前記少なくとも1組のメトリックスに基づいて1つまたは複数の制御戦略をインプリメントするための1つまたは複数のコントローラを提供するステップであって、前記1つまたは複数の制御戦略が前記1つまたは複数のターゲット・システムのうちのいずれかの特定のアーキテクチャとは無関係であるステップと、
    前記1つまたは複数の制御戦略に関して前記1つまたは複数のターゲット・システムとのインターフェースを取るための1つまたは複数のアダプタを提供するステップであって、前記1つまたは複数のアダプタのうちの少なくとも1つが前記1つまたは複数のターゲット・システムのうちの対応する1つに固有のものであるステップと、
    前記1つまたは複数のターゲット・システムに関して前記1つまたは複数の制御戦略をインプリメントするために、前記1つまたは複数のアダプタを使用して自動的に前記1つまたは複数のターゲット・システムとのインターフェースを取るステップと、
    を有する、1つまたは複数のターゲット・システムを自動的にチューニングするための方法。
  24. 前記1つまたは複数のコントローラを提供する前記ステップが、複数のコントローラから前記1つまたは複数のコントローラを選択するステップを有する、請求項23に記載の方法。
  25. 前記1つまたは複数のアダプタを提供する前記ステップが、複数のアダプタから前記1つまたは複数のアダプタを選択するステップを有する、請求項23に記載の方法。
JP2003564735A 2002-01-29 2003-01-29 汎用適応制御のためのオブジェクト指向フレームワーク Expired - Fee Related JP3940399B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/059,665 US7120621B2 (en) 2002-01-29 2002-01-29 Object-oriented framework for generic adaptive control
PCT/US2003/002611 WO2003065211A1 (en) 2002-01-29 2003-01-29 Object- oriented framework for generic adaptive control

Publications (2)

Publication Number Publication Date
JP2005516302A true JP2005516302A (ja) 2005-06-02
JP3940399B2 JP3940399B2 (ja) 2007-07-04

Family

ID=27609865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003564735A Expired - Fee Related JP3940399B2 (ja) 2002-01-29 2003-01-29 汎用適応制御のためのオブジェクト指向フレームワーク

Country Status (7)

Country Link
US (2) US7120621B2 (ja)
EP (1) EP1470481A4 (ja)
JP (1) JP3940399B2 (ja)
KR (1) KR100588032B1 (ja)
CN (1) CN1552019B (ja)
CA (1) CA2473652A1 (ja)
WO (1) WO2003065211A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010526382A (ja) * 2007-05-04 2010-07-29 シュナイダー・エレクトリック・オートメイション・ゲーエムベーハー 協同的な自動化システムおよびこの自動化システムを制御するための方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172141A1 (en) * 2002-03-06 2003-09-11 Adtran, Inc. Element management system and method utilizing provision templates
US20040045007A1 (en) * 2002-08-30 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Object oriented component and framework architecture for signal processing
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
US7765521B2 (en) * 2002-08-29 2010-07-27 Jeffrey F Bryant Configuration engine
US7734637B2 (en) * 2002-12-05 2010-06-08 Borland Software Corporation Method and system for automatic detection of monitoring data sources
ITTO20030327A1 (it) * 2003-05-02 2004-11-03 Telecom Italia Spa Procedimento e piattaforma per la gestione automatizzata
US7353265B2 (en) * 2004-06-02 2008-04-01 Lehman Brothers Inc. Method and system for monitoring and managing assets, applications, and services using aggregated event and performance data thereof
US7676447B2 (en) * 2005-02-11 2010-03-09 Kinematik Research Limited Control system and method for controlling execution of scientific experiments by laboratory instruments
KR100848978B1 (ko) * 2006-05-04 2008-07-30 에스케이 텔레콤주식회사 퍼스널 컴퓨터에서의 표준 소프트웨어 플랫폼 프로그램을 기록한 기록매체
DE102007051683A1 (de) * 2007-10-26 2009-06-18 Schneider Electric Gmbh Verfahren zur Orchestrierung von Services eines serviceorientierten Automationssystems sowie Orchestrierungs-Maschine
CN102007081A (zh) * 2008-02-22 2011-04-06 材料及技术公司 单侧高生产量湿蚀刻和湿处理设备与方法
US8327325B2 (en) * 2009-01-14 2012-12-04 International Business Machines Corporation Programmable framework for automatic tuning of software applications
US8713565B2 (en) 2010-04-28 2014-04-29 International Business Machines Corporation Automated tuning in a virtual machine computing environment
US8621052B2 (en) * 2010-08-20 2013-12-31 International Business Machines Corporation Performance tuning for software as a performance level service
US10089414B2 (en) 2012-07-31 2018-10-02 Hewlett Packard Enterprise Development Lp System architecture generation
CN104883392A (zh) * 2015-04-25 2015-09-02 哈尔滨工业大学 一种基于构件代理模块的航天器接口适配器及采用该适配器实现的数据交互方法
US20170063597A1 (en) * 2015-08-31 2017-03-02 Ca, Inc. Api provider insights collection

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546312A (en) 1993-09-20 1996-08-13 Texas Instruments Incorporated Use of spatial models for simultaneous control of various non-uniformity metrics
FR2750517B1 (fr) * 1996-06-27 1998-08-14 Bull Sa Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique
US6401080B1 (en) 1997-03-21 2002-06-04 International Business Machines Corporation Intelligent agent with negotiation capability and method of negotiation therewith
US6192354B1 (en) 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
US6145121A (en) * 1997-04-17 2000-11-07 University Of Washington Trace based method for the analysis, benchmarking and tuning of object oriented databases and applications
US6199068B1 (en) 1997-09-11 2001-03-06 Abb Power T&D Company Inc. Mapping interface for a distributed server to translate between dissimilar file formats
WO2000045266A1 (en) * 1999-02-01 2000-08-03 Touch Technologies, Inc. Method and apparatus for automated tuning and configuration collection for logic systems
US20010032029A1 (en) 1999-07-01 2001-10-18 Stuart Kauffman System and method for infrastructure design
US6487562B1 (en) * 1999-12-20 2002-11-26 Emc Corporation Dynamically modifying system parameters in data storage system
US6718358B1 (en) * 2000-03-31 2004-04-06 International Business Machines Corporation System and method for generic automated tuning for performance management
US20020124007A1 (en) * 2001-03-02 2002-09-05 Wuhan P&S Electronics Company Ltd. Network server and database therein
US6836849B2 (en) * 2001-04-05 2004-12-28 International Business Machines Corporation Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements
US6662169B2 (en) 2001-04-12 2003-12-09 Ralph E. Rose Controlling the self learning behavior of an autonomous agent
US8326965B2 (en) * 2001-05-03 2012-12-04 Hewlett-Packard Development Company, L.P. Method and apparatus to extract the health of a service from a host machine
US7028225B2 (en) * 2001-09-25 2006-04-11 Path Communications, Inc. Application manager for monitoring and recovery of software based application processes
US6965886B2 (en) * 2001-11-01 2005-11-15 Actimize Ltd. System and method for analyzing and utilizing data, by executing complex analytical models in real time
US9184929B2 (en) * 2001-11-26 2015-11-10 Arris Enterprises, Inc. Network performance monitoring

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010526382A (ja) * 2007-05-04 2010-07-29 シュナイダー・エレクトリック・オートメイション・ゲーエムベーハー 協同的な自動化システムおよびこの自動化システムを制御するための方法

Also Published As

Publication number Publication date
CN1552019B (zh) 2010-05-26
US20070016551A1 (en) 2007-01-18
JP3940399B2 (ja) 2007-07-04
US20030144983A1 (en) 2003-07-31
EP1470481A1 (en) 2004-10-27
EP1470481A4 (en) 2008-02-20
CA2473652A1 (en) 2003-08-07
WO2003065211A1 (en) 2003-08-07
KR100588032B1 (ko) 2006-06-12
CN1552019A (zh) 2004-12-01
KR20040084887A (ko) 2004-10-06
US7120621B2 (en) 2006-10-10

Similar Documents

Publication Publication Date Title
JP3940399B2 (ja) 汎用適応制御のためのオブジェクト指向フレームワーク
RU2357289C2 (ru) Администрирование удаленной системы с использованием среды командной строки
US7395320B2 (en) Providing automatic policy enforcement in a multi-computer service application
US5729472A (en) Monitoring architecture
JP5030592B2 (ja) 監視ルールのスケーラブル(scalable)な同期処理および非同期処理
CN103430150B (zh) 在云计算系统中创建资源的技术
US7676552B2 (en) Automatic provisioning of services based on a high level description and an infrastructure description
US20050177600A1 (en) Provisioning of services based on declarative descriptions of a resource structure of a service
US8904341B2 (en) Deriving grounded model of business process suitable for automatic deployment
US9716746B2 (en) System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
CN108449350B (zh) 一种多协议编排方法及装置
US20100262559A1 (en) Modelling Computer Based Business Process And Simulating Operation
US20120159491A1 (en) Data driven dynamic workflow
US20060080667A1 (en) Method and apparatus for applying policies
JP5102543B2 (ja) 情報技術インフラストラクチャを動的にプロビジョニングするための方法
US20110004565A1 (en) Modelling Computer Based Business Process For Customisation And Delivery
CN111818128B (zh) 基于容器云的组件化仿真模型运行控制系统、方法及介质
CN105827744A (zh) 云存储平台的数据处理方法
KR20010110097A (ko) 작업흐름-관리-시스템에서의 보관 방법
CN113254162A (zh) PowerVM虚拟化的管理方法、可读存储介质及云管平台
CN116909706A (zh) 基于本地数据的任务调度方法和系统
CN117971467A (zh) 一种基于标识解析的异构算力共享平台
Mishra Persistence, discovery, and generation of viable cloud application topologies

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070130

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070201

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110406

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees