JP7003574B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP7003574B2
JP7003574B2 JP2017209335A JP2017209335A JP7003574B2 JP 7003574 B2 JP7003574 B2 JP 7003574B2 JP 2017209335 A JP2017209335 A JP 2017209335A JP 2017209335 A JP2017209335 A JP 2017209335A JP 7003574 B2 JP7003574 B2 JP 7003574B2
Authority
JP
Japan
Prior art keywords
software
information
programs
acquired
information processing
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
Application number
JP2017209335A
Other languages
English (en)
Other versions
JP2019082816A (ja
Inventor
祐輔 次田
博靖 ▲蔭▼山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017209335A priority Critical patent/JP7003574B2/ja
Priority to US16/168,876 priority patent/US10678539B2/en
Publication of JP2019082816A publication Critical patent/JP2019082816A/ja
Application granted granted Critical
Publication of JP7003574B2 publication Critical patent/JP7003574B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。
サーバにインストールされているソフトウェアの情報は、いわゆる管理プログラム(管理ツールとも称する)によって収集することができる。管理プログラムには、例えばOS(Operating System)用の管理プログラム、ソフトウェアベンダが提供する管理プログラム(UpdateAdvisorなど)、ユーザが導入した管理プログラム(ソフトウェア管理製品)
がある。管理プログラムごとに情報の収集対象となるソフトウェアが異なる場合がある。このため、サーバにインストールされている各ソフトウェアの情報を収集するために、複数の管理プログラムから情報を収集する場合が想定される。そこで、複数の管理プログラムから収集された情報を一元的に管理する技術が提案されている(特許文献1~3を参照)。
特開2014-56340号公報 特開2016-45627号公報 特開2010-224773号公報
上記の技術において、同じソフトウェアの情報が複数の管理プログラムによって収集される場合もある。しかし、同じソフトウェアの情報でも、管理プログラムによってソフトウェア名やバージョンなどが異なる形式で収集される場合がある。このため、各管理プログラムが収集した情報が同じソフトウェアの情報であるとみなされず、複数の管理プログラムから収集された情報を一元的に管理できない可能性がある。
本件開示の技術は、上記の事情に鑑み、装置にインストールされているソフトウェアの情報を複数のプログラムによって収集する場合に、ソフトウェアごとに情報を収集するプログラムを決定する情報処理装置を提供することを目的とする。
本件開示の情報処理装置は、1つの側面では、装置にインストールされている複数のソフトウェアのモジュールの格納先および複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、収集された情報を取得する取得部と、取得された情報それぞれが示すソフトウェアのモジュールの格納先に基づいて、取得された情報が示す複数のソフトウェアを一意に識別する識別部と、複数のプログラムそれぞれと属性値との組合せについて、取得された情報における複数のソフトウェアの出現頻度を算出する算出部と、算出された出現頻度に基づいて、一意に識別されたソフトウェアそれぞれとソフトウェアの情報の取得元となる複数のプログラムのいずれかのプログラムとの対応関係を決定する決定部とを有する。
本件開示の技術によれば、装置にインストールされているソフトウェアの情報を複数のプログラムによって収集する場合に、ソフトウェアごとに情報を収集するプログラムを決定する情報処理装置を提供することができる。
図1は、一実施形態における情報処理装置の構成の一例を示す図である。 図2は、一実施形態における情報処理装置が実行する処理の一例を示すフローチャートである。 図3は、一実施形態において情報処理装置が図2に示す処理に続いて実行する処理の一例を示すフローチャートである。 図4は、一実施形態において管理プログラムによって収集される情報を格納するテーブルの一例を示す図である。 図5は、一実施形態においてソフトウェアのモジュール情報が格納されるテーブルの一例を示す図である。 図6は、一実施形態における管理プログラムとある属性値との組合せにおけるソフトウェアの出現頻度の算出結果の一例を示す図である。 図7は、一実施形態における管理プログラムと別の属性値との組合せにおけるソフトウェアの出現頻度の算出結果の一例を示す図である。 図8は、一実施形態における管理プログラムとさらに別の属性値との組合せにおけるソフトウェアの出現頻度の算出結果の一例を示す図である。 図9は、一実施形態において情報処理装置が実行するサブルーチンの処理の一例を示す図である。 図10は、一実施形態において算出されるソフトウェアの出現数の割合の一例を示す図である。 図11は、一実施形態におけるソフトウェアの情報を示すテーブルの一例を示す図である。 図12は、一実施形態におけるサーバにインストール済みのソフトウェアの情報を示すテーブルの一例を示す図である。
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
一実施形態における情報処理装置10について説明する。情報処理装置10は、Central Processing Unit(CPU)101、Random Access Memory(RAM)102、Hard Disk Drive(HDD)103、Graphics Processing Unit(GPU)104、入力インタフェース105、通信インタフェース106を有する。また、GPU104、入力インタフェース105、通信インタフェース106は、モニタ20、入力装置30、ネットワーク15にそれぞれ接続されている。CPU101、RAM102、HDD103、GPU104、入力インタフェース105、通信インタフェース106は、バス107を介して互いに接続されている。
情報処理装置10は、ネットワーク15を介してサーバ40、50に接続されている。本実施形態では、サーバ40では、サーバ40にインストールされているソフトウェアの情報を収集する1以上の管理プログラムが実行される。管理プログラムによって収集された情報は、以下に説明する処理によって情報処理装置10に送信される。なお、サーバ50でも同様に管理プログラムが実行され、サーバ50にインストールされているソフトウェアの情報が収集される。なお、情報処理装置10に接続されるサーバはサーバ40、50に限られない。また、情報処理装置10は、Configuration Management Database(C
MDB)を使用して、サーバ40、50を含む情報処理システム内のコンポーネントに関する情報を統合的に管理する。例えば、CMDBはHDD103に記憶されている。本実施形態では、情報処理装置10はCMDBを使用してサーバ40、50にインストールされているソフトウェアを把握する。
本実施形態において、CPU101は、HDD103に記憶されている下記の管理プログラムを含む各種プログラムをRAM102に展開して実行することで、以下に説明する種々の処理を実行する。図2、3に、本実施形態における情報処理装置10においてCPU101の制御により実行される処理のフローチャートの一例を示す。CPU101は、情報処理装置10の電源が投入されると、図2に示すフローチャートの処理を開始する。
OP101において、CPU101は、取得部として機能し、サーバ40、50から管理プログラムが収集したソフトウェアの情報を取得する。CPU101は、OP101によって、装置にインストールされている複数のソフトウェアのモジュールの格納先および複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、収集された情報を取得する。CPU101は、サーバ40、50から管理プログラムが収集したソフトウェアの情報を取得すると、処理をOP102に進める。本実施形態では、CPU101は、OP101において取得したソフトウェアの情報ごとにOP102~OP113の処理を繰り返し実行する。
OP102において、CPU101は、取得したソフトウェアの情報について、当該情報を収集した管理プログラムとソフトウェアとの組み合わせと同じ組み合わせを示す情報が既に取得済みであるか否かを判定する。具体的には、CPU101は、OP101において取得した情報を格納するテーブルを参照し、取得した情報とテーブルに格納された情報との間で、管理プログラムとソフトウェア名とバージョンの組み合わせが同じか否かを判定する。
取得した情報とテーブルに格納された情報との間で管理プログラムとソフトウェアとの組み合わせが同じである情報が重複してテーブルに格納されると、以下に説明する各ソフトウェアの出現頻度の算出の際に、出現頻度が正しく算出されない可能性がある。そこで、OP102の処理によって、ソフトウェアの出現頻度の算出の対象となる情報が重複してテーブルに格納されることを回避できる。
管理プログラムとソフトウェアとの組み合わせと同じ組み合わせを示す情報が既に取得済みである場合は(OP102:YES)、CPU101は、処理をOP112に進める。一方、管理プログラムとソフトウェアとの組み合わせと同じ組み合わせを示す情報が取得済みでない場合は(OP102:NO)、CPU101は、処理をOP103に進める。
図4に、本実施形態において、OP101において取得されたソフトウェアの情報が格納されるテーブルの一例を示す。なお、当該テーブルは、HDD103以外の記憶部に記憶されてもよい。管理プログラムが収集する情報には、各ソフトウェアのソフトウェア名、バージョン、ソフトウェアのモジュールのインストール先、ファイルパス、ソフトウェアのベンダー、ソフトウェアのライセンス、ソフトウェアが実行されるOSが含まれる。なお、管理プログラムが収集する情報に含まれる各ソフトウェアのソフトウェア名、バージョン、ソフトウェアのモジュールのインストール先、ファイルパス、ソフトウェアのベンダー、ソフトウェアのライセンス、ソフトウェアが実行されるOSが、ソフトウェアの属性項目の属性値の一例である。また、図4に示すテーブルには、以下に説明する処理によって決定される各ソフトウェアを一意に識別する識別子であるソフトウェアIDも格納される。
OP103において、CPU101は、ソフトウェアの情報からモジュールのインストール先またはファイルパスの情報を取得する。図4に示すソフトウェアの情報の場合、CPU101は、テーブルの「インストール先」欄または「ファイルパス」欄の情報を取得
する。次いで、CPU101は処理をOP104に進める。
OP104において、CPU101は、ソフトウェアの情報を取得した管理プログラムを実行するサーバ(サーバ40またはサーバ50)から、OP103で取得したインストール先またはファイルパスが示す場所にあるモジュールの情報を取得する。具体的な例として、CPU101は、インストール先またはファイルパスが示す場所にあるモジュールのファイル名およびハッシュ値を取得する。なお、モジュールが複数存在する場合は、CPU101は、各モジュールのファイル名およびハッシュ値(以下「モジュール情報」と称する場合がある)を取得する。次いで、CPU101は、処理をOP105に進める。
OP105において、CPU101は、OP104において取得したモジュール情報に基づいて、同じモジュール情報を有するソフトウェアの情報が取得済みであるか否かを判定する。図5に、情報処理装置10においてソフトウェアのモジュール情報が格納されるテーブルの一例を示す。図5に示すテーブルには、以下の処理によって生成されるソフトウェアIDとソフトウェアを構成する各モジュールのファイル名およびハッシュ値の組み合わせとが対応付けられて格納される。ソフトウェアは複数のモジュールを有する場合がある。このため、1つのソフトウェアIDに対してファイル名およびハッシュ値の組み合わせが複数組対応付けられている場合もある。
OP105では、CPU101は、識別部として機能し、図5に示すテーブルに格納されているソフトウェアIDごとに、OP104において取得したモジュールのファイル名およびハッシュ値の組み合わせが、ファイル名およびハッシュ値の組み合わせと一致するか否かを判定する。CPU101は、OP105によって、取得された情報それぞれが示すソフトウェアのモジュールの格納先に基づいて、取得された情報が示す複数のソフトウェアを一意に識別する。
なお、OP104においてモジュールのファイル名およびハッシュ値の組み合わせが複数組取得された場合は、CPU101は、すべての組み合わせがソフトウェアIDに対応付けられている組み合わせと一致するか否かを判定する。これによって、OP104において取得したファイル名およびハッシュ値の組み合わせが、ソフトウェアIDに対応付けられているファイル名およびハッシュ値のすべての組み合わせに一致する場合に、同じソフトウェアであると判定される。
図5に示すテーブル内に、取得したモジュールのモジュール情報が一致するソフトウェアが存在する場合は(OP105:YES)、CPU101は、処理をOP108に進める。一方、取得したモジュールのモジュール情報が一致するソフトウェアが存在しない場合は(OP105:NO)、CPU101は、処理をOP106に進める。
OP106において、CPU101は、図5に示すテーブルに格納されているソフトウェアIDと重複しない新規のソフトウェアIDを生成する。次いで、CPU101は、処理をOP107に進める。OP107において、CPU101は、OP106において生成されたソフトウェアIDとOP104において取得したモジュールのファイル名およびハッシュ値の組み合わせとを対応付けて、図5に示すテーブルに追加する。次いで、CPU101は、処理をOP108に進める。
OP108において、CPU101は、現在OP102~OP113の処理の対象となっているソフトウェアの情報とソフトウェアIDとを対応付けて図4に示すテーブルの各欄に格納する。なお、OP105において一致するソフトウェアが存在すると判定された場合は、当該一致するソフトウェアのソフトウェアIDが採用される。また、OP105において一致するソフトウェアが存在しないと判定された場合は、OP106において生
成されたソフトウェアIDが採用される。次いで、CPU101は、処理をOP109に進める。
本実施形態では、図4に示すテーブルの各欄が、管理プログラムによって収集されたソフトウェアの情報の各属性項目に対応するものとする。そこで、OP109において、CPU101は、図4に示すテーブルの各欄に対応する属性項目のいずれかの属性項目について、各管理プログラムによって取得されたソフトウェアの情報における各ソフトウェアの出現頻度を管理プログラムごとに算出する。
図6~8に、本実施形態において、CPU101による属性項目ごとのソフトウェアの出現頻度の算出結果の一例を示す。CPU101は、OP109において算出したソフトウェアの出現頻度の結果をHDD103に格納する。図6は、属性項目が「ベンダー」である場合の、管理プログラムと属性値との組み合わせにおけるソフトウェアの出現頻度の算出結果の一例を示す。ここで、出現頻度は、例えば管理プログラムごとに算出される。
図6に示す例の場合、CPU101は、図4に示すテーブルにおいて、「管理プログラム」欄と「ベンダー」欄とに格納されている情報を元に、管理プログラムとベンダーとの各組合せについてソフトウェアの出現数を算出する。例えば、CPU101は、図4に示すテーブルを参照し、管理プログラム「Program A」と属性項目ベンダーの属性値「Vendor A」の組合せを有するソフトウェアの出現数を算出する。図4に示す例の場合、テーブ
ルの各行が1つのソフトウェアに対応している。したがって、CPU101は、管理プログラム「Program A」とベンダー「Vendor A」の組合せを有する行の数をソフトウェアの
出現数とみなしてソフトウェアの出現数を算出する。
図6に示す例では、管理プログラム「Program A」と属性項目ベンダーの属性値「Vendor A」の組合せについてソフトウェアの出現数「ソフトウェア数」は「39」である。す
なわち、図4に示すテーブルにおいて管理プログラム「Program A」とベンダー「Vendor A」の組合せを有する行が39行存在することを意味する。このようにCPU101は、
管理プログラムによって収集された情報を元に、管理プログラムと属性値の組合せを含むソフトウェアの出現数を算出する。なお、図6に示す例では、管理プログラムは「Program A」と「Program B」、ベンダーの属性値は「Vendor A」、「Vendor B」、「Vendor C」を示すが、管理プログラムおよびベンダーの種類はこれに限られない。
また、図7には、管理プログラムと属性項目「ライセンス」の属性値との組合せについて算出されるソフトウェアの出現数の一例を示す。図6の場合と同様、図7の例では、CPU101は、図4に示すテーブルを参照し、管理プログラムと属性項目「ライセンス」の属性値との各組合せについてのソフトウェアの出現数を算出する。さらに、図8には、管理プログラムと属性項目「OS種別」の属性値との組合せについて算出されるソフトウェアの出現数の一例を示す。図6、7の場合と同様、図8の例では、CPU101は、図4に示すテーブルを参照し、管理プログラムと属性項目「OS種別」の属性値との各組合せについてのソフトウェアの出現数を算出する。CPU101が、管理プログラムと各属性値の組合せにおけるソフトウェアの出現数の算出を完了すると、処理をOP110に進める。
OP110において、CPU101は、算出部として機能し、OP109において算出したソフトウェアの出現数に基づいて、管理プログラムごとのソフトウェアの出現数の割合を属性項目ごとの属性値別に算出する。なお、管理プログラムごとのソフトウェアの出現数の割合がソフトウェアの出現頻度の一例である。CPU101は、OP110によって、複数のプログラムそれぞれと属性値との組合せについて、取得された情報における複数のソフトウェアの出現頻度を算出する。
また、CPU101は、算出した割合を図6~8に示すテーブルの「割合」欄に格納する。例えば、図6に示す例の場合、「管理プログラム」欄が「Program A」であるソフト
ウェアの出現数を母集団として、各出現数の全体に占める割合が算出される。したがって、管理プログラムProgram Aと属性項目ベンダーの属性値であるVendor A、B、Cとの各組
合せについてOP110でCPU101により算出される割合は、図6の「割合」欄に示すようにそれぞれ「39/41」、「1/41」、「1/41」となる。図6に示す例の場合は、CP
U101は、管理プログラムProgram Bと属性項目ベンダーの属性値であるVendor A、B、Cとの各組合せについても同様に割合を算出する(それぞれ「5/17」、「6/17」、「6/17
」)。さらに、CPU101は、図7、8に示すように、他の属性値についても上記の割合を算出する。CPU101は、各管理プログラムと属性項目ごとの各属性値との組合せに対するソフトウェアの出現数の割合を算出すると、処理をOP111に進める。
OP111において、CPU101は、決定部として機能し、OP110において算出した割合に基づいて、ソフトウェアごとにいずれの管理プログラムによって収集された情報を採用するかを示す管理プログラムとソフトウェアとの対応関係を決定する。図9に、OP111においてCPU101が実行するサブルーチンの処理の一例を示す。
OP1111において、CPU101は、OP110で算出した割合をすべての属性項目の属性値にわたってマージする。次いで、CPU101は、処理をOP1112に進める。OP1112において、CPU101は、OP1111でマージした管理プログラムと属性値とソフトウェアの出現数と割合との各組合せを、割合でソートする。具体的には、CPU101は、属性項目の違いによらないで、属性値全体にわたって当該組合せについてのソフトウェアの出現数の割合を降順に並べる。図10に、図6~8に示す結果の例に対して、CPU101がOP1111においてソフトウェアの出現数の各割合を降順に並べた結果の一例を示す。次いで、CPU101は、処理をOP1113に進める。
OP1113において、CPU101は、属性項目の違いによらないで、算出された出現頻度に基づいて、一意に識別されたソフトウェアそれぞれとソフトウェアの情報の取得元となる複数のプログラムのいずれかのプログラムとの対応関係を決定する。
具体的には、CPU101は、出現数の割合の高い順に管理プログラムと属性値との組合せ1つずつ特定する。さらに、CPU101は、図4に示す管理プログラムの収集したソフトウェアの情報の中で、特定した組合せを有するソフトウェアの情報を特定する。そして、CPU101は、特定したソフトウェアの情報に基づいて、管理プログラムとソフトウェアとの対応関係を決定する。
図10に示す例の場合、OP110において算出された割合のうち最も高い割合は、管理プログラムProgram Aと属性項目ベンダーの属性値Vendor Aとの組合せに対して算出さ
れた割合「39/41」である。そこで、CPU101は、図4に示すテーブルにおいて、管
理プログラムProgram Aと属性項目ベンダーの属性値Vendor Aとの組合せを含むソフトウ
ェアの情報(図中「ソフトウェア名」欄が「Software A」であり、かつ「バージョン」欄が「V1.0」である行の情報)を特定する。そして、CPU101は、特定したソフトウェアの情報に基づいて、管理プログラムとソフトウェアの対応関係(管理プログラムProgram AとバージョンV1.0のソフトウェアSoftware A)を決定する。
さらに、CPU101は、図10に示す結果において、上記の割合「39/41」の次に高
い割合「3/5」である組合せ(管理プログラムProgram Aと属性項目OS種別の属性値OS Cとの組合せ)を特定する。次いで、CPU101は、図4に示すテーブルにおいて、管理プログラムProgram Aと属性項目OS種別の属性値OS Cとの組合せを含むソフトウェアの
情報(図中「ソフトウェア名」欄が「Software D」であり、かつ「バージョン」欄が「V3.0」である行の情報)を特定する。そして、CPU101は、特定したソフトウェアの情報に基づいて、管理プログラムとソフトウェアの対応関係(管理プログラムProgram Aと
バージョンV3.0のソフトウェアSoftware D)を決定する。
上記の通り、CPU101は、図10に示す結果を参照して、算出された割合の高い順に上記の処理を繰り返して管理プログラムとソフトウェアの対応関係を決定する。なお、CPU101は、ソフトウェアに対して既に管理プログラムとの対応関係が決定されている場合は、同じソフトウェアと別の管理プログラムの対応関係が新たに決定されても、新たに決定された対応関係を採用せずに処理を続行する。このように、管理プログラムとソフトウェアの対応関係が決定されることで、CPU101は、対応関係を用いてソフトウェアごとにいずれの管理プログラムが収集した情報をより正確な情報として採用するかを決定することができる。
また、OP1113において、CPU101は、対応関係を決定したソフトウェアの情報、すなわちソフトウェア名、バージョン、ソフトウェアIDを含む情報をHDD103に記憶されているテーブルに格納する。図11に、HDD103に格納されるソフトウェアの情報を示すテーブルの一例を示す。当該テーブルによって、いずれの管理プログラムによって情報を収集するかが決定されたソフトウェアがわかる。CPU101は、算出された各割合に基づいてソフトウェアと管理プログラムの対応関係を決定し、対応関係を決定したソフトウェアの情報を上記のテーブルに格納すると、処理をOP112に進める。
OP112において、CPU101は、上記の処理によって管理プログラムとの対応関係が決定されたソフトウェアがいずれのサーバにインストールされているかを示す情報がCMDBに登録済みであるか否かを判定する。当該ソフトウェアの情報がCMDBに登録済みである場合は(OP112:Yes)、CPU101は、OP101において取得した情報のうちOP102~OP113の処理を実行していない情報に対して処理を実行する。一方、当該ソフトウェアの情報がCMDBに登録済みでない場合は(OP112:Yes)、CPU101は、処理をOP113に進める。
OP113において、CPU101は、OP101において取得したソフトウェアの情報を用いて、OP112でCMDBに登録済みでないと判定されたソフトウェアがいずれのサーバにインストールされているかを示す情報をCMDBに登録する。図12にCMDBに登録されるサーバとインストール済みのソフトウェアとの関係を示すテーブルの一例を示す。本実施形態では、情報処理装置10は、当該テーブルによって、各サーバにインストールされているソフトウェアを把握することができる。さらに、情報処理装置は、各ソフトウェアの情報をいずれの管理プログラムから取得すべきかについても把握することができる。これにより、情報処理装置10は、複数の管理プログラムから同じソフトウェアの情報を取得した場合であっても、より正確な情報を特定することができる。
以上のように、本実施形態によれば、各管理プログラムが収集した情報におけるソフトウェアの出現頻度が属性値ごとに算出される。これにより、ソフトウェアごとにどの管理プログラムが収集した情報がより正確な情報であるかを決定できる。そして、複数の管理プログラムが同じソフトウェアの情報を取得する場合に、いずれの管理プログラムが収集した情報が当該ソフトウェアの情報をより正確に示すかを決定できる。したがって、情報処理装置10は、各サーバにインストールされている各ソフトウェアのより正確な情報を重複することなく特定することができる。
以上が本実施形態に関する説明であるが、上記の情報処理装置10などの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範
囲内において種々の変更が可能である。例えば、上記の実施形態において、サーバ40、50は物理サーバでも仮想サーバでもよい。また、上記の説明では、CPU101は、OP1111において、OP110で算出した割合をすべての属性項目の属性値にわたってマージする。ただし、CPU101は、このようにOP110で算出した割合をマージせず、各属性項目の属性値ごとに算出された割合を横並びにして比較することで、割合の高いものを特定してもよい。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記データ送受信装置の設定を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータは、例えば、情報処理装置、サーバなどである。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
装置にインストールされている複数のソフトウェアのモジュールの格納先および前記複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、前記収集された情報を取得する取得部と、
前記取得された情報それぞれが示すソフトウェアのモジュールの格納先に基づいて、前記取得された情報が示す前記複数のソフトウェアを一意に識別する識別部と、
前記複数のプログラムそれぞれと前記属性値との組合せについて、前記取得された情報における前記複数のソフトウェアの出現頻度を算出する算出部と、
前記算出された出現頻度に基づいて、前記一意に識別されたソフトウェアそれぞれと前記ソフトウェアの情報の取得元となる前記複数のプログラムのいずれかのプログラムとの対応関係を決定する決定部と
を有することを特徴とする情報処理装置。
(付記2)
前記決定部は、前記属性項目の違いによらないで、前記算出された出現頻度が高い順に前記プログラムと前記属性値との組合せを特定し、前記取得された情報のうち前記特定された組合せを有する情報に含まれる前記ソフトウェアと前記特定された組合せに含まれる前記プログラムとの関係を前記対応関係として決定する、ことを特徴とする付記1に記載の情報処理装置。
(付記3)
前記算出部は、前記複数のプログラムごとに前記出現頻度を算出する、ことを特徴とする付記1または2に記載の情報処理装置。
(付記4)
情報処理装置の取得部によって、装置にインストールされている複数のソフトウェアのモジュールの格納先および前記複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、前記収集された情報を取得し、
前記情報処理装置の識別部によって、前記取得された情報それぞれが示すソフトウェア
のモジュールの格納先に基づいて、前記取得された情報が示す前記複数のソフトウェアを一意に識別し、
前記情報処理装置の算出部によって、前記複数のプログラムそれぞれと前記属性値との組合せについて、前記取得された情報における前記複数のソフトウェアの出現頻度を算出し、
前記情報処理装置の決定部によって、前記算出された出現頻度に基づいて、前記一意に識別されたソフトウェアそれぞれと前記ソフトウェアの情報の取得元となる前記複数のプログラムのいずれかのプログラムとの対応関係を決定する
ことを特徴とする情報処理方法。
(付記5)
前記情報処理装置の決定部は、前記属性項目の違いによらないで、前記算出された出現頻度が高い順に前記プログラムと前記属性値との組合せを特定し、前記取得された情報のうち前記特定された組合せを有する情報に含まれる前記ソフトウェアと前記特定された組合せに含まれる前記プログラムとの関係を前記対応関係として決定する、ことを特徴とする付記3に記載の情報処理方法。
(付記6)
前記情報処理装置の算出部は、前記複数のプログラムごとに前記出現頻度を算出する、ことを特徴とする付記4または5に記載の情報処理方法。
(付記7)
コンピュータに、
装置にインストールされている複数のソフトウェアのモジュールの格納先および前記複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、前記収集された情報を取得する処理と、
前記取得された情報それぞれが示すソフトウェアのモジュールの格納先に基づいて、前記取得された情報が示す前記複数のソフトウェアを一意に識別する処理と、
前記複数のプログラムそれぞれと前記属性値との組合せについて、前記取得された情報における前記複数のソフトウェアの出現頻度を算出する処理と、
前記算出された出現頻度に基づいて、前記一意に識別されたソフトウェアそれぞれと前記ソフトウェアの情報の取得元となる前記複数のプログラムのいずれかのプログラムとの対応関係を決定する処理と
を実行させるためのプログラム。
(付記8)
前記コンピュータにさらに、前記属性項目の違いによらないで、前記算出された出現頻度が高い順に前記プログラムと前記属性値との組合せを特定し、前記取得された情報のうち前記特定された組合せを有する情報に含まれる前記ソフトウェアと前記特定された組合せに含まれる前記プログラムとの関係を前記対応関係として決定する処理を実行させるための付記5に記載のプログラム。
(付記9)
前記コンピュータに、前記出現頻度を算出する処理において、前記複数のプログラムごとに前記出現頻度を算出させる、ことを特徴とする付記7または8に記載のプログラム。
10 情報処理装置
15 ネットワーク
101 CPU
102 RAM
103 HDD
40、50 サーバ

Claims (5)

  1. 装置にインストールされている複数のソフトウェアのモジュールの格納先および前記複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、前記収集された情報を取得する取得部と、
    前記取得された情報それぞれが示すソフトウェアのモジュールのハッシュ値及び前記モジュールの格納先を含む情報に基づいて、前記取得された情報が示す前記複数のソフトウェアを一意に識別する識別部と、
    前記複数のプログラムそれぞれと前記属性値との組合せについて、前記取得された情報における前記複数のソフトウェアの出現頻度を算出する算出部と、
    前記算出された出現頻度に基づいて、前記一意に識別されたソフトウェアそれぞれと前記ソフトウェアの情報の取得元となる前記複数のプログラムのいずれかのプログラムとの対応関係を決定する決定部と
    を有することを特徴とする情報処理装置。
  2. 前記決定部は、前記属性項目の違いによらないで、前記算出された出現頻度が高い順に前記プログラムと前記属性値との組合せを特定し、前記取得された情報のうち前記特定された組合せを有する情報に含まれる前記ソフトウェアと前記特定された組合せに含まれる前記プログラムとの関係を前記対応関係として決定する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記算出部は、前記複数のプログラムごとに前記出現頻度を算出する、ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 情報処理装置の取得部によって、装置にインストールされている複数のソフトウェアのモジュールの格納先および前記複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、前記収集された情報を取得し、
    前記情報処理装置の識別部によって、前記取得された情報それぞれが示すソフトウェアのモジュールのハッシュ値及び前記モジュールの格納先を含む情報に基づいて、前記取得された情報が示す前記複数のソフトウェアを一意に識別し、
    前記情報処理装置の算出部によって、前記複数のプログラムそれぞれと前記属性値との
    組合せについて、前記取得された情報における前記複数のソフトウェアの出現頻度を算出し、
    前記情報処理装置の決定部によって、前記算出された出現頻度に基づいて、前記一意に識別されたソフトウェアそれぞれと前記ソフトウェアの情報の取得元となる前記複数のプログラムのいずれかのプログラムとの対応関係を決定する
    ことを特徴とする情報処理方法。
  5. コンピュータに、
    装置にインストールされている複数のソフトウェアのモジュールの格納先および前記複数のソフトウェアの属性項目に対する属性値を含む情報を収集する複数のプログラムそれぞれから、前記収集された情報を取得する処理と、
    前記取得された情報それぞれが示すソフトウェアのモジュールのハッシュ値及び前記モジュールの格納先を含む情報に基づいて、前記取得された情報が示す前記複数のソフトウェアを一意に識別する処理と、
    前記複数のプログラムそれぞれと前記属性値との組合せについて、前記取得された情報における前記複数のソフトウェアの出現頻度を算出する処理と、
    前記算出された出現頻度に基づいて、前記一意に識別されたソフトウェアそれぞれと前記ソフトウェアの情報の取得元となる前記複数のプログラムのいずれかのプログラムとの対応関係を決定する処理と
    を実行させるためのプログラム。
JP2017209335A 2017-10-30 2017-10-30 情報処理装置、情報処理方法およびプログラム Active JP7003574B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017209335A JP7003574B2 (ja) 2017-10-30 2017-10-30 情報処理装置、情報処理方法およびプログラム
US16/168,876 US10678539B2 (en) 2017-10-30 2018-10-24 Information processing device, information processing method for determining program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017209335A JP7003574B2 (ja) 2017-10-30 2017-10-30 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2019082816A JP2019082816A (ja) 2019-05-30
JP7003574B2 true JP7003574B2 (ja) 2022-01-20

Family

ID=66243844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017209335A Active JP7003574B2 (ja) 2017-10-30 2017-10-30 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US10678539B2 (ja)
JP (1) JP7003574B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11438232B2 (en) * 2020-07-21 2022-09-06 Servicenow, Inc. Configuration item determination based on information technology discovery data items from multiple sources
JP2022174424A (ja) 2021-05-11 2022-11-24 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044996A1 (en) 2002-08-29 2004-03-04 Dario Atallah System and method for verifying installed software
JP2008027072A (ja) 2006-07-19 2008-02-07 Fujitsu Ltd データベース分析プログラム、データベース分析装置、データベース分析方法
US20080228751A1 (en) 2007-03-16 2008-09-18 Expanse Networks, Inc. Attribute Combination Discovery
JP2010224773A (ja) 2009-03-23 2010-10-07 Nec Corp 資産管理装置、クライアント端末、資産管理システム、資産管理方法、及び資産管理プログラム
JP2014056340A (ja) 2012-09-11 2014-03-27 Hitachi Systems Ltd インベントリ管理システム
JP2017111555A (ja) 2015-12-15 2017-06-22 富士通株式会社 配布履歴管理プログラム、配布履歴管理装置および配布履歴管理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045627A (ja) 2014-08-21 2016-04-04 株式会社日立システムズ 情報処理装置、誤登録検出方法、およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044996A1 (en) 2002-08-29 2004-03-04 Dario Atallah System and method for verifying installed software
JP2008027072A (ja) 2006-07-19 2008-02-07 Fujitsu Ltd データベース分析プログラム、データベース分析装置、データベース分析方法
US20080228751A1 (en) 2007-03-16 2008-09-18 Expanse Networks, Inc. Attribute Combination Discovery
JP2010224773A (ja) 2009-03-23 2010-10-07 Nec Corp 資産管理装置、クライアント端末、資産管理システム、資産管理方法、及び資産管理プログラム
JP2014056340A (ja) 2012-09-11 2014-03-27 Hitachi Systems Ltd インベントリ管理システム
JP2017111555A (ja) 2015-12-15 2017-06-22 富士通株式会社 配布履歴管理プログラム、配布履歴管理装置および配布履歴管理方法

Also Published As

Publication number Publication date
US20190129713A1 (en) 2019-05-02
JP2019082816A (ja) 2019-05-30
US10678539B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
US8881131B2 (en) Method and apparatus for populating a software catalogue with software knowledge gathering
JP5203733B2 (ja) コーディネータサーバ、データ割当方法及びプログラム
JP6665784B2 (ja) ログ分析システム、ログ分析方法およびログ分析プログラム
US8626765B2 (en) Processing database operation requests
US10705819B2 (en) Updating software based on similarities between endpoints
JP5679074B2 (ja) ソフトウェアのインストール順序を決定する方法、プログラム、及び装置
JP5648902B2 (ja) 仮想サーバのスナップショットを管理する方法、及び該方法を具現化する装置
CN103116621B (zh) 检测计算机硬件温度的方法、***及识别硬件型号的方法
KR101744892B1 (ko) 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
JP6107456B2 (ja) 構成要件作成プログラム、構成要件作成装置および構成要件作成方法
JP7003574B2 (ja) 情報処理装置、情報処理方法およびプログラム
EP3042316B1 (en) Music identification
CN106776348B (zh) 测试用例管理方法和装置
JP2017010289A (ja) 資産管理装置、資産管理システム及びプログラム
CN107818136B (zh) 用于回收垃圾对象数据的方法和装置
JP6135432B2 (ja) 顧客分析プログラム、方法及び装置
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
US7203707B2 (en) System and method for knowledge asset acquisition and management
JP5197128B2 (ja) 依存関係推定装置及び依存関係推定プログラム及び記録媒体
CN101894126B (zh) 用于在数据库中存储卷属性的方法和***
US20190238400A1 (en) Network element operational status ranking
CN116303627B (zh) 半导体测试数据的查询方法、装置、电子设备及存储介质
KR20190104671A (ko) 콘텐츠 기반 클린 클라우드 시스템 및 그 방법
TWI828506B (zh) 安全基準評估系統及其方法
JP6065657B2 (ja) 電子データ承認方法、及び電子データ承認サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003574

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150