トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 サーバ、クライアント及びクライアント・サーバ・システム
【発明者】 【氏名】山根 慎治

【氏名】佐川 徹

【氏名】板村 典子

【氏名】渡邊 良子

【氏名】甲田 智宏

【要約】 【課題】異なるCORBAに準拠するサーバ(S)及びクライアント(C)の間においても、オブジェクト・リファレンス(OR)をCに提供できるS、ORをSから受けられるC、及び、ORを送受信できるCSシステムを提供する。

【解決手段】当該Sが属するCORBAでネーミング・サービス部(NS部)が稼働している場合には、NS部からORを収集し、収集した該ORをインタオペラティブ・オブジェクト・リファレンス(IOR)に変換し、変換した該IORをCにブロードキャスト通知し、当該Sが属するCORBAでネーミングが稼働していない場合には、アプリケーション部からIORを収集し、収集した該IORをCにブロードキャスト通知するゲートウェイNS部を備えてサーバを構成する。
【特許請求の範囲】
【請求項1】 当該サーバが属するコモン・オブジェクト・リクエスト・ブローカー・アーキテクチャ(CORBA)でネーミング・サービス部が稼働している場合には、該ネーミング・サービス部からオブジェクト・リファレンスを収集し、収集した該オブジェクト・リファレンスをインタオペラティブ・オブジェクト・リファレンス(IOR)に変換し、該IORをクライアントにブロードキャスト通知し、当該サーバが属するCORBAでネーミングが稼働していない場合には、アプリケーション部のIORファイルからIORを収集し、収集した該IORをクライアントにブロードキャスト通知するゲートウェイ・ネーミング・サービス部を備えることを特徴とするサーバ。
【請求項2】 当該クライアントが属するCORBAでネーミング・サービス部が稼働している場合には、サーバから転送を受けたIORをオブジェクト・リファレンスに復元してネーミング・サービス部に登録し、当該クライアントが属するCORBAでネーミング・サービス部が稼働していない場合には、サーバから転送を受けたIORをリネームするゲートウェイ・ネーミング・サービス部を備えることを特徴とするクライアント。
【請求項3】 請求項1記載のサーバと、請求項2記載のクライアントとを収容して構成することを特徴とするクライアント・サーバ・システム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、コモン・オブジェクト・リクエスト・ブローカー・アーキテクチャ(Common Object Request Bruker Architecture 。以降、「CORBA」と略記する。)に準拠するクライアント・サーバ・システムに係り、特に、異なるCORBAに準拠するサーバ及びクライアントの間においても、クライアントが、サーバに実行を要求するオブジェクトのオブジェクト名と該オブジェクトを保有している特定のサーバを結び付ける情報であるオブジェクト・リファレンスを得ることが可能なクライアント・サーバ・システムに関する。
【0002】当初はスタンド・アロンの大型コンピュータだけで処理をするシステムが主流であったものが、パーソナル・コンピュータやワーク・ステーションの普及と高性能化に伴って、次第に大型コンピュータを核とするネットワーク化されたコンピュータ・システムが構築されるようになった。
【0003】そして、1990年前後の所謂ダウン・サイジングの潮流にのって、従来の概念とは異なるコンピュータ・ネットワーク・システムが構築されるようになり、急速に普及してきた。これが、クライアント・サーバ・システムである。
【0004】クライアント・サーバ・システムは、1つのネットワーク内に複数のサーバと呼ばれるコンピュータと多数のクライアントと呼ばれるインテリジェント・ターミナルとしてのコンピュータが共存し、クライアントの要求に従って、例えば、サーバが処理を実行したり、格納している情報を配信する。このような、処理や通信の対象をCORBAではオブジェクトと呼ぶ。
【0005】上記のような通信環境下で効率がよい通信を行なうには、クライアントはどのようなオブジェクトをどのサーバが実行できるのか、どのような送受信能力をもっているのか、どのようなアドレス体系なのか等を予め知りうることが必要である。ネーミング・サービス部は、上記コンピュータ・ネットワーク内に存在して、上記目的のためにオブジェクトに関する情報即ちオブジェクト・リファレンス(以降、図においては「OR」と略記することがある。)を格納する一種のデータベースである。そして、該ネーミング・サービス部は、特定のサーバ内に存在してもよいし、独立に存在してもよい。
【0006】図13は、オブジェクト・リファレンスの登録と参照を示す図である。
【0007】図13において、101は、クライアント・サーバ・システム内のネットワーク、102は、第一のサーバ、103は、第二のサーバ、104はクライアントである。このうち、第一のサーバ102はオブジェクトを実行するアプリケーション部102−1及びオブジェクト・リファレンスを格納するネーミング・サービス部102−2を備えており、第二のサーバ103はアプリケーション部103−1を備えている。
【0008】又、アプリケーション部102−1及びアプリケーション部103−1はそれぞれのオブジェクト・リファレンスを保有している。尚、それぞれのオブジェクト・リファレンスが保有するオブジェクト・リファレンスは1つには限らない。
【0009】クライアント・サーバ・システムの立ち上げ時に、第一のサーバ102及び第二のサーバ103は、それぞれのオブジェクト・リファレンスをネーミング・サービス部に登録する。図13の構成では、第一のサーバ102はサーハ内のバスを介してオブジェクト・リファレンスを登録し、第二のサーバ103はクライアント・サーバ・システムのネットワークを介してオブジェクト・リファレンスを登録すればよい。これによって、ネーミング・サービス部102−2には全てのサーバが保有する全てのオブジェクト・リファレンスが格納される。
【0010】一方、クライアント104は、オブジェクトの実行に当たってネーミング・サービス部102−2にアクセスして、実行すべきオブジェクトのオブジェクト・リファレンスを検索する。例えば、第一のサーバ102のオブジェクトを実行する場合には、ネーミング・サービス部102−2から当該オブジェクトのオブジェクト・リファレンスを取得する。
【0011】尚、登録と検索の矢印は論理的な経路を示すもので、実際にはバスやネットワークを介して行なわれる。このような表現をしているのは図面の輻輳を避けるためで、以降も同様な図面においては同じように表現する。
【0012】必要なオブジェクトのオブジェクト・リファレンスを取得すると、クライアント104は取得したオブジェクト・リファレンスを参照して第一のサーバ102との間で通信して、当該オブジェクトの実行を依頼して結果を受け取る。
【0013】しかし、サーバがネーミング・サービス部にオブジェクト・リファレンスを任意に登録したり、クライアントがネーミング・サービス部からオブジェクト・リファレンスを任意に検索することができるためには、サーバ及びクライアントが同一のCORBAに準拠している必要がある。これは、CORBAが異なる場合にはオブジェクト・リファレンスのネーミング規則が異なるために、登録や検索ができないからである。
【0014】図14は、CORBAの同一、異種による通信の可否を示す図である。
【0015】図14において、101は、クライアント・サーバ・システム内のネットワーク、105、はサーバ、106は、第一のクライアント、107は第二のクライアントである。そして、サーバ105にはアプリケーション部105−1とネーミング・サービス部105−2が備えられており、第一のクライアント106にはアプリケーション部106−1が備えられており、第二のクライアント107にはアプリケーション部107−1が備えられている。
【0016】ここでは、ネーミング・サービス部105−2も含めてサーバ105と第一のクライアント106が同一のCORBAに準拠しており、クライアント107は異種のCORBAに準拠しているものとする。
【0017】まず、第一のクライアント106が同一CORBA下のネーミング・サービス部105−2にアクセスする場合、ネーミング規則が同一であるのでオブジェクト・リファレンスを検索することができ、この場合、サーバ105のアプリケーション部が保有するオブジェクトのオブジェクト・リファレンスを検索することができる。従って、クライアント106は検索したオブジェクト・リファレンスを参照してサーバ105と通信することが可能で、オブジェクトの実行を依頼することができ、その結果を取得することができる。
【0018】一方、第二のクライアント107が異なるCORBA下のネーミング・サービス部105−2にアクセスしても、ネーミング規則が異なるためにネーミング・サービス部105−2にてオブジェクト・リファレンスを検索することが不可能である。従って、第二のクライアント107は実行したいオブジェクトをどのサーバが保有しているのかが判らず、図14の構成の場合、サーバ105と通信が不可能なため、サーバ105が保有しているオブジェクトの実行を依頼することが不可能である。
【0019】
【従来の技術】図10は、異なるCORBA下の装置間で通信を可能にする従来の構成である。
【0020】図10において、1は、クライアント・サーバ・システム内のネットワークである。
【0021】2cは、サーバで、バス21、バス21に接続されているアプリケーション部22と及びインタオペラブル・オブジェクト・リファレンス・ファイル22−1(Interoperable Object Reference File 。以降、インタオペラブル・オブジェクト・リファレンスを「IOR」と略記する。又、インタオペラブル・オブジェクト・リファレンス・ファイルを「IORファイル」と略記する。但し、図においてはインタオペラブル・オブジェクト・リファレンス・ファイルを「IOR−F」と略記する。)を備えている。
【0022】ここで、IORファイルとは、上記オブジェクト・リファレンスをテキスト形式で格納するファイル(記憶装置)である。
【0023】3cは、クライアントで、バス31、バス31に接続されているアプリケーション部32及びIORファイル32−1を備えている。
【0024】そして、サーバ2cとクライアント3cは異なるCORBA下の装置であり、下記の手順によってネットワーク1を介する通信を可能にする。
【0025】■ サーバ2cは、アプリケーション部22のオブジェクト・リファレンスをテキスト形式のIORに変換してIORファイル22−1に格納する。ここで、IORファイル22−1のファイル名は、サーバ名(ホスト名)とオブジェクト名及び識別子となり、オブジェクト・リファレンスとサーバ名及び当該オブジェクトにアクセスするためのポート番号が格納される。
【0026】■ サーバ2cは、上記■のステップでIORファイル22−1に格納した内容をファイル・トランスポート・ブロトコル(以降、「FTP」と略記する。)によるファイル転送を使用してクライアント3cのIORファイル32−1に転送する。FTPによるファイル転送には、サーバ名、クライアント名(ユーザ名)、パスワード、ディレクトリ名及びファイル名の情報が必要である。現状では、これらを指定してファイル転送する全自動化されたアプリケーションは存在しない。
【0027】■ クライアント3cのアプリケーション部32は、■のステップで取得したIORを、ファイル名をキーにオブジェクト名、サーバ名及びポート番号を獲得してオブジェクト・リファレンスに復元する。
【0028】これにより、サーバ2cとクライアント3cは異なるCORBAしたの装置であるが、テキスト形式に変換したIORを介してオブジェクト・リファレンスを検索できるので、異なるCORBA下の装置間でも通信が可能になる。
【0029】
【発明が解決しようとする課題】しかし、上記従来の技術では、同一CORBA下の装置間でネーミング・サービス部を使用できる場合と、異種CORBA下の装置間でネーミング・サービス部を使用できない場合によって、サーバ及びクライアントのアプリケーション部の処理機能が異なるので、サーバ及びクライアントの処理機能を修正する必要が生じ、しかも、全てのアプリケーション部について処理機能を修正する必要がある。
【0030】図11は、図10の構成におけるサーバ側の処理の変更を説明する図で、図11(イ)は、同一CORBA下の装置であるためにネーミング・サービス部を使用できる場合の処理機能を示し、図11(ロ)は異種CORBA下の装置であるためにネーミング・サービス部を使用できない場合の処理機能を示す。
【0031】まず、ネーミング・サービス部を使用できる場合のサーバでの処理は、S101.通信オブジェクトを生成し、S102.オブジェクト名をキーに、オブジェクト・リファレンスをネーミング・サービス部に登録した後、スリープ状態に入り、クライアントからの起動を待つ。という処理手順である。
【0032】これに対して、ネーミング・サービス部を使用できない場合のサーバ出の処理は、S111.通信オブジェクトを生成し、S112.オブジェクト・リファレンスをIORに変換してIORファイルに格納し、S113.全クライアントにIORファイルの転送処理をした後、スリープ状態に入り、クライアントからの起動を待つ。という処理手順である。
【0033】即ち、サーバのアプリケーション部毎に、オブジェクト・リファレンスをIORに変換してIORファイルに格納する処理と、全クライアントにIORファイルの転送する処理を追加する必要がある。
【0034】図12は、図10の構成におけるクライアント側の処理の変更を説明する図で、図12(イ)は、同一CORBA下の装置であるためにネーミング・サービス部を使用できる場合の処理機能を示し、図12(ロ)は異種CORBA下の装置であるためにネーミング・サービス部を使用できない場合の処理機能を示す。
【0035】まず、ネーミング・サービス部を使用できる場合のクライアントでの処理は、S121.オブジェクト名をキーにオブジェクト・リファレンスをネーミング・サービス部から取得し、S122.取得したオブジェクト・リファレンスを参照して通信オブジェクトを生成し、S123.生成した通信オブジェクトを使用してサーバと通信してオブジェクトを実行する。という処理手順である。
【0036】これに対して、ネーミング・サービス部を使用できない場合のクライアントでの処理は、S131.サーバからIORファイルの格納内容を収集し、S132.収集したIORファイルの格納内容をオブジェクト・リファレンスに逆変換するという形でオブジェクト・リファレンスを復元し、S133.復元したオブジェクト・リファレンスを参照して通信オブジェクトを生成し、S134.生成した通信オブジェクトを使用してサーバと通信してオブジェクトを実行する。という手順である。
【0037】即ち、クライアントのアプリケーション部毎に、サーバからIORファイルの格納内容を収集する処理及び収集したIORファイルの格納内容からオブジェクト・リファレンスを復元する処理を追加する必要がある。
【0038】但し、上記はサーバ側での処理追加とクライアント側での処理追加を独立に見た場合の説明であり、サーバ側の処理追加とクライアント側の処理追加を関連付けて見る場合には、一方で一部処理の追加を割愛することができる。即ち、サーバ側でIORファイルを転送する処理を追加した場合には、クライアント側ではサーバからIORファイルの格納内容を収集する処理を追加する必要はなく、クライアントにサーバからIORファイルの格納内容を収集する処理を追加した場合には、サーバ側にはクライアントに対してIORファイルを転送する処理を追加する必要はない。
【0039】本発明は、かかる問題点に鑑み、異なるCORBAに準拠するサーバ及びクライアントの間においても、クライアントがオブジェクト・リファレンスを得ることが可能なクライアント・サーバ・システムを提供することを目的とする。
【0040】
【課題を解決するための手段】第一の発明は、当該サーバが属するコモン・オブジェクト・リクエスト・ブローカー・アーキテクチャ(CORBA)でネーミング・サービス部が稼働している場合には、該ネーミング・サービス部からオブジェクト・リファレンスを収集し、収集した該オブジェクト・リファレンスをインタオペラティブ・オブジェクト・リファレンス(IOR)に変換し、該IORをクライアントにブロードキャスト通知し、当該サーバが属するCORBAでネーミングが稼働していない場合には、アプリケーション部のIORファイルからIORを収集し、収集した該IORをクライアントにブロードキャスト通知するゲートウェイ・ネーミング・サービス部を備えるサーバである。
【0041】第一の発明によれば、サーバのゲートウェイ・ネーミング・サービス部が、当該サーバでネーミング・サービス部が稼働している場合にはネーミング・サービス部からオブジェクト・リファレンスを収集し、収集したオブジェクト・リファレンスをIORに変換し、変換したIORをクライアントにブロードキャスト通知し、当該サーバでネーミングが稼働していない場合にはアプリケーション部のIORファイルからIORを収集し、収集したIORをクライアントにブロードキャスト通知する。
【0042】従って、サーバにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、サーバとクライアントの間ではテキスト形式のIORを転送すればよく、サーバとクライアントが如何なるCORBA下の装置であってもオブジェクト・リファレンスの転送が可能になる結果、サーバとクライアント間の間で実質的にオブジェクト・リファレンスの転送が可能になる。
【0043】第二の発明は、当該クライアントが属するCORBAでネーミング・サービス部が稼働している場合には、サーバから転送を受けたIORをオブジェクト・リファレンスに復元してネーミング・サービス部に登録し、当該クライアントが属するCORBAでネーミング・サービス部が稼働していない場合には、サーバから転送を受けたIORをリネームするゲートウェイ・ネーミング・サービス部を備えるクライアントである。
【0044】第二の発明によれば、クライアントのゲートウェイ・ネーミング・サービス部が、当該クライアントでネーミング・サービス部が稼働している場合にはサーバから転送を受けたIORをオブジェクト・リファレンスに復元してネーミング・サービス部に登録し、当該クライアントでネーミング・サービス部が稼働していない場合にはサーバから転送を受けたIORをリネームする。
【0045】従って、クライアントにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、クライアントはIORの転送を受けて、該IORからオブジェクト・リファレンスを復元するか、該IORをリネームするかが可能になるので、サーバとクライアントが如何なるCORBA下の装置であっても実質的にオブジェクト・リファレンスの取得が可能になる。
【0046】第三の発明は、第一の発明のサーバと、第二の発明のクライアントとを収容して構成するクライアント・サーバ・システムである。
【0047】第三の発明によれば、サーバのゲートウェイ・ネーミング・サービス部は、当該サーバでネーミング・サービス部が稼働している場合にはネーミング・サービス部からオブジェクト・リファレンスを収集し、収集したオブジェクト・リファレンスをIORに変換し、変換したIORをクライアントにブロードキャスト通知し、当該サーバでネーミングが稼働していない場合にはアプリケーション部のIORファイルからIORを収集し、収集したIORをクライアントにブロードキャスト通知する。又、クライアントのゲートウェイ・ネーミング・サービス部は、当該クライアントでネーミング・サービス部が稼働している場合にはサーバから転送を受けたIORをオブジェクト・リファレンスに復元してネーミング・サービス部に登録し、当該クライアントでネーミング・サービス部が稼働していない場合にはサーバから転送を受けたIORをリネームする。
【0048】従って、サーバにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、サーバとクライアントの間ではテキスト形式のIORを転送すればよく、サーバとクライアントが如何なるCORBA下の装置であってもオブジェクト・リファレンスの転送が可能になる結果、サーバとクライアント間の間で実質的にオブジェクト・リファレンスの転送が可能になり、クライアントにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、クライアントはIORの転送を受けて、該IORからオブジェクト・リファレンスを復元するか、該IORをリネームするので、サーバとクライアントが如何なるCORBA下の装置であってもクライアントは実質的にオブジェクト・リファレンスの取得が可能になる。この結果、サーバとクライアントが如何なるCORBA下の装置であってもサーバとクライアントの間で通信が可能になる。
【0049】
【発明の実施の形態】図1は、本発明の第一の実施の形態で、サーバとクライアントの双方でネーミング・サービス部が稼働している場合の、サーバの構成とクライアントの構成及びクライアント・サーバ・システムの構成を示すものである。尚、図1では、サーバとクライアントは互いに異なるCORBA下の装置であることを想定している。
【0050】図1において、1はクライアント・サーバ・システム内のネットワークである。
【0051】2は、第一のCORBA下のサーバで、サーバ内のバス21、オブジェクトを実行するアプリケーション部22、ネーミング・サービス部23、ゲートウェイ・ネーミング・サービス部24、ローカル・ディレクトリのIORファイル25(図では、「ローカルIOR−F」と略記している。以降も、図では同様に略記する。)及びリモート・ディレクトリのIORファイル26(図では、「リモートIOR−F」と略記している。以降も、図では同様に略記する。)を備えている。尚、ゲートウェイ・ネーミング・サービス部24のIORファイル24−1は、変換が行なわれる度に生成される。
【0052】図1の構成のサーバ2の動作概要は下記の通りである。
【0053】即ち、アプリケーション部22は、当該アプリケーション部が実行するオブジェクトに関する第一のCORBA下で有効なオブジェクト・リファレンスを保有しており、該オブジェクト・リファレンスをネーミング・サービス部23に登録している。
【0054】ゲートウェイ・ネーミング・サービス部24は、ネーミング・サービス部23に登録されている該オブジェクト・リファレンスを収集してIORに変換し、一旦IORファイル24−1に格納し、IORファイル24−1の格納内容をネーミング規則に則ってリネームしてローカル・ディレクトリのIORファイルに格納し、クライアントに対してネットワーク1を介してブロードキャストする。
【0055】ここで、図1には1つのクライアントしか示されていないのにブロードキャストするというのは一見適切ではないようであるが、これは、図の煩雑化を防ぐために1つのサーバと1つのクライアントによって構成されるクライアント・サーバ・システムを示しているだけであって、実際には複数のサーバと複数のクライアントによってクライアント・サーバ・システムが構成されている。従って、そういう実際のクライアント・サーバ・システムを考慮してブロードキャストすると記載したものである。このことは、以降に説明する全ての発明の実施の形態に共通することである。
【0056】3は、第二のCORBA下のクライアントで、クライアント内のバス31、オブジェクトを実行するアプリケーション部32、ネーミング・サービス部33、ゲートウェイ・ネーミング・サービス部34、ローカル・ディレクトリのIORファイル35及びリモート・ディレクトリのIORファイル36を備えている。尚、ゲートウェイ・ネーミング・サービス部34にはIORファイル34−1が備えられている。
【0057】図1の構成のクライアントの動作概要は下記の通りである。
【0058】ゲートウェイ・ネーミング・サービス部34はサーバからIORのブロードキャストを受け、受けたIORをリモート・ディレクトリのIORファイルに格納し、該IORからサーバ2のアプリケーション部22のオブジェクト・リファレンスを復元し、ネーミング・サービス部33に登録する。
【0059】このようにして、第二のCORBA下のクライアント3のネーミング・サービス部33に、第一のCORBA下のサーバ2のアプリケーション部22のオブジェクト・リファレンスが登録されるので、第二のCORBA下のクライアント3のアプリケーション部32は、ネーミング・サービス部33に登録された第一のCORBA下のサーバ2のアプリケーション部22のオブジェクト・リファレンスを取得することができる。
【0060】従って、第二のCORBA下のクライアント3のアプリケーション部32は取得したオブジェクト・リファレンスを参照して第一のCORBA下のサーバ2のアプリケーション部22にアクセスすることが可能になるので、異なるCORBA下の装置であるサーバ2とクライアント3の間で通信することによってオブジェクトの実行が可能になる。
【0061】そして、サーバ2とクライアント3が同一CORBA下の装置である場合にも、サーバ2が変換して格納したIORをクライアント3に転送し、転送されたIORをクライアント3がリネームしてサーバ2のオブジェクト・リファレンスを復元するので、当然、クライアント3はサーバ2のオブジェクト・リファレンスを取得可能で、サーバ2とクライアント3の間で通信が可能である。
【0062】尚、ローカル・ディレクトリのIORファイルとは、当該装置のオブジェクト・リファレンスを変換したIORを格納するファイルであることを意味し、リモート・ディレクトリのIORファイルとは、外部装置のオブジェクト・リファレンスを変換したIORを格納するファイルであることを意味する。
【0063】又、上ではサーバ2のローカル・ディレクトリのIORファイル25と、クライアント3のリモート・ディレクトリのIORファイル36のみが使用されるように記載しているが、これは、一方の装置をサーバであると定義し、もう一方の装置をクライアントであると定義しているためである。
【0064】即ち、クライアント・サーバ・システムでは各々の装置自体の構成は同じで、機能的にサーバとなったりクライアントになるということがある。従って、図1においてサーバとして定義した装置がクライアントになり、クライアントとして定義した装置がサーバになることがあることを考慮すると、サーバとして定義した装置にもリモート・ディレクトリのIORファイルを備え、クライアントとして定義した装置にもローカル・ディレクトリのIORファイルを備えておくことが好ましい。この意味で、図1においては、ローカル・ディレクトリとリモート・ディレクトリの双方のIORファイルを備えるサーバ2とクライアント3を示している。このことは、以降に説明する全ての実施の形態について共通である。
【0065】更に、上記説明では、ネーミング・サービス部がサーバやクライアントの中に存在するように記載しているが、先にも説明した如く、ネーミング・サービス部はクライアント・サーバ・システムの中の任意の場所に存在することができるので、例えば、サーバ2の中にネーミング・サービス部23が存在するということは、サーバ2と同一CORBA下の複数の装置で構成されるサブ・システムの中にネーミング・サービス部が存在するという意味である。
【0066】従って、図1に示したクライアント・サーバ・システムは、異なるCORBA下の複数の装置からなるサブ・システムの各々の中にネーミング・サービス部が存在するクライアント・サーバ・システムであり、上記は、異なるCORBA下のサブ・システム間でIORを交換することができることを示している。
【0067】図2は、本発明の第二の実施の形態で、サーバではネーミング・サービス部が稼働しておらずクライアントではネーミング・サービス部が稼働している場合の、サーバの構成とクライアントの構成及びクライアント・サーバ・システムの構成を示すものである。尚、図2では、一応サーバとクライアントが互いに異なるCORBA下の装置であることを想定している。
【0068】図2において、1はクライアント・サーバ・システム内のネットワークである。
【0069】2aは、第一のCORBA下のサーバで、サーバ内のバス21、オブジェクトを実行するアプリケーション部22a、ゲートウェイ・ネーミング・サービス部24、ローカル・ディレクトリのIORファイル25及びリモート・ディレクトリのIORファイル26を備えている。尚、アプリケーション部22aにはIORファイル22−1が、ゲートウェイ・ネーミング・サービス部24にはIORファイル24−1が備えられている。
【0070】図2の構成のサーバの動作概要は下記の通りである。
【0071】即ち、アプリケーション部22aは、当該アプリケーション部が実行するオブジェクトに関するオブジェクト・リファレンスを保有しており、該オブジェクト・リファレンスをIORに変換し、IORファイル22−1に格納している。
【0072】ゲートウェイ・ネーミング・サービス部24は、アプリケーション部22aのIORファイルに格納されているIORを収集して一旦IORファイル24−1に格納し、IORファイル24−1の格納内容をネーミング規則に則ってリネームしてローカル・ディレクトリのIORファイルに格納して、クライアントに対してネットワーク1を介してブロードキャストする。
【0073】3は、第二のCORBA下のクライアントで、クライアント内のバス31、オブジェクトを実行するアプリケーション部32、ネーミング・サービス部33、ゲートウェイ・ネーミング・サービス部34、ローカル・ディレクトリのIORファイル35及びリモート・ディレクトリのIORファイル36を備えている。尚、ゲートウェイ・ネーミング・サービス部34にはIORファイル34−1が備えられている。
【0074】図2の構成のクライアント3は図1の構成のクライアント3と同じ構成であるので、動作概要は図1の説明において記載したものと同じである。
【0075】即ち、ゲートウェイ・ネーミング・サービス部34はサーバからIORのブロードキャストを受け、受けたIORをリモート・ディレクトリのIORファイルに格納し、該IORから第一のCORBA下のサーバ2aのアプリケーション部22aのオブジェクト・リファレンスを復元し、ネーミング・サービス部33に登録する。
【0076】このようにして、第二のCORBA下のクライアント3のネーミング・サービス部に、第一のCORBA下のサーバ2aのアプリケーション部22aのオブジェクト・リファレンスが登録されるので、第二のCORBA下のクライアント3のアプリケーション部32はネーミング・サービス部33に登録された、第一のCORBA下のサーバ2aのアプリケーション部22aのオブジェクト・リファレンスを取得することができる。
【0077】従って、第二のCORBA下のクライアント3のアプリケーション部32は取得したオブジェクト・リファレンスを参照して第一のCORBA下のサーバ2aのアプリケーション部22aにアクセスすることが可能になるので、異なるCORBA下の装置であるサーバ2aとクライアント3の間で通信することによってオブジェクトの実行が可能になる。
【0078】そして、サーバ2aとクライアント3が同一CORBA下の装置である場合にも、サーバ2aが変換して格納したIORをクライアント3に転送し、転送されたIORをクライアント3がリネームしてサーバ2aのオブジェクト・リファレンスを復元するので、当然、クライアント3はサーバ2aのオブジェクト・リファレンスを取得可能で、サーバ2aとクライアント3の間で通信が可能である。
【0079】更に、上記説明では、第一のCORBA下のサーバ2a内にネーミング・サービス部が存在せず、第二のCORBA下のクライアント3の中にネーミング・サービス部が存在するように記載しているが、これの真の意味は、第一のCORBA下のサブ・システム中にはネーミング・サービス部が存在せず、第二のCORBA下のサブ・システム中にはネーミング・サービス部23が存在するということである。
【0080】従って、上記は、異なるCORBA下の複数の装置からなるサブ・システムの中にネーミング・サービス部が存在するサブ・システムとネーミング・サービス部が存在しないサブ・システムが混在するクライアント・サーバ・システムであり、このような場合にも異なるCORBA下のサブ・システム間でIORを交換することができることを示している。
【0081】図3は、本発明の第三の実施の形態で、サーバではネーミング・サービス部が稼働しており、クライアントではネーミング・サービス部が稼働していない場合の、サーバの構成とクライアントの構成及びクライアント・サーバ・システムの構成を示すものである。尚、図3では、一応サーバとクライアントが異なるCORBAしたの装置であることを想定している。
【0082】図3において、1はクライアント・サーバ・システム内のネットワークである。
【0083】2は、第一のCORBA下の装置であるサーバで、サーバ内のバス21、オブジェクトを実行するアプリケーション部22、ネーミング・サービス部23、ゲートウェイ・ネーミング・サービス部24、ローカル・ディレクトリのIORファイル25及びリモート・ディレクトリのIORファイル26を備えている。尚、ゲートウェイ・ネーミング・サービス部24にはIORファイル24−1が備えられている。
【0084】図3の構成のサーバ2の動作概要は図1の構成のサーバ2の動作概要と同じである。
【0085】即ち、アプリケーション部22は、当該アプリケーション部が実行するオブジェクトに関する第一のCORBA下で有効なオブジェクト・リファレンスを保有しており、該オブジェクト・リファレンスをネーミング・サービス部23に登録している。
【0086】ゲートウェイ・ネーミング・サービス部24は、ネーミング・サービス部23に登録されているオブジェクト・リファレンスを収集してIORに変換し、一旦IORファイル24−1に格納し、IORファイル24−1の格納内容をネーミング規則に則ってリネームしてローカル・ディレクトリのIORファイルに格納して、クライアントに対してネットワーク一を介してブロードキャストする。
【0087】3aは、第二のCORBA下の装置であるクライアントで、クライアント内のバス31、オブジェクトを実行するアプリケーション部32、ゲートウェイ・ネーミング・サービス部34a、ローカル・ディレクトリのIORファイル35及びリモート・ディレクトリのIORファイル36を備えている。尚、ゲートウェイ・ネーミング・サービス部34aにはIORファイル34−1及びIORファイル34−2が備えられている。
【0088】図3の構成のクライアントの動作概要は下記の通りである。
【0089】即ち、ゲートウェイ・ネーミング・サービス部34aはサーバ2からIORのブロードキャストを受け、受けたIORをリモート・ディレクトリのIORファイル36に格納し、IORファイル36に格納したIORをネーミング規則に則ってリネームしてIORファイル34−2に格納する。
【0090】クライアント3aのアプリケーション部32は、ゲートウェイ・ネーミング・サービス部34aのIORファイル34−2に格納されているIORから第一のCORBA下のサーバ2のアプリケーション部22のオブジェクト・リファレンスを復元する。
【0091】このようにして、第二のCORBA下のクライアント3aのアプリケーション部32は、第一のCORBA下のサーバ2のアプリケーション部22のオブジェクト・リファレンスを取得することができる。
【0092】従って、クライアント3aのアプリケーション部32は取得したオブジェクト・リファレンスを参照してサーバ2のアプリケーション部22にアクセスすることが可能になるので、異なるCORBA下のサーバ2とクライアント3aの間で通信することによってオブジェクトの実行が可能になる。
【0093】そして、サーバ2とクライアント3aが同一CORBA下の装置である場合にも、サーバ2が変換して格納したIORをクライアント3aに転送し、転送されたIORをクライアント3aがリネームしてサーバ2のオブジェクト・リファレンスを復元するので、当然、クライアント3aはサーバ2のオブジェクト・リファレンスを取得可能で、サーバ2とクライアント3aの間で通信が可能である。
【0094】更に、上記説明では、第一のCORBA下のサーバ2内にネーミング・サービス部が存在し、第二のCORBA下のクライアント3aの中にネーミング・サービス部が存在しないように記載しているが、これの真の意味は、第一のCORBA下のサブ・システム中にはネーミング・サービス部が存在し、第二のCORBA下のサブ・システム中にはネーミング・サービス部23が存在しないということである。
【0095】従って、上記は、異なるCORBA下の複数の装置からなるサブ・システムの中にネーミング・サービス部が存在するサブ・システムとネーミング・サービス部が存在しないサブ・システムが混在するクライアント・サーバ・システムであり、このような場合にも異なるCORBA下のサブ・システム間でIORを交換することができることを示している。
【0096】図4は、本発明の第四の実施の形態で、サーバ及びクライアント共ネーミング・サービス部が稼働していない場合の、サーバの構成、クライアントの構成及びクライアント・サーバ・システムの構成を示すものである。尚、図4では一応サーバとクライアントが異なるCORBA下の装置であることを想定している。
【0097】図4において、1はクライアント・サーバ・システム内のネットワークである。
【0098】2aは、第一のCORBA下のサーバで、サーバ内のバス21、オブジェクトを実行するアプリケーション部22a、ゲートウェイ・ネーミング・サービス部24、ローカル・ディレクトリのIORファイル25及びリモート・ディレクトリのIORファイル26を備えている。尚、アプリケーション部22aにはIORファイル22−1が、ゲートウェイ・ネーミング・サービス部24にはIORファイル24−1が備えられている。
【0099】図4の構成のサーバ2aの動作概要は図2の構成のサーバ2aの動作概要と同じである。
【0100】即ち、アプリケーション部22aは、当該アプリケーション部が実行するオブジェクトに関する第一のCORBA下で有効なオブジェクト・リファレンスを保有しており、該オブジェクト・リファレンスをIORに変換し、IORファイル22−1に格納している。
【0101】ゲートウェイ・ネーミング・サービス部24は、アプリケーション部22aのIORファイルに格納されているIORを収集して一旦IORファイル24−1に格納し、IORファイル24−1の格納内容をネーミング規則に則ってリネームしてローカル・ディレクトリのIORファイルに格納して、クライアントに対してネットワーク1を介してブロードキャストする。
【0102】3aは、第二のCORBA下の装置であるクライアントで、クライアント内のバス31、オブジェクトを実行するアプリケーション部32、ゲートウェイ・ネーミング・サービス部34a、ローカル・ディレクトリのIORファイル35及びリモート・ディレクトリのIORファイル36を備えている。尚、ゲートウェイ・ネーミング・サービス部34aにはIORファイル34−1及びIORファイル34−2が備えられている。
【0103】図4の構成のクライアント3aの動作概要は図3の構成のクライアント3aの動作概要と同じである。
【0104】即ち、ゲートウェイ・ネーミング・サービス部34aはサーバ2aからIORのブロードキャストを受け、受けたIORをリモート・ディレクトリのIORファイル36に格納し、IORファイル36に格納したIORをネーミング規則に則ってリネームしてIORファイル34−2に格納する。
【0105】クライアント3aのアプリケーション部32は、ゲートウェイ・ネーミング・サービス部34aのIORファイル34−2に格納されているIORから第一のCORBA下のサーバ2aのオブジェクト・リファレンスを復元する。
【0106】このようにして、第二のCORBA下のクライアント3aのアプリケーション部32は、第一のCORBA下のサーバ2aのアプリケーション部22aのオブジェクト・リファレンスを取得することができる。
【0107】従って、クライアント3aのアプリケーション部32は取得したオブジェクト・リファレンスを参照してサーバ2aのアプリケーション部22aにアクセスすることが可能になるので、異なるCORBA下の装置であるサーバ2aとクライアント3aの間で通信することによってオブジェクトの実行が可能になる。
【0108】そして、サーバ2aとクライアント3aが同一CORBA下の装置である場合にも、サーバ2aが変換して格納したIORをクライアント3aに転送し、転送されたIORをクライアント3aがリネームしてサーバ2aのオブジェクト・リファレンスを復元するので、当然、クライアント3aはサーバ2のオブジェクト・リファレンスを取得可能で、サーバ2aとクライアント3aの間で通信が可能である。
【0109】更に、上記説明では、第一のCORBA下のサーバ2aと第二のCORBA下のクライアント3aの中にネーミング・サービス部が存在しないように記載しているが、これの真の意味は、第一のCORBA下のサブ・システム中と第二のCORBA下のサブ・システム中にネーミング・サービス部が存在しないということである。
【0110】従って、上記は、異なるCORBA下の複数の装置からなるサブ・システムの中にネーミング・サービス部が存在しないクライアント・サーバ・システムであり、このような場合にも異なるCORBA下のサブ・システム間でIORを交換することができることを示している。
【0111】以上で、本発明の4つの実施の形態について、サーバの構成、クライアントの構成及びクライアント・サーバ・システムの構成と機能について説明した。各々の説明を総合的に解釈すると、サーバに備えられるゲートウェイ・ネーミング・サービス部の動作とクライアントに備えられるゲートウェイ・ネーミング・サービス部の動作も、ネーミング・サービス部が備えられているか否かで異なるだけであるから、サーバに備えられるゲートウェイ・ネーミング・サービス部の動作は1つのフローチャートに統合でき、クライアントに備えられるゲートウェイ・ネーミング・サービス部の動作も1つのフローチャートに統合できる。以降、統合されたフローチャートによってサーバに備えられるゲートウェイ・ネーミング・サービス部の動作とクライアントに備えられるゲートウェイ・ネーミング・サービス部の動作を説明する。
【0112】図6は、サーバ側ゲートウェイ・ネーミング・サービス部の動作である。以降、図6の符号にそって説明する。
【0113】S1.当該サーバ内でネーミング・サービス部が稼働しているか否かを判定する。
【0114】ここで、「当該サーバ内でネーミング・サービス部が稼働しているか否か」は若干正確さを欠く表現で、「当該サーバが属するCORBAしたでネーミング・サービス部が稼働しているか否か」とする方が正確であるが、図1乃至図5の表現に合わせているために、「当該サーバ内でネーミング・サービス部が稼働しているか否か」と記載している。以降も、同様な表現を繰り返し使用するが、上記意味を汲み取って戴きたい。
【0115】S2.ステップS1で、ネーミング・サービス部が稼働していると判定した場合(Yes)には、ネーミング・サービス部に登録されているオブジェクト・リファレンスを収集する。
【0116】S3.収集したオブジェクト・リファレンスをIORに変換して、ゲートウェイ・ネーミング・サービス部内のIORファイルに格納する。
【0117】S4.ステップS3で格納したIORを、リネームしてサーバのローカル・ディレクトリのIORファイルに格納する。
【0118】尚、図5の構成の場合には、上記「サーバの」を「サーバと同じCORBA下の」と読み替えれば正確になる。以降も、同様な表現をするが、上記意味を汲み取って戴きたい。
【0119】S5.ステップS1で、当該サーバ内でネーミング・サービス部が稼働していないと判定した場合(No)には、当該サーバ内のアプリケーション部のIORファイルからIORを収集する。
【0120】S6.収集したIORをリネームしてサーバのローカル・ディレクトリのIORファイルに格納する。
【0121】S7.ステップS4又はステップS6の処理を終了した後、クライアントに対してIORをブロードキャストする。
【0122】以上が、サーバの立ち上げ時のゲートウェイ・ネーミング・サービス部の処理である。
【0123】S8.所定時間のスリープ状態を経過した後、当該サーバ内でネーミング・サービス部が稼働しているか否かを判定する。
【0124】S9.ステップS8で、当該サーバ内でネーミング・サービス部が稼働していると判定した場合(Yes)には、当該サーバのネーミング・サービス部のオブジェクト・リファレンスを収集する。
【0125】S10.収集したオブジェクト・リファレンスをIORに変換して、ゲートウェイ・ネーミング・サービス部内のIORファイルに格納する。
【0126】S11.ゲートウェイ・ネーミング・サービス部内のIORファイルの格納内容と、サーバのローカル・ディレクトリのIORファイルの格納内容を比較する。
【0127】これは、オブジェクト自体を保有するサーバが絶対不変ではなく、何らかの理由で当初とは異なるサーバに移管されることがありうるため、オブジェクト・リファレンスが変化する可能性を考慮して、ローカル・ディレクトリのIORファイルに先に格納されたIORと現在のオブジェクト・リファレンスから変換したIORを比較するものである。
【0128】S12.ステップS11での比較の結果、IORが変わったか否か判定する。
【0129】IORが変わらなかったと判定した場合(Yes)には、スリープ状態に移行する。
【0130】S13.ステップS12で、IORが変わったと判定した場合(Yes)には、ゲートウェイ・ネーミング・サービス部内のIORファイルの格納内容をサーバのローカル・ディレクトリのIORファイルに上書きする。
【0131】S14.ステップS8で、当該サーバでネーミング・サービス部が稼働していないと判定した場合(No)には、アプリケーション部のIORファイルに格納されているIORを収集してゲートウェイ・ネーミング・サービス部内のIORファイルに格納する。
【0132】S15.ゲートウェイ・ネーミング・サービス部内のIORファイルの格納内容と、サーバのローカル・ディレクトリのIORファイルの格納内容を比較する。
【0133】比較を行なう理由は、既に説明した通りである。
【0134】S16.ステップS15での比較の結果、IORが変わったか否か判定する。
【0135】S17.ステップS16で、IORに変化があったと判定した場合(Tes)には、ゲートウェイ・ネーミング・サービス部内のIORファイルの格納内容をサーバのローカル・ディレクトリのIORファイルに上書きする。
【0136】S18.ステップS13又はステップS17で上書きした後、クライアントに対してブロードキャストを行なう。
【0137】その後は、再びスリープ状態に入り、以降は、ステップS8乃至ステップS18の処理を繰り返し行なう。即ち、ステップS8以降ステップS18の処理はサーバ側のゲートウェイ・ネーミング・サービス部の定周期の動作で、これによって、クライアント側は常に新しいオブジェクト・リファレンスの情報を得ることができる。
【0138】図7は、クライアント側ゲートウェイ・ネーミング・サービス部の動作である。以降、図7の符号に沿って説明する。
【0139】S31.動作開始時にタイマーを起動する。
【0140】そして、サーバからのブロードキャスト又はタイマーがタイムアウトとなるのを待つ。
【0141】S32.サーバからブロードキャストがあったか否かを判定する。上記の如く、ブロードキャスト又はタイムアウトを待っているので、割込みがあって且つブロードキャストによる割込みではない場合にはタイムアウトによる割込みがあったことになる。
【0142】S33.ステップS32で、ブロードキャストがあったと判定した場合(Yes)には、当該クライアントでネーミング・サービス部が稼働しているか否かを判定する。
【0143】S34.ステップS33で、ネーミング・サービス部が稼働していると判定した場合(Yes)には、ブロードキャスト通知してきた装置のローカル・ディレクトリのIORファイルに格納されているIORをFTPにて取得する。
【0144】S35.獲得したIORをリネームしてクライアントのリモート・ディレクトリのIORファイルに格納する。
【0145】S36.獲得したIORをオブジェクト・リファレンスに変換する。
【0146】S37.変換したオブジェクト・リファレンスをクライアント側のネーミング・サービス部に登録して、ブロードキャスト待ち又はタイムアウト待ちの状態に移行する。
【0147】S38.ステップS33で、ネーミング・サービス部が稼働していないと判定した場合(No)には、通知してきた装置のローカル・ディレクトリのIORファイルに格納されているIORをFTPにて取得する。
【0148】S39.取得したIORをリネームして格納する。
【0149】S40.ステップS39でリネームしたIORをクライアント側のリモート・ディレクトリのIORファイルに格納して、ブロードキャスト待ち又はタイムアウト待ちの状態に移行する。
【0150】上記ステップS33乃至S40がクライアントの定周期動作である。
【0151】S41.一方、ステップS32で、ブロードキャスト通知でなく、タイムアウトであると判定した場合(No)には、当該クライアントでネーミング・サービス部が稼働しているか否かを判定する。
【0152】S42.ステップS41で、ネーミング・サービス部が稼働していると判定した場合(Yes)には、クライアント側のリモート・ディレクトリのIORファイルに格納されているIORからオブジェクト・リファレンスを復元する。
【0153】S43.復元したオブジェクト・リファレンスをネーミング・サービス部に登録する。
【0154】S44.ステップS41で、ネーミング・サービス部が稼働していないと判定した場合(No)には、クライアントのリモート・ディレクトリのIORファイルに格納されているIORをリネームする。
【0155】そして.ステップS43又はステップS44を終了した後、ステップS31に戻る。
【0156】上記ステップS41乃至ステップS44の処理がタイムアウト後の処理である。
【0157】図5は、本発明の第五の実施の形態で、サーバとクライアントの双方でネーミング・サービス部が稼働している場合で、サーバ及びクライアントと独立にゲートウェイ・ネーミング・サービス機能が存在する場合の、サーバの構成とクライアントの構成、ゲートウェイ・ネーミング・サービス装置の構成及びクライアント・サーバ・システムの構成を示すものである。尚、図1では、サーバとクライアントは互いに異なるCORBA下の装置であることを想定している。
【0158】図5において、1はクライアント・サーバ・システム内のネットワークである。
【0159】2bは、第一のCORBA下のサーバで、サーバ2b内のバス21、オブジェクトを実行するアプリケーション部22及びネーミング・サービス部23を備えている。
【0160】3bは、第二のCORBA下のクライアントで、クライアント3b内のバス31、オブジェクトを実行するアプリケーション部32及びネーミング・サービス部33を備えている。
【0161】4は、ゲートウェイ・ネーミング・サービス装置で、ゲートウェイ・ネーミング・サービス装置内のバス41、第一のCORBAに対応するゲートウェイ・ネーミング・サービス部42、ローカル・ディレクトリのIORファイル43、リモート・ディレクトリのIORファイル44、第二のCORBAに対応するゲートウェイ・ネーミング・サービス部42a、ローカル・ディレクトリのIORファイル43a及びリモート・ディレクトリのIORファイル44aを備えている。
【0162】尚、ゲートウェイ・ネーミング・サービス部42はIORファイル42−1を備え、ゲートウェイ・ネーミング・サービス部42aはIORファイル42−1aを備えている。
【0163】図5の構成の動作概要は下記の通りである。
【0164】第一のCORBA下のサーバ2bにおいて、アプリケーション部22はオブジェクト・リファレンスをネーミング・サービス部23に登録している。
【0165】ゲートウェイ・ネーミング・サービス装置4において、ゲートウェイ・ネーミング・サービス部42は、サーバ2bのネーミング・サービス部23に登録されている第一のCORBAで有効なオブジェクト・リファレンスを収集し、IORに変換し、リネームしてIORファイル42−1に一旦格納、IORファイル42−1に格納しているIORをリネームしてローカル・ディレクトリのIORファイル43に格納し、ゲートウェイ・ネーミング・サービス装置4内のバスを介してブロードキャストにてリモート・ディレクトリのIORファイル44aに転送する。
【0166】ゲートウェイ・ネーミング・サービス部42aは、リモート・ディレクトリのIORファイル44aに格納されたIORをオブジェクト・リファレンスに変換し、変換したオブジェクト・リファレンスを第二のCORBA下のクライアントのネーミング・サービス部33に登録する。
【0167】第二のCORBA下のクライアント3bにおいて、アプリケーション部32は、ネーミング・サービス部33に登録されたオブジェクト・リファレンスを取得し、取得したオブジェクト・リファレンスを参照して第一のCORBA下のサーバ2bのアプリケーション部22にアクセスすることが可能になるので、異なるCORBA下の装置であるサーバ2bとクライアント3bの間で通信することによってオブジェクトの実行が可能になる。
【0168】そして、サーバ2bとクライアント3bが同一CORBA下の装置である場合にも、サーバ2bが変換して格納したIORを第二のCORBA側に転送し、転送されたIORをゲートウェイ・ネーミング・サービス部42aがサーバ2bのオブジェクト・リファレンスに復元するので、当然、クライアント3bはサーバ2bのオブジェクト・リファレンスを取得可能で、サーバ2bとクライアント3bの間で通信が可能である。
【0169】上記では、リモート・ディレクトリのIORファイル44とローカル・ディレクトリのIORファイル43aが使用されないかのようであるが、これらは、上記でクライアントであると定義した装置がサーバとなり、上記でサーバであると定義した装置がクライアントになる場合に使用される。そして、サーバであると定義された装置の動作は上記と同じであり、クライアントであると定義された装置の動作も上記と同じである。
【0170】上記の如く、ゲートウェイ・ネーミング・サービス部を独立な装置に集約する場合でも、ゲートウェイ・ネーミング・サービス部としての動作は本質的には変わりがないが、若干の違いもあるので、以降、ゲートウェイ・ネーミング・サービス部が独立装置として存在する場合の、サーバ側のゲートウェイ・ネーミング・サービス部とクライアント側のゲートウェイ・ネーミング・サービス部の動作をフローチャートによって説明する。ただ、既に行なった説明との重複になる部分が多いので、説明は簡単にしたい。
【0171】図8は、ゲートウェイ・ネーミング・サービス装置のサーバ側ゲートウェイ・ネーミング・サービス部の動作(その2)である。
【0172】S51.サーバからIPアドレス、ホスト名の通知を受ける。
【0173】S52.ネーミング・サービス部よりオブジェクト・リファレンスを獲得する。
【0174】S53.獲得したオブジェクト・リファレンスをIORに変換する。
【0175】S54.IORをサーバ側のローカル・ディレクトリのIORファイルに格納する。
【0176】S55.IORをクライアント側のリモート・ディレクトリのIORファイルに格納する。
【0177】以上ステップS52乃至ステップS55が、サーバ立ち上げ時のネーミング・サービス装置のサーバ側のゲートウェイ・ネーミング・サービス部の処理である。
【0178】そして、一旦スリープ状態に入る。
【0179】S56.ネーミング・サービス部よりオブジェクト・リファレンスを獲得する。
【0180】S57.獲得したオブジェクト・リファレンスをIORに変換する。
【0181】S58.IORが変わっているか否かを判断する。
【0182】変わっていない場合(No)には、スリープ状態に戻る。
【0183】S59.ステップS58で、IORが変わっていると判断された場合(Yes)には、ステップS57で新たに変換したIORをサーバ側のローカル・ディレクトリのIORファイルに格納する。
【0184】S60.IORをクライアント側のリモート・ディレクトリのIORファイルに格納する。
【0185】以上ステップS55乃至ステップS60が、ゲートウェイ・ネーミング・サービス装置のサーバ側ゲートヲェイ・ネーミング・サービス部の定周期での処理である。
【0186】そして、再びスリープ状態に入る。
【0187】図9は、ゲートウェイ・ネーミング・サービス装置のクライアント側ゲートウェイ・ネーミング・サービス部の動作(その2)である。
【0188】当初は待ち状態にある。
【0189】S71.クライアント側のリモート・ディレクトリのIORファイルに格納されているIORをオブジェクト・リファレンスに変換する。
【0190】S72.変換されたオブジェクト・リファレンスをクライアントのネーミング・サービス部に登録する。
【0191】そして、再び待ち状態に入る。
【0192】以上が、ゲートウェイ・ネーミング・サービス装置のクライアント側ゲートヲェイ・ネーミング・サービス部の登録動作である。
【0193】
【発明の効果】以上詳述した如く、本発明により、異なるCORBAに準拠するサーバ及びクライアントの間においても、オブジェクト・リファレンスをクライアントに提供できるサーバ、オブジェクト・リファレンスをサーバから受けることができるクライアント、及び、オブジェクト・リファレンスを送受信できるクライアント・サーバ・システムを実現することができる。
【0194】即ち、第一の発明によれば、サーバのゲートウェイ・ネーミング・サービス部が、当該サーバでネーミング・サービス部が稼働している場合にはネーミング・サービス部からオブジェクト・リファレンスを収集し、収集したオブジェクト・リファレンスをIORに変換し、変換したIORをクライアントにブロードキャスト通知し、当該サーバでネーミングが稼働していない場合にはアプリケーション部のIORファイルからIORを収集し、収集したIORをクライアントにブロードキャスト通知する。
【0195】従って、サーバにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、サーバとクライアントの間ではテキスト形式のIORを転送すればよく、サーバとクライアントが如何なるCORBA下の装置であってもオブジェクト・リファレンスの転送が可能になる結果、サーバとクライアント間の間で実質的にオブジェクト・リファレンスの転送が可能になる。
【0196】又、第二の発明によれば、クライアントのゲートウェイ・ネーミング・サービス部が、当該クライアントでネーミング・サービス部が稼働している場合にはサーバから転送を受けたIORをオブジェクト・リファレンスに復元してネーミング・サービス部に登録し、当該クライアントでネーミング・サービス部が稼働していない場合にはサーバから転送を受けたIORをリネームする。
【0197】従って、クライアントにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、クライアントはIORの転送を受けて、該IORからオブジェクト・リファレンスを復元するか、該IORをリネームするかが可能になるので、サーバとクライアントが如何なるCORBA下の装置であっても実質的にオブジェクト・リファレンスの取得が可能になる。
【0198】更に、第三の発明によれば、サーバのゲートウェイ・ネーミング・サービス部は、当該サーバでネーミング・サービス部が稼働している場合にはネーミング・サービス部からオブジェクト・リファレンスを収集し、収集したオブジェクト・リファレンスをIORに変換し、変換したIORをクライアントにブロードキャスト通知し、当該サーバでネーミングが稼働していない場合にはアプリケーション部のIORファイルからIORを収集し、収集したIORをクライアントにブロードキャスト通知する。又、クライアントのゲートウェイ・ネーミング・サービス部は、当該クライアントでネーミング・サービス部が稼働している場合にはサーバから転送を受けたIORをオブジェクト・リファレンスに復元してネーミング・サービス部に登録し、当該クライアントでネーミング・サービス部が稼働していない場合にはサーバから転送を受けたIORをリネームする。
【0199】従って、サーバにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、サーバとクライアントの間ではテキスト形式のIORを転送すればよく、サーバとクライアントが如何なるCORBA下の装置であってもオブジェクト・リファレンスの転送が可能になる結果、サーバとクライアント間の間で実質的にオブジェクト・リファレンスの転送が可能になり、クライアントにおけるネーミング・サービス部の稼働、非稼働の如何を問わず、クライアントはIORの転送を受けて、該IORからオブジェクト・リファレンスを復元するか、該IORをリネームするので、サーバとクライアントが如何なるCORBA下の装置であってもクライアントは実質的にオブジェクト・リファレンスの取得が可能になる。この結果、サーバとクライアントが如何なるCORBA下の装置であってもサーバとクライアントの間で通信が可能になる。
【出願人】 【識別番号】000005223
【氏名又は名称】富士通株式会社
【出願日】 平成12年10月24日(2000.10.24)
【代理人】 【識別番号】100108202
【弁理士】
【氏名又は名称】野澤 裕
【公開番号】 特開2002−132740(P2002−132740A)
【公開日】 平成14年5月10日(2002.5.10)
【出願番号】 特願2000−324090(P2000−324090)