(57)【要約】【課題】１つの側面では、プログラムを実行する演算処理装置が呼び出す関数を示す情報と、呼び出す関数が参照する関数を示す情報の対応関係を設定する。【解決手段】クライアント装置５２は、ＥＪＢクライアントアプリケーション１５２に含まれるリモートインタフェースのハッシュ値１５８を同一ネットワークセグメント上のサーバ装置７４にマルチキャストする。サーバ装置７４の各々は、自装置に配備されたリモートインタフェースのハッシュ値８８と比較する。ハッシュ値１５８とハッシュ値８８が一致する場合、リモートインタフェースを実装するＥＪＢアプリケーション１６８のＪＮＤＩ名１７４を、クライアント装置５２へ返信する。クライアント装置５２は、返信されたＪＮＤＩ名１７４の一覧に基づきＥＪＢアプリケーション１６８を選択する。従って、予め定義ファイルとして独自ファイルを組み込む処理を省略することができる。【選択図】図３
2015005214.tif 000002
【特許請求の範囲】
【請求項１】
第１の演算処理装置を有する第１の情報処理装置に、所定の関数で記述された所定のプログラムを実行する第１の演算処理装置が呼び出す関数を示す情報を送信させ、
前記呼び出す関数により参照される実行関数を含むプログラムを実行する第２の演算処理装置を有する第２の情報処理装置から、前記呼び出す関数で使用する情報により実行される実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信させ、
受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報と、前記呼び出す関数を示す情報とを前記第１の演算処理装置に対応付けさせる
ことを含む処理を実行させるための情報関連付けプログラム。
【請求項２】
前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信させる場合に、前記実行関数を示す情報として前記実行関数の名称を示す情報を対応させ、前記第２の情報処理装置を示す情報として前記第２の情報処理装置が前記第１の情報処理装置との間で使用する前記第２の情報処理装置のＩＰアドレス及びポート番号を示す情報を対応させる
請求項１記載の情報関連付けプログラム。
【請求項３】
前記受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報に、前記呼び出す関数を示す情報とを前記第１の演算処理装置を対応付けてテーブルに登録させ、該テーブルを前記第１の情報処理装置の記憶部に記憶させる
請求項１または請求項２記載の情報関連付けプログラム。
【請求項４】
前記第２の情報処理装置では、前記実行関数を示す情報に、前記呼び出す関数を示す情報を対応付けた対応関係を予め登録させ、該対応関係を前記第２の情報処理装置の記憶部に記憶させる
請求項１〜請求項３の何れか１項に記載の情報関連付けプログラム。
【請求項５】
前記第１の情報処理装置及び第２の情報処理装置の少なくとも１つは、同一の情報処理装置である
請求項１〜請求項４の何れか１項に記載の情報関連付けプログラム。
【請求項６】
第１の演算処理装置を有する第１の情報処理装置によって、所定の関数で記述された所定のプログラムを実行する第１の演算処理装置が呼び出す関数を示す情報を送信し、
前記呼び出す関数により参照される実行関数を含むプログラムを実行する第２の演算処理装置を有する第２の情報処理装置から、前記呼び出す関数で使用する情報により実行される実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信し、
前記第１の情報処理装置によって、受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報と、前記呼び出す関数を示す情報とを対応付ける
ことを含む情報関連付け方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報関連付けプログラム、及び情報関連付け方法に関する。
【背景技術】
【０００２】
サーバ装置に格納されたオブジェクトをクライアント端末から呼び出して、呼び出したオブジェクトに基づいて処理をクライアント端末において実行させるプログラムがある。サーバ装置に格納されたオブジェクトを呼び出すとき、呼び出すオブジェクトの所在を特定するために、ネーミングサービスを用いる技術が知られている。例えば、クライアント端末がオブジェクト名を含む検索要求をネーミングサービスを提供するサーバ装置に送付し、検索要求の応答としてオブジェクトの所在を示す参照情報をサーバ装置から受信する。クライアント端末は、受信した参照情報に基づいて当該オブジェクトによる処理を実行する。
【０００３】
また、サーバ装置に格納されたオブジェクトの所在を特定するために、ディレクトリサービスを用いる技術が知られている。提供されるサービスをオブジェクトの一例とする場合、ネットワーク上のサービス検索する又は一覧するディレクトリサービスを提供するサーバ装置に対しクライアント端末より問い合わせる場合、サーバ装置はクライアント端末へサービス一覧を返信する。
【０００４】
また、サーバ装置に格納されたオブジェクトの所在を特定するために、複数のサーバ装置のうち、オブジェクトを有するサーバ装置に応答させる技術も知られている。オブジェクトを有するサーバ装置に応答させる技術では、システムがクライアント端末からオブジェクトの所在の問い合わせを受信すると、該当するオブジェクトを複数のサーバから検索して、該当するサーバにクライアント端末への応答を送信させる。
【０００５】
また、オブジェクトの所在を特定する場合の一例として、Ｊａｖａ（登録商標）アプレットの出所を保証する技術が知られている。Ｊａｖａ（登録商標）アプレットの出所を保証する技術では、Ｊａｖａ（登録商標）アプレットの所在の定義を示す配備情報のハッシュ値を求め、起動時にハッシュ値で同一性を確認することにより、Ｊａｖａ（登録商標）アプレットの出所を保証することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−３０４８６号公報
【特許文献２】特開２００１−３２５１８３号公報
【特許文献３】特開２００１−６７３７７号公報
【特許文献４】国際公開第２００６／０１６４０７号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、サーバ装置において動作されるアプリケーションプログラムの一部をオブジェクトとして、クライアント端末で呼び出す場合、クライアント端末は呼び出すオブジェクトの所在を特定する。呼び出すオブジェクトの所在を特定するために、クライアント端末には、サーバ装置におけるオブジェクトに関する接続情報と、クライアント端末においてオブジェクトを呼び出すことを示す呼び出し情報との関係が設定される。
【０００８】
しかしながら、サーバ装置におけるアプリケーションプログラムの一部であるオブジェクトについて設定変更がなされたり、サーバ装置の構成変更がなされたりする場合、クライアント端末において接続情報と呼び出し情報との関係の再設定が要求される。また、クライアント端末で呼び出すオブジェクトが複数存在する場合、複数のオブジェクトの各々をユーザの手動等により確認して接続情報と呼び出し情報との関係を再設定することが要求される。例えば、オブジェクトの一覧を示す情報を取得しても、呼び出すオブジェクトの内容に対応する複数のオブジェクトの各々の内容をユーザの手動等により確認することが要求される。
【０００９】
１つの側面では、プログラムを実行する演算処理装置が呼び出す関数を示す情報と、呼び出す関数が参照する関数を示す情報の対応関係を設定することを目的とする。
【課題を解決するための手段】
【００１０】
開示の技術は、第１の演算処理装置を有する第１の情報処理装置に、所定の関数で記述された所定のプログラムを実行する第１の演算処理装置が呼び出す関数を示す情報を送信させる。また、呼び出す関数により参照される実行関数を含むプログラムを実行する第２の演算処理装置を有する第２の情報処理装置から、呼び出す関数で使用する情報により実行される実行関数を示す情報及び第２の情報処理装置を示す情報を送信させる。また、受信した実行関数を示す情報及び第２の情報処理装置を示す情報と、呼び出す関数を示す情報とを第１の演算処理装置に対応付けさせる。
【発明の効果】
【００１１】
１つの実施態様では、プログラムを実行する演算処理装置が呼び出す関数を示す情報と、呼び出す関数が参照する関数を示す情報を対応付けることができる、という効果を有する。
【図面の簡単な説明】
【００１２】
【図１】情報関連付けシステムの一例を示すブロック図である。
【図２】コンピュータシステムで実現する情報関連付けシステムの一例を示すブロック図である。
【図３】コンピュータシステムの動作説明図である。
【図４】サーバ装置に登録されるテーブルの一例を示すイメージ図である。
【図５】クライアント装置に記憶可能なテーブルの一例を示すイメージ図である。
【図６】サーバ装置のテーブルの登録処理の流れの一例を示すフローチャートである。
【図７】サーバ装置のホスト情報の提供処理の流れの一例を示すフローチャートである。
【図８】クライアント装置における接続情報と呼び出し情報との関連づけ処理の流れの一例を示すフローチャートである。
【図９】コンピュータシステムの動作説明図である。
【図１０】ホスト情報を選択指示させるための表示画面の一例を示すイメージ図である。
【図１１】クライアント装置の実行処理の流れの一例を示すフローチャートである。
【図１２】コンピュータで実現する情報関連付けシステムの一例を示すブロック図である。
【図１３】比較例に係る情報処理システムに関する説明図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１４】
なお、本実施形態は、プログラミング言語であるＪａｖａ（登録商標）言語でプログラム部品を作成し、プログラム部品であるオブジェクトを組み合わせてアプリケーションプログラムを構築する場合に開示の技術を適用した場合の一例を説明する。本実施形態は、Ｊａｖａ（登録商標）言語によるアプリケーションプログラムを用いて説明するが、開示の技術は、Ｊａｖａ（登録商標）言語によるアプリケーションプログラムに限定されるものではない。
【００１５】
例えば、Ｊａｖａ（登録商標）言語によるプログラム部品をアプリケーションプログラムに含んで使用する際にサーバ装置で使用する機能をまとめた手法（Enterprise Java（登録商標）として知られる手法）が存在する。Enterprise Java（登録商標）として知られる手法の一部には、ＥＪＢ(Enterprise Java（登録商標）Beans)として知られる手法が存在する。ＥＪＢとして知られる手法に沿って作成されたＥＪＢアプリケーションプログラムは、ウェブ（Ｗｅｂ）サーバなどに実装される場合がある。ＥＪＢとして知られる手法は、Java（登録商標）Beansとして知られる手法に、アプリケーションプログラムをサーバ装置で実行される処理に使用する機能を追加した手法である。Java（登録商標）Beansとして知られる手法は、Ｊａｖａ（登録商標）言語でプログラム部品を作成し、プログラム部品であるオブジェクトを組み合わせてアプリケーションプログラムを構築する手法である。
【００１６】
（比較例）
まず、開示の技術の説明に先立ち、図面を参照して比較例を説明する。
【００１７】
図１３に、比較例に係る情報処理システム１００の構成を示す。情報処理システム１００は、クライアント装置１０２及びサーバ装置１２０を含んでいる。クライアント装置１０２では、クライアントプロセス１０４が実行される。クライアントプロセス１０４は、ＥＪＢクライアントアプリケーションプログラムの実行により機能するＥＪＢクライアントアプリケーション１０６を含んでいる。ＥＪＢクライアントアプリケーション１０６には、リモートインタフェースで呼び出すオブジェクトを示す情報１０８、及びリモートインタフェースの内容を示す情報１１０が記述されている。情報１０８の一例には、ＪＮＤＩ（Java（登録商標） Naming and Directry Interface )名がある。内容を示す情報１１０の一例には、リモートインタフェースについてメソッド及びパラメタ等を示す情報がある。
【００１８】
また、サーバ装置１２０では、サーバプロセス１２４が実行される。サーバプロセス１２４は、ＥＪＢアプリケーションプログラムの実行により機能するＥＪＢアプリケーション１２６を含んでいる。ＥＪＢアプリケーション１２６には、リモートインタフェースにより提供するオブジェクトを示す情報１２８、及びリモートインタフェースの内容を示す情報１３０が記述されている。図１３では、ＥＪＢアプリケーション１２６によりオブジェクトを示す情報としてＪＮＤＩ名を示す情報１３２が自動生成された場合を示している。
【００１９】
例えば、クライアント装置１０２で実行されるＥＪＢクライアントアプリケーション１０６は、サーバ装置１２０上で実行されるＥＪＢアプリケーション１２６をオブジェクトとして、リモート呼び出し処理を実行する場合がある。リモート呼び出し処理を実行する場合、呼び出すオブジェクトを特定するために、ＥＪＢクライアントアプリケーション１０６には、呼び出すオブジェクトに関する情報が定められる。つまり、ＥＪＢクライアントアプリケーション１０６に、呼び出すＥＪＢアプリケーション１２６の接続情報と、ＥＪＢクライアントアプリケーション１０６の呼び出し情報とを関連付けた情報が、定義ファイルとして予め登録される。なお、接続情報と、呼び出し情報との関連付けをＪＮＤＩマッピングという場合がある。図１３では、接続情報の一例として、サーバ装置１２０に関するＩＰアドレス、使用するポート１２２の番号、及びＪＮＤＩ名の各情報を含むホスト情報１１６が表記されている。また、呼び出し情報の一例として、InitialContextクラスのlookupメソッドの引数として指定するＪＮＤＩ名が、ＪＮＤＩ参照名を示す情報１１４として表記されている。つまり、図１３では、定義ファイル１１２には、ＪＮＤＩ参照名を示す情報１１４とホスト情報１１６とが関連付けられた情報が予め格納される。
【００２０】
ところで、ＥＪＢクライアントアプリケーション１０６に、サーバ装置１２０及びサーバプロセス１２４に関する独自の定義ファイル１１２を組み込む場合、ＥＪＢアプリケーション１２６の設定変更の度に、定義ファイル１１２を手動により再設定する。また、サーバ装置１２０の構成変更が発生した場合にも定義ファイル１１２を手動により再設定する。従って、サーバ装置１２０における情報が変更される度に定義ファイル１１２を再設定するユーザの操作が増加し、処理が煩雑になる。
【００２１】
また、複数のサーバ装置が、同一のＪＮＤＩ名によるオブジェクトを含む場合がある。しかし、同一のＪＮＤＩ名であっても呼び出すＥＪＢアプリケーション１２６の動作が一致するとは限らない。従って、ユーザは、ＪＮＤＩ名が一致するサーバ装置１２０側のリモートインタフェースがクライアント装置１０２側のリモートインタフェースと一致か不一致かを手動で確認する作業が増加する。例えば、ＪＮＤＩ名を示す情報１３２からでは、ＥＪＢアプリケーション１２６が実装しているリモートインタフェースと、呼び出し側のＥＪＢクライアントアプリケーション１０６が実装しているリモートインタフェースの内容が一致か不一致かを判別できない。従って、リモートインタフェースの内容について手動で確認する作業が増加する。リモートインタフェースの内容の一例に、メソッド数、パラメタ、及び例外を示す情報がある。
【００２２】
本実施形態では、以下に詳細を説明するように、例えば、ＥＪＢクライアントアプリケーションから接続可能なＥＪＢアプリケーションのうち、リモートインタフェースの内容が一致するＥＪＢアプリケーションを選択して情報を関連づけるものである。
【００２３】
（第１実施形態）
図１に、本実施形態に係る情報関連付けシステム１０の一例を示す。情報関連付けシステム１０は、開示の技術における情報関連付けプログラム及び情報関連付け方法が適用可能なサーバクライアントシステムの一例である。情報関連付けシステム１０は、クライアント装置１２及びサーバ装置３０を備えている。クライアント装置１２はＣＰＵ１４及びメモリ２４を含んでおり、メモリ２４には情報を関連付ける関数２８を含む対象プログラムとしてクライアントアプリケーションプログラム２６が記憶されている。なお、クライアント装置１２では、クライアントアプリケーションプログラム２６が実行されるときに、ＣＰＵ１４により関数２８が呼び出され、関数２８に関連付けられるサーバ装置３０において実行される関数４８がオブジェクトとして取得される。クライアント装置１２のＣＰＵ１４は、関数２８に情報を関連付ける関連付けプログラムを実行することによって、抽出・演算部１６、送信部１８、対応付け部２０及び受信部２２として動作する。
【００２４】
サーバ装置３０はＣＰＵ３２及びメモリ４２を含んでおり、メモリ４２にはオブジェクトとして提供する関数４８を含むサーバアプリケーションプログラム４６が記憶されている。また、メモリ４２には関数４８について、オブジェクトとして提供するための情報を示すテーブル４４が記憶されている。オブジェクトとして提供するするための情報の一例として、関数４８の名称と関数４８を使用するときのパラメタなどの各種情報との対応関係を示す情報がある。なお、関数４８を使用するときのパラメタなどの各種情報は、一方向関数による演算結果を示す情報を求めることにより、各種情報を一意に特定可能なユニークなデータとして記憶させることができる。サーバ装置３０のＣＰＵ３２は、関数４８を管理する管理プログラムを実行することによって、受信部３４、比較部３６、抽出・演算部４０及び情報送信部３８として動作する。
【００２５】
情報関連付けシステム１０のサーバ装置３０では、テーブル４４が予め登録される。つまり、サーバ装置３０では、サーバ装置３０のＣＰＵ３２が管理プログラムを実行することにより、抽出・演算部４０はオブジェクトとして提供する関数４８を抽出し、抽出した関数４８を示す情報を入力とする一方向関数の演算結果を得る。抽出・演算部４０は、一方向関数の演算結果を、抽出した関数４８の名称を示す情報に対応付けてテーブル４４に登録する。情報関連付けシステム１０のクライアント装置１２では、ＣＰＵ１４が関数２８を呼び出し、サーバ装置３０における関数４８をオブジェクトとして取得するために、ＣＰＵ１４が情報関連付けプログラムを実行する。情報関連付けプログラムの実行により、クライアント装置１２の抽出・演算部１６はクライアントアプリケーションプログラム２６に含まれる関数２８を抽出する。抽出・演算部１６は、抽出した関数２８を示す情報を入力とする一方向関数の演算結果を求める。送信部１８は、抽出・演算部１６の演算結果を、サーバ装置３０へ送信する。つまり、送信部１８は、関数２８で記述されたクライアントアプリケーションプログラム２６を実行するＣＰＵ１４が呼び出す関数２８を示す情報を送信する。
【００２６】
サーバ装置３０では、受信部３４が呼び出す関数２８を示す一方向関数の演算結果を受信し、比較部３６がテーブル４４を用いて、受信した一方向関数の演算結果と一致する一方向関数の演算結果である関数４８を示す情報を特定する。特定された関数４８を示す情報は、情報送信部３８により、クライアント装置１２へ送信される。情報送信部３８により送信される情報は、特定された関数４８の名称を示す情報及びサーバ装置３０を示す情報を含む。クライアント装置１２では、サーバ装置３０から送信された関数４８を示す情報及びサーバ装置３０を示す情報と、呼び出す関数２８を示す情報とを対応付ける。つまり、サーバ装置３０から送信された情報を受信部２２が受信し、対応付け部２０において、サーバ装置３０から送信された関数４８を示す情報及びサーバ装置３０を示す情報と、呼び出す関数２８を示す情報とを対応付ける。これにより、クライアントアプリケーションプログラム２６を実行するＣＰＵ１４が呼び出す関数２８を示す情報と、呼び出す関数２８が参照する関数４８を示す情報を対応付けることができる。
【００２７】
情報関連付けシステム１０は開示の技術における情報関連付けシステムの一例であり、送信部１８は開示の技術における第１の送信部の一例であり、情報送信部３８は第２の送信部の一例である。また、対応付け部２０は開示の技術における対応付け部の一例である。
【００２８】
図２に、情報関連付けシステム１０をコンピュータシステム５０で実現する一例を示す。コンピュータシステム５０は、各々コンピュータネットワーク９６に接続されたクライアント装置５２及び複数のサーバ装置７４を含んでいる。なお、複数のサーバ装置７４の各々について個別に対象とする場合は、サーバ装置７４Ａ〜７４Ｎと表記し、サーバ装置７４同士を区別して扱う。クライアント装置５２は、ＣＰＵ５４、メモリ５６、及び不揮発性の記憶部５８を備えている。ＣＰＵ５４、メモリ５６、及び記憶部５８は、バス５３を介して互いに接続されている。また、クライアント装置５２は、表示装置６８及び入力装置６９を備え、表示装置６８及び入力装置６９はバス５３に接続されている。また、クライアント装置５２は、コンピュータネットワーク９６に接続するための通信制御部７１及び記録媒体７２が挿入され、挿入された記録媒体７２に対して読み書きするための装置（ＩＯ装置）７０がバス５３に接続されている。なお、記憶部５８はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。
【００２９】
記憶部５８には、コンピュータシステム５０を情報関連付けシステム１０の一部として機能させるための一例としての関連付けプログラム６０が記憶されている。関連付けプログラム６０は、抽出・演算プロセス６１、送信プロセス６２、受信プロセス６３、及び対応付けプロセス６４を含んでいる。ＣＰＵ５４が関連付けプログラム６０を記憶部５８から読み出してメモリ５６に展開し、関連付けプログラム６０が有するプロセスを順次実行することで、クライアント装置５２は、図１に示すクライアント装置１２として動作する。また、ＣＰＵ５４が抽出・演算プロセス６１を実行することで、クライアント装置５２は、図１に示すクライアント装置１２の抽出・演算部１６として動作し、ＣＰＵ５４が送信プロセス６２を実行することで、図１に示す送信部１８として動作する。また、ＣＰＵ５４が受信プロセス６３を実行することで、クライアント装置５２は、図１に示すクライアント装置１２の受信部２２として動作し、対応付けプロセス６４を実行することで、図１に示す対応付け部２０として動作する。
【００３０】
また、記憶部５８には、対象プログラムとしてのクライアントアプリケーションプログラム２６が記憶されている。また、記憶部５８には、クライアントアプリケーションプログラム２６を実行するＣＰＵ５４が呼び出す関数２８を示す情報と、呼び出す関数２８が参照する関数４８を示す情報を対応付けるテーブル６６が記憶されている。また、記憶部５８は、ＯＳ(Operating System)６７が記憶されている。
【００３１】
また、サーバ装置７４は、ＣＰＵ７６、メモリ７８、及び不揮発性の格納部８０を備えている。ＣＰＵ７６、メモリ７８、及び格納部８０は、バス７５を介して互いに接続されている。また、サーバ装置７４は、表示装置９１及び入力装置９２を備え、表示装置９１及び入力装置９２はバス７５に接続されている。また、サーバ装置７４は、コンピュータネットワーク９６に接続するための通信制御部９４及び記録媒体７２が挿入され、挿入された記録媒体７２に対して読み書きするための装置（ＩＯ装置）９３がバス７５に接続されている。なお、格納部８０はＨＤＤやフラッシュメモリ等によって実現できる。
【００３２】
格納部８０には、コンピュータシステム５０を情報関連付けシステム１０の一部として機能させるための一例としての管理プログラム８２が記憶されている。管理プログラム８２は、演算格納プロセス８３、受信プロセス８４、比較プロセス８５、及び情報送信プロセス８６を含んでいる。ＣＰＵ７６が管理プログラム８２を格納部８０から読み出してメモリ７８に展開し、管理プログラム８２が有するプロセスを順次実行することで、サーバ装置７４は、図１に示すサーバ装置３０として動作する。また、ＣＰＵ７６が演算格納プロセス８３を実行することで、サーバ装置７４は、図１に示すサーバ装置３０の抽出・演算部４０として動作し、ＣＰＵ７６が受信プロセス８４を実行することで、図１に示す受信部３４として動作する。また、サーバ装置７４は、ＣＰＵ７６が比較プロセス８５を実行することで図１に示す比較部３６として動作し、情報送信プロセス８６を実行することで、図１に示す情報送信部３８として動作する。
【００３３】
また、格納部８０には、サーバアプリケーションプログラム４６が記憶されている。また、格納部８０には、オブジェクトとして提供するする関数４８の名称と関数４８を使用するときのパラメタなどの各種情報との対応関係を示すテーブル６６が記憶されている。テーブル６６に登録されるパラメタなどの各種情報に、一方向関数の一例であるハッシュ関数による関数４８の演算結果の構造データとしてのハッシュ値８８が格納される。また、格納部８０は、サーバ用のＯＳ(Operating System)９０が記憶されている。
【００３４】
次に、本実施形態の作用を説明する。まず、コンピュータシステム５０における動作で、クライアント側から呼び出すＥＪＢアプリケーションの接続情報と、ＥＪＢクライアントアプリケーションの呼び出し情報の関連づけについて簡単に説明する。
【００３５】
図３に、コンピュータシステム５０における動作説明図を示す。図３は、説明を簡単にするために、クライアント装置５２と１台のサーバ装置７４とを含むコンピュータシステム５０の一例を示している。コンピュータシステム５０のクライアント装置５２は、ＥＪＢアプリケーションのリモート呼び出しを実行するために、呼び出すＥＪＢアプリケーションの接続情報と、ＥＪＢクライアントアプリケーションの呼び出し情報の関連づけを実行する。
【００３６】
サーバ装置７４では、サーバプロセス１６６が実行される。サーバプロセス１６６は、サーバアプリケーションプログラム４６の実行により機能するＥＪＢアプリケーション１６８を含んでいる。ＥＪＢアプリケーション１６８には、リモートインタフェースにより提供するオブジェクトを示す情報１７０、及びリモートインタフェースの内容を示す情報１７２が記述される。なお、サーバ装置７４では、ＥＪＢアプリケーション１６８によりオブジェクトを示す情報としてＪＮＤＩ名を示す情報１７４が自動生成される。
【００３７】
また、サーバ装置７４のサーバプロセス１６６は、管理プログラム８２の実行により機能する管理アプリケーション１７６を含んでいる。管理アプリケーション１７６は、リモートインタフェースの内容を示す情報１７２のハッシュ値８８を求め、ハッシュ値８８にＪＮＤＩ名を示す情報１７４を対応付けた情報をテーブル８７として登録する機能を有している。また、管理アプリケーション１７６は、テーブル８７を参照し、クライアント装置５２から送信されるハッシュ値１５８と同一のハッシュ値であるリモートインタフェースを含むときに、ホスト情報１６０を送信する機能を有している。ホスト情報の一例は、サーバ装置７４のＩＰアドレス、ポート１６４のポート番号及びＪＮＤＩ名を示す情報１７４の各情報を含む。
【００３８】
クライアント装置５２では、クライアントプロセス１５０が実行される。クライアントプロセス１５０は、クライアントアプリケーションプログラム２６の実行により機能するＥＪＢクライアントアプリケーション１５２を含んでいる。ＥＪＢクライアントアプリケーション１５２には、リモートインタフェースで呼び出すオブジェクトを示す情報１５４、及びリモートインタフェースの内容を示す情報１５６が記述されている。本実施形態では、情報１５４の一例に、ＪＮＤＩ参照名１５５を使用し、内容を示す情報１５６の一例に、リモートインタフェースについてのメソッド及びパラメタ等を示す情報を使用する。
【００３９】
また、クライアント装置５２のクライアントプロセス１５０は、関連付けプログラム６０の実行により機能する関連付けアプリケーション１６２を含んでいる。関連付けアプリケーション１６２は、リモートインタフェースの内容を示す情報１５６のハッシュ値１５８を求め、同一のハッシュ値１５８のＪＮＤＩ名を示す情報１７４をサーバ装置７４から検索する機能を有している。また、関連付けアプリケーション１６２は、ハッシュ値１５８と同一のハッシュ値であるリモートインタフェースに接続するためのホスト情報１６０を受信し、ＪＮＤＩ参照名１５５とホスト情報１６０を対応付ける機能を有している。ＪＮＤＩ参照名１５５にホスト情報１６０を対応付けた情報はテーブル６６として記憶することができる。
【００４０】
従って、コンピュータシステム５０においてクライアント装置５２は、リモートインタフェースのハッシュ値が一致するリモートインタフェースに関するホスト情報１６０を受信でき、サーバ装置７４に接続可能なＥＪＢアプリケーション１６８を特定できる。
【００４１】
なお、ＥＪＢクライアントアプリケーション１５２のリモートインタフェースの内容を示す情報１５６は、開示の技術における関数の一例である。また、ＥＪＢクライアントアプリケーション１５２のリモートインタフェースの内容を示す情報１５６の一方向関数の演算結果を示す情報は、開示の技術における構造データの一例である。
【００４２】
図４に、サーバ装置７４に登録されるテーブル８７の一例を示す。図４では、ＪＮＤＩ名を示す情報と、ＪＮＤＩ名によりリモートインタフェースのハッシュ値を示す情報との対応関係を有するテーブル８７が示されている。また、図５に、クライアント装置５２に記憶することができるテーブル６６の一例を示す。図５では、クライアント装置５２で呼び出す情報を示すＪＮＤＩ参照名を示す情報に、サーバ装置７４におけるＪＮＤＩ名、ＩＰアドレス及びポート番号の各情報を含むホスト情報が対応づけられたテーブル６６が示されている。
【００４３】
次に、コンピュータシステム５０における動作で、クライアント側から呼び出すＥＪＢアプリケーションの接続情報と、ＥＪＢクライアントアプリケーションの呼び出し情報の関連づけの処理について詳細に説明する。なお、コンピュータシステム５０に含まれるクライアント装置５２及び複数のサーバ装置７４は、コンピュータネットワーク９６上における同一のネットワークセグメントで稼働される場合を説明する。
【００４４】
図６に、サーバ装置７４において予め実行されるテーブル８７の登録処理の流れの一例を示す。テーブル８７の登録処理は、サーバ装置７４に、例えばＥＪＢアプリケーション１６８を実装するときに実行される。また、テーブル８７の登録処理は、開示の技術の関連付けプログラムの一例として実行される管理プログラム８２の一部による処理である。また、図６に示すテーブル８７の登録処理は、管理プログラム８２の演算格納プロセス８３の実行による処理である。
【００４５】
まず、サーバ装置７４のＣＰＵ７６は、管理プログラム８２の演算格納プロセス８３の実行を開始する。具体的には、ＣＰＵ７６は、ステップ２００で、ＪＮＤＩ参照名を使用してＥＪＢアプリケーション１６８のリモートインタフェースを実装したサーバアプリケーションを実装（コンパイル）し、ステップ２０２で、アプリケーションファイルを作成する。アプリケーションファイルの作成では、サーバクラス及びリモートインタフェースが追加される。次に、ＣＰＵ７６は、ステップ２０４で、作成されたアプリケーションファイルをデプロイ、つまりアプリケーションを使用可能な状態にする。なお、ステップ２００〜ステップ２０４の処理は、ユーザによる手動操作によって実行される、アプリケーションファイルをデプロイする既知の技術であり、詳細な説明は省略する。
【００４６】
次に、ＣＰＵ７６は、ステップ２０６で、リモートインタフェースからＪＮＤＩ名を作成し、ネーミングサービスに登録する。
【００４７】
次に、ＣＰＵ７６は、ステップ２０８で、リモートインタフェースからハッシュ値８８を取得する。つまり、ＣＰＵ７６は、リモートインタフェースを一方向関数に入力し、計算結果を得ることまたはリモートインタフェースのシリアライズ値を使用することにより、ハッシュ値８８を取得する。次に、ＣＰＵ７６は、ステップ２０８で取得したハッシュ値８８に、ステップ２０６で作成したＪＮＤＩ名を対応付けてテーブル８７に登録し、本処理ルーチンを終了する。
【００４８】
次に、コンピュータシステム５０において、クライアント側からＥＪＢアプリケーションが呼び出されたときのサーバ装置７４における処理について詳細に説明する。なお、クライアント装置５２において、ＥＪＢアプリケーションを呼び出す処理は後述する。
【００４９】
図７に、サーバ装置７４において実行されるクライアント装置５２よりＥＪＢアプリケーションを呼び出すために使用する情報が要求されるときの処理、つまりホスト情報の提供処理の流れの一例を示す。ホスト情報の提供処理は、サーバ装置７４に、クライアント装置５２からホスト情報の提供要求がなされるときに実行される。また、ホスト情報の提供処理は、開示の技術の関連付けプログラムの一例として実行される管理プログラム８２の一部による処理である。また、図７に示すホスト情報の提供処理は、管理プログラム８２の受信プロセス８４、比較プロセス８５及び情報送信プロセス８６の実行による処理である。
【００５０】
まず、サーバ装置７４のＣＰＵ７６は、管理プログラム８２の受信プロセス８４、比較プロセス８５及び情報送信プロセス８６について順次実行を開始する。具体的には、ＣＰＵ７６は、クライアント装置５２からホスト情報１６０の提供要求を示す情報を受信すると、図７に示す処理ルーチンが実行される。ＣＰＵ７６は、ステップ２２０で、制御用ＩＤ、認証情報、及びハッシュ値１５８を受信する。制御用ＩＤは、クライアント装置５２よりＥＪＢアプリケーションを呼び出すために使用する情報（ホスト情報１６０）の要求に応じた制御処理に対して予め定められた識別情報である。認証情報は、クライアント装置５２がサーバ装置７４に接続するときの認証に用いる情報である。ハッシュ値１５８は、ＥＪＢクライアントアプリケーション１５２のリモートインタフェースの内容を示す情報１５６の一方向関数の演算結果を示す情報である（詳細は後述）。
【００５１】
次にＣＰＵ７６は、ステップ２２２で、認証処理を実行し、正規のクライアント装置５２からの要求であることを確認する。なお、ＣＰＵ７６は、ステップ２２２で認証処理に失敗すると、処理を進めることなく、本処理ルーチンを終了し、成功するとステップ２２４の処理へ移行する。次にＣＰＵ７６は、ステップ２２４で、テーブル８７を参照し、ステップ２２０で受信したハッシュ値１５８と同一のハッシュ値８８がテーブル８７に登録済みか否かを判断する。テーブル８７に非登録の場合、ＣＰＵ７６は、クライアント装置５２より要求されるリモートインタフェースを含むＥＪＢアプリケーションを含んでいないと判別（ステップ２２４で否定判断）し、ステップ２３０で全処理を完了し、本処理ルーチンを終了する。
【００５２】
ハッシュ値１５８と同一のハッシュ値８８がテーブル８７に登録済みの場合、ＣＰＵ７６は、クライアント装置５２より要求されるＥＪＢアプリケーション１６８を含んでいると判別（ステップ２２４で肯定判断）し、ステップ２２６へ処理を移行する。次にＣＰＵ７６は、ステップ２２６で、ハッシュ値８８に対応づけられたＪＮＤＩ名と自装置のＩＰアドレス及びポート番号とを取得し、取得したＪＮＤＩ名、自装置のＩＰアドレス、及びポート番号を、ステップ２２８で、ホスト情報１６０として送信する。
【００５３】
なお、図６に示すステップ２０４〜ステップ２１０の処理は、演算格納プロセス８３（図２）の処理に対応する。図７に示すステップ２２０の処理は、受信プロセス８４（図２）の処理に対応し、ステップ２２２の処理は比較プロセス８５の処理に対応しステップ２２６及び２２８の処理は情報送信プロセス８６の処理に対応する。
【００５４】
次に、コンピュータシステム５０において、クライアント装置５２における処理について詳細に説明する。
【００５５】
図８に、クライアント装置５２において実行されるクライアント側から呼び出すＥＪＢアプリケーションの接続情報と、ＥＪＢクライアントアプリケーションの呼び出し情報との関連づけ処理の流れの一例を示す。また、図９に、コンピュータシステム５０における動作説明図を示す。図９は、クライアント装置５２と３台のサーバ装置７４Ａ〜７４Ｃとを含むコンピュータシステム５０の一例を示している。接続情報と呼び出し情報との関連づけ処理は、クライアント装置５２に、ＥＪＢクライアントアプリケーション１５２を実装するときに実行される。また、接続情報と呼び出し情報との関連づけ処理は、開示の技術の関連付けプログラムの一例として実行される関連付けプログラム６０の一部による処理である。また、図８に示す接続情報と呼び出し情報との関連づけ処理は、関連付けプログラム６０の抽出・演算プロセス６１、送信プロセス６２、受信プロセス６３及び対応付けプロセス６４の実行による処理である。
【００５６】
まず、クライアント装置５２のＣＰＵ５４は、関連付けプログラム６０の抽出・演算プロセス６１、送信プロセス６２、受信プロセス６３及び対応付けプロセス６４について順次実行を開始する。具体的には、ＣＰＵ５４は、クライアント装置５２に、ＥＪＢクライアントアプリケーション１５２を実装するとき、図８に示す処理ルーチンが実行される。ＣＰＵ５４は、ステップ２４０で、ＪＮＤＩ参照名１５５を使用してＥＪＢアプリケーション１６８のリモートインタフェースオブジェクトを参照するクライアントソースを実装（コンパイル）し、ステップ２２４で、アプリケーションファイルを作成する。アプリケーションファイルの作成では、クライアントクラス及びリモートインタフェースが追加される。次に、ＣＰＵ５４は、ステップ２４４で、作成したアプリケーションファイルをデプロイ、つまりアプリケーションを使用可能な状態にする。なお、ステップ２４０〜ステップ２４４の処理は、ユーザによる手動操作によって実行される、アプリケーションファイルをデプロイする既知の技術であり、詳細な説明は省略する。
【００５７】
次に、ＣＰＵ５４は、ステップ２４６で、リモートインタフェースからハッシュ値１５８を取得する。つまり、ＣＰＵ５４は、リモートインタフェースを一方向関数に入力し、計算結果を得ることまたはリモートインタフェースのシリアライズ値を使用することにより、ハッシュ値１５８を取得する。次に、ＣＰＵ５４は、ステップ２４８で、制御用ＩＤ、認証情報、及びハッシュ値１５８を、サーバ装置７４Ａ〜７４Ｃへ向けてマルチキャスト（送信）する（図９に示す実線１８０も参照）。
【００５８】
次に、ＣＰＵ５４は、ステップ２５０で、サーバ装置７４Ａ〜７４Ｃから返信されるホスト情報１６０（ＪＮＤＩ名、ＩＰアドレス、ポート番号）を受信する。図９では、サーバ装置７４Ａにおいてハッシュ値１５８とリモートインタフェースの内容を示す情報１７２Ａのハッシュ値８８Ａが不一致である場合を示している。また、サーバ装置７４Ｃにおいてハッシュ値１５８とリモートインタフェースの内容を示す情報１７２Ｃのハッシュ値８８Ｃが不一致である場合も示している。さらに、サーバ装置７４Ｂにおいてハッシュ値１５８とリモートインタフェースの内容を示す情報１７２Ｂのハッシュ値８８Ｂが一致する場合も示している。従って、サーバ装置７４Ａ及び７４Ｃはホスト情報１６０を返信せず、サーバ装置７４Ｂのみがホスト情報１６０を返信する（図９に点線１８２で示す）。
【００５９】
次にＣＰＵ５４は、ステップ２５２で、複数のホスト情報１６０に対する選択ルールが定められているか否かを判断する。ステップ２５２の判断処理は、選択ルールが記憶部５８に予め記憶されているか否かを判別することにより判断することができる。選択ルールの一例として、サーバ装置７４Ａ〜７４Ｃから処理能力を示す情報を取得し、処理能力が最も高いサーバ装置７４を選択するルールがある。
【００６０】
選択ルールが定められている場合、ＣＰＵ５４はステップ２５２で肯定判断し、ステップ２５４において、選択ルールに従ってホスト情報１６０を選択する。一方、選択ルールが定められていない場合、ＣＰＵ５４はステップ２５２で否定判断し、ステップ２５６で、ユーザの入力によるホスト情報１６０の選択値を取得し、選択値に従ってホスト情報１６０を選択する。
【００６１】
図１０に、選択ルールが定められていない場合の一例として、ユーザに提示される複数のホスト情報１６０に対して選択指示の入力を促す表示画面１８４を示す。図１０では、クライアント装置５２からのハッシュ値１５８に対して、サーバ装置７４のＪＮＤＩ名が「ＪＮＤＩ＿２」のリモートインタフェースの内容を示す情報１７２のハッシュ値８８が選択指示された場合を示している。
【００６２】
次にＣＰＵ５４は、ステップ２５８において、ステップ２５４またはステップ２５６で選択したホスト情報１６０（ＪＮＤＩ名、ＩＰアドレス、ポート番号）とＪＮＤＩ参照名１５５とを対応付けて、本処理ルーチンを終了する。
【００６３】
なお、返信されるホスト情報１６０がサーバ装置７４Ａ〜７４Ｃのうちの何れか１つのサーバ装置７４である場合、ステップ２５２〜２５６の処理を省略することができる。
【００６４】
次に、コンピュータシステム５０のクライアント装置５２におけるＥＪＢクライアントアプリケーションの実行処理の一例を説明する。
【００６５】
図１１に、クライアント装置５２におけるＥＪＢクライアントアプリケーションの実行処理の一例を示す。なお、図１１の処理では、分散オブジェクト技術を用いている。
【００６６】
クライアント装置５２のＣＰＵ５４は、ステップ２６０で、ＥＪＢクライアントアプリケーション１５２がInitialContextクラスのlookupメソッド実行によりリモートオブジェクトの作成を要求する。ＣＰＵ５４は、ステップ２６２で、クライアントプロセス１５０は、ＥＪＢクライアントアプリケーション１５２から受け取ったＪＮＤＩ参照名をキーとしてデプロイ時に対応づけたホスト情報１６０（ＩＰアドレス、ポート番号、ＪＮＤＩ名）を取得する。ＣＰＵ５４は、ステップ２６４で、クライアントプロセス１５０は、分散オブジェクト技術によるオブジェクトリファレンスをリモートオブジェクトに格納した後に、ＥＪＢクライアントアプリケーション１５２に返却する。ＣＰＵ５４は、ステップ２６６で、ＥＪＢクライアントアプリケーション１５２は、リモートインタフェースの内容を示す情報１５６であるリモートオブジェクトのメソッドを実行する。ＣＰＵ５４は、ステップ２６８で、クライアントプロセス１５０は、リモートオブジェクトに格納されたオブジェクトリファレンスを利用して、サーバ装置７４のＥＪＢアプリケーション１６８の呼び出し処理を実行する。
【００６７】
従って、ＥＪＢクライアントアプリケーション１５２の実行時には、図８に示す処理により対応づけたＪＮＤＩ参照名１５５及びホスト情報１６０により、独自ファイルを組み込むことなく、ＥＪＢアプリケーション１６８を呼び出すことができる。
【００６８】
以上説明したように、本実施形態では、ＥＪＢクライアントアプリケーション１５２と呼び出すＥＪＢアプリケーション１６８は同一のリモートインタフェースであるＪａｖａ（登録商標）インタフェースを有している。クライアント装置５２は、ＥＪＢクライアントアプリケーション１５２に含まれるリモートインタフェースのハッシュ値１５８を同一ネットワークセグメント上のサーバ装置７４にマルチキャストする。サーバ装置７４の各々は、自装置に配備されたリモートインタフェースのハッシュ値８８と比較する。ハッシュ値１５８とハッシュ値８８が一致する場合、リモートインタフェースを実装するＥＪＢアプリケーション１６８のＪＮＤＩ名を示す情報１７４を、クライアント装置５２へ返信する。クライアント装置５２は、返信されたＪＮＤＩ名を示す情報１７４の一覧をもとに、選択ルールに従って、またはユーザによる指示によりＪＮＤＩ名を示す情報１７４で示されるＥＪＢアプリケーション１６８を選択する。
【００６９】
従って、ＥＪＢクライアントアプリケーション１５２に、予め定義ファイルとして独自ファイルを組み込む処理を省略することができる。また、定義ファイルとして独自ファイルを組み込む処理を省略できるので、ＥＪＢクライアントアプリケーション１５２に含まれるリモートインタフェースに対応するＥＪＢアプリケーション１６８を手動にて確認する作業を削減することができる。また、独自の仕様にてサーバ装置７４の各々が構築されている場合であっても、独自仕様のサーバ装置７４の各々に対しても、ＥＪＢアプリケーション１６８を自動的または一覧による指示にみで選択することができる。
【００７０】
また、ＥＪＢクライアントアプリケーション１５２に含まれるリモートインタフェースのハッシュ値１５８を同一ネットワークセグメント上のサーバ装置７４にマルチキャストし、一致したハッシュ値８８のサーバ装置７４からホスト情報１６０が返信される。従って、サーバ装置７４のＥＪＢアプリケーション１６８とクライアント装置５２のＥＪＢクライアントアプリケーション１５２とのリモートインタフェースの内容が一致するＥＪＢアプリケーション１６８のリモート呼び出しを実行できる。
【００７１】
なお、本実施形態では、ＪＮＤＩ参照名１５５とＪＮＤＩ名を示す情報１７４とを対応づけ、ＪＮＤＩ名を示す情報１７４に対応するサーバ装置７４のＩＰアドレス及びポート番号を、クライアント装置５２において取得できる。従って、ＪＮＤＩ参照名１５５に対応するＪＮＤＩ名を示す情報１７４を含むサーバ装置７４を特定することができる。
【００７２】
また、本実施形態では、クライアント装置５２に、ＪＮＤＩ参照名１５５とＪＮＤＩ名を示す情報１７４を含むホスト情報１６０とをテーブル６６に記憶できる。従って、クライアント装置５２はテーブル６６の参照により、ＪＮＤＩ参照名１５５に対応するＪＮＤＩ名を示す情報１７４を含むホスト情報１６０を早期に取得でき、クライアント装置５２においてサーバ装置７４を特定する処理負荷を抑制できる。
【００７３】
また、本実施形態では、サーバ装置７４に、ＪＮＤＩ名を示す情報１７４のリモートインタフェースのハッシュ値をテーブル８７に登録している。従って、サーバ装置７４はテーブル８７の参照によるハッシュ値の比較処理により、該当するリモートインタフェースの有無を判別でき、クライアント装置５２からサーバ装置７４に対する問い合わせ（検索）に対する処理負荷を抑制できる。
【００７４】
また、本実施形態では、ＥＪＢとして知られる手法に沿って作成されたＥＪＢアプリケーションプログラムに対してＪＮＤＩ参照名１５５とＪＮＤＩ名を示す情報１７４とを対応づける。また、ＪＮＤＩ名を示す情報１７４に対応するサーバ装置７４のＩＰアドレス及びポート番号を、クライアント装置５２において取得できる。従って、ＥＪＢとして知られる手法に対して開示の技術を簡単に適用させることができる。
【００７５】
また、本実施形態では、一方向関数による演算結果、例えばハッシュ値を用いて、リモートインタフェースの同一性を判別しているので、メソッド及びパラメータを含む変更が予測される全ての情報によってリモートインタフェースの同一性を判別できる。
【００７６】
（第２実施形態）
次に、第２実施形態を説明する。第１実施形態では、情報関連付けシステム１０を、各々コンピュータネットワーク９６に接続されたクライアント装置５２及び複数のサーバ装置７４を含むコンピュータシステム５０により実現した。第２実施形態は、１つのコンピュータにより情報関連付けシステム１０を実現した場合の一例である。第２実施形態は、第１実施形態と同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【００７７】
図１２に、情報関連付けシステム１０を、コンピュータ５１で実現する一例を示す。コンピュータ５１は、サーバ装置７４Ａに、サーバ機能とクライアント機能を装備したものである。具体的には、コンピュータ５１の格納部８０Ａは、アプリケーションに対してＯＳよりも具体的で基本的な機能を提供するミドルウェアプログラム５７を格納している。ミドルウェアプログラム５７の配下には、クライアントプロセス５９、及びサーバプロセス８１Ａ〜８１Ｎの各々のプロセスが配備される。ＣＰＵ７６Ａがクライアントプロセス５９を格納部８０Ａから読み出してメモリ７８Ａに展開し、クライアントプロセス５９が有するプログラムを実行することで、コンピュータ５１は、図２に示すクライアント装置５２として動作する。また、ＣＰＵ７６Ａがサーバプロセス８１Ａを格納部８０Ａから読み出してメモリ７８Ａに展開し、サーバプロセス８１Ａが有するプログラムを実行することで、コンピュータ５１は、図２に示すサーバ装置７４Ａとして動作する。同様に、ＣＰＵ７６Ａがサーバプロセス８１Ｂ〜８１Ｎの各々を格納部８０Ａから読み出してメモリ７８Ａに展開してプログラムを実行することで、コンピュータ５１は、図２に示すサーバ装置７４Ｂ〜７４Ｎとして動作する。
【００７８】
第２実施形態では、サーバ機能とクライアント機能を装備したコンピュータ５１により、情報関連付けシステム１０を構成するので、独立した装置間で通信する処理に比べて短時間で情報を授受することができる。
【００７９】
また、本実施形態では、同一のＣＰＵ７６Ａにより処理が実行されるので、独立した装置の各々で処理する場合のＣＰＵの能力差等の機差を抑制することができる。
【００８０】
なお、上記では情報関連付けシステム１０をコンピュータシステム５０により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
【００８１】
また、上記ではプログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。例えば、開示の技術におけるプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【００８２】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００８３】
以上の実施形態に関し、更に以下の付記を開示する。
【００８４】
（付記１）
第１の演算処理装置を有する第１の情報処理装置に、所定の関数で記述された所定のプログラムを実行する第１の演算処理装置が呼び出す関数を示す情報を送信させ、
前記呼び出す関数により参照される実行関数を含むプログラムを実行する第２の演算処理装置を有する第２の情報処理装置から、前記呼び出す関数で使用する情報により実行される実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信させ、
受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報と、前記呼び出す関数を示す情報とを前記第１の演算処理装置に対応付けさせる
ことを含む処理を実行させるための情報関連付けプログラム。
【００８５】
（付記２）
前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信させる場合に、前記実行関数を示す情報として前記実行関数の名称を示す情報を対応させ、前記第２の情報処理装置を示す情報として前記第２の情報処理装置が前記第１の情報処理装置との間で使用する前記第２の情報処理装置のＩＰアドレス及びポート番号を示す情報を対応させる
付記１記載の情報関連付けプログラム。
【００８６】
（付記３）
前記受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報に、前記呼び出す関数を示す情報とを前記第１の演算処理装置を対応付けてテーブルに登録させ、該テーブルを前記第１の情報処理装置の記憶部に記憶させる
付記１または付記２記載の情報関連付けプログラム。
【００８７】
（付記４）
前記第２の情報処理装置では、前記実行関数を示す情報に、前記呼び出す関数を示す情報を対応付けた対応関係を予め登録させ、該対応関係を前記第２の情報処理装置の記憶部に記憶させる
付記１〜付記３の何れか１項に記載の情報関連付けプログラム。
【００８８】
（付記５）
前記所定の関数で記述された所定のプログラムは、エンタープライズ・ジャバ・ビーンズ・アプリケーションを実行させるプロセスを含むプログラムである
付記１〜付記４の何れか１項に記載の情報関連付けプログラム。
【００８９】
（付記６）
前記送信させる前記第１の演算処理装置が呼び出す関数を示す情報に、前記呼び出す関数を示す情報を一方向関数により演算した結果を示す第１の構造データを対応させ、
前記第１の構造データに対応する前記実行関数を示す情報を一方向関数により演算した結果を示す第２の構造データを有する第２の情報処理装置から、前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信させる
付記１〜付記５の何れか１項に記載の情報関連付けプログラム。
【００９０】
（付記７）
前記第１の情報処理装置及び第２の情報処理装置の少なくとも１つは、同一の情報処理装置である
付記１〜付記６の何れか１項に記載の情報関連付けプログラム。
【００９１】
（付記８）
同一の演算処理装置が、前記所定のプログラムを実行する第１の演算処理装置としての第１の演算処理部、及び前記実行関数を含むプログラムを実行する第２の演算処理装置としての第２の演算処理部を含み、
同一の情報処理装置が、前記第１の演算処理部として機能する演算処理装置による情報処理装置を第１の情報処理装置部、及び第２の演算処理部として機能する演算処理装置による情報処理装置を第２の情報処理装置部を含む
付記７に記載の情報関連付けプログラム。
【００９２】
（付記９）
第１の演算処理装置を有する第１の情報処理装置によって、所定の関数で記述された所定のプログラムを実行する第１の演算処理装置が呼び出す関数を示す情報を送信し、
前記呼び出す関数により参照される実行関数を含むプログラムを実行する第２の演算処理装置を有する第２の情報処理装置から、前記呼び出す関数で使用する情報により実行される実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信し、
前記第１の情報処理装置によって、受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報と、前記呼び出す関数を示す情報とを対応付ける
ことを含む情報関連付け方法。
【００９３】
（付記１０）
前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信する場合に、前記実行関数を示す情報として前記実行関数の名称を示す情報が対応され、前記第２の情報処理装置を示す情報として前記第２の情報処理装置が前記第１の情報処理装置との間で使用する前記第２の情報処理装置のＩＰアドレス及びポート番号を示す情報が対応される
付記９に記載の情報関連付け方法。
【００９４】
（付記１１）
前記受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報に、前記呼び出す関数を示す情報とを前記第１の演算処理装置を対応付けてテーブルに登録し、該テーブルを前記第１の情報処理装置の記憶部に記憶する
付記８〜付記１０の何れか１項に記載の情報関連付け方法。
【００９５】
（付記１２）
前記第２の情報処理装置で、前記実行関数を示す情報に、前記呼び出す関数を示す情報を対応付けた対応関係を予め登録し、該対応関係を前記第２の情報処理装置の記憶部に記憶する
付記８〜付記１１の何れか１項に記載の情報関連付け方法。
【００９６】
（付記１３）
前記所定の関数で記述された所定のプログラムは、エンタープライズ・ジャバ・ビーンズ・アプリケーションを実行させるプロセスを含むプログラムである
付記８〜付記１２の何れか１項に記載の情報関連付け方法。
【００９７】
（付記１４）
前記送信させる前記第１の演算処理装置が呼び出す関数を示す情報に、前記呼び出す関数を示す情報を一方向関数により演算した結果を示す第１の構造データが対応され、
前記第１の構造データに対応する前記実行関数を示す情報を一方向関数により演算した結果を示す第２の構造データを有する第２の情報処理装置から、前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信する
付記８〜付記１２の何れか１項に記載の情報関連付け方法。
【００９８】
（付記１５）
前記第１の情報処理装置及び第２の情報処理装置は、同一の情報処理装置である
付記８〜付記１３の何れか１項に記載の情報関連付け方法。
【００９９】
（付記１６）
同一の演算処理装置が、前記所定のプログラムを実行する第１の演算処理装置としての第１の演算処理部、及び前記実行関数を含むプログラムを実行する第２の演算処理装置としての第２の演算処理部を含み、
同一の情報処理装置が、前記第１の演算処理部として機能する演算処理装置による情報処理装置を第１の情報処理装置部、及び第２の演算処理部として機能する演算処理装置による情報処理装置を第２の情報処理装置部を含む
付記１５に記載の情報関連付け方法。
【０１００】
（付記１７）
第１の演算処理装置を有する第１の情報処理装置によって、所定の関数で記述された所定のプログラムを実行する第１の演算処理装置が呼び出す関数を示す情報を送信する第１の送信部と、
前記呼び出す関数により参照される実行関数を含むプログラムを実行する第２の演算処理装置を有する第２の情報処理装置から、前記呼び出す関数で使用する情報により実行される実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信する第２の送信部と、
前記第１の情報処理装置によって、受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報と、前記呼び出す関数を示す情報とを前記第１の演算処理装置に対応付けさる対応付け部と、
を備えた情報関連付けシステム。
【０１０１】
（付記１８）
前記第２の送信部は、
前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信する場合に、前記実行関数を示す情報として前記実行関数の名称を示す情報が対応され、前記第２の情報処理装置を示す情報として前記第２の情報処理装置が前記第１の情報処理装置との間で使用する前記第２の情報処理装置のＩＰアドレス及びポート番号を示す情報が対応される
付記１７に記載の情報関連付けシステム。
【０１０２】
（付記１９）
前記対応付け部は、
前記受信した前記実行関数を示す情報及び前記第２の情報処理装置を示す情報に、前記呼び出す関数を示す情報とを前記第１の演算処理装置を対応付けてテーブルに登録し、該テーブルを前記第１の情報処理装置の記憶部に記憶する
付記１７または付記１８に記載の情報関連付けシステム。
【０１０３】
（付記２０）
前記第２の送信部は、
前記第２の情報処理装置で、前記実行関数を示す情報に、前記呼び出す関数を示す情報を対応付けた対応関係を予め登録し、該対応関係を前記第２の情報処理装置の記憶部に記憶する
付記１７〜付記１９の何れか１項に記載の情報関連付けシステム。
【０１０４】
（付記２１）
前記所定の関数で記述された所定のプログラムは、エンタープライズ・ジャバ・ビーンズ・アプリケーションを実行させるプロセスを含むプログラムである
付記１７〜付記２０の何れか１項に記載の情報関連付けシステム。
【０１０５】
（付記２２）
前記第１の送信部では、
前記送信させる前記第１の演算処理装置が呼び出す関数を示す情報に、前記呼び出す関数を示す情報を一方向関数により演算した結果を示す第１の構造データが対応され、
前記第２の送信部は、
前記第１の構造データに対応する前記実行関数を示す情報を一方向関数により演算した結果を示す第２の構造データを有する第２の情報処理装置から、前記実行関数を示す情報及び前記第２の情報処理装置を示す情報を送信する
付記１７〜付記２１の何れか１項に記載の情報関連付けシステム。
【０１０６】
（付記２３）
前記第１の情報処理装置及び第２の情報処理装置の少なくとも１つは、同一の情報処理装置である
付記１７〜付記２２の何れか１項に記載の情報関連付けシステム。
【０１０７】
（付記２４）
同一の演算処理装置が、前記所定のプログラムを実行する第１の演算処理装置としての第１の演算処理部、及び前記実行関数を含むプログラムを実行する第２の演算処理装置としての第２の演算処理部を含み、
同一の情報処理装置が、前記第１の演算処理部として機能する演算処理装置による情報処理装置を第１の情報処理装置部、及び第２の演算処理部として機能する演算処理装置による情報処理装置を第２の情報処理装置部を含む
付記２３に記載の情報関連付けシステム。
【符号の説明】
【０１０８】
１０    情報関連付けシステム
１２    クライアント装置
１６    抽出・演算部
１８    送信部
２０    対応付け部
２２    受信部
２４    メモリ
２６    クライアントアプリケーションプログラム
２８    関数
３０    サーバ装置
３４    受信部
３６    記憶部
３６    比較部
３８    情報送信部
４０    抽出・演算部
４２    メモリ
４４    テーブル
４６    サーバアプリケーションプログラム
４８    関数
【図１】
2015005214.tif 000003
【図３】
2015005214.tif 000004
【図４】
2015005214.tif 000005
【図５】
2015005214.tif 000006
【図６】
2015005214.tif 000007
【図７】
2015005214.tif 000008
【図８】
2015005214.tif 000009
【図９】
2015005214.tif 000010
【図１０】
2015005214.tif 000011
【図１１】
2015005214.tif 000012
【図１２】
2015005214.tif 000013
【図１３】
2015005214.tif 000014
【図２】
2015005214.tif 000015