JP6072334B1 - 情報処理システム及び方法、並びにプログラム - Google Patents
情報処理システム及び方法、並びにプログラム Download PDFInfo
- Publication number
- JP6072334B1 JP6072334B1 JP2016115415A JP2016115415A JP6072334B1 JP 6072334 B1 JP6072334 B1 JP 6072334B1 JP 2016115415 A JP2016115415 A JP 2016115415A JP 2016115415 A JP2016115415 A JP 2016115415A JP 6072334 B1 JP6072334 B1 JP 6072334B1
- Authority
- JP
- Japan
- Prior art keywords
- search
- query
- types
- data
- execution
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 57
- 230000010365 information processing Effects 0.000 title claims description 33
- 238000000605 extraction Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 44
- 230000009467 reduction Effects 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims 2
- 238000004587 chromatography analysis Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000013523 data management Methods 0.000 abstract description 9
- 239000000284 extract Substances 0.000 abstract description 8
- 230000004044 response Effects 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000003068 static effect Effects 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 2
- 241000212384 Bifora Species 0.000 description 1
- 229910000906 Bronze Inorganic materials 0.000 description 1
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000010974 bronze Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- KUNSUQLRTQLHQQ-UHFFFAOYSA-N copper tin Chemical compound [Cu].[Sn] KUNSUQLRTQLHQQ-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24535—Query rewriting; Transformation of sub-queries or views
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
しかしながら、このインデックス技術は、不特定の検索条件で検索された場合においてクエリの実行を高速化することを目的とした技術である。
例えばゲームに用いられるような、データ検索を起動するきっかけとなる操作の種類が有限であるデータ構造、即ち、クエリが有限となるデータ構造に最適化された技術ではない。
一方、クエリの状態を利用したデータベース検索の高速化の技術としては、データベース用のクエリ結果のキャッシュ技術が挙げられる。
例えば、最近最も使われていない検索結果を最初に捨てるLeast Recently Used(LRU)、最近最も使われた検索結果を最初に捨てるMost Recently Used(MRU)、最近最も使われる頻度の少ない検索結果から捨てるLeast Frequently Used(LFU)等のアルゴリズムがよく知られている(例えば特許文献2参照)。
しかし、これらのアルゴリズムは、クエリ使用頻度に依存してキャッシュを管理するものであり、例えばオンラインゲームのように検索の局所性が全く存在しない用途では有効に機能しない。
特にクライアント側に予めデータをインストールすることが難しい、Webブラウザ上で動作するゲームにおいてはCSVの検索が性能上のボトルネックの一つとなっており、静的データの検索の高速化は本質的に重要な問題である。
さらに言えば、例えば、英語版をはじめ、多言語・他国市場への展開時には、自然言語のデータは、サポートする言語や進出する市場の数だけ増加することになる。
所定のユーザインターフェイスから入力可能であり、かつ、クエリを構成する夫々の条件間において、減少性、冪等性、交換可能性の3つを満たすクエリ条件を用いて、検索対象データに対して検索の処理を実行する情報処理システムにおいて、
検索の処理前に処理を実行する前処理実行手段と、
検索の処理を実行する検索処理手段と、
を備え、
前記前処理実行手段は、
前記検索対象データで使用され得るクエリ条件の集合から、複数種類のサブクエリを抽出するクエリ抽出手段と、
前記クエリ抽出手段により抽出された前記複数種類のサブクエリの夫々を実行するクエリ実行手段と、
前記クエリ抽出手段により抽出された前記複数種類のサブクエリ毎に、前記クエリ実行手段による実行結果と、当該実行結果に対応する種類のサブクエリを識別可能な情報とを対応付けたデータを、対応付データとして生成する対応付け手段と、
前記対応付け手段により生成された、前記複数種類のサブクエリ毎の対応付データを管理する管理手段と、
を含み、
前記検索処理手段は、
前記ユーザインターフェイスから検索用に入力されたクエリ条件を、検索クエリ条件として受け付ける受付手段と、
前記受付手段により受け付けられた前記検索クエリ条件を、1種類以上のサブクエリの集合体に分割する分割手段と、
前記分割手段により分割された前記集合体に属する前記1種類以上のサブクエリの夫々を識別可能な情報に基づいて、当該1種類以上のサブクエリの夫々の実行結果を前記対応付データの中から抽出する実行結果抽出手段と、
前記実行結果抽出手段の抽出結果に基づいて、前記受付手段により受け付けられた前記検索クエリ条件に対する検索結果を生成する検索結果生成手段と、
を備える情報処理システム。
図1に示す情報処理システムは、w人(wは1以上の任意の整数値)のプレイヤーの夫々により使用されるプレイヤー端末1−1乃至1−wと、サーバ2とを含むシステムである。プレイヤー端末1−1乃至1−wの夫々と、サーバ2とは、インターネット等の所定のネットワークNを介して相互に接続されている。
プレイヤー端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、通信部30と、ドライブ31と、を備えている。
RAM23には、CPU21が各種の処理を実行する上において必要なデータ等も適宜記憶される。
ここで、タッチ操作とは、タッチ操作入力部26に対する物体の接触又は近接の操作をいう。タッチ操作入力部26に対して接触又は近接する物体は、例えばプレイヤーの指やタッチペン等である。
表示部27は、液晶等のディスプレイにより構成され、ゲームに関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネルが構成されている。
記憶部29は、DRAM(Dynamic Random Access Memory)等で構成され、各種データを記憶する。
通信部30は、インターネットを含むネットワークNを介して他の装置(図1の例ではサーバ2や他のプレイヤー端末1)との間で行う通信を制御する。
サーバ2の構成は、プレイヤー端末1のタッチパネルを除いた構成と基本的に同様であるので、ここではその説明は省略する。
即ち、本実施形態の情報処理システムは、高速検索のためのデータベースを生成する「開発時(データ導入時)」のフェイズと、ゲームのプレイ中等に実際に検索が行われる「実行時(ゲームプレイ中等)」のフェイズと、から構成される一連の処理を実行することができる。
即ち、サーバ2は、事前にゲーム内で実行され得るクエリの集合を分析することで、クエリの最小単位(以下、「サブクエリ」と呼ぶ)を複数種類抽出する。
サーバ2は、抽出された複数種類のサブクエリの夫々を実行し、これらの実行結果の夫々と、対応する種類のサブクエリを識別可能な情報とを対応付けたデータを、対応付データとして生成する。
サーバ2は、複数種類のサブクエリ毎の対応付データを、所定のデータベース(以下、「PLデータDB」と呼ぶ)へ格納して管理する。
即ち、プレイヤーがプレイヤー端末1を操作して、所定のユーザインターフェイスを介してクエリ条件を入力すると、プレイヤー端末1は、そのクエリ条件をサーバ2へ送信する。
サーバ2は、送信されてきた検索クエリ条件を受信すると、1種類以上のサブクエリの集合体に分割し、当該1種類以上のサブクエリの夫々を識別可能な情報に基づいて、当該1種類以上のサブクエリの夫々の実行結果を対応付データの中から抽出する。そして、サーバ2は、その抽出結果に基づいて、検索結果を生成して、プレイヤー端末1に提示する。
サーバ2のCPU51においては、データ導入時処理の実行時にはデータ導入時処理部151が機能し、検索処理時には検索処理部152が機能する。
サーバ2の記憶部58の一領域には、クエリ集合DB200と、検索対象データDB300と、PLデータDB400とが設けられる。
データ導入時処理においては、プレイヤー端末1は特に機能せず、サーバ2のうちデータ導入時処理部151のみが機能する。
データ導入時処理部151には、サブクエリ抽出部110と、サブクエリ実行部111と、PLデータ生成部112と、が設けられている。
クエリの集合とは、導入対象のゲーム内で使用され得るクエリ条件の集合である。
具体的には、クエリ条件の集合は、次の式で定義される。
qH:={a,b,c,d,e,・・・,h} ・・・(1)
ここで、qHは、H番目の条件に対応するクエリ条件の集合を意味する。例えば、攻撃力の検索条件等の検索条件が対象とする属性に対応する。この集合の要素であるa,b,c,d,e,・・・,hは、検索条件として使用される値である。例えば、最大値が15である攻撃力の検索条件の場合であれば、{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}が集合の要素となる。
なお、本実施形態で用いる検索対象データとは、ゲーム内で検索対象となるあらゆるデータであり、特定の形式に限定されるものではない。JSON形式、CSV形式、等、幅広いデータが対象となる。検索対象データの具体例については、図8を用いて後述する。
PLデータ管理部120は、このようにして生成された複数種類のサブクエリ毎のPLデータをPLデータDB400に格納して管理する。
所定種類のサブクエリを識別可能な情報は、その名のごとく所定種類のサブクエリを特定可能なものであれば足り、その形態等は特に限定されない。例えば本実施形態では、所定種類のサブクエリを識別するキーとなる条件(具体的には例えば、攻撃力で検索するサブクエリでは、atk=10)が、当該所定種類のサブクエリの実行結果と対応付けられて、当該所定種類のサブクエリのPLデータが構成されている。
検索時処理においては、プレイヤー端末1では、ユーザインターフェイス制御部100と、クエリ条件送信制御部101と、検索結果取得部102と、検索結果表示制御部104と、が機能する。サーバ2では、検索処理部152が機能する。
検索処理部152には、PLデータ管理部120と、クエリ条件取得部121と、分割部122と、実行結果抽出部123と、検索結果生成部124と、検索結果送信制御部125と、が設けられている。
また、ユーザインターフェイス制御部100は、上述の画面(タッチ操作入力部26)に対してプレイヤーがしたタッチ操作の内容を受け付ける。例えば、ユーザインターフェイス制御部100のうちクエリ条件受付部131は、プレイヤーがタッチ操作でタッチ操作入力部26に対して入力した検索のための条件を、クエリ条件として受け付ける。
演算順番決定部141は、検索結果生成部124が検索結果を生成するにあたり、夫々のサブクエリを統合(論理演算式の集合演算)をする際の集合演算コストを見積もることができる。
演算順番決定部141は、見積もりの結果、最も絞り込み能力が高いサブクエリから順にソートすることにより、集合演算を適用するのに最も効率のいい順序を提案する。
検索結果表示制御部103は、検索結果取得部102により取得された検索結果(より正確には検索結果を示す画像等)を、表示部27に表示させる制御を実行する。
図5は、図4の機能的構成を有するサーバ2が実行する、データ導入時処理の流れの一例を説明するフローチャートである。
ステップS2において、サブクエリ実行部111は、ステップS1の処理で抽出された複数のサブクエリの夫々を実行する。
ステップS3において、PLデータ生成部112は、ステップS1において抽出された複数のサブクエリ毎に、ステップS2における所定種類のサブクエリの実行結果と、当該所定種類のサブクエリを識別可能な情報とを対応付けたデータを、PLデータとして生成する。
ステップS4において、PLデータ管理部120は、ステップS3において生成されたPLデータを、PLデータDB400に記憶される。
これにより、データ導入時処理が終了し、これ以降、PLデータDB400に複数のサブクエリ毎に記憶されたPLデータは、PLデータ管理部120により管理される。
図6は、図4の機能的構成を有するプレイヤー端末1及びサーバ2が実行する検索処理の流れの一例を説明するフローチャートである。
このような入力がなされると、処理はステップS21に進む。
ステップS22にいて、クエリ条件送信制御部101は、ステップS21において受け付けられたクエリ条件を、通信部30を介してサーバ2へ送信する。
ステップS42において、分割部122は、ステップS41において取得されたクエリ条件を、複数種類のサブクエリに分割する。
ステップS43において、実行結果抽出部123は、ステップS42において分割されたサブクエリの実行結果を、PLデータ管理部120を介してPLデータDB400から抽出する。
ステップS44において、検索結果生成部124は、ステップS43において抽出された実行結果に基づいて、検索結果を生成する。
なお、ステップS44の処理において、検索結果生成部124内の演算順番決定部141は、サブクエリの検索コストの見積もりを行う。このような実行順序の制御による最適化により、ステップS44の検索処理は、従来方式の処理に比較して遥かに効率的なものとなっている。演算順番決定部141の処理の詳細については、図10の具体例を用いて後述する。
ステップS23において、プレイヤー端末1の検索結果取得部102は、ステップS45においてサーバ2から送信されてきた検索結果を、通信部30を介して取得する。
ステップS24において、検索結果表示制御部103は、ステップS23において取得された検索結果を、表示部27に表示させる。
本実施形態における検索処理を実現するためのゲーム内の検索機能は、予め決められた検索項目をプルダウンメニュー等で選択し、それらをAND条件やOR条件により組み合わせたものをクエリとして検索する機能である。
例えば図7の例での検索項目については、上から「クラス」、「コスト」、「カードの種類」、「レアリティ」、「攻撃力」、「体力」、「タイプ」、「キーワード能力」、「トークンを含む」、及び「カードテキスト検索」が存在する。このように、本実施形態では検索項目の1つが、所定の1種類の属性を示している。
1つの属性に対して、複数のサブクエリの種類が存在する。図7の例では、同一属性の各種のサブクエリは、横方向に配置されて表示される。
「クラス」は、検索対象のカードのクラスである。図7の例では、「ロイヤル」、「ドラゴン」、「ビショップ」の3つがサブクエリとして選択されている。
「コスト」は、検索対象のカードのコストであり、ゲーム内にカードとして存在するコストであれば、任意の数値をサブクエリとして入力することが可能である。
「カードの種類」は、例えば「ユニット」、「スペル」、「フィールド」等の、検索対象のカードの種類を意味する。図7の例では、「ユニット」及び「スペル」の2つのサブクエリが選択されている。
「レアリティ」は、例えば「ブロンズレア」、「シルバーレア」、「ゴールドレア」、「レジェンド」等の、検索対象のカードのレアリティである。図7の例では、「レジェンド」がサブクエリとして選択されている。
「攻撃力」は、検索対象カードの攻撃力のパラメタである。図7の例では攻撃力「2」と「等しい」という条件が選択されているため、攻撃力2のカードのみがサブクエリとして選択されていることになる。
「体力」は、検索対象の体力のパラメタである。図7の例では体力「15」と「以下」という条件が選択されているため、体力15以下の各数値(1、2、3、4、5、6、7、8、9、10、11、12、13、14、15)がサブクエリとして選択されていることになる。
即ち、静的データでは、予め全てのデータの値の範囲を検証することが出来るため、例えば「攻撃力3以下」というような範囲で検索条件が設定されてる場合、値の範囲のOR条件として定義できる。即ち、「攻撃力3以下」であれば「3or2or1」として定義できる。つまり、サブクエリ「3」、「2」、及び「1」のor条件の集合体として、「攻撃力3以下」という検索条件を表すことができる。
「トークンの有無」は、検索対象として「トークン」のカードを含むか否かである。図7の例では、「ON」が選択されていないため、「トークン」は検索対象に含まれない。
「カードテキスト検索」は、カードテキストに含まれる「キーワード」による検索であり、事前にいくつかの「キーワード」が設定され選択できるようになっている。図7の例では、「特殊能力を持つ」が選択されているため、「特殊能力を持つ」というキーワードがサブクエリとなり、当該サブクエリ(キーワード)を有するカードのみが検索対象となる。
キーワイドについては、例えばn−gram法を用いると、検索対象データと、検索条件の両方を、n個の文字の組み合わせの集合としてモデル化することができる。より具体的に言えば、「サムライ」というキーワードをn−gramの一種である2−gramで表現した場合、「サム」、「ムラ」、「ライ」という3つの要素に分解でき、「サムライ」というキーワード検索を、「サム and ムラ andライ」という3つのクエリ条件の論理積として定義することができる。すなわち、キーワード検索のような、クエリ表現の自由度が一見高いように見える検索においても、検索条件を有限個のプリミティブなサブクエリの組み合わせとして表現することができる。
本実施形態の情報処理システムの検索処理では、上述した様に、このようなプレイヤーにより入力された検索条件を、再利用性の高い最小単位のサブクエリへと分割し、夫々を、事前の検索結果(サブクエリの事前の実行結果)を用いることで、極めて高速な検索処理が実現される。
つまり、本実施形態の検索処理のポイントは、上述した様に、その前に、本発明のデータ導入時処理が実行されていることである。そこで、以下、本発明のデータ導入時処理の詳細について説明する。
この識別により、検索処理の段階では、サブクエリを実行(検索)することなく、異なるサブクエリの実行結果を用いた統合の処理だけで、検索結果を生成することが可能になる。
具体的には例えば、検索対象データDiは、次式(2)に示すように、一意の識別子と、検索対象属性群の組み合わせから構成することができる。
Di:={IDi,attr1,attr2,attr3,・・・,attrI}
・・・(2)
ここで、IDiは、検索対象Diを一意に識別することができる識別子である。例えば、シリアル番号を用いて識別子を実装することもできるが、本実施形態では、特定の識別子の付与方法には依存しない。
さらに、attr1乃至attrIは、検索対象Diに関連付けられたI個(Iは任意の整数値)の属性データである。
図8の例では、夫々の行が、固有の識別子を持つ、固有のゲーム内データ(検索対象データ)に対応している。
例えば、図8の1行目のデータは、クラス「ロイヤル」、レアリティ「レジェンド」、攻撃力「10」の条件に該当するデータであり、ID「0001」のデータである。
また例えば、2行目のデータは、クラス「ウィッチ」、レアリティ「レジェンド」、攻撃力「7」の条件に該当するデータであり、ID「0002」のデータである。
ここで、図8の例では、「クラス」、「レアリティ」、「攻撃力」が検索対象の属性であり、これらの属性は、入れ替えることや追加することも、もちろん自在に可能である。
これらのデータは、ゲーム内にu個(uは1以上の任意の整数)存在し、ゲーム内の検索対象データとして全て網羅することができる。
図9の例では、y軸がテーブルの属性の種類の軸、x軸がサブクエリの種類の軸、z軸は対応するサブクエリの検索結果(答えの1つ)の軸を示している。
テーブルの属性の種類とは、任意の属性の種類を表す。例えば図7の例で言えば、縦方向の各検索項目に該当し、例えば図8の例で言えば、「クラス」、「レアリティ」、「攻撃力」等が該当する。図9の例で言えば、テーブルの属性の種類は、n(nは1以上の任意の整数値)種類存在する。
サブクエリの種類とは、例えば図7の例で言えば、横方向の項目等に該当し、任意のサブクエリの種類を表している。例えば、図8の例で言えば、「攻撃力」という属性に対して取り得る値、具体的には例えば1行目では「10」が該当する。図9の例で言えば、サブクエリの種類は、m(mは1以上の任意の整数)種類存在する。
対応するサブクエリの検索結果とは、テーブルの属性の所定の種類(例えば「攻撃力」)のうち所定のサブクエリの種類(例えば「10」)に対応するサブクエリの実行結果(検索結果)を示す。
図9の例で言えば、対応するサブクエリの検索結果は、0から始まるq(qは1以上の任意の整数値)個の要素を持つ配列であり、夫々の配列のサイズはサブクエリ毎に異なる。
例えば、テーブルの属性の種類「K」の中でサブクエリの種類「P」についての当該サブクエリの実行結果は、(X,Y)=(P,K)の座標においてZ軸(対応するサブクエリの検索結果の軸方向)に配列される1以上の立方体により示されることになる。ここで、図9中で示された立方体CPKRは、ある特定の属性の種類「K」に、ある特定のサブクエリの種類「Y」で問い合わせた時の答えの1つ(検索結果の集合体の1つ)に対応するものである。
上述した様に、本実施形態の検索処理では、検索クエリ条件から分割された1種類以上のサブクエリの夫々を結合した論理演算式を演算することにより、検索結果が生成される。
本実施形態では、演算順番決定部141(図4)が、この論理演算式の演算の順番を最適にするように決定することで、高速な検索を可能にしている。そこで、以下、図10を参照して、演算順番決定部141の具体的な処理内容について説明する。
図10は、サーバ2の検索結果生成部124内に設けられた演算順番決定部141において実行される、検索コストの見積もり処理及び実行順序の最適化処理の一例を示す図である。
このように、演算コストを見積もることで、演算順番決定部141は、演算の順番を最適化して、クエリ条件が複雑な場合であっても、少ない回数の比較演算だけで集合演算を実行することができるようになる。
図10の例では、まず、初期状態のクエリとして、検索対象の属性(attribute)と、その値(サブクエリ)の列(condition)の組の配列としてクエリが作成されている。なお、夫々の値はOR条件で接続されている。
例えば、上図の一行目の場合であれば、検索対象の属性は「char_type」であり、その値(サブクエリ)の列は「1」である。
ここで、このクエリ自体は、ユーザインターフェイス制御部100により制御されたユーザインターフェイスから入力されたものをそのまま連結したものであるため、効率性等は考慮されていない。
そこで、図10に示すように、演算順番決定部141は、選択率が最も低いサブクエリ、言い換えると、最も制約が厳しく該当するデータ数が最小個数となる絞り込み条件から順に実行するように、サブクエリの列を並び替えるのである。
より具体的に言えばは、演算順番決定部141は、PLデータDB400においてサブクエリに対応する検索結果の集合の要素数(サブクエリの実行結果の数)を参照し、集合の要素数が少ない種類のサブクエリから順にソートすることにより、集合演算を適用するときに最も効率の良い順序を求める。
なお、図10の下図で追加されている属性「cost」は、その条件において返される結果の数(PLデータDB400においてサブクエリに対応する検索結果の集合の要素数)を示しており、演算順番決定部は、この「cost」の値をもとに集合演算を適用するときに最も効率の良い順序を提案する。
また、一つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
本発明が適用される静的分析技術は、オフライン型のカーナビゲーションシステムや、オフライン型の電子辞書のようなオフラインコンテンツ、Web上の固定的な文章集合を対象とした全文検索エンジン等にも用いることもできる。
さらには、本発明が適用される静的分析技術は、単純な文字列検索や数値探索のみに限定されない。具体的には、本発明は、文字列検索等の特定の検索手段には依存しないため、例えば画像検索等の極めて複雑な条件を導入しても、静的に解決することができる。
これにより、極めて複雑な検索条件であっても、クエリの種類を静的に定めることができるものであれば、どのようのものでも対応することができる。
より具体的に言えば、クエリを構成する夫々の条件間において、減少性、冪等性、クエリ条件の交換可能性がある、という3つの条件下においてクエリ条件を表現できるのであれば、検索対象データとして採用することができる。
ここで、減少性とは、検索結果は、常に検索対象よりも小さくなるというものである。
冪等性とは、同じサブクエリを、同じデータに何度も実行しても必ず同じ結果になる。つまり、キャッシュできるというものである。つまり、「現在時間で検索」のような条件がないというものである。
交換可能性とは、条件Aかつ条件Bの演算結果は、条件Bかつ条件Aの検索結果と、必ず同じになるということであり、本発明においては、この交換可能性を根拠として、サブクエリの集合演算の比較順序を並び替え、最小の比較回数で、検索結果を求めることができる。
即ち、本発明が適用される複数の情報処理システムは、
所定のユーザインターフェイスから入力可能であり、かつ、クエリを構成する夫々の条件間において、減少性、冪等性、交換可能性の3つを満たすクエリ条件を用いて、検索対象データに対して検索の処理を実行する情報処理システムであって、
検索の処理前に処理を実行する前処理実行手段(例えば図4のデータ導入時処理部151)と、
検索の処理を実行する検索処理手段(例えば図4の検索処理部152)と、
を備え、
前記前処理実行手段は、
前記検索対象データで使用され得るクエリ条件の集合から、複数種類のサブクエリを抽出するクエリ抽出手段(例えば図4のサブクエリ抽出部110)と、
前記クエリ抽出手段により抽出された前記複数種類のサブクエリの夫々を実行するクエリ実行手段(例えば図4のサブクエリ実行部111)と、
前記クエリ抽出手段により抽出された前記複数種類のサブクエリ毎に、前記クエリ実行手段による実行結果と、当該実行結果に対応する種類のサブクエリを識別可能な情報とを対応付けたデータを、対応付データとして生成する対応付け手段(例えば図4のPLデータ生成部112)と、
前記対応付け手段により生成された、前記複数種類のサブクエリ毎の対応付データを管理する管理手段(例えば図4のPLデータ管理部120)と、
を含み、
前記検索処理手段は、
前記ユーザインターフェイスから検索用に入力されたクエリ条件を、検索クエリ条件として受け付ける受付手段(例えば図4のユーザインターフェイス制御部100)と、
前記受付手段により受け付けられた前記検索クエリ条件を、1種類以上のサブクエリの集合体に分割する分割手段(例えば図4の分割部122)と、
前記分割手段により分割された前記集合体に属する前記1種類以上のサブクエリの夫々を識別可能な情報に基づいて、当該1種類以上のサブクエリの夫々の実行結果を前記対応付データの中から抽出する実行結果抽出手段(例えば図4の実行結果抽出部123)と、
前記実行結果抽出手段の抽出結果に基づいて、前記受付手段により受け付けられた前記検索クエリ条件に対する検索結果を生成する検索結果生成手段(例えば図4の検索結果生成部124)と、
を含む情報処理システムである。
前記実行結果抽出手段により抽出された前記1以上のサブクエリの夫々の実行結果について、前記検索対象データにおけるサブクエリの実行結果の量に応じた検索コストを演算し、当該検索コストに基づいて、前記検索結果生成手段における前記論理演算の前記所定の順番を決定する処理順番決定手段(例えば図4の演算順番決定部141)を、
さらに備えることができる。
さらに備えることができる。
さらに含むことができる。
Claims (6)
- 所定のユーザインターフェイスから入力可能であり、かつ、クエリを構成する夫々の条件間において、減少性、冪等性、交換可能性の3つを満たすクエリ条件を用いて、検索対象データに対して検索の処理を実行する情報処理システムにおいて、
検索の処理前に処理を実行する前処理実行手段と、
検索の処理を実行する検索処理手段と、
を備え、
前記前処理実行手段は、
種類が静的に定められたクエリの集合を分析することで、クエリの最小単位であり、前記減少性、前記冪等性、前記交換可能性の3つを満たすサブクエリを、限定された種類数の複数種類だけ抽出するクエリ抽出手段と、
前記クエリ抽出手段により抽出された前記複数種類のサブクエリの夫々を実行するクエリ実行手段と、
前記クエリ抽出手段により抽出された前記複数種類のサブクエリ毎に、前記クエリ実行手段による実行結果と、当該実行結果に対応する種類のサブクエリを識別可能な情報とを対応付けたデータを、対応付データとして生成する対応付け手段と、
前記対応付け手段により生成された、前記複数種類のサブクエリ毎の前記対応付データを管理する管理手段と、
を含み、
前記検索処理手段は、
前記ユーザインターフェイスから検索用に入力されたクエリ条件を、検索クエリ条件として受け付ける受付手段と、
前記受付手段により受け付けられた前記検索クエリ条件を、1種類以上のサブクエリの集合体に分割する分割手段と、
前記分割手段により分割された前記集合体に属する前記1種類以上のサブクエリの夫々を識別可能な情報に基づいて、当該1種類以上のサブクエリの夫々の実行結果を前記対応付データの中から抽出する実行結果抽出手段と、
前記実行結果抽出手段の抽出結果に基づいて、前記受付手段により受け付けられた前記検索クエリ条件に対する検索結果を生成する検索結果生成手段と、
を含む情報処理システム。 - 前記検索結果生成手段は、前記実行結果抽出手段により抽出された前記1種類以上のサブクエリの夫々の実行結果に対して決定された所定の順番に従って、当該1種類以上のサブクエリの夫々の実行結果の論理演算をすることにより、前記受付手段により受け付けられた前記検索クエリ条件に対する検索結果を生成し、
前記実行結果抽出手段により抽出された前記1以上のサブクエリの夫々の実行結果について、前記検索対象データにおけるサブクエリの実行結果の量に応じた検索コストを演算し、当該検索コストに基づいて、前記検索結果生成手段における前記論理演算の前記所定の順番を決定する処理順番決定手段をさらに備える、
請求項1に記載の情報処理システム。 - 前記ユーザインターフェイスは、複数種類の属性毎に、前記複数種類のサブクエリの中から所定の1種類を選択する操作機能を有する、
請求項1又は2に記載の情報処理システム。 - 所定種類の属性の所定種類のサブクエリに対する前記クエリ実行手段による実行結果は、前記所定種類の属性、前記所定種類のサブクエリ、及び、前記検索対象データにおける、当該所定種類の属性の当該所定種類のサブクエリの実行結果の量を含む、
請求項3に記載の情報処理システム。 - 所定のユーザインターフェイスから入力可能であり、かつ、クエリを構成する夫々の条件間において、減少性、冪等性、交換可能性の3つを満たすクエリ条件を用いて、検索対象データに対して検索の処理を実行する情報処理システムが実行する情報処理方法において、
検索の処理前に処理を実行する前処理実行ステップと、
検索の処理を実行する検索処理ステップと、
を含み、
前記前処理実行ステップは、
種類が静的に定められたクエリの集合を分析することで、クエリの最小単位であり、前記減少性、前記冪等性、前記交換可能性の3つを満たすサブクエリを、限定された種類数の複数種類だけ抽出するクエリ抽出ステップと、
前記クエリ抽出ステップにおいて抽出された前記複数種類のサブクエリの夫々を実行するクエリ実行ステップと、
前記クエリ抽出ステップにおいて抽出された前記複数種類のサブクエリ毎に、前記クエリ実行ステップによる実行結果と、当該実行結果に対応する種類のサブクエリを識別可能な情報とを対応付けたデータを、対応付データとして生成する対応付けステップと、
前記対応付けステップにおいて生成された、前記複数種類のサブクエリ毎の前記対応付データを管理する管理ステップと、
を含み、
前記検索処理ステップは、
前記ユーザインターフェイスから検索用に入力されたクエリ条件を、検索クエリ条件として受け付ける受付ステップと、
前記受付ステップにより受け付けられた前記検索クエリ条件を、1種類以上のサブクエリの集合体に分割する分割ステップと、
前記分割ステップにおいて分割された前記集合体に属する前記1種類以上のサブクエリの夫々を識別可能な情報に基づいて、当該1種類以上のサブクエリの夫々の実行結果を前記対応付データの中から抽出する実行結果抽出ステップと、
前記実行結果抽出ステップにおける抽出結果に基づいて、前記受付ステップにおいて受け付けられた前記検索クエリ条件に対する検索結果を生成する検索結果生成ステップと、
を含む情報処理方法。 - 所定のユーザインターフェイスから入力可能であり、かつ、クエリを構成する夫々の条件間において、減少性、冪等性、交換可能性の3つを満たすクエリ条件を用いて、検索対象データに対して検索の処理を実行する情報処理システムに含まれるサーバとクライアントのうち、
前記サーバに、検索の処理前に処理を実行する前処理実行ステップを含む制御処理を実行させ、
前記サーバ又はクライアントに、検索の処理を実行する検索処理ステップを含む制御処理を実行させるプログラムであって、
前記前処理実行ステップは、
種類が静的に定められたクエリの集合を分析することで、クエリの最小単位であり、前記減少性、前記冪等性、前記交換可能性の3つを満たすサブクエリを、限定された種類数の複数種類だけ抽出するクエリ抽出ステップと、
前記クエリ抽出ステップにおいて抽出された前記複数種類のサブクエリの夫々を実行するクエリ実行ステップと、
前記クエリ抽出ステップにおいて抽出された前記複数種類のサブクエリ毎に、前記クエリ実行ステップによる実行結果と、当該実行結果に対応する種類のサブクエリを識別可能な情報とを対応付けたデータを、対応付データとして生成する対応付けステップと、
前記対応付けステップにおいて生成された、前記複数種類のサブクエリ毎の前記対応付データを管理する管理ステップと、
を含み、
前記検索処理ステップは、
前記ユーザインターフェイスから検索用に入力されたクエリ条件を、検索クエリ条件として受け付ける受付ステップと、
前記受付ステップにより受け付けられた前記検索クエリ条件を、1種類以上のサブクエリの集合体に分割する分割ステップと、
前記分割ステップにおいて分割された前記集合体に属する前記1種類以上のサブクエリの夫々を識別可能な情報に基づいて、当該1種類以上のサブクエリの夫々の実行結果を前記対応付データの中から抽出する実行結果抽出ステップと、
前記実行結果抽出ステップにおける抽出結果に基づいて、前記受付ステップにおいて受け付けられた前記検索クエリ条件に対する検索結果を生成する検索結果生成ステップと、
を含むプログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016115415A JP6072334B1 (ja) | 2016-06-09 | 2016-06-09 | 情報処理システム及び方法、並びにプログラム |
CN201780035755.7A CN109313641B (zh) | 2016-06-09 | 2017-03-06 | 信息处理***和方法以及程序 |
PCT/JP2017/008806 WO2017212714A1 (ja) | 2016-06-09 | 2017-03-06 | 情報処理システム及び方法、並びにプログラム |
KR1020187037501A KR102156275B1 (ko) | 2016-06-09 | 2017-03-06 | 정보 처리 시스템 및 방법, 및 프로그램 |
TW106118289A TWI615727B (zh) | 2016-06-09 | 2017-06-02 | 資訊處理系統及方法與資訊處理程式 |
US16/215,163 US10990591B2 (en) | 2016-06-09 | 2018-12-10 | Sub-query processing system, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016115415A JP6072334B1 (ja) | 2016-06-09 | 2016-06-09 | 情報処理システム及び方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6072334B1 true JP6072334B1 (ja) | 2017-02-01 |
JP2017220102A JP2017220102A (ja) | 2017-12-14 |
Family
ID=57937607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016115415A Active JP6072334B1 (ja) | 2016-06-09 | 2016-06-09 | 情報処理システム及び方法、並びにプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US10990591B2 (ja) |
JP (1) | JP6072334B1 (ja) |
KR (1) | KR102156275B1 (ja) |
CN (1) | CN109313641B (ja) |
TW (1) | TWI615727B (ja) |
WO (1) | WO2017212714A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10853367B1 (en) * | 2016-06-16 | 2020-12-01 | Intuit Inc. | Dynamic prioritization of attributes to determine search space size of each term, then index on those sizes as attributes |
JP7004122B1 (ja) * | 2020-05-28 | 2022-01-21 | Jfeスチール株式会社 | 情報検索システム |
JP7365469B1 (ja) | 2022-08-05 | 2023-10-19 | 株式会社Cygames | Rdbに関する処理を行うためのシステム、キャッシュサーバ、方法、及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02130673A (ja) * | 1988-11-10 | 1990-05-18 | Chubu Nippon Denki Software Kk | データ検索方式 |
JPH0352068A (ja) * | 1989-07-20 | 1991-03-06 | Nec Corp | 論理演算方式 |
JPH03230273A (ja) * | 1990-02-05 | 1991-10-14 | Nec Corp | 検索条件式の保持方式 |
JP2003108561A (ja) * | 2001-09-28 | 2003-04-11 | Kawasaki Steel Systems R & D Corp | データベース検索システム |
JP2007534087A (ja) * | 2004-04-22 | 2007-11-22 | オラクル・インターナショナル・コーポレイション | 部分的クエリーキャッシング |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367675A (en) * | 1991-12-13 | 1994-11-22 | International Business Machines Corporation | Computer automated system and method for optimizing the processing of a query in a relational database system by merging subqueries with the query |
JP3849279B2 (ja) | 1998-01-23 | 2006-11-22 | 富士ゼロックス株式会社 | インデクス作成方法および検索方法 |
US6973478B1 (en) * | 1999-10-26 | 2005-12-06 | Top Moxie, Inc. | Autonomous local assistant for managing business processes |
US7127473B2 (en) * | 2002-05-17 | 2006-10-24 | Sap Aktiengesellschaft | Methods and systems for providing supplemental contextual content |
US7694223B2 (en) * | 2003-06-04 | 2010-04-06 | Sony Computer Entertainment Inc. | Methods and systems for recording user actions in computer programs |
US7661099B2 (en) * | 2004-06-29 | 2010-02-09 | International Business Machines Corporation | Using idempotent operations to improve transaction performance |
US7539667B2 (en) * | 2004-11-05 | 2009-05-26 | International Business Machines Corporation | Method, system and program for executing a query having a union operator |
US20070078816A1 (en) * | 2005-10-05 | 2007-04-05 | Microsoft Corporation | Common sub-expression elimination for inverse query evaluation |
TW200745877A (en) * | 2006-06-07 | 2007-12-16 | Telepaq Technology Inc | Distributed push-pull information service system |
JP5235483B2 (ja) | 2008-04-30 | 2013-07-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースと仮想テーブルの整合性を維持する方法および装置。 |
KR101314201B1 (ko) * | 2010-10-04 | 2013-10-02 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 정보 처리 장치 및 프로그램 |
CN102779133A (zh) * | 2011-05-12 | 2012-11-14 | 苏州同程旅游网络科技有限公司 | 基于多平台、多供应商的搜索比价方法 |
AU2012340429B2 (en) * | 2011-11-15 | 2016-12-01 | Ab Initio Technology Llc | Data clustering based on candidate queries |
CN103136210A (zh) * | 2011-11-23 | 2013-06-05 | 北京百度网讯科技有限公司 | 一种挖掘具有相似需求的查询的方法及装置 |
JP5895813B2 (ja) * | 2012-01-18 | 2016-03-30 | 富士ゼロックス株式会社 | プログラム及び検索装置 |
CN103425662B (zh) * | 2012-05-16 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 一种网络社区中的信息搜索方法和装置 |
US10031948B1 (en) * | 2013-12-02 | 2018-07-24 | Amazon Technologies, Inc. | Idempotence service |
US9870390B2 (en) * | 2014-02-18 | 2018-01-16 | Oracle International Corporation | Selecting from OR-expansion states of a query |
JP6162664B2 (ja) * | 2014-08-13 | 2017-07-12 | ヤフー株式会社 | 抽出装置、検索サーバ、情報処理装置、抽出システム、抽出方法及び抽出プログラム |
US10324931B2 (en) * | 2016-02-05 | 2019-06-18 | International Business Machines Corporation | Dynamic combination of processes for sub-queries |
US10656972B2 (en) * | 2016-11-10 | 2020-05-19 | International Business Machines Corporation | Managing idempotent operations while interacting with a system of record |
-
2016
- 2016-06-09 JP JP2016115415A patent/JP6072334B1/ja active Active
-
2017
- 2017-03-06 KR KR1020187037501A patent/KR102156275B1/ko active IP Right Grant
- 2017-03-06 WO PCT/JP2017/008806 patent/WO2017212714A1/ja active Application Filing
- 2017-03-06 CN CN201780035755.7A patent/CN109313641B/zh active Active
- 2017-06-02 TW TW106118289A patent/TWI615727B/zh active
-
2018
- 2018-12-10 US US16/215,163 patent/US10990591B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02130673A (ja) * | 1988-11-10 | 1990-05-18 | Chubu Nippon Denki Software Kk | データ検索方式 |
JPH0352068A (ja) * | 1989-07-20 | 1991-03-06 | Nec Corp | 論理演算方式 |
JPH03230273A (ja) * | 1990-02-05 | 1991-10-14 | Nec Corp | 検索条件式の保持方式 |
JP2003108561A (ja) * | 2001-09-28 | 2003-04-11 | Kawasaki Steel Systems R & D Corp | データベース検索システム |
JP2007534087A (ja) * | 2004-04-22 | 2007-11-22 | オラクル・インターナショナル・コーポレイション | 部分的クエリーキャッシング |
Also Published As
Publication number | Publication date |
---|---|
KR20190013907A (ko) | 2019-02-11 |
CN109313641B (zh) | 2022-02-18 |
TWI615727B (zh) | 2018-02-21 |
US10990591B2 (en) | 2021-04-27 |
TW201810086A (zh) | 2018-03-16 |
KR102156275B1 (ko) | 2020-09-15 |
US20190171643A1 (en) | 2019-06-06 |
JP2017220102A (ja) | 2017-12-14 |
WO2017212714A1 (ja) | 2017-12-14 |
CN109313641A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6998928B2 (ja) | データを記憶およびクエリするための方法、装置、設備、および媒体 | |
US10311062B2 (en) | Filtering structured data using inexact, culture-dependent terms | |
KR101137147B1 (ko) | 질의 강제 인덱싱 | |
JP2010257488A (ja) | 対話形サーチクエリー改良のためのシステム及び方法 | |
JP2010009577A (ja) | 情報処理装置、全文検索方法、全文検索プログラム、及び記録媒体 | |
JP6165955B1 (ja) | 検索クエリに応答してホワイトリストとブラックリストを使用し画像とコンテンツをマッチングする方法及びシステム | |
US20160205109A1 (en) | Website access control | |
JP6072334B1 (ja) | 情報処理システム及び方法、並びにプログラム | |
CN112507091A (zh) | 检索信息的方法、装置、设备以及存储介质 | |
US20200065395A1 (en) | Efficient leaf invalidation for query execution | |
JP2006178599A (ja) | 文書検索装置および方法 | |
JP2006134191A (ja) | 文書検索方法およびそのシステム | |
Sailaja et al. | An overview of pre-processing text clustering methods | |
CN111414487A (zh) | 事件主题的关联扩展方法、装置、设备及介质 | |
JP2013242675A (ja) | 分散情報制御装置、分散情報検索方法、データ分散配置方法、及びプログラム | |
JP2013222418A (ja) | パッセージ分割方法、装置、及びプログラム | |
JP5743938B2 (ja) | 連想検索システム、連想検索サーバ及びプログラム | |
KR102367087B1 (ko) | 콘텐츠를 추적하는 방법 및 이를 사용하는 전자 장치 | |
CN112148988B (zh) | 用于生成信息的方法、装置、设备以及存储介质 | |
JP2007188134A (ja) | 索引ファイルを用いた文書検索の方法 | |
WO2013150633A1 (ja) | 文書処理システム、及び、文書処理方法 | |
WO2013069149A1 (ja) | データ検索装置、データの検索方法及びプログラム | |
JP2013125429A (ja) | 分析対象決定装置 | |
Wild et al. | Optimizing the visualization pipeline of a 3-d monitoring and management system | |
JP4942350B2 (ja) | 検索クライアント |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160622 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160622 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160907 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160913 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161111 |
|
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: 20161206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6072334 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |