(57)【要約】  検索文活用装置１０は、検索文を構成する要素の時間的な順序をユーザが容易に把握可能になるようにするために、検索文を、各々がイベントを含む複数の検索内容に分割する検索文分割部１１と、検索内容の各々から、イベントをエッジとしイベントの発生源およびイベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する有向グラフ作成部１２とを備え、有向グラフ作成部１２は、有向グラフにおいて、イベントの発生順序に対応させて複数の部分木を配置する。
2019176011.tif 000002
【特許請求の範囲】
【請求項１】
検索文を、各々がイベントを含む複数の検索内容に分割する検索文分割手段と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する有向グラフ作成手段とを備え、
前記有向グラフ作成手段は、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する
検索文活用装置。
【請求項２】
前記有向グラフ作成手段は、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する
請求項１記載の検索文活用装置。
【請求項３】
前記有向グラフを複数の部分木に分割し、該複数の部分木の前記有向グラフにおける配置位置から、該複数の部分木に対応するイベントの発生順序を判定し、該イベントの発生順序を参照して該複数の部分木から検索内容を再構築する検索文再構築手段をさらに備える
請求項１または請求項２記載の検索文活用装置。
【請求項４】
作成された有向グラフを記憶する有向グラフ蓄積手段と、
前記有向グラフ蓄積手段が記憶する有向グラフを、ユーザが選択可能に表示装置に表示する有向グラフ表示手段とをさらに備える
請求項１から請求項３のうちのいずれか１項に記載の検索文活用装置。
【請求項５】
複数の有向グラフを統合する有向グラフ統合手段をさらに備え、
前記有向グラフ統合手段は、
各々の有向グラフを部分木に分割し、
複数の有向グラフのうちの一の有向グラフを分割して得た部分木に対応するイベントと、他の有向グラフを分割して得た部分木に対応するイベントとを比較し、
少なくとも、イベントが共通する部分木を結合することによって新たな有向グラフを生成する
請求項１から請求項４のうちのいずれか１項に記載の検索文活用装置。
【請求項６】
前記有向グラフ統合手段は、少なくとも、イベントが共通する部分木を結合することによって生成した有向グラフを新たな有向グラフの候補とし、ループを含む有向グラフが除外された該候補を新たな有向グラフとする
請求項５記載の検索文活用装置。
【請求項７】
有向グラフから、イベントの発生源の１つまたは複数のパラメータおよびイベントの対象の１つまたは複数のパラメータを参照して、前記有向グラフに対応する検索文を用いた検索の結果とともに表示装置に表示するパラメータを抽出するパラメータ抽出手段をさらに備える
請求項１から請求項６のうちのいずれか１項に記載の検索文活用装置。
【請求項８】
有向グラフのノードは、ファイルとプロセスと通信先とのうちのいずれかに対応し、
有向グラフのエッジは、ファイルアクセス操作とプロセスの起動または終了と通信操作とのうちのいずれかに対応する
請求項１から請求項７のうちのいずれか１項に記載の検索文活用装置。
【請求項９】
検索文を、各々がイベントを含む複数の検索内容に分割し、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成し、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する
検索文活用方法。
【請求項１０】
前記有向グラフを作成するときに、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する
請求項９記載の検索文活用方法。
【請求項１１】
コンピュータに、
検索文を、各々がイベントを含む複数の検索内容に分割する処理と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する処理とを実行させ、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する処理を実行させる
ための検索文活用プログラム。
【請求項１２】
コンピュータに、
前記有向グラフを作成するときに、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する処理を実行させる
請求項１０記載の検索文活用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ検索を容易化するための検索文活用装置および検索文活用方法に関する。
【背景技術】
【０００２】
データベース等の検索を行うときに、検索者（ユーザ）は、ＳＱＬ（Structured Query Language ）等のＤＳＬ（Domain Specific Language）を使用して、検索内容を表す検索文を作成する。ＳＱＬを例にすると、ユーザは、ＳＱＬ構文等の所定の構文で検索文を作成する。【０００３】
構文の習熟度が低いユーザまたは検索文の作成に慣れていないユーザが、短時間で正確な検索文を作成することは困難である。また、そのようなユーザは、作成した検索文が正しいか否か確認するのに長時間を要すると考えられる。また、そのようなユーザは、作成した検索文において誤りを発見したときに、検索文の修正に長時間を要すると考えられる。さらに、そのようなユーザが、他者が作成した検索文を再利用することも困難である。そのようなユーザは、検索文が何を意味しているのかを直ちに把握できない可能性があるからである。【０００４】
特許文献１には、検索内容を表す検索式の内容や検索式の妥当性をユーザが容易に把握できるようにするために、検索式を可視表示する装置が記載されている。【０００５】
特許文献１に記載された装置は、検索式を構成する条件式をノードとし、検索演算式をエッジとするグラフを表示部に表示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−２１８８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された装置は、入れ子構造を形成する複数の条件式を含む検索式における各々の条件式を階層的に表示する。検索式における複数の条件式を関連づける検索演算式は、例えば、論理和を表す式や論理積を表す式である。すなわち、特許文献１に記載された装置は、ノードとエッジとを含むグラフを表示部に表示することによって、入れ子構造を形成する複数の条件式の関係を容易に視認可能にする。【０００８】
しかし、複数の条件式には因果関係はない。すなわち、検索式における複数の条件式は、時間的な順序という概念を含んでいない。【０００９】
本発明は、検索文が意味する内容をユーザが容易に把握可能になる上に、検索文を構成する要素の時間的な順序をユーザが容易に把握可能になる検索文活用装置および検索文活用方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明による検索文活用装置は、検索文を、各々がイベントを含む複数の検索内容に分割する検索文分割手段と、検索内容の各々から、イベントをエッジとしイベントの発生源およびイベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する有向グラフ作成手段とを備え、有向グラフ作成手段は、イベントの発生順序に対応させて複数の部分木を有向グラフにおいて配置する。【００１１】
本発明による検索文活用方法は、検索文を、各々がイベントを含む複数の検索内容に分割し、検索内容の各々から、イベントをエッジとしイベントの発生源およびイベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成し、有向グラフを作成するときに、イベントの発生順序に対応させて複数の部分木を有向グラフにおいて配置する。【００１２】
本発明による検索文活用プログラムは、コンピュータに、検索文を、各々がイベントを含む複数の検索内容に分割する処理と、検索内容の各々から、イベントをエッジとしイベントの発生源およびイベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する処理とを実行させ、有向グラフを作成するときに、イベントの発生順序に対応させて複数の部分木を有向グラフにおいて配置する処理を実行させる。
【発明の効果】
【００１３】
本発明によれば、検索文が意味する内容をユーザが容易に把握可能になる上に、検索文を構成する要素の時間的な順序をユーザが容易に把握可能になる。
【図面の簡単な説明】
【００１４】
【図１】検索文活用装置の第１の実施形態の構成例を示すブロック図である。
【図２】表示装置に表示される画面の一例を示す説明図である。
【図３】グラフ化された検索文の一例を示す説明図である。
【図４】検索文活用装置の動作を示すフローチャートである。
【図５】発生事象（検索内容）が記録されたテーブルの一例を示す説明図である。
【図６】発生事象の依存関係に基づいて作成されるグラフの一例を示す説明図である。
【図７】有向グラフの作成方法を説明するための説明図である。
【図８】パラメータ情報の一例を示す説明図である。
【図９】有向グラフの一例を示す説明図である。
【図１０】有向グラフから検索文を作成する方法を説明するための説明図である。
【図１１】複数の検索文の統合方法を説明するための説明図である。
【図１２】ＣＰＵを有するコンピュータの一例を示すブロック図である。
【図１３】検索文活用装置の主要部を示すブロック図である。
【図１４】他の態様の検索文活用装置の主要部を示すブロック図である。
【図１５】さらに他の態様の検索文活用装置の主要部を示すブロック図である。
【図１６】別の態様の検索文活用装置の主要部を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
実施形態１．
図１は、検索文活用装置の第１の実施形態の構成例を示すブロック図である。図１に示す例では、検索文活用装置１００は、検索文入出力部１０１、グラフ入出力部１０２、履歴情報保持部１０３、グラフ処理部１０４、パラメータ記憶部１０５、およびクエリ処理部１０６を備える。
【００１７】
なお、図１に示す例では、データベース（ＤＢ）１１０に検索文活用装置１００から検索のためのクエリが発行される。
【００１８】
入力装置１３０は、ユーザが検索文を入力するため等に使用される。表示装置１２０は、グラフ化された検索文の表示等のために使用される。
【００１９】
検索文入出力部１０１は、ユーザが入力装置１３０に入力した検索文を受け付ける。グラフ入出力部１０２は、有向グラフを表示装置１２０に表示したり、指定された有向グラフを入力する処理を行う。履歴情報保持部１０３は、過去に使用された検索文を保持する。
【００２０】
グラフ処理部１０４は、入力された検索文を有向グラフ化する。また、グラフ処理部１０４は、有向グラフで表現された検索文を、ＤＢ１１０が対応しているＤＳＬに変換する。パラメータ記憶部１０５は、検索文において対象とされるイベントの種別、イベントの内容、およびイベントの対応パラメータ等を含むパラメータ情報をあらかじめ記憶する。なお、パラメータ情報は、後述するイベントの発生源に関連する情報（例えば、発生源の種別、内容、他の発生源との関連性）を含んでいてもよい。
【００２１】
本実施形態および以下の実施形態において、イベントには、少なくとも、ファイルアクセス操作（例えば、write ）、プロセスの起動もしくは生成または終了（例えば、start やexit）、および通信操作（例えば、open）が含まれる。
【００２２】
クエリ処理部１０６は、ＤＢ１１０にクエリを発行する。
【００２３】
図２は、表示装置１２０に表示される画面の一例を示す説明図である。図２に示す例では、画面２００は、検索文入力部２０１、グラフ表示部２０２、表示パラメータ選択部２０３、検索履歴表示部２０４、および検索結果表示部２０５の各領域を含む。
【００２４】
検索文入力部２０１は、ユーザが検索文を入力するために使用される。グラフ表示部２０２は、作成された有向グラフを表示するために使用される。表示パラメータ選択部２０３は、検索結果とともに表示されるパラメータをユーザが選択するために使用される。検索履歴表示部２０４は、過去に使用された検索文を有向グラフの形式で表示するために使用される。検索結果表示部２０５には、検索結果が表示される。
【００２５】
図３は、グラフ化された検索文の一例を示す説明図である。検索文は、有向グラフ化されている。
【００２６】
図３には、「プロセスＡが、ファイルＢに対して書き込みを行い、プロセスＣを生成し、プロセスＣが通信先Ｄと通信を開始する」という一連の動作（機能）を表す検索文がグラフ化された例が示されている。なお、図３に示す例では、一連の動作には、「プロセスＡがファイルＢに対して書き込みを行う」という動作と、「プロセスＡがプロセスＣを生成する」という動作と、「プロセスＣが通信先Ｄと通信を開始する」という動作とが含まれている。
【００２７】
すなわち、「動作」は、検索文を構成する検索内容に相当する。なお、本明細書では、検索文に含まれる１つまたは複数の動作を、「検索内容」または「発生事象」という。また、検索内容は、一例として、［イベントの発生源、write やstart 等のイベント、イベントの対象］で構成される。
【００２８】
図３に示された有向グラフにおいて、プロセス３０１（プロセスＡ）は、イベント３０５（ファイル操作イベント）の発生源に相当する。ファイル３０２（ファイルＢ）は、イベント３０５の対象に相当する。プロセス３０３（プロセスＣ）は、イベント３０６（プロセス実行イベント）の対象に相当する。通信先３０４（通信先Ｄ）は、イベント３０７（通信操作イベント）の対象に相当する。プロセス３０３（プロセスＣ）は、イベント３０７（通信操作イベント）の発生源でもある。
【００２９】
以下、イベントの発生源またはイベントの対象（図３に示す例では、プロセスＡ、ファイルＢ、プロセスＣおよび通信先Ｄ）を、「構成要素」ともいう。
【００３０】
本実施形態および以下の実施形態において、「構成要素」として、少なくとも、ファイル、プロセス、および通信先がある。
【００３１】
有向グラフにおいて、構成要素はノードで表され、イベントはエッジで表される。
【００３２】
図３に例示された有向グラフは、表示装置１２０に表示される。表示される有向グラフにおいて、後に生ずる発生事象のイベントの対象（または、イベントの発生源およびイベントの対象）に対応するノードが、前に生じた発生事象のイベントの対象（または、イベントの発生源およびイベントの対象）に対応するノードに対して時間的に後に生じたことをユーザが直感的に把握できるような位置に設定される。図３に示された例では、そのような位置は右側である。ただし、後に生ずる発生事象のノードの設定位置が右側であることは一例である。ユーザの特性等に応じて、時間的に後に生ずる発生事象であることをユーザが直感的に特定できるような位置は、右側以外の位置とされてもよい。
【００３３】
次に、図４のフローチャートと図５および図６の説明図を参照して検索文活用装置１００の動作を説明する。「プロセスＡが、ファイルＢに対して書き込みを行い、プロセスＣを生成し、プロセスＣが通信先Ｄと通信を開始する」という一連の検索内容を含む検索文を例にして説明を行う。
【００３４】
図４には、検索文活用装置１００の動作の一例が示されている。図５には、発生事象（検索内容）が記録されたテーブル５０１の一例が示されている。図６には、発生事象の依存関係に基づいて作成されるグラフ５０２の一例が示されている。テーブル５０１およびグラフ５０２は、検索文活用装置１００が有する記憶装置（図１において図示せず）に記憶される。
【００３５】
検索文入出力部１０１に検索文が入力されると、グラフ処理部１０４は、検索文の構文解析を行い、検索文を１つまたは複数の部分木に分割する（ステップＳ１１）。部分木は、発生事象に対応する（図５参照）。
【００３６】
グラフ処理部１０４は、図５に例示するように、部分木と対応する識別子とをテーブル５０１に設定する（ステップＳ１２）。また、グラフ処理部１０４は、図６に例示するような、依存関係を特定可能に部分木が示されているグラフを作成する（ステップＳ１３）。なお、グラフ処理部１０４は、ステップＳ１２，Ｓ１３の処理を実行するときに、パラメータ記憶部１０５に記憶されているパラメータ情報を利用する。
【００３７】
全ての部分木についてステップＳ１２，Ｓ１３の処理を実行すると（ステップＳ１４）、グラフ処理部１０４は、有向グラフを作成する（ステップＳ１５）。具体的には、グラフ処理部１０４は、図６に例示されたような依存関係に従って、図５に例示されたような各々の部分木を配置する。グラフ処理部１０４は、作成した有向グラフを、グラフ入出力部１０２を介して表示装置１２０に表示する。なお、グラフ入出力部１０２は、有向グラフを、表示装置１２０の画面２００におけるグラフ表示部２０２に表示する（図２参照）。
【００３８】
グラフ処理部１０４は、有向グラフを作成するときに、所定の情報を用いて、有向グラフにおける部分木の位置を決定するようにしてもよい。グラフ処理部１０４は、所定の情報として、検索文に記述された情報を使用してもよい。例えば、検索文において発生事象の時間的な前後関係が明示的に記述されている場合には、グラフ処理部１０４は、有向グラフにおいて、時間的な順序（発生順序）に従って部分木を配置する。
【００３９】
さらに、グラフ処理部１０４は、検索文を用いた検索の結果に付随してパラメータを表示可能な構成要素を、有向グラフから抽出する（ステップＳ１６）。例えば、グラフ処理部１０４は、各々の構成要素に対応するパラメータを、パラメータ記憶部１０５から読み出す。そして、グラフ処理部１０４は、例えば、有向グラフにおける構成要素が、パラメータが設定されている各々の構成要素のいずれかと一致した場合、パラメータを表示可能であるとする。
【００４０】
表示可能なパラメータは、クエリ処理部１０６による検索処理が実行された後、検索結果を表示装置１２０に表示するときに使用される。すなわち、クエリ処理部１０６は、パラメータを含めた検索結果を表示装置１２０に表示する。さらに、クエリ処理部１０６は、パラメータに対応する値（一例として、動作時間）の一覧も、表示装置１２０に表示してもよい。ユーザが検索文を絞り込む（例えば、重要でないと思われる発生事象を検索文から削除）ときに、一覧が表示されることによって、絞り込み作業の効率が向上することが期待される。
【００４１】
グラフ処理部１０４は、表示可能なパラメータを決定するときに、パラメータの候補をユーザに提示し、表示されるパラメータをユーザに選択させるようにしてもよい。その場合、グラフ処理部１０４は、パラメータ記憶部１０５から読み出したパラメータを、表示可能なパラメータの候補としてグラフ入出力部１０２を介して表示装置１２０に表示する。なお、グラフ入出力部１０２は、表示可能なパラメータの候補を、表示装置１２０の画面２００における表示パラメータ選択部２０３に表示する（図２参照）。なお、図２には、構成要素の名称（Ｏｕｔｌｏｏｋ（登録商標）、ｗｏｒｄ、ｍａｌｗａｒｅ）が表示された例が示されている。
【００４２】
ユーザが、パラメータの候補から所望のパラメータを選択すると、グラフ処理部１０４は、選択されたパラメータを一時記憶するか、または、パラメータをクエリ処理部１０６に記憶させる。なお、ユーザは、入力装置１３０を介して、所望のパラメータの選択を行う。
【００４３】
グラフ処理部１０４は、パラメータの候補を表示装置１２０に表示するときに、パラメータ記憶部１０５から読み出したパラメータを集約してもよい。例えば、グラフ処理部１０４は、１つの構成要素が有向グラフにおいて複数箇所に配置されている場合、パラメータを集約する。
【００４４】
ユーザが、作成された有向グラフが表す検索文を用いて検索を実行する場合、クエリ処理部１０６は、検索文に基づくクエリをＤＢ１１０に発行する。その後、グラフ処理部１０４は、使用された検索文に対応する有向グラフを、履歴情報保持部１０３に記録する。
【００４５】
グラフ処理部１０４は、履歴情報保持部１０３に記録した有向グラフと、既に履歴情報保持部１０３に保持されている有向グラフとの類似度を計算してもよい。グラフ処理部１０４は、例えば、双方の有向グラフにおけるノードの一致度およびエッジの一致度を類似度とする。
【００４６】
グラフ処理部１０４は、履歴情報保持部１０３に保持されている全てのまたは所定数の有向グラフを読み出す。グラフ処理部１０４は、有向グラフを、グラフ入出力部１０２を介して表示装置１２０に表示する。グラフ入出力部１０２は、有向グラフを、表示装置１２０の画面２００における検索履歴表示部２０４に表示する（図２参照）。グラフ処理部１０４は、類似度が高い（例えば、他の１つまたは複数の有向グラフとの類似度の平均値が高い）順に、有向グラフを表示する。また、グラフ処理部１０４は、例えば、検索履歴表示部２０４において類似度が高い有向グラフが近接するように表示されるように、有向グラフを表示するようにしてもよい。
【００４７】
ユーザが、検索履歴表示部２０４に表示されている１つまたは複数の有向グラフを選択した場合、検索文活用装置１００は、選択された有向グラフから検索文を再構築する。検索文を再構築するための具体的な方法は、第２の実施形態において説明される。
【００４８】
以上に説明したように、本実施形態では、検索文活用装置１００が、検索文をノードとエッジで構成される有向グラフとしてユーザに提示するので、検索文が意味する内容をユーザが容易に把握可能になる。また、有向グラフにおいて、時間的な順序に従って部分木が配置されるようにすることによって、検索文における発生事象の時間的な順序、換言すれば、イベントの時間的な発生順序をユーザが容易に把握可能になる。その結果、ユーザが意図した検索文が構成されているのか否かを、ユーザが容易に判断できるようになる。
【００４９】
実施形態２．
検索文活用装置１００が有向グラフから検索文を再構築するときに、グラフ処理部１０４は、有向グラフを、検索文を構成する検索内容に対応する部分木に分ける。グラフ処理部１０４は、部分木を、図５に例示されたテーブル５０１と同様のテーブルに記録する。また、グラフ処理部１０４は、各々の部分木の有向グラフにおける配置位置に基づいて、検索内容（発生事象）の依存関係（例えば、イベントの発生順）を認識する。そして、グラフ処理部１０４は、依存関係を参照して、検索内容を記述することによって検索文を再構築する。
【００５０】
本実施形態では、検索文活用装置１００は、有向グラフを複数の部分木に分割し、複数の部分木の有向グラフにおける配置位置から、複数の部分木におけるイベントの発生順序を判定し、イベントの発生順序を参照して該複数の部分木から検索内容を再構築するので、ユーザは、過去に自身または他者が作成した検索文を容易に利用することができる。
【００５１】
実施形態３．
検索文活用装置１００は、複数の有向グラフを１つに統合することもできる。
【００５２】
例えば、ユーザが、検索履歴表示部２０４に表示されている複数の有向グラフを指定したとする。その場合、グラフ入出力部１０２は、履歴情報保持部１０３から、指定された有向グラフを入力する。グラフ入出力部１０２は、入力した有向グラフをグラフ処理部１０４に出力する。
【００５３】
グラフ処理部１０４は、複数の有向グラフの各々を、発生事象に分割する。それぞれの発生事象（検索内容）には、構成要素として、イベントの発生源とイベントの対象が含まれている。イベントの発生源とイベントの対象は、有向グラフではノードとして表されている。
【００５４】
グラフ処理部１０４は、全ての検索内容から、ノードが一致する検索内容の組み合わせを選択する。グラフ処理部１０４は、全ての組み合わせを対象として、組み合わせに基づく有向グラフを作成する。
【００５５】
そして、グラフ処理部１０４は、作成した有向グラフから、ループが生じている有向グラフを削除する。また、発生事象の順番に矛盾がある有向グラフを削除する。グラフ処理部１０４は、削除された有向グラフを含まない有向グラフ群を、表示装置１２０に表示する。なお、有向グラフ群に１つの有向グラフしか含まれない場合もあり得る。
【００５６】
ユーザは、表示された有向グラフ群から、入力装置１３０を介して有向グラフを選択することができる。検索文活用装置１００は、ユーザが選択した有向グラフを、統合された有向グラフとする。
【００５７】
本実施形態では、検索履歴表示部２０４において指定された有向グラフを例にしたが、統合対象の有向グラフは、そのようなものに限られない。例えば、ユーザが入力装置１３０に入力した複数の有向グラフが統合されてもよい。
【００５８】
なお、第１〜第３の実施形態において、検索文活用装置１００における各ブロック（ユニット）は、１つの装置内に設けられていてもよいし、複数の装置に分散して設けられていてもよい。
【実施例】
【００５９】
以下、第１〜第３の実施形態の具体的な実施例を説明する。【００６０】
実施例１．
第１の実施形態の具体例である第１の実施例を、図７および図８を参照して説明する。図７は、有向グラフの作成方法を説明するための説明図である。図８は、パラメータ記憶部１０５に記憶されているパラメータ情報の一例を示す説明図である。【００６１】
以下、「プロセスＡが、ファイルＢに対して書き込みを行い、プロセスＣを生成し、プロセスＣが通信先Ｄと通信を開始する」という一連の検索内容を含む検索文が入力された場合を例にする。具体的には、以下のように検索文が入力されたとする。【００６２】
proc A write file B as evt1
（evt1 ： プロセスＡがファイルＢに書き込む）
proc A start proc C as evt2
（evt2 ： プロセスＡがプロセスＣを生成）
proc C open ip D as evt3
（evt3 ： プロセスＣが通信先Ｄとの通信を開始）
with evt2 after evt1, evt3 after evt2
（evt2がevt1の後, evt3がevt2の後）【００６３】
グラフ処理部１０４は、検索文を１つまたは複数の部分木に分割する。この例では、図７に示されるように、３つの部分木６０１，６０２，６０３が生成される。部分木の識別子は、evt1、evt2、evt3である。【００６４】
グラフ処理部１０４は、検索文に記述されている発生事象（検索内容）の順序に従って、部分木６０１，６０２，６０３を配置してグラフを作成する。この例では、図７に示されるように、部分木６０１、部分木６０２および部分木６０３が左から順に並べられたグラフ６０４が作成される。【００６５】
グラフ処理部１０４は、グラフ６０４においてノードが同一である複数の部分木を統合する。この例では、evt1のproc Aとevt2のproc Aとは同一である。また、evt2のproc Cとevt3のproc Cとは同一である。よって、グラフ処理部１０４は、図７に示されるように、部分木の配置順を変えないようにしつつ、部分木６０１と部分木６０２とを統合する。その結果、有向グラフ６０５が作成される。【００６６】
なお、「部分木の配置順を変えない」ということは、部分木６０３に対応するノードが部分木６０１，６０２に対応するノードよりも右側に配置され、かつ、部分木６０２に対応するノード（図７に示された例では、PROC C）が部分木６０１に対応するノード（図７に示された例では、FILE B）よりも右側に配置されるということである。【００６７】
また、グラフ処理部１０４は、パラメータ記憶部１０５に記憶されているパラメータ情報を参照する。そして、グラフ処理部１０４は、パラメータ情報に基づいて、例えば、以下のようなパラメータを、グラフ入出力部１０２を介して表示装置１２０の画面２００における表示パラメータ選択部２０３に表示する。【００６８】
・Proc A, C が動作しているマシン名
・Proc Aのname（名称）, pid（プロセスＩＤ(Identification)）
・Proc Bのname, pid
・Proc Cのname, pid
・File Bのname, path
・ip Dのaddress, port
・evt1の発生時間
・evt2の発生時間
・evt3の発生時間【００６９】
実施例２．
第２の実施形態の具体例である第２の実施例を、図９および図１０を参照して説明する。図９は、有向グラフの一例を示す説明図である。図１０は、有向グラフから検索文を作成する方法を説明するための説明図である。【００７０】
グラフ処理部１０４が、図９に示す有向グラフから検索文を作成（再構築）する場合を例にする。【００７１】
グラフ処理部１０４は、有向グラフを複数の部分木に分解する。すなわち、グラフ処理部１０４は、１つのエッジとその両側に存在する２つのノードからなる部分木を得る。その結果、図１０（Ａ）に示すような４つの部分木（識別子がevt1,evt2,evt3,evt4 の部分木）が得られる。【００７２】
そして、グラフ処理部１０４は、４つの部分木の依存関係に応じたグラフを作成する（図１０（Ｂ）参照）。依存関係には、発生事象の発生順が含まれる。有向グラフにおいて、後に生起した発生事象におけるノード（イベントの発生源に応じたノードまたはイベントの対象に応じたノード）は、前に生起した発生事象におけるノードよりも右側に配置されている。よって、グラフ処理部１０４は、有向グラフにおける位置関係に基づいて、容易に依存関係を判別できる。【００７３】
グラフ処理部１０４は、図１０（Ａ）に示されたevt1,evt2,evt3,evt4に基づいて、以下のような検索文を作成する。また、図１０（Ｂ）に示されたグラフに基づいて、依存関係（生起順）に関する記述を検索文に加える。【００７４】
proc A write file B as evt1
（evt1 ： プロセスＡがファイルＢに書き込む）
proc A start proc C as evt2
（evt2 ： プロセスＡがプロセスＣを生成）
proc C read file E as evt3
（evt3 ： プロセスＣがファイルＥを読み込む）
proc C start proc D as evt4
（evt4 ： プロセスＣがプロセスＤを生成）
with evt2 after evt1, evt3 after evt2, evt4 after evt3, B.name = E.name【００７５】
また、グラフ処理部１０４は、以下のように、検索文にパラメータを付加する。【００７６】
・Proc A, C, Dが動作しているマシン名
・Proc Aのname, pid
・Proc Cのname, pid
・Proc Dのname, pid
・File B, E のname
・File Bのpath
・File Eのpath
・evt1の発生時間
・evt2の発生時間
・evt3の発生時間
・evt4の発生時間【００７７】
なお、依存関係（生起順）に関する記述は、実質的に以下のような検索文に相当する。【００７８】
「プロセスＡが、ファイルＢに書き込みを行った後プロセスＣを生成し、プロセスＣが、ファイルＥを読み込んだ後プロセスＤを生成する。」【００７９】
実施例３．
第３の実施形態の具体例である第３の実施例を、図１１を参照して説明する。図１１は、複数の検索文の統合方法を説明するための説明図である。【００８０】
図１１に例示する２つの検索文に対応する有向グラフ１００１，１００２が存在するとする。それらを統合する場合、グラフ処理部１０４は、有向グラフ１００１，１００２の各々を、発生事象に対応するグラフに分割する。図１１に示す例では、有向グラフ１００１は、グラフ１００３−１、１００３−２、１００３−３に分割される。なお、グラフ１００３−１、１００３−２、１００３−３をグラフ群１００３という。また、有向グラフ１００２は、グラフ１００４−１、１００４−２、１００４−３に分割される。なお、グラフ１００４−１、１００４−２、１００４−３をグラフ群１００４という。【００８１】
次に、グラフ処理部１０４は、グラフ群１００３におけるグラフ１００３−１、１００３−２、１００３−３と、グラフ群１００４におけるグラフ１００４−１、１００４−２、１００４−３とを比較する。具体的には、グラフ処理部１０４は、グラフ群１００３における各発生事象（グラフに相当）のイベントとグラフ群１００４における各発生事象のイベントとを比較する。【００８２】
図１１に示す例では、グラフ１００３−１のイベントとグラフ１００４−３のイベントとは同じである。また、グラフ１００３−３のイベントとグラフ１００４−１およびグラフ１００４−２のイベントとは同じである。その他にも、イベントが共通するグラフがある。イベントが共通するグラフを組み合わせると、組み合わせは、以下のようになる。すなわち、新たに生成される有向グラフの候補になりうるグラフの組み合わせは、以下のようになる。【００８３】
・組Ａ：［（１００３−１，１００４−３）］
・組Ｂ：［（１００３−３，１００４−１）］
・組Ｃ：［（１００３−３，１００４−２）］
・組Ｄ：［（１００３−１，１００４−３），（１００３−３，１００４−１）］
・組Ｅ：［（１００３−１，１００４−３），（１００３−３，１００４−２）］【００８４】
各々の組み合わせを結合してグラフ化した場合、組Ｄおよび組Ｅの場合には、グラフにおいてループが生ずる。グラフ処理部１０４は、そのような組み合わせに基づいて新たな有向グラフを生成することはしない。すなわち、グラフ処理部１０４は、そのような組み合わせに基づく有向グラフを、新たに生成される有向グラフの候補から除外する。グラフ処理部１０４は、ループが生じない組を結合して、新たな有向グラフを生成する。【００８５】
組Ａに基づいて、図１１における有向グラフ１００５が生成される。組Ｂに基づいて、図１１における有向グラフ１００６が生成される。組Ｃに基づいて、図１１における有向グラフ１００７が生成される。なお、図１１に示す例では、組Ａ，Ｂ，Ｃに基づく有向グラフを作成するときに、グラフ群１００３における他のグラフも活用されている。【００８６】
グラフ処理部１０４は、複数の有向グラフを作成した場合には、ユーザに有向グラフを選択させるようにしてもよい。その場合には、グラフ処理部１０４は、グラフ入出力部１０２を介して表示装置１２０に複数の有向グラフを表示する。ユーザが入力装置１３０を介して選択指定を行った場合、グラフ処理部１０４は、指定された有向グラフを、ユーザが選択した有向グラフとする。【００８７】
なお、グラフ処理部１０４は、グラフ群１００３，１００４から有向グラフ１００５，１００６，１００７を生成するときに、各々の部分木におけるイベント（open等）が共通する構成要素を同じと見なす。【００８８】
例えば、有向グラフ１００７を例にすると、グラフ処理部１０４は、部分木１００３−３（PROC C→IP D）の構成要素と部分木１００４−２（PROC G→IP F）の構成要素とを同じと見なす。すなわち、グラフ処理部１０４は、PROC C＝PROC G、IP D＝IP Fと見なす。同様に、部分木１００４−１における（PROC E→IP F）は、（PROC E→IP D）と見なされる。そのようにした結果、有向グラフ１００７が生成される。【００８９】
ＩＴ（Information Technology）システムにおいて、外部からの攻撃や侵入を防ぐとともに、侵入や攻撃などを検知するセキュリティシステムが導入されている。セキュリティシステムでは、ルールベースや機械学習による侵入検知および攻撃検知が行われる。侵入や攻撃が検知された後、どういった行動や状態が侵入の原因であったかや、行われた攻撃の深刻度を把握するために、プロセス、ファイル操作、通信等の履歴を検索する機能が求められている。【００９０】
ユーザは、第１〜第３の実施形態の検索文活用装置１００を使用することによって、容易に履歴を検索するための検索文を作成することができる。したがって、検索文を作成するための高いスキルを有していなくても、ユーザは、容易に履歴を検索することができる。すなわち、ユーザは、外部からの攻撃や侵入の原因等を、より容易に、かつ、短時間で特定できるようになる。【００９１】
図１２は、ＣＰＵを有するコンピュータの一例を示すブロック図である。コンピュータは、検索文活用装置１００に実装される。ＣＰＵ２０００は、記憶装置２００１に格納されたプログラムに従って処理を実行することによって、上記の実施形態における各機能を実現する。すなわち、図１に示された検索文活用装置１００における、グラフ処理部１０４およびクエリ処理部１０６の機能、ならびにその他のブロックにおける演算に関する機能を実現する。【００９２】
記憶装置２００１は、例えば、非一時的なコンピュータ可読媒体（non-transitory computer readable medium ）である。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium ）を含む。非一時的なコンピュータ可読媒体の具体例として、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＣＤ−Ｒ（Compact Disc-Recordable ）、ＣＤ−Ｒ／Ｗ（Compact Disc-ReWritable ）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM ）、フラッシュＲＯＭ）がある。また、記憶装置２００１は、履歴情報保持部１０３およびパラメータ記憶部１０５を実現する。【００９３】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium ）に格納されてもよい。一時的なコンピュータ可読媒体には、例えば、有線通信路または無線通信路を介して、すなわち、電気信号、光信号または電磁波を介して、プログラムが供給される。【００９４】
メモリ２００２は、例えばＲＡＭ（Random Access Memory）で実現され、ＣＰＵ２０００が処理を実行するときに一時的にデータを格納する記憶手段である。メモリ２００２に、記憶装置２００１または一時的なコンピュータ可読媒体が保持するプログラムが転送され、ＣＰＵ２０００がメモリ２００２内のプログラムに基づいて処理を実行するような形態も想定しうる。【００９５】
図１３は、検索文活用装置１０の主要部を示すブロック図である。図１３に示すように、検索文活用装置１０は、検索文を、各々がイベントを含む複数の検索内容に分割する検索文分割部１１（実施形態では、グラフ処理部１０４で実現される。）と、検索内容の各々から、イベントをエッジとしイベントの発生源およびイベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する有向グラフ作成部１２（実施形態では、グラフ処理部１０４で実現される。）とを備える。有向グラフ作成部１２は、有向グラフにおいて、イベントの発生順序に対応させて複数の部分木を配置する。【００９６】
図１４は、他の態様の検索文活用装置１０の主要部を示すブロック図である。図１４に示す検索文活用装置１０は、さらに、作成された有向グラフを記憶する有向グラフ蓄積部１３（実施形態では、履歴情報保持部１０３で実現される。）と、有向グラフ蓄積部１３が記憶する有向グラフを、ユーザが選択可能に表示する有向グラフ表示部１４（実施形態では、グラフ入出力部１０２およびグラフ処理部１０４で実現される。）とを備える。【００９７】
図１５は、さらに他の態様の検索文活用装置１０の主要部を示すブロック図である。図１５に示す検索文活用装置１０は、さらに、複数の有向グラフを統合する有向グラフ統合部１５備える。有向グラフ統合部１５は、各々の有向グラフを部分木に分割し、複数の有向グラフのうちの一の有向グラフを分割して得た部分木に対応するイベントと、他の有向グラフを分割して得た部分木に対応するイベントとを比較し、少なくとも、イベントが共通する部分木を結合することによって新たな有向グラフを生成する。【００９８】
図１６は、別の態様の検索文活用装置１０の主要部を示すブロック図である。図１６に示す検索文活用装置１０は、さらに、有向グラフから、イベントの発生源の１つまたは複数のパラメータおよびイベントの対象の１つまたは複数のパラメータを参照して（実施形態では、それらのパラメータはパラメータ記憶部１０５に記憶されている。）、有向グラフに対応する検索文を用いた検索の結果とともに表示装置に表示するパラメータを抽出するパラメータ抽出部１６（実施形態では、グラフ処理部１０４で実現される。）を備える。【００９９】
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。【０１００】
（付記１）検索文を、各々がイベントを含む複数の検索内容に分割する検索文分割手段と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する有向グラフ作成手段とを備え、
前記有向グラフ作成手段は、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する
検索文活用装置。【０１０１】
（付記２）前記有向グラフ作成手段は、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する
付記１の検索文活用装置。【０１０２】
（付記３）前記有向グラフを複数の部分木に分割し、該複数の部分木の前記有向グラフにおける配置位置から、該複数の部分木に対応するイベントの発生順序を判定し、該イベントの発生順序を参照して該複数の部分木から検索内容を再構築する検索文再構築手段をさらに備える
付記１または付記２の検索文活用装置。【０１０３】
（付記４）作成された有向グラフを記憶する有向グラフ蓄積手段と、
前記有向グラフ蓄積手段が記憶する有向グラフを、ユーザが選択可能に表示装置に表示する有向グラフ表示手段とをさらに備える
付記１から付記３のうちのいずれかの検索文活用装置。【０１０４】
（付記５）複数の有向グラフを統合する有向グラフ統合手段をさらに備え、
前記有向グラフ統合手段は、
各々の有向グラフを部分木に分割し、
複数の有向グラフのうちの一の有向グラフを分割して得た部分木に対応するイベントと、他の有向グラフを分割して得た部分木に対応するイベントとを比較し、
少なくとも、イベントが共通する部分木を結合することによって新たな有向グラフを生成する
付記１から付記４のうちのいずれかの検索文活用装置。【０１０５】
（付記６）前記有向グラフ統合手段は、少なくとも、イベントが共通する部分木を結合することによって生成した有向グラフを新たな有向グラフの候補とし、ループを含む有向グラフが除外された該候補を新たな有向グラフとする
付記５の検索文活用装置。【０１０６】
（付記７）有向グラフから、イベントの発生源の１つまたは複数のパラメータおよびイベントの対象の１つまたは複数のパラメータを参照して、前記有向グラフに対応する検索文を用いた検索の結果とともに表示装置に表示するパラメータを抽出するパラメータ抽出手段をさらに備える
付記１から付記６のうちのいずれかの検索文活用装置。【０１０７】
（付記８）有向グラフのノードは、ファイルとプロセスと通信先とのうちのいずれかに対応し、
有向グラフのエッジは、ファイルアクセス操作とプロセスの起動または終了と、通信操作とのうちのいずれかに対応する
付記１から付記７のうちのいずれかの検索文活用装置。【０１０８】
（付記９）検索文を、各々がイベントを含む複数の検索内容に分割し、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成し、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する
検索文活用方法。【０１０９】
（付記１０）前記有向グラフを作成するときに、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する
付記９の検索文活用方法。【０１１０】
（付記１１）コンピュータに、
検索文を、各々がイベントを含む複数の検索内容に分割する処理と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する処理とを実行させ、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する処理を実行させる
ための検索文活用プログラム。【０１１１】
（付記１２）コンピュータに、
前記有向グラフを作成するときに、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する処理を実行させる
付記１０の検索文活用プログラム。【０１１２】
（付記１３）検索文活用プログラムが記憶された非一時的な記録媒体であって、検索文活用プログラムは、プロセッサで実行されるときに、検索文を、各々がイベントを含む複数の検索内容に分割する処理と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する処理とを実行させ、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する処理を実行させる。【０１１３】
（付記１４）検索文活用プログラムは、プロセッサで実行されるときに、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する処理を実行させる
付記１３の記録媒体。
【符号の説明】
【０１１４】
１０      検索文活用装置
１１      検索文分割部
１２      有向グラフ作成部
１３      有向グラフ蓄積部
１４      有向グラフ表示部
１５      有向グラフ統合部
１６      パラメータ抽出部
１００    検索文活用装置
１０１    検索文入出力部
１０２    グラフ入出力部
１０３    履歴情報保持部
１０４    グラフ処理部
１０５    パラメータ記憶部
１０６    クエリ処理部
１１０    データベース（ＤＢ）
１２０    表示装置
１３０    入力装置
２０００  ＣＰＵ
２００１  記憶装置
２００２  メモリ
【図１】
2019176011.tif 000003
【図２】
2019176011.tif 000004
【図３】
2019176011.tif 000005
【図４】
2019176011.tif 000006
【図５】
2019176011.tif 000007
【図６】
2019176011.tif 000008
【図７】
2019176011.tif 000009
【図８】
2019176011.tif 000010
【図９】
2019176011.tif 000011
【図１０】
2019176011.tif 000012
【図１１】
2019176011.tif 000013
【図１２】
2019176011.tif 000014
【図１３】
2019176011.tif 000015
【図１４】
2019176011.tif 000016
【図１５】
2019176011.tif 000017
【図１６】
2019176011.tif 000018
【手続補正書】
【提出日】令和2年8月21日(2020.8.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
検索文を、各々がイベントを含む複数の検索内容に分割する検索文分割手段と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する有向グラフ作成手段とを備え、
前記有向グラフ作成手段は、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する
検索文活用装置。
【請求項２】
前記有向グラフ作成手段は、前に発生したイベントの対象に対応するノードに対して、後に発生したイベントの対象に対応するノードを、イベントの発生順序が後であることを特定可能に前記有向グラフにおいて配置する
請求項１記載の検索文活用装置。
【請求項３】
前記有向グラフを複数の部分木に分割し、該複数の部分木の前記有向グラフにおける配置位置から、該複数の部分木に対応するイベントの発生順序を判定し、該イベントの発生順序を参照して該複数の部分木から検索内容を再構築する検索文再構築手段をさらに備える
請求項１または請求項２記載の検索文活用装置。
【請求項４】
作成された有向グラフを記憶する有向グラフ蓄積手段と、
前記有向グラフ蓄積手段が記憶する有向グラフを、ユーザが選択可能に表示装置に表示する有向グラフ表示手段とをさらに備える
請求項１から請求項３のうちのいずれか１項に記載の検索文活用装置。
【請求項５】
複数の有向グラフを統合する有向グラフ統合手段をさらに備え、
前記有向グラフ統合手段は、
各々の有向グラフを部分木に分割し、
複数の有向グラフのうちの一の有向グラフを分割して得た部分木に対応するイベントと、他の有向グラフを分割して得た部分木に対応するイベントとを比較し、
少なくとも、イベントが共通する部分木を結合することによって新たな有向グラフを生成する
請求項１から請求項４のうちのいずれか１項に記載の検索文活用装置。
【請求項６】
前記有向グラフ統合手段は、少なくとも、イベントが共通する部分木を結合することによって生成した有向グラフを新たな有向グラフの候補とし、ループを含む有向グラフが除外された該候補を新たな有向グラフとする
請求項５記載の検索文活用装置。
【請求項７】
有向グラフから、イベントの発生源の１つまたは複数のパラメータおよびイベントの対象の１つまたは複数のパラメータを参照して、前記有向グラフに対応する検索文を用いた検索の結果とともに表示装置に表示するパラメータを抽出するパラメータ抽出手段をさらに備える
請求項１から請求項６のうちのいずれか１項に記載の検索文活用装置。
【請求項８】
有向グラフのノードは、ファイルとプロセスと通信先とのうちのいずれかに対応し、
有向グラフのエッジは、ファイルアクセス操作とプロセスの起動または終了と通信操作とのうちのいずれかに対応する
請求項１から請求項７のうちのいずれか１項に記載の検索文活用装置。
【請求項９】
検索文を、各々がイベントを含む複数の検索内容に分割し、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成し、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する
検索文活用方法。
【請求項１０】
コンピュータに、
検索文を、各々がイベントを含む複数の検索内容に分割する処理と、
前記検索内容の各々から、前記イベントをエッジとし前記イベントの発生源および前記イベントの対象をノードとする部分木を作成し、それらの部分木を結合して有向グラフを作成する処理とを実行させ、
前記有向グラフを作成するときに、前記イベントの発生順序に対応させて複数の前記部分木を前記有向グラフにおいて配置する処理を実行させる
ための検索文活用プログラム。
【国際調査報告】
2019176011.tif 000019
2019176011.tif 000020
2019176011.tif 000021