(57)【特許請求の範囲】
【請求項１】
複数の処理モジュールからなる計算空間が、複数の計算機装置が結合された計算機ネットワーク上に分散して配置され、各処理モジュールが通信を行いながら実質的に連係して分散処理を行う分散処理システムであって、
前記計算空間において処理モジュールを特定する論理的参照情報を、同様の論理的参照情報、および、計算機システム上のオブジェクトを直接的に特定するシステム参照情報のいずれか、またはそれらの組み合わせの参照情報に変換する複数の参照変換手段と、
入力された論理的参照情報、および、前記参照変換手段において変換され生成された論理的参照情報を、当該論理的参照情報に基づいて前記複数の参照変換手段のいずれかに再帰的に入力し、前記入力された論理的参照情報を前記システム参照情報に変換する変換制御手段と、
通信先の処理モジュールの論理的参照情報を、前記変換制御手段を介して前記参照変換手段によりシステム参照情報に変換し、前記各処理モジュール間の通信を行う通信手段と
を有し、
前記複数の参照変換手段は、前記論理的参照情報を前記システム参照情報に変換する第１の参照変換手段と、前記論理的参照情報を前記システム参照情報の組に変換する第２の参照変換手段と、前記論理的参照情報を他の論理的参照情報に変換する第３の参照変換手段と、前記論理的参照情報を他の論理的参照情報の組に変換する第４の参照変換手段と、前記論理的参照情報を前記システム参照情報と前記論理的参照情報の組に変換する第５の変換手段と含み、
前記変換制御手段は、前記入力された論理的参照情報、および、前記変換されて生成された論理的参照情報を、該論理的参照情報の内容に基づいて前記第１の参照変換手段〜第５の参照変換手段のいずれかに入力する
分散処理システム。
【請求項２】
前記論理的参照情報は、アプリケーションにおいて処理モジュールを特定する参照情報である
請求項１記載の分散処理システム。
【請求項３】
前記参照変換手段は、少なくとも前記論理的参照情報と、他の論理的参照情報または前記システム参照情報のいずれかまたはその両方との対応が示された第１のテーブルを有し、該第１のテーブルを参照して前記変換を行う
請求項１または請求項２記載の分散処理システム。
【請求項４】
前記論理的参照情報、および、前記システム参照情報は、各々前記処理モジュールおよびオブジェクトを、その識別子により特定し、
前記参照変換手段は、該識別子に基づいて前記第１のテーブルを参照する
請求項３記載の分散処理システム。
【請求項５】
前記論理的参照情報、および、前記システム参照情報は、各々前記処理モジュールおよび前記オブジェクトを、その論理的な名前により特定し、
前記参照変換手段は、少なくとも前記論理的な名前と前記識別子を対応付ける第２のテーブルをさらに有し、該論理的な名前に基づいて前記第２のテーブルを参照して前記識別子を求め、該識別子に基づいて前記第１のテーブルを参照する
請求項４記載の分散処理システム。
【請求項６】
前記変換制御手段は、前記参照変換手段において変換され生成された論理的参照情報を、順次個別に前記複数の参照変換手段のいずれかに再帰的に入力する
請求項１〜５いずれか記載の分散処理システム。
【請求項７】
前記変換制御手段は、前記参照変換手段において変換され生成された論理的参照情報の組を、当該論理的参照情報の組の内容に基づいて前記複数の参照変換手段のいずれかに一括的に再帰的に入力する
請求項１〜５いずれか記載の分散処理システム。
【請求項８】
前記変換制御手段は、前記参照変換手段において変換され生成された論理的参照情報の組に対して、任意の論理的参照情報を抽出して新たな論理的参照情報の組を生成し、該論理的参照情報の組を当該組の内容に基づいて前記複数の参照変換手段のいずれかに一括的に入力する
請求項１〜５いずれか記載の分散処理システム。
【請求項９】
前記参照変換手段における変換条件を入力する変換条件入力手段
をさらに有し、
前記参照変換手段は、前記入力された変換条件に基づいて前記変換を行う
請求項１〜８いずれか記載の分散処理システム。
【請求項１０】
前記参照変換手段は、通信手段を有し、該通信手段を介して得られる他の参照変換装置からの情報に基づいて前記変換を行う
請求項１〜９いずれか記載の分散処理システム。
【請求項１１】
前記参照変換手段は、変換に係わる情報を一時的に記憶する記憶手段を有し、該記憶手段に記憶されている情報に基づいて前記変換を行う
請求項１〜１０いずれか記載の分散処理システム。
【請求項１２】
前記複数の参照変換手段は、ドメイン参照情報を対応する所定の他の参照情報に変換するドメイン情報変換手段と、エンティティ参照情報を対応する所定の他の参照情報に変換するエンティティ情報変換手段と、プロセス参照情報を対応する所定の他の参照情報に変換するプロセス情報変換手段と、ノードネームを対応する他の参照情報に変換するノードネーム情報変換手段と、ドメインネームシステムにおける名前を対応する所定の参照情報に変換するドメインネーム情報変換手段とのいずれか１つ、または複数、または全てを有する
請求項１記載の分散処理システム。
【請求項１３】
前記ドメイン情報変換手段は、前記ドメイン参照情報をそのドメインを構成する要素の参照情報からなる情報に変換する
請求項１２記載の分散処理システム。
【請求項１４】
前記エンティティ情報変換手段は、インスタンス、クラス、メソッド、および大域関数の各要素についての参照情報を、当該要素の存在するプロセスの参照情報と該プロセス内での識別子からなる情報に変換する
請求項１２または１３記載の分散処理システム。
【請求項１５】
前記プロセス情報変換手段は、当該プロセスが存在し、ドメインネーム、ＩＰアドレス、ノードネームのいずれかにより示されるノード参照情報と、当該ノード内でのプロセス識別子からなる情報に変換する
請求項１２〜１４いずれか記載の分散処理システム。
【請求項１６】
ノ−ドネ−ム情報変換手段は、前記ノードネームを、当該ノードの他の表現であるドメインネーム、または、ＩＰアドレスの情報に変換する
請求項１２〜１５いずれか記載の分散処理システム。
【請求項１７】
前記ドメインネーム情報変換手段は、前記ドメインネームを対応するＩＰアドレスに変換する
請求項１２〜１６いずれか記載の分散処理システム。
【請求項１８】
前記ドメインネーム情報変換手段は、前記参照変換手段とは異なる他の参照変換手段に対して前記変換を指示する
請求項１７記載の分散処理システム。
【請求項１９】
前記プロセス情報変換手段、および、前記ノードネーム情報変換手段は、前記ＩＰアドレスを得る変換を行う際に、別途入力されるメディア情報を参照して前記ＩＰアドレスを決定する
請求項１２〜１８記載の分散処理システム。
【請求項２０】
複数の処理モジュールからなる計算空間が、複数の計算機装置が結合された計算機ネットワーク上に分散して配置され、各処理モジュールが通信を行いながら実質的に連係して分散処理を行う分散処理方法であって、
前記各処理モジュールの通信先の論理的参照情報について、その内容に基づいて参照変換の方法を決定し、
該決定された参照変換の方法により、前記通信先の論理的参照情報を他の論理的参照情報、および、前記計算機ネットワーク上のオブジェクトを直接的に特定するシステム参照情報のいずれか、またはそれらの組み合わせの参照情報に変換し、
前記変換結果の参照情報の中の論理的参照情報については再び当該論理的参照情報に基づいて参照変換の方法を決定し、
該決定された参照変換の方法により、前記変換を再び行い、
前記変換結果の参照情報の全ての要素が前記システム参照情報となるまで論理的参照情報に対する前記参照変換の方法の決定およびそれに基づく変換をくり返し行い、前記全ての要素が前記システム参照情報となったら、該参照情報に基づいて前記各処理モジュール間の通信を行い、
当該各処理モジュールが実質的に連係して分散処理を行う
分散処理方法。
【請求項２１】
前記論理的参照情報は、アプリケーションにおいて処理モジュールを特定する参照情報である
請求項２０記載の分散処理方法。
【請求項２２】
前記参照変換の方法は、前記論理的参照情報を前記システム参照情報に変換する第１の方法と、前記論理的参照情報を前記システム参照情報の組に変換する第２の方法と、前記論理的参照情報を他の論理的参照情報に変換する第３の方法と、前記論理的参照情報を他の論理的参照情報の組に変換する第４の方法と、前記論理的参照情報を前記システム参照情報と前記論理的参照情報の組に変換する第５の方法の中より、前記入力された論理的参照情報、および、前記変換されて生成された論理的参照情報の内容に基づいて決定される
請求項２０または２１記載の分散処理方法。
【請求項２３】
前記参照変換の方法は、少なくとも前記論理的参照情報と、他の論理的参照情報または前記システム参照情報のいずれかまたはその両方との対応が示された第１のテーブルを参照して前記変換を行う
請求項２０〜２２いずれか記載の分散処理方法。
【請求項２４】
前記論理的参照情報、および、前記システム参照情報は、各々前記処理モジュールおよび前記オブジェクトを、その識別子により特定し、
前記第１〜第５の方法においては、該識別子に基づいて前記第１のテーブルを参照し前記変換を行う
請求項２３記載の分散処理方法。
【請求項２５】
前記論理的参照情報、および、前記システム参照情報は、各々前記処理モジュールおよび前記オブジェクトを、その論理的な名前により特定し、
前記第１〜第５の方法においては、少なくとも前記論理的な名前と前記識別子を対応付ける第２のテーブルを該論理的な名前に基づいて参照して前記識別子を求め、該識別子に基づいて前記第１のテーブルを参照して前記変換を行う
請求項２４記載の分散処理方法。
【請求項２６】
前記変換により生成された論理的参照情報の組に対しては、各々個別に前記変換方法の決定を行い、順次前記変換を行う
請求項２０〜２５いずれか記載の分散処理方法。
【請求項２７】
前記変換され生成された論理的参照情報の組に対しては、当該論理的参照情報の組の内容に基づいて前記変換方法の決定を行い、該論理的参照情報の組に対して一括的に前記変換を行う
請求項２０〜２５いずれか記載の分散処理方法。
【請求項２８】
前記変換され生成された論理的参照情報の組に対して、任意の論理的参照情報を抽出して新たな論理的参照情報の組を生成し、該論理的参照情報の組を当該組の内容に基づいて複数の前記参照変換の方法による変換を一括的に行う
請求項２０〜２５いずれか記載の分散処理方法。
【請求項２９】
前記変換は、別途入力される変換条件の情報に基づいて行う
請求項２０〜２８いずれか記載の分散処理方法。
【請求項３０】
前記変換は、他の参照変換装置と通信を行って得られる当該変換に係わる情報に基づいて行う
請求項２０〜２９いずれか記載の分散処理方法。
【請求項３１】
前記変換の際に得られる変換に係わる情報を一時的に記憶手段に記憶し、
該記憶されている情報に基づいて前記変換を行う
請求項２０〜３０いずれか記載の分散処理方法。
【請求項３２】
前記参照変換の方法は、ドメイン参照情報を対応する所定の他の参照情報に変換するドメイン情報変換方法と、エンティティ参照情報を対応する所定の他の参照情報に変換するエンティティ情報変換方法と、プロセス参照情報を対応する所定の他の参照情報に変換するプロセス情報変換方法と、ノードネームを対応する他の参照情報に変換するノードネーム情報変換方法と、ドメインネームシステムにおける名前を対応する所定の参照情報に変換するドメインネーム情報変換方法より、前記入力された論理的参照情報、および、前記変換されて生成された論理的参照情報の内容に基づいて決定する
請求項２０記載の分散処理方法。
【請求項３３】
前記ドメイン情報変換方法は、前記ドメイン参照情報をそのドメインを構成する要素の参照情報からなる情報に変換する
請求項３２記載の分散処理方法。
【請求項３４】
前記エンティティ情報変換方法は、インスタンス、クラス、メソッド、および大域関数の各要素についての参照情報を、当該要素の存在するプロセスの参照情報と該プロセス内での識別子からなる情報に変換する
請求項３２または３３記載の分散処理方法。
【請求項３５】
前記プロセス情報変換手段は、当該プロセスが存在し、ドメインネーム、ＩＰアドレス、ノードネームのいずれかにより示されるノード参照情報と、当該ノード内でのプロセス識別子からなる情報に変換する
請求項３２〜３４いずれか記載の分散処理方法。
【請求項３６】
ノ−ドネ−ム情報変換手段は、前記ノードネームを、当該ノードの他の表現であるドメインネーム、または、ＩＰアドレスの情報に変換する
請求項３２〜３５いずれか記載の分散処理方法。
【請求項３７】
前記ドメインネーム情報変換手段は、前記ドメインネームを対応するＩＰアドレスに変換する
請求項３２〜３６いずれか記載の分散処理方法。
【請求項３８】
前記ドメインネーム情報変換手段は、前記参照変換手段とは異なる他の参照変換手段に対して前記変換を指示する
請求項３７記載の分散処理方法。
【請求項３９】
前記プロセス情報変換手段、および、前記ノードネーム情報変換手段は、前記ＩＰアドレスを得る変換を行う際に、別途入力されるメディア情報を参照して前記ＩＰアドレスを決定する
請求項３２〜３８記載の分散処理方法。
【請求項４０】
複数の処理モジュールからなる計算空間が、複数の計算機装置が結合された計算機ネットワーク上に分散して配置され、各処理モジュールが通信を行いながら実質的に連係して分散処理を行う計算機システムの前記処理モジュールに用いられる参照変換装置であって、
前記計算機システムにおいて論理的に処理モジュールを特定する論理的参照情報を、同様に論理的に処理モジュールを特定する論理的参照情報、および、計算機システム上のオブジェクトを直接的に特定するシステム参照情報のいずれか、またはそれらの組み合わせの参照情報に変換する複数の参照変換手段と、
入力された論理的参照情報、および、前記参照変換手段において変換され生成された論理的参照情報を、当該論理的参照情報に基づいて前記複数の参照変換手段のいずれかに再帰的に入力し、前記入力された論理的参照情報を前記システム参照情報に変換する変換制御手段と、
通信先の前記処理モジュールの論理的参照情報を、前記変換制御手段を介して前記参照変換手段によりシステム参照情報に変換し、前記各処理モジュール間の通信を行う通信手段と
を有し、
前記複数の参照変換手段は、前記論理的参照情報を前記システム参照情報に変換する第１の参照変換手段と、前記論理的参照情報を前記システム参照情報の組に変換する第２の参照変換手段と、前記論理的参照情報を他の論理的参照情報に変換する第３の参照変換手段と、前記論理的参照情報を他の論理的参照情報の組に変換する第４の参照変換手段と、前記論理的参照情報を前記システム参照情報と前記論理的参照情報の組に変換する第５の変換手段とを含み、
前記変換制御手段は、前記入力された論理的参照情報、および、前記変換されて生成された論理的参照情報を、該論理的参照情報の内容に基づいて前記第１の参照変換手段〜第５の参照変換手段のいずれかに入力する
参照変換装置。
【請求項４１】
前記論理的参照情報は、アプリケーションにおいて処理モジュールを特定する参照情報である
請求項４０記載の参照変換装置。
【請求項４２】
前記参照変換手段は、少なくとも前記論理的参照情報と、他の論理的参照情報または前記システム参照情報のいずれかまたはその両方との対応が示された第１のテーブルを有し、該第１のテーブルを参照して前記変換を行う
請求項４０または請求項４１記載の参照変換装置。
【請求項４３】
前記論理的参照情報、および、前記システム参照情報は、各々前記処理モジュールおよびオブジェクトを、その識別子により特定し、
前記参照変換手段は、該識別子に基づいて前記第１のテーブルを参照する
請求項４２記載の参照変換装置。
【請求項４４】
前記論理的参照情報、および、前記システム参照情報は、各々前記処理モジュールおよび前記オブジェクトを、その論理的な名前により特定し、
前記参照変換手段は、少なくとも前記論理的な名前と前記識別子を対応付ける第２のテーブルをさらに有し、該論理的な名前に基づいて前記第２のテーブルを参照して前記識別子を求め、該識別子に基づいて前記第１のテーブルを参照する
請求項４３記載の参照変換装置。
【請求項４５】
前記変換制御手段は、前記参照変換手段において変換され生成された論理的参照情報を、順次個別に前記複数の参照変換手段のいずれかに再帰的に入力する
請求項４０〜４４いずれか記載の参照変換装置。
【請求項４６】
前記変換制御手段は、前記参照変換手段において変換され生成された論理的参照情報の組を、当該論理的参照情報の組の内容に基づいて前記複数の参照変換手段のいずれかに一括的に再帰的に入力する
請求項４０〜４４いずれか記載の参照変換装置。
【請求項４７】
前記変換制御手段は、前記参照変換手段において変換され生成された論理的参照情報の組に対して、任意の論理的参照情報を抽出して新たな論理的参照情報の組を生成し、該論理的参照情報の組を当該組の内容に基づいて前記複数の参照変換手段のいずれかに一括的に入力する
請求項４０〜４４いずれか記載の参照変換装置。
【請求項４８】
前記参照変換手段における変換条件を入力する変換条件入力手段
をさらに有し、
前記参照変換手段は、前記入力された変換条件に基づいて前記変換を行う
請求項４０〜４７いずれか記載の参照変換装置。
【請求項４９】
前記参照変換手段は、通信手段を有し、該通信手段を介して得られる他の参照変換装置からの情報に基づいて前記変換を行う
請求項４０〜４８いずれか記載の参照変換装置。
【請求項５０】
前記参照変換手段は、変換に係わる情報を一時的に記憶する記憶手段を有し、該記憶手段に記憶されている情報に基づいて前記変換を行う
請求項４０〜４９いずれか記載の参照変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の計算機ノードが互いに結合され、複数の処理モジュールを有する計算空間が該ネットワーク上に分散して配置された分散処理システムと該環境下における分散処理方法、および、当該分散処理システムおよび分散処理方法における処理モジュール間の連係を適切に行うための参照情報の変換装置に関する。
【０００２】
【従来の技術】
データ処理技術や通信技術の発展に伴って、種々のデータ処理装置を接続し、情報の利用や種々のデータ処理をより効率的に行うようにしたネットワークの構築が進んでいる。
たとえば、複数のコンピュータネットワークを接続して大規模なネットワークとするインターネットワークの構築などが進んでいるが、特に、プロトコルとしてＴＣＰ／ＩＰを用いて世界的規模でのネットワークとなったいわゆる”インターネット”などは、そのようなネットワークの典型的な例と言える。
【０００３】
このインターネットにおいては、ネットワーク上のノードに対してＩＰアドレスとＤＮＳ(Domain Name System)ネームが付与される。ＩＰアドレスはネットワークに接続されている各データ処理装置の識別番号であり３２ビットの整数で表される。また、ＤＮＳネームは使用者が意味のあるシンボリックな名前でネットワーク上のノードを区別できるようにしたもので、ネットワークを管理範囲で区切り、各範囲に付与した名前である。このピリオドで分けられた部分の名前の連なりから構成されるＤＮＳネ−ムによる階層的な名前付けの機構であるＤＮＳ（ドメイン名システム）が、ＴＣＰ／ＩＰに基づくインターネットにおいてはマシン名の階層化を実現している。
なお、これらのＩＰアドレスおよびＤＮＳネームは、ネットワーク上で、すなわち世界中で重複してはならず、ネットワークインフォーメ−ションセンタ（ＮＩＣ）により一元管理されている。
【０００４】
一方で、近年、マルチメディア情報を利用および流通させる情報提供利用サービスアプリケーションであるＩＳＭ(Information Super-Market)の開発が活発に行われている。ＩＳＭでは、機能モジュール（クラス）間の対話性およびモジュール間構成の柔軟性を高めるために、ネットワークワイドなマルチメディア並行処理を効率的に行うアプリケーション実行環境が求められる。すなわち、より高度な並列分散処理環境が求められている。
【０００５】
【発明が解決しようとする課題】
ところで、従来のオブジェクトに対する名前解決機構として広く普及しているＤＮＳは、その参照情報の変換がＤＮＳネ−ムからＩＰアドレスへの変換というような単純なものである。すなわち、一段階の変換にしか対応できず、多段階の変換を必要とするような複雑な名前解決に用いることはできない。また、複数の情報に基づくような複雑な参照情報に対しても適切に対応することができない。
このことは、前述したようなより高度な並列分散処理環境で用いられる参照機構として、ＤＮＳは適切でないことになる。すなわちそのような並列分散処理環境においては、ネットワーク上の種々の計算資源、種々のオブジェクトを、種々の名前やＩＤなどを用いて効率よく参照する必要があるが、ＤＮＳはそのような参照解決に対応できないからである。
【０００６】
したがって、本発明の目的は、多段階の名前・参照解決や、多数の要素による参照などに対応することができ、オブジェクト間の通信がより効率よく行え、それにより高度な並列分散処理環境を提供できるような参照変換装置を提供することにある。
また、本発明の他の目的は、そのような有効な分散処理方法を提供することにある。
さらに本発明の他の目的は、そのような高度な並列分散処理環境を提供することができるような分散処理システムを提供することにある。
さらに本発明の他の目的は、そのような高度な並列分散処理環境を提供できる分散処理方法を提供することにある。
【０００７】
【課題を解決するための手段】
第１の観点の発明の分散処理システムは、複数の処理モジュールからなる計算空間が、複数の計算機装置が結合された計算機ネットワーク上に分散して配置され、各処理モジュールが通信を行いながら実質的に連係して分散処理を行う分散処理システムであって、前記計算空間において処理モジュールを特定する論理的参照情報を、同様の論理的参照情報、および、計算機システム上のオブジェクトを直接的に特定するシステム参照情報のいずれか、またはそれらの組み合わせの参照情報に変換する複数の参照変換手段と、入力された論理的参照情報、および、前記参照変換手段において変換され生成された論理的参照情報を、当該論理的参照情報に基づいて前記複数の参照変換手段のいずれかに再帰的に入力し、前記入力された論理的参照情報を前記システム参照情報に変換する変換制御手段と、通信先の処理モジュールの論理的参照情報を、前記変換制御手段を介して前記参照変換手段によりシステム参照情報に変換し、前記各処理モジュール間の通信を行う通信手段とを有し、前記複数の参照変換手段は、前記論理的参照情報を前記システム参照情報に変換する第１の参照変換手段と、前記論理的参照情報を前記システム参照情報の組に変換する第２の参照変換手段と、前記論理的参照情報を他の論理的参照情報に変換する第３の参照変換手段と、前記論理的参照情報を他の論理的参照情報の組に変換する第４の参照変換手段と、前記論理的参照情報を前記システム参照情報と前記論理的参照情報の組に変換する第５の変換手段と含み、前記変換制御手段は、前記入力された論理的参照情報、および、前記変換されて生成された論理的参照情報を、該論理的参照情報の内容に基づいて前記第１の参照変換手段〜第５の参照変換手段のいずれかに入力する。
【０００８】
第２の観点の発明の分散処理方法は、複数の処理モジュールからなる計算空間が、複数の計算機装置が結合された計算機ネットワーク上に分散して配置され、各処理モジュールが通信を行いながら実質的に連係して分散処理を行う分散処理方法であって、前記各処理モジュールの通信先の論理的参照情報について、その内容に基づいて参照変換の方法を決定し、該決定された参照変換の方法により、前記通信先の論理的参照情報を他の論理的参照情報、および、前記計算機ネットワーク上のオブジェクトを直接的に特定するシステム参照情報のいずれか、またはそれらの組み合わせの参照情報に変換し、前記変換結果の参照情報の中の論理的参照情報については再び当該論理的参照情報に基づいて参照変換の方法を決定し、該決定された参照変換の方法により、前記変換を再び行い、前記変換結果の参照情報の全ての要素が前記システム参照情報となるまで論理的参照情報に対する前記参照変換の方法の決定およびそれに基づく変換をくり返し行い、前記全ての要素が前記システム参照情報となったら、該参照情報に基づいて前記各処理モジュール間の通信を行い、当該各処理モジュールが実質的に連係して分散処理を行う。
【０００９】
第３の観点の発明の参照変換装置は、複数の処理モジュールからなる計算空間が、複数の計算機装置が結合された計算機ネットワーク上に分散して配置され、各処理モジュールが通信を行いながら実質的に連係して分散処理を行う計算機システムの前記処理モジュールに用いられる参照変換装置であって、前記計算機システムにおいて論理的に処理モジュールを特定する論理的参照情報を、同様に論理的に処理モジュールを特定する論理的参照情報、および、計算機システム上のオブジェクトを直接的に特定するシステム参照情報のいずれか、またはそれらの組み合わせの参照情報に変換する複数の参照変換手段と、入力された論理的参照情報、および、前記参照変換手段において変換され生成された論理的参照情報を、当該論理的参照情報に基づいて前記複数の参照変換手段のいずれかに再帰的に入力し、前記入力された論理的参照情報を前記システム参照情報に変換する変換制御手段と、通信先の前記処理モジュールの論理的参照情報を、前記変換制御手段を介して前記参照変換手段によりシステム参照情報に変換し、前記各処理モジュール間の通信を行う通信手段とを有し、前記複数の参照変換手段は、前記論理的参照情報を前記システム参照情報に変換する第１の参照変換手段と、前記論理的参照情報を前記システム参照情報の組に変換する第２の参照変換手段と、前記論理的参照情報を他の論理的参照情報に変換する第３の参照変換手段と、前記論理的参照情報を他の論理的参照情報の組に変換する第４の参照変換手段と、前記論理的参照情報を前記システム参照情報と前記論理的参照情報の組に変換する第５の変換手段とを含み、前記変換制御手段は、前記入力された論理的参照情報、および、前記変換されて生成された論理的参照情報を、該論理的参照情報の内容に基づいて前記第１の参照変換手段〜第５の参照変換手段のいずれかに入力する。
【００１１】
【発明の実施の形態】
第１の実施の形態
本発明の第１の実施の形態について、図１〜図３を参照して説明する。
第１の実施の形態としては、たとえば複数の計算機装置が結合された計算機ネットワーク上に、複数の処理モジュールからなる計算空間が展開されて各処理モジュールが実質的に他のモジュールと通信を行いながら分散処理あるいは並列分散処理を行うような環境において、たとえばその処理モジュール間の通信を行うために、アプリケーションレベルで指定される各処理モジュールの参照情報を、実際のシステム上のオブジェクトを直接的に特定することのできるシステム参照情報に変換するための参照変換装置を示す。
【００１２】
図１は、その参照変換装置の構成を示すブロック図である。
参照変換装置１３０は、入力切換部１３１、第１の変換部１３２、第２の変換部１３３、第３の変換部１３４、第４の変換部１３５、第５の変換部１３６、出力切換部１３７、および、制御部１３８を有する。
なお、図１において、符号Ａはアプリケーション参照情報を、符号Ｓはシステム参照情報を示す。
【００１３】
まず、各部の構成・機能について説明する。
入力切換部１３１は、制御部１３８からの切換信号に基づいて、入力されるアプリケーション参照情報、または、後述する出力切換部１３７から再び入力されるアプリケーション参照情報を、第１の変換部１３２〜第５の変換部１３６のいずれかに選択的に入力する。
第１の変換部１３２は、入力されたアプリケーション参照情報を１つのシステム参照情報に変換する。
第２の変換部１３３は、入力されたアプリケーション参照情報を２つ以上のシステム参照情報の組に変換する。
第３の変換部１３４は、入力されたアプリケーション参照情報を他のアプリケーション参照情報に変換する。
【００１４】
第４の変換部１３５は、入力されたアプリケーション参照情報を２つ以上のアプリケーション参照情報の組に変換する。
第５の変換部１３６は、入力されたアプリケーション参照情報を他のアプリケーション参照情報とシステム参照情報の組に変換する。
出力切換部１３７は、制御部１３８から入力される制御信号に基づいて、第１の変換部１３２〜第５の変換部１３６で変換され順次出力される参照情報の処理を切り換える。すなわち、出力される参照情報のうちシステム参照情報は外部に出力するように切り換え、アプリケーション参照情報は再び入力切換部１３１に入力するように切り換える。なお、出力切換部１３７内には図示せぬ記憶部を有しており、変換され外部に出力可能なシステム参照情報は一旦この記憶部に記憶される。そして、参照変換装置１３０に入力されたアプリケーション参照情報に対する参照情報が全てシステム参照情報に変換された時点で、その記憶部に記憶された情報も含めてそのシステム参照情報が一括して出力される。
【００１５】
制御部１３８は、入力されたアプリケーション参照情報を適切にシステム参照情報に変換するように、入力切換部１３１および出力切換部１３７を制御する。制御部１３８は、まず、変換対象のアプリケーション参照情報である外部より入力切換部１３１に入力されたアプリケーション参照情報、または出力切換部１３７から入力されたアプリケーション参照情報を読み込み、その内容を吟味して第１の変換部１３２から第５の変換部１３６のいずれの変換部で参照解決を行うのが適切か判定する。そして、その判定結果に基づいて、その入力アプリケーション参照情報が適切に所望の変換部に入力されるように、入力切換部１３１を切り換える。
【００１６】
また制御部１３８は、第１の変換部１３２〜第５の変換部１３６より出力切換部１３７に入力された変換結果の参照情報がアプリケーション参照情報かシステム参照情報かを判定し、アプリケーション参照情報であれば再び入力切換部１３１に入力されるように出力切換部１３７を制御する。また、システム参照情報であれば、出力用の参照情報として出力切換部１３７内の記憶部に記憶するように出力切換部１３７を制御する。
また制御部１３８は、入力されたアプリケーション参照情報に対する参照情報が、全てシステム参照情報に変換されたら、そのシステム参照情報、あるいはそのシステム参照情報の組を変換結果として外部に出力する。
【００１７】
制御部１３８が実質的に参照変換装置１３０を制御する動作を図２のフローチャ−トを参照して説明する。
図２に示すように、制御部１３８は参照変換装置１３０にアプリケーション参照情報が入力されたら処理を開始し（ステップＳ１１０）、入力されたアプリケーション参照情報が第１の変換部１３２〜第５の変換部１３６のいずれで変換可能かを調べ、その変換部にそのアプリケーション参照情報を入力することにより変換を開始させる（ステップＳ１１１）。そして、変換が終了したら、その変換結果の参照情報内にアプリケーション参照情報が存在するか否かをチェックし（ステップＳ１１２）、存在した場合にはそのアプリケーション参照情報について再びステップＳ１１１の処理を繰り返す。
ステップＳ１１２において、全ての参照情報がシステム参照情報に変換されたと判定されたら、その変換結果を出力し（ステップＳ１１３）、一連の変換処理を終了する（ステップＳ１１４）。
【００１８】
次に、この参照変換装置１３０の動作について図３を参照して説明する。
まず、この参照変換装置１３０の通常の動作例を図３（Ａ）に示す。
図３（Ａ）に示す例においては、まず入力されたアプリケーション参照情報Ａは、その内容が制御部１３８で調べられ、第４の変換部１３５で変換されることが決定され、第４の変換部１３５においてアプリケーション参照情報の組（Ａ１，Ａ２，Ａ３）に変換される。この変換結果は全てアプリケーション参照情報なので、再び変換が行われることになり、再び各アプリケーション参照情報の内容が制御部１３８により調べられて次の変換部が決定される。図３（Ａ）の例においては、アプリケーション参照情報Ａ１〜Ａ３が各々別個に第１〜第３の変換部１３２〜１３４に入力され、変換が行われる。
【００１９】
その変換の結果、アプリケーション参照情報Ａ１は第１の変換部１３２において１つのシステム参照情報Ｓ１に、アプリケーション参照情報Ａ２は第２の変換部１３３においてシステム参照情報の組（Ｓ２，Ｓ３）に、アプリケーション参照情報３は第３の変換部１３４において１つのアプリケーション参照情報Ａ４に変換される。
そして、これらの変換結果の中で参照情報Ａ４だけは未だアプリケーション参照情報なので、再び変換が行われる。すなわち、再びその内容に基づいて変換部の選択が行われ、その結果今度は第５の変換部１３６においてアプリケーション参照情報とシステム参照情報の組（Ａ５，Ｓ４，Ｓ５）に変換される。さらにこの変換結果の中にはアプリケーション参照情報Ａ５が残っているので、これを今度は第１の変換部１３２において１つのシステム参照情報Ｓ６に変換する。
このように順次変換を行った結果、入力されたアプリケーション参照情報Ａは、システム参照情報の列（Ｓ１，（Ｓ２，Ｓ３），（Ｓ６，Ｓ４，Ｓ５））に変換され、出力される。
【００２０】
なお、アプリケーション参照情報およびシステム参照情報は、具体的には、各モジュールおよびオブジェクトの論理的な名称、あるいはＩＤなどである。
また、第１の変換部１３２〜第４の変換部１３５においては、参照情報の組に対して一括的に処理をすることも可能である。その例を図３（Ｂ）に示す。
図３（Ｂ）においては、入力されたアプリケーション参照情報Ａから第４の変換部１３５によりアプリケーション参照情報の組（Ａ１，Ａ２，Ａ３）が生成されており、次にこのアプリケーション参照情報の組をそのまま第１の変換部１３２に入力して、対応するシステム参照情報の組（Ｓ１，Ｓ２，Ｓ３）を得ている。
参照変換装置１３０の第１の変換部１３２〜第５の変換部１３６においては、このようにアプリケーション参照情報の組を入力とすることができる。
【００２１】
また、図３（Ｂ）に示すようにアプリケーション参照情報の組を一括的に入力するのではなく、その一部のみを入力するようにしてもよい。
そのような例を図３（Ｃ）に示す。
図３（Ｃ）においても、入力されたアプリケーション参照情報Ａから第４の変換部１３５によりアプリケーション参照情報の組（Ａ１，Ａ２，Ａ３）が生成されている。そして次の段階においては、アプリケーション参照情報の組（Ａ１，Ａ２）が抽出され、第１の変換部１３２に、残ったアプリケーション参照情報Ａ３が第２の変換部１３３に出力され、再び変換されている。
参照変換装置１３０においては、このように生成されたアプリケーション参照情報の組を適宜組み直して、次の段階のアプリケーション参照情報の入力とすることも可能である。
【００２２】
このように、参照変換装置１３０においては、入力されたアプリケーション参照情報に対して、その参照情報の内容に基づいて第１の変換部１３２〜第５の変換部１３６が適宜繰り返し選択されて参照情報の変換を行っている。したがって、複雑な構成のアプリケーション参照情報でも、最終的にシステム上のオブジェクトを直接的に示すシステム参照情報の列として展開される。
【００２３】
第２の実施の形態
本発明の第２の実施の形態について、図４〜図１４を参照して説明する。
第２の実施の形態としては、第１の実施の形態として説明した参照変換装置を適用し、各処理モジュールが実質的に連係して処理を行う分散処理システムについて具体的に説明する。
【００２４】
図４は、そのような分散処理システムの概念図である。
図４に示すように、分散処理システム１においては、ネットワークノード３、４，５がネットワーク２を介して相互に通信を行い、一定の処理を行う。ネットワークノード３，４，５としては、たとえば、パーソナルコンピュータやワークステーションなどが用いられる。また、ネットワーク２としては、たとえば、イーサーネットやＣＡＴＶなどが用いられる。
【００２５】
ネットワークノード３，４，５には、たとえばプログラムを実行する計算モジュール、インスタンス、クラス、メソッド、大域関数およびファイルなどの計算オブジェクトが存在する。たとえば、ネットワークノード３には、計算オブジェクト６〜９が存在する。
また、ネットワークノード３，４，５には、同一ネットワークノード内の複数の計算オブジェクトで構成される部分空間が存在する。たとえば、ネットワークノード３内では、計算オブジェクト６，７によって部分空間１０が構成され、計算オブジェクト８，９によって部分空間１１が構成される。ここで、部分空間は、ネットワークノードに備えられた計算モジュールであるデーモンによって実行されるプロセスである。
【００２６】
また、異なるネットワークノードに存在する部分空間および計算オブジェクトによって計算空間が構成される。本実施の形態では、部分空間１０，１２，１４によって計算空間１５が構成され、部分空間１１，１３によって計算空間１６が構成される。なお、計算空間は、同一のネットワークノードに存在する部分空間および計算オブジェクトを含むように構成してもよい。ここで、計算空間とは、当該空間内に存在する計算オブジェクトおよび部分空間の配置に関する情報が明らかになっている領域である。
【００２７】
また、分散処理システム１では、計算オブジェクトおよび部分空間の配置は、予め与えられた情報や、部分空間相互間における問い合わせなどによって決定される。この計算オブジェクトおよび部分空間の配置は空間管理部１７，１８によって管理される。
分散処理システム１では、図４に示すように、計算空間１５に対応してネットワークノード４に空間管理部１７が備えてあり、計算空間１６に対応してネットワークノード４に空間管理部１８が備えてある。
なお、空間管理部は、各部分空間ごとに設けてもよいし、各計算オブジェクトごとに設けてもよい。
【００２８】
また、分散処理システム１では、各部分空間ごとにデーモンがあり、このデーモンによって参照情報が管理されている。ここで、参照情報により表現される空間を「参照空間」と呼ぶ。ＡＰＩ（アプリケーションプログラムインターフェース）では、この参照空間上で、プロセスおよび計算オブジェクトを識別・管理する。この参照空間に対して、参照される実態の存在空間を「実空間」と呼ぶ。なお、ここで「参照」とは、これらのプロセスおよび計算オブジェクトを指し示すことを意味する。
【００２９】
このような参照空間上に、任意の参照集合により形成されるドメインが構成される。
各プロセス（部分空間）および計算オブジェクトは、複数のドメインに属することが許される。ドメインは、入れ子構造をとることも許される。この場合、含まれるドメインをサブドメイン、含むドメインをスーパードメインと呼ぶ。ドメインの導入により、ネットワークワイドに自由な空間（サービス空間、アプリケーション空間、個人空間、コミュニティなど）を形成することができる。
【００３０】
本実施の形態では、さらに、各参照に名前を付与し、名前によるプロセス、計算オブジェクトおよびドメインの識別空間を提供する。この識別空間を「名前空間」と呼ぶ。ＡＰＩ上からは、この名前空間上でも、プロセス、計算オブジェクトおよびドメインを識別・管理することができる。また、名前の一意性は、各名前空間中でのみ保証される。
したがって、異なるドメインに属する計算オブジェクト相互間では、名前の衝突が許され、各ドメインにおいて使用可能な名前の自由度が高められる。
【００３１】
このような、図４に示す本実施の形態の分散処理システムにおいては、メッセージ送信を基本として各並行オブジェクトが通信を行い、並列分散処理を実現する。
このメッセージ送信においては、送信先のオブジェクトに対するリモート参照から送信先のノードとプロセス、オブジェクトを特定し、送信の処理を行う。この時、送信先がドメインやオブジェクトクラスタになっていれば、マルチキャストを行う。
【００３２】
また、参照子がプロキシオブジェクトを示していれば、プロキシを中継してメッセージ送信を行う。さらに、送信先の所在によっては、ネットワーク上のＲＰＣ、ノード内ＩＰＣ、あるいはプロセス内通信を選択してメッセージ送信を行う。
この時に、並行オブジェクトはアプリケーション空間において相互のリモート参照を管理しており、これにより高速メッセージ送信を実現する。
本発明に係わり、このような分散処理ステムにおけるアプリケーション空間におけるオブジェクト参照情報と、実際の送信を行うためのシステム参照情報との変換を行う参照変換装置について以下に説明する。
【００３３】
図５は、その参照変換器１５０の構成を示すブロック図である。
参照変換器１５０は、変換制御部１５１、ドメイン変換部１５２、エンティティ変換部１５３、プロセス変換部１５４、ノードネーム変換部１５５、ＤＮＳ名プロキシ変換部１５６を有する。
【００３４】
まず、ドメイン変換部１５２〜ノードネーム変換部１５５の各部より参照され、本発明の分散処理システムの空間管理のための参照情報について説明する。
この分散処理システムにおいて用いられ主な参照情報は、図６に示すように、４個の参照テーブルと３個の検索用ハッシュテーブルとで管理される。４個の参照テーブルは、図７に示すローカル関数参照テーブル５０、図８に示すリモート関数参照テーブル５１、図９に示すプロセス参照テーブル５２および図１０に示すドメイン参照テーブル５３がある。また、検索用ハッシュテーブルは、名前と識別子との間のハッシュテーブルであり、図１１に示すドメインネームハッシュテーブル５４、図１２に示す関数／プロセスネームハッシュテーブル５５および図１３に示すリモート関数ＩＤハッシュテーブル５６である。
【００３５】
（ローカル関数参照テーブル）
図７は、ローカル関数参照テーブル５０を説明するための図である。
ローカル関数参照テーブル５０は、部分空間（プロセス）内に存在する関数の内部参照用テーブルである。
図７に示すように、ローカル関数参照テーブル５０は、プリントネーム６１、ローカル関数ＩＤ６２、ドメイン参照リスト６３、リモート関数ＩＤ６４およびドメイン内ネーム６５の５つのフィールドを有する。
プリントネーム６１は、プログラムソースコード上での関数名であり、たとえばＣ＋＋で実装されたクラスであれば、そのクラス名が入る。
ローカル関数ＩＤ６２は、システム上で使用されるネットワークノード内での関数識別子であり、この関数識別子を用いて実態にアクセスが行われる。
【００３６】
ドメイン参照リスト６３は、その関数が所属するドメイン参照テーブルへのポインタリストである。ドメイン参照リスト６３は、図７に示すように、リスト構造のデータで示される。これは、当該関数が複数のドメインに属する場合の表現を可能にするためである。
リモート関数ＩＤ６４は、その関数の外部識別子であり、ネットワークノードの外部からは、この外部識別子を用いて関数を指定して呼び出しを行う。
ドメイン内ネーム６５は、名前空間上のドメイン内における名前であり、この名前を用いて関数の指定呼び出しが行われる。
【００３７】
（リモート関数参照テーブル）
図８は、リモート関数参照テーブル５１を説明するための図である。
リモート関数参照テーブル５１は、部分空間（プロセス）内に存在する関数の外部参照用テーブルである。
図８に示すように、リモート関数参照テーブル５１は、プリントネーム７１、プロセス参照７２、リモート関数ＩＤ７３、ドメイン参照リスト７４およびドメイン内ネーム７５の５つのフィールドを有する。
プリントネーム７１、リモート関数ＩＤ７３、ドメイン参照リスト７４およびドメイン内ネーム７５の意味は、前述したローカル関数参照テーブル５０の場合と同じである。
プロセス参照７２は、そのリモート関数が存在するプロセスの所在に関する情報であり、たとえば、プロセス参照テーブル５２へのポインタを示す。
【００３８】
（プロセス参照テーブル）
図９は、プロセス参照テーブル５２を説明するための図である。
プロセス参照テーブル５２は、部分空間（プロセス）の所在を示す情報を格納するテーブルである。図９に示すように、プロセス参照テーブル５２は、ネットワークノード参照８１、ネットワークポートＩＤ８２、ドメイン参照リスト８３およびドメイン内ネーム８４の４つのフィールドを有する。
ここで、ドメイン参照リスト８３およびドメイン内ネーム８４の意味は、前述したものと同じである。
【００３９】
ネットワークノード参照８１は、そのプロセスが存在するネットワークノードに関する参照情報を示し、ネットワークノードネーム８５、参照リスト８８、コミュニケーションメディア８６およびネットワークアドレス８７の３つのフィールドを有する。
ネットワークノードネーム８５は、名前空間上におけるネットワークノードの名前を示している。
コミュニケーションメディア８６は、通信手段を示しており、たとえばイーサーネットやＡＴＭなどを示す。
ネットワークアドレス８７は、通信手段に応じたノードのネットワークアドレスを示しており、たとえばＩＰアドレスやＤＮＳ名などを示す。
【００４０】
ネットワークポートＩＤ８２は、分散処理システム１上で使用される各ネットワークノード内でのデーモンポート番号を示し、アクセスは、ネットワークアドレスとこのデーモンポート番号とでプロセスを特定して行われる。
これは、ネットワークノードには、複数のコミュニケーションメディア（アクセス機能）を備えているものがあるためである。たとえば、ネットワークノードのなかには、イーサーネットとＡＴＭとの双方によるアクセスが可能なものがある。通常このような場合に、各アクセス機能のそれぞれにネットワークアドレスが割り付けられている。
【００４１】
したがって、プロセス参照テーブル５２では、ネットワークネームとネットワークアドレスとの対応関係を図９に示すようにリスト構造の参照リスト８８を用いて表現することで、一つのネットワークノードネーム８５とコミュニケーションメディア８６の種類に応じた複数のネットワークアドレス８７との対応関係を表現している。
図９に示す例では、ドメイン内ネーム８４が”Ｎ１”のプロセスは、ネットワークポートＩＤ８２が「＃１００００」であり、ネットワークノードネーム８５が”ｎｏｄｅＡ”である。また、”ｎｏｄｅＡ”は、コミュニケーションメディア８６として、イーサーネットおよびＡＴＭを備え、それぞれのネットワークアドレス８７が、「１１１．１１１．１１１．１１１」および「１１１．１１１．１１１．１１２」である。
【００４２】
（ドメイン参照テーブル）
図１０は、ドメイン参照テーブル５３を説明するための図である。
ドメイン参照テーブル５３は、ドメインの参照情報を管理するためのテーブルである。前述したように、ドメインは、階層構造をとることができ、一のドメイン中に他のドメインを含むことができる。
図１０に示すように、ドメイン参照テーブル５３は、ドメイン要素参照リスト９１、スーパードメイン参照リスト９２およびドメインネーム９３を有する。
ドメイン要素参照リスト９１は、そのドメインの構成要素である関数参照およびサブドメイン参照へのポインタを示している。
スーパードメイン参照リスト９２は、そのドメインのスーパードメイン（上位のドメイン）へのポインタリストを示している。ここで、スーパードメイン参照にリスト構造を用いたのは、一のドメインが複数のスーパードメインを持つことがあるためである。
ドメインネーム９３は、名前空間上のドメイン名を示している。
【００４３】
（ドメインネームハッシュテーブル）
図１１は、ドメインネームハッシュテーブル５４を示す図である。
ドメインネームハッシュテーブル５４は、独自の名前空間で付与されたドメインネームに基づいて構築され、名前によるドメイン参照テーブルの検索を可能とする。
図１１に示すように、ドメインネームハッシュテーブル５４は、ドメインネーム１００および参照リスト１０１の２つのフィールドを有する。
ドメインネーム１００は、名前空間上のドメイン名を示す。参照リスト１０１は、ドメイン参照テーブルへのポインタリストを示す。
図１１に示す例では、ドメイン名”Ｄ１”をキーとして、ドメインネームハッシュテーブル５４を用いると、ドメイン参照テーブル５３のドメインネーム”Ｄ１”のアドレスが得られる。
【００４４】
（関数／プロセスネームハッシュテーブル）
図１２は、関数／プロセスネームハッシュテーブル５５を説明するための図である。
関数／プロセスネームハッシュテーブル５５は、独自の名前空間で付与されるドメイン内ネームに基づいて構築され、関数参照テーブルおよびプロセス参照テーブルの名前による検索を可能とする。
図１２に示すように、関数／プロセスネームハッシュテーブル５５は、ドメイン内ネーム１１０および参照リスト１１１の２つのフィールドを有する。
ドメイン内ネーム１１０には、名前空間上のドメイン内におけるローカル関数名、リモート関数名およびプロセス名のいずれかが示される。
参照リスト１１１は、ローカル関数参照テーブル５０、リモート関数参照テーブル５１およびプロセス参照テーブル５２のいずれかに対してのポインタリストである。
たとえば、図１２では、ドメイン内ネーム１１０である関数名”Ａ”をキーとして、関数／プロセスネームハッシュテーブル５５としてのローカル関数ネームハッシュテーブルを用いると、参照リスト１１１によって、ローカル関数参照テーブル５０におけるドメイン内ネーム”Ａ”のアドレスが得られる。関数／プロセスネームハッシュテーブル５５としては、ローカル関数ネームハッシュテーブルの他に、リモート関数ネームハッシュテーブルおよびプロセスネームハッシュテーブルがある。
【００４５】
（リモート関数ＩＤハッシュテーブル）
図１３は、リモート関数ＩＤハッシュテーブル５６を説明するための図である。
リモート関数ＩＤハッシュテーブル５６は、リモート関数ＩＤに基づいて構築され、リモート関数ＩＤによるローカル関数参照テーブルの検索を可能とする。図１３に示すように、リモート関数ＩＤハッシュテーブル５６は、リモート関数ＩＤ１２０およびローカル関数参照１２１の２つのフィールドを有する。
ローカル関数参照１２１は、リモート関数ＩＤに対応したローカル関数参照テーブルにおけるローカル関数参照へのポインタを示す。
たとえば、図１３では、リモート関数ＩＤ１２０である「＃０００００１」をキーとして、リモート関数ＩＤハッシュテーブル５６を用いると、ローカル関数参照テーブル５０ａにおけるリモート関数ＩＤ６４ａが「＃０００００１」の箇所のアドレスが得られる。
【００４６】
次に、図５に示した参照変換器１５０の各部の構成について説明する。
変換制御部１５１は、参照変換器１５０の全体の管理を行う。具体的には、入力されたアプリケーション参照情報の内容を確認し、その種類に応じて、入力された名前をドメイン変換部１５２〜ノードネーム変換部１５５のいずれかに出力する。そして、その変換部で得られた変換結果を読み出し、得られた参照情報がシステム参照情報か否かを調べる。そして、アプリケーション参照情報については、その内容に応じて再びドメイン変換部１５２〜ノードネーム変換部１５５に入力する。このような処理を繰り返し、変換制御部１５１は最終的に入力されたアプリケーション参照情報がシステム参照情報で示されるようにし、得られたシステム参照情報を出力する。
なお、この変換制御部１５１は記憶手段を有しており、入力された参照情報に対して順次検出される出力用のシステム参照情報を順に記憶しておく。そして、最終的に全ての参照情報がシステム参照情報に変換されたら、この記憶手段の内容を読み出して、変換されたシステム参照情報を一括して出力する。
また変換制御部１５１においては、アプリケーション参照情報とともに通信メディアを指定する情報などの付加情報が入力された場合には、各参照情報とともにその付加情報も変換部に対して出力する。
【００４７】
ドメイン変換部１５２は、入力されたドメイン参照情報を、ドメイン参照テーブル５３を参照して、入力されたドメインの参照情報を、そのドメインを構成する要素の集合に変換する。具体的には、たとえばそのドメインに含まれるエンティティリファレンスとドメインリファレンスの組に変換する。
エンティティ変換部１５３は、入力されるエンティティ参照情報を、エンティティ参照テーブルを参照して、そのエンティティの存在するプロセスの参照情報と、そこでのリモート識別子に変換する。このエンティティ参照テーブルは、実質的に前述したローカル関数参照テーブル５０およびリモート関数参照テーブル５１と同一のテーブルである。なお、ここでエンティティとは、たとえばインスタンス、クラス、メソッド、大域関数などを示す。
【００４８】
プロセス変換部１５４は、入力されたプロセス参照情報を、プロセス参照テーブル５２を参照して、そのプロセスの存在するノードの情報と、そのノード内でのプロセス識別子に変換する。ノードの情報としては、ＤＮＳネーム、ＩＰアドレス、あるいは独自に付与したノードネームのいずれかである。
ノードネーム変換部１５５は、入力されたノード名前を、プロセス参照テーブル５２に内包されるノード参照テーブルを参照して、ＤＮＳネーム、またはＩＰアドレスに変換する。
【００４９】
ＤＮＳ名プロキシ変換部１５６は、入力されたＤＮＳネームを、ＩＰアドレスに変換する。ＤＮＳ名プロキシ変換部１５６は、内部に通信手段と記憶手段を有している。そして、ＤＮＳネームが入力されたら、外部の参照変換装置であるＤＮＳネーム変換部１６０に対して、その通信手段を介して通信を行い、ＤＮＳネームのＩＰアドレスへの変換を求める。そして、その結果を、変換結果として出力する。
また、ＤＮＳ名プロキシ変換部１５６においては、この時に得られたＤＮＳ名とＩＰアドレスの対応を、前述した内部の記憶手段に記憶しておく。そして、変換対象のＤＮＳネームが入力された際には、まず、この記憶手段に記憶されているＤＮＳネームを検索し、同じＤＮＳネームがあった（既に、一度変換していた）場合にはその記憶手段に記憶されているＩＰアドレスを変換結果として出力する。したがって、ＤＮＳネーム変換部１６０に対しては、内部の記憶手段に記憶されていないＤＮＳネームのみ問い合わせる。
【００５０】
なお、ドメイン変換部１５２〜ノードネーム変換部１５５の各変換器において、入力されたアプリケーション参照情報が名前あるいはＩＤであった場合には、前述したドメインネームハッシュテーブル５４〜リモート関数ＩＤハッシュテーブル５６および図示せぬその他のハッシュテーブルを適宜参照して、これにより各テーブルの該当項目を検索する。
また、プロセス変換部１５４〜ノードネーム変換部１５５において行われるネットワーク上のノードに係わる情報の変換は、変換制御部１５１から参照情報とともに入力される通信メディアを示す付加情報を参照して行う。同一のシステムに対しても、通信メディアが異なるとアドレスが通常異なるからである。したがって付加情報としては、具体的にはイーサーネットとか、ＡＴＭとかを指定する情報が入力される。なお、本実施の形態においてこの通信メディアの指定が無い場合には、デフォルトとしてイーサーネットを通信メディアとして変換が行われる。
【００５１】
次に、この参照解決器１５０の具体的な動作について図１４を参照して説明する。
図１４は、参照変換器１５０の動作の一例として、ドメイン内に所属する全てのエンティティにメッセージ送信を行う場合の参照情報変換処理を示す図である。
なお、図１４には、各変換処理において、前述した第１の実施の形態の参照変換装置１３０において同様の動作を行った場合に、その変換処理を行う変換部およびその変換動作の種類を同時に記しておく。
【００５２】
まず、そのドメイン名Ｄ１が参照変換器１５０の変換制御部１５１に入力されると、変換制御部１５１は内容がドメイン名であるため、その参照情報をドメイン変換部１５２に出力する。
ドメイン変換部１５２においては、ドメインネームハッシュテーブル５４を介してドメイン参照テーブル５３を参照して、そのドメインに含まれる全てのエンティティおよびドメインを抽出する。その結果、ドメイン名Ｄ１はエンティティＥ１，Ｅ２と、ドメイン名Ｄ２，Ｄ３の組に変換される。
得られた要素の中のドメイン名Ｄ２，Ｄ３はさらにドメイン変換部１５２において再帰的に変換が行われ、それにより各々エンティティＥ３，Ｅ４およびエンティティＥ５，Ｅ６の組に変換される。
結局、入力されたドメイン名Ｄは、ドメイン変換部１５２においてエンティティの組（Ｅ１，Ｅ２，Ｅ３，Ｅ４，Ｅ５，Ｅ６）に変換される。
【００５３】
次に、得られたエンティティＥ１〜Ｅ６は、順次エンティティ変換部１５３に入力される。エンティティ変換部１５３においては、各エンティティ参照情報Ｅ１〜Ｅ６を、そのエンティティの存在するプロセスの参照情報とリモート識別子の組に変換する。その結果、図示のごとく参照情報Ｐ１〜Ｐ４と、リモート識別子ＩＤ１〜ＩＤ３の組で示される参照情報が得られる。
次に、変換制御部１５１は得られたプロセスの参照情報Ｐ１〜Ｐ４をプロセス変換部１５４に入力する。プロセス変換部１５４においては、そのプロセスの参照情報が、ノード情報とプロセス識別子に変換される。すなわち、プロセスＰ１およびＰ２に対してはＤＮＳ名で示されたノード情報とそのノードにおけるプロセス識別子が、プロセスＰ３に対してはＩＰアドレスで示されたノード情報とそのノードにおけるプロセス識別子が、プロセスＰ４に対してはノード名で示されたノード情報とそのノードにおけるプロセスＩＤが得られる。
【００５４】
得られたノード名の情報の中で、プロセスＰ４に対して得られたノード名で示されたノード情報は、次にノードネーム変換部１５５に入力され、ＤＮＳ名に変換される。
また、プロセスＰ１およびＰ２に対して得られたＤＮＳ名で得られたノード情報は、ノードネーム変換部１５５を介してＤＮＳネーム変換部１６０に転送され、ＤＮＳネーム変換部１６０においてＩＰアドレスに変換される。
このような処理の結果、入力されたドメイン名Ｄ１は、全てがシステムアドレスで示されたシステム参照情報に変換される。
【００５５】
このように、参照変換器１５０は参照情報の変換を再帰的かつ多段階の処理により行っているので、複雑な計算機ネットワーク上においても、アプリケーションレベルの参照情報をシステム参照情報に変換することができる。換言すれば、システム構成に依存せずに種々の計算資源、すなわち、ドメイン、ノード、プロセス、インタンス、クラス、メソッド、大域関数などを、論理的なアプリケーション参照情報から参照することができる。その結果、物理的なネットワーク構成に依存しない高度な分散処理システムを実現することができる。
【００５６】
なお、本発明ほ本実施の形態に限られるものでなく、任意好適に改変してよい。
たとえば、本発明に係わる参照変換器の構成は図５に示したが、この構成は基本的な機能を示したものであって、種々の変形を加えてよい。
その一例として、より具体的な参照変換器の構成の例を図１５に示す。
図１５に示す参照解決器２００は、変換部を名前解決部２０２と参照解決部２０８とに分離して構成するようにしたものである。
以下、簡単に参照解決器２００の構成および機能について説明する。
参照解決器２００は、解決器管理部２０１、名前解決部２０２、参照解決部２０８、およびテーブル管理部２１４を有する。
解決器管理部２０１は、参照解決器２００の全体の管理を行う。具体的には、入力された参照情報が名前か参照情報かを判断し、名前であれば名前解決部２０２に、参照情報であれば参照情報解決部２０８に出力する。
【００５７】
名前解決部２０２は、解決器管理部２０１から入力された変換対象の名前空間上の名前を、対応するリファレンスに変換する。
名前解決管理部２０３は、名前解決部２０２の全体の管理を行う。名前解決管理部２０３は、与えられた名前の種類に応じて、入力された名前をドメイン名解決部２０４〜プロキシ解決部２０７のいずれかに出力する。そして、その解決部で得られたリファレンスを読み出し、解決器管理部２０１に出力する。
【００５８】
ドメイン名解決部２０４は、ドメインネームハッシュテーブル５４を利用して、ドメイン名からドメイン参照への変換を行う。
プロセス名解決部２０５は、関数／プロセスネームハッシュテーブル５５を利用して、プロセス名からプロセス参照への変換を行う。
エンティティ名解決部２０６は、図示せぬ別の名前ハッシュテーブルを利用して、エンティティ名からエンティティ参照への変換を行う。
外部名プロキシ解決部２０７は、プロキシを利用して外部名から外部参照への変換を行う。具体的には、たとえばＤＮＳ名サーバへのプロキシである。
【００５９】
参照解決部２０８は、解決器管理部２０１から入力された変換対象の参照をプリミティブ参照への変換を行う。
参照解決管理部２０９は、参照解決部２０８の全体の管理を行う。参照解決管理部２０９は、与えられた参照の種類に応じて、入力された参照をドメイン参照解決部２１０〜外部参照解決部２１３のいずれかに出力する。そして、その解決部で得られた変換結果を読み出し、解決器管理部２０１に出力する。
ドメイン参照解決部２１０は、ドメイン参照からエンティティ参照への変換を行う。具体的には、ドメイン参照は（エンティティ参照、ドメイン参照）の組に変換される。そして、変換の結果得られたドメイン参照は、ドメイン参照解決部２１０において再帰的に変換される。
【００６０】
プロセス参照解決部２１１は、プロセス参照からプリミティブプロセス参照への変換を行う。この時ネットワークノード名を通信メディアを指定することにより、所望のネットワークアドレスに変換する。
エンティティ参照解決部２１２は、入力されたエンティティ参照からプリミティブエンティティ参照への解決を行う。本例においては、ローカルエンティティ参照の変換の場合には、与えられたローカルエンティティ参照をそのまま変換結果として返す。また、リモートエンティティ参照の解決の場合には、内部表現に現れるプロセス参照をプリミティブ参照に変換して結果を出力する。
外部参照解決部２１３は、外部参照からプリミティブ外部参照への解決を行う。
【００６１】
なお、図１５において、外部名解決部２１５は、ＤＮＳ名変換手段であって、入力されたＤＮＳ名をＩＰアドレスに変換する。
また、メッセージ送信部３００は、分散処理システム１において、オブジェクト間の通信を行うための、メッセンジ送信を行う。
したがって、参照解決器２００においては、具体的にはメッセージ送信部３００からたとえば送信先のノードとプロセス、オブジェクトを示す参照情報が入力され、参照解決器２００においてその参照情報をシステム参照情報に変換してメッセージ送信部３００に出力し、メッセージ送信部３００はそのシステム参照情報に基づいて実際に通信を行う。
参照解決器は、このような構成にしてもよい。
【００６２】
【発明の効果】
以上説明したように、本発明によれば、複数の計算機装置などで構成される計算機ネットワ−ク上などにおいて、再帰的かつ多段階の処理によりアプリケーションレベルの参照情報を展開してシステム参照情報を得ているので、複雑な参照情報に対しても適切に対応することができる。さらに、参照情報をグループ化した状態で変換したり、他の参照解決器へ解決を依頼したり、あるいは解決に関する付加情報を与えることにより解決動作を制御したりすることができるので、どのような形態の参照情報に対しても適切にシステム参照情報を得ることができる。その結果、計算機ネットワークのトポロジーがどうのような形態であっても、本発明はその参照情報の解決を行うことができ、より高度な分散処理システム、分散処理環境の提供に寄与することができる。
【図面の簡単な説明】
【図１】図１は、本発明の第１の実施の形態の参照変換装置の構成を示すブロック図である。
【図２】図１に示した制御部の処理の流れを示すフローチャートである。
【図３】（Ａ）〜（Ｃ）は各々図１に示した参照変換装置の動作例を示す図である。
【図４】本発明の第２の実施の形態の分散処理システムの概念図である。
【図５】図４に示した分散処理システムにおける参照解決器の構成を示すブロック図である。
【図６】図５に示した参照解決器のテーブル管理部の内容を説明する図である。
【図７】図６に示したローカル関数参照テーブルを説明するための図である。
【図８】図６に示したリモ−ト関数参照テーブルを説明するための図である。
【図９】図６に示したプロセス参照テーブルを説明するための図である。
【図１０】図６に示したドメイン参照テーブルを説明するための図である。
【図１１】図６に示したドメインネームハッシュテーブルを説明するための図である。
【図１２】図６に示した関数／プロセスネームハッシュテーブルを説明するための図である。
【図１３】図６に示したリモート関数ＩＤハッシュテーブルを説明するための図である。
【図１４】図５に示した参照解決器の動作例を示す図である。
【図１５】図５に示した参照解決器の具体的実施例を示す図である。
【符号の説明】
１…分散処理システム、２…ネットワーク、３〜５…ネットワークノード、６〜９…計算オブジェクト、１０〜１４…部分空間、１５，１６…計算空間、１７，１８…空間管理部、５０…ローカル関数参照テーブル、５１…リモート関数参照テーブル、５２…プロセス参照テーブル、５３…ドメイン参照テーブル、５４…ドメインネームハッシュテーブル、５５…関数／プロセスネームハッシュテーブル、５６…リモート関数ＩＤハッシュテーブル、１３０…参照変換装置，１３１…入力切換部、１３２…第１の変換部、１３３…第２の変換部、１３４…第３の変換部、１３５…第４の変換部、１３６…第５の変換部、１３７…出力切換部、１３８…制御部、１５０…参照変換器、１５１…変換制御部、１５２…ドメイン変換部、１５３…エンティティ変換部、１５４…プロセス変換部、１５５…ノードネーム変換部、１５６…ＤＮＳ名プロキシ変換部、１６０…ＤＮＳネーム変換部、２００…参照解決器、２０１…解決器管理部、２０２…名前解決部、２０３…名前解決管理部、２０４…ドメイン名解決部、２０５…プロセス名解決部、２０６…エンティティ名解決部、２０７…外部名プロキシ解決部、２０８…参照解決部、２０９…参照解決管理部、２１０…ドメイン参照解決部、２１１…プロセス参照解決部、２１２…エンティティ参照解決部、２１３…外部参照解決部、２１４…テーブル管理部、２１５…外部名解決部、３００…メッセージ送信部
【図１】
0003785152.tif 000002
【図２】
0003785152.tif 000003
【図３】
0003785152.tif 000004
【図４】
0003785152.tif 000005
【図５】
0003785152.tif 000006
【図６】
0003785152.tif 000007
【図７】
0003785152.tif 000008
【図８】
0003785152.tif 000009
【図９】
0003785152.tif 000010
【図１０】
0003785152.tif 000011
【図１１】
0003785152.tif 000012
【図１２】
0003785152.tif 000013
【図１３】
0003785152.tif 000014
【図１４】
0003785152.tif 000015
【図１５】
0003785152.tif 000016