JP5604403B2 - データ利用システム - Google Patents
データ利用システム Download PDFInfo
- Publication number
- JP5604403B2 JP5604403B2 JP2011235380A JP2011235380A JP5604403B2 JP 5604403 B2 JP5604403 B2 JP 5604403B2 JP 2011235380 A JP2011235380 A JP 2011235380A JP 2011235380 A JP2011235380 A JP 2011235380A JP 5604403 B2 JP5604403 B2 JP 5604403B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- server
- search
- processing unit
- index
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Webシステム入門/第1回 Webサイトの構成とJ2EEサーバ インターネットURL:http://www.atmarkit.co.jp/fjava/rensai2/websys01/websys01.html 検索日:2011年10月20日
この結果、当該サブシステムから発行させるSQLは確かに簡素化され、サブシステム単位での演算処理量を低減することはできるが、システム全体としてのデータ一元性を担保するため、DBサーバ16にはバッチ処理によってデータの変換・更新処理を行う必要性が生じる。そして、最近では取扱いデータ量の増大に伴い、夜間バッチ処理では上記の変換・更新処理が間に合わなくなるという事態が生じ始めている。
これに対し、上記のような仕組みをアプリケーションサーバに設けることにより、テーブルの正規化の追求に伴うデータベースサーバ側の負担増を、アプリケーションサーバ側の処理の効率化によってカバーすることが可能となった。
しかも、データ参照時には個々のデータの主キーを指定した形のSQLがアプリケーションサーバから発行されるため、データベースサーバ側でテーブルをソートする必要がなくなり、その分、データベースサーバの負荷を低減することができる。
この更新ログ記憶領域は、各データベースサーバのOSによってメモリ上に設定されると共に、更新ログの格納処理もOSの機能によって実現される仕組みであるため、データベースサーバ用のアプリケーションプログラムが機能停止しても、OSがダウンしない限り復旧は可能である。
しかも、データベースサーバが物理的に複数台用意されると共に、各データベースサーバにおいては同一の追加データが更新ログとして更新ログ記憶領域に蓄積される仕組みであるため、停電等の事故によって一のデータベースサーバにおいて更新ログが消えてしまった場合でも、他のデータベースサーバに格納された更新ログによって容易に復旧可能となる。
Webサーバ12には、インターネット17を介してクライアント端末18が接続されている。
各DBサーバ16は、全DBサーバ16間に共通するデータを格納した複数のテーブル(テーブル群19)と、DB管理システム(RDBMS)とを備えており、DBサーバ16の中の少なくとも一部は、データ保全の観点から遠隔地に配置されている。
まず、クライアント端末18にはWebサーバ12からデータ利用画面が送信され、Webブラウザ上に表示される(図示省略)。
そして、ユーザがこのデータ利用画面を通じて検索条件を指定し、データの検索をリクエストすると、Webサーバ12からAPサーバ14に対して検索リクエストが送信される。この際、ロードバランサ13を介して、最も負荷の小さい一のAPサーバ14に対して、検索リクエストが振り分けられる。
これを受けた各DBサーバ16は、SQLで指定されたデータを抽出し、APサーバ14に送信する。
これに対しWebサーバ12は、APサーバ14から受け取った検索結果データを表示する画面(図示省略)を生成し、クライアント端末18に送信する。
これを受けたAPサーバ14は、各DBサーバ16に対して同一のSQLを発行し、同データの追加を依頼する。
これに対し各DBサーバ16は、上記追加データを対応のテーブルに格納する処理を実行する。
この図におけるスレッド32が、図2〜図4に表された検索条件分割処理部20、複数の検索処理部22、複数のデータ加工処理部24、検索結果統合処理部26、追加データ受付部27、複数の登録処理部28として機能し、これらの機能構成部が実行する具体的な処理がタスク36に相当する。
まず、図6に従い、検索条件分割処理部20による処理手順を説明する。
すなわち、クライアント端末18から送信された検索条件をWebサーバ12経由でAPサーバ14が受信すると(S10)、検索条件分割処理部20は検索条件を解析し、検索条件の内容に応じて複数の検索条件に分割する(S12)。
例えば、「2010年における全チェーン店の売上を集計する」という検索条件が与えられた場合に、「2010年1月分の全チェーン店の売上」、「2010年2月の全チェーン店の売上」、「2010年3月の全チェーン店の売上」…というように、年を月単位に12分割することが該当する。
また、各チェーン店の所在地データに着目し、「2010年における東京所在チェーン店の売上」、「2010年における北海道所在チェーン店の売上」、「2010年における沖縄所在チェーン店の売上」…というように、全国を都道府県単位に47分割することも該当する。
もちろん、「2010年1月分の東京所在チェーン店の売上」や「2010年1月の北海道所在チェーン店の売上」のように、月×都道府県単位で564分割することもできる。
すなわち、検索条件分割処理部20は、47個の検索処理部22に対して、上記都道府県単位の検索処理と、対応DBサーバ16を割り当てる(S14)。
まず検索処理部22は、自己に割り当てられた検索処理に必要な都道府県を指定したSQLを自動生成し、自己に割り当てられた特定のDBサーバ16に対して発行する(S20)。
この結果、一部のデータ加工処理部24は、受信データをキー項目でソートすると共に、キー項目の値に基づいて複数のデータに分割する処理を実行する。また、他のデータ加工処理部24は、分割されたデータに基づく値の集計処理や、当該値を指定したデータの抽出をDBサーバ16に依頼する処理などを実行する。
受信データの分割手法については後に例示するが、検索条件の内容に応じて論理的に分割する検索条件分割処理部20による分割と異なり、受信データの値や分量に応じた分割手法となる。データ加工処理部24による具体的な処理についても、後に例示する。
各検索処理部22は、DBサーバ16からのデータ送信が完了するまで、DBサーバ16から送信されるデータが一定量に達する度にS24〜S28の処理を繰り返す(S30/N、S22/Y)。
そして、DBサーバ16からのデータ送信が完了し、S24〜S28の最後の処理が完了した時点で(S30/Y)、検索処理部22はこれまでの部分的な処理結果の集計値を集計し(S32)、検索結果統合処理部26に集計結果を出力する(S34)。
まず検索結果統合処理部26は、各検索処理部22から集計結果が送信される度に、全ての検索処理部22からの集計結果が揃ったか否かをチェックし(S40、S42)、全てが揃った段階で全検索処理部の集計結果を集計する(S44)。
そして、その最終的な集計結果をWebサーバ12に送信する(S46)。
Webサーバ12は、この集計結果を含むWebファイルを生成し、クライアント端末18に送信することになる。
まず、クライアント端末18から送信されたデータ追加のリクエストをWebサーバ12経由でAPサーバ14が受信すると(S50)、追加データ受付部27がDBサーバ16の数に対応した登録処理部28を起動させ、それぞれに担当DBサーバ16の特定情報及び追加データを渡す(S52)。
これを受けた各登録処理部28は、自己が担当するDBサーバ16に対して上記の追加データの登録を求めるSQLを発行する(S54)。
これを受けた各DBサーバ16は、対応のテーブルに対して一斉にデータを追加する。この結果、各DBサーバ16が管理するデータの同一性が確保される。
また、予約管理テーブル42は、「予約ID(主キー)」、「店ID」、「顧客ID(外部キー)」、「金額」及び「予約年月日」のデータ項目を備えている。
売上管理テーブル44は、「予約ID(主キー/外部キー)」及び「売上年月日」のデータ項目を備えている。
予約取消管理テーブル46は、「予約ID(主キー/外部キー)」及び「予約取消年月日」のデータ項目を備えている。
請求管理テーブル48は、「請求ID(主キー)」、「請求年月日」及び「予約ID(外部キー)」のデータ項目を備えている。
(1)キー項目は一つに限定される。
したがって、複数の項目の組合せによってキー項目を構成すること(複合キー)は、禁止される。
したがって、値に変更が生じた場合など、発生タイミングの異なる情報は別テーブルに格納されることとなる。
まず「NULL値禁止制約」とは、データ項目の値としてNULL(値なし)を充填することが禁止されることを意味しており、このようなNULL値の充填を想定したデータ項目の設定自体が許容されないことになる。
つぎに「フラグ値禁止制約」とは、データ項目の値としてフラグ値(「1/0」、「ON/OFF」、「TRUE/FALSE」等の2値データ)を充填することが禁止されることを意味しており、このようなフラグ値の充填を想定したデータ項目の設定自体が許容されないことになる。
「区分値禁止制約」とは、データ項目の値として区分値(「1:正社員」、「2:パート」、「3:アルバイト」等)を充填することが禁止されることを意味しており、このような区分値の充填を想定したデータ項目の設定自体が許容されないことになる。
また、「予約取消」に関するデータも、通常であれば予約管理テーブル42において「予約取消フラグ」等のデータ項目が設けられ、各レコードに「1/0」等のフラグ値を充填することで状態が管理されるところであるが、予約取消管理テーブル46を予約管理テーブル42とは別個に設けることにより、予約取消の状態管理がなされている。すなわち、この予約取消管理テーブル46に登録された予約IDが「予約取消」状態にあることとなり、レコードの有無によって予約取消の有無が表現されている。
図示は省略したが、このような場合には例えば「顧客ID」、「変更地域」、「変更年月日」等のデータ項目を備えた「顧客地域変更管理テーブル」が新たに設けられて、当該顧客の顧客ID、変更後の地域、変更年月日が格納される。
そして、DBサーバ16から該当日の請求年月日を備えた請求データが送信されると、検索処理部22は一定量のデータ(例えば1,000件のレコード相当分)単位で受信データを分割し、複数のデータ加工処理部24に以下の処理を割り当てる。
(1)各請求データの「予約ID」を指定したSQLを生成してDBサーバ16に発行し、「予約管理テーブル42」から対応の予約データを取得する。
(2)送信された予約データの中で、該当店舗の「店ID」を有するデータのみを抽出し、他の店IDのデータを除外する。
(3)各予約データの「顧客ID」を指定したSQLを生成してDBサーバ16に発行し、顧客管理テーブル40から対応の顧客データを取得する。
(4)顧客データの「地域」毎に、予約データ中の「金額」の値を集計する。
これら(1)〜(4)の処理は、具体的にはタスク36として各データ加工処理部24のスレッドプール34に配置される。
検索結果統合処理部26は、全検索処理部22から8月1日〜8月31日までの全集計結果が集まった時点でこれらを集計し、Webサーバ12に出力する。
上記の通り、各DBサーバ16は同じ内容のデータを保持しているため、検索処理部22にDBサーバ16を割り振る際にはDBサーバ16毎の特性を考慮することなく、機械的に対応付けることができる。
例えば、分割された検索条件が31個あり、検索処理部が31個設けられたにもかかわらず、DBサーバ16が物理的に10台しか用意されていない場合には、各DBサーバ16に対して3〜4個の検索条件が割り振られることになる。この場合でも、1台のDBサーバ16のみで全てを処理する場合に比べ、大幅な高速化が期待できる。
まず一のデータ加工処理部24は、DBサーバ16から送信されたデータを2等分する位置を探索し、そこから前方不一致検索によってキー項目の変わり目を探しだし、データを2分割させる。
例えば、(a)のデータ列はキー項目の値が1〜6があるが、データ加工処理部24は「3」と「4」との間を境にこれを2分割させ、(b)及び(c)のデータ列を生成する。
この時点で、(e)のデータ列のキー項目の値は「3」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(e)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(h)のデータ列のキー項目の値は「1」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(h)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
同様に、(i)のデータ列のキー項目の値は「2」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(i)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(g)のデータ列のキー項目の値は「6」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(g)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(j)のデータ列のキー項目の値は「4」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(j)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
同様に、(k)のデータ列のキー項目の値は「5」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(k)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この結果、大量のデータに対して複数のデータ加工処理部24による並列処理が可能となり、APサーバ14に複数搭載されたCPUコアの有効利用が可能となる。
このデータ加工処理部24による分割処理に際し、分割の回数(階層の深さ)に一定の限度を設けることもできる。
この結果、第1のスレッドプール50に配置されたタスク36の実行によってI/O Waitが発生した場合、スレッド32は第2のスレッドプール52に配置されたタスク36を待ち時間の間に処理することが可能となり、処理の効率化を図ることが可能となる。
しかも、DBサーバ16は筐体レベルで複数台用意され、検索時にはデータの抽出処理がそれぞれに分散される。
このため、テーブルの正規化の追求に伴いDBサーバ16側の処理速度が低下することを、有効に回避できる。
この場合、各DBサーバ16は、DB管理システム(RDBMS)61と、当日分データ記憶領域(暫定記憶領域)62と、過去分データ記憶領域(永続記憶領域)63とを備える。
インデックス生成部64及びインデックス提供部66は、インデックスサーバ60のCPUが専用のプログラムに従って動作することにより実現され、インデックス記憶部65は、インデックスサーバ60のSSD(Solid State Drive)内に設けられている。
また、インデックスサーバ60のインデックス生成部64は、夜間バッチ処理により、DB管理システム61から当日分データ記憶領域62内に格納された追加データを取得し、追加分のインデックスを作成した後、インデックス記憶部65に格納する。
しかも、インデックスはハードディスクよりも高速な動作が可能なSSDに格納されているため、APサーバ14がインデックスを参照する際のDISK/IOを低減することができる。
ここでテーブル記憶領域74は、ハードディスク(HDD)内に設けられており、上記した顧客管理テーブル40や予約管理テーブル42等が格納されている。また更新ログ記憶領域76は、OSによってメモリ(tmpfs)内に設けられている。
このため、上記のように各テーブルに格納されるレコードの構造が極限まで簡素化されていると、1つのブロック78に収納できるレコード数を増やすことが可能となり、その分、DBサーバ16における処理の効率化を実現することが可能となる。
これに対し、このシステム10の場合には、上記のようにDBサーバ16が物理的に複数台設けられており、各DBサーバ16には同一内容のデータが保存される仕組みを備えているため、データ消失の危険を有効に分散させることが可能となる。
12 Webサーバ
13 ロードバランサ
14 APサーバ
16 DBサーバ
17 インターネット
18 クライアント端末
19 テーブル群
20 検索条件分割処理部
22 検索処理部
24 データ加工処理部
26 検索結果統合処理部
27 追加データ受付部
28 登録処理部
30 CPUコア
32 スレッド
34 スレッドプール
36 タスク
40 顧客管理テーブル
42 予約管理テーブル
44 売上管理テーブル
46 予約取消管理テーブル
48 請求管理テーブル
50 第1のスレッドプール
52 第2のスレッドプール
60 インデックスサーバ
61 DB管理システム
62 当日分データ記憶領域
63 過去分データ記憶領域
64 インデックス生成部
65 インデックス記憶部
66 インデックス提供部
70 バッファ・キャッシュ領域
74 テーブル記憶領域
76 更新ログ記憶領域
78 ブロック
79 更新ログ
Claims (5)
- 複数のデータベースサーバと、各データベースサーバにネットワークを介して接続されたアプリケーションサーバとからなるデータ利用システムであって、
上記の各データベースサーバは、DB管理システムとデータ記憶領域を備えており、
各データベースサーバのデータ記憶領域には、データベースサーバ相互間に共通するデータを保持した共通のテーブルがそれぞれ複数格納されており、
上記の各テーブルには、キー項目が一つに限定される制約と、データの更新及び削除が禁止される制約が設けられており、
上記アプリケーションサーバは、検索条件分割処理部と、複数の検索処理部と、複数のデータ加工処理部と、検索結果統合処理部と、追加データ受付部と、複数の登録処理部を備え、
上記検索条件分割処理部は、入力された検索条件を解析して複数の検索条件に分割すると共に、各検索条件及び対応データベースサーバを上記複数の検索処理部に割り当てる処理を実行し、
上記の各検索処理部は、自己に割り当てられた検索条件に対応したSQLを生成し、自己に割り当てられたデータベースサーバに発行する処理と、データベースサーバから一定量の検索結果データが送信される度に、必要な演算処理を上記の各データ加工処理部に割り当てる処理と、各データ加工処理部から部分的な加工処理結果データが返される度に、これをメモリに格納すると共に、データベースサーバから送信されたデータをメモリ上から削除する処理と、データベースサーバからのデータ送信が完了し、部分的な検索結果データに基づく部分的な加工処理結果データが全て揃った時点で、これらを集計して上記検索結果統合処理部に集計結果を出力する処理を実行し、
上記検索結果統合処理部は、各検索処理部から渡された集計結果を集計し、検索結果として出力する処理を実行し、
上記追加データ受付部は、入力された追加データのコピーと、対応データベースサーバの特定情報を含むデータ追加リクエストを上記の各登録処理部に割り当てる処理を実行し、
上記の各登録処理部は、上記追加データの登録を求めるSQLを生成し、自己に割り当てられたデータベースサーバに発行する処理を実行することを特徴とするデータ利用システム。 - 上記検索条件分割処理部は、入力された検索条件が時間的な範囲を含んでいる場合に、これをより短い時間的な範囲に分割することを特徴とする請求項1に記載のデータ利用システム。
- 上記検索条件分割処理部は、入力された検索条件が地域的な範囲を含んでいる場合に、これをより狭い地域的な範囲に分割することを特徴とする請求項1に記載のデータ利用システム。
- 請求項1〜3の何れかに記載のデータ利用システムであって、
インデックス生成部及びインデックス記憶部を有するインデックスサーバを備えており、
また上記の各データベースサーバは、暫定記憶領域及び永続記憶領域を備えており、
上記DB管理システムは、上記アプリケーションサーバから送信された追加データを上記暫定記憶領域に格納する処理と、所定の時間間隔で暫定記憶領域内の追加データを上記永続記憶領域に移動する処理を実行し、
上記インデックスサーバのインデックス生成部は、所定の時間間隔で上記データベースサーバの暫定記憶領域に格納された追加データを取得する処理と、この追加データに基づいてインデックスを生成し、上記インデックス記憶部に格納する処理を実行し、
上記アプリケーションサーバの各検索処理部は、自己に割り当てられた検索条件に対応した上記SQLを生成するに際し、上記インデックスサーバのインデックス記憶部を参照し、検索条件に該当する各データの主キーを取得する処理と、この主キーによって取得データを指定したSQLを生成する処理を実行することを特徴とするデータ利用システム。 - 上記の各データベースサーバは、メモリ上に設けられた更新ログ記憶領域を備えており、
各データベースサーバのOSが、上記アプリケーションサーバから送信された追加データを上記更新ログ記憶領域に順次格納する処理を実行することを特徴とする請求項1〜4の何れかに記載のデータ利用システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011235380A JP5604403B2 (ja) | 2011-10-26 | 2011-10-26 | データ利用システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011235380A JP5604403B2 (ja) | 2011-10-26 | 2011-10-26 | データ利用システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013092945A JP2013092945A (ja) | 2013-05-16 |
| JP5604403B2 true JP5604403B2 (ja) | 2014-10-08 |
Family
ID=48616014
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011235380A Expired - Fee Related JP5604403B2 (ja) | 2011-10-26 | 2011-10-26 | データ利用システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5604403B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5620617B1 (ja) * | 2014-05-28 | 2014-11-05 | 楽天株式会社 | 情報処理システム、端末、サーバ、情報処理方法、記録媒体、ならびに、プログラム |
| CN105446991B (zh) * | 2014-07-07 | 2018-10-30 | 阿里巴巴集团控股有限公司 | 数据存储方法、查询方法及设备 |
| CN108228611B (zh) * | 2016-12-14 | 2020-08-18 | 平安科技(深圳)有限公司 | 单据信息抄写方法和装置 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3584630B2 (ja) * | 1996-09-20 | 2004-11-04 | 株式会社日立製作所 | データベース処理システムにおける分類集計処理方法 |
| JP2000187605A (ja) * | 1998-12-22 | 2000-07-04 | Kokusai Zunou Sangyo Kk | 純並列データベース管理システム |
| JP3601579B2 (ja) * | 1999-05-07 | 2004-12-15 | 三菱電機株式会社 | 分散データ処理システム |
| JP2001075852A (ja) * | 1999-09-02 | 2001-03-23 | Toshiba Corp | データベース管理システム、分散データベースシステム及びデータベース管理システムの処理をコンピュータに実行させるためのプログラムを格納した記録媒体 |
| JP2002342341A (ja) * | 2001-05-16 | 2002-11-29 | Intec Inc | ネットワークを利用した対話型オンライン検索システム及びオンライン検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| US9135304B2 (en) * | 2005-12-02 | 2015-09-15 | Salesforce.Com, Inc. | Methods and systems for optimizing text searches over structured data in a multi-tenant environment |
| JP5096775B2 (ja) * | 2007-03-30 | 2012-12-12 | 株式会社野村総合研究所 | データ処理システム |
-
2011
- 2011-10-26 JP JP2011235380A patent/JP5604403B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013092945A (ja) | 2013-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| He et al. | Comet: batched stream processing for data intensive distributed computing | |
| Chen et al. | Map-reduce meets wider varieties of applications | |
| Peng et al. | Large-scale incremental processing using distributed transactions and notifications | |
| US8140495B2 (en) | Asynchronous database index maintenance | |
| US20190258625A1 (en) | Data partitioning and ordering | |
| US8386436B2 (en) | System and method for data storage | |
| US8468151B2 (en) | Methods and systems for hardware acceleration of database operations and queries based on multiple hardware accelerators | |
| JP5608633B2 (ja) | データ利用システム | |
| JP5727258B2 (ja) | 分散型データベースシステム | |
| DE102016105472A1 (de) | Speicherebenenverteilung und parallele Zuordnung auf Blockebene bei Dateisystemen | |
| Tan et al. | Diff-Index: Differentiated Index in Distributed Log-Structured Data Stores. | |
| JP6032680B2 (ja) | 受信したデータごとに集計処理を行うシステム、方法およびプログラム | |
| JP5878232B2 (ja) | データ処理システム | |
| JP5730386B2 (ja) | 計算機システム及び並列分散処理方法 | |
| JP5238915B1 (ja) | 分散型データベースシステム | |
| CN104111958A (zh) | 一种数据查询方法及装置 | |
| US20150095286A1 (en) | Database auditing for bulk operations | |
| JPH1097544A (ja) | データベース処理システム | |
| JP5425028B2 (ja) | データ検索システム及びプログラム | |
| JP5604403B2 (ja) | データ利用システム | |
| CN107609172A (zh) | 一种跨系统多维度数据检索处理方法及装置 | |
| JP5604478B2 (ja) | データ利用システム | |
| JP5474743B2 (ja) | プログラム開発支援システム | |
| JP2013235328A (ja) | データ管理システム | |
| JP5681781B2 (ja) | データ利用システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140205 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140716 |
|
| 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: 20140819 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140825 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5604403 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |