JP4731960B2 - Pooling method, system and program - Google Patents

Pooling method, system and program Download PDF

Info

Publication number
JP4731960B2
JP4731960B2 JP2005072450A JP2005072450A JP4731960B2 JP 4731960 B2 JP4731960 B2 JP 4731960B2 JP 2005072450 A JP2005072450 A JP 2005072450A JP 2005072450 A JP2005072450 A JP 2005072450A JP 4731960 B2 JP4731960 B2 JP 4731960B2
Authority
JP
Japan
Prior art keywords
program
information processing
frequency
objects
pooling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005072450A
Other languages
Japanese (ja)
Other versions
JP2006259806A (en
Inventor
雅年 吉田
末典 小田
知彦 茂岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005072450A priority Critical patent/JP4731960B2/en
Publication of JP2006259806A publication Critical patent/JP2006259806A/en
Application granted granted Critical
Publication of JP4731960B2 publication Critical patent/JP4731960B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は生成したオブジェクトまたはプログラムをプーリングして再使用することでデータ処理を効率的に行うプーリング技術に適用して有効な技術に関するものである。   The present invention relates to a technique effective when applied to a pooling technique for efficiently processing data by pooling and reusing a generated object or program.

近年、インターネット若しくはイントラネットを介して、主にWebベースのサービスを提供するシステムへの要求が高まっている。この様なシステムを構築する場合、アプリケーションサーバと呼ばれるミドルウェアを使用し、アプリケーションサーバ上で動作するユーザアプリケーションを開発する手法が普及しつつある。アプリケーションサーバは、セキュリティ管理機能、トランザクション管理機能、リソースへのアクセス機能、コンポーネント管理機能等を提供する。よって、アプリケーションサーバを使用することで、比較的容易に、大規模かつ再利用性の高いシステムを構築することが可能である。   In recent years, there has been an increasing demand for a system that mainly provides Web-based services via the Internet or an intranet. When constructing such a system, a technique of developing a user application that operates on an application server using middleware called an application server is becoming widespread. The application server provides a security management function, a transaction management function, a resource access function, a component management function, and the like. Therefore, a large-scale and highly reusable system can be constructed relatively easily by using the application server.

アプリケーションサーバは、データベースへの効率的なアクセスを実現する為に、問い合わせ式オブジェクトや、問い合わせ結果オブジェクトのプーリングを行なうことがある。オブジェクトプーリングとは、生成コストの高いオブジェクトを、使用後も破棄せずにメモリ上に保持して再利用することで、オブジェクト生成にかかるコストを削減する技術である。プーリングの制御は、ユーザアプリケーションによる問い合わせ式や問い合わせ結果の使用をプロファイリングすることで実現される。プロファイリングとは、例えば問い合わせ式や問い合わせ結果の使用頻度を記憶し、使用頻度の高いオブジェクトを発見する技術である。プロファイリングの結果から、使用頻度の高いオブジェクトを優先的にプーリングする等の制御を行う。オブジェクトプーリングの方法としては、特許文献1に示される様な方法が提案されている。   The application server sometimes performs pooling of query expression objects and query result objects in order to realize efficient access to the database. Object pooling is a technique for reducing the cost of object generation by holding an object with a high generation cost in a memory without discarding it after use and reusing it. Pooling control is realized by profiling the use of query expressions and query results by user applications. Profiling is a technology that stores, for example, the frequency of use of query expressions and query results, and finds frequently used objects. Based on the results of profiling, control is performed such as preferentially pooling frequently used objects. As an object pooling method, a method as shown in Patent Document 1 has been proposed.

ところで、水平または垂直方向に分散された複数台のアプリケーションサーバを組み合わせてシステムを構築することがある。この様な構成のシステムとするのは、システムへの要求の変化に応じて、スケーラブルにシステムを拡張可能とするためである。既に構築され運用中のシステムに、新たなアプリケーションサーバを追加し、システムを拡張することをスケールアウトと言う。   By the way, a system may be constructed by combining a plurality of application servers distributed horizontally or vertically. The reason why the system has such a configuration is that the system can be expanded in a scalable manner in accordance with changes in demands on the system. Scale-out refers to expanding a system by adding a new application server to a system that has already been constructed and operated.

特開2004−78651号公報JP 2004-78651 A

アプリケーションサーバ(計算機や論理サーバ、仮想計算機でも良い)をスケールアウト(追加)する場合に、新規に追加するアプリケーションサーバでは、問い合わせ式オブジェクトや問い合わせ結果オブジェクトがプーリングされていない状態でユーザアプリケーションの処理を開始することになる。よって、スケールアウト後、データベースの問い合わせ式オブジェクトや問い合わせ結果オブジェクトがプーリングされるまでの間は、ユーザアプリケーションによるこれらのオブジェクトの使用におけるレスポンスが低下してしまうという問題がある。   When scaling out (adding) an application server (which may be a computer, logical server, or virtual machine), the application server to be newly added performs user application processing with the query expression object and query result object not being pooled. Will start. Therefore, there is a problem that the response to the use of these objects by the user application decreases after the scale-out until the query expression object or query result object in the database is pooled.

また、アプリケーションサーバを再起動する場合にも、問い合わせ式オブジェクトや問い合わせ結果オブジェクトがプーリングされていない状態で、ユーザアプリケーションの処理を開始することになる。よって、スケールアウトする場合と同じく、オブジェクトがプーリングされるまでの間は、ユーザアプリケーションによる問い合わせ式オブジェクトや問い合わせ結果オブジェクトの使用におけるレスポンスが低下してしまうという問題がある。   Even when the application server is restarted, the processing of the user application is started in a state where the query expression object and the query result object are not pooled. Therefore, as in the case of scaling out, there is a problem that the response in the use of the query expression object and the query result object by the user application is reduced until the object is pooled.

本発明の目的は上記問題を解決し、追加または再起動された情報処理装置でのオブジェクトやプログラムの使用においてスケールアウト直後や再起動直後から良好なレスポンスを実現することが可能な技術を提供することにある。   An object of the present invention is to solve the above problems and provide a technique capable of realizing a good response immediately after scale-out or immediately after restart in the use of an object or program in an added or restarted information processing apparatus. There is.

本発明は、単体若しくは複数のアプリケーションサーバから構成されるデータ処理システムにおいて、データベースの問い合わせ式オブジェクトや問い合わせ結果オブジェクト(プログラムでも良い)の使用を監視することで得られるプロファイリング情報を、アプリケーションサーバをスケールアウトする場合や、アプリケーションサーバを再起動する場合に再利用するものである。   The present invention scales profiling information obtained by monitoring use of a query expression object or query result object (may be a program) in a database in a data processing system composed of a single or a plurality of application servers. It is reused when it is out or when the application server is restarted.

本発明のデータ処理システムでは、アプリケーションサーバがユーザプログラムによるデータベースの問い合わせ式や問い合わせ結果の使用をプロファイリングし、そのプロファイリング情報を使用して、問い合わせ式オブジェクトや問い合わせ結果オブジェクトのプーリングを制御する。それと同時に、アプリケーションサーバはプロファイリング情報をメモリ若しくは永続記憶手段に保持する。   In the data processing system of the present invention, the application server profiles use of the query expression and query result of the database by the user program, and controls the pooling of the query expression object and query result object using the profiling information. At the same time, the application server holds profiling information in memory or persistent storage means.

アプリケーションサーバをスケールアウトする場合、既に運用中のアプリケーションサーバにおいて取得され、メモリまたは永続記憶手段に保持されたプロファイリング情報を、新規に追加されるアプリケーションサーバへ配布する。新規に追加されるアプリケーションサーバは、配布されたプロファイリング情報を使用して、データベースの問い合わせ式オブジェクトと問い合わせ結果オブジェクトのオブジェクトプールを復元する。この様に、既に運用中のアプリケーションサーバで取得されたプロファイリング情報を、新規に追加するアプリケーションサーバで再利用することで、プロファイリング情報を再度取得する無駄を省くことが可能であり、スケールアウト直後から、ユーザアプリケーションによる問い合わせ式オブジェクトや問い合わせ結果オブジェクトの使用において、良好なレスポンスを実現することができる。   When the application server is scaled out, the profiling information acquired in the already operating application server and held in the memory or the permanent storage means is distributed to the newly added application server. The newly added application server uses the distributed profiling information to restore the object pool of the query expression object and the query result object in the database. In this way, by reusing the profiling information acquired on the application server that is already in operation on the newly added application server, it is possible to eliminate the waste of acquiring profiling information again. In the use of the query expression object and the query result object by the user application, a satisfactory response can be realized.

また、アプリケーションサーバを再起動する場合に、再起動前に取得され永続記憶手段に保持しておいたプロファイリング情報を使用して、データベースの問い合わせ式オブジェクトと問い合わせ結果オブジェクトのオブジェクトプールを復元する。この様に、再起動前に取得されたプロファイリング情報を再起動後に再利用することで、プロファイリング情報を再度取得する無駄を省くことが可能であり、再起動直後から、ユーザアプリケーションによる問い合わせ式オブジェクトや問い合わせ結果オブジェクトの使用において、良好なレスポンスを実現することができる。   Further, when the application server is restarted, the object pool of the query expression object and the query result object in the database is restored using the profiling information acquired before the restart and stored in the permanent storage means. In this way, by reusing the profiling information acquired before the restart after the restart, it is possible to eliminate the waste of acquiring the profiling information again. In using the query result object, a good response can be realized.

本発明によれば、追加または再起動された情報処理装置でのオブジェクトやプログラムの使用においてスケールアウト直後や再起動直後から良好なレスポンスを実現することが可能である。   According to the present invention, in the use of an object or program in an information processing apparatus that has been added or restarted, a good response can be realized immediately after scale-out or immediately after restarting.

以下に生成したオブジェクトをプーリングして再使用することでオブジェクトを生成する回数を削減する実施形態1のプーリングシステムについて説明する。
本実施形態のデータ処理システムでは、アプリケーションサーバ(計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い)をスケールアウトする場合に、運用中のアプリケーションサーバで取得されたプロファイリング情報を、新規に追加されるアプリケーションサーバで再利用し、データベースの問い合わせ式オブジェクトと問い合わせ結果オブジェクトのプールを復元する処理を行う。なお本実施形態ではオブジェクトについて記載しているが、プログラムに適用しても良いものとする。
A pooling system according to the first embodiment that reduces the number of times an object is generated by pooling and reusing the generated object will be described below.
In the data processing system of this embodiment, when scaling out an application server (a computer or an information processing apparatus, or a program or object that performs such processing), the profiling information acquired by the operating application server Are reused in a newly added application server, and a process of restoring a query expression object pool and a query result object pool of the database is performed. In the present embodiment, an object is described, but it may be applied to a program.

図1は本実施形態のデータ処理システムの全体構造を示す図である。図1に示す様に、本実施形態では、ユーザアプリケーションが実行されプロファイリング情報が取得される運用中アプリケーションサーバ0001と、スケールアウト時に追加されるアプリケーションサーバ0004及び0005と、ユーザアプリケーションが問い合わせを行なうデータベース0003が、ネットワーク0002により接続されており、運用中アプリケーションサーバ0001から、追加されるアプリケーションサーバ0004及び0005へプロファイリング情報0006及び0007をそれぞれ送信可能となっている。   FIG. 1 is a diagram showing the overall structure of the data processing system of this embodiment. As shown in FIG. 1, in the present embodiment, an operating application server 0001 from which a user application is executed and profiling information is acquired, application servers 0004 and 0005 added at the time of scale-out, and a database from which the user application makes an inquiry 0003 are connected by a network 0002, and the profiling information 0006 and 0007 can be transmitted from the operating application server 0001 to the application servers 0004 and 0005 to be added, respectively.

図2は本実施形態の運用中アプリケーションサーバ0001の内部構成例を示す図である。図2に示す様に、運用中アプリケーションサーバ0001は、メモリ0008、CPU0009、入力装置0010、出力装置0011、通信装置0012、磁気ディスク装置0013、CD−ROM装置0014から構成される。   FIG. 2 is a diagram illustrating an internal configuration example of the application server 0001 in operation according to the present embodiment. As shown in FIG. 2, the operating application server 0001 includes a memory 0008, a CPU 0009, an input device 0010, an output device 0011, a communication device 0012, a magnetic disk device 0013, and a CD-ROM device 0014.

運用中アプリケーションサーバ0001で、ユーザアプリケーションを実行する為のアプリケーションコンテナ0016は、CD−ROM等の記録媒体からCD−ROM装置0014によって磁気ディスク装置0013に格納された後、メモリ0008にロードされて実行されるものとする。なお、前記アプリケーションコンテナ0016を、ネットワークを通じてCD−ROM等の記録媒体から磁気ディスク装置0013に格納して使用しても良い。また、前記アプリケーションコンテナ0016を記録する記録媒体は、CD−ROM以外の他の記録媒体でも良い。   An application container 0016 for executing a user application in the operating application server 0001 is stored in a magnetic disk device 0013 by a CD-ROM device 0014 from a recording medium such as a CD-ROM, and then loaded into the memory 0008 for execution. Shall be. The application container 0016 may be used by being stored in a magnetic disk device 0013 from a recording medium such as a CD-ROM via a network. The recording medium for recording the application container 0016 may be a recording medium other than the CD-ROM.

運用中アプリケーションサーバ0001で、ユーザアプリケーション0015は、CD−ROM等の記録媒体からCD−ROM装置0014によって磁気ディスク装置0013に格納された後、アプリケーションコンテナ0016によりメモリ0008にロードされて実行されるものとする。なお、前記ユーザアプリケーション0015を、ネットワークを通じてCD−ROM等の記録媒体から磁気ディスク装置0013に格納しても良いし、アプリケーションコンテナ0016がネットワークを通じてCD−ROM装置等の記録媒体からユーザアプリケーションをメモリにロードしても良い。   In the application server 0001 in operation, the user application 0015 is stored in the magnetic disk device 0013 by the CD-ROM device 0014 from a recording medium such as a CD-ROM and then loaded into the memory 0008 by the application container 0016 and executed. And The user application 0015 may be stored in the magnetic disk device 0013 from a recording medium such as a CD-ROM via a network, or the application container 0016 may store the user application from a recording medium such as a CD-ROM device in a memory via the network. You can load it.

アプリケーションコンテナ0016内には、プロファイリング情報0017やオブジェクトプールを管理するオブジェクト管理部0040が存在する。   In the application container 0016, there is an object management unit 0040 that manages the profiling information 0017 and the object pool.

オブジェクト管理部0040は、ユーザアプリケーション0015によるデータベースの問い合わせ式オブジェクトと問い合わせ結果オブジェクトの使用を監視し、監視により得られたプロファイリング情報0017をメモリ0008に保持する。   The object management unit 0040 monitors the use of the query expression object and the query result object in the database by the user application 0015, and holds the profiling information 0017 obtained by the monitoring in the memory 0008.

また、オブジェクト管理部0040は、プロファイリング情報0017を使用して、問い合わせ式オブジェクトプール0018と問い合わせ結果オブジェクトプール0019へのオブジェクトのプーリングを制御する。   In addition, the object management unit 0040 uses the profiling information 0017 to control the pooling of objects to the query expression object pool 0018 and the query result object pool 0019.

また、オブジェクト管理部0040は、プロファイリング情報0017の内容を定期的に磁気ディスク装置0013に記録する。ここで言う定期的に記録するという動作は、一定時間間隔で行うことでも良いし、プロファイリング情報やオブジェクトプールの参照回数、更新回数を契機に行うことでも良い。   Further, the object management unit 0040 periodically records the content of the profiling information 0017 in the magnetic disk device 0013. The operation of periodically recording here may be performed at regular time intervals, or may be performed in response to profiling information, the number of reference of the object pool, or the number of updates.

また、オブジェクト管理部0040は、追加されるアプリケーションサーバ0004及び0005との間で、プロファイリング情報を送受信する機能を備えている。   The object management unit 0040 has a function of transmitting / receiving profiling information to / from the added application servers 0004 and 0005.

図3は本実施形態のスケールアウト時に追加されるアプリケーションサーバ0004及び0005の内部構成例を示す図である。図3に示す様に、追加されるアプリケーションサーバ0004及び0005は、プロファイリング情報0042、問い合わせ式オブジェクトプール0043、問い合わせ結果オブジェクトプール0044が存在していない。この状態でデータベースへのアクセスを行うと、オブジェクトがプーリングされるまでの間は、ユーザアプリケーションによる問い合わせ式オブジェクトや問い合わせ結果オブジェクトの使用におけるレスポンスが低下してしまう。   FIG. 3 is a diagram showing an example of the internal configuration of the application servers 0004 and 0005 added at the scale-out of this embodiment. As shown in FIG. 3, the added application servers 0004 and 0005 do not have the profiling information 0042, the query object pool 0043, and the query result object pool 0044. If the database is accessed in this state, the response to the use of the query expression object or query result object by the user application is reduced until the object is pooled.

そこで、オブジェクト管理部0041は、データベースへのアクセスを開始するのに先立って、運用中アプリケーションサーバ0001より、通信装置0024を経由して、プロファイリング情報0017を入手し、プロファイリング情報0042をメモリ0020上に配置すると共に、そのプロファイリング情報0042を使って、問い合わせ式オブジェクトプール0043と問い合わせ結果オブジェクトプール0044を作成する。   Therefore, prior to starting access to the database, the object management unit 0041 obtains the profiling information 0017 from the operating application server 0001 via the communication device 0024, and stores the profiling information 0042 in the memory 0020. At the same time, a query expression object pool 0043 and a query result object pool 0044 are created using the profiling information 0042.

その後、追加されるアプリケーションサーバ0004及び0005からのデータベースアクセスを開始することで、アクセス開始当初より、プーリングされたオブジェクトを利用した良好なレスポンスでのアクセスが実現できる様になる。   Thereafter, by starting database access from the added application servers 0004 and 0005, it is possible to realize access with a good response using the pooled object from the beginning of the access.

図4は本実施形態のプロファイリング情報0017の一例を示す図である。プロファイリング情報0017は、問い合わせ式文字列0030と問い合わせ式オブジェクトの使用頻度0031を対応づけるテーブルと、問い合わせ結果文字列0032と問い合わせ結果オブジェクトの使用頻度0033を対応づけるテーブルを含んでいる。   FIG. 4 is a diagram showing an example of the profiling information 0017 of this embodiment. The profiling information 0017 includes a table that associates the query expression character string 0030 with the query expression object use frequency 0031 and a table that associates the query result character string 0032 with the query result object use frequency 0033.

オブジェクト管理部0040は、問い合わせ式オブジェクトの使用頻度0031と問い合わせ結果オブジェクトの使用頻度0033を利用して、オブジェクトプールの管理を行う。具体的には、新たな問い合わせ式による要求があり、それに対応する問い合わせ式オブジェクトを生成する必要が生じたが、オブジェクトプールに空きが無い場合、プロファイリング情報0017を参照し、最も使用頻度の低い問い合わせ式オブジェクトを破棄してオブジェクトプールから除去した後、新たな問い合わせ式に対応する問い合わせ式オブジェクトを生成し、オブジェクトプールに格納する。   The object management unit 0040 manages the object pool using the query object usage frequency 0031 and the query result object usage frequency 0033. Specifically, when there is a request by a new query expression and it is necessary to generate a query expression object corresponding to the request, but there is no space in the object pool, refer to the profiling information 0017 and refer to the least frequently used query. After the expression object is discarded and removed from the object pool, a query expression object corresponding to a new query expression is generated and stored in the object pool.

図5は本実施形態のオブジェクト管理部0041の処理手順を示すフローチャートである。図5では、追加されるアプリケーションサーバ0004及び0005において、データベースアクセス開始までの間にオブジェクト管理部0041が行う処理内容を表している。   FIG. 5 is a flowchart showing the processing procedure of the object management unit 0041 of this embodiment. FIG. 5 shows the processing contents performed by the object management unit 0041 before the database access is started in the application servers 0004 and 0005 to be added.

ステップ0050においてオブジェクト管理部0041は、運用中アプリケーションサーバ0001より、通信装置0024を経由してプロファイリング情報0017を入手する。ステップ0051では、前記入手したプロファイリング情報0017を、プロファイリング情報0042としてメモリ0020上に配置する。ステップ0052では、前記配置したプロファイリング情報0042から、問い合わせ式オブジェクトプール0043と問い合わせ結果オブジェクトプール0044とをメモリ0020上に作成する。   In step 0050, the object management unit 0041 obtains the profiling information 0017 from the operating application server 0001 via the communication device 0024. In step 0051, the obtained profiling information 0017 is arranged on the memory 0020 as profiling information 0042. In step 0052, a query type object pool 0043 and a query result object pool 0044 are created in the memory 0020 from the arranged profiling information 0042.

問い合わせ式オブジェクトプール0043と問い合わせ結果オブジェクトプール0044の作成とは、プロファイリング情報0042に記録されている問い合わせ式文字列0030と問い合わせ結果文字列0032を入力として、それに対応するオブジェクトを使用頻度の高い順に予め生成してオブジェクトプールに格納することである。これにより、追加されるアプリケーションサーバ0004及び0005においても、運用中アプリケーションサーバ0001と同様のオブジェクトプールを備えることができる。   The query expression object pool 0043 and the query result object pool 0044 are created by inputting the query expression character string 0030 and the query result character string 0032 recorded in the profiling information 0042 and inputting corresponding objects in descending order of use frequency. It is to create and store in the object pool. Thus, the application servers 0004 and 0005 to be added can have the same object pool as that of the application server 0001 in operation.

ここで、複数の運用中アプリケーションサーバ0001が稼働するシステムでスケールアウトを行う場合等、複数の運用中アプリケーションサーバ0001からプロファイリング情報0017を入手する際には、追加されるアプリケーションサーバ0004及び0005で実行するユーザアプリケーション0027に対応したプロファイリング情報を入手するものとしても良い。   Here, when profiling information 0017 is obtained from a plurality of operating application servers 0001, such as when performing scale-out in a system in which a plurality of operating application servers 0001 operate, it is executed by the added application servers 0004 and 0005. Profiling information corresponding to the user application 0027 to be acquired may be obtained.

すなわち、各運用中アプリケーションサーバ0001でプロファイリング情報0017を作成する際に、その運用中アプリケーションサーバ0001で実行しているユーザアプリケーション0015を識別する為の識別情報をプロファイリング情報0017に付加しておき、運用中アプリケーションサーバ0001からプロファイリング情報0017を入手する際に、プロファイリング情報0017に付加されているユーザアプリケーション0015の識別情報と、追加されるアプリケーションサーバ0004及び0005で実行するユーザアプリケーション0027の識別情報とを比較し、ユーザアプリケーション0027の識別情報と一致する識別情報の付加されたプロファイリング情報0017を入手する。これにより、追加されるアプリケーションサーバ0004及び0005で実行するユーザアプリケーション0027に対応した良好なレスポンスでのアクセスが実現できる様になる。   That is, when the profiling information 0017 is created by each active application server 0001, identification information for identifying the user application 0015 executed by the active application server 0001 is added to the profiling information 0017, When obtaining the profiling information 0017 from the middle application server 0001, the identification information of the user application 0015 added to the profiling information 0017 is compared with the identification information of the user application 0027 executed by the added application servers 0004 and 0005. Then, the profiling information 0017 with the identification information that matches the identification information of the user application 0027 is obtained. As a result, it is possible to realize access with a good response corresponding to the user application 0027 executed by the added application servers 0004 and 0005.

また、運用中アプリケーションサーバ0001からプロファイリング情報0017を入手する際に、追加されるアプリケーションサーバ0004及び0005のオブジェクトプールのサイズ等の仕様に対応したプロファイリング情報を入手するものとしても良い。   Further, when the profiling information 0017 is obtained from the application server 0001 in operation, the profiling information corresponding to the specifications such as the sizes of the object pools of the application servers 0004 and 0005 to be added may be obtained.

すなわち、運用中アプリケーションサーバ0001でプロファイリング情報0017を作成する際に、オブジェクトプールに空きが無い場合に破棄したオブジェクトのプロファイリング情報を別途保持しておき、追加されるアプリケーションサーバ0004及び0005のオブジェクトプールのサイズが運用中アプリケーションサーバ0001のオブジェクトプールのサイズよりも大きい場合には、運用中アプリケーションサーバ0001からプロファイリング情報0017と前記別途保持しておいたプロファイリング情報を入手する。これにより、追加されるアプリケーションサーバ0004及び0005は、そのオブジェクトプールのサイズが運用中アプリケーションサーバ0001のオブジェクトプールのサイズよりも大きい場合であっても、そのオブジェクトプールのサイズに対応した良好なレスポンスでのアクセスが実現できる様になる。   That is, when the profiling information 0017 is created by the application server 0001 in operation, the profiling information of the object discarded when the object pool is not empty is separately held, and the object pools of the application servers 0004 and 0005 to be added are stored. If the size is larger than the size of the object pool of the operating application server 0001, the profiling information 0017 and the separately stored profiling information are obtained from the operating application server 0001. As a result, the application servers 0004 and 0005 to be added have a good response corresponding to the size of the object pool even when the size of the object pool is larger than the size of the object pool of the application server 0001 in operation. Can be realized.

以下に、アプリケーションサーバを再起動する場合に、再起動前のプロファイリング情報を永続記憶手段から読み込み、データベースの問い合わせ式と問い合わせ結果オブジェクトのオブジェクトプールを復元する、実施形態2のデータ処理システムについて説明する。   The data processing system according to the second embodiment will be described below in which, when the application server is restarted, the profiling information before restart is read from the permanent storage unit, and the database query expression and the query result object pool are restored. .

実施形態1でも述べた様に、オブジェクト管理部0040は、プロファイリング情報0017の内容を定期的に磁気ディスク装置0013に記録する。ここで言う定期的に記録するという動作は、一定時間間隔で行うことでも良いし、プロファイリング情報やオブジェクトプールの参照回数、更新回数を契機に行うことでも良い。   As described in the first embodiment, the object management unit 0040 periodically records the content of the profiling information 0017 in the magnetic disk device 0013. The operation of periodically recording here may be performed at regular time intervals, or may be performed in response to profiling information, the number of reference of the object pool, or the number of updates.

運用中アプリケーションサーバ0001が異常終了した場合や、何らかの理由で再起動を行う必要が発生した場合、メモリ上のプロファイリング情報0017、問い合わせ式オブジェクトプール0018、問い合わせ結果オブジェクトプール0019は消失する。   When the operating application server 0001 terminates abnormally or when it is necessary to restart for some reason, the profiling information 0017 on the memory, the query object pool 0018, and the query result object pool 0019 are lost.

運用中アプリケーションサーバ0001を再起動した後、データベースへのアクセスを再開するのに先立ち、磁気ディスク装置0013に記録しておいたプロファイリング情報0017を読み込み、そのプロファイリング情報から問い合わせ式オブジェクトプール0018、問い合わせ結果オブジェクトプール0019を回復することで、再起動後のデータベースアクセス開始当初より、プーリングされたオブジェクトを利用した良好なレスポンスでのアクセスが実現できる様になる。   Before restarting access to the database after restarting the application server 0001 in operation, the profiling information 0017 recorded in the magnetic disk device 0013 is read, and the query-type object pool 0018 and the query result are read from the profiling information. By recovering the object pool 0019, it is possible to realize access with a good response using the pooled object from the beginning of database access after restart.

図6は本実施形態のオブジェクト管理部0040の処理手順を示すフローチャートである。図6では、運用中アプリケーションサーバ0001の再起動からデータベースアクセス開始までの間にオブジェクト管理部0040が行う処理内容を表している。   FIG. 6 is a flowchart showing the processing procedure of the object management unit 0040 of this embodiment. FIG. 6 shows the contents of processing performed by the object management unit 0040 between the restart of the application server 0001 in operation and the start of database access.

ステップ0061においてオブジェクト管理部0040は、磁気ディスク装置0013より、記録しているプロファイリング情報を入手する。ステップ0061では、前記入手したプロファイリング情報をプロファイリング情報0017としてメモリ0008上に配置する。ステップ0062において、前記配置したプロファイリング情報0017から、問い合わせ式オブジェクトプール0018と問い合わせ結果オブジェクトプール0019とをメモリ0008上に作成する。   In step 0061, the object management unit 0040 obtains the recorded profiling information from the magnetic disk device 0013. In step 0061, the obtained profiling information is arranged on the memory 0008 as profiling information 0017. In step 0062, a query expression object pool 0018 and a query result object pool 0019 are created on the memory 0008 from the arranged profiling information 0017.

すなわち、プロファイリング情報0017に記録されている問い合わせ式文字列0030と問い合わせ結果文字列0032を入力として、それに対応するオブジェクトを使用頻度の高い順に予め生成してオブジェクトプールに格納する。これにより、運用中アプリケーションサーバ0001の再起動時においても、再起動後のデータベースアクセス開始当初より、プーリングされたオブジェクトを利用した良好なレスポンスでのアクセスが実現できる様になる。   That is, the query expression character string 0030 and the query result character string 0032 recorded in the profiling information 0017 are input, and corresponding objects are generated in advance in descending order of use and stored in the object pool. Thereby, even when the application server 0001 in operation is restarted, it is possible to realize access with a good response using the pooled object from the beginning of the database access after the restart.

ここで、運用中アプリケーションサーバ0001で複数のアプリケーションプログラムを実行しており、異常終了した一部のアプリケーションプログラムを実行しない様にする等、再起動後に実行するアプリケーションを変更する場合には、運用中に磁気ディスク装置0013へ記録したプロファイリング情報0017を再起動時に入手する際に、再起動する運用中アプリケーションサーバ0001で実行されるユーザアプリケーション0015に対応したプロファイリング情報を入手するものとしても良い。   Here, when a plurality of application programs are being executed on the application server 0001 in operation and some of the application programs that have ended abnormally are not executed, such as changing the application to be executed after the restart, When the profiling information 0017 recorded on the magnetic disk device 0013 is acquired at the time of restart, the profiling information corresponding to the user application 0015 executed by the operating application server 0001 to be restarted may be acquired.

すなわち、運用中アプリケーションサーバ0001でプロファイリング情報0017を磁気ディスク装置0013へ記録する際に、その運用中アプリケーションサーバ0001で実行しているユーザアプリケーション0015を識別する為の識別情報をプロファイリング情報0017に付加しておき、再起動時にプロファイリング情報0017を磁気ディスク装置0013から入手する際に、プロファイリング情報0017に付加されているユーザアプリケーション0015の識別情報と、再起動後に実行するユーザアプリケーションの識別情報とを比較し、再起動後に実行するユーザアプリケーションの識別情報と一致する識別情報の付加されたプロファイリング情報0017を磁気ディスク装置0013から入手する。これにより、運用中アプリケーションサーバ0001の再起動時に、再起動後に実行されるユーザアプリケーション0015に対応した良好なレスポンスでのアクセスが実現できる様になる。   That is, when the profiling information 0017 is recorded on the magnetic disk device 0013 by the operating application server 0001, identification information for identifying the user application 0015 executed by the operating application server 0001 is added to the profiling information 0017. When the profiling information 0017 is obtained from the magnetic disk device 0013 at the time of restart, the identification information of the user application 0015 added to the profiling information 0017 is compared with the identification information of the user application executed after the restart. Then, the profiling information 0017 to which the identification information matching the identification information of the user application executed after the restart is added is obtained from the magnetic disk device 0013. As a result, when the application server 0001 in operation is restarted, access with a good response corresponding to the user application 0015 executed after the restart can be realized.

前記の様に本実施形態によれば、追加されるアプリケーションサーバや、再起動後のアプリケーションサーバにおいて、他アプリケーションサーバから入手したプロファイリング情報或いは自アプリケーションで退避していたプロファイリング情報からオブジェクトまたはプログラムのプールを生成することで、追加及び再起動直後からプーリングされたオブジェクトを利用した良好なレスポンスでのデータベースアクセスが実現できる様になる。   As described above, according to the present embodiment, in the application server to be added or the application server after restart, the pool of objects or programs from the profiling information obtained from other application servers or the profiling information saved by the own application By generating, it becomes possible to realize database access with a good response using the pooled object immediately after addition and restart.

以上説明した様に本実施形態のプーリングシステムによれば、運用中の情報処理装置で得られたプロファイリング情報をスケールアウト時や再起動時に再利用するので、追加または再起動された情報処理装置でのオブジェクトやプログラムの使用においてスケールアウト直後や再起動直後から良好なレスポンスを実現することが可能である。   As described above, according to the pooling system of the present embodiment, the profiling information obtained by the information processing apparatus in operation is reused at the time of scale-out or restart. It is possible to realize a good response immediately after the scale-out or restart after using the object or program.

本実施形態のデータ処理システムの全体構造を示す図である。It is a figure which shows the whole structure of the data processing system of this embodiment. 本実施形態の運用中アプリケーションサーバ0001の内部構成例を示す図である。It is a figure which shows the internal structural example of the application server 0001 in operation of this embodiment. 本実施形態のスケールアウト時に追加されるアプリケーションサーバ0004及び0005の内部構成例を示す図である。It is a figure which shows the internal structural example of the application servers 0004 and 0005 added at the time of the scale-out of this embodiment. 本実施形態のプロファイリング情報0017の一例を示す図である。It is a figure which shows an example of the profiling information 0017 of this embodiment. 本実施形態のオブジェクト管理部0041の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the object management part 0041 of this embodiment. 本実施形態のオブジェクト管理部0040の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the object management part 0040 of this embodiment.

符号の説明Explanation of symbols

0001…運用中アプリケーションサーバ、0002…ネットワーク、0003…データベース、0004及び0005…追加されるアプリケーションサーバ、0006及び0007…プロファイリング情報、0008…メモリ、0009…CPU、0010…入力装置、0011…出力装置、0012…通信装置、0013…磁気ディスク装置、0014…CD−ROM装置、0015…ユーザアプリケーション、0016…アプリケーションコンテナ、0017…プロファイリング情報、0018…問い合わせ式オブジェクトプール、0019…問い合わせ結果オブジェクトプール、0040…オブジェクト管理部、0020…メモリ、0021…CPU、0022…入力装置、0023…出力装置、0024…通信装置、0025…磁気ディスク装置、0026…CD−ROM装置、0027…ユーザアプリケーション、0028…アプリケーションコンテナ、0041…オブジェクト管理部、0042…プロファイリング情報、0043…問い合わせ式オブジェクトプール、0044…問い合わせ結果オブジェクトプール、0030…問い合わせ式文字列、0031…問い合わせ式オブジェクトの使用頻度、0032…問い合わせ結果文字列、0033…問い合わせ結果オブジェクトの使用頻度。
0001 ... Application server in operation, 0002 ... Network, 0003 ... Database, 0004 and 0005 ... Additional application server, 0006 and 0007 ... Profiling information, 0008 ... Memory, 0009 ... CPU, 0010 ... Input device, 0011 ... Output device, 0012 ... Communication device, 0013 ... Magnetic disk device, 0014 ... CD-ROM device, 0015 ... User application, 0016 ... Application container, 0017 ... Profiling information, 0018 ... Inquiry object pool, 0019 ... Inquiry result object pool, 0040 ... Object Management unit, 0020 ... memory, 0021 ... CPU, 0022 ... input device, 0023 ... output device, 0024 ... communication device, 0025 ... magnetic Disk device, 0026 ... CD-ROM device, 0027 ... user application, 0028 ... application container, 0041 ... object management unit, 0042 ... profiling information, 0043 ... query object pool, 0044 ... query result object pool, 0030 ... query character Column, 0031 ... frequency of use of query expression object, 0032 ... query result character string, 0033 ... frequency of use of query result object.

Claims (10)

生成したオブジェクトまたはプログラムをプーリングして再使用することでオブジェクトまたはプログラムを生成する回数を削減するプーリング方法において、
追加された情報処理装置が、運用中の情報処理装置から通信装置によりオブジェクトまたはプログラムの使用頻度を入手するステップと、
追加された情報処理装置が、前記入手したオブジェクトまたはプログラムの使用頻度を、追加された情報処理装置上に配置するステップと、
追加された情報処理装置が、前記配置したオブジェクトまたはプログラムの使用頻度に応じてオブジェクトまたはプログラムのプールを記憶装置上に作成するステップとを有することを特徴とするプーリング方法。
In a pooling method that reduces the number of times an object or program is generated by pooling and reusing the generated object or program,
The added information processing apparatus obtains the frequency of use of the object or program by the communication apparatus from the information processing apparatus in operation;
A step of added information processing apparatus, to place the frequency of use of objects or program the obtained, the added information processing devices that are going,
Added information processing apparatus, features and to pulp-ring method further comprising the steps of: creating a pool of objects or programs on the storage device in response to the frequency of use of the object or program was arranged.
追加された情報処理装置が、運用中の情報処理装置からオブジェクトまたはプログラムの使用頻度を入手する際に、追加された情報処理装置で実行するオブジェクトやプログラムに対応したオブジェクトまたはプログラムの使用頻度を入手することを特徴とする請求項1に記載されたプーリング方法。 When the added information processing device obtains the usage frequency of the object or program from the information processing device in operation, the usage frequency of the object or program corresponding to the object or program executed by the added information processing device is obtained. The pooling method according to claim 1, wherein: 追加された情報処理装置が、運用中の情報処理装置からオブジェクトまたはプログラムの使用頻度を入手する際に、追加された情報処理装置のプールサイズに対応したオブジェクトまたはプログラムの使用頻度を入手することを特徴とする請求項1または請求項2のいずれかに記載されたプーリング方法。 When the added information processing device obtains the usage frequency of the object or program from the information processing device in operation, the information processing device must obtain the usage frequency of the object or program corresponding to the pool size of the added information processing device. The pooling method according to claim 1, wherein the pooling method is characterized. 生成したオブジェクトまたはプログラムをプーリングして再使用することでオブジェクトまたはプログラムを生成する回数を削減するプーリング方法において、
再起動された情報処理装置が、運用中に不揮発性記憶装置へ記録したオブジェクトまたはプログラムの使用頻度を再起動時に当該不揮発性記憶装置から入手するステップと、
再起動された情報処理装置が、前記入手したオブジェクトまたはプログラムの使用頻度を、再起動された情報処理装置上に配置するステップと、
再起動された情報処理装置が、前記配置したオブジェクトまたはプログラムの使用頻度に応じてオブジェクトまたはプログラムのプールを記憶装置上に作成するステップとを有することを特徴とするプーリング方法。
In a pooling method that reduces the number of times an object or program is generated by pooling and reusing the generated object or program,
The restarted information processing apparatus obtains the usage frequency of the object or program recorded in the nonvolatile storage device during operation from the nonvolatile storage device upon restarting;
A step of the restarted information processing apparatus, to place the frequency of use of objects or program the obtained, the restarted information processing devices that are going,
A pooling method , wherein the restarted information processing apparatus includes a step of creating a pool of objects or programs on a storage device in accordance with the frequency of use of the arranged objects or programs .
再起動された情報処理装置が、運用中に不揮発性記憶装置へ記録したオブジェクトまたはプログラムの使用頻度を再起動時に入手する際に、再起動された情報処理装置で実行するオブジェクトまたはプログラムに対応したオブジェクトまたはプログラムの使用頻度を当該不揮発性記憶装置から入手することを特徴とする請求項4に記載されたプーリング方法。 Corresponding to the object or program executed by the restarted information processing device when the restarted information processing device obtains the usage frequency of the object or program recorded in the nonvolatile storage device during the operation. 5. The pooling method according to claim 4, wherein the usage frequency of the object or program is obtained from the nonvolatile storage device. 再起動された情報処理装置が、前記オブジェクトまたはプログラムの使用頻度に記録されている問い合わせ式文字列と問い合わせ結果文字列を示すオブジェクトまたはプログラムのなかで使用頻度の高いオブジェクトまたはプログラムを予め生成してプールに格納することにより、前記オブジェクトまたはプログラムのプールを記憶装置上に作成することを特徴とする請求項1乃至請求項5のいずれか1項に記載されたプーリング方法。 The restarted information processing apparatus, a frequently used objects or program among objects or program shows the query result string and the query expression string that is recorded in advance generated and the frequency of use of the object or program 6. The pooling method according to claim 1, wherein a pool of the object or program is created on a storage device by storing in the pool. 生成したオブジェクトまたはプログラムをプーリングして再使用することでオブジェクトまたはプログラムを生成する回数を削減するプーリングシステムにおいて、
運用中の情報処理装置から通信装置によりオブジェクトまたはプログラムの使用頻度を入手し、
前記入手したオブジェクトまたはプログラムの使用頻度を、追加された情報処理装置上に配置し、
前記配置したオブジェクトまたはプログラムの使用頻度に応じてオブジェクトまたはプログラムのプールを記憶装置上に作成する管理部を備えることを特徴とするプーリングシステム。
In pooling system to reduce the number of times to generate an object or program by the generated object or program to pooling and re-use,
Obtain the usage frequency of the object or program from the information processing device in use by the communication device,
The frequency of use of objects or program the obtained was placed in the added information processing devices that are going,
A pooling system comprising: a management unit that creates a pool of objects or programs on a storage device in accordance with the frequency of use of the arranged objects or programs .
生成したオブジェクトまたはプログラムをプーリングして再使用することでオブジェクトまたはプログラムを生成する回数を削減するプーリングシステムにおいて、
運用中に不揮発性記憶装置へ記録したオブジェクトまたはプログラムの使用頻度を再起動時に当該不揮発性記憶装置から入手し、
前記入手したオブジェクトまたはプログラムの使用頻度を、再起動された情報処理装置上に配置し、前記配置したオブジェクトまたはプログラムの使用頻度に応じてオブジェクトまたはプログラムのプールを記憶装置上に作成する管理部を備えることを特徴とするプーリングシステム。
In a pooling system that reduces the number of times an object or program is created by pooling and reusing the created object or program,
Obtain the usage frequency of the object or program recorded in the nonvolatile storage device during operation from the nonvolatile storage device when restarting,
Wherein the frequency of use of objects or program was obtained, it placed restarted information processing devices that are going, management unit to create a pool of objects or programs on the storage device in response to the frequency of use of the object or program arranged A pooling system comprising:
生成したオブジェクトまたはプログラムをプーリングして再使用することでオブジェクトまたはプログラムを生成する回数を削減するプーリング方法をコンピュータに実行させる為のプログラムにおいて、
運用中の情報処理装置から通信装置によりオブジェクトまたはプログラムの使用頻度を入手するステップと、
前記入手したオブジェクトまたはプログラムの使用頻度を、追加された情報処理装置上に配置するステップと、
前記配置したオブジェクトまたはプログラムの使用頻度に応じてオブジェクトまたはプログラムのプールを記憶装置上に作成するステップとをコンピュータに実行させることを特徴とするプログラム。
In a program for causing a computer to execute a pooling method for reducing the number of times an object or program is generated by pooling and reusing the generated object or program,
Obtaining the usage frequency of the object or program from the information processing device in operation by the communication device;
Placing the frequency of use of objects or program the obtained, the added information processing devices that are going,
A program causing a computer to execute a step of creating a pool of objects or programs on a storage device in accordance with the frequency of use of the arranged objects or programs.
生成したオブジェクトまたはプログラムをプーリングして再使用することでオブジェクトまたはプログラムを生成する回数を削減するプーリング方法をコンピュータに実行させる為のプログラムにおいて、
運用中に不揮発性記憶装置へ記録したオブジェクトまたはプログラムの使用頻度を再起動時に当該不揮発性記憶装置から入手するステップと、
前記入手したオブジェクトまたはプログラムの使用頻度を、再起動された情報処理装置上に配置するステップと、
前記配置したオブジェクトまたはプログラムの使用頻度に応じてオブジェクトまたはプログラムのプールを記憶装置上に作成するステップとをコンピュータに実行させることを特徴とするプログラム。
In a program for causing a computer to execute a pooling method for reducing the number of times an object or program is generated by pooling and reusing the generated object or program,
Obtaining from the non-volatile storage device the frequency of use of the object or program recorded in the non-volatile storage device during operation;
Placing the frequency of use of objects or program the obtained, the restarted information processing devices that are going,
A program causing a computer to execute a step of creating a pool of objects or programs on a storage device in accordance with the frequency of use of the arranged objects or programs.
JP2005072450A 2005-03-15 2005-03-15 Pooling method, system and program Expired - Fee Related JP4731960B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005072450A JP4731960B2 (en) 2005-03-15 2005-03-15 Pooling method, system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005072450A JP4731960B2 (en) 2005-03-15 2005-03-15 Pooling method, system and program

Publications (2)

Publication Number Publication Date
JP2006259806A JP2006259806A (en) 2006-09-28
JP4731960B2 true JP4731960B2 (en) 2011-07-27

Family

ID=37099042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005072450A Expired - Fee Related JP4731960B2 (en) 2005-03-15 2005-03-15 Pooling method, system and program

Country Status (1)

Country Link
JP (1) JP4731960B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI693239B (en) 2015-09-08 2020-05-11 日商迪愛生股份有限公司 Paint and its modulation method, printing ink and its modulation method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817648B2 (en) 2016-01-15 2017-11-14 Google Inc. Application containers with dynamic sub-package loading
EP3584696B1 (en) 2016-01-15 2024-01-03 Google LLC Managing delivery of code and dependent data using application containers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038964A (en) * 2002-06-28 2004-02-05 Microsoft Corp Automated system setup method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038964A (en) * 2002-06-28 2004-02-05 Microsoft Corp Automated system setup method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI693239B (en) 2015-09-08 2020-05-11 日商迪愛生股份有限公司 Paint and its modulation method, printing ink and its modulation method

Also Published As

Publication number Publication date
JP2006259806A (en) 2006-09-28

Similar Documents

Publication Publication Date Title
CN107832406B (en) Method, device, equipment and storage medium for removing duplicate entries of mass log data
JP2001249907A (en) Activation processing system
CN104102502A (en) Processing method and device for realizing hot deployment and server
US8751469B2 (en) System and method for scaling for a large number of concurrent users
JP2004295462A (en) Recovery processing method, execution system of the same, and processing program of the same
CN111049889B (en) Static resource uploading method and device, integrated server and system
JP4731960B2 (en) Pooling method, system and program
JP4500318B2 (en) Distributed transaction processing method, apparatus, and program
CN106874343B (en) Data deletion method and system for time sequence database
WO2016095644A1 (en) High availability solution method and device for database
CN114296835B (en) Application program starting method and device
CN108121514B (en) Meta information updating method and device, computing equipment and computer storage medium
JP2013519141A (en) Method and system for compressing data records and processing compressed data records
JP2001044412A (en) Semiconductor simulation apparatus
CN110765144B (en) Distributed heterogeneous database data processing method and device
JP5035237B2 (en) Server management program, server management apparatus, and server management method
JP5353891B2 (en) Distributed processing system, distributed processing method and program
JP2008226177A (en) Distributed processing program, system and method
JP2009199215A (en) Method for collecting use history of usb storage, computer program, and usb storage
CN103678478A (en) Information processing apparatus, information processing method, and program
CN111104251B (en) Method, apparatus and computer readable medium for restoring files
CN109996262B (en) AC starting method and device
JP6287307B2 (en) Message processing method, information processing apparatus, and program
JP2003345747A (en) Method and device for managing processing performance, program and recording medium with program recorded thereon
CN117149467A (en) Method for realizing command type API life cycle based on declarative type API

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110325

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110420

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

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees