(57)【要約】【課題】異なるインターフェースを持つ機能実体を柔軟に連携させる。【解決手段】各機能実体の記憶部１４で、当該機能実体名１４Ａと機能の実行に用いる引数データを識別するための引数名群１４Ｂとを記憶しておき、利用側機能実体４から提供側機能実体１の機能を利用する場合は、利用側機能実体４の情報管理手段１５Ｂにより、提供側機能実体１から引数名群１４Ｂを取得するとともに、提供側機能実体１の機能と同種の機能を持つ親機能実体２から当該機能で用いる引数名群２４Ｂを取得し、得られた提供側機能実体１および親機能実体２の各引数名群１４Ｂ，２４Ｂに基づき、提供側機能実体１へ送信する各引数データの引数名を提供側機能実体１の引数名へ引数変換手段１５Ｄで変換する。【選択図】  図２
2005235140.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに分散配置された複数の機能実体からなり、これら機能実体は所定の機能を処理実行する制御部、各種データを記憶する記憶部、および前記ネットワークを介して各種メッセージを送受信する通信インターフェース部をそれぞれ有し、前記機能実体のうち他の機能実体の機能を利用する利用側機能実体と自己の機能を提供する提供側機能実体との間で引数名と対応付けた引数データをメッセージでやり取りすることにより、前記機能実体が持つ機能を連携させて所望の処理を実行する分散機能連携システムであって、
前記各機能実体は、前記制御部に、受信メッセージに含まれる引数データをその引数名で識別して取り込んで自己の機能を実行する機能処理手段を備えるとともに、前記記憶部で、当該機能実体名と前記引数データの識別に用いられる引数名群とを予め記憶し、
前記利用側機能実体は、前記制御部に、
前記提供側機能実体から機能実体名と引数名群とを取得するとともに、前記提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得する情報管理手段と、
この情報管理手段により得られた前記提供側機能実体および前記親機能実体の各引数名群に基づき、前記提供側機能実体へメッセージで送信する各引数データの引数名を前記提供側機能実体の引数名へ変換する引数変換手段と、
この引数変換手段で変換された引数名と対応付けた引数データと、前記提供側機能実体の機能実体名とから前記提供側機能実体へ送信するメッセージを作成するメッセージ作成手段とを備えることを特徴とする分散機能連携システム。
【請求項２】
ネットワークに分散配置された複数の機能実体からなり、これら機能実体のうち他の機能実体の機能を利用する利用側機能実体と自己の機能を提供する提供側機能実体との間で引数名と対応付けた引数データをメッセージでやり取りすることにより、前記機能実体が持つ機能を連携させて所望の処理を実行する分散機能連携システムで用いられる機能実体であって、
所定の機能を処理実行する制御部、各種データを記憶する記憶部、および前記ネットワークを介して各種メッセージを送受信する通信インターフェース部を備え、
前記記憶部で、当該機能実体名と前記引数データの識別に用いられる引数名群とを予め記憶し、
前記制御部に、受信メッセージに含まれる引数データをその引数名で識別して取り込んで自己の機能を実行する機能処理手段と、
前記提供側機能実体から機能実体名と引数名群とを取得するとともに、前記提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得する情報管理手段と、
この情報管理手段により得られた前記提供側機能実体および前記親機能実体の各引数名群に基づき、前記提供側機能実体へメッセージで送信する各引数データの引数名を前記提供側機能実体の引数名へ変換する引数変換手段と、
この引数変換手段で変換された引数名と対応付けた引数データと、前記提供側機能実体の機能実体名とから前記提供側機能実体へ送信するメッセージを作成するメッセージ作成手段とを備えることを特徴とする機能実体。
【請求項３】
請求項２に記載の機能実体において、
前記制御部に、前記提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認手段をさらに備え、
前記引数確認手段で前記整合が確認された場合は、前記情報管理手段で前記親機能実体から前記引数名群の取得を行わず、前記引数変換手段で前記提供側機能実体の引数名群のみに基づき前記引数名変換を行い、
前記引数確認手段で前記整合が確認されなかった場合は、前記情報管理手段で前記親機能実体から前記引数名群を取得し、前記引数変換手段で前記提供側機能実体および前記親機能実体の各引数名群に基づき前記引数名変換を行うことを特徴とする機能実体。
【請求項４】
請求項２に記載の機能実体において、
前記制御部に、前記提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認手段をさらに備え、
前記引数確認手段で前記整合が確認された場合は、前記引数変換手段で前記提供側機能実体の引数名群と前記親機能実体の引数名群に基づき前記引数名変換を行い、
前記引数確認手段で前記整合が確認されなかった場合は、前記情報管理手段で前記親機能実体に対応付けられている親親機能実体から当該機能で用いる引数名群を取得し、前記引数変換手段で前記提供側機能実体、前記親機能実体、および前記親親機能実体の各引数名群に基づき前記引数名変換を行うことを特徴とする機能実体。
【請求項５】
請求項２に記載の機能実体において、
前記記憶部で、当該機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報を予め記憶し、
前記情報管理手段で、前記提供側機能実体から前記対応情報を取得し、
前記引数変換手段で、前記提供側機能実体および前記親機能実体の各引数名群と前記提供側機能実体の前記対応情報とに基づき前記引数名変換を行うことを特徴とする機能実体。
【請求項６】
請求項２に記載の機能実体において、
前記情報管理手段で、前記ネットワーク上に配置された対応情報管理装置で、前記各機能実体ごとに管理されている、当該機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報のうち、前記提供側機能実体の前記対応情報を取得し、
前記引数変換手段で、前記提供側機能実体および前記親機能実体の各引数名群と前記提供側機能実体の前記対応情報とに基づき前記引数名変換を行うことを特徴とする機能実体。
【請求項７】
請求項２に記載の機能実体において、
前記記憶部で、当該機能実体の親機能実体を示す親機能実体名を記憶し、
前記情報管理手段で、前記提供側機能実体から前記親機能実体名を取得し、その親機能実体名に対応する親機能実体から前記引数名群を取得することを特徴とする機能実体。
【請求項８】
請求項２に記載の機能実体において、
前記情報管理手段で、前記ネットワーク上に配置された親子関係管理装置で、前記各機能実体ごとに管理されている、当該機能実体の親機能実体の前記親機能実体を確認するとともに、その親機能実体から前記引数名群を取得することを特徴とする機能実体。
【請求項９】
ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体と、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、前記機能実体が持つ機能を連携させて所望の機能を前記利用側装置へ提供する分散機能管理装置とを備える分散機能連携システムであって、
前記分散機能管理装置は、前記メタ設計図情報で指定されたパラメータ名を検証元パラメータ名とし、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名を検証先パラメータ名とし、これら検証元および検証先のパラメータ名の間の対応関係を検証するパラメータ検証手段を備え、
前記各機能実体は、自己の機能を連携させて利用するための語彙情報として、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と前記親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を予め記憶部で記憶し、
前記パラメータ検証手段は、前記メタ設計図情報で指定された前記分散機能カテゴリと一致するカテゴリの語彙情報を前記各機能実体から検索して検証先語彙情報として取得し、前記検証元パラメータ名の語彙名と一致する名前の語彙情報を前記各機能実体から検索して検証元語彙情報として取得し、少なくとも前記検証先語彙情報の親語彙名または前記検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得し、これら語彙情報のパラメータ名群と対応情報とを用いて、前記検証元パラメータ名に対応する前記検証先パラメータ名が前記検証先語彙情報のパラメータ名群に存在することを検証することを特徴とする分散機能連携システム。
【請求項１０】
ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体からなる分散機能連携システムで用いられ、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、前記機能実体が持つ機能を連携させて所望の機能を前記利用側装置へ提供する分散機能管理装置であって、
前記メタ設計図情報で指定されたパラメータ名を検証元パラメータ名とし、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名を検証先パラメータ名とし、前記検証元および検証先のパラメータ名の間の対応関係を検証するパラメータ検証手段を備え、
前記パラメータ検証手段は、
前記各機能実体でそれぞれ語彙情報として記憶している、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と前記親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を参照し、
前記メタ設計図情報で指定された前記分散機能カテゴリと一致するカテゴリの語彙情報を前記各機能実体から検索して検証先語彙情報として取得し、前記検証元パラメータ名の語彙名と一致する名前の語彙情報を前記各機能実体から検索して検証元語彙情報として取得し、少なくとも前記検証先語彙情報の親語彙名または前記検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得し、これら語彙情報のパラメータ名群と対応情報とを用いて、前記検証元パラメータ名に対応する前記検証先パラメータ名が前記検証先語彙情報のパラメータ名群に存在することを検証することを特徴とする分散機能管理装置。
【請求項１１】
ネットワークに分散配置された複数の機能実体からなり、これら機能実体は所定の機能を処理実行する制御部、各種データを記憶する記憶部、および前記ネットワークを介して各種メッセージを送受信する通信インターフェース部をそれぞれ有し、前記機能実体のうち他の機能実体の機能を利用する利用側機能実体と自己の機能を提供する提供側機能実体との間で引数名と対応付けた引数データをメッセージでやり取りすることにより、前記機能実体が持つ機能を連携させて所望の処理を実行する分散機能連携システムで、前記利用側機能実体が前記提供側機能実体の機能を利用するためその提供側機能実体に対してメッセージにより引数データを送信する際、これら引数データの引数名を前記提供側機能実体で用いる引数名と整合させる引数名解決方法であって、
前記利用側機能実体は、
前記制御部で、前記提供側機能実体から前記提供側機能実体の機能の実行に用いる引数データを識別するための引数名群を取得するとともに、前記提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得する情報管理ステップと、
前記制御部で、前記情報管理ステップにより得られた前記提供側機能実体および前記親機能実体の各引数名群に基づき、前記提供側機能実体へメッセージで送信する各引数データの引数名を前記提供側機能実体の引数名へ変換する引数変換ステップと、
前記制御部で、前記引数変換ステップで変換された引数名と対応付けた引数データと、前記提供側機能実体の機能実体名とから前記提供側機能実体へ送信するメッセージを作成するメッセージ作成ステップとを備えることを特徴とする分散機能連携システムの引数名解決方法。
【請求項１２】
請求項１１に記載の分散機能連携システムの引数名解決方法において、
前記利用側機能実体は、
前記制御部で、前記提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認ステップと、
前記制御部で、前記引数確認ステップで前記整合が確認された場合は、前記情報管理ステップで前記親機能実体から前記引数名群の取得を行わず、前記引数変換ステップで前記提供側機能実体の引数名群のみに基づき前記引数名変換を行すステップと、
前記制御部で、前記引数確認ステップで前記整合が確認されなかった場合は、前記情報管理ステップで前記親機能実体から前記引数名群を取得し、前記引数変換ステップで前記提供側機能実体および前記親機能実体の各引数名群に基づき前記引数名変換を行うステップとをさらに備えることを特徴とする分散機能連携システムの引数名解決方法。
【請求項１３】
請求項１１に記載の分散機能連携システムの引数名解決方法において、
前記利用側機能実体は、
前記制御部で、前記提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認ステップと、
前記制御部で、前記引数確認ステップで前記整合が確認された場合は、前記引数変換ステップで前記提供側機能実体の引数名群と前記親機能実体の引数名群に基づき前記引数名変換を行うステップと、
前記制御部で、前記引数確認ステップで前記整合が確認されなかった場合は、前記情報管理ステップで前記親機能実体に対応付けられている親親機能実体から当該機能で用いる引数名群を取得し、前記引数変換ステップで前記提供側機能実体、前記親機能実体、および前記親親機能実体の各引数名群に基づき前記引数名変換を行うステップとをさらに備えることを特徴とする分散機能連携システムの引数名解決方法。
【請求項１４】
請求項１１に記載の分散機能連携システムの引数名解決方法において、
前記利用側機能実体は、
前記情報管理ステップで、前記提供側機能実体から前記提供側機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報を取得し、
前記引数変換ステップで、前記提供側機能実体および前記親機能実体の各引数名群と前記提供側機能実体の前記対応情報とに基づき前記引数名変換を行うことを特徴とする分散機能連携システムの引数名解決方法。
【請求項１５】
請求項１１に記載の分散機能連携システムの引数名解決方法において、
前記利用側機能実体は、
前記情報管理ステップで、前記ネットワーク上に配置された対応情報管理装置で、前記各機能実体ごとに管理されている、当該機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報のうち、前記提供側機能実体の前記対応情報を取得し、
前記引数変換ステップで、前記提供側機能実体および前記親機能実体の各引数名群と前記提供側機能実体の前記対応情報とに基づき前記引数名変換を行うことを特徴とする分散機能連携システムの引数名解決方法。
【請求項１６】
請求項１１に記載の分散機能連携システムの引数名解決方法において、
前記利用側機能実体は、
前記情報管理ステップで、前記提供側機能実体から前記提供側機能実体の親機能実体を示す親機能実体名を取得し、その親機能実体名に対応する親機能実体から前記引数名群を取得することを特徴とする分散機能連携システムの引数名解決方法。
【請求項１７】
請求項１１に記載の分散機能連携システムの引数名解決方法において、
前記利用側機能実体は、
前記情報管理ステップで、前記ネットワーク上に配置された親子関係管理装置で、前記各機能実体ごとに管理されている、当該機能実体の親機能実体の前記親機能実体を確認するとともに、その親機能実体から前記引数名群を取得することを特徴とする分散機能連携システムの引数名解決方法。
【請求項１８】
ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体と、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、前記機能実体が持つ機能を連携させて所望の機能を前記利用側装置へ提供する分散機能管理装置とを備える分散機能連携システムで用いられ、前記分散機能管理装置により、前記メタ設計図情報で指定されたパラメータ名を検証元パラメータ名とし、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名を検証先パラメータ名とし、これら検証元および検証先のパラメータ名の間の対応関係を検証するパラメータ検証方法であって、
前記各機能実体で、自己の機能を連携させて利用するための語彙情報として、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と前記親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を予め記憶部で記憶するステップと、
前記分散機能管理装置で、前記メタ設計図情報で指定された分散機能カテゴリと一致するカテゴリの語彙情報を前記各機能実体から検索して検証先語彙情報として取得するステップと、
前記分散機能管理装置で、前記検証元パラメータ名の語彙名と一致する名前の語彙情報を前記各機能実体から検索して検証元語彙情報として取得するステップと、
前記分散機能管理装置で、少なくとも前記検証先語彙情報の親語彙名または前記検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得するステップと、
前記分散機能管理装置で、前記検証先語彙情報、前記検証元語彙情報、および親語彙情報のパラメータ名群と対応情報とを用いて、前記検証元パラメータ名に対応する前記検証先パラメータ名が前記検証先語彙情報のパラメータ名群に存在することを検証するステップとを備えることを特徴とする分散機能連携システムのパラメータ検証方法。
【請求項１９】
所定の機能を処理実行する制御部、各種データを記憶する記憶部、および前記ネットワークを介して各種メッセージを送受信する通信インターフェース部を有するコンピュータに、請求項１１〜１７のいずれかに記載の分散機能連携システムの引数名解決方法を実行させることにより、当該コンピュータを、ネットワーク上に分散配置された複数の機能実体間で個々に引数名と対応付けた引数データをメッセージでやり取りして前記機能実体が持つそれぞれの機能を連携させて所望の処理を実行する分散機能連携システムで、他の機能実体の機能を利用する利用側機能実体として機能させるプログラム。
【請求項２０】
ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体からなる分散機能連携システムで用いられ、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、前記機能実体が持つ機能を連携させて所望の機能を前記利用側装置へ提供する分散機能管理装置のコンピュータに、
前記各機能実体でそれぞれ語彙情報として記憶している、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と前記親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を参照するステップと、
前記メタ設計図情報で指定された分散機能カテゴリと一致するカテゴリの語彙情報を前記各機能実体から検索して検証先語彙情報として取得するステップと、
前記メタ設計図情報で指定されたパラメータである検証元パラメータ名の語彙名と一致する名前の語彙情報を前記各機能実体から検索して検証元語彙情報として取得するステップと、
少なくとも前記検証先語彙情報の親語彙名または前記検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得するステップと、
前記検証先語彙情報、前記検証元語彙情報、および親語彙情報のパラメータ名群と対応情報とに基づいて、前記検証元パラメータ名に対応する検証先パラメータとして、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名が、前記検証先語彙情報のパラメータ名群に存在することを検証するステップとを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散機能連携技術に関し、特にネットワーク上に分散配置された各種機能実体を連携させて所望の処理を実行する分散機能連携システムに関するものである。
【背景技術】
【０００２】
近年、インターネット、ユビキタスネットワーク、センサネットワークなどの各種ネットワークや、これらネットワークに接続される端末装置に関する技術の発展により、様々な機能がネットワークを介して利用可能となりつつあり、これら様々な機能を、状況に応じて連携させることにより、ユーザに適した新しいサービスを提供する技術の確立が求められている。
【０００３】
このような複数のサービスを連携させる技術として、Ｗｅｂサービス（Web Services）が注目を集めている。Ｗｅｂサービスとは、ビジネス取引の自動化をめざしたインターネット技術のことである。その最大の特徴は、ネットワーク上に分散した複数の機能実体の集合として、１つのビジネスやサービスを提供できる点にある。これにより、任意の機能実体が関連する他の機能実体を自動的に探し出して、システム間の連携をとることが可能になり、複数企業間内での電子商取引や、企業内でのやり取りの効率化が図られる。
【０００４】
従来、このようなＷｅｂサービスにおいて、各機能実体を連携させる技術として、ＢＰＥＬ４ＷＳ（Business Process Execution Language for Web Services：非特許文献１など参照）が提案されている。
また、すべてインターフェースが適合する機能実体を前提として連携させる技術も提案されている（例えば、非特許文献２など参照）。
【０００５】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【非特許文献１】BPEL4WS,T.Andrew et al,"Business Process Execution Language for Web Services Ver1.1," http//www-106.ibm.com/developerworks/webservices/library/ws-bpel
【非特許文献２】南正輝ほか，”動的でアドホックなネットワークサービスフレームワークの検討”,DICOMO2000,pp.13-18,June 2000
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来の分散機能連携技術では、個々の機能実体のインターフェース、例えば機能実体名や引数名について、ある程度制約が設けられており、任意に設計されたインターフェースを持つ所望の機能実体を柔軟に連携させることができないという問題点があった。
【０００７】
まず、前者によれば、個々のＷｅｂサービスの連携手順を記述した連携サービスのフロー設計図であるＢＰＥＬファイルを用いるが、利用されるＷｅｂサービスのインターフェース、例えば機能実体名と引数名は、予め限定されたものとなっている。これは、例えば、「撮影」という一見共通とみなせる機能を持つネットワーク上カメラであっても、実際には操作方法、つまり機能実体名や引数名が異なっているため、あるメーカＡのカメラを前提として設計したシステムで異なるメーカＢのカメラを利用できないことを意味する。
【０００８】
また、後者によれば、機能を呼び出すために必要となる機能実体名や引数名を考慮せず、与えるデータと得られるデータの型のみに注目している。したがって、画像配信などのように音声や画像がストリーム的に流れ続ける機能の連携には適用できるものの、引数名が異なる複数の機能実体を連携させるシステム、例えばホテルなどの予約システムや、センサやデバイスを用いて室温に応じてエアコンをコントロールするシステムなどには適用できない。
【０００９】
本発明はこのような課題を解決するためのものであり、異なるインターフェースを持つ機能実体を柔軟に連携させることができる分散機能連携システム、機能実体、分散機能管理装置、分散機能連携システムの引数名解決方法、分散機能連携システムのパラメータ検証方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
このような目的を達成するために、本発明にかかる分散機能連携システムは、ネットワークに分散配置された複数の機能実体からなり、これら機能実体は所定の機能を処理実行する制御部、各種データを記憶する記憶部、およびネットワークを介して各種メッセージを送受信する通信インターフェース部をそれぞれ有し、機能実体のうち他の機能実体の機能を利用する利用側機能実体と自己の機能を提供する提供側機能実体との間で引数名と対応付けた引数データをメッセージでやり取りすることにより、機能実体が持つ機能を連携させて所望の処理を実行する分散機能連携システムであって、各機能実体は、制御部に、受信メッセージに含まれる引数データをその引数名で識別して取り込んで自己の機能を実行する機能処理手段を備えるとともに、記憶部で、当該機能実体名と引数データの識別に用いられる引数名群とを予め記憶し、利用側機能実体は、制御部に、提供側機能実体から機能実体名と引数名群とを取得するとともに、提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得する情報管理手段と、この情報管理手段により得られた提供側機能実体および親機能実体の各引数名群に基づき、提供側機能実体へメッセージで送信する各引数データの引数名を提供側機能実体の引数名へ変換する引数変換手段と、この引数変換手段で変換された引数名と対応付けた引数データと、提供側機能実体の機能実体名とから提供側機能実体へ送信するメッセージを作成するメッセージ作成手段とを備えるものである。
【００１１】
また、本発明にかかる機能実体は、ネットワークに分散配置された複数の機能実体からなり、これら機能実体のうち他の機能実体の機能を利用する利用側機能実体と自己の機能を提供する提供側機能実体との間で引数名と対応付けた引数データをメッセージでやり取りすることにより、機能実体が持つ機能を連携させて所望の処理を実行する分散機能連携システムで用いられる機能実体であって、所定の機能を処理実行する制御部、各種データを記憶する記憶部、およびネットワークを介して各種メッセージを送受信する通信インターフェース部を備え、記憶部で、当該機能実体名と引数データの識別に用いられる引数名群とを予め記憶し、制御部に、受信メッセージに含まれる引数データをその引数名で識別して取り込んで自己の機能を実行する機能処理手段と、提供側機能実体から機能実体名と引数名群とを取得するとともに、提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得する情報管理手段と、この情報管理手段により得られた提供側機能実体および親機能実体の各引数名群に基づき、提供側機能実体へメッセージで送信する各引数データの引数名を提供側機能実体の引数名へ変換する引数変換手段と、この引数変換手段で変換された引数名と対応付けた引数データと、提供側機能実体の機能実体名とから提供側機能実体へ送信するメッセージを作成するメッセージ作成手段とを備えるものである。
【００１２】
この際、制御部に、提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認手段をさらに備え、引数確認手段で整合が確認された場合は、情報管理手段で親機能実体から引数名群の取得を行わず、引数変換手段で提供側機能実体の引数名群のみに基づき引数名変換を行い、引数確認手段で整合が確認されなかった場合は、情報管理手段で親機能実体から引数名群を取得し、引数変換手段で提供側機能実体および親機能実体の各引数名群に基づき引数名変換を行うようにしてもよい。
【００１３】
また、制御部に、提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認手段をさらに備え、引数確認手段で整合が確認された場合は、引数変換手段で提供側機能実体の引数名群と親機能実体の引数名群に基づき引数名変換を行い、引数確認手段で整合が確認されなかった場合は、情報管理手段で親機能実体に対応付けられている親親機能実体から当該機能で用いる引数名群を取得し、引数変換手段で提供側機能実体、親機能実体、および親親機能実体の各引数名群に基づき引数名変換を行うようにしてもよい。
【００１４】
また、記憶部で、当該機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報を予め記憶し、情報管理手段で、提供側機能実体から対応情報を取得し、引数変換手段で、提供側機能実体および親機能実体の各引数名群と提供側機能実体の対応情報とに基づき引数名変換を行うようにしてもよい。
【００１５】
あるいは、情報管理手段で、ネットワーク上に配置された対応情報管理装置で、各機能実体ごとに管理されている、当該機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報のうち、提供側機能実体の対応情報を取得し、引数変換手段で、提供側機能実体および親機能実体の各引数名群と提供側機能実体の対応情報とに基づき引数名変換を行うようにしてもよい。
【００１６】
また、記憶部で、当該機能実体の親機能実体を示す親機能実体名を記憶し、情報管理手段で、提供側機能実体から親機能実体名を取得し、その親機能実体名に対応する親機能実体から引数名群を取得するようにしてもよい。
【００１７】
あるいは、情報管理手段で、ネットワーク上に配置された親子関係管理装置で、各機能実体ごとに管理されている、当該機能実体の親機能実体の親機能実体を確認するとともに、その親機能実体から引数名群を取得するようにしてもよい。
【００１８】
また、本発明にかかる他の分散機能連携システムは  ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体と、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、機能実体が持つ機能を連携させて所望の機能を利用側装置へ提供する分散機能管理装置とを備える分散機能連携システムであって、分散機能管理装置に、メタ設計図情報で指定されたパラメータ名を検証元パラメータ名とし、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名を検証先パラメータ名とし、これら検証元および検証先のパラメータ名の間の対応関係を検証するパラメータ検証手段を設け、各機能実体で、自己の機能を連携させて利用するための語彙情報として、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を予め記憶部で記憶し、パラメータ検証手段で、メタ設計図情報で指定された分散機能カテゴリと一致するカテゴリの語彙情報を各機能実体から検索して検証先語彙情報として取得し、検証元パラメータ名の語彙名と一致する名前の語彙情報を各機能実体から検索して検証元語彙情報として取得し、少なくとも検証先語彙情報の親語彙名または検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得し、これら語彙情報のパラメータ名群と対応情報とを用いて、検証元パラメータ名に対応する検証先パラメータ名が検証先語彙情報のパラメータ名群に存在することを検証するようにしたものである。
【００１９】
また、本発明にかかる分散機能管理装置は、ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体からなる分散機能連携システムで用いられ、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、機能実体が持つ機能を連携させて所望の機能を利用側装置へ提供する分散機能管理装置であって、メタ設計図情報で指定されたパラメータ名を検証元パラメータ名とし、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名を検証先パラメータ名とし、検証元および検証先のパラメータ名の間の対応関係を検証するパラメータ検証手段を備え、パラメータ検証手段で、各機能実体でそれぞれ語彙情報として記憶している、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を参照し、メタ設計図情報で指定された分散機能カテゴリと一致するカテゴリの語彙情報を各機能実体から検索して検証先語彙情報として取得し、検証元パラメータ名の語彙名と一致する名前の語彙情報を各機能実体から検索して検証元語彙情報として取得し、少なくとも検証先語彙情報の親語彙名または検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得し、これら語彙情報のパラメータ名群と対応情報とを用いて、検証元パラメータ名に対応する検証先パラメータ名が検証先語彙情報のパラメータ名群に存在することを検証するようにしたものである。
【００２０】
また、本発明にかかる分散機能連携システムの引数名解決方法は、ネットワークに分散配置された複数の機能実体からなり、これら機能実体は所定の機能を処理実行する制御部、各種データを記憶する記憶部、およびネットワークを介して各種メッセージを送受信する通信インターフェース部をそれぞれ有し、機能実体のうち他の機能実体の機能を利用する利用側機能実体と自己の機能を提供する提供側機能実体との間で引数名と対応付けた引数データをメッセージでやり取りすることにより、機能実体が持つ機能を連携させて所望の処理を実行する分散機能連携システムで、利用側機能実体が提供側機能実体の機能を利用するためその提供側機能実体に対してメッセージにより引数データを送信する際、これら引数データの引数名を提供側機能実体で用いる引数名と整合させる引数名解決方法であって、利用側機能実体は、制御部で、提供側機能実体から提供側機能実体の機能の実行に用いる引数データを識別するための引数名群を取得するとともに、提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得する情報管理ステップと、制御部で、情報管理ステップにより得られた提供側機能実体および親機能実体の各引数名群に基づき、提供側機能実体へメッセージで送信する各引数データの引数名を提供側機能実体の引数名へ変換する引数変換ステップと、制御部で、引数変換ステップで変換された引数名と対応付けた引数データと、提供側機能実体の機能実体名とから提供側機能実体へ送信するメッセージを作成するメッセージ作成ステップとを備えるものである。
【００２１】
この際、利用側機能実体は、制御部で、提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認ステップと、制御部で、引数確認ステップで整合が確認された場合は、情報管理ステップで親機能実体から引数名群の取得を行わず、引数変換ステップで提供側機能実体の引数名群のみに基づき引数名変換を行すステップと、制御部で、引数確認ステップで整合が確認されなかった場合は、情報管理ステップで親機能実体から引数名群を取得し、引数変換ステップで提供側機能実体および親機能実体の各引数名群に基づき引数名変換を行うステップとをさらに備えてもよい。
【００２２】
また、利用側機能実体は、制御部で、提供側機能実体の引数名群と自己の持つ引数データの引数名との整合を確認する引数確認ステップと、制御部で、引数確認ステップで整合が確認された場合は、引数変換ステップで提供側機能実体の引数名群と親機能実体の引数名群に基づき引数名変換を行うステップと、制御部で、引数確認ステップで整合が確認されなかった場合は、情報管理ステップで親機能実体に対応付けられている親親機能実体から当該機能で用いる引数名群を取得し、引数変換ステップで提供側機能実体、親機能実体、および親親機能実体の各引数名群に基づき引数名変換を行うステップとをさらに備えてもよい。
【００２３】
また、利用側機能実体は、情報管理ステップで、提供側機能実体から提供側機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報を取得し、引数変換ステップで、提供側機能実体および親機能実体の各引数名群と提供側機能実体の対応情報とに基づき引数名変換を行うようにしてもよい。
【００２４】
あるいは、利用側機能実体は、情報管理ステップで、ネットワーク上に配置された対応情報管理装置で、各機能実体ごとに管理されている、当該機能実体の引数名群と当該機能実体の親機能実体の引数名群との対応関係を示す対応情報のうち、提供側機能実体の対応情報を取得し、引数変換ステップで、提供側機能実体および親機能実体の各引数名群と提供側機能実体の対応情報とに基づき引数名変換を行うようにしてもよい。
【００２５】
また、利用側機能実体は、情報管理ステップで、提供側機能実体から提供側機能実体の親機能実体を示す親機能実体名を取得し、その親機能実体名に対応する親機能実体から引数名群を取得するようにしてもよい。
【００２６】
あるいは、利用側機能実体は、情報管理ステップで、ネットワーク上に配置された親子関係管理装置で、各機能実体ごとに管理されている、当該機能実体の親機能実体の親機能実体を確認するとともに、その親機能実体から引数名群を取得するようにしてもよい。
【００２７】
また、本発明にかかる分散機能連携システムのパラメータ検証方法は、ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体と、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、機能実体が持つ機能を連携させて所望の機能を利用側装置へ提供する分散機能管理装置とを備える分散機能連携システムで用いられ、分散機能管理装置により、メタ設計図情報で指定されたパラメータ名を検証元パラメータ名とし、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名を検証先パラメータ名とし、これら検証元および検証先のパラメータ名の間の対応関係を検証するパラメータ検証方法であって、各機能実体で、自己の機能を連携させて利用するための語彙情報として、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を予め記憶部で記憶するステップと、分散機能管理装置で、メタ設計図情報で指定された分散機能カテゴリと一致するカテゴリの語彙情報を各機能実体から検索して検証先語彙情報として取得するステップと、分散機能管理装置で、検証元パラメータ名の語彙名と一致する名前の語彙情報を各機能実体から検索して検証元語彙情報として取得するステップと、分散機能管理装置で、少なくとも検証先語彙情報の親語彙名または検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得するステップと、分散機能管理装置で、検証先語彙情報、検証元語彙情報、および親語彙情報のパラメータ名群と対応情報とを用いて、検証元パラメータ名に対応する検証先パラメータ名が検証先語彙情報のパラメータ名群に存在することを検証するステップとを備えるものである。
【００２８】
また、本発明にかかるプログラムは、所定の機能を処理実行する制御部、各種データを記憶する記憶部、およびネットワークを介して各種メッセージを送受信する通信インターフェース部を有するコンピュータに、上記のいずれかに記載の分散機能連携システムの引数名解決方法を実行させることにより、当該コンピュータを、ネットワーク上に分散配置された複数の機能実体間で個々に引数名と対応付けた引数データをメッセージでやり取りして機能実体が持つそれぞれの機能を連携させて所望の処理を実行する分散機能連携システムで、他の機能実体の機能を利用する利用側機能実体として機能させるものである。
【００２９】
また、本発明にかかる他のプログラムは、ネットワークに分散配置されてそれぞれ任意の機能を提供する複数の機能実体からなる分散機能連携システムで用いられ、利用側装置に対して提供する機能を実現するのに用いる機能実体の分類を示す分散機能カテゴリ、および当該機能実体で機能を実行する際に用いる引数または戻り値の名前を示すパラメータ名をそれぞれ指定するメタ設計図情報に基づき、機能実体が持つ機能を連携させて所望の機能を利用側装置へ提供する分散機能管理装置のコンピュータに、各機能実体でそれぞれ語彙情報として記憶している、当該機能の分類を示す分散機能カテゴリ、当該語彙情報の名前を示す語彙名、当該機能実体の上位機能を提供する親機能実体の語彙情報の名前を示す親語彙名、当該機能の実行に用いるパラメータの名前からなるパラメータ名群、および当該パラメータ名群と親機能実体の語彙情報に含まれるパラメータ名群との対応関係を示す対応情報とを含む情報を参照するステップと、メタ設計図情報で指定された分散機能カテゴリと一致するカテゴリの語彙情報を各機能実体から検索して検証先語彙情報として取得するステップと、メタ設計図情報で指定されたパラメータである検証元パラメータ名の語彙名と一致する名前の語彙情報を各機能実体から検索して検証元語彙情報として取得するステップと、少なくとも検証先語彙情報の親語彙名または検証元語彙情報の親語彙名と一致する親機能実体の語彙情報を親語彙情報として取得するステップと、検証先語彙情報、検証元語彙情報、および親語彙情報のパラメータ名群と対応情報とに基づいて、検証元パラメータ名に対応する検証先パラメータとして、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名が、検証先語彙情報のパラメータ名群に存在することを検証するステップとを実行させるものである。
【発明の効果】
【００３０】
本発明によれば、提供側機能実体が異なる引数名を用いる場合でも、これを利用する利用側機能実体から、提供側機能実体の引数名を用いた引数データを含むメッセージを送信することができる。これにより、手元にある引数データとは異なる引数名を持つ機能実体であっても、その機能実体の機能を利用できる。
また、利用者のクライアント端末や他の機能実体からの指示に応じて他の機能実体の機能が必要となった際、その指示で指定された機能実体と異なる機能実体名の機能実体が選択された場合でも、提供側機能実体から得た機能実体名を用いたメッセージを作成して送信できる。
したがって、引数名や機能実体名などのインターフェースが異なる機能実体であっても、柔軟に連携させることができる。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかる分散機能連携システムについて説明する。図１は本発明の第１の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
この分散機能連携システムは、ネットワーク５上に分散配置された複数の機能実体１〜４から構成されており、ネットワーク５を介してこれら機能実体１〜４間で、機能の実行に必要な引数データをメッセージでやり取りすることにより、複数の機能実体が持つそれぞれの機能を連携させて所望の処理を実現する。
【００３２】
これら機能実体１〜４は、例えば全体としてＷｅｂサーバなどのコンピュータから実現されており、上記メッセージで受け取った引数データに基づき所定の処理を実行する機能をそれぞれ有している。
この機能としては、例えば引数データで指定された各データをデータベースへ登録する機能、引数データに基づきデータベースから所望のデータを検索する機能、さらには引数データに対応するセンサや外部機器を制御する機能など、各種の機能がある。
【００３３】
一般に、各機能実体１〜３は、それぞれ自機能と同種の機能を持つ他の機能実体と親子関係にあり、子に相当する機能実体は、親となる機能実体で用いられる各引数データと類似する引数データを用いるものとなっている。
親子関係にある子機能実体は、子引数データとして、親機能実体で用いる親引数データと同じ引数データ、親引数データの一部の引数データ、または親引数データに新たなものを加えた引数データ、すなわち親引数データに変更、抹消、追加したものを子引数データとして用いている。この際、子引数データは、その値の意味が親引数データと同一であっても引数名が異なる場合もある。
【００３４】
したがって、利用側機能実体が提供側機能実体の機能を利用する場合、利用側機能実体では、自己の持つ引数データを、提供側機能実体の機能で用いる個々の引数名と対応付けてメッセージで送信する必要があり、提供側機能実体に対するインターフェースの整合が必要とされる。
【００３５】
本実施の形態では、各機能実体がそれぞれの機能の種類やその機能の実行に用いる引数データから見て、各機能実体が前述したような親子関係にあることに着目し、利用側機能実体が提供側機能実体の機能を利用する際、提供側機能実体の機能実体名と引数データの引数名群とを取得するとともに、その提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得し、これら提供側機能実体および親機能実体の各引数名群に基づき、提供側機能実体へ送信する各引数データの引数名を提供側機能実体の引数名へ変換し、これら変換後の引数名に対応付けた引数データと提供側機能実体の機能実体名とから提供側機能実体へ送信するメッセージを作成するようにしたものである。
【００３６】
以下では、図１において、機能実体４が利用側機能実体であり、機能実体１が提供側機能実体であり、機能実体２が機能実体１の上位に相当する親機能実体であり、機能実体３が機能実体２のさらに上位に相当する親機能実体である場合を例として、機能実体４が機能実体１の機能を利用する場合について説明する。
【００３７】
［機能実体］
次に、図２を参照して、本実施の形態にかかる分散機能連携システムで用いられる機能実体について説明する。図２は本実施の形態にかかる分散機能連携システムで用いられる機能実体の構成を示すブロック図である。
この機能実体１は、全体としてＷｅｂサーバなどのコンピュータからなり、通信インターフェース部（以下、通信Ｉ／Ｆ部という）１１、操作入力部１２、画面表示部１３、記憶部１４、および制御部１５が設けられている。ここでは、機能実体１を例として説明するが、機能実体２〜４についても同様の構成を有している。
【００３８】
通信Ｉ／Ｆ部１１は、ネットワーク５を介して他の装置と各種メッセージをやり取りする回路部である。
操作入力部１２は、キーボードやマウスなどの操作入力装置からなり、オペレータの操作を検出して制御部１５へ出力する。
画面表示部１３は、ＬＣＤなどの画面表示装置などからなり、制御部１５からの制御に応じて各種情報を画面表示する。
【００３９】
記憶部１４は、ハードディスクやメモリなどの記憶装置からなり、制御部１５での処理に用いる各種情報や制御部１５で実行されるプログラムを記憶する。
記憶部１４に格納される情報としては、機能実体名１４Ａ、引数名群１４Ｂ、対応情報１４Ｃ、親機能実体名１４Ｄ、および引数データ１４Ｅなどがある。
【００４０】
機能実体名１４Ａは、機能実体１の機能を識別するための名前である。引数名群１４Ｂは、機能実体１の機能を実行するのに必要な各引数データの名前である。対応情報１４Ｃは、当該機能実体１の引数名群１４Ｂと機能実体１の親機能実体の機能で用いる引数データの引数名群との対応関係を示す情報である。親機能実体名１４Ｄは、当該機能実体１の親機能実体を示す機能実体名である。
これら機能実体名１４Ａ、引数名群１４Ｂ、対応情報１４Ｃ、および親機能実体名１４Ｄは、ネットワーク５に配置されている管理装置（図示せず）や、機能実体１に設けられた操作入力部１２から入力され、あるいはプログラム１４Ｆから読み取られて、記憶部１４へ予め格納される。
【００４１】
引数データ１４Ｅは、当該機能実体が利用側機能実体となって提供側機能実体の機能を利用する場合に用いる引数データである。なお、機能実体１が他の機能実体の機能を利用しない場合、この引数データ１４Ｅは不要であり、利用側機能実体となる機能実体４で必要となる。
記憶部１４に格納されるプログラムとしては、当該機能実体１の機能を実行する提供側機能実体での処理を実現するとともに、その機能を実行するためのインターフェースを整合する利用側機能実体での処理を実現するプログラム１４Ｆがある。なお、上記提供側機能実体での処理を実行するプログラムと、上記利用側機能実体での処理を実現するプログラムとを別個に設けてもよい。
【００４２】
制御部１５は、ＣＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部１４からプログラム１４Ｆを読み込んで実行することにより、上記ハードウェアとプログラムとを協働させて各種機能手段を実現する。
これら機能手段としては、機能処理手段１５Ａ、情報管理手段１５Ｂ、引数確認手段１５Ｃ、引数変換手段１５Ｄ、およびメッセージ作成手段１５Ｅなどがある。
【００４３】
機能処理手段１５Ａは、通信Ｉ／Ｆ部１１を介して利用側機能実体からのメッセージを受信し、そのメッセージに含まれる複数の引数データを個々に付与されている引数名に基づき識別し、これら引数データに基づき所定の処理を実行することにより所望の機能を実現する機能手段である。
情報管理手段１５Ｂは、他の機能実体との間で記憶部１４に格納されている機能実体名１４Ａ、引数名群１４Ｂ、対応情報１４Ｃ、および親機能実体名１４Ｄなどの各種情報を、通信Ｉ／Ｆ部１１およびネットワーク５を介してやり取りする機能手段である。
【００４４】
引数確認手段１５Ｃは、自己が利用側機能実体となる場合、自己の引数データ１４Ｅの各引数名と情報管理手段１５Ｂで得られた提供側機能実体の引数名群との整合を確認する機能手段である。
引数変換手段１５Ｄは、自己が利用側機能実体となる場合、自己の引数データ１４Ｅの引数名を提供側機能実体で用いる引数名へ変換する機能手段である。
メッセージ作成手段１５Ｅは、自己が利用側機能実体となる場合、引数変換手段１５Ｄで変換された引数名に対応付けられた引数データと、情報管理手段１５Ｂで得られた提供側機能実体の機能実体名１４Ａとから、提供側機能実体へ送信するメッセージを作成する機能手段である。
【００４５】
［分散機能連携システムの動作］
次に、図３を参照して、本実施の形態にかかる分散機能連携システムの動作について説明する。図３は本実施の形態にかかる分散機能連携システムの動作を示すシーケンス図である。ここでは、利用側である機能実体４から提供側となる機能実体１の機能を利用する場合を例として説明する。
【００４６】
機能実体４の制御部１５は、ネットワーク５に配置されている利用者のクライアント端末（図示せず）や他の機能実体からの指示に応じて所定の処理が必要となった場合、その指示で指定された引数データ１４Ｅを記憶部１４へ格納する。そして、その処理の種別に基づき同種の機能を持つ機能実体、すなわち提供側機能実体を選択する。この際、機能実体の選択については、例えばネットワーク５に配置された管理装置（図示せず）で各機能実体の機能を種別ごとに管理しておき、この管理装置へ機能実体４から問い合わせるようにしてもよい。
【００４７】
ここで、提供側機能実体として機能実体１が選択された場合、機能実体４の制御部１５は、情報管理手段１５Ｂを用いて、通信Ｉ／Ｆ部１１およびネットワーク５を介して提供側の機能実体１へ情報取得要求メッセージを送信する（ステップ１００）。この情報取得要求メッセージに応じて、機能実体１の制御部１５は、情報管理手段１５Ｂを用いて、記憶部１４から機能実体名１４Ａおよび引数名群１４Ｂを読み出し、これら情報を情報通知メッセージで返送する（ステップ１０１）。
【００４８】
機能実体４の制御部１５は、この情報通知メッセージを通信Ｉ／Ｆ部１１を介して受信し、引数確認手段１５Ｃを用いて、このメッセージで通知された機能実体１の引数名群１４Ｂと、自己の記憶部１４に格納されている引数データ１４Ｅの各引数名との整合を確認する（ステップ１０２）。
ここで、機能実体１の引数名群１４Ｂが引数データ１４Ｅの各引数名と一致し、両者の整合が確認された場合（ステップ１０２：ＹＥＳ）、情報管理手段１５Ｂで得た機能実体１の引数名群に対応付けた自己の引数データ１４Ｅと、機能実体１の機能実体名とに基づき処理要求メッセージを作成し（ステップ１３１）、通信Ｉ／Ｆ部１１およびネットワーク５を介して機能実体１へ送信する（ステップ１３２）。
【００４９】
機能実体１の制御部１５では、この処理要求メッセージの受信に応じて、機能処理手段１５Ａを用いて、そのメッセージに含まれる各引数データを個々に付与されている引数名に基づき識別し、これら引数データを用いて要求された機能を実行する（ステップ１３３）。そして、得られた処理結果を機能実体４へ返送する（ステップ１３４）。
機能実体４の制御部１５は、機能実体１からの処理結果を受信し、一連の機能連携処理を終了し、この処理結果を用いた後続の処理へ移行する。
【００５０】
一方、ステップ１０２において、機能実体１の引数名群１４Ｂが引数データ１４Ｅの各引数名と一致せず、両者の整合が確認されなかった場合（ステップ１０２：ＮＯ）、機能実体４の制御部１５は、情報管理手段１５Ｂを用いて、機能実体１の親機能実体名１４Ｄを確認し（ステップ１１０）、その親機能実体名１４Ｄに対応する上位の機能実体２へ、通信Ｉ／Ｆ部１１およびネットワーク５を介して情報取得要求メッセージを送信する（ステップ１１１）。
この情報取得要求メッセージに応じて、機能実体２の制御部１５は、情報管理手段１５Ｂを用いて、記憶部１４から機能実体名１４Ａおよび引数名群１４Ｂを読み出し、これら情報を情報通知メッセージで返送する（ステップ１１２）。
【００５１】
機能実体４の制御部１５は、この情報通知メッセージを通信Ｉ／Ｆ部１１を介して受信し、引数確認手段１５Ｃを用いて、このメッセージで通知された機能実体２の引数名群１４Ｂと機能実体２の引数名群１４Ｂとの対応関係に基づき、機能実体１の引数名群と自己の記憶部１４に格納されている引数データ１４Ｅの各引数名との整合を確認する（ステップ１１３）。
ここで、機能実体１の引数名が、機能実体２の引数名群を仲立ちとして引数データ１４Ｅの各引数名と一致し、結果として機能実体１の引数名群と引数データ１４Ｅの各引数名との整合が確認された場合（ステップ１１３：ＹＥＳ）、引数データ１４Ｅの引数名を上記対応関係に基づき機能実体１の引数名群へ変換する（ステップ１３０）。そして、前述と同様にしてステップ１３１以降の処理を実行する。
【００５２】
また、ステップ１１３において、機能実体１の引数名が、機能実体２の引数名群１４Ｂを仲立ちとしても引数データ１４Ｅの各引数名と一致せず、結果として機能実体１の引数名群と引数データ１４Ｅの各引数名との整合が確認されなかった場合（ステップ１１３：ＮＯ）、前述したステップ１１０〜１１３と同様の処理（引数整合処理）を、機能実体２のさらに上位の親機能実体に相当する機能実体３（親親機能実体）について、ステップ１２０〜１２３で実行する。
【００５３】
すなわち、機能実体４の制御部１５は、情報管理手段１５Ｂを用いて、機能実体３の親機能実体名１４Ｄを確認し（ステップ１２０）、その親機能実体名１４Ｄに対応する機能実体３へ、通信Ｉ／Ｆ部１１およびネットワーク５を介して情報取得要求メッセージを送信する（ステップ１２１）。
この情報取得要求メッセージに応じて、機能実体３の制御部１５は、情報管理手段１５Ｂを用いて、記憶部１４から機能実体名１４Ａおよび引数名群１４Ｂを読み出し、これら情報を情報通知メッセージで返送する（ステップ１２２）。
【００５４】
機能実体４の制御部１５は、この情報通知メッセージを通信Ｉ／Ｆ部１１を介して受信し、引数確認手段１５Ｃを用いて、このメッセージで通知された機能実体３の引数名群１４Ｂ、機能実体２の引数名群１４Ｂおよび機能実体１の引数名群１４Ｂの対応関係に基づき、機能実体１の引数名群と自己の記憶部１４に格納されている引数データ１４Ｅの各引数名との整合を確認する（ステップ１２３）。
【００５５】
ここで、機能実体１の引数名が、機能実体２および機能実体３の引数名群を仲立ちとして引数データ１４Ｅの各引数名と一致し、結果として機能実体１の引数名群と引数データ１４Ｅの各引数名との整合が確認された場合（ステップ１２３：ＹＥＳ）、引数データ１４Ｅの引数名を上記対応関係に基づき機能実体１の引数名群へ変換する（ステップ１３０）。そして、前述と同様にしてステップ１３１以降の処理を実行する。
【００５６】
また、ステップ１１３において、機能実体１の引数名が、機能実体２および機能実体３の引数名群１４Ｂを仲立ちとしても引数データ１４Ｅの各引数名と一致せず、結果として機能実体１の引数名群と引数データ１４Ｅの各引数名との整合が確認されなかった場合（ステップ１２３：ＮＯ）、上記ステップ１１０〜１１３の引数整合処理を、機能実体１の引数名群と引数データ１４Ｅの各引数名との整合が確認されるまで、あるいは最後に引数名群を取得した機能実体の親機能実体が存在しなくなるまで繰り返し実行する。図１の例では、機能実体３が最上位に位置し、その親機能実体が存在しないことから、引数データ１４Ｅと機能実体１の引数名群との整合が得られなかったことになり、一連の機能連携処理を中止する（ステップ１２４）。
【００５７】
このように、各機能実体の記憶部で、当該機能実体名と機能の実行に用いる引数データを識別するための引数名群とを記憶しておき、利用側機能実体から提供側機能実体の機能を利用する場合は、利用側機能実体で、提供側機能実体から機能実体名と引数名群とを取得するとともに、提供側機能実体に対応付けられている親機能実体から当該機能で用いる引数名群を取得し、この情報管理手段により得られた提供側機能実体および親機能実体の各引数名群に基づき、提供側機能実体へメッセージで送信する各引数データの引数名を提供側機能実体の引数名へ変換し、変換後の引数名と対応付けた引数データと提供側機能実体の機能実体名とから提供側機能実体へ送信するメッセージを作成するようにしたので、提供側機能実体が異なる引数名を持つ場合でも、これを利用する利用側機能実体から、提供側機能実体の引数名を用いた引数データを含むメッセージを送信することができる。
【００５８】
これにより、手元にある引数データとは異なる引数名を持つ機能実体であっても、その機能実体の機能を利用できる。
また、利用者のクライアント端末や他の機能実体からの指示に応じて他の機能実体の機能が必要となった際、その指示で指定された機能実体と異なる機能実体名の機能実体が選択された場合でも、提供側機能実体から得た機能実体名に基づいて所望の機能を利用することができる。
したがって、引数名や機能実体名などのインターフェースが異なる機能実体であっても、柔軟に連携させることができる。
【００５９】
また、以上では、ステップ１０２，１１３，１２３において、機能実体４の引数データ１４Ｅの各引数名と機能実体１の引数名群とが整合するか確認し、両者の整合が確認できない際に、その親機能実体２から引数名群を取得するようにしたので、必要に応じて親機能実体に関する処理へ移行するものとなり、不要な処理を簡素化できる。なお、上記確認をせずに提供側機能実体１とその親機能実体２とから無条件で引数名群を取得するようにしてもよく、確認処理を省くことができる。
【００６０】
また、ステップ１１３において、機能実体２の引数名群を仲立ちとして、機能実体４の引数データ１４Ｅの各引数名と機能実体１の引数名群との整合を確認する場合、機能実体１，２の引数名群の対応関係を示す対応情報１４Ｃを機能実体１から引数名群１４Ｂとともに取得し、その対応情報１４Ｃをも仲立ちとして機能実体４の引数データ１４Ｅの各引数名と機能実体１の引数名群との整合を確認するようにしてもよい。これにより、機能実体１，２の引数名群の対応関係が複雑な場合、例えば一方の引数名群の引数名が他方に存在しないなどの場合でも、両者の対応関係を確実に把握できる。このことは、ステップ１１３に限らず、ステップ１２３でも同様である。なお、引数名の並びに基づき両者を対応させることが可能であれば、対応情報を利用しなくてもよい。
【００６１】
この際、引数データ１４Ｅの各引数名と機能実体１の引数名群１４Ｂとの整合が得られるまで、順次、親子関係を遡って整合を確認するようにしたので、各機能実体の対応情報として、そのすぐ上位の親機能実体の引数名群との対応関係のみを示す情報でよくなる。したがって、当該機能実体から上位に位置するすべての機能実体との対応情報を持つ必要がなくなり、対応情報のデータ量を削減できるとともに、そのメンテナンスに要する作業負担を軽減できる。
【００６２】
また、ステップ１１０，１２０において、親機能実体の機能実体名を確認する際、ステップ１０１，１１２で引数名群とともに取得しておいた親機能実体名１４Ｄを用いてもよく、ステップ１１０，１２０で情報取得要求を送信して親機能実体名１４Ｄを取得するようにしてもよい。
【００６３】
図４に引数名整合処理の実例を示す。この例では、利用側の機能実体４には、「IndividualInfo」という機能種別の「moogle」という機能実体名を持つ機能実体で用いられる引数名群に対応した引数データ４４Ｅとして、「ID」，「Name」，「CallNo」，および「Pass」という引数名を持つ引数データが予め用意されているものとする。
【００６４】
機能実体１は、「IndividualInfo:bar:foo」という機能実体名１４Ａを有し、これは「IndividualInfo」という機能種別に属しており、実際の機能実体名が「bar」であり、親機能実体名が「foo」であることを示している。また、引数名群１４Ｂとして「ID」，「Name」，「Phone」，および「Key」という引数名を有しており、対応情報１４Ｃは、「bar」の引数名「ID」，「Name」，「Phone」，および「Key」が、「foo」の引数名「ID」，「Name」，「TelNo」，および「Pass」のそれぞれと対応していることを示している。
【００６５】
機能実体２は、「IndividualInfo:foo:default」という機能実体名２４Ａを有し、これは「IndividualInfo」という機能種別に属しており、実際の機能実体名が「foo」であり、親機能実体名が最上位を示す「default」であることを示している。また、引数名群２４Ｂとして「ID」，「Name」，「TelNo」，および「Pass」という引数名を有しており、対応情報２４Ｃは、「foo」の引数名「ID」，「Name」，「TelNo」，および「Pass」が、「default」の引数名「ID」，「Name」，「CallNo」，および「Password」のそれぞれと対応しており、「foo」にない「Address」という引数が「default」に存在することを示している。
【００６６】
機能実体３は、「IndividualInfo:default」という機能実体名３４Ａを有し、これは「IndividualInfo」という機能種別に属しており、実際の機能実体名が親機能実体を持たない最上位を示す「default」であることを示している。また、引数名群３４Ｂとして「ID」，「Name」，「CallNo」，「Password」，および「Address」という引数名を有している。
ここでは、機能実体４が、引数データ４４Ｅを用いて他の機能実体を利用して、例えばデータベース（図示せず）を参照して電子メールのアドレスなどの所望のデータを取得する場合を想定する。
【００６７】
まず、機能実体４の制御部１５で、「moogle」と同種の「IndividualInfo」という機能種別を持つ機能実体として機能実体１を選択したものとし、図３のステップ１０１で、機能実体１から機能実体名１４Ａ、引数名群１４Ｂ、および対応情報１４Ｃを取得する。
ここで、引数名群１４Ｂと引数データ４４Ｅの各引数名とを比較し、引数名群１４Ｂの引数名「Phone」と「Key」が引数データ４４Ｅのどの引数名に対応するか不明であり、両者の整合が確認できなかったことから、機能実体１の上位に位置する機能実体２（親）の機能実体名「foo」を機能実体名１４Ａで確認し、図３のステップ１１２で、その「foo」に対応する機能実体２から引数名群２４Ｂを取得する。
【００６８】
そして、この引数名群２４Ｂおよび対応情報１４Ｃを仲立ちとして、引数名群１４Ｂと引数データ４４Ｅの各引数名とを比較する。ここでは、引数データ４４Ｅの引数名「Pass」が引数名群２４Ｂに存在し、機能実体１の引数名「Key」がこの「Pass」に対応することが確認される。なお、機能実体１の引数名「Phone」については依然として不明であることから、機能実体２の上位に位置する機能実体３（親親）の機能実体名「default」を機能実体名２４Ａで確認し、図３のステップ１２２で、その「default」に対応する機能実体３から引数名群３４Ｂを取得する。
【００６９】
そして、この引数名群３４Ｂ、引数名群２４Ｂ、対応情報２４Ｃ、および対応情報１４Ｃを仲立ちとして、引数名群１４Ｂと引数データ４４Ｅの各引数名とを比較する。ここでは、引数データ４４Ｅの引数名「CallNo」が引数名群３４Ｂに存在し、この「CallNo」が機能実体２の引数名「TelNo」に対応するとともに、この「CallNo」が機能実体１の引数名「Phone」に対応することが確認される。
【００７０】
これにより、機能実体１の引数群名１２Ｂの各引数名「ID」，「Name」，「Phone」，および「Key」が、機能実体４の引数データ４４Ｅの各引数名「ID」，「Name」，「CallNo」，および「Pass」とそれぞれ対応し、両者の整合が確認される。
そして、機能実体４では、上記対応関係に基づき、引数データ４４Ｅの引数名「CallNo」というデータを「Phone」という引数名に変換し、引数名「Pass」というデータを「Key」という引数名に変換して、機能実体１の引数名群１４Ｂと整合させる。
【００７１】
これら引数名が付与された引数データを用いて、機能実体名「bar」を持つ機能実体１に対する処理要求メッセージを作成し、このメッセージを提供側の機能実体１へネットワーク５を介して送信する。
このメッセージに応じて、機能実体１では、メッセージに含まれる引数名で識別した引数データに基づきデータベースを参照し、これら引数データに対応する電子メールアドレスを検索し、利用側の機能実体４へ返送する。
これにより、機能実体４が所望の情報、すなわち引数データに対応する電子メールアドレスを取得することになる。
【００７２】
図５は、処理要求メッセージの構成例である。ここでは、機能実体４の引数データ４４Ｅが、引数名「ID」，「Name」，「CallNo」，および「Pass」に対応するデータ値としてそれぞれ「0123」，「M.Takemoto」，「0422-59-xxxx」，および「hogehoge」を有しているものとする。
この例によれば、前述した図４の引数名整合処理により、引数名「ID」，「Name」，「Phone」，および「Key」に対応するデータ値としてそれぞれ「0123」，「M.Takemoto」，「0422-59-xxxx」，および「hogehoge」を有する新たな引数データ４４Ｅに変換される。
【００７３】
インターネットで代表的なプロトコルＨＴＴＰでは、所定のＷｅｂサーバの機能に対して処理要求を行う場合、そのＷｅｂサーバの機能を指定する機能実体名と引数データ群とを「?」記号で繋ぎ、引数データ群では、各引数名と引数データを対として「=」記号で繋ぎ、これら対を「&」で繋ぐ形式となっている。
したがって、このようなＨＴＴＰに基づく場合は、機能実体名「bar」と新たな引数データ４４Ｅの引数名が付与された引数データとを用いて、「bar?ID=0123&Name=M.Takemoto&Phone=0422-59-xxxx&Key=hogehoge」という処理要求メッセージ４５が作成される。
【００７４】
なお、図４では、機能実体名に親機能実体名が含まれる場合を例として説明したが、これに限定されるものではなく、前述した図２のように親機能実体名１４Ｄを別個に持つ場合は、その情報が機能実体４により取得される。また、図４のように、親機能実体名１４Ｄを機能実体名１４Ａに含めてもよく、これら情報を効率よく取得できる。
【００７５】
また、図４では、機能実体名に機能種別を示す情報が含まれる場合を例として説明したが、これに限定されるものではなく、この機能種別が含まれない機能実体名を用いてもよい。
また、図４では、対応情報の形式として、当該機能実体と親機能実体の引数名群がそれぞれ対応する形式を例に説明したが、これに限定されるものではなく、例えば親機能実体の各引数名に対する変更、抹消、追加の内容を対応情報としてもよい。
【００７６】
［第２の実施の形態］
次に、図６を参照して、本発明の第２の実施の形態にかかる分散機能連携システムについて説明する。図６は本発明の第２の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
この分散機能連携システムは、ネットワーク５に対応情報管理装置６が設けられている他は、前述した第１の実施の形態（図１参照）と同じ構成を有している。
【００７７】
対応情報管理装置６は、個々の機能実体ごとに、その機能実体の引数名群とその親機能実体の引数名群との対応関係を示す対応情報１４Ｃを管理するＷｅｂサーバであり、前述した図４の例では、各機能実体１，２に関連付けて対応情報１４Ｃおよび対応情報２４Ｃが管理される。
そして、利用側の機能実体４では、任意の機能実体の対応情報を取得する場合、ネットワーク５を介して対応情報管理装置６へアクセスし、その機能実体例えば機能実体名と関連付けて管理されている対応情報１４Ｃを取得するものとなる。
【００７８】
このように、各機能実体の対応情報１４Ｃを対応情報管理装置６で集中して管理するようにしたので、各機能実体が対応情報を個別に管理する必要がなくなり、任意の機能実体で引数名群が変更された場合でも、この変更に関連する対応情報のメンテナンスに要する作業負担を軽減できる。
【００７９】
［第３の実施の形態］
次に、図７を参照して、本発明の第３の実施の形態にかかる分散機能連携システムについて説明する。図７は本発明の第３の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
この分散機能連携システムは、ネットワーク５に親子関係管理装置７が設けられている他は、前述した第１の実施の形態（図１参照）と同じ構成を有している。
【００８０】
親子関係管理装置７は、個々の機能実体ごとに、その機能実体と親機能実体との対応関係を管理するＷｅｂサーバであり、前述した図４の例では、各機能実体１，２に関連付けて機能実体２，３が管理される。
そして、利用側の機能実体４では、任意の機能実体の親機能実体を確認する場合、ネットワーク５を介して親子関係管理装置７へアクセスし、その機能実体例えば機能実体名と関連付けて管理されている親機能実体の機能実体名を取得するものとなる。
【００８１】
このように、各機能実体とその親機能実体との対応関係を親子関係管理装置７で集中して管理するようにしたので、各機能実体が親機能実体名を個別に管理する必要がなくなり、任意の機能実体で親子関係が変更された場合でも、この変更に関連する親機能実体名のメンテナンスに要する作業負担を軽減できる。また、前述した第２の実施の形態で用いた対応情報管理装置６と親子関係管理装置７とを兼用してもよい。
【００８２】
［第４の実施の形態］
次に、図８を参照して、本発明の第４の実施の形態にかかる分散機能連携システムについて説明する。図８は本発明の第４の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
この分散機能連携システムは、ネットワーク５上に分散配置された複数の機能実体１Ａ〜４Ａ、分散機能管理装置８、およびメタ設計図情報管理装置９から構成されており、ネットワーク５を介してこれら機能実体１Ａ〜４Ａ、分散機能管理装置８、およびメタ設計図情報管理装置９の間で、機能の実行に必要な各種情報をメッセージでやり取りすることにより、複数の機能実体が持つそれぞれの機能を連携させて所望の処理を実現する。
【００８３】
これら機能実体１Ａ〜４Ａは、前述した図１の機能実体１〜４と同等であり、例えば全体としてＷｅｂサーバなどのコンピュータから実現されており、上記メッセージで受け取った引数データに基づき所定の処理を実行する機能をそれぞれ有している。
この機能としては、例えば引数データで指定された各データをデータベースへ登録する機能、引数データに基づきデータベースから所望のデータを検索する機能、さらには引数データに対応するセンサや外部機器を制御する機能など、各種の機能がある。
【００８４】
分散機能管理装置８は、例えば全体としてサーバやＰＣ端末などのコンピュータから実現されており、利用側の機能実体４Ａ（利用側装置）から分散機能利用要求に応じて、その要求された機能に対応するメタ設計図情報に基づき当該機能の提供に用いる機能実体１Ａ〜３Ａの各機能を連携させて所望の機能を機能実体４Ａへ提供する。
メタ設計図情報管理装置９は、例えば全体としてサーバやＰＣ端末などのコンピュータから実現されており、分散機能連携システムで任意の機能を提供する際に、各機能実体を連携させて実行するための情報としてメタ設計図情報を管理する。
【００８５】
本実施の形態では、各機能実体１Ａ〜３Ａで、当該機能実体で提供する機能の連携に関する情報を語彙情報として管理し、分散機能管理装置８で、利用側から要求された機能に対応するメタ設計図情報に基づき各機能実体を連携させる際、各機能実体の語彙情報を参照して、メタ設計図情報で指定されたパラメータ名と、当該要求機能を提供する実際の機能実体で用いる引数または戻り値の名前を示すパラメータ名との対応関係を検証し、当該機能実体で用いる引数名の解決を行うようにしたものである。そして、その検証の際、実際の機能実体の上位機能を有する親機能実体の語彙情報も参照するようにしたものである。
【００８６】
以下では、図８において、機能実体４Ａが利用側機能実体であり、機能実体１Ａが提供側機能実体であり、機能実体２Ａが機能実体１Ａの上位機能を有する親機能実体であり、機能実体３Ａが機能実体２Ａの上位機能を有する親機能実体である場合を例として説明する。
【００８７】
［機能実体］
次に、図９を参照して、本実施の形態にかかる分散機能連携システムで用いられる機能実体について説明する。図９は本実施の形態にかかる分散機能連携システムで用いられる機能実体の構成を示すブロック図である。
この機能実体１Ａは、全体としてＷｅｂサーバなどのコンピュータからなり、通信インターフェース部（以下、通信Ｉ／Ｆ部という）１１、操作入力部１２、画面表示部１３、記憶部１４、および制御部１５が設けられている。ここでは、機能実体１Ａを例として説明するが、機能実体２Ａ〜４Ａについても同様の構成を有している。なお、図９において、図２と同じまたは同等部分には同一符号を付してある。
【００８８】
記憶部１４に格納される情報としては、機能実体情報１４Ｇ、語彙情報１４Ｈ、およびマッピング情報１４Ｉなどがある。
図１０に、これら機能実体情報１４Ｇ、語彙情報１４Ｈ、およびマッピング情報１４Ｉの構成例を示す。
【００８９】
機能実体情報１４Ｇは、当該機能実体の実行に関する情報であり、実体メソッド名１６Ａ、およびパラメータ群１６Ｂからなる。またパラメータ群１６Ｂは、戻り値群１６Ｃと引数群１６Ｄからなる。
実体メソッド名１６Ａは、当該機能実体を呼び出す際に用いる名前である。パラメータ群１６Ｂの戻り値群１６Ｃは、当該機能実体を実行して得られる各戻り値の並び順や値形式を示す書式情報である。パラメータ群１６Ｂの引数群１６Ｄは、当該機能実体を実行するのに必要な引数データの並び順や値形式を示す書式情報である。
【００９０】
語彙情報１４Ｈは、当該機能実体の連携に関する情報であり、分散機能カテゴリ１７Ａ、語彙名１７Ｂ、親語彙名１７Ｃ、およびパラメータ意味情報１７Ｄからなる。またパラメータ意味情報１７Ｄは、パラメータ名群１７Ｅ、および対応情報１７Ｆからなる。
分散機能カテゴリ１７Ａは、当該機能実体が属する機能分類のカテゴリを示す情報である。語彙名１７Ｂは、当該語彙情報１４Ｈを識別するための名前である。親語彙名１７Ｃは、当該機能実体の親機能実体に対応する親語彙情報を識別するための名前である。パラメータ意味情報１７Ｄのパラメータ名群１７Ｅは、当該機能実体で用いる引数や戻り値に付与した名前である。パラメータ意味情報１７Ｄの対応情報１７Ｆは、パラメータ名群１７Ｅの各パラメータ名群と親語彙情報のパラメータ名群との対応関係を示す情報である。
【００９１】
マッピング情報１４Ｉは、機能実体情報１４Ｇのパラメータ群１６Ｂと語彙情報１４Ｈのパラメータ意味情報１７Ｄとの対応関係を示す情報である。
記憶部１４に格納されるプログラムとしては、提供する機能を実行するための機能プログラム１４Ｊと、分散機能管理装置８に対して語彙情報１４Ｈに含まれる各種情報を提供するための管理プログラム１４Ｋとがある。
【００９２】
制御部１５により実現される機能手段として、機能処理手段１５Ｇと情報管理手段１５Ｈがある。
機能処理手段１５Ｇは、機能プログラム１４Ｊにより実現されて、分散機能管理装置８からのメッセージに基づき、利用側へ提供する機能を実行する機能手段である。情報管理手段１５Ｈは、管理プログラム１４Ｋにより実現されて、分散機能管理装置８に対して語彙情報１４Ｈに含まれる各種情報を提供する機能手段である。
【００９３】
［分散機能管理装置］
次に、図１１を参照して、本実施の形態にかかる分散機能連携システムで用いられる分散機能管理装置について説明する。図１１は本実施の形態にかかる分散機能連携システムで用いられる分散機能管理装置の構成を示すブロック図である。
この分散機能管理装置８は、全体としてサーバやＰＣ端末などのコンピュータからなり、通信インターフェース部（以下、通信Ｉ／Ｆ部という）８１、操作入力部８２、画面表示部８３、記憶部８４、および制御部８５が設けられている。
【００９４】
通信Ｉ／Ｆ部８１は、ネットワーク５を介して他の装置と各種メッセージをやり取りする回路部である。
操作入力部８２は、キーボードやマウスなどの操作入力装置からなり、オペレータの操作を検出して制御部８５へ出力する。
画面表示部８３は、ＬＣＤなどの画面表示装置などからなり、制御部８５からの制御に応じて各種情報を画面表示する。
【００９５】
記憶部８４は、ハードディスクやメモリなどの記憶装置からなり、制御部８５での処理に用いる各種情報や制御部８５で実行されるプログラム８４Ａを記憶する。
制御部８５は、ＣＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部８４からプログラム８４Ａを読み込んで実行することにより、上記ハードウェアとプログラムとを協働させて各種機能手段を実現する。
これら機能手段としては、機能実行手段８５Ａ、引数名解決手段８５Ｂ、およびパラメータ検証手段８５Ｃなどがある。
【００９６】
機能実行手段８５Ａは、利用側機能実体からの分散機能利用要求に応じて、その要求された機能に対応するメタ設計図情報に基づき、対応する機能実体へ機能の実行を指示するメッセージを送信する機能手段である。
引数名解決手段８５Ｂは、利用側機能実体からの分散機能利用要求に応じて、その要求された機能に対応するメタ設計図情報に基づき、利用する機能実体について引数名の解決処理を行うことにより各機能実体の利用可否を検証する機能手段である。
パラメータ検証手段８５Ｃは、各機能実体の語彙情報１４Ｈを参照して、メタ設計図情報で指定されているパラメータ名と実際の機能実体でのパラメータ名との対応関係を検証する機能手段である。
【００９７】
［メタ設計図情報］
次に、図１２を参照して、メタ設計図情報の構成について説明する。図１２はメタ設計図情報の構成例である。
このメタ設計図情報９０は、分散機能連携システムで提供する任意の機能を実現するための情報であり、各機能ごとに生成されてメタ設計図情報管理装置９に予め格納され、分散機能管理装置８からの要求に応じて読み出される。
【００９８】
メタ設計図情報９０は、処理フロー情報９０Ａとパラメータ引継情報９０Ｂとから構成されている。
処理フロー情報９０Ａは、当該機能を実現するために実行する機能実体のフローを示す情報であり、実行すべき各機能実体が機能カテゴリで記述されている。図１２の例では、当該機能を実現するため、まず「分散機能カテゴリ１１Ａ」９０１に属する任意の機能実体を実行した後、「分散機能カテゴリ５１Ａ」９０２に属する任意の機能実体を実行する、というフローが記述されている。
【００９９】
パラメータ引継情報９０Ｂは、処理フロー情報９０Ａで複数の機能を実行する際、各機能間で引き継ぐパラメータの対応関係を示す情報であり、引継元の機能実体で用いられるパラメータ名が引継先の機能実体で用いられるどのパラメータ名に引き継がれるかが、機能カテゴリ、語彙名、およびパラメータ名からなる引継元および引継先パラメータ情報により記述されている。図１２の例では、引継元パラメータ情報９１１で「分散機能カテゴリ１１Ａ」に属する「語彙名３１Ｂ」の「パラメータ名３１ＥＡ」が引継元パラメータとして指定されており、引継先パラメータ情報９１２で「分散機能カテゴリ５１Ａ」に属する「語彙名６１Ｂ」の「パラメータ名６１ＥＢ」が引継先パラメータとして指定されている。
【０１００】
［引数名解決処理］
次に、図１３を参照して、本実施の形態にかかる分散機能管理装置８での引数名解決処理動作について説明する。図１３は、本実施の形態にかかる分散機能管理装置８での引数名解決処理を示すフローチャートである。
分散機能管理装置８の制御部８５は、利用側の機能実体４Ａからの機能実行要求に応じて、その機能の実行に用いる機能実体を決定する必要がある。この際、引数名解決手段８５Ｂにより図１３の引数名解決処理を実行し、要求機能に対応するメタ設計図情報９０に基づいて、各機能実体で用いる引数名の解決を行う。
【０１０１】
引数名解決手段８５Ｂは、まず、通信Ｉ／Ｆ部８１および通信ネットワーク５を介してメタ設計図情報管理装置９へアクセスし、当該要求機能に対応するメタ設計図情報９０を取得する（ステップ１５０）。この際、メタ設計図情報管理装置９への接続については、当該要求機能の機能名に対応するアドレスや予め設定されているアドレスで接続するようにしてもよく、分散機能管理装置８でメタ設計図情報９０を管理しておいてもよい。
【０１０２】
次に、引数名解決手段８５Ｂは、メタ設計図情報９０のパラメータ引継情報９０Ｂから、未処理のパラメータ情報対を取得し（ステップ１５１）、その引継元パラメータおよび引継先パラメータのそれそれについて、パラメータ引継情報９０Ｂで指定されているパラメータ名と実際の機能実体でのパラメータ名との対応関係を、パラメータ検証手段８５Ｃを用いて検証する（ステップ１５２，１５３）。
そして、これら引継元パラメータおよび引継先パラメータの両方の検証が成功した場合には（ステップ１５４：ＹＥＳ）、未処理のパラメータ情報対がある場合にのみ（ステップ１５５：ＹＥＳ）、ステップ１５１へ戻って検証処理を繰り返す。
【０１０３】
また、すべてのパラメータ情報対の検証が終了した場合は（ステップ１５５：ＮＯ）、引数名解決が成功したことから要求機能実行可と判断し（ステップ１５６）、一連の引数名解決処理を終了する。
一方、ステップ１５４で、引継元パラメータおよび引継先パラメータの両方の検証が成功しなかった場合には（ステップ１５４：ＮＯ）、引数名解決が失敗したことから要求機能実行不可と判断し（ステップ１５７）、一連の引数名解決処理を終了する。
【０１０４】
［パラメータ検証処理］
次に、図１４を参照して、本実施の形態にかかる分散機能管理装置８でのパラメータ検証処理動作について説明する。図１４は、本実施の形態にかかる分散機能管理装置８でのパラメータ検証処理を示すフローチャートである。
分散機能管理装置８の制御部８５は、引数名解決手段８５Ｂでの引数名解決処理のステップ１５２，１５３において、パラメータ検証手段８５Ｃにより、メタ設計図情報９０のパラメータ引継情報９０Ｂの引継元または引継先パラメータ情報９１１，９１２を入力パラメータ情報とし、この入力パラメータ情報で指定されているパラメータ名すなわち検証もとパラメータ名と、実際の機能実体で用いられるパラメータ名すなわち検証元パラメータ名との対応関係を検証する。
【０１０５】
まず、パラメータ検証手段８５Ｃは、入力パラメータ情報において指定された分散機能カテゴリと一致するカテゴリを持つ語彙情報を各機能実体１Ａ〜４Ａから検索し、検証先語彙情報として取得する（ステップ１６０）。
また、入力パラメータ情報において指定された語彙情報を検証元語彙情報として取得する（ステップ１６１）。
そして、これら取得した各語彙のパラメータ名群１７Ｅと対応情報１７Ｆとを用いて、処理対象パラメータ情報で指定された検証元語彙情報の検証元パラメータ名に対応する検証先パラメータ名が、検証先語彙情報のパラメータ名群１７Ｅに存在するか確認する（ステップ１６２）。
【０１０６】
ここで、検証先パラメータ名の存在が確認できた場合は（ステップ１６３：ＹＥＳ）、その検証先パラメータ名に対する検証成功と判断し（ステップ１６４）、一連のパラメータ検証処理を終了する。
一方、検証先パラメータ名の存在が確認できなかった場合は（ステップ１６３：ＮＯ）、検証先語彙情報または検索元語彙情報の親語彙名１７Ｃを参照して、その語彙情報の親語彙情報が存在するか確認し、親語彙情報が存在する場合は（ステップ１６５：ＹＥＳ）、その親語彙名１７Ｃに対応する親語彙情報を各機能実体１Ａ〜４Ａから検索して取得する（ステップ１６６）。
【０１０７】
そして、ステップ１６２へ戻り、それまでに取得した各語彙情報、すなわち検証先、検証元、および親の各語彙情報のパラメータ名群１７Ｅと対応情報１７Ｆとを用いて、検証元パラメータ名に対応する検証先パラメータ名が、検証先語彙情報のパラメータ名群１７Ｅに存在するか確認する。
また、ステップ１６５において、最上位に位置する機能実体まで遡って、親語彙情報が存在しない場合は（ステップ１６５：ＮＯ）、検証元パラメータ名に対する検証失敗と判断し（ステップ１６９）、一連のパラメータ検証処理を終了する。
【０１０８】
これにより、検証先パラメータ名が見つからない場合は、親語彙情報が存在するまで検証先側または検証元側の語彙情報から遡って１つ以上の親語彙情報が順に取得され、これら親語彙情報を仲立ちとして検証元パラメータ名と検証先パラメータ名との対応関係がチェックされる。
【０１０９】
このように、各機能実体１Ａ〜４Ａで、当該機能実体で提供する機能の連携に関する情報を語彙情報１４Ｈとして管理するとともに、分散機能連携システムの各機能実体１Ａ〜４Ａを管理する分散機能管理装置８を設け、この分散機能管理装置８で、利用側から要求された機能に対応するメタ設計図情報９０に基づき当該機能を提供する機能実体を決定する際、各機能実体１Ａ〜４Ａの語彙情報１４Ｈを参照して、当該機能実体で用いる引数名の解決を行うようにしたので、分散機能連携システムにおいて、異なるインターフェースを持つ機能実体を柔軟に連携させることができる。
【０１１０】
したがって、メタ設計図情報に基づき順に実行する各機能実体の間でのパラメータ引継可否を容易かつ正確に確認でき、複数の機能実体を用いた複雑なサービスを適切に提供できる。
また、各機能実体で用いられている実際のパラメータ名を個別に把握していなくても、その機能実体が属する分散機能カテゴリで広く利用されているパラメータ名を用いてメタ設計図情報を作成することができる。これにより、メタ設計図情報の作成に要する作業負担を大幅に軽減でき、メタ設計図情報の自動作成を実現できる。
【０１１１】
また、各語彙情報に、当該機能実体の上位に位置する親機能実体の親語彙名と、その親語彙名に対応する親語彙情報との間のパラメータ名の対応関係を示す対応情報とを登録しておき、当該語彙情報でパラメータの検証が成功しなかった場合は、その対応情報と親語彙情報のパラメータ名とを仲立ちとして、当該パラメータ名に対応するパラメータ名の存在を確認するようにしたので、検証先語彙情報で異なるパラメータ名を用いている場合でも、そのパラメータが検証元語彙情報のパラメータ名と同一の意味で用いられているかどうか正確に検証できる。
【０１１２】
なお、分散機能管理装置８において、メタ設計図情報９０や語彙情報１４Ｈを検索する際、ＵＤＤＩ（Universal Description Discover and Integration）などのサーバによる検索結果に基づき所望の情報を取得してもよく、Ｐ２Ｐ（Peer to Peer）的に所定のメタ設計図情報管理装置９や各機能実体１Ａ〜１３を検索して所望の情報を取得してもよく、さらには他のエンジンからの通知に基づき所望の情報を取得してもよい。
【０１１３】
［パラメータ検証処理例］
図１５にパラメータ検証処理の実例を示す。この例では、メタ設計図情報９０のパラメータ引継情報９０Ｂに、「分散機能カテゴリ１１Ａ，語彙名３１Ｂ，パラメータ名３１ＥＡ」からなる検証元パラメータ情報９１１と、「分散機能カテゴリ５１Ａ，語彙名６１Ｂ，パラメータ名６１ＥＢ」からなる検証元パラメータ情報９１２とが登録されている。
パラメータ検証手段８５Ｃは、まずメタ設計図情報９０の検証元パラメータ情報９１１の分散機能カテゴリ１１Ａと一致するカテゴリを持つ語彙を検索し、機能実体１Ａの語彙情報１０Ｈを検証先語彙情報として取得する（ステップ１６０）。
【０１１４】
この語彙情報１０Ｈには「分散機能カテゴリ１１Ａ，語彙名１１Ｂ，親語彙名１１Ｃ，パラメータ意味情報１１Ｄ，パラメータ名群１１Ｅ，対応情報１１Ｆ」が登録されている。また、機能実体１Ａの機能実体情報１０Ｇには「実体メソッド名１０Ａ，パラメータ群１０Ｂ，戻り値１０Ｃ，引数群１０Ｄ」が登録されている。そして、パラメータ名群１１Ｅとパラメータ群１０Ｂとを対応付けるマッピング情報１０Ｉも登録されている。
【０１１５】
次に、パラメータ検証手段８５Ｃは、検証元パラメータ情報９１１の語彙名３１Ｂと一致する語彙名を持つ語彙情報を検索し、機能実体３Ａの語彙情報３０Ｈを検証元語彙情報として取得する（ステップ１６１）。
この語彙情報３０Ｈには「分散機能カテゴリ３１Ａ，語彙名３１Ｂ，親語彙名３１Ｃ，パラメータ意味情報３１Ｄ，パラメータ名群３１Ｅ，対応情報３１Ｆ」が登録されている。
【０１１６】
そして、パラメータ検証手段８５Ｃは、パラメータ名群１１Ｅ，３１Ｅ、および対応情報１１Ｆ，３１Ｆを参照して、検証元語彙情報３０Ｈの検証元パラメータ３１ＥＡと対応する検証先パラメータ名が検証先語彙情報１０Ｈのパラメータ名群１１Ｅにあるか確認する（ステップ１６２）。
この場合、検証先語彙情報１０Ｈと検証元語彙情報３０Ｈとが直接あるいは他の語彙情報を介して連絡されていないことから、検証先パラメータ名は見つからない。
【０１１７】
したがって、検証先パラメータ名がない場合は（ステップ１６３：ＮＯ）、例えば検証先語彙情報１０Ｈの親語彙名１１Ｃの登録有無に基づき親語彙情報が存在することを確認し（ステップ１６５：ＹＥＳ）、その親語彙名１１Ｃと一致する語彙名２１Ｂを持つ語彙情報２０Ｈを機能実体２Ａから親語彙情報として取得する（ステップ１６６）。
そして、パラメータ名群１１Ｅ，２１Ｅ，３１Ｅ、および対応情報１１Ｆ，２１Ｆ，３１Ｆを参照して、検証元語彙情報３０Ｈの検証元パラメータ３１ＥＡと対応する検証先パラメータ名が検証先語彙情報１０Ｈのパラメータ名群１１Ｅにあるか確認する（ステップ１６２）。
【０１１８】
この場合は、検証先語彙情報１０Ｈと検証元語彙情報３０Ｈとが親語彙情報２０Ｈを介して連絡されて、検証先パラメータ名が見つかるものとなり（ステップ１６３：ＹＥＳ）、検証成功と判断されて（ステップ１６４）、パラメータ名３１ＥＡに対する一連のパラメータ検証処理が終了する。
【０１１９】
なお、図１５では、検証元語彙情報３０Ｈが検証先語彙情報１０Ｈの機能実体１Ａの親親に当たる機能実体３Ａのものである場合を例としたため、検証先側で親語彙情報を取得することにより、パラメータ検証が得られた。このように、メタ設計図情報９０で指定された検証元語彙情報と検証先語彙情報との上下関係が予め規則で決められている場合は、その上下関係に基づき検証先または検証元のいずれか一方で親語彙情報を順に遡ればよく、少ない処理回数で効率よく検証できる。
【０１２０】
一方、図１６に示すように、検証元と検証先とが直接的な上下関係になく、両方の上位に位置する語彙情報で連絡される場合には、検証元および検証先の両方で親語彙情報を順に遡ればよい。この際、ステップ１６６でいずれか一方の親語彙情報を取得するごとに、ステップ１６２へ戻って検証先パラメータの有無を確認してもよく、ステップ１６６で検証元および検証先の両方の親語彙情報を同時に取得した後、ステップ１６２へ戻って検証先パラメータの有無を確認してもよい。
【０１２１】
また、ステップ１６１とステップ１６２との間に、検証元および検証先の両方で、最上位の語彙情報まですべての親語彙情報を取得するステップを設け、ステップ１６２で、これらすべての親語彙情報を参照して、検証先パラメータの有無を確認してもよい。
これにより、検証元と検証先との上下関係に関係なく、どのような連絡の状態にも対応できる。
【０１２２】
なお、以上の各実施の形態では、４つの機能実体１〜４、または機能実体１Ａ〜４Ａがネットワーク５に分散配置されている場合を例として説明したが、機能実体の数やこれら機能実体の間の親子関係についてはこれに限定されるものではなく、機能実体の数や親子関係が異なる場合でも、前述と同様にして各実施の形態を適用できる。
【０１２３】
また、各機能実体が持つ機能として、Ｗｅｂサーバで引数データに基づきデータベースなどを用いて情報処理する機能、例えばホテルなどの予約システムなどを例として説明したが、これに限定されるものではなく、引数データに基づきセンサや外部機器などを制御する機能、例えばセンサやデバイスを用いて室温に応じてエアコンをコントロールする機能であっても、前述と同様にして各実施の形態を適用できる。
【０１２４】
また、各機能実体は、個々にハードウェアを有する場合を例として説明したが、各機能に固有の情報、すなわち機能実体名１４Ａ、引数名群１４Ｂ、対応情報１４Ｃ、親機能実体名１４Ｄ、あるいは機能実体情報１４Ｇ、語彙情報１４Ｈ、マッピング情報１４Ｉなどの情報を個別に管理することにより、１つのハードウェアで異なる複数の機能実体を実現してもよく、あるいは１つの機能実体が、異なる複数の機能処理手段１５Ａ，１５Ｇを持つ場合でも、前述と同様にして各実施の形態を適用できる。
【０１２５】
また、以上の各実施の形態は、分散オブジェクトにも適用できる。分散オブジェクトとは、異なるコンピュータや異なるプロセスで動作しているオブジェクトすなわち機能処理にアクセスするための技術であり、本発明の分散機能連携技術と同様の技術分野にある。したがって、各実施の形態でいう各機能実体が持つ機能は、分散オブジェクト実行環境における分散オブジェクトのメソッド（メンバー関数またはオペレーションともいう）、すなわちそのオブジェクトに用意された個別のデータ処理、に相当する機能として捉えてもよい。
【図面の簡単な説明】
【０１２６】
【図１】本発明の第１の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
【図２】図１の機能実体の構成を示すブロック図である。
【図３】本発明の第１の実施の形態にかかる分散機能連携システムの動作を示すシーケンス図である。
【図４】引数名整合処理の実例を示す。
【図５】処理要求メッセージの構成例である。
【図６】本発明の第２の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
【図７】本発明の第３の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
【図８】本発明の第４の実施の形態にかかる分散機能連携システムの構成を示すブロック図である。
【図９】図８の機能実体の構成を示すブロック図である。
【図１０】機能実体情報および語彙情報の構成例である。
【図１１】図８の分散機能管理装置の構成を示すブロック図である。
【図１２】メタ設計図情報の構成例である。
【図１３】図８の分散機能管理装置での引数名解決処理を示すフローチャートである。
【図１４】図８の分散機能管理装置でのパラメータ検証処理を示すフローチャートである。
【図１５】パラメータ検証処理の実例を示す説明図である。
【図１６】語彙情報の関係例である。
【符号の説明】
【０１２７】
１，１Ａ…機能実体（提供側）、２，２Ａ…機能実体（親）、３，３Ａ…機能実体（親親）、４，４Ａ…機能実体（利用側）、５…ネットワーク、６…対応情報管理装置、７…親子関係管理装置、８…分散機能管理装置、９…メタ設計図情報管理装置、１１…通信Ｉ／Ｆ部、１２…操作入力部、１３…画面表示部、１４…記憶部、１４Ａ，２４Ａ，３４Ａ…機能実体名、１４Ｂ，２４Ｂ，３４Ｂ…引数名群、１４Ｃ，２４Ｃ…対応情報、１４Ｄ…親機能実体名、１４Ｅ，４４Ｅ…引数データ、１４Ｆ…プログラム、１４Ｇ…機能実体情報、１４Ｈ…語彙情報、１４Ｉ…マッピング情報、１４Ｊ…機能プログラム、１４Ｋ…管理プログラム、１５…制御部、１５Ａ…機能処理手段、１５Ｂ…情報管理手段、１５Ｃ…引数確認手段、１５Ｄ…引数変換手段、１５Ｅ…メッセージ作成手段、１５Ｇ…機能処理手段、１５Ｈ…情報管理手段、１６Ａ…実体メソッド名、１６Ｂ…パラメータ群、１６Ｃ…戻り値群、１６Ｄ…引数群、１７Ａ…分散機能カテゴリ、１７Ｂ…語彙名、１７Ｃ…親語彙名、１７Ｄ…パラメータ意味情報、１７Ｅ…パラメータ名群、１７Ｆ…対応情報、８１…通信Ｉ／Ｆ部、８２…操作入力部、８３…画面表示部、８４…記憶部、８４Ａ…プログラム、８５…制御部、８５Ａ…機能実行手段、８５Ｂ…機能検証手段。
【図１】
2005235140.tif 000003
【図２】
2005235140.tif 000004
【図３】
2005235140.tif 000005
【図４】
2005235140.tif 000006
【図５】
2005235140.tif 000007
【図６】
2005235140.tif 000008
【図７】
2005235140.tif 000009
【図８】
2005235140.tif 000010
【図９】
2005235140.tif 000011
【図１０】
2005235140.tif 000012
【図１１】
2005235140.tif 000013
【図１２】
2005235140.tif 000014
【図１３】
2005235140.tif 000015
【図１４】
2005235140.tif 000016
【図１５】
2005235140.tif 000017
【図１６】
2005235140.tif 000018