JP2009140319A - データベースへのアクセスを制御する技術 - Google Patents

データベースへのアクセスを制御する技術 Download PDF

Info

Publication number
JP2009140319A
JP2009140319A JP2007317138A JP2007317138A JP2009140319A JP 2009140319 A JP2009140319 A JP 2009140319A JP 2007317138 A JP2007317138 A JP 2007317138A JP 2007317138 A JP2007317138 A JP 2007317138A JP 2009140319 A JP2009140319 A JP 2009140319A
Authority
JP
Japan
Prior art keywords
access
database
command
accesses
series
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
JP2007317138A
Other languages
English (en)
Other versions
JP5088735B2 (ja
Inventor
Yuko Iwamoto
裕子 岩本
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
Priority to JP2007317138A priority Critical patent/JP5088735B2/ja
Priority to US12/316,567 priority patent/US8176076B2/en
Publication of JP2009140319A publication Critical patent/JP2009140319A/ja
Application granted granted Critical
Publication of JP5088735B2 publication Critical patent/JP5088735B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Abstract

【課題】排他制御の頻度を低減してデータベースへのアクセスを効率化する。
【解決手段】データベースに対するアクセスを制御するシステムであって、入力したアクセスコマンドに基づいて、当該アクセスコマンドによりアクセスされるべきデータベースを判別するデータベース判別部と、判別した当該データベースにおいて、他のアクセスコマンドに応じた一連のアクセスが継続中かを判断するアクセス判断部と、判別した当該データベースに対するアクセス頻度を当該データベースに対するアクセス履歴に基づいて判断する頻度判断部と、判別した当該データベースにおいて、他のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、判別した当該データベースに対するアクセス頻度が予め定められた基準値以上であることを条件に、入力したアクセスコマンドによる当該データベースに対するアクセスを禁止するアクセス制御部とを備えるシステムを提供する。
【選択図】図3

Description

本発明は、データベースへのアクセスを制御する技術に関する。特に、本発明は、複数のコンピュータによる同一のデータベースへの競合するアクセスを制御する技術に関する。
データベースに対するアクセスを効率的に処理するために、クラスタ型システムが利用されている。クラスタ型システムは、複数のコンピュータを備えており、次々に受信する要求をそれら複数のコンピュータにより処理させることで、各コンピュータの負荷を分散できる。例えば、あるトランザクションを要求された場合に、現在最も負荷の低いコンピュータにそのトランザクションを処理させれば、各コンピュータの負荷を同程度に維持して、全体として処理を効率化できる。
一方、クラスタ型システムにおいては、データベースの一貫性を保持するために、アクセスの排他制御が必要である。アクセスの排他制御のためには、コンピュータ間の通信などの追加の処理が必要となる。したがって、例えば、多数のレコードを連続して更新するようなバッチ型処理が並列に実行されると、排他制御が高頻度で発生して処理の効率が低下するおそれがある。
バッチ型処理の効率化技術については、例えば下記の特許文献1を参照されたい。
特開2005−71171号公報
クラスタ型システムにおいて、バッチ処理であっても効率的に実行させるためには、自動的な負荷分散ではなく、ユーザが各バッチ処理を実行させるコンピュータを指定できることが好ましい。例えば、第1のバッチ処理と第2のバッチ処理とが全く異なるデータにアクセスする場合には、それらを異なるコンピュータで実行させてよい。
一方で、第3のバッチ処理と第4のバッチ処理とがアクセスするデータの大部分が重複する場合には、それらを異なるコンピュータで実行させると排他制御が高頻度で発生してしまう。従って、ユーザがこれらのバッチ処理を同一のコンピュータで処理するように指定すれば、排他制御の過度な発生を防止できる。
しかしながら、各バッチ処理がどのようなデータにアクセスするのかが予め分からない場合がある。例えば、近年一般的になりつつある「ERP(Enterprise Resource Planning)パッケージ」を利用する場合などである。「ERPパッケージ」とは、企業の経営資源を有効に活用し経営を効率化するために、基幹業務を部門ごとではなく統合的に管理するためのソフトウェアパッケージの総称である。
そのようなパッケージを利用した場合においては、データベース中のある特定のテーブルが、アプリケーションプログラムのどのような役割で使用されているのかが、利用者に開示されていない場合が多い。むしろ、そのような役割が開示されていないために、利用者はデータベースの構造を意識せずにアプリケーションプログラムを利用できる。
また、近年、プログラムの生産性を向上させる観点から、動的SQL(構造化照会言語)が用いられる場合がある。そのような言語で記述されたプログラムは、実行時に、従来型のSQLに変換されてから実行される。従って、単にそのプログラムを参照しても、実際に実行するまでは、どのテーブルがアクセスされるかは分からない。
このように、各バッチ処理がどのようなデータにアクセスするのかが予め分からない場合があり、その場合には、各バッチ処理をどのコンピュータで実行させると効率がよいのか分からない。これにより、バッチ処理実行時に排他制御が高頻度で発生し、時にはシステム全体の効率を低下させてしまう場合がある。
そこで本発明は、上記の課題を解決することのできるシステム、プログラムおよび方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、少なくとも1つのデータベースに対するアクセスを制御するシステムであって、入力された第1のアクセスコマンドに基づいて、当該アクセスコマンドによりアクセスされるべきデータベースを判別するデータベース判別部と、判別した当該データベースにおいて、第2のアクセスコマンドに応じた一連のアクセスが継続中か否かを判断するアクセス判断部と、判別した当該データベースに対するアクセス頻度を、当該データベースに対するアクセス履歴に基づいて判断する頻度判断部と、判別した当該データベースにおいて、前記第2のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、判別した当該データベースに対する前記アクセス頻度が予め定められた基準値以上であることを条件に、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止するアクセス制御部とを備えるシステムを提供する。また、当該システムとしてコンピュータを機能させる方法およびプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報システム10の全体構成を示す。情報システム10は、データベースにアクセスするためのクラスタ型計算機システムである。具体的には、情報システム10は、データベース20と、データベース20にアクセスするための複数のコンピュータ(例えば処理用コンピュータ100A−C)と、処理用コンピュータ100A−Cによるアクセスを調停するための制御用コンピュータ120とを備える。
データベース20は、例えば後述のハードディスクドライブ1040などの記憶装置により実現される。そして、処理用コンピュータ100A−Cのそれぞれは、外部から受けたリクエストに応じて、それぞれ独立してデータベース20にアクセスする。制御用コンピュータ120は、データベース20内でデータの一貫性が損なわれないように、処理用コンピュータ100A−Cからの競合するアクセスを排他制御する。但し、それぞれの処理用コンピュータ100が例えばバッチ処理などを実行する場合において、アクセスの競合が高頻度で発生すると、排他制御が高頻度で必要となって情報システム10の効率が低下する場合がある。
これに対し、本実施形態に係る情報システム10は、バッチ処理の実行状況をデータベース20中に制御情報25として管理すると共に、競合する他のバッチ処理の実行中には新たなバッチ処理を開始しないようにすることで、全体として情報システム10の効率を向上させることができる。以下、具体的に説明を進める。
図2は、本実施形態に係る情報システム10の機能構成を示す。図1に示したように、情報システム10は、データベース20と、第1の処理用コンピュータ100Aと、第2の処理用コンピュータ100Bと、処理用コンピュータ100Cと、制御用コンピュータ120とを備える。処理用コンピュータ100Aは、基本的なハードウェアとして、例えばネットワーク・インターフェイス・カードなどの通信インターフェイス102と、例えばハードディスク・ドライブ、メモリー・チップなどの記憶部104とを有する。
そして、処理用コンピュータ100Aは、記憶部104に記憶されたプログラムを読み出して実行することで、アプリケーション(AP)サーバ105と、データベース管理システム(DBMS)108として機能する。APサーバ105は、予めインストールされたプログラム(例えばサーバ用プログラム)を実行しており、外部(例えばクライアント装置)から受けた要求に応じて処理を進める。
その過程で、データベース20へのアクセスが必要になると、APサーバ105は、SQLコマンドなどの、データベースに対するアクセス専用のコマンドをDBMS108に対し発行する。なお、このようなアクセス専用のコマンドのことを、以下の説明においては、アクセスコマンド、SQLコマンド、または、SQLステートメントなどと称するが、何れも略同一のコマンドを指し示す。
DBMS108は、受け取ったSQLコマンドを解釈して、その内容に従ってデータベース20へアクセスする。アクセスは、レコードの更新またはレコードの挿入などの、更新系のアクセスであってもよいし、レコードの読み出しなどの、参照系のアクセスであってもよい。また、ハードウェア利用の観点からは、このアクセスは、DBMS108が、オペレーティング・システムまたはデバイスドライバに指示して通信インターフェイス102を動作させ、通信インターフェイス102の機能によりデータベース20を制御する装置と通信することによって実現される。
なお、処理用コンピュータ100Bおよび処理用コンピュータ100Cのそれぞれは、処理用コンピュータ100Aと略同一であるから説明を省略する。
一方、制御用コンピュータ120は、基本的なハードウェアとして、例えばネットワーク・インターフェイス・カードなどの通信インターフェイス102と、例えばハードディスクドライブなどの記憶部104とを有する。制御用コンピュータ120は、記憶部104から読み出したプログラムを実行することで、アクセス調停部125として機能する。
アクセス調停部125は、処理用コンピュータ100A−Cからデータベース20に対する競合するアクセスの排他制御をする。例えば、あるレコードが処理用コンピュータ100Aにより更新中の場合には、そのレコードに対する処理用コンピュータ100Bからのアクセスを禁止する。これにより、データベース20内のデータの一貫性を保持することができる。
このような排他制御が高頻度で発生すると、情報システム10の効率が全体として低下してしまう場合がある。従って、一連のアクセスを頻繁に発生させるバッチ処理については、各処理用コンピュータ100は特別な制御を行う。具体的には、各処理用コンピュータ100は、記憶部104に記憶されたプログラムを実行することで、それぞれ制御システム109として更に機能する。それぞれの制御システム109は、あるバッチ処理が継続中の場合には、それと競合する他のバッチ処理を開始させない。これにより、排他制御が高頻度で発生することによる効率の低下を防止できる。
図3は、本実施形態に係る制御システム109の機能構成を示す。制御システム109は、データベース判別部300と、アクセス判断部310と、頻度判断部320と、基準値算出部325と、アクセス制御部330と、格納部335とを有する。以降、図3を参照して、処理用コンピュータ100Aに設けられた制御システム109について説明する。まず、データベース判別部300は、処理用コンピュータ100Aの何れかにおいて、新たにアクセスコマンドが入力されたことに応じて処理を開始する。このアクセスコマンドは、例えばある第1のバッチ処理のためのコマンドである。
そして、データベース判別部300は、その入力されたアクセスコマンドに基づいて、そのアクセスコマンドによりアクセスされるべきデータベースを判別する。ここでいうデータベースとは、ある単位で記憶または管理されるデータという意味であり、たとえばアクセス調停部125による排他制御の単位より大きいことが望ましい。具体的には、データベースは、リレーショナル・データベース上の1つのテーブルであってよいし、特定の複数のテーブルの集合であってよい。例えばデータベースが1つのテーブルである場合において、データベース判別部300は、その入力されたアクセスコマンドによりアクセスされるべきテーブルを判別する。
アクセス判断部310は、判別したそのデータベースにおいて、他のアクセスコマンドに応じた一連のアクセスが継続中かどうかを判断する。一連のアクセスとは、例えばバッチ処理のことである。即ちこの場合、この一連のアクセスは、上記第1のバッチ処理とは異なる第2のバッチ処理のことである。これに代えて、この一連のアクセスは、トランザクション処理であってよい。一連のアクセスが継続中かどうかの判断は、例えば、各バッチ処理の進行状況を管理するための制御情報25に基づいて実現されてよい。
頻度判断部320は、判別したそのデータベースに対するアクセス頻度を、そのデータベースに対するアクセス履歴に基づいて判断する。アクセス履歴は、そのデータベースに対応付けて制御情報25に記録されていてよい。そして、アクセス制御部330は、このアクセス頻度、および、第2のバッチ処理が継続中か否かに基づいて、アクセス調停部125による排他制御の頻度を低下させるべく、当該データベースに対する第1のバッチ処理のためのアクセスを制御する。
具体的には、アクセス制御部330は、判別したそのデータベースにおいて、他のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、判別したそのデータベースに対するアクセス頻度が予め定められた基準値以上であるかどうかを判断する。この基準値は、例えば基準値算出部325により算出されたものであってよい。
そして、他のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、そのデータベースに対するアクセス頻度が基準値以上であることを条件に、アクセス制御部330は、入力されたそのアクセスコマンドによる当該データベースに対するアクセスを禁止する。そのアクセスを禁止した場合には、アクセス制御部330は、DBMS108にその旨を通知して、DBMS108におけるバッチ処理を一時中断させる。
その場合には、アクセス制御部330は、DBMS108において、それまでに実行した処理をコミットさせてよい。それ以外の場合には、アクセス制御部330は、入力したそのアクセスコマンドによるアクセスを許可する。アクセス制御部330がDBMS108において処理をコミットさせた場合、または、DBMS108にバッチ処理を許可した場合には、格納部335は、その処理時刻などを制御情報25に記録する。
以上、処理用コンピュータ100Aに設けられた制御システム109について説明したが、処理用コンピュータ100Bおよび処理用コンピュータ100Cに設けられた制御システム109についても、上記処理用コンピュータ100Aの制御システム109の機能構成と略同一である。但し、処理用コンピュータ100Bの制御システム109は、処理用コンピュータ100BのDBMS108がアクセスコマンドを入力したことに応じて処理を開始し、処理用コンピュータ100BのDBMS108の動作を制御する。また、処理用コンピュータ100Cの制御システム109は、処理用コンピュータ100CのDBMS108がアクセスコマンドを入力したことに応じて処理を開始し、処理用コンピュータ100CのDBMS108の動作を制御する。その他の構成についての説明は省略する。
図4は、本実施形態に係るデータベース20に記憶された制御情報25のデータ構造の一例を示す。制御情報25は、バッチ処理を識別するための処理識別情報、そのバッチ処理を実行するべくアクセスコマンドを発行したコンピュータの識別情報、そのバッチ処理によってアクセスされるテーブルの識別情報、および、そのバッチ処理によるアクセスのタイプを対応付けて記憶している。タイプとしては、例えばInsert(挿入)、UPDATE(更新)またはDELETE(削除)などがある。これらの情報は、バッチ処理の開始時に制御情報25に登録される。具体的には、データベース判別部300は、アクセスされるべきデータベースを判別するタイミングで、アクセスコマンドに基づいて上記各種情報を解析して制御情報25に登録してよい。
制御情報25は、さらに、そのバッチ処理が継続中であるかどうかをアクセス判断部310により判断された直近の時刻を記録している。また、制御情報25は、更に、そのバッチ処理において一連のアクセスが開始された時刻、および、そのバッチ処理がコミットされる時刻を記録している。これらの各種情報は、判断、アクセス開始、または、コミットなどの各種処理のタイミングにおいて、格納部335により登録される。
さらに、制御情報25は、アクセス件数の情報を記録している。このアクセス件数は、対応するバッチ処理において、対応するアクセス対象テーブルに対し、アクセスが発生した回数を示す。このアクセス件数は、格納部335により順次更新される。具体的には、格納部335は、アクセスコマンドによる処理がコミットされる毎に、対応するレコードのアクセスの件数を更新してゆく。さらに、制御情報25は、これらの各種情報から算出されるアクセス頻度を記録してもよい。
図5は、本実施形態に係るAPサーバ105およびDBMS108の処理フローの一例を示す。ここでは、処理用コンピュータ100Aに設けられたAPサーバ105およびDBMS108について説明する。まず、APサーバ105は、処理に必要なプログラム・モジュールを読み込んで、その実行を開始する(S500)。そして、DBMS108は、データベース20との接続を開始する(S510)。
APサーバ105は、プログラム・モジュールを実行する過程で、SQLステートメントを発行する場合がある(S520)。発行するSQLステートメントが確定したタイミングで、制御システム109が動作を開始する。制御システム109の動作の詳細については、図6を参照して後に説明する。
制御システム109によりSQLステートメントの発行が許可されると、DBMS108は、そのステートメントを実行する(S530)。実行によりアクセスの競合が発生すると、制御用コンピュータ120のアクセス調停部125により排他制御が行われる。そして、一連のアクセスが完了すると、DBMS108は、処理をコミットする(S540)。APサーバ105は、プログラム・モジュールによって指定された所定の終了条件が成立するまで、以上の処理を繰り返す(S550:NO)。
一方、そのような終了条件が成立した場合には(S550:YES)、APサーバ105は、データベース20に対する接続を切断して処理を終了する。処理用コンピュータ100B−Cのそれぞれの処理についても、上述の処理と略同一であるから説明を省略する。
図6は、本実施形態に係る制御システム109の処理フローの一例を示す。データベース判別部300は、発行すべきSQLステートメントが確定したタイミングで動作を開始すると、まず、その入力されたステートメントに基づいて、そのステートメントによりアクセスされるべきデータベースを判別する(S600)。
そしてその場合には、新たにバッチ処理を開始しようとしているので、格納部335は、そのバッチ処理に対応するレコードを制御情報25に登録する(S610)。詳細には、格納部335は、当該ステートメントを発行したコンピュータの識別情報、アクセスされる当該データベースの識別情報、当該アクセスコマンドによりアクセスのタイプ、および、当該アクセスの開始時刻を制御情報25に格納してよい。
次に、アクセス判断部310は、制御情報25を参照して、判別したそのデータベースをアクセス対象とする他のバッチ処理に対応するレコードを読み出す(S620)。そして、アクセス判断部310は、判別したそのデータベースにおいて、他のアクセスコマンドに応じた一連のアクセスが継続中かどうかを判断する(S630)。
具体的には、アクセス判断部310は、判別した当該データベースに対応するレコードを制御情報25から読み出す。そのようなレコードが複数登録されている場合には、アクセス判断部310は、複数のレコードを読み出す。但し、S610において登録されたレコードは読み出し対象から除外される。そして、アクセス判断部310は、読み出した何れかのレコードにおいて、そのコミットの時刻が記録されていないことを条件に、当該データベースにおいて一連のアクセスが継続中であると判断する。また、アクセス判断部310は、読み出したそれぞれのレコードにおける「アクセス対象テーブル確認時刻」のカラムに、現在の時刻を記録する。
アクセスが継続中の場合には(S630:YES)、さらに、アクセス判断部310は、当該他のアクセスコマンドに応じた一連のアクセスが、当該データベースにレコードを挿入するアクセスであるか否かを判断する(S640)。この判断は、例えば制御情報25に記録されたアクセスのタイプが「I」であるかどうかを判断することによって実現されてよい。
なお、アクセス判断部310は、レコードを挿入するアクセスに限らず、一連のアクセスが、レコードの更新を含む、データベースを更新するアクセスであるかどうかを判断してよい。但し、レコードを挿入するアクセスについては、新たな記憶領域の確保などの、比較的複雑かつ処理時間の長い制御が必要となる傾向がある。従って、少なくとも挿入のアクセスを制御の対象とすることが好ましい。これにより、排他制御の高頻度な発生による効率の低下を防止できる。
レコードを挿入するアクセスである場合には(S640:YES)、さらに、アクセス判断部310は、入力した当該ステートメントを発行したコンピュータ、即ち処理用コンピュータ100Aと、当該他のアクセスコマンドを発行したコンピュータとが同一か否かを判断する(S650)。この判断は、例えば制御情報25に記録されたコンピュータの識別情報を参照することによって実現されてよい。
何れの判断も成立する場合に(S650:YES)、アクセス判断部310は、判別したそのデータベースに対するアクセス頻度を判断する(S660)。このアクセス頻度は、例えば、判別した当該データベースに対応する制御情報25中のレコードに基づいて判断されてよい。具体的には、アクセス判断部310は、当該レコード中のアクセス件数を、当該レコード中のアクセスの開始時刻からコミット時刻までの間の経過時間で割り算することによって、アクセス頻度を算出してよい。
アクセス判断部310は、このようにして算出したアクセス頻度を、制御情報25の最も右側のカラムに記録してもよい。他方、このようなアクセス頻度が予め算出されて、制御情報25の最も右側のカラムに既に記録されている場合においては、アクセス判断部310は、単にそのアクセス頻度を読み出せばよい。
但し、同一のデータベースについて、複数のレコードが制御情報25に記録されている場合がある。これは、即ち、そのデータベースについて一連のアクセスが複数行われたことを示している。そのような場合には、アクセス判断部310は、これら複数のレコードのそれぞれに基づいて、それぞれのレコードに対応する複数のアクセス頻度を算出してよいし、例えばアクセス頻度の平均値などの、1つのアクセス頻度を算出してもよい。これに代えて、アクセス判断部310は、同一のデータベースにアクセスした一連のアクセスが複数ある場合には、最後にコミットされた一連のアクセスのみについて、当該データベースにアクセスした頻度を算出してもよい。
次に、アクセス判断部310は、判別したそのデータベースに対するアクセス頻度が予め定められた基準値以上であるかどうかを判断する(S670)。この基準値は、基準値算出部325により算出されてよい。具体的には以下の通りである。
制御用コンピュータ120が備えるCPU1000などの処理能力に応じて、アクセス調停部125により単位時間当たりに処理可能な処理量には限界がある。また、制御用コンピュータ120上では各種制御のための処理が既に実行中の場合があり、その限界の処理量が常に使用可能とは限らない。このため、格納部335は、アクセス調停部125により単位時間当たりに処理可能な処理量のうち未使用の処理量を順次モニターしている。一例として、格納部335は、制御用コンピュータ120のオペレーティング・システムが順次算出している、いわゆるCPU使用率(r「%」)に基づき、1−r「%」を、未使用の処理量として算出してよい。
また、アクセス調停部125による一度の排他制御に必要な処理量は、概ね、予め定められている。例えば、1回の排他制御において、制御用コンピュータ120間でα回のメッセージのやり取りが必要であるとし、また、1回のメッセージ転送時間をβ単位時間(例えばβ秒)とすると、1回の排他制御には、α×βの処理量が必要となる。
そして、基準値算出部325は、当該未使用の処理量(1−r)を、一度の排他制御に必要な処理量として予め定められた処理量(α×β)で除算することで、基準値を算出する。競合するアクセスの頻度がこの基準値を超える場合には、排他制御の頻度がアクセス調停部125の処理能力の限界を超えて、制御用コンピュータ120の処理効率が著しく低下するおそれがあるからである。
アクセス制御部330は、この基準値を、S660において求めたアクセス頻度と比較する(S670)。S660において求めたアクセス頻度が1つだけの場合には、アクセス制御部330は、当該1つのアクセス頻度を基準値と比較する(S670)。一方、S660において求めたアクセス頻度が複数の場合には、アクセス制御部330は、例えば、当該複数のアクセス頻度のうち最も高い頻度が基準値よりも高いかどうかを判断する。この場合には、過去に生じた最も頻度の高いバッチ処理が再度発生したとしても、制御用コンピュータ120の効率低下を防ぐことができる。
そして、アクセス頻度が基準値以上であることを条件に(S670:YES)、アクセス制御部330は、第1のバッチ処理のために入力したアクセスコマンドによるデータベースに対するアクセスを禁止する(S680)。この場合には、アクセス制御部330は、第1のバッチ処理を中断して、当該第1のバッチ処理のうち既に実行した処理をコミットさせる(S690)。これにより、他のバッチ処理とのデッドロックを未然に防止できる。
この場合には更に、格納部335は、制御情報25における対応するレコードのコミットの時刻を更新してよい。これにより、このコミット時刻に基づいて当該第1のバッチ処理のアクセス頻度を算出できる。即ち、このアクセス頻度を、他のバッチ処理の開始しようとする場合における判断に用いることができる。
そして、アクセス制御部330は、第1のバッチ処理を実行しようとするコンピュータ、例えばDBMS108の処理を一定期間停止させる(S695)。処理を停止させるこの期間は、例えば、制御情報25のうち対応するテーブルの「アクセス対象テーブル確認時刻」を基準として、予め定められた期間であることが好ましい。そして、一定期間の停止のあと、処理用コンピュータ100Aは、S620に処理を戻して、競合するバッチ処理が完了したかどうかを判断する。
一方、第2のバッチ処理が継続中でない場合(S630:NO)、更新系アクセスでない場合(S640:NO)、競合するバッチ処理が同一のコンピュータで実行されている場合(S650:NO)、または、アクセス頻度が基準値未満の場合(S670:NO)には、アクセス制御部330は、第1のバッチ処理の開始を許可するべく、DBMS108に通知する(S635)。
更新系アクセスでない場合にバッチ処理の開始を許可するのは、参照系アクセスでは排他制御が発生しにくいからである。また、競合するバッチ処理が同一のコンピュータで実行されている場合にバッチ処理の開始を許可するのは、そのような場合にはコンピュータ間の連係動作による排他制御が不要だからである。また、アクセス頻度が基準未満の場合にバッチ処理の開始を許可するのは、そのような場合には排他制御の頻度が低くアクセス調停部125により充分に処理できるからである。
以上、図6を参照して処理用コンピュータ100Aの制御システム109による処理の一例を説明したが、処理用コンピュータ100B−Cのそれぞれにおける制御システム109についても略同一である。即ち、処理用コンピュータ100A−Cのそれぞれにおいて制御システム109が上記処理を独立して行う。これにより、処理用コンピュータ100A−Cは、競合するバッチ処理が継続中かどうかをそれぞれ判断して、継続中の場合には処理を中断することで、情報システム10を全体として効率的に動作させることができる。
図7は、本実施形態に係る処理用コンピュータ100Aとその周辺装置のハードウェア構成の一例を示す。この構成は、ホストコントローラ1082により相互に接続されるCPU1000、RAM1020、及びグラフィックコントローラ1075を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィックコントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ1075は、CPU1000等がRAM1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、CPU1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、例えば上記通信インターフェイス102の一例であり、ネットワークを介して外部の装置と通信する。ハードディスクドライブ1040は、例えば上記データベース20を実現し、処理用コンピュータ100Aが使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020又はハードディスクドライブ1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、処理用コンピュータ100Aの起動時にCPU1000が実行するブートプログラムや、処理用コンピュータ100Aのハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、入出力チップ1070を介してRAM1020またはハードディスクドライブ1040に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
処理用コンピュータ100Aに提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ1070及び/又は入出力コントローラ1084を介して、記録媒体から読み出され処理用コンピュータ100Aにインストールされて実行される。プログラムが処理用コンピュータ100A等に働きかけて行わせる動作は、図1から図6において説明した処理用コンピュータ100における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを処理用コンピュータ100Aに提供してもよい。
以上、本実施形態に係る情報システム10によれば、データベースの一貫性を保持するための排他制御に加えて、バッチ処理のような連続アクセスを生じるタスクを排他的に実行させるように制御することができる。この結果、アクセスが競合しないようにタスクを人手でスケジューリングしなくても、高頻度な排他制御の発生による性能低下を防止できる。このため、例えばERPパッケージなどを利用した場合などのように、事前にアクセス対象のテーブルを特定するのが困難であって人手によるスケジューリングが難しい場合でも、情報システム10を効率的に動作させることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、本実施形態に係る情報システム10の全体構成を示す。 図2は、本実施形態に係る情報システム10の機能構成を示す。 図3は、本実施形態に係る制御システム109の機能構成を示す。 図4は、本実施形態に係るデータベース20に記憶された制御情報25のデータ構造の一例を示す。 図5は、本実施形態に係るAPサーバ105およびDBMS108の処理フローの一例を示す。 図6は、本実施形態に係る制御システム109の処理フローの一例を示す。 図7は、本実施形態に係る処理用コンピュータ100Aのハードウェア構成の一例を示す。
符号の説明
10 情報システム
20 データベース
25 制御情報
100 処理用コンピュータ
102 通信インターフェイス
104 記憶部
105 APサーバ
108 DBMS
109 制御システム
120 制御用コンピュータ
125 アクセス調停部
300 データベース判別部
310 アクセス判断部
320 頻度判断部
325 基準値算出部
330 アクセス制御部
335 格納部

Claims (14)

  1. 少なくとも1つのデータベースに対するアクセスを制御するシステムであって、
    入力された第1のアクセスコマンドに基づいて、当該第1のアクセスコマンドによりアクセスされるべきデータベースを判別するデータベース判別部と、
    判別した当該データベースにおいて、第2のアクセスコマンドに応じた一連のアクセスが継続中か否かを判断するアクセス判断部と、
    判別した当該データベースに対するアクセス頻度を、当該データベースに対するアクセス履歴に基づいて判断する頻度判断部と、
    判別した当該データベースにおいて、前記第2のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、判別した当該データベースに対する前記アクセス頻度が予め定められた基準値以上であることを条件に、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止するアクセス制御部と
    を備えるシステム。
  2. 同一のデータベースに対する複数のアクセスコマンドによる競合するアクセスを排他制御するアクセス調停部を更に備え、
    前記アクセス制御部は、判別した当該データベースに対する前記アクセス調停部による排他制御の頻度を低下させるべく、前記第1のアクセスコマンドによる当該データベースに対するアクセスを制御する
    請求項1に記載のシステム。
  3. 前記第1のアクセスコマンドは第1のバッチ処理のために発行され、
    前記第2のアクセスコマンドに応じた一連のアクセスは前記第1のバッチ処理とは異なる第2のバッチ処理である
    請求項2に記載のシステム。
  4. 前記アクセス制御部は、前記第1のアクセスコマンドによるアクセスを禁止する場合には、前記第1のバッチ処理を中断して、前記第1のバッチ処理のうち既に実行した処理をコミットする、請求項3に記載のシステム。
  5. 前記アクセス判断部は、前記第1のアクセスコマンドを発行した第1のコンピュータと、前記第2のアクセスコマンドを発行した第2のコンピュータとが同一か否かを更に判断し、
    前記アクセス制御部は、前記第1のコンピュータと、前記第2のコンピュータとが異なることを更に条件として、判別した当該データベースに対するアクセスを禁止する、
    請求項2に記載のシステム。
  6. 前記アクセス判断部は、さらに、前記第2のアクセスコマンドに応じた一連のアクセスが、判別した当該データベースを更新するアクセスであるか否かを判断し、
    前記アクセス制御部は、前記第2のアクセスコマンドに応じた一連のアクセスが、当該データベースを更新するアクセスであることを更に条件として、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止する、
    請求項2に記載のシステム。
  7. 前記アクセス判断部は、さらに、前記第2のアクセスコマンドに応じた一連のアクセスが、判別した当該データベースにレコードを挿入するアクセスであるか否かを判断し、
    前記アクセス制御部は、前記第2のアクセスコマンドに応じた一連のアクセスが、当該データベースにレコードを挿入するアクセスであることを更に条件として、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止する、
    請求項2に記載のシステム。
  8. 前記頻度判断部は、判別した当該データベースに対し既にコミットされた一連のアクセスのそれぞれについて、当該一連のアクセスにおいて当該データベースにアクセスした頻度を判断し、
    前記アクセス制御部は、それぞれの一連のアクセスについて判断した前記頻度のうち最も高い頻度が前記基準値よりも高いことを条件に、当該データベースに対するアクセスを禁止する、
    請求項2に記載のシステム。
  9. 前記頻度判断部は、判別した当該データベースに対し既にコミットされた一連のアクセスが複数ある場合には、複数の当該一連のアクセスのうち、最後にコミットされた一連のアクセスにおいて当該データベースにアクセスした頻度を判断する、請求項2に記載のシステム。
  10. アクセスコマンドを発行したコンピュータの識別情報、アクセスされるデータベースの識別情報、アクセスコマンドによるアクセスのタイプ、アクセスの開始時刻、コミットの時刻、および、アクセスの回数を対応付けて記憶した制御情報を記憶装置内に管理しており、
    前記アクセス制御部によりアクセスが許可されてデータベースへのアクセスが開始される場合に、当該アクセスコマンドを発行したコンピュータの識別情報、アクセスされる当該データベースの識別情報、当該アクセスコマンドによりアクセスのタイプ、および、当該アクセスの開始時刻を前記記憶装置内の前記制御情報に含めて格納する格納部を更に備え、
    さらに、
    前記格納部は、当該アクセスコマンドによる処理がコミットされる毎に、前記記憶装置内の前記制御情報における対応するレコードの前記コミットの時刻を更新し、
    さらに、前記制御情報における対応するレコードの前記アクセスの回数を更新し、
    前記アクセス判断部は、判別した当該データベースに対応するレコードを前記記憶装置内の前記制御情報から読み出して、読み出したレコードの前記コミットの時刻が記録されていないことを条件に、当該データベースにおいて一連のアクセスが継続中であると判断し、
    前記頻度判断部は、判別した当該データベースに対応するレコードを前記記憶装置内の前記制御情報から読み出して、読み出したレコードの前記アクセスの開始時刻、前記コミットの時刻、および、アクセスの回数に基づいて、当該データベースに対する前記アクセス頻度を判断する、
    請求項2に記載のシステム。
  11. 前記アクセス調停部による単位時間当たりに処理可能な処理量のうち未使用の処理量を順次モニターすると共に、当該未使用の処理能力を、一度の排他制御に必要な処理量として予め定められた処理量で除算した数を、前記基準値として順次算出する基準値算出部を更に備え、
    前記アクセス制御部は、前記基準値算出部により算出された前記基準値よりも、前記アクセス頻度が高いことを条件にアクセスを禁止する、
    請求項2に記載のシステム。
  12. 少なくとも1つのデータベースに対するアクセスを制御するプログラムであって、
    コンピュータを、
    入力された第1のアクセスコマンドに基づいて、当該第1のアクセスコマンドによりアクセスされるべきデータベースを判別するデータベース判別部と、
    判別した当該データベースにおいて、第2のアクセスコマンドに応じた一連のアクセスが継続中か否かを判断するアクセス判断部と、
    判別した当該データベースに対するアクセス頻度を、当該データベースに対するアクセス履歴に基づいて判断する頻度判断部と、
    判別した当該データベースにおいて、前記第2のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、判別した当該データベースに対する前記アクセス頻度が予め定められた基準値以上であることを条件に、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止するアクセス制御部と
    して機能させるプログラム。
  13. 少なくとも1つのデータベースに対するアクセスを制御する方法であって、
    入力された第1のアクセスコマンドに基づいて、当該第1のアクセスコマンドによりアクセスされるべきデータベースを判別するステップと、
    判別した当該データベースにおいて、第2のアクセスコマンドに応じた一連のアクセスが継続中か否かを判断するステップと、
    判別した当該データベースに対するアクセス頻度を、当該データベースに対するアクセス履歴に基づいて判断するステップと、
    判別した当該データベースにおいて、前記第2のアクセスコマンドに応じた一連のアクセスが継続中であって、かつ、判別した当該データベースに対する前記アクセス頻度が予め定められた基準値以上であることを条件に、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止するステップと
    を備える方法。
  14. 少なくとも1つのデータベースに対するアクセスを制御するシステムであって、
    同一のデータベースに対する複数のアクセスコマンドによる競合するアクセスを排他制御するアクセス調停部と、
    入力された第1のアクセスコマンドに基づいて、当該第1のアクセスコマンドによりアクセスされるべきデータベースを判別するデータベース判別部と、
    判別した当該データベースにおいて、第2のアクセスコマンドに応じた一連のアクセスが継続中か否かを判断するアクセス判断部と、
    判別した当該データベースにおいて、前記第2のアクセスコマンドに応じた一連のアクセスが継続中であることを条件に、前記第1のアクセスコマンドによる当該データベースに対するアクセスを禁止するアクセス制御部と
    を備えるシステム。
JP2007317138A 2007-12-07 2007-12-07 データベースへのアクセスを制御する技術 Expired - Fee Related JP5088735B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007317138A JP5088735B2 (ja) 2007-12-07 2007-12-07 データベースへのアクセスを制御する技術
US12/316,567 US8176076B2 (en) 2007-12-07 2008-12-05 Method and system for controlling accesses to a database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007317138A JP5088735B2 (ja) 2007-12-07 2007-12-07 データベースへのアクセスを制御する技術

Publications (2)

Publication Number Publication Date
JP2009140319A true JP2009140319A (ja) 2009-06-25
JP5088735B2 JP5088735B2 (ja) 2012-12-05

Family

ID=40870847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007317138A Expired - Fee Related JP5088735B2 (ja) 2007-12-07 2007-12-07 データベースへのアクセスを制御する技術

Country Status (2)

Country Link
US (1) US8176076B2 (ja)
JP (1) JP5088735B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170414A (ja) * 2010-02-16 2011-09-01 Nec Corp ロック競合管理装置、ロック競合管理方法およびプログラム
CN104219069A (zh) * 2013-05-30 2014-12-17 腾讯科技(深圳)有限公司 访问频率控制方法、装置及控制系统
US9456029B2 (en) 2012-12-19 2016-09-27 International Business Machines Corporation Command process load balancing system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949192B2 (en) * 2007-11-19 2015-02-03 International Business Machines Corporation Technique of controlling access to database
JP5352421B2 (ja) * 2009-10-30 2013-11-27 株式会社エヌ・ティ・ティ・データ データアクセス装置、データアクセス方法およびデータアクセスプログラム
US20110106853A1 (en) * 2009-10-30 2011-05-05 Microsoft Corporation Declarative model security pattern
JP6201298B2 (ja) * 2012-11-14 2017-09-27 オムロン株式会社 コントローラおよびプログラム
CN105653632B (zh) * 2015-12-25 2019-05-31 北京奇虎科技有限公司 一种防止数据库并发的方法和装置
CN107979580B (zh) * 2016-10-24 2019-08-13 腾讯科技(深圳)有限公司 一种访问控制方法、装置及服务器
WO2019218020A1 (en) * 2018-05-16 2019-11-21 archTIS Limited A security gateway and method for controlling user interaction with one or more databases

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175522A (ja) * 1999-12-15 2001-06-29 Hitachi Software Eng Co Ltd 排他制御方法及びシステム
JP2001290663A (ja) * 2000-04-04 2001-10-19 Casio Comput Co Ltd データベース管理装置および記憶媒体
JP2006172067A (ja) * 2004-12-15 2006-06-29 Hitachi Ltd データベース管理方法、システム及びプログラム
JP2007004595A (ja) * 2005-06-24 2007-01-11 Hitachi Ltd コンピュータ制御方法、コンピュータ、情報処理システム、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700458B2 (en) * 1989-05-01 2014-04-15 Catalina Marketing Corporation System, method, and database for processing transactions
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
JP2005071171A (ja) 2003-08-26 2005-03-17 Hitachi Ltd バッチジョブ実行制御方法
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175522A (ja) * 1999-12-15 2001-06-29 Hitachi Software Eng Co Ltd 排他制御方法及びシステム
JP2001290663A (ja) * 2000-04-04 2001-10-19 Casio Comput Co Ltd データベース管理装置および記憶媒体
JP2006172067A (ja) * 2004-12-15 2006-06-29 Hitachi Ltd データベース管理方法、システム及びプログラム
JP2007004595A (ja) * 2005-06-24 2007-01-11 Hitachi Ltd コンピュータ制御方法、コンピュータ、情報処理システム、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170414A (ja) * 2010-02-16 2011-09-01 Nec Corp ロック競合管理装置、ロック競合管理方法およびプログラム
US9456029B2 (en) 2012-12-19 2016-09-27 International Business Machines Corporation Command process load balancing system
US10348815B2 (en) 2012-12-19 2019-07-09 International Business Machines Corporation Command process load balancing system
US10826980B2 (en) 2012-12-19 2020-11-03 International Business Machines Corporation Command process load balancing system
CN104219069A (zh) * 2013-05-30 2014-12-17 腾讯科技(深圳)有限公司 访问频率控制方法、装置及控制系统
CN104219069B (zh) * 2013-05-30 2018-06-08 腾讯科技(深圳)有限公司 访问频率控制方法、装置及控制系统

Also Published As

Publication number Publication date
US20090193025A1 (en) 2009-07-30
US8176076B2 (en) 2012-05-08
JP5088735B2 (ja) 2012-12-05

Similar Documents

Publication Publication Date Title
JP5088735B2 (ja) データベースへのアクセスを制御する技術
US6289399B1 (en) Computer and parameter setting method
US9875111B2 (en) Information handling system performance optimization system
JP4704041B2 (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
US7383417B2 (en) Prefetching apparatus, prefetching method and prefetching program product
US8606919B2 (en) Resource management tool
US7065663B2 (en) Methods and apparatus to control power state transitions
US9092251B2 (en) Method of managing virtual machines using a virtual machine monitor
US20070118838A1 (en) Task execution controller, task execution control method, and program
US20130036299A1 (en) Method for increasing free memory amount of main memory and computer therefore
EP2352090B1 (en) System accessing shared data by a plurality of application servers
JP2013117981A (ja) インテリジェント・パワー・マネジメントを提供するための方法および装置
US11061841B2 (en) System and method for implementing a multi-threaded device driver in a computer system
US6832278B2 (en) PCI bar target operation region
JP4620768B2 (ja) 複数のコアを含むプロセッサを有するコンピュータ・システムの制御
US7797473B2 (en) System for executing system management interrupts and methods thereof
US20050223383A1 (en) Methods and apparatus for reserving an execution thread
JP2013047892A (ja) 情報処理装置、スケジューリング方法およびプログラム
JP5704176B2 (ja) プロセッサ処理方法、およびプロセッサシステム
JP4846226B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US7024499B2 (en) Cache only queue option for cache controller
JP4352086B2 (ja) 情報処理装置およびオペレーティングシステム判別方法
JP6731620B2 (ja) 計算機システム及び記憶デバイス起動制御方法
JP2003030043A (ja) メモリ管理方法
CN114490332A (zh) 一种web环境下系统耗时与瓶颈分析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120719

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

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

Free format text: PAYMENT UNTIL: 20150921

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