(57)【要約】【課題】アプリケーションの動作に関連するファイルおよびアプリケーションの情報を自動で作成する。【解決手段】情報作成装置は、アプリケーションごとに、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを抽出する関連ファイル抽出部と、アプリケーションごとに、当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを抽出する関連アプリケーション抽出部と、アプリケーションごとに、当該アプリケーションの起動中または稼働中にアクセスされる１以上のファイルを当該アプリケーションの関連ファイルとして示した情報と、アプリケーションごとに当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを当該アプリケーションの関連アプリケーションとして示した情報とを記憶部に格納する関連情報格納部とを備える。【選択図】図１
2020087215.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションごとに、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを特定する関連ファイル特定部と、
アプリケーションごとに、当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを特定する関連アプリケーション特定部と、
前記アプリケーションごとに、当該アプリケーションの起動中または稼働中にアクセスされる１以上のファイルを当該アプリケーションの関連ファイルとして示した関連ファイル情報と、前記アプリケーションごとに当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを当該アプリケーションの関連アプリケーションとして示した関連アプリケーション情報とを記憶部に格納する情報格納部と、
を備えることを特徴とする情報作成装置。
【請求項２】
前記関連ファイル特定部は、
前記アプリケーションの用いるＯＳを用いて、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを特定する
ことを特徴とする請求項１に記載の情報作成装置。
【請求項３】
前記関連ファイル特定部は、
前記アプリケーションの用いるＯＳを用いて、当該アプリケーションの起動中または稼働中にいずれかのファイルからアクセスされたアクセス先ファイルと当該アクセス先ファイルのアクセス元ファイルとを示すリストを取得し、当該アプリケーションの構成ファイルを起点として、前記取得したリストにおけるアクセス先ファイルとアクセス元ファイルを辿ることにより、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを特定する
ことを特徴とする請求項１に記載の情報作成装置。
【請求項４】
前記関連アプリケーション特定部は、
前記アプリケーションの用いるＯＳを用いて、前記アプリケーションが使用しているポートと同じポートを使用している１以上の他のアプリケーションを、当該アプリケーションとデータの送受信を行うアプリケーションとして特定する
ことを特徴とする請求項１に記載の情報作成装置。
【請求項５】
情報作成装置により実行される情報作成方法であって、
アプリケーションごとに、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを特定するステップと、
アプリケーションごとに、当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを特定するステップと、
前記アプリケーションごとに、当該アプリケーションの起動中または稼働中にアクセスされる１以上のファイルを当該アプリケーションの関連ファイルとして示した関連ファイル情報と、前記アプリケーションごとに当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを当該アプリケーションの関連アプリケーションとして示した関連アプリケーション情報とを記憶部に格納するステップと、
を含んだことを特徴とする情報作成方法。
【請求項６】
アプリケーションごとに、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを特定するステップと、
アプリケーションごとに、当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを特定するステップと、
前記アプリケーションごとに、当該アプリケーションの起動中または稼働中にアクセスされる１以上のファイルを当該アプリケーションの関連ファイルとして示した関連ファイル情報と、前記アプリケーションごとに当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを当該アプリケーションの関連アプリケーションとして示した関連アプリケーション情報とを記憶部に格納するステップと、
をコンピュータに実行させることを特徴とする情報作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報作成装置、情報作成方法、および、情報作成プログラムに関する。
【背景技術】
【０００２】
アプリケーションの異常動作を防止するためには、アプリケーションの完全性が損なわれた状況で稼働状態にしないことが必要である。なお、稼働状態とは、プロセスが生成されている（つまり、プロセスＩＤが与えられている）状態であり、稼働状態ではない（停止状態）とは、プロセスが停止している状態である。
【０００３】
ここで、アプリケーションの動作に関連するものは、例えば、以下のようなものが考えられる。
【０００４】
（１）アプリケーション開発者が管理するもの（例えば、アプリケーションの実行ファイル、設定ファイル、ライブラリ等）
（２）アプリケーション開発者以外が管理し、動作に直接関わるもの（例えば、共有ライブラリ等）
（３）アプリケーション開発者以外が管理し、動作に直接関わらないがサービス提供において必要となるもの（例えば、当該アプリケーションと連携して動作する他のアプリケーション等）
【０００５】
アプリケーションの異常動作を防止するためには、当該アプリケーションの動作に関連するもの（動作に影響を与える可能性のあるもの）の完全性を確認する必要がある。
【０００６】
例えば、ＡＰ（アプリケーション）１〜ＡＰ３の３つのＡＰが連携してサービスを提供する場合を考える。この場合、サービスを正しく動作させるためには、例えば、ＡＰ１の完全性を確認して動作を制御するだけではなく、ＡＰ２およびＡＰ３の完全性も確認して動作を制御する必要がある。
【０００７】
このように、アプリケーションの異常動作を防止するためには、当該アプリケーションの動作に影響を与える可能性のあるファイルおよびアプリケーションの完全性を確認することが重要である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４８６３４４９号公報
【非特許文献】
【０００９】
【非特許文献１】ＲＰＭ  Package  Manager、［平成30年11月13日検索］、インターネット＜URL：http://rpm.org/＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、従来、あるアプリケーションの動作に影響を与える可能性のあるファイルおよびアプリケーションの特定は、アプリケーションの作成者等が手動で行っていたため（特許文献１および非特許文献１参照）、特定に手間がかかり、また特定される情報に漏れがある場合もあった。そこで、本発明は、前記した問題を解決し、アプリケーションの動作に影響を与える可能性のあるファイルおよびアプリケーションの情報を自動で作成することを課題とする。
【課題を解決するための手段】
【００１１】
前記した課題を解決するため、本発明は、アプリケーションごとに、当該アプリケーションの起動中または稼働中に、当該アプリケーションの起動または稼働を起因としてアクセスされる１以上のファイルを特定する関連ファイル特定部と、アプリケーションごとに、当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを特定する関連アプリケーション特定部と、前記アプリケーションごとに、当該アプリケーションの起動中または稼働中にアクセスされる１以上のファイルを当該アプリケーションの関連ファイルとして示した関連ファイル情報と、前記アプリケーションごとに当該アプリケーションとデータの送受信を行う１以上の他のアプリケーションを当該アプリケーションの関連アプリケーションとして示した関連アプリケーション情報とを記憶部に格納する情報格納部と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、アプリケーションの動作に影響を与える可能性のあるファイルおよびアプリケーションの情報を自動で作成することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、情報作成装置の構成例を示す図である。
【図２】図２は、図１の関連ファイル情報の例を示す図である。
【図３】図３は、図１の関連ＡＰ情報の例を示す図である。
【図４】図４は、図１の関連構成ファイル情報の例を示す図である。
【図５】図５は、図１の情報作成装置による関連ファイル情報の作成手順の例を示すフローチャートである。
【図６】図６は、図１の情報作成装置による関連ＡＰ情報の作成手順の例を示すフローチャートである。
【図７】図７は、情報作成プログラムを実行するコンピュータの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。図１を用いて、本実施形態の情報作成装置１０の構成例を説明する。なお、情報作成装置１０による情報作成対象となるＡＰは、情報作成装置１０内で動作するＡＰであってもよいし、情報作成装置１０の外部で動作するＡＰであってもよい。
【００１５】
［構成例］
情報作成装置１０は、ＡＰの動作に影響を与える可能性のあるファイル（関連ファイル）を示す情報と、ＡＰの動作に影響を与える可能性のあるＡＰ（関連ＡＰ）を示す情報とを作成する。ここで、情報作成装置１０は、関連ファイルを示す情報として、例えば、ＡＰの起動や稼働によりアクセスされる１以上のファイルの情報を用いる。また、情報作成装置１０は、関連ＡＰを示す情報として、例えば、当該ＡＰと連携して動作する他のＡＰ（関連ＡＰ）の情報を用いる。
【００１６】
この情報作成装置１０は、例えば、制御部１１と、記憶部１２と、関連ファイル抽出部（関連ファイル特定部）１３と、関連ＡＰ抽出部（関連ＡＰ特定部）１４と、関連情報格納部（情報作成部）１５と、関連情報修正部１６とを備える。
【００１７】
制御部１１は、記憶部１２、関連ファイル抽出部１３、関連ＡＰ抽出部１４、関連情報格納部１５および関連情報修正部１６の制御を行う。
【００１８】
関連ファイル抽出部１３は、ＡＰごとに、当該ＡＰの起動中または稼働中に、当該ＡＰの起動または稼働を起因としてアクセスされる１以上のファイル（関連ファイル）を抽出する。この関連ファイルは、例えば、ＡＰに利用される共有ライブラリのファイルである。
【００１９】
例えば、関連ファイル抽出部１３は、ＡＰを動作させるＯＳ（Operating  System）を用いて、当該ＡＰの起動中または稼働中に、当該ＡＰの起動または稼働を起因としてアクセスされる１以上のファイル（関連ファイル）を抽出する。この関連ファイル抽出部１３の詳細は後記する。
【００２０】
関連ＡＰ抽出部１４は、ＡＰそれぞれの関連ＡＰを抽出する。例えば、関連ＡＰ抽出部１４は、ＯＳを用いて、ＡＰとデータの送受信を行う１以上の他のＡＰを、当該ＡＰの関連ＡＰとして抽出する。この関連ＡＰ抽出部１４の詳細は後記する。
【００２１】
関連情報格納部１５は、関連ファイル抽出部１３の処理結果に基づき関連ファイル情報（図２参照）を作成する。また、関連情報格納部１５は、関連ＡＰ抽出部１４の処理結果に基づき関連ＡＰ情報（図３参照）を作成する。
【００２２】
例えば、関連情報格納部１５は、関連ファイル抽出部１３により抽出された各ＡＰの関連ファイルの情報を用いて、ＡＰごとに当該ＡＰの関連ファイルを示した関連ファイル情報を作成し、記憶部１１に格納する。また、関連情報格納部１５は、関連ＡＰ抽出部１４により抽出された各ＡＰの関連ＡＰの情報を用いて、ＡＰごとに当該ＡＰの関連ＡＰを示した関連ＡＰ情報を作成し、記憶部１１に格納する。
【００２３】
なお、関連ファイル情報の作成後は、関連情報格納部１５は、関連ファイル抽出部１３の処理結果に基づき、関連ファイル情報を更新する。つまり、関連ファイル抽出部１３により新たな関連ファイルの情報が抽出されると、関連情報格納部１５は、当該情報を用いて関連ファイル情報を更新する。また、関連ＡＰ情報の作成後は、関連情報格納部１５は、関連ＡＰ抽出部１４の処理結果に基づき、関連ＡＰ情報を更新する。つまり、関連ＡＰ抽出部１４により新たな関連ＡＰの情報が抽出されると、関連情報格納部１５は、当該情報を用いて関連ＡＰ情報を更新する。
【００２４】
関連情報修正部１６は、情報作成装置１０のユーザからの指示入力に基づき、関連ファイル情報および関連ＡＰ情報を修正する。
【００２５】
記憶部１２は、関連情報格納部１５により作成された関連ファイル情報および関連ＡＰ情報を記憶する。また、記憶部１２は、ＡＰごとに当該ＡＰを構成するファイルを示したＡＰ構成ファイル情報を記憶する。
【００２６】
関連ファイル情報は、ＡＰごとに当該ＡＰの関連ファイルを示した情報である。この関連ファイル情報は、例えば、図２に示すとおり、ＡＰのプロセス名と、当該プロセスの関連ファイルのファイルパスとを対応付けて示した情報である。
【００２７】
例えば、この関連ファイル情報に示される関連ファイルに改ざん等の何らかの異常があった場合、その関連ファイルに対応するＡＰは正しく動作しない（完全性が損なわれる）可能性があると判断される。
【００２８】
関連ＡＰ情報は、ＡＰごとに当該ＡＰの関連ＡＰを示した情報である。この関連ＡＰ情報は、例えば、図３に示すとおり、ＡＰのプロセス名と、当該プロセスの関連ＡＰのプロセス名とを対応付けて示した情報である。
【００２９】
例えば、この関連ＡＰ情報に示される関連ＡＰに何らかの異常が発生した場合、その関連ＡＰに対応するＡＰは正しく動作しない（完全性が損なわれる）可能性があると判断される。
【００３０】
ＡＰ構成ファイル情報は、ＡＰごとに当該ＡＰを構成するファイルを示した情報である。このＡＰ構成ファイル情報は、例えば、図４に示すように、ＡＰのプロセス名と、当該プロセスの構成ファイルパス（当該ＡＰの構成ファイル（例えば、ＡＰの実行ファイル、設定ファイル等）のファイルパス）とを対応付けて示した情報である。
【００３１】
例えば、この構成ＡＰ情報に示されるファイルに何らかの異常が発生した場合、そのＡＰは正しく動作しない（完全性が損なわれる）可能性があると判断される。
【００３２】
このＡＰ構成ファイル情報は、例えば、情報作成装置１０のユーザにより事前に入力される。
【００３３】
［処理手順の例］
次に、情報作成装置１０の処理手順の例を説明する。まず、図５を用いて、情報作成装置１０による関連ファイル情報の作成手順の例を説明する。ここでは、情報作成装置１０が、ＡＰの起動に関連する関連ファイル情報を作成する場合を例に説明する。
【００３４】
まず、情報作成装置１０の関連ファイル抽出部１３は、情報作成の対象となるＡＰを起動させる（Ｓ１）。そして、関連ファイル抽出部１３は、当該ＡＰの用いるＯＳの機能（例えば、Linux（登録商標）のAPI（Application  Programming  Interface）であるfanotify等）により、当該ＡＰが起動するまでにアクセスされたファイル（アクセス先ファイル）およびそのファイルにアクセスしたファイル（アクセス元ファイル）とのファイルパスのリストを取得する（Ｓ２）。つまり、関連ファイル抽出部１３は、ＯＳの機能により、当該ＡＰが起動するまでの間にいずれかのファイルからアクセスされたファイルとそのファイルのアクセス元ファイルとを示したリストを取得する。
【００３５】
Ｓ２の後、関連ファイル抽出部１３は、Ｓ２で取得したリストの中から、Ｓ１で起動させたＡＰのファイルがアクセス元ファイルとなっているエントリを抽出する（Ｓ３）。つまり、関連ファイル抽出部１３は、ＡＰ構成ファイル情報を参照して、Ｓ２で取得したリストのエントリのうち、当該ＡＰの構成ファイルがアクセス元ファイルとなっているエントリを抽出する。
【００３６】
Ｓ３の後、関連ファイル抽出部１３は、Ｓ３で抽出したエントリにおけるアクセス先ファイルのファイルパスが、アクセス元ファイルのファイルパスと一致するエントリを、Ｓ２で抽出したリストから抽出し（Ｓ４）、Ｓ２で取得したリストに抽出できるエントリがあれば（Ｓ５でＹｅｓ）、Ｓ４に戻る。
【００３７】
つまり、関連ファイル抽出部１３は、Ｓ２で取得したリストの各エントリを用いて、ＡＰの起動に伴い当該ＡＰがアクセスするファイルと、当該ファイルへのアクセスに基づきアクセスされるファイルとを辿る。これにより関連ファイル抽出部１３は、当該ＡＰの起動に関連してアクセスされる１以上のファイル（関連ファイル）を抽出する。
【００３８】
一方、Ｓ５において、関連ファイル抽出部１３がＳ２で取得したリストに抽出できるエントリがないと判断した場合（Ｓ５でＮｏ）、当該ＡＰを停止させる（Ｓ６）。そして、関連ファイル抽出部１３は、抽出されたエントリの和集合を関連情報格納部１５へ出力する（Ｓ７）。つまり、関連ファイル抽出部１３は、当該ＡＰの関連ファイルの情報を関連情報格納部１５へ出力する。そして、関連情報格納部１５は、出力された当該ＡＰの関連ファイルの情報に基づき、関連ファイル情報を作成し、記憶部１１に格納する。
【００３９】
なお、関連ファイル抽出部１３がＡＰの稼働中における関連ファイルを抽出する場合は、当該ＡＰが稼働状態にあるときに、上記と同様の処理を実行すればよい。
【００４０】
次に、図６を用いて、情報作成装置１０による関連ＡＰ情報の作成手順の例を説明する。情報作成装置１０の関連ＡＰ抽出部１４は、例えば、情報作成対象のＡＰと同じポートを使用しているＡＰを抽出することにより関連ＡＰを抽出する。
【００４１】
例えば、まず、関連ＡＰ抽出部１４は、ＯＳの機能（例えば、Linux（登録商標）のコマンドであるlsof等）を用いて、情報作成対象のＡＰが使用している１以上のポートを確認すると（Ｓ１１）、未選択のポートを１つ選択し（Ｓ１２）、Ｓ１２で選択したポートと同じポートを使用している他のプロセスを関連ＡＰとして抽出する（Ｓ１３）。そして、Ｓ１１で確認したポートのうち、未選択のポートがあれば（Ｓ１４でＹｅｓ）、Ｓ１２へ戻り、未選択のポートがなければ（Ｓ１４でＮｏ）、関連ＡＰ抽出部１４は、抽出したエントリの和集合（関連ＡＰの集合）を関連情報格納部１５へ出力する（Ｓ１５）。つまり、関連ＡＰ抽出部１４は、抽出された当該ＡＰの関連ＡＰの情報を関連情報格納部１５へ出力する。そして、関連情報格納部１５は、出力された当該ＡＰの関連ＡＰの情報に基づき、関連ＡＰ情報を作成し、記憶部１１に格納する。
【００４２】
なお、ＡＰが他のＡＰへデータ送信を行う際、当該データの送信元ＡＰ情報に自身のＡＰの情報（例えば、プロセス名）を追加して送信するようにし、関連ＡＰ抽出部１４は、ＡＰで送受信されるデータに付与された一連の送信元ＡＰ情報を、関連ＡＰとして抽出するようにしてもよい。
【００４３】
［プログラム］
また、上記の実施形態で述べた情報作成装置１０の機能を実現するプログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を情報作成装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等がその範疇に含まれる。また、情報作成装置１０を、クラウドサーバに実装してもよい。
【００４４】
図７を用いて、上記のプログラム（情報作成プログラム）を実行するコンピュータの一例を説明する。図７に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００４５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００４６】
ここで、図７に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００４７】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００４８】
なお、上記の情報作成プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮやＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００４９】
１０  情報作成装置
１１  制御部
１２  記憶部
１３  関連ファイル抽出部
１４  関連ＡＰ抽出部
１５  関連情報格納部
１６  関連情報修正部
【図１】
2020087215.tif 000003
【図２】
2020087215.tif 000004
【図３】
2020087215.tif 000005
【図４】
2020087215.tif 000006
【図５】
2020087215.tif 000007
【図６】
2020087215.tif 000008
【図７】
2020087215.tif 000009