(57)【特許請求の範囲】
【請求項１】
各々が個別の目的機能を司る複数のコンポーネントと、前記コンポーネントのうちの少なくとも１つを利用するアプリケーションプログラムと、前記アプリケーションプログラムによる前記１のコンポーネントの利用を中継する中継モジュールと、を備えた情報処理装置であって、
前記中継モジュールは、
前記アプリケーションプログラムによる前記コンポーネントの１への利用要求があったとき、前記１のコンポーネントを取り込み、かつ、前記１のコンポーネントに対応した擬似コンポーネントを生成しこれを前記アプリケーションプログラム側に転送する擬似コンポーネント生成転送手段と、
該取り込みコンポーネントを実行する実行手段と、
該取り込みコンポーネントの実行の前後におけるトレース情報を取得するトレース情報取得手段と、
前記トレース情報をコンポーネントアクセス履歴情報として記憶するコンポーネントアクセス履歴取得手段と、
該取込みコンポーネントの実行の終了を前記アプリケーションプログラムへ通知する終了通知手段と、
からなることを特徴とする情報処理装置。
【請求項２】
前記実行手段は、前記アプリケーションプログラムの実行指令に応じて前記１のコンポーネントの実行をなすことを特徴とする請求項１に記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンポーネント（一定の処理を行うまとまったプログラムモジュール）を保持し，そして該コンポーネントの少なくとも１つを要素とするアプリケーションプログラムを実行する情報処理装置に関する。
【０００２】
【従来の技術】
例えば、表示装置の駆動制御を行うルーチンプログラム等のまとまった機能毎のコンポーネントを利用自在に予め保管しておいて，アプリケーションプログラムによる利用を可能とするコンポーネントを管理保持するシステムが知られている。かかるシステムを利用して、アプリケーションプログラムを実行する際に、各コンポーネントの実行の履歴（以下アクセス履歴と称する）を記録しておいて、アプリケーションプログラムの実行の際の不具合等の検証の便に供するシステムが知られている。
【０００３】
かかるシステムにおいて、コンポーネントのアクセス履歴を取得するときの方法には、従来以下のような方式が取られてきた。即ち、第１に、アクセス履歴を取得すべきコンポーネントを作成するときにアクセスを履歴を取れるようにコード（例えば、ファイルに書き込み等の履歴取得の為のコード）を予め書いておく方式であり、第２に、コンポーネントを利用するプログラムがコンポーネントに実行する毎にアクセス履歴を専用のファイルへ格納する方式である。
【０００４】
これらの方式には幾つか不利益が存在した。即ち、第１の方式の場合コンポーネント作成者がコードを埋め込む必要があるため、コンポーネント開発者に負担がかかる。また、アクセス履歴情報に統一性を与えないと各コンポーネント毎に取得出来る履歴情報が異なる可能性があり、統一的な障害履歴の取得が困難である。また第２の方式の場合コンポーネントを利用するプログラムの単位で取得できる情報は一定となるが、コンポーネントを利用する毎にプログラム作成者がアクセス履歴取得用のコードを埋め込む必要がある為プログラム作成者の負担が大きくなる。
【０００５】
【発明が解決しようとする課題】
そこで、本発明は、統一的な内容の履歴取得をコンポーネント作成者又はアプリケーションプログラム作成者に負担をかけることなく実行する情報処理装置を提供することである。
【０００６】
【課題を解決するための手段】
本発明による情報処理装置は、複数のコンポーネントと、該コンポーネントのうちの少なくとも１つを利用するアプリケーションプログラムと、該アプリケーションプログラムによる該コンポーネントの利用を中継する中継モジュールと、を備えた情報処理装置であって、該中継モジュールは、アプリケーションプログラムによるコンポーネントの利用要求があったとき、該コンポーネントを取り込み、かつ、該コンポーネントに対応した擬似コンポーネントを生成しこれを該アプリケーションプログラム側に転送する擬似プログラム生成転送手段と、該取り込みコンポーネントを実行する実行手段と、該取込みコンポーネントの実行の前後におけるトレース情報を取得するトレース情報取得手段と、前記トレース情報をコンポーネントアクセス履歴情報として記憶するコンポーネントアクセス履歴取得手段と、取り込みコンポーネントの実行の終了を前記アプリケーションプログラムへ通知する終了通知手段と、を有する。
【０００７】
【発明の実施の形態】
図１は、本発明による情報処理装置を形成するマイクロコンピュータ等を示している。中央処理演算装置（ＣＰＵ）１は、バス７を介してキーボード５からの入力を受け入れ、主記憶装置２に格納されたアプリケーションプログラムに従って、ディスプレイ３及び磁気ディスク装置６をバス７を介して制御する。主記憶装置２は、ランダム・アクセス・メモリ等からなり、各種のデータやプログラムを格納するメモリである。ディスプレイ３は、ＣＲＴ等からなり、ウィンドウやカーソルの表示をするものである。ポインティングデバイス４は、マウス等からなり、種々の入力を行うものである。また、キーボード５はポインティングデバイスと同様にシステムの入力装置である。更に、磁気ディスク装置６は、各種のデータやプログラム及びコンポーネントを格納する外部記憶装置である。更に、バス７は、前述の各部を相互に接続すると共に、好ましくは他の電子計算機ユニットとの通信を行う機能を提供する。
【０００８】
例えば、アプリケーションプログラム及びコンポーネントは、磁気ディスク装置６に格納されている。中継モジュール１１は、キーボード５等の入出力装置を介して起動される。該中継モジュールは、好ましくは主記憶装置２に常駐し利用者の要求に対して待機状態にて維持され、アプリケーションプログラム等の利用者の要求に即応してコンポーネントの利用を可能とする様にコンポーネントを利用者に中継する。コンポーネントの利用者も、同様にキーボード等の入出力装置を介して当該電子計算機ユニットにおいてアプリケーションプログラムを起動し、所望のコンポーネントをコンポーネントの格納位置を指定することなく、中継モジュールにより取得して利用する。この間において、利用アクセスに係わる履歴情報は、中継モジュールにより取得され、履歴取得に関して指示することはない。
【０００９】
図２は、単一の電子計算機ユニットにおいて、コンポーネントの利用の為の情報処理装置が１つの利用者１０の要求に応じて、格納されたコンポーネントの利用、アクセス履歴の取得を提供する構成のブロック図を示している。図２の構成におけるコンポーネントの利用及びアクセス履歴取得を提供する中継モジュール１１の処理手順が図３のフローチャートにより示されている。
【００１０】
まず、利用者１０は、中継モジュール１１に対して、コンポーネントの利用要求をする（ＳＴ１）。次に、中継モジュール１１は、電子計算機ユニットに含まれる媒体駆動記憶装置１２に対して当該コンポーネントを検索しその位置情報を得る。中継モジュール１１は、この位置情報を基に当該コンポーネントを取り込む（ＳＴ２）。次に、中継モジュール１１は、取り込んだコンポーネントに対応する擬似的なコンポーネント（以下擬似コンポーネントと称する）を作成する（ＳＴ３）。そして、該擬似コンポーネントを利用者１０へ転送する（ＳＴ４）。当該転送された擬似コンポーネントは、実際には利用者１０が目的としている元のコンポーネントの実体とは異なり擬似的なものであるが、利用者１０から見ると同じものに見えるため、利用者が格別異なる処理をする必要はない。次に、利用者１０が転送された該元のコンポーネントに対して実行指令する擬似コンポーネントが実行呼び出しされる。例えば、中央処理装置１の命令アドレスポインタが中継モジュールへ分岐するようなコードを該擬似コンポーネントに埋め込んでおけば、中継モジュール１１には利用者により実行指令が供給され、中継モジュールは、これを検知することができる（ＳＴ５）。次に、中継モジュール１１は、要求されたコンポーネントを実行する（ＳＴ６）。ここで、中継モジュール１１は、該実行の前後で呼び出された当該コンポーネントの識別を含むトレース情報（例えば、プログラム開発の為のデバッグ情報）を取得する（ＳＴ７）。最後に、中継モジュール１１がコンポーネントの終了を検知すると、利用者に終了を通知する（ＳＴ８）。例えば、該通知は、中央処理装置１の命令アドレスポインタを擬似コンポーネントの出口アドレスに分岐させることにより達成する。尚、図３の処理ルーチンにおけるステップ５は省略することも可能である。
【００１１】
図４は、複数の電子計算機ユニットに分散保持されているコンポーネントを１つの利用者が利用する実施例を示すブロック図である。複数の電子計算機ユニット間は、好ましくは通信ネットワークにより接続され一定のプロトコルにより通信を行い、コンポーネントの検索及び取り込みのデータ交換を行う。ここで、複数の電子計算機ユニットに置かれた利用者のアプリケーションプログラム１０と、中継モジュール１１及び媒体駆動記憶装置１２とからなる情報処理装置が、利用者１０の要求に応じて複数の電子計算機ユニットに分散して存在するコンポーネントの利用を利用者１０に提供し、アクセス履歴を取得するシステムが示されている。
【００１２】
図４の構成における中継モジュール１１ａ又は１１ｂの処理手順が図５のフローチャートにより示されている。ここで、中継モジュール１１ａは、利用者１０ａからのコンポーネントの利用要求を受け付ける（ＳＴ１）。中継モジュール１１ａは、複数の電子計算機ユニットＡ，Ｂの媒体駆動記憶装置１２ａ，１２ｂに対して依頼されたコンポーネントを検索する（ＳＴ２）。利用依頼されたコンポーネントが自身の電子計算機ユニットＡに存在する場合は、中継モジュール１１ａは通信ネットワークを経ないで該コンポーネントを取得する（ＳＴ３）。別の電子計算機ユニットＢにある場合は、別の電子計算機ユニットＢの中継モジュール１１ｂを経て別の電子計算機ユニットＢの媒体駆動記憶装置１２ｂから該コンポーネントを取得する（ＳＴ４）。以後、利用依頼されたコンポーネントが自身の電子計算機ユニットＡに存在する又は他の電子計算機ユニットＢに存在するの何れの場合においても、前述の１つの電子計算機ユニットの場合と同様にして、擬似コンポーネントの作成（ＳＴ５）と、擬似コンポーネントの利用者１０への転送（ＳＴ６）と、利用者１０のコンポーネント実行指令の検知（ＳＴ７）と、コンポーネントの実行（ＳＴ８）と、トレース情報を含むアクセス履歴情報の取得（ＳＴ９）と、更にコンポーネント実行終了の利用者１０への通知（ＳＴ１０）とが行われる。
【００１３】
図６は、中継モジュール１１ｃを１つのサーバ電子計算機ユニットに置き、媒体駆動記憶装置１２ａ，１２ｂを複数のクライアント電子計算機ユニットＡ，Ｂに配した構成の実施例を示す。この構成では、複数の電子計算機ユニットＡ．Ｂの一方における利用者が他方の電子計算機ユニットにあるコンポーネントを利用可能としている。かかる構成とすることにより複数のコンポーネント利用者１０にコンポーネントを提供しつつ、負荷分散が可能となり、全利用者１０及び全コンポーネントについてのアクセス履歴を取得することができる。
【００１４】
図７は、中継モジュール１１ｃをサーバに配置する図６の構成における中継モジュール１１ｃの処理手順を示している。すなわち、まず中継モジュール１１ｃは、利用者１０からのコンポーネントの利用要求を受け付ける（ＳＴ１）。次に、複数の電子計算機ユニットＡ，Ｂの媒体駆動記憶装置１２ａ，１２ｂに対して依頼されたコンポーネントを検索し、該コンポーネントが存在する計算機ユニットを選定する（ＳＴ２）。次に、当該選定された計算機ユニットから該コンポーネントを取得する（ＳＴ３）。以後、前述の１つの電子計算機ユニットの場合と同様にして、擬似コンポーネントの作成（ＳＴ４）と、擬似コンポーネントの利用者１０への転送（ＳＴ５）と、利用者１０のコンポーネント実行指令の検知（ＳＴ６）と、コンポーネントの実行（ＳＴ７）と、トレース情報を含むアクセス履歴情報の取得（ＳＴ８）と、更にコンポーネント実行終了の利用者１０への通知（ＳＴ９）とが行われる。
【００１５】
【発明の効果】
本発明によれば、コンポーネントのアクセス履歴を取得しようとするとき、アプリケーションプログラム或いはコンポーネント作成者に負担をかけることが無い上に統一的なアクセス履歴を取得できる。このことにより、障害時等の解析をも容易にすることができる。
【図面の簡単な説明】
【図１】  本発明を実施するシステムのハードウェア構成を示す図である。
【図２】  図１で示すハードウェア上で動作する本発明の構成を示すブロック図である。
【図３】  図２において示す構成において、本発明に従ったコンポーネントの利用及びアクセス履歴取得を提供するシステムの処理順序を示すフローチャートである。
【図４】  本発明による情報処理装置が複数の電子計算機ユニットに配置された実施例を示すブロック図である。
【図５】  図４の構成において、本発明に従って複数の電子計算機ユニットに分散保持されたコンポーネントの利用及びアクセス履歴取得を提供するシステムの処理順序を示すフローチャートである。
【図６】  本発明に従って、中継モジュールを含むサーバと、利用者及び媒体駆動記憶装置を含む複数のクライアント電子計算機ユニットとする構成の実施例を示すブロック図である。
【図７】  図６の構成における、中継モジュール１１ｃのコンポーネント利用及びアクセス履歴取得を提供する処理手順を示すフローチャートである。
【主要部分の符号の説明】
１  中央処理装置
２  主記憶装置
３  ディスプレイ
４  ポインティングデバイス
５  キーボード
６  磁気ディスク装置
１０  利用者（アプリケーションプログラム等）
１１  中継モジュール
１２  媒体駆動記憶装置
【図１】
0004178700.tif 000002
【図２】
0004178700.tif 000003
【図３】
0004178700.tif 000004
【図４】
0004178700.tif 000005
【図５】
0004178700.tif 000006
【図６】
0004178700.tif 000007
【図７】
0004178700.tif 000008