JP2010117957A - 構成管理サーバ、名称特定方法および名称特定プログラム - Google Patents

構成管理サーバ、名称特定方法および名称特定プログラム Download PDF

Info

Publication number
JP2010117957A
JP2010117957A JP2008291722A JP2008291722A JP2010117957A JP 2010117957 A JP2010117957 A JP 2010117957A JP 2008291722 A JP2008291722 A JP 2008291722A JP 2008291722 A JP2008291722 A JP 2008291722A JP 2010117957 A JP2010117957 A JP 2010117957A
Authority
JP
Japan
Prior art keywords
name
business server
directory
absolute path
path name
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.)
Granted
Application number
JP2008291722A
Other languages
English (en)
Other versions
JP5080428B2 (ja
Inventor
Daisuke Iizuka
大介 飯塚
Yoshimasa Masuoka
義政 増岡
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008291722A priority Critical patent/JP5080428B2/ja
Priority to US12/407,988 priority patent/US8135764B2/en
Publication of JP2010117957A publication Critical patent/JP2010117957A/ja
Priority to US13/353,447 priority patent/US20120117132A1/en
Application granted granted Critical
Publication of JP5080428B2 publication Critical patent/JP5080428B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】業務サーバ上で動作する任意のアプリケーションに対し、より正確にアプリケーションの名称を特定する。
【解決手段】業務サーバ102から取得したプロセス情報から、業務サーバ102上で動作するプロセスについて、対応する実行ファイルの絶対パス名とコマンドラインを求める。そして、標準プロセス判定部121がOS標準プロセスを判定し、インタプリタ判定部122がコマンドラインからインタプリタ名を判定し、共用ディレクトリ123が共用ディレクトリの直下にある実行ファイル名を判定し、サブディレクトリ判定部124が実行ファイルの絶対パス名から実行ファイルディレクトリの親子関係を判定することで、アプリケーション名特定部125により、アプリケーションの名称を正しく特定する。
【選択図】図11

Description

本発明は、主に、ネットワークを利用した複数の計算機を含む情報処理システムにおいて実行される業務システムの管理方法として、前記業務システムを構成するアプリケーションの名称を特定する技術に関する。
ネットワークに接続された業務サーバ群と業務クライアント群があり、業務サーバ上でアプリケーションを動作させて業務クライアントにサービスを提供する計算機システムがある。この計算機システムにおいて、どのような名称のアプリケーションがどの業務サーバ上で動作しているのか、という情報を知ることは、業務システムを安定運用する上で重要である。
このようなアプリケーション名を知る方法の一つとして、アプリケーション名とTCP(Transmission Control Protocol)・UDP(User Datagram Protocol)の待受ポートの関連を情報として持っておいたり、アプリケーション固有の管理プロトコルで通信したりすることで、業務サーバ上で動作するアプリケーションの名称を特定する方法が考えられている(非特許文献1)。
また、業務サーバ上にインストールされた実行ファイルのディレクトリ名そのものを、インストールされているアプリケーションの名称として求める方法が考えられている(非特許文献2)。
「IBM Tivoli Application Dependency Discovery Manager」、[online]、2008年10月、http://www-01.ibm.com/software/tivoli/products/taddm/ InstList 2002年、http://www.forest.impress.co.jp/lib/sys/instmng/softmng/instlist.html
前記の従来の技術は、次の点で問題がある。
アプリケーション名とTCP・UDPの待受ポートの関連を情報として持っておいたり、アプリケーション固有の管理プロトコルで通信したりする方法では、アプリケーション毎に、またアプリケーションのバージョン毎に、待ち受けポートや管理プロトコルが異なる場合があるため、新種のアプリケーションや、バージョンアップしたアプリケーションの名称が特定できない問題がある。
これを解決するには、前記したように実行ファイルのディレクトリ名を使う方法がある。実行ファイルのディレクトリ名を使えば、どんなバージョンのどんなアプリケーションであっても、アプリケーションの名称を求めることができる。だが残念ながら、実行ファイルのディレクトリ名を使う方式では、求めたアプリケーション名が正確でない場合が多々ある。例えば、実行ファイルを複数のディレクトリに分けてインストールするアプリケーションがあったときに、このアプリケーションが独立した複数のアプリケーションとして特定されてしまう。近年の商用アプリケーションは、一部がJava(登録商標)で、残りが通常の実行ファイルとして実装されている場合が多く、この場合Javaの処理系を格納するディレクトリと、通常の実行ファイルを格納するディレクトリが異なるため、前記した問題が起きる。
また、/usr/bin/、/usr/local/bin/等のディレクトリ(共用ディレクトリ)には、複数のアプリケーションの実行ファイルが置かれる(格納される)。これらディレクトリに置かれた実行ファイルから成るプロセスは、本来は別々のアプリケーションであるにも関わらず全て同じアプリケーション名として特定され、しかもその名称がアプリケーション名と全く違う名前となってしまう。
そこで本発明の目的は、業務サーバ上で動作する任意のアプリケーションに対し、より正確にアプリケーションの名称を特定することである。
本発明の代表的な一例を示せば以下の通りである。
最初に、業務サーバ上で動作するプロセスについて、対応する実行ファイルの絶対パス名とコマンドラインを求める。求めたプロセスが、OS(Operating System)インストール直後に動作しているものであったり、アプリケーション名を求める必要の無いものであったりするときは、当該プロセスについてアプリケーション名を求めない。
次に、プロセスの実行ファイルが、perl、python、sh等のスクリプト処理系となるときは、当該プロセスのコマンドラインに渡されたスクリプトのディレクトリ名ないしファイルから、アプリケーション名を求める。
続いて、実行ファイルが、/usr/bin/、/usr/local/bin/等の共用ディレクトリ直下にあるときは、実行ファイルのファイル名からアプリケーション名を求める。なお、実行ファイルが共用ディレクトリの直下ではなく、その下位にある場合であっても、アプリケーション名を求めても良い。
上記に合致しないときは、実行ファイルの絶対パス名からディレクトリの絶対パス名を取り出す。その末尾が、/bin/、/tools/等、実行ファイルを直下に置く典型的なディレクトリ名であったときは、それを取り除いた上で、特定済のアプリケーション名と、それに対応するディレクトリ名とを比較する。もし、片方がもう片方のサブディレクトリとなるようであれば、それらのうち、より短いほうのディレクトリ名から、アプリケーション名を求める。
上記全てに合致しないときは、ディレクトリ名からアプリケーション名を求める。
詳細は、後記する。
本発明によれば、業務サーバ上で動作する任意のアプリケーションに対し、より正確にアプリケーションの名称を特定することができる。
<第1の実施の形態>
〔構成〕
以下、本発明の第1の実施の形態について図面を参照しながら説明する。
図1は、本発明の第1の実施の形態の情報処理システムの全体構成を表す図の一例である。情報処理システムは、構成管理サーバ101、業務サーバ102、業務クライアント103を備える。業務サーバ102は、自サーバ上でアプリケーションプログラム(以下、単に、「アプリケーション」と称する場合がある。)を動作させることで、業務クライアント103へサービスを提供する。
構成管理サーバ101と業務サーバ102は、管理用ネットワーク104に、リンク109を介して接続される。業務サーバ102と業務クライアント103は、業務用ネットワーク105に、リンク109を介して接続される。リンク109は、有線または無線の接続方式であり、サブネットワークを含んでいても良い。構成管理サーバ101、業務サーバ102、業務クライアント103は、それぞれ異なる方式で、管理用ネットワーク104ないし業務用ネットワーク105に接続されていても良い。管理用ネットワーク104および業務用ネットワーク105が同一のネットワークとなっていても良い。
業務サーバ102および業務クライアント103は、それぞれ2台を例示するが、それぞれ1台または複数台となっていても良い。また、構成管理サーバ101、業務サーバ102、業務クライアント103は、そのどれか2つ以上が、同一の筐体ないし同一の仮想マシン(VM:Virtual Machine)となっていても良い。
業務サーバ102は、業務サーバ102で保持される実行ファイルの内容を、業務サーバ102の主記憶にプログラムとして格納し、当該プログラムが業務サーバ102のプロセッサで実行されることでプロセスを生成する。業務サーバ102は、アプリケーションプログラムを実行して一つ以上のプロセスを生成することで、業務クライアント103にサービスを提供する。
業務サーバ102は、プロセス管理部106、ネットワーク管理部107およびコマンド実行部108を備える。
プロセス管理部106は、業務サーバ102上で生成したプロセスの情報を保持している。
ネットワーク管理部107は、前記プロセスが使用するTCPないしUDPの待受ポートの情報を保持している。
コマンド実行部108は、例えば、業務クライアント103といった外部のコンピュータから入力されたコマンドを実行する。
なお、プロセス管理部106、ネットワーク管理部107およびコマンド実行部108は、業務サーバ102の主記憶にプログラムを格納して、当該プログラムが業務サーバ102のプロセッサで実行されても良い。また、プロセス管理部106およびネットワーク管理部107、コマンド実行部108が集積回路化されてハードウェアによって実現されても良い。
構成管理サーバ101は、プロセス情報収集部120、標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、アプリケーション名特定部125、特殊アプリケーション名特定部126を備える。なお、標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、アプリケーション名特定部125、特殊アプリケーション名特定部126のうち、少なくとも1つ以上が存在しなくても良い。構成管理サーバ101は図2で詳しく説明する。
図2は、構成管理サーバ101の構成を表す図の一例である。構成管理サーバ101はプロセッサ200(制御部)、主記憶201(記憶部)、入力装置203、出力装置204、外部記憶装置インターフェース205、通信インターフェース206および記憶装置110(記憶部)を備え、それらが相互に通信できるよう接続されている。
主記憶201に格納された、プロセス情報収集プログラム2020、標準プロセス判定プログラム2021、インタプリタ判定プログラム2022、共用ディレクトリ判定プログラム2023、サブディレクトリ判定プログラム2024、アプリケーション名特定プログラム2025、特殊アプリケーション名特定プログラム2026等の各種プログラム202をプロセッサ200が実行することで、プロセス情報収集部120、標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、アプリケーション名特定部125および特殊アプリケーション名特定部126等の各部における処理を行う。
なお、プロセス情報収集プログラム2020、標準プロセス判定プログラム2021、インタプリタ判定プログラム2022、共用ディレクトリ判定プログラム2023、サブディレクトリ判定プログラム2024、アプリケーション名特定プログラム2025、特殊アプリケーション名特定プログラム2026等の各種プログラム202のうち、少なくとも1つ以上が存在しなくても良い。
各種プログラム202をプロセッサ200で実行する代わりに、プロセス情報収集部120、標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、アプリケーション名特定部125、特殊アプリケーション名特定部126を、各処理を行う処理部として集積回路化する等してハードウェアで実現してもよい。以下、説明を簡単にするため、主記憶201上にある各種プログラム202をプロセッサ200が実行することで実現される各処理部を、各処理の主体として説明する。
外部記憶装置インターフェース205は記憶装置110に接続される。記憶装置110は構成管理サーバ101の外部に備わっていても良く、構成管理サーバ101の内部に備わっていても良い。記憶装置110は、収集済プロセス一覧210(プロセス情報)、業務サーバ一覧220(業務サーバ情報)、OS標準プロセス一覧230(オペレーティングシステム標準プロセス情報)、インタプリタ名一覧240(インタプリタ名情報)、共用ディレクトリ絶対パス名一覧250(共用ディレクトリ絶対パス名情報)、実行ディレクトリ相対パス名一覧260(実行ディレクトリ相対パス名情報)、アプリケーション名取得方法一覧270、特定済アプリケーション名一覧280(特定済アプリケーションプログラム名情報)等を含む各種情報207を保持する。
収集済プロセス一覧210、業務サーバ一覧220、OS標準プロセス一覧230、インタプリタ名一覧240、共用ディレクトリ絶対パス名一覧250、実行ディレクトリ名相対パス一覧260、アプリケーション名取得方法一覧270、特定済アプリケーション名一覧280のうち、少なくとも1つ以上が存在しなくても良い。また、記憶装置110が保持する各種情報207のうち、1つ以上の情報が主記憶201に格納されていても良い。各種情報207については、図3から図9で詳しく説明する。
通信インターフェース206は、管理用ネットワーク104に接続されている。通信インターフェース206と外部記憶装置インターフェース205は同一のインターフェースとなっていても良い。
〔データ構造〕
図3は、収集済プロセス一覧210の構造と内容および具体例を示す図である。収集済プロセス一覧210は表形式となっており、一つ以上の行から成る。全ての行は5つの列を含んでいる。ここで5つの列とは、業務サーバ名211、プロセスID(Identification)212、実行ファイル絶対パス名213、コマンドライン214、待受ポート一覧215である。図示していないが、収集済プロセス一覧210の各行は、これ以外の列を含んでいても良い。
収集済プロセス一覧210には、情報処理システムにおいて存在する各業務サーバ102上で動作しているプロセスにつき、一行の情報が格納される。すなわち、業務サーバ102のホスト名を業務サーバ名211に、前記プロセスを識別するプロセスIDをプロセスID212に、プロセスの実行ファイルの絶対パス名を実行ファイル絶対パス名213に、プロセスのコマンドライン(プロセス名を含む)をコマンドライン214に、プロセスが待ち受けしているTCPないしUDPのポートを待受ポート一覧215に格納する。
業務サーバ名211に格納する情報は、図3で説明した業務サーバ102のホスト名を求めるのと同じ方法で取得できる。すなわち、当該業務サーバ102上でhostnameコマンドを実行したときの実行結果や、WMIのWin32_ComputerSystemクラスのインスタンスの情報から取得できる。
プロセスID212、プロセスの実行ファイル絶対パス名213、プロセスのコマンドライン214は、業務サーバ102内のプロセス管理部106から取得できる。例えば、当該業務サーバ102上でpsコマンドないしlsofコマンドを実行したときの実行結果や、/proc/ファイルシステム以下にあるファイルの内容、またはWMI(Windows(登録商標) Management Infrastructure)のWin32_Processクラスのインスタンスのプロパティを参照すれば、プロセス管理部106からこれらの情報を取得できる。これら以外の方法を使って、プロセスID212、プロセスの実行ファイル絶対パス名213、プロセスのコマンドライン214の情報を取得しても良い。
待受ポート一覧215に格納する情報は、業務サーバ102内のネットワーク管理部107から取得する。例えば、当該業務サーバ102上でnetstatコマンドないしlsofコマンドを実行したときの実行結果を参照すれば、ネットワーク管理部107からこれらの情報を取得できる。これら以外の方法をつかって、待受ポート一覧215の情報を取得しても良い。
収集済プロセス一覧210に格納された情報は、各種プログラム202の全てにおいて利用される。収集済プロセス一覧210の情報は、情報処理システムのシステム管理者が手作業で作成しても、または何らかのツールやユーティリティを用いて作成しても良い。
なお、後記するようなアプリケーション名取得方法一覧270を使ってアプリケーション名を求める処理を特殊アプリケーション名特定部126で行わないのであれば、収集済プロセス一覧210に待受ポート一覧215を含まなくても良い。また、インタプリタ名一覧240を使ってコマンドライン214からディレクトリ名やスクリプト名を求める処理を、インタプリタ判定部122で行わないのであれば、収集済プロセス一覧210にコマンドライン214を含まなくても良い。
図4は、業務サーバ一覧220の構造と内容および具体例を示す図である。業務サーバ一覧220は表形式となっており、一つ以上の行から成る。全ての行は3つの列を含んでいる。ここで3つの列とは、業務サーバ名221、OS名222に、OSバージョン223である。図示していないが、業務サーバ一覧220の各行は、これ以外の列を含んでいても良い。
業務サーバ一覧220には、情報処理システムにおいて存在する各業務サーバ102につき、一行の情報が格納される。すなわち、業務サーバ102のホスト名が業務サーバ名221に、当該業務サーバ102上で動作するOS(例えば、Windows)の名称とバージョンが、それぞれOS名222、OSバージョン223に格納される。
このうち業務サーバ名221は、当該業務サーバ102上でhostnameコマンドを実行したときの実行結果や、WMIのWin32_ComputerSystemクラスのインスタンスの情報から取得できる。
OS名222、OSバージョン223は、例えば当該業務サーバ102上でunameコマンドを実行したときの実行結果や、WMIのWin32_OperationSystemクラスのインスタンスの情報から取得できる。
業務サーバ一覧220格納された情報は、標準プロセス判定部121において利用される。業務サーバ一覧220格納された情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
図5は、OS標準プロセス一覧230の構造と内容および具体例を示す図である。OS標準プロセス一覧230は表形式となっており、一つ以上の行から成る。全ての行は3つの列を含んでいる。ここで3つの列とは、OS名231、OSバージョン232、実行ファイル絶対パス名233である。図示していないが、OS標準プロセス一覧230の各行は、これ以外の列を含んでいても良い。
OS標準プロセス一覧230は、OSインストール直後に動作しているプロセスの実行ファイルの絶対パス名や、アプリケーション名を特定する必要のないプロセスの実行ファイルの絶対パス名についての情報が、OS名、OSバージョンと共に、それぞれ実行ファイル絶対パス名233、OS名231、OSバージョン232に格納されている。OSインストール直後に動作しているプロセスの実行ファイルの絶対パス名は、例えば任意の計算機にOSをインストールし、インストールが完了した直後に、当該計算機上でpsコマンドやlsofコマンドを実行したときの実行結果や、WMIのWin32_Processクラスのインスタンスの情報から取得できる。OS名、OSバージョンは、当該計算機上でunameコマンドを実行したときの実行結果や、WMIのWin32_OperatingSystemクラスのインスタンスの情報から取得できる。
OS標準プロセス一覧230に格納された情報は、標準プロセス判定部121において利用される。OS標準プロセス一覧230に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
図6は、インタプリタ名一覧240の構造と内容および具体例を示す図である。インタプリタ名一覧240は表形式となっており、一つ以上の行から成る。全ての行は1つの列を含んでいる。ここで1つの列とは、インタプリタ名241である。図示していないが、インタプリタ名一覧240の各行は、これ以外の列を含んでいても良い。
インタプリタ名一覧240は、perl、python、shなど、スクリプト言語を処理するインタプリタ処理系のプロセス名や、java等の中間言語を処理するインタプリタ(言語)処理系のプロセス名がインタプリタ名241に格納されている。
インタプリタ名一覧240に格納された情報は、インタプリタ判定部122において利用される。インタプリタ名一覧240に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
図7は、共用ディレクトリ絶対パス名一覧250の構造と内容および具体例を示す図である。共用ディレクトリ絶対パス名一覧250は表形式となっており、一つ以上の行から成る。全ての行は1つの列を含んでいる。ここで1つの列とは、共用ディレクトリ絶対パス名251である。図示していないが、共用ディレクトリ絶対パス名一覧250の各行は、これ以外の列を含んでいても良い。
共用ディレクトリ絶対パス名一覧250は、/usr/bin/、/usr/local/bin/、/opt/、c:¥、c:¥Program Files¥、等といった、そのディレクトリより下に複数のアプリケーションの実行ファイルを格納するディレクトリのディレクトリ名(絶対パス名)が共用ディレクトリ絶対パス名251に格納されている。
共用ディレクトリ絶対パス名一覧250に格納された情報は、共用ディレクトリ判定部123において利用される。共用ディレクトリ絶対パス名一覧250に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
図8は、実行ディレクトリ相対パス名一覧260の構造と内容および具体例を示す図である。実行ディレクトリ相対パス名一覧260は表形式となっており、一つ以上の行から成る。全ての行は1つの列を含んでいる。ここで1つの列とは、実行ディレクトリ相対パス名261である。図示していないが、実行ディレクトリ相対パス名一覧260の各行は、これ以外の列を含んでいても良い。
実行ディレクトリ相対パス名一覧260は、/bin/、/tools/等、直下またはより下位に実行ファイルが置かれる可能性の高いサブディレクトリ名が実行ディレクトリ相対パス名261に格納されている。
実行ディレクトリ名一覧260に格納された情報は、サブディレクトリ判定部124、アプリケーション名特定部125において利用される。実行ディレクトリ相対パス名一覧260に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
図9は、アプリケーション名取得方法一覧270の構造と内容および具体例を示す図である。アプリケーション名取得方法一覧270は表形式となっており、一つ以上の行から成る。全ての行は3つの列を含んでいる。ここで3つの列とは、待受ポート番号271、使用プロトコル272、取得方法273である。図示していないが、アプリケーション名取得方法一覧270の各行は、これ以外の列を含んでいても良い。
アプリケーション名取得方法一覧270には、ディレクトリ名からアプリケーション名を求める以外の方法として、どのプロトコルを使って、どのような情報をアプリケーションから取得すれば、アプリケーションの名称が特定できるのかが格納されている。具体的には、アプリケーションに対する待受ポート番号を待受ポート番号271に、使用するプロトコルを使用プロトコル272に、使用するプロトコルに応じたデータの取得方法(例えば、使用するプロトコルがhttpであれば、取得するデータはHTTP文書である。詳細は後記する。)を取得方法273に格納する。
アプリケーション名取得方法一覧270に格納された情報は、特殊アプリケーション名特定部126において利用される。実行ディレクトリ名一覧260に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて作成しても良い。
図10は、特定済アプリケーション名一覧280の構造と内容および具体例を示す図である。特定済アプリケーション名一覧280は表形式となっており、一つ以上の行から成る。全ての行は3つの列を含んでいる。ここで3つの列とは、絶対パス名281、プロセスID一覧282、アプリケーション名283である。図示していないが、特定済アプリケーション名一覧280の各行は、これ以外の列を含んでいても良い。
特定済アプリケーション名一覧280には、本実施の形態で特定したアプリケーションの名称と、それに関連する情報が格納されている。具体的には、特定したアプリケーションのインストール先となるディレクトリの絶対パス名を絶対パス名281に、当該プロセスのプロセスIDをプロセスID一覧282に、特定されたアプリケーションの名称をアプリケーション名283に格納する。
特定済アプリケーション名一覧280に格納された情報は、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、アプリケーション名特定部125において利用される。特定済アプリケーション名一覧280に格納される情報は、情報処理システムのシステム管理者が手作業で作成しても、あるいは何らかのツールやユーティリティを用いて、作業の一部または全部を自動化して作成しても良い。
〔処理の概要〕
図11は、本発明の第1の実施の形態において、構成管理サーバ101内にある標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、アプリケーション名特定部125、特殊アプリケーション名特定部126といった各処理部における、おおまかな処理の流れと、記憶装置110に格納された業務サーバ一覧210、収集済プロセス一覧220、OS標準プロセス一覧230、インタプリタ名一覧240、共用ディレクトリ絶対パス名一覧250、実行ディレクトリ名相対パス一覧260、アプリケーション名取得方法一覧270、特定済アプリケーション名一覧280などの各種情報207と各処理部との間のデータの流れを示す図である。各処理部での処理の詳細は、図12から図14で説明する。図11中、実線矢印がおおまかな処理の流れを、破線矢印がデータの流れを示す。
最初に、プロセス情報収集部120に業務サーバ名130が入力される。ここで入力される業務サーバ名130は、例えば、当該業務サーバ102で動作しているアプリケーションの名称を特定したいと考えているユーザにより構成管理サーバ101の入力装置203から入力されたものである。プロセス情報収集部120は、業務サーバ名130に対応した業務サーバ102で動作するプロセスの一覧を、収集済プロセス一覧210から取得する。なお、収集済プロセス一覧210の情報は、業務サーバ102内にあるプロセス管理部106とネットワーク管理部107から取得される。これ以外の方法を使って情報を取得し、収集済プロセス一覧220に格納しても良い。また、プロセス情報収集部120がプロセス管理部106とネットワーク管理部107から直接取得しても良い。
次に、取得したプロセスのそれぞれを入力として、標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124で処理を行い、アプリケーション名特定部125、特殊アプリケーション名特定部126では、アプリケーション名を特定する。
なお、標準プロセス判定部121、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124、特殊アプリケーション名特定部126のうち、少なくとも一つ以上の処理部が存在しなくても良い。
標準プロセス判定部121では、プロセス情報収集部120で求めたプロセスについて、アプリケーション名を特定する必要があるかどうかを判定する。これは、当該業務サーバ102のOS名およびOSバージョンを業務サーバ一覧220から取得し、入力されたプロセスが当該OS名および当該OSバージョンに対するOS標準プロセスであるかどうかを、OS標準プロセス一覧230を調べることで行う。なお、業務サーバのOS名およびOSバージョンは、標準プロセス判定部121が業務サーバ102から直接取得しても良い。
標準プロセス判定部121での処理により、特に名称を特定する必要の無いOSとしてのアプリケーションやそのバージョン別のもの等を除外することにより、非常に沢山のアプリケーション名を求めてしまうことが無くなり、業務システムに直接関係のあるアプリケーションに絞ってアプリケーション名を求めることができるようになる。
インタプリタ判定部122では、インタプリタ名一覧240を参照することで、プロセス情報収集部120で求めたプロセスがJavaやperl、sh等のインタプリタ処理系のプロセス(インタプリタプロセス)であるか判定する。これらインタプリタは、異なるアプリケーションから使われる場合がある。その場合、インタプリタプロセスについて、ディレクトリ名からアプリケーション名を求めると、異なるアプリケーションが同じアプリケーション名となってしまう。そこで、プロセスがインタプリタプロセスであると判定したときは、プロセスの実行ファイルのディレクトリ名ではなく、コマンドラインからアプリケーション名を特定する。
インタプリタ判定部122での処理により、インタプリタプロセスについて、より正確にアプリケーション名を特定できるようになる。
共用ディレクトリ判定部123では、共用ディレクトリ絶対パス名一覧250を参照することで、プロセス情報収集部120で求めたプロセスの実行ファイルが共用ディレクトリ直下に存在するのかを判定する。共用ディレクトリとは、/usr/bin/、/usr/local/bin/等、直下に多数のアプリケーション(より詳しく言えば、これらのアプリケーションを実現したり、当該プロセスを実現したりする実行ファイル)が置かれるディレクトリである。このディレクトリ直下に置かれる実行ファイルから成るプロセスについて、プロセスの実行ファイルのディレクトリ名からアプリケーション名を求めると、異なるアプリケーションが同じアプリケーション名となってしまう。そこで、プロセスが共用ディレクトリ直下の実行ファイルから成ると判定したときは、実行ファイル名からアプリケーション名を求めるようにする。
共用ディレクトリ判定部123での処理により、共用ディレクトリ直下に置かれる実行ファイルから成るプロセスについて、より正確にアプリケーション名を特定できるようになる。
サブディレクトリ判定部124では、実行ディレクトリ相対パス名一覧260を参照することで、プロセスの実行ファイルのディレクトリ名が異なるが、同一のアプリケーションとみなすことができるプロセスであるか否かを判定する。例えば、「c:\myapp\」にインストールされたアプリケーションがあり、プロセスAのディレクトリが「c:\myapp\bin\」で、プロセスBのディレクトリが「c:\myapp\tools\」であったとする。これらプロセスについて、実行ファイルのディレクトリ名からアプリケーション名を求めると、本来は同じアプリケーションであるはずなのに、それぞれ別のアプリケーション名となってしまう。そこで、実行ファイルが良く置かれるディレクトリの相対パス名を実行ディレクトリ相対パス名一覧260として持ち、プロセスの実行ファイルのディレクトリ名の末端がそれに合致する場合は、それを除外する。そして、複数のプロセスについて除外したディレクトリ名同士で比較をし、ディレクトリ名が一致するか、あるいは片方がもう片方のサブディレクトリとなるようなプロセス同士を同一アプリケーションとみなす処理をする。
サブディレクトリ判定部124での処理により、インストール先ディレクトリよりも、より深い複数のディレクトリに実行ファイルをインストールするアプリケーションについて、より正確にアプリケーション名を特定できるようになる。
アプリケーション名特定部125では、プロセスの情報のみからアプリケーション名を求める。インタプリタ判定部122でプロセスがインタプリタと判断されたときは、コマンドラインからアプリケーション名を求める。共用ディレクトリ判定部123でプロセスの実行ファイルが共用ディレクトリ直下にあると判定されたときは、実行ファイル名からアプリケーション名を求める。それ以外のときは、プロセスの実行ファイルのディレクトリ名からアプリケーション名を求める。
ディレクトリ名からアプリケーション名を求めるときは、ディレクトリ名の末尾が実行ディレクトリ相対パス名一覧260に合致するか調べ、合致するときはそれを除外した上で、ディレクトリ名からアプリケーション名を求める。つまり、サブディレクトリ判定部124でプロセスの実行ファイルのディレクトリ名が異なる同一のアプリケーションにおいて、ディレクトリに親子関係が存在すると判定されたときは、親ディレクトリ名からアプリケーション名を求める。
アプリケーション名特定部125での処理により、当該業務サーバ102上で動作する任意のアプリケーションについてアプリケーション名を特定することができる。
特殊アプリケーション名特定部126は、プロセスの情報ではなく、HTMLやJSR77など、複数種類のアプリケーションで共通して使えるプロトコルを使ってアプリケーション名を求める。プロセスの待受ポートが、アプリケーション名取得方法一覧270内のある行で示された待受ポートつまり、待受ポート番号271に登録された値に合致するときに、その行で示されたプロトコル、つまり使用プロトコル272に登録された値を使ってアプリケーション名を求める。
特殊アプリケーション名特定部126での処理により、一部のアプリケーションについて、アプリケーション名特定部125で求めたアプリケーション名よりも、より正確にアプリケーション名を特定することができる。
以上の処理を行うと、入力された業務サーバ名130に対応した業務サーバ102上で動作するアプリケーション名の一覧が特定済みアプリケーション名一覧280に格納される。その内容は、ディスプレイやプリンタ等の出力装置204を介して出力することができる。
〔処理の詳細〕
図12、図13(図13Aおよび図13Bの総称)および図14を用いて本発明の第1の実施の形態における、アプリケーション名の特定方法の処理の詳細について説明する。
図12は、本発明の第1の実施の形態における、プロセス情報収集部120での処理(ステップ401、ステップ402)と、標準プロセス判定部121での処理(ステップ403、ステップ404)、アプリケーション名特定部125での処理(ステップ408からステップ413)を示す流れ図である。図12の処理は、業務サーバ名を引数として受け取って処理を開始する。
まず、プロセス情報収集部120は、受け取った業務サーバ名をキーとして、収集済プロセス一覧210内の各行を取得する(ステップ401)。もし取得する行があれば(ステップ401で「繰り返し」)、それを変数Pに格納してステップ402へ進む。もし取得する行がもはや無く、各行に対する処理が済めば(ステップ401で「繰り返し後」)その後、図14のステップ441へ進む。なお、プロセス情報収集部120が、実際の業務サーバ101内のプロセス管理部106とネットワーク管理部107からプロセス情報を直接取得し、変数Pに格納しても良い。また、図14のステップ441へ進む代わりに、ここで処理を終了しても良い。
次に、変数P中の実行ファイル絶対パス名(210;図3参照)から、ディレクトリ名の部分とディレクトリ名を含まない、変数Pの実行ファイル名を取り出し、前者を変数Pのディレクトリ絶対パス名として変数Dに、後者を変数Eに格納する(ステップ402)。変数D、Eに格納した後、ステップ403に進む。
次に、標準プロセス判定部121は、受け取った業務サーバ名に合致する、業務サーバ一覧220の行を探す。そして、その行からOS名(222;図4参照)とOSバージョン(223;図4参照)を取得する(ステップ403)。なお、業務サーバのOS名およびOSバージョンは、標準プロセス判定部121が業務サーバ102から直接取得しても良い。取得した後、ステップ404に進む。
次に、ステップ403で取得したOS名とOSバージョン、変数Pに格納された実行ファイル絶対パス名に合致する行が、OS標準プロセス一覧230に存在するか調べる。つまり、その行がOS名231、OSバージョン232、実行ファイル絶対パス名233の値と一致するか否か判定する(ステップ404)。もし存在するときは(ステップ404でYes)、ステップ401に戻り、存在しないときは(ステップ404でNo)、図13のステップ420へ進む。
なお、標準プロセス判定部121での処理(ステップ403、ステップ404)を省略して、ステップ402の次に図13のステップ420を実行しても良い。
次に、インタプリタ判定部122、共用ディレクトリ判定部123、サブディレクトリ判定部124のいずれかの処理(詳細は後記)の後、アプリケーション名特定部125は、変数A(後記ステップ426参照)の文字列値の先頭部分が、共用ディレクトリ絶対パス名一覧250中の共用ディレクトリ絶対パス名251のどれかと合致するか調べる(ステップ408)。もし合致するのでれば(ステップ408でYes)、変数Aの文字列値の先頭部分から、合致した共用ディレクトリ絶対パス名251を除去する(ステップ409)。その後、変数Aの文字列値から、ディレクトリの区切り文字(/または¥)を空白文字に置換する(ステップ410)。一方、合致することが無ければ(ステップ408でNo)、ステップ409をスキップしてステップ410に進む。
続いて、変数Dの値と同じ絶対パス名281を持つ行(「行X」とする。)が、特定済アプリケーション名一覧280に存在するか調べる(ステップ411)。もし存在しなければ(ステップ411でNo)、変数Dの値を絶対パス名281、変数P中のプロセスIDをプロセスID一覧282、変数Aの値をアプリケーション名283として、特定済アプリケーション名一覧280に行を追加する(ステップ412)。もし存在すれば(ステップ411でYes)、特定済アプリケーション名一覧280中の行Xについて、変数P中のプロセスIDをプロセスID一覧282に追加し、変数Aの値をアプリケーション名283に格納して、行Xを更新する(ステップ413)。ステップ412、ステップ413の双方とも、次はステップ401に戻る。
図13は、本発明の第1の実施の形態における、インタプリタ判定部122での処理(ステップ420〜ステップ426)、共用ディレクトリ判定部123での処理(ステップ427〜ステップ430)、サブディレクトリ判定部124での処理(ステップ431〜ステップ437)を示す流れ図である。
まず、インタプリタ判定部122は、変数Iにfalseを代入し(ステップ420)、続いて、変数Eの値に合致するインタプリタ名241が、インタプリタ名一覧240に存在するか調べる(ステップ421)。もし存在しなければ(ステップ421でNo)、ステップ426へ進む。もし存在したら(ステップ421でYes)、ステップ422へ進む。
次に、変数Eで示される実行ファイル名がJavaか調べる(ステップ422)。Javaと判定したときは(ステップ422でYes)、変数P中のコマンドラインから中間言語ファイルの絶対パス名を求め、求めた中間言語ファイルの絶対パス名を変数Sに格納する(ステップ423)。格納した後、ステップ425に進む。一方、Javaではないと判定したときは(ステップ422でNo)、変数P中のコマンドラインからスクリプトファイルの絶対パス名を求め、求めたスクリプトファイルの絶対パス名を変数Sに格納する(ステップ424)。格納した後、ステップ425に進む。
次に、変数Sの絶対パス名から、ディレクトリ名の部分とディレクトリ名を含まない、変数Sの実行ファイル名を取り出し、前者を変数Sのディレクトリ絶対パス名として変数Dに、後者を変数Eに格納し、さらに、変数Iにtrueを代入する(ステップ425)。これらの格納や代入をした後、変数Aに変数Dの値を代入する(ステップ426)。その代入の後、ステップ427に進む。なお、インタプリタ判定部122での処理の一部(ステップ421からステップ425まで)を省略して、ステップ420からステップ426へ進んでも良い。また、Java以外に中間言語を使う処理系について、ステップ422からステップ423に相当する処理を、ステップ422とステップ424の間に付け加えても良い。
ステップ423でjavaの中間言語ファイルの絶対パス名を求める方法の一例は次の通りである。Javaの場合、コマンドラインの最初の方に処理系自身に渡されるコマンドラインオプションがあり、その次に実行すべきクラス名ないしjarファイル名がある。
コマンドラインオプションの次にクラス名があったときは、コマンドラインオプション−cpまたは−classpath、あるいは環境変数CLASSPATHで指定されたクラスパスを求める。クラスパス中に「.」があるときは、プロセスのカレントワーキングディレクトリを取得し、「.」と置き換える。そして、図12の処理開始時に受け取った業務サーバ名に対応した業務サーバ102のファイルシステム上で、クラスパスで示されたディレクトリ、ないしクラスパスで示されたjarファイル中のどこに、当該クラス名に対応したclassファイルが存在するか調べる。もし、ディレクトリ上に求めるclassファイルが存在したときは、当該classファイルの絶対パス名を求め、それを中間言語ファイルの絶対パス名とする。もし、jarファイル中に求めるclassファイルが存在したときは、そのjarファイルの絶対パス名を求め、それを中間言語ファイルの絶対パス名とする。
コマンドラインオプションの次にjarファイル名があったときは、そのjarファイルの絶対パス名を求め、それをスクリプトの絶対パス名とする。jarファイル名が相対パスのときは、プロセスに設定されたカレントワーキングディレクトリを求め、そこからの相対パスとみなして絶対パスを求め、スクリプトのファイル名とみなす。プロセスに設定されたカレントワーキングディレクトリや環境変数は、業務サーバ102内のプロセス管理部106に問い合わせれば取得できる。
ステップ424でスクリプトファイルの絶対パス名を求める方法の一例は次の通りである。コマンドラインからスクリプトファイルの絶対パス名を求める方法は、インタプリタ処理系によって異なる。perl、python、shなど、スクリプト言語を処理するインタプリタ処理系については通常、コマンドラインの最初の方に「−」で始まる処理系自身に渡されるコマンドラインオプションが0個以上あり、その次に実行すべきスクリプトのファイル名があるので、それを取得する。スクリプトのファイル名が相対パスであったときは、当該プロセスのカレントワーキングディレクトリを求め、そこからの相対パスとみなして、スクリプトファイルの絶対パスを求める。プロセスに設定されたカレントワーキングディレクトリは、業務サーバ102内のプロセス管理部106に問い合わせれば取得できる。
次に、共用ディレクトリ判定部123は、変数Dの値に合致する、共用ディレクトリ絶対パス名251が、共用ディレクトリ絶対パス名一覧250に存在するか調べる(ステップ427)。もし存在しなければ(ステップ427でNo)、ステップ431へ進む。もし存在すれば(ステップ427でYes)、変数Iがfalseで、かつ、変数P中の実行ファイル名が変数P中のプロセス名に等しいか調べる(ステップ428)。実行ファイル名は、P中の実行ファイル絶対パス名の中からディレクトリ名を除外したものであり、プロセス名は、P中のコマンドライン文字列を空白で区切った最初の文字列である。ステップ428の条件に合致したときは(ステップ428でYes)、変数Aに変数P中のプロセス名を代入し(ステップ429)、その後、図12のステップ408へ進む。前記条件に合致しないときは(ステップ428でNo)、変数Aに、変数Dの値の文字列と変数Eの値の文字列とを連結したもの(D+E)を格納し(ステップ430)、図12のステップ408へ進む。なお、共用ディレクトリ判定部123での処理(ステップ427からステップ430まで)を省略して、ステップ426からステップ431へ進んでも良い。
次に、サブディレクトリ判定部124は、変数Dで示されるディレクトリ絶対パス名の末尾のサブディレクトリ名が、実行ディレクトリ相対パス名一覧260中の実行ディレクトリ相対パス名261のいずれかに合致するか、つまり、前記サブディレクトリ名に合致する実行ディレクトリ相対パス名261が存在するか調べる(ステップ431)。例えば実行ディレクトリ相対パス名261が「bin」ただ一つであったときに、変数Dの値が「/opt/someapp/bin/」であれば合致すると判定し、「/opt/someapp/sbin/」のときは合致しないと判定する。もし合致するものがあったときは(ステップ431でYes)、その合致する実行ディレクトリ相対パス名を、変数Dの末尾から除去する(ステップ432)。除去した後、ステップ433に進む。一方、合致するものがなかったときは(ステップ431でNo)、そのままステップ433に進む。
次に、特定済アプリケーション名一覧280の各行のうち、絶対パス名281がディレクトリ名となる行を取得する(ステップ433)。もし取得する行があれば(ステップ433で「繰り返し」)、それを変数Cに格納してステップ434へ進む。もし取得する行がもはや無く、各行に対する処理が済めば(ステップ433で「繰り返し後」)その後、図12のステップ408へ進む。
次に、変数Cで示される絶対パス名が、変数Dで示されるディレクトリ名のサブディレクトリ名となるか調べる(ステップ434)。もしそうであれば(ステップ434でYes)、特定済アプリケーション一覧280中の、変数Cに対応する行に対して、絶対パス名281を変数Dの値に置き換え、図12のステップ408へ進む(ステップ435)。そうでなければ(ステップ434でNo)、ステップ436へ進む。
次に、変数Dで示されるディレクトリ名が変数Cで示される絶対パス名と同一であるか、または変数Cで示されるディレクトリ名のサブディレクトリ名となるか調べる(ステップ436)。もしそうであれば(ステップ436でYes)、変数Dに変数Cの値を、さらに、変数Aに変数C中のアプリケーション名283を格納する(ステップ437)。格納した後、図12のステップ408へ進む。一方、そうでなければ(ステップ436でNo)、ステップ433へ戻る。
なお、サブディレクトリ判定部124での処理(ステップ431からステップ437まで)を省略し、ステップ427から図12のステップ408へ進んでも良い。また、サブディレクトリ判定部124での処理の一部(ステップ433からステップ437まで)を省略し、ステップ431、ステップ432から図12のステップ408へ進んでも良い。
図14は、本発明の第1の実施の形態における、特殊アプリケーション名特定部126の処理(ステップ441〜ステップ449)を示す流れ図である。
まず、特殊アプリケーション名特定部126は、特定済アプリケーション名一覧280の各行を取得する(ステップ441)。もし取得する行があれば(ステップ441で「繰り返し」)、その行の内容を変数Pに格納してステップ442へ進む。もし取得する行がもはや無く、各行に対する処理が済めば(ステップ441で「繰り返し後」)、処理を終了する。
次に、アプリケーション名取得方法一覧270の各行を取得する(ステップ442)。もし取得する行があれば(ステップ442で「繰り返し」)、その行の内容を変数Gに格納してステップ443へ進む。もし取得する行がもはや無く、各行に対する処理が済めば(ステップ442で「繰り返し後」)その後、ステップ441へ戻る。
次に、変数Gの待受ポート番号(271;図9参照)が、変数Pの待受ポート一覧(215;図3参照)中に存在するか調べる(ステップ443)。つまり、待受ポート番号271に格納された値と待受ポート一覧215に格納された値とが一致するか否かを判定する。もし存在すれば(ステップ443でYes)ステップ444へ進み、存在しなければ(ステップ443でNo)ステップ442へ戻る。
次に、変数Gで示される取得方法(273;図9参照)がHTMLであるか否か調べる(ステップ444)。HTMLであるときは(ステップ444でYes)、当該業務サーバ102に対して、変数Gで示されるポート(待受ポート番号271の値)およびプロトコル(使用プロトコル272の値)を使って、HTML文書を取得する。本発明の第1の実施の形態では、“GET/HTTP/1.0”のリクエストを送ることで、/にあるHTML文書を取得し、その中のTITLE要素の内容を変数Aに格納して、ステップ449に進む(ステップ445)。この他に、/index.phpや、/index.jsp、/index.do、/index.cgi等からHTML文書を取得しても良い。一方、HTMLでないときは(ステップ444でNo)、ステップ446に進む。
次に、変数Gで示される取得方法がJSR77であるか否か調べる(ステップ446)。JSR77であるときは(ステップ446でYes)、当該業務サーバ102に対して、変数Gで示されるポート(待受ポート番号271の値)およびプロトコル(使用プロトコル272の値)を使って、JSR77で示される方法に従って、J2EEアプリケーション名(Application Object:OBJECT_NAME)を取得し、それを変数Aに格納してステップ449へ進む(ステップ447)。一方、JSR77でないときは(ステップ446でNo)、ステップ448に進む。
次に、HTMLまたはJSR77以外の取得方法のときは、それぞれの取得方法に従ったプロトコルを用いてアプリケーション名を取得し、それを変数Aに格納する(ステップ448)。そして、変数Pに対応する特定済アプリケーション名一覧280の行に対して、変数Aの内容をアプリケーション名283に格納し(ステップ449)、ステップ441に戻る。
JSR77は、http://www.jcp.org/en/jsr/detail?id=77に詳しい。使用プロトコルがiiop(Internet Inter-ORB Protocol)のときは、当該業務サーバ上で動作するMEJB(Management EJB)コンポーネントに対してiiopプロトコルで通信し、J2EE(Java 2 Enterprise Edition)ApplicationObjectを取得し、そのOBJECT_NAME属性の値がアプリケーション名となる。
また、使用プロトコルがsnmp(Simple Network Management Protocol)のときは、当該業務サーバ上で動作するSNMPエージェントに対してSNMPプロトコルで通信し、iso.org.dod.internet.private.enterpirises.sun.jcp.j2ee.j2eeMIB.j2eeObjects.j2eeMoGroup.j2eeAppTableのMIB(Management Information Base)で示される情報を取得し、その中のJ2EEAppMoNameの値がJ2EEアプリケーション名となる。
また、使用プトロコルがhttp(HyperText Transfer Protocol)ないしhttps(HyperText Transfer Protocol Security)のときは、当該業務サーバ上で動作するCIMOM(Common Information Model Object Manager)に対して、httpないしhttpsを使った、XML−CIMプロトコルで通信し、J2EE_DeployedObjectオブジェクトを取得し、その中のNameプロパティ値がアプリケーション名となる。なお、XML−CIMプロトコルについては、http://www.dmtf.org/standards/wbem/CIM-XML に詳しい。
本発明の第1の実施の形態によって、情報処理システムのシステム管理者は、特定済アプリケーション名一覧280を見ることで、業務サーバ102で動作するアプリケーションの名称を知ることができるようになる。特に、インタプリタ判定部122での処理により、インタプリタ処理系を使うアプリケーションについて、アプリケーション名がより正しく特定できるようになる。また、共用ディレクトリ判定部123での処理により、共用ディレクトリ直下に置かれる実行ファイルに対応したアプリケーションについて、アプリケーション名がより正しく特定できるようになる。そして、サブディレクトリ判定部124の処理により、異なる複数のディレクトリに実行ファイルをインストールするアプリケーションについて、ディレクトリ毎に独立したアプリケーション名を特定するのではなく、一つのアプリケーション名として特定することができるようになる。さらに、特殊アプリケーション名特定部126での処理により、ディレクトリ名からアプリケーション名を特定するよりも、より正確なアプリケーション名称が特定できるようになる。
また、従来では、各ベンダにて、そのベンダが顧客に提供しているアプリケーションに固有のノウハウを用いることにより、アプリケーションの名称を特定していた。しかし、そのように特定された名称には汎用性が無く、当該アプリケーションのバージョンアップ等がなされると、前記ノウハウの保守作業が煩雑化するという問題があった。そこで、本発明のような、実行ファイルのディレクトリ名をアプリケーションの名称とする技術において、OSから標準取得できる情報や、OSごとのノウハウ、周知のインタプリタに関する情報等といった、汎用性のある情報だけを用いることで、前記保守作業が簡易化される。
<第2の実施の形態>
以下、本発明の第1の実施の形態を改良した、第2の実施の形態について説明する。
第2の実施の形態では、第1の実施の形態で求めたアプリケーション名を、図12の処理に引数で渡された当該業務サーバの表示名として扱う。もし複数のアプリケーション名が特定されたときは、それらを空白等で結合することで、当該業務サーバの表示名を求める。
同様に、図12の処理に引数で渡された当該業務サーバが仮想環境上で動作しているときは、当該サーバの表示名の代わりに当該サーバの仮想マシン名(VM名)として扱っても良い。
本発明の第2の実施形態によって、情報処理システムのシステム管理者は、当該業務サーバの表示名を見るだけで、あるいは、仮想環境上で動作する当該業務サーバに対応する仮想マシン名を見るだけで、当該業務サーバ上でどのようなアプリケーションが動作しているのかが一目でわかるようになる。
<第3の実施の形態>
以下、本発明の第1の実施の形態を改良した、第3の実施の形態について説明する。
第3の実施の形態では、第1の実施で求めたアプリケーション名を、図12の処理に引数で渡された当該業務サーバのホスト名として設定する。もし複数のアプリケーション名が特定されたときは、それらを単純に結合したり、間に「−」や「.」等を挟んで結合したりすることで、サーバのホスト名を求める。ホスト名には規定された文字しか使えないので、使えない文字は削除したり、「−」に置換したりすると良い。また、ホスト名の長さには最大値があるので、最大値を超えた文字列は削除すると良い。ホスト名に使える文字や、ホスト名の長さの最大値については、RFC952、またはRFC1123に詳しい。
同様に、図12の処理に引数で渡された当該業務サーバが仮想環境上で動作しているときは、当該仮想環境に対応したディスクイメージのファイル名を、求めたアプリケーション名にリネームしても良い。ファイル名もホスト名同様、使えない文字や最大文字数があるので、これらもホスト名と同様に対処すると良い。
本発明の第3の実施形態によって、情報処理システムのシステム管理者は、当該業務サーバのホスト名、ないし、仮想環境上で動作する当該業務サーバに対応するディスクイメージのファイル名を見るだけで、当該業務サーバ上でどのようなアプリケーションが動作しているのかが一目でわかるようになる。
<その他>
以上本発明の実施形態についての一例を示したが、本発明は、これに限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
例えば、本実施形態では、基本的には、

(A):標準プロセス判定部121での処理(ステップ403、ステップ404)
→(B):インタプリタ判定部122での処理(ステップ420〜ステップ426)
→(C):共用ディレクトリ判定部123での処理(ステップ427〜ステップ430)
→(D):サブディレクトリ判定部124での処理(ステップ431〜ステップ437

といった手順を経てアプリケーションの名称を特定するようにした(アプリケーション名特定部125での処理(ステップ408からステップ413))。しかし、この手順を、(A)→(C)→(B)→(D)、(A)→(D)→(B)→(C)、・・・等のように変更してアプリケーションの名称を特定することも可能である。このとき、名称の特定性能に差が生じうるが、名称を特定したいアプリケーションの性質に応じて最適な手順を選択することができる。
また、(A)〜(D)の少なくとも一つを用いて(より好ましくは(B)〜(D)の少なくとも一つを用いて)アプリケーションの名称を特定することも可能である。
その他、ハードウェア、ソフトウェア、各フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
本発明の第1の実施の形態の情報処理システムの全体構成を表す図の一例である。 構成管理サーバ101の構成を表す図の一例である。 収集済プロセス一覧210の構造と内容および具体例を示す図である。 業務サーバ一覧220の構造と内容および具体例を示す図である。 OS標準プロセス一覧230の構造と内容および具体例を示す図である。 インタプリタ名一覧240の構造と内容および具体例を示す図である。 共用ディレクトリ絶対パス名一覧250の構造と内容および具体例を示す図である。 実行ディレクトリ相対パス名一覧260の構造と内容および具体例を示す図である。 アプリケーション名取得方法一覧270の構造と内容および具体例を示す図である。 特定済アプリケーション名一覧280の構造と内容および具体例を示す図である。 本発明の第1の実施の形態における、各処理部と各種情報207との間のデータの流れを示す図である。 本発明の第1の実施の形態における、アプリケーション名の特定方法を示す流れ図である。流れ図は図13および図14へ続いている。 図12から続く、アプリケーション名の特定方法を示す流れ図である。 図12から続く、アプリケーション名の特定方法を示す流れ図である。 図12から続く、アプリケーション名の特定方法を示す流れ図である。
符号の説明
101 構成管理サーバ
102 業務サーバ
104 管理用ネットワーク
105 業務用ネットワーク
106 プロセス管理部
107 ネットワーク管理部
108 コマンド実行部
122 インタプリタ判定部
123 共用ディレクトリ判定部
124 サブディレクトリ判定部
210 収集済プロセス一覧
220 業務サーバ一覧
230 OS標準プロセス一覧
240 インタプリタ名一覧
250 共用ディレクトリ絶対パス名一覧
260 実行ディレクトリ相対パス名一覧
270 アプリケーション名取得方法一覧
280 特定済アプリケーション名一覧

Claims (12)

  1. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおいて、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのプロセス名と、を対応付けて含むプロセス情報と、
    少なくとも、下位に複数の実行ファイルが存在する共用ディレクトリの絶対パス名を含む共用ディレクトリ絶対パス名情報と、
    を記憶する記憶部と、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、
    前記抽出した実行ファイルの絶対パス名と、前記共用ディレクトリ絶対パス名情報に含まれる共用ディレクトリの絶対パス名とを比較することで、当該実行ファイルが前記共用ディレクトリの下位に存在するか否かを判定し、
    前記判定により、前記実行ファイルが前記共用ディレクトリの下位に存在する場合には、前記実行ファイルの実行ファイル名または前記プロセスのプロセス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する、
    制御を実行する制御部と、を有する
    ことを特徴とする構成管理サーバ。
  2. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおいて、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのコマンドラインと、を対応付けて含むプロセス情報と、
    少なくとも、インタプリタ処理系のプロセス名を含むインタプリタ名情報と、
    を記憶する記憶部と、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、
    前記抽出した実行ファイルの絶対パス名と、前記インタプリタ名情報に含まれるインタプリタ処理系のプロセス名とを比較することで、当該実行ファイルに係るプロセスがインタプリタ処理系のプロセスであるか否かを判定し、
    前記判定により、前記実行ファイルに係るプロセスがインタプリタ処理系のプロセスである場合には、当該コマンドラインから求められ、前記インタプリタ処理系で処理されるスクリプトファイルまたは中間言語ファイルの絶対パス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する、
    制御を実行する制御部と、を有する
    ことを特徴とする構成管理サーバ。
  3. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおいて、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、を対応付けて含むプロセス情報と、
    少なくとも、実行ファイルが存在するディレクトリの相対パス名を含む実行ディレクトリ相対パス名情報と、
    少なくとも、既に特定した前記アプリケーションプログラムの名称と、前記アプリケーションプログラムが存在するディレクトリの絶対パス名である第1のディレクトリ絶対パス名と、を対応付けて含む特定済アプリケーションプログラム名情報と、
    を記憶する記憶部と、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、前記抽出した実行ファイルの絶対パス名から前記実行ファイルが存在するディレクトリの絶対パス名を求め、
    前記求めたディレクトリの絶対パス名の末尾と、前記実行ディレクトリ相対パス名情報に含まれるディレクトリの相対パス名が合致すれば、前記求めたディレクトリの絶対パス名から前記末尾を除去し、前記末尾を除去したものを第2のディレクトリ絶対パス名とし、
    前記第1のディレクトリ絶対パス名と、前記第2のディレクトリ絶対パス名とを比較することで、前記第1のディレクトリ絶対パス名と前記第2のディレクトリ絶対パス名との間にディレクトリの親子関係が成立するか否かを判定し、
    前記判定により、ディレクトリの親子関係が成立する場合には、前記第1のディレクトリ絶対パス名および前記第2のディレクトリ絶対パス名のうち、前記親子関係において親ディレクトリを構成するものを用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する、
    制御を実行する制御部と、を有する
    ことを特徴とする構成管理サーバ。
  4. 前記記憶部は、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、を対応付けて含む業務サーバ情報と、
    少なくとも、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、前記オペレーティングシステムの標準プロセスの実行ファイルの絶対パス名と、を対応付けて含むオペレーティングシステム標準プロセス情報と、
    を記憶し、
    前記制御部は、
    外部から取得した業務サーバ識別情報に基づいて、前記業務サーバ情報から、前記業務サーバで使用されるオペレーティングシステムおよび前記オペレーティングシステムのバージョンを抽出するとともに、前記オペレーティングシステム標準プロセス情報から、前記抽出したオペレーティングシステムおよびバージョンと合致する標準プロセスの実行ファイルの絶対パス名を抽出し、
    前記プロセス情報から抽出した実行ファイルの絶対パス名が、前記オペレーティングシステム標準プロセス情報から抽出した標準プロセスの実行ファイルの絶対パス名と一致するか否かを判定し、
    前記判定により、一致する場合には、当該業務サーバから取得したプロセスについて、前記アプリケーションプログラムの名称を特定する処理を省略する
    ことを特徴とする請求項1から請求項3の何れかに記載の構成管理サーバ。
  5. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法において、
    前記構成管理サーバは、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのプロセス名と、を対応付けて含むプロセス情報と、
    少なくとも、下位に複数の実行ファイルが存在する共用ディレクトリの絶対パス名を含む共用ディレクトリ絶対パス名情報と、
    を記憶する記憶部を有し、
    前記構成管理サーバの制御部は、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出するステップと、
    前記抽出した実行ファイルの絶対パス名と、前記共用ディレクトリ絶対パス名情報に含まれる共用ディレクトリの絶対パス名とを比較することで、当該実行ファイルが前記共用ディレクトリの下位に存在するか否かを判定するステップと、
    前記判定により、前記実行ファイルが前記共用ディレクトリの下位に存在する場合には、前記実行ファイルの実行ファイル名または前記プロセスのプロセス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定するステップと、
    を実行する
    ことを特徴とする名称特定方法。
  6. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法において、
    前記構成管理サーバは、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのコマンドラインと、を対応付けて含むプロセス情報と、
    少なくとも、インタプリタ処理系のプロセス名を含むインタプリタ名情報と、
    を記憶する記憶部を有し、
    前記構成管理サーバの制御部は、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出するステップと、
    前記抽出した実行ファイルの絶対パス名と、前記インタプリタ名情報に含まれるインタプリタ処理系のプロセス名とを比較することで、当該実行ファイルに係るプロセスがインタプリタ処理系のプロセスであるか否かを判定するステップと、
    前記判定により、前記実行ファイルに係るプロセスがインタプリタ処理系のプロセスである場合には、当該コマンドラインから求められ、前記インタプリタ処理系で処理されるスクリプトファイルまたは中間言語ファイルの絶対パス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定するステップと、
    を実行する
    ことを特徴とする名称特定方法。
  7. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法において、
    前記構成管理サーバは、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、を対応付けて含むプロセス情報と、
    少なくとも、実行ファイルが存在するディレクトリの相対パス名を含む実行ディレクトリ相対パス名情報と、
    少なくとも、既に特定した前記アプリケーションプログラムの名称と、前記アプリケーションプログラムが存在するディレクトリの絶対パス名である第1のディレクトリ絶対パス名と、を対応付けて含む特定済アプリケーションプログラム名情報と、
    を記憶する記憶部を有し、
    前記構成管理サーバの制御部は、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、前記抽出した実行ファイルの絶対パス名から前記実行ファイルが存在するディレクトリの絶対パス名を求めるステップと、
    前記求めたディレクトリの絶対パス名の末尾と、前記実行ディレクトリ相対パス名情報に含まれるディレクトリの相対パス名が合致すれば、前記求めたディレクトリの絶対パス名から前記末尾を除去し、前記末尾を除去したものを第2のディレクトリ絶対パス名とするステップと、
    前記第1のディレクトリ絶対パス名と、前記第2のディレクトリ絶対パス名とを比較することで、前記第1のディレクトリ絶対パス名と前記第2のディレクトリ絶対パス名との間にディレクトリの親子関係が成立するか否かを判定するステップと、
    前記判定により、ディレクトリの親子関係が成立する場合には、前記第1のディレクトリ絶対パス名および前記第2のディレクトリ絶対パス名のうち、前記親子関係において親ディレクトリを構成するものを用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定するステップと、
    を実行する
    ことを特徴とする名称特定方法。
  8. 前記記憶部は、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、を対応付けて含む業務サーバ情報と、
    少なくとも、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、前記オペレーティングシステムの標準プロセスの実行ファイルの絶対パス名と、を対応付けて含むオペレーティングシステム標準プロセス情報と、
    を記憶し、
    前記制御部は、
    外部から取得した業務サーバ識別情報に基づいて、前記業務サーバ情報から、前記業務サーバで使用されるオペレーティングシステムおよび前記オペレーティングシステムのバージョンを抽出するとともに、前記オペレーティングシステム標準プロセス情報から、前記抽出したオペレーティングシステムおよびバージョンと合致する標準プロセスの実行ファイルの絶対パス名を抽出するステップと、
    前記プロセス情報から抽出した実行ファイルの絶対パス名が、前記オペレーティングシステム標準プロセス情報から抽出した標準プロセスの実行ファイルの絶対パス名と一致するか否かを判定するステップと、
    を実行し、
    前記判定により、一致する場合には、当該業務サーバから取得したプロセスについて、前記アプリケーションプログラムの名称を特定する処理を省略する
    ことを特徴とする請求項5から請求項7の何れかに記載の名称特定方法。
  9. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法を、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのプロセス名と、を対応付けて含むプロセス情報と、
    少なくとも、下位に複数の実行ファイルが存在する共用ディレクトリの絶対パス名を含む共用ディレクトリ絶対パス名情報と、
    を記憶する記憶部を有する前記構成管理サーバのコンピュータに実行させる名称特定プログラムにおいて、
    前記構成管理サーバの制御部に、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出する処理と、
    前記抽出した実行ファイルの絶対パス名と、前記共用ディレクトリ絶対パス名情報に含まれる共用ディレクトリの絶対パス名とを比較することで、当該実行ファイルが前記共用ディレクトリの下位に存在するか否かを判定する処理と、
    前記判定により、前記実行ファイルが前記共用ディレクトリの下位に存在する場合には、前記実行ファイルの実行ファイル名または前記プロセスのプロセス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する処理と、
    を実行させる
    ことを特徴とする名称特定プログラム。
  10. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法を、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、前記プロセスのコマンドラインと、を対応付けて含むプロセス情報と、
    少なくとも、インタプリタ処理系のプロセス名を含むインタプリタ名情報と、
    を記憶する記憶部を有する前記構成管理サーバのコンピュータに実行させる名称特定プログラムにおいて、
    前記構成管理サーバの制御部に、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出する処理と、
    前記抽出した実行ファイルの絶対パス名と、前記インタプリタ名情報に含まれるインタプリタ処理系のプロセス名とを比較することで、当該実行ファイルに係るプロセスがインタプリタ処理系のプロセスであるか否かを判定する処理と、
    前記判定により、前記実行ファイルに係るプロセスがインタプリタ処理系のプロセスである場合には、当該コマンドラインから求められ、前記インタプリタ処理系で処理されるスクリプトファイルまたは中間言語ファイルの絶対パス名を用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する処理と、
    を実行させる
    ことを特徴とする名称特定プログラム。
  11. 業務クライアントに提供するサービスを実現するアプリケーションプログラムを動作させることにより生成したプロセスを記憶して管理する業務サーバと通信可能に接続され、前記業務サーバから取得した前記プロセスに基づいて前記アプリケーションプログラムの名称を特定する構成管理サーバにおける名称特定方法を、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバにて生成したプロセスの実行ファイルの絶対パス名と、を対応付けて含むプロセス情報と、
    少なくとも、実行ファイルが存在するディレクトリの相対パス名を含む実行ディレクトリ相対パス名情報と、
    少なくとも、既に特定した前記アプリケーションプログラムの名称と、前記アプリケーションプログラムが存在するディレクトリの絶対パス名である第1のディレクトリ絶対パス名と、を対応付けて含む特定済アプリケーションプログラム名情報と、
    を記憶する記憶部を有する前記構成管理サーバのコンピュータに実行させる名称特定プログラムにおいて、
    前記構成管理サーバの制御部に、
    外部から取得した業務サーバ識別情報に基づいて、前記プロセス情報から、前記業務サーバ識別情報に対応する実行ファイルの絶対パス名を抽出し、前記抽出した実行ファイルの絶対パス名から前記実行ファイルが存在するディレクトリの絶対パス名を求める処理と、
    前記求めたディレクトリの絶対パス名の末尾と、前記実行ディレクトリ相対パス名情報に含まれるディレクトリの相対パス名が合致すれば、前記求めたディレクトリの絶対パス名から前記末尾を除去し、前記末尾を除去したものを第2のディレクトリ絶対パス名とする処理と、
    前記第1のディレクトリ絶対パス名と、前記第2のディレクトリ絶対パス名とを比較することで、前記第1のディレクトリ絶対パス名と前記第2のディレクトリ絶対パス名との間にディレクトリの親子関係が成立するか否かを判定する処理と、
    前記判定により、ディレクトリの親子関係が成立する場合には、前記第1のディレクトリ絶対パス名および前記第2のディレクトリ絶対パス名のうち、前記親子関係において親ディレクトリを構成するものを用いて、前記取得した業務サーバ識別情報で識別される業務サーバにおいて動作するアプリケーションプログラムの名称を特定する処理と、
    を実行させる
    ことを特徴とする名称特定プログラム。
  12. 前記記憶部は、
    少なくとも、前記業務サーバを識別する業務サーバ識別情報と、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、を対応付けて含む業務サーバ情報と、
    少なくとも、前記業務サーバで使用されるオペレーティングシステムと、前記オペレーティングシステムのバージョンと、前記オペレーティングシステムの標準プロセスの実行ファイルの絶対パス名と、を対応付けて含むオペレーティングシステム標準プロセス情報と、
    を記憶し、
    前記制御部に、
    外部から取得した業務サーバ識別情報に基づいて、前記業務サーバ情報から、前記業務サーバで使用されるオペレーティングシステムおよび前記オペレーティングシステムのバージョンを抽出するとともに、前記オペレーティングシステム標準プロセス情報から、前記抽出したオペレーティングシステムおよびバージョンと合致する標準プロセスの実行ファイルの絶対パス名を抽出する処理と、
    前記プロセス情報から抽出した実行ファイルの絶対パス名が、前記オペレーティングシステム標準プロセス情報から抽出した標準プロセスの実行ファイルの絶対パス名と一致するか否かを判定する処理と、
    を実行させ、
    前記判定により、一致する場合には、当該業務サーバから取得したプロセスについて、前記アプリケーションプログラムの名称を特定する処理を省略させる
    ことを特徴とする請求項8から請求項11の何れかに記載の名称特定プログラム。
JP2008291722A 2008-11-14 2008-11-14 構成管理サーバ、名称特定方法および名称特定プログラム Expired - Fee Related JP5080428B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008291722A JP5080428B2 (ja) 2008-11-14 2008-11-14 構成管理サーバ、名称特定方法および名称特定プログラム
US12/407,988 US8135764B2 (en) 2008-11-14 2009-03-20 Configuration management server, name recognition method and name recognition program
US13/353,447 US20120117132A1 (en) 2008-11-14 2012-01-19 Configuration Management Server, Name Recognition Method and Name Recognition Program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008291722A JP5080428B2 (ja) 2008-11-14 2008-11-14 構成管理サーバ、名称特定方法および名称特定プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012190285A Division JP2013012225A (ja) 2012-08-30 2012-08-30 名称特定プログラム、構成管理サーバおよび情報処理システム

Publications (2)

Publication Number Publication Date
JP2010117957A true JP2010117957A (ja) 2010-05-27
JP5080428B2 JP5080428B2 (ja) 2012-11-21

Family

ID=42172794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008291722A Expired - Fee Related JP5080428B2 (ja) 2008-11-14 2008-11-14 構成管理サーバ、名称特定方法および名称特定プログラム

Country Status (2)

Country Link
US (2) US8135764B2 (ja)
JP (1) JP5080428B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016514334A (ja) * 2013-03-14 2016-05-19 アマゾン テクノロジーズ インク 推測アプリケーションインベントリ
JP2018120354A (ja) * 2017-01-24 2018-08-02 富士通株式会社 判定プログラム、判定方法および判定装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9164997B2 (en) 2012-01-19 2015-10-20 Microsoft Technology Licensing, Llc Recognizing cloud content
US9125987B2 (en) 2012-07-17 2015-09-08 Elwha Llc Unmanned device utilization methods and systems
US9254363B2 (en) 2012-07-17 2016-02-09 Elwha Llc Unmanned device interaction methods and systems
US9268853B2 (en) * 2012-11-28 2016-02-23 Fmr Llc Business application fingerprinting and tagging
KR102244110B1 (ko) * 2015-02-17 2021-04-26 삼성전자주식회사 이종 언어간 동일성을 판단하는 전자 장치 및 방법
CN106648563B (zh) * 2015-10-30 2021-03-23 阿里巴巴集团控股有限公司 应用程序中共享模块的依赖解耦处理方法和装置
US10791103B2 (en) * 2016-10-28 2020-09-29 Vmware, Inc. Adapting remote display protocols to remote applications
CN106919665A (zh) * 2017-02-16 2017-07-04 江苏神州信源系统工程有限公司 一种Windows操作系统中电子文件的管控方法及装置
CN108415736B (zh) * 2018-02-06 2021-03-30 新浪网技术(中国)有限公司 利用进程文件系统标记程序进程的方法、装置和设备
US11029802B2 (en) * 2018-02-27 2021-06-08 International Business Machines Corporation Automated command-line interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050155031A1 (en) * 2004-01-10 2005-07-14 Microsoft Corporation Changed file identification, software conflict resolution and unwanted file removal
JP2005227939A (ja) * 2004-02-12 2005-08-25 Honda Motor Co Ltd 構成管理システム
JP2008305289A (ja) * 2007-06-11 2008-12-18 Hitachi Ltd アプリケーションの発見方法
JP2009244974A (ja) * 2008-03-28 2009-10-22 Nomura Research Institute Ltd プログラム開発管理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2835074B2 (ja) 1989-05-16 1998-12-14 株式会社東芝 多層式光ディスク装置
US6434598B1 (en) * 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US5848410A (en) * 1997-10-08 1998-12-08 Hewlett Packard Company System and method for selective and continuous index generation
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US7181743B2 (en) * 2000-05-25 2007-02-20 The United States Of America As Represented By The Secretary Of The Navy Resource allocation decision function for resource management architecture and corresponding programs therefor
US7185209B2 (en) * 2003-05-28 2007-02-27 Microsoft Corporation End-to-end reliable messaging with complete acknowledgement
JP4297792B2 (ja) * 2004-01-08 2009-07-15 株式会社リコー Webサーバ組み込みビジネス機器
US7506338B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
JP2006164374A (ja) 2004-12-06 2006-06-22 Pioneer Electronic Corp 光ピックアップ、及び情報記録再生装置
US7359910B2 (en) * 2005-06-30 2008-04-15 Microsoft Corporation Scalable transformation and tree based query language node—set selection
WO2007089786A2 (en) * 2006-01-30 2007-08-09 Sudhakar Govindavajhala Identifying unauthorized privilege escalations
US8892737B2 (en) * 2006-03-06 2014-11-18 Vmware, Inc. Network sniffer for performing service level management
JP2008204518A (ja) 2007-02-19 2008-09-04 Hitachi Ltd 光ディスク再生方法および光ディスク再生装置
JP2009026255A (ja) * 2007-07-24 2009-02-05 Hitachi Ltd データ移行方法、データ移行システム、及びデータ移行プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050155031A1 (en) * 2004-01-10 2005-07-14 Microsoft Corporation Changed file identification, software conflict resolution and unwanted file removal
JP2005227939A (ja) * 2004-02-12 2005-08-25 Honda Motor Co Ltd 構成管理システム
JP2008305289A (ja) * 2007-06-11 2008-12-18 Hitachi Ltd アプリケーションの発見方法
JP2009244974A (ja) * 2008-03-28 2009-10-22 Nomura Research Institute Ltd プログラム開発管理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016514334A (ja) * 2013-03-14 2016-05-19 アマゾン テクノロジーズ インク 推測アプリケーションインベントリ
JP2018120354A (ja) * 2017-01-24 2018-08-02 富士通株式会社 判定プログラム、判定方法および判定装置

Also Published As

Publication number Publication date
US20120117132A1 (en) 2012-05-10
JP5080428B2 (ja) 2012-11-21
US20100125595A1 (en) 2010-05-20
US8135764B2 (en) 2012-03-13

Similar Documents

Publication Publication Date Title
JP5080428B2 (ja) 構成管理サーバ、名称特定方法および名称特定プログラム
CN107317724B (zh) 基于云计算技术的数据采集系统及方法
US8108456B2 (en) Method and apparatus for migrating the system environment on which the applications depend
CN101237326B (zh) 设备日志实时解析的方法、装置和系统
US20110078617A1 (en) Method, system and program for supporting input of execution parameter of predetermined software to input field
US8825750B2 (en) Application server management system, application server management method, management apparatus, application server and computer program
CN112083951B (zh) 一种支持多操作系统平台的软件包统一管理方法及系统
US7831959B1 (en) Method and apparatus to manage configuration for multiple file server appliances
US8799923B2 (en) Determining relationship data associated with application programs
US20090327630A1 (en) Software configuration item back-up facility
WO2013038489A1 (ja) 計算機システム、クライアント計算機の管理方法及び記憶媒体
JP2008287633A (ja) Hba情報提供プログラム、hba情報提供方法及びhba情報提供装置
US20120317112A1 (en) Operation log management system and operation log management method
CA2349083A1 (en) Server configuration tool
JP5353208B2 (ja) 作業内容分析方法、プログラム及び作業内容分析システム
US11144292B2 (en) Packaging support system and packaging support method
US20160124795A1 (en) Evaluation method and apparatus
CN112615758B (zh) 一种应用识别方法、装置、设备及存储介质
CN110134489B (zh) 应用迁移方法及装置、系统、存储介质、应用上云工具
CN113760306A (zh) 安装软件的方法、装置、电子设备及存储介质
JP5742666B2 (ja) 状態グラフを同期させる方法、製品及び電子装置
US8245182B2 (en) Class selectable design sharing
JP4293169B2 (ja) ネットワーク機器制御システム
JP2013012225A (ja) 名称特定プログラム、構成管理サーバおよび情報処理システム
JP5324209B2 (ja) コンピュータ装置、情報収集方法及び情報収集プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120723

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees