(57)【特許請求の範囲】
【請求項１】
ファイアウォール外部のクライアントコンピュータからネットワークを介してファイアウォール内部のサーバコンピュータへの直接アクセスを抑止するファイアウォール機能を有する中継コンピュータを備え、前記クライアントコンピュータが使用するクライアントプログラムを前記中継コンピュータを介して前記サーバコンピュータから転送して実行するシステムにおいて、
前記サーバコンピュータが、前記クライアントプログラムを前記サーバコンピュータから前記クライアントコンピュータに中継転送するための前記中継コンピュータにおける中継用のスタブオブジェクトおよびスケルトンオブジェクトを、前記中継コンピュータを介した前記クライアントコンピュータからのクライアントプログラム入手要求時に前記中継コンピュータに転送する転送手段を備えることを特徴とするコンピュータシステム。
【請求項２】
前記転送手段は、前記スタブオブジェクトおよびスケルトンオブジェクトに加え、前記サーバコンピュータのサーバプログラムへのアクセスチェックを行うためのアクセス制御情報を前記中継コンピュータに転送することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記中継コンピュータに転送されたスケルトンオブジェクトは、クライアントコンピュータのクライアントプログラムからの通信を受信した時に前記サーバプログラムへアクセス可能であるか否かを前記アクセス制御情報に基づいて判定し、アクセス不可の場合にはサーバプログラムに対して中継を行わないことを特徴とする請求項２に記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネットやイントラネットなどの様々なネットワーク上に存在するクライアントコンピュータが、サーバコンピュータからクライアントプログラムを入手し、サーバコンピュータで稼働するサーバオブジェクトプログラムとの間で分散オブジェクト通信技術を使用して通信を行う際に、Ｆｉｒｅｗａｌｌコンピュータなどによって物理的にネットワークが分離されている場合に、Ｆｉｒｅｗａｌｌコンピュータ上で分散オブジェクト間通信を中継する中継プログラムを、クライアントコンピュータがクライアントプログラムを入手する時に自動的に構築（インストール）し、その中継プログラムがサーバオブジェクトプログラムへのアクセス制御を行うことで、Ｆｉｒｅｗａｌｌコンピュータとサーバコンピュータ間の通信量を削減するために適用して有効な分散オブジェクト間通信の中継技術に関するものである。
【０００２】
【従来の技術】
ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サービスの発展によって、ＷＷＷブラウザを使用してサーバアプリケーションにアクセスして情報を入手するプログラムが実現され、遠隔地からＦｉｒｅｗａｌｌ（不正アクセスを防ぐための防火壁と呼ばれるセキュリティシステム）によって分離されたサーバコンピュータ上のプログラムに通信できる環境が整ってきている。
【０００３】
例えば、ＷＷＷブラウザ上で見ることができるＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルをＷＷＷサーバから入手するための通信プロトコルであるＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を中継するためのものとして、電子総合技術研究所の佐藤豊氏が開発した「ｄｅｌｅｇａｔｅ」がある。「ｄｅｌｅｇａｔｅ」は、ＨＴＴＰだけでなくＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＮＮＴＰ（Ｎｅｔｗｏｒｋ  Ｎｅｗｓ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ），ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのインターネットで標準的に使われるプロトコルの中継を行うプログラムである。これは、Ｆｉｒｅｗａｌｌコンピュータ上で稼働し、クライアントコンピュータからサーバコンピュータを指定した通信を一旦受信し、指定されたサーバコンピュータに接続してクライアントコンピュータからの要求をサーバアプリケーションに中継し、サーバアプリケーションからの結果を受信してクライアントプログラムに返却するというものである。
【０００４】
また、米国Ｂｏｒｌａｎｄ社のＯＲＢ製品であるＶｉｓｉｂｒｏｋｅｒはＣＯＲＢＡ準拠製品であり、ＣＯＲＢＡの通信プロトコルであるＩＩＯＰを中継する  Ｇａｔｅｋｅｅｐｅｒというプログラムを提供している。これによって、クライアントプログラムから分散オブジェクト間通信を利用してサーバコンピュータに接続しようとした場合に、一旦Ｇａｔｅｋｅｅｐｅｒプログラムが通信を受信して、通信対象であるサーバアプリケーションのスケルトンオブジェクトとの通信を可能としている。
【０００５】
以上で説明したプログラムは、Ｆｉｒｅｗａｌｌ上で稼働するプログラムであり、クライアントプログラムからサーバプログラムへの接続可否に関わらず常時稼働しており、どのクライアントコンピュータからどのサーバコンピュータにアクセスできるかを管理する機能は提供している。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来技術にあっては、Ｆｉｒｅｗａｌｌコンピュータ上に中継用のプログラムが常時稼働状態で待機しているため、メモリ、ＣＰＵが無駄に消費されているという問題がある。
【０００７】
また、クライアントプログラムとサーバプログラム間の分散オブジェクト間通信を中継する際には、中継プログラムは接続して来たクライアントアプリケーションのスタブオブジェクトや、サーバアプリケーションのスケルトンオブジェクトの内容を全く知らずに、ただ通信されるデータを中継するだけである。そのため、サーバプログラムを利用することが許可されていないユーザがクライアントコンピュータからアクセスしてきても、一旦サーバプログラムへデータを中継して、サーバプログラムがアクセスを拒否した結果をクライアントコンピュータに通信しなければならない。したがって、サーバプログラムを利用することが許可されていないユーザがサーバプログラムに対してアクセスした場合には、無駄な通信と中継処理が行われることになってしまうという問題がある。
【０００８】
本発明の第１の目的は、Ｆｉｒｅｗａｌｌコンピュータ上にサーバプログラムへの中継用のプログラムが常時稼働していることによるメモリ、ＣＰＵの無駄な消費を防ぐことが可能な分散オブジェクト間中継システムを提供することである。
【０００９】
本発明の第２の目的は、サーバプログラムに対しアクセスが許可されていないユーザからサーバプログラムへの通信を中継せず、無駄な通信を削減することが可能な分散オブジェクト間中継システムを提供することである。
【００１０】
【課題を解決するための手段】
本発明は、上記目的を達成するために、ファイアウォール外部のクライアントコンピュータからネットワークを介してファイアウォール内部のサーバコンピュータへの直接アクセスを抑止するファイアウォール機能を有する中継コンピュータを備え、前記クライアントコンピュータが使用するクライアントプログラムを前記中継コンピュータを介して前記サーバコンピュータから転送して実行するシステムにおいて、前記サーバコンピュータが、前記クライアントプログラムを前記サーバコンピュータから前記クライアントコンピュータに中継転送するための前記中継コンピュータにおける中継用のスタブオブジェクトおよびスケルトンオブジェクトを、前記中継コンピュータを介した前記クライアントコンピュータからのクライアントプログラム入手要求時に前記中継コンピュータに転送する転送手段を備えることを特徴とする。
【００１１】
また、前記転送手段は、前記スタブオブジェクトおよびスケルトンオブジェクトに加え、前記サーバコンピュータのサーバプログラムへのアクセスチェックを行うためのアクセス制御情報を前記中継コンピュータに転送することを特徴とする。
また、前記中継コンピュータに転送されたスケルトンオブジェクトは、クライアントコンピュータのクライアントプログラムからの通信を受信した時に前記サーバプログラムへアクセス可能であるか否かを前記アクセス制御情報に基づいて判定し、アクセス不可の場合にはサーバプログラムに対して中継を行わないことを特徴とする。
【００１２】
【発明の実施の形態】
以下、本発明のー実施形態を図面を用いて説明する。
【００１３】
図１は、本発明の一実施の形態を示すシステム構成図である。
【００１４】
この実施形態のシステムは、大別すると、クライアントコンピュータ１と、サーバコンピュータ２と、Ｆｉｒｅｗａｌｌコンピュータ３と、クライアントコンピュータ１とＦｉｒｅｗａｌｌコンピュータ３間で送受信されるデータを通信するためのネットワーク４と、Ｆｉｒｅｗａｌｌコンピュータ３とサーバコンピュータ２間で送受信されるデータを通信するためのネットワーク５とから構成されている。
【００１５】
クライアントコンピュータ１は、ＣＰＵ１１Ａ、メモリ１１Ｂからなる端末装置１１、クライアントプログラムをサーバコンピュータ２から入手して実行するブラウザプログラム１２Ａが格納されている外部記憶装置１２と、サーバプログラムの実行結果を表示するための表示装置１３と、ブラウザプログラム１２Ａの起動の指示や、クライアントプログラム実行時にユーザ名称やパスワードの入力を行うための入力装置１４と通信ポート１５とから構成されている。
【００１６】
サーバコンピュータ２は、ＣＰＵ２１Ａ、メモリ２１Ｂからなる端末装置２１と、クライアントコンピュータ１からのプログラム入手要求を受け付けるプログラム転送サーバプログラム２２Ａ、サーバオブジェクトプログラム２２Ｂ、スケルトンオブジェクトプログラム２２Ｃ、クライアントオブジェクトプログラム２２Ｄ、スタブオブジェクトプログラム２２Ｅ、サーバオブジェクトに対するアクセス制御情報を記述したアクセス制御ファイル２２Ｆ、スタブオブジェクトプログラムとスケルトンオブジェクトプログラム、アクセス制御ファイルの対応を記述したプログラム構成管理ファイル２２Ｇをが格納されている外部記憶装置２２と、通信ポート２３とから構成されている。
【００１７】
Ｆｉｒｅｗａｌｌコンピュータ３は、ＣＰＵ３１Ａ、メモリ３１Ｂからなる端末装置３１と、クライアントコンピュータ１からのクライアントプログラム入手要求をサーバコンピュータ２のプログラム転送サーバプログラム２２Ａに中継するためのプログラム入手中継プログラム３２Ａと、サーバコンピュータ２からスタブオブジェクトプログラム２２Ｅとスケルトンオブジェクトプログラム２２Ｃを入手して実行する、分散オブジェクト間通信中継制御プログラム３２Ｂを格納するための外部記憶装置３２と、通信ポート３３とから構成されている。
【００１８】
図２は、本実施形態のクライアントコンピュータ１、Ｆｉｒｅｗａｌｌコンピュータ３、サーバコンピュータ２間でやり取りされる情報の流れと、各コンピュータ上で起動して実行されるプログラムの関連を示したものである。
【００１９】
まず、クライアントコンピュータ１上のブラウザプログラム１２Ａがクライアントプログラム入手依頼をＦｉｒｅｗａｌｌコンピュータ３上のプログラム入手中継プログラム３２Ａに送信する（２０１）。
【００２０】
プログラム入手中継プログラム３２Ａは、ブラウザプログラム１２Ａからの指示にしたがって、入手したいクライアントプログラムを格納しているサーバコンピュータ２上のプログラム転送サーバプログラム２２Ａにクライアントプログラムの入手依頼を中継する（２０２）。
【００２１】
プログラム転送サーバプログラム２２Ａは、プログラム構成管理ファイル２２Ｇを参照し、転送すべきクライアントオブジェクトプログラム２２Ｄ、スタブオブジェクトプログラム２２Ｅ、スケルトンオブジェクトプログラム２２Ｃを判断する（２０３）。
【００２２】
プログラム転送サーバプログラム２２Ａは、外部記憶装置２２からクライアントオブジェクトプログラム２２Ｄ、スタブオブジェクトプログラム２２Ｅ、スケルトンオブジェクトプログラム２２Ｃに加え、アクセス制御ファイル２２Ｆを取り出し、Ｆｉｒｅｗａｌｌコンピュータ３上のプログラム入手中継プログラム３２Ａに返送する（２０４、２０４’）。
【００２３】
プログラム入手中継プログラム３２Ａは、プログラム転送サーバプログラム２２Ａから送信されてきたスケルトンオブジェクトプログラム２２Ｃとスタブオブジェクトプログラム２２Ｅ、アクセス制御ファイル２２Ｆを外部記憶装置３２中に格納し、分散オブジェクト間通信中継制御プログラム３２Ｂが、オブジェクトを生成して接続を待っている（２０５）。
【００２４】
プログラム入手中継オブジェクト３２Ａは、スタブオブジェクトプログラム２２Ｅとクライアントオブジェクトプログラム２２Ｄをクライアントコンピュータ１のブラウザプログラム１２Ａに返送する（２０６、２０６’）。
【００２５】
ブラウザプログラム１２Ａは、クライアントオブジェクトプログラム２２Ｄ’を起動し、クライアントオブジェクトプログラム２２Ｄ’がサーバオブジェクトプログラム２２Ｂと通信を必要とした時にスタブオブジェクトプログラム２２Ｅ’を呼び出す（２０７）。
【００２６】
スタブオブジェクトプログラム２２Ｅ’は、ネットワーク４経由でＦｉｒｅｗａｌｌコンピュータ３上のスケルトンオブジェクトプログラム２２Ｃ’に対して、ユーザ認証情報（ユーザ名とパスワードなど）を追加して呼び出す（２０８）。
【００２７】
Ｆｉｒｅｗａｌｌコンピュータ３上のスケルトンオブジェクトプログラム２２Ｃ’は、分散オブジェクト間通信中継制御プログラム３２Ｂにユーザ認証情報を渡し、アクセス制御ファイル２２Ｆ’の内容をチェックしてもらい（２０９）、チェックした結果を入手する（２１０）。
【００２８】
チェックした結果、サーバオブジェクトプログラム２２Ｂへのアクセスが出来ないユーザであれば、アクセス拒否のメッセージをクライアントコンピュータ１のスタブオブジェクトプログラム２２Ｅ’に返却する（２１５）。
【００２９】
アクセス可能であれば、Ｆｉｒｅｗａｌｌコンピュータ３内のスタブオブジェクトプログラム２２Ｅ’を呼び出す（２１１）。
【００３０】
Ｆｉｒｅｗａｌｌコンピュータ３内のスタブオブジェクトプログラム２２Ｅ’は、ネットワーク５経由でサーバコンピュータ２上のスケルトンオブジェクトプログラム２２Ｃを呼び出す（２１２）。
【００３１】
スケルトンオブジェクトプログラム２２Ｃは、サーバオブジェクトプログラム２２Ｂを実行して、結果をネットワーク５経由でＦｉｒｅｗａｌｌコンピュータ３上のスタブオブジェクトプログラム２２Ｅ’に返却する（２１３）。
【００３２】
Ｆｉｒｅｗａｌｌコンピュータ３上のスタブオブジェクトプログラム２２Ｅ’は、スケルトンオブジェクトプログラム２２Ｃ’に結果を返却し（２１４）、スケルトンオブジェクトプログラム２２Ｃ’は、クライアントコンピュータ１上のスタブオブジェクトプログラム２２Ｅ’に値を返却する（２１５）。
【００３３】
クライアントコンピュータ１上のスタブオブジェクトプログラム２２Ｅ’がクライアントオブジェクトプログラム２２Ｄ’に値を返却し（２１６）、分散オブジェクト通信中継を使用したサーバオブジェクトプログラム２２Ｂへの呼出しが終了する。
【００３４】
図３は、本実施形態のＦｉｒｅｗａｌｌコンピュータ３上で稼働するスケルトンオブジェクトプログラム２２Ｃ’がクライアントオブジェクトプログラム２２Ｄ’からの接続に対してアクセス制御を行うために、サーバコンピュータ２上に格納しておくアクセス制御ファイル２２Ｆの例を示したものである。
【００３５】
図示する例のアクセス制御ファイル２２Ｆには、［ＵＳＥＲＰＡＳＳ］が書かれた次の行からは、ユーザ名称３０１と、そのユーザのパスワードが暗号化されたもの（３０２）が空白（スペースまたはタブ）で区切られて１行ごとに対になって記述されている。
【００３６】
また、［ＯＢＪＡＣＬ］が書かれた次の行からは、サーバオブジェクトプログラム２２Ｂの名前３０３と、サーバオブジェクトプログラム２２Ｂにアクセス可能なクライアントコンピュータ１のアドレス３０４、サーバオブジェクトプログラム２２Ｂにアクセス可能なユーザ名称３０５が空白（スペースまたはタブ）で区切られて１行ごとに組になって記述されている。
【００３７】
クライアントコンピュータ１のアドレスは、ＩＰアドレスを直に記したものや、’＊’によってＩＰアドレス群を記したもの、コンピュータの名称を直に記したものや、’＊’によってコンピュータ名称群を記したものが、’，’によって区切られて記載される。
【００３８】
ユーザ名称は、’，’によって区切られて記載される。また、’＊’の場合は全てのユーザがアクセス可能なことを示す。
【００３９】
図４は、サーバコンピュータ２上で稼働するプログラム転送サーバプログラム２２Ａが、クライアントコンピュータ１に転送するクライアントオブジェクトプログラム２２Ｄとスタブオブジェクトプログラム２２Ｅに対応して、Ｆｉｒｅｗａｌｌコンピュータ３に転送するスケルトンオブジェクトプログラム２２Ｃと、サーバオブジェクトプログラム２２Ｂに対するアクセス制御情報を記述したアクセス制御ファイルの関連を記述するプログラム構成管理ファイル２２Ｇの例を示したものである。
【００４０】
図示する例のプログラム構成管理ファイル２２Ｇには、クライアントオブジェクトプログラム２２Ｄの名称４０１、スタブオブジェクトプログラム２２Ｅの名称４０２、それに対応するスケルトンオブジェクトプログラム２２Ｃの名称４０３と、そのスケルトンオブジェクトプログラム２２Ｃからアクセスされるサーバオブジェクトプログラムに関するアクセス制御情報が記載されているアクセス制御ファイル２２Ｆの名称４０４が、空白（スペースまたはタブ）で区切られて１行ごとに組になって記載されている。
【００４１】
以下、フローチャートを用いて、本実施形態の動作を説明する。
【００４２】
図５は、本実施例のクライアントコンピュータ１上で稼動するブラウザプログラム１２Ａの動作を示すフローチャートである。
【００４３】
ブラウザプログラム１２Ａが起動すると、入力装置１４からクライアントオブジェクトプログラム２２Ｄの名称とクライアントオブジェクトプログラム２２Ｄが格納されているサーバコンピュータ２の名称を受け付ける（ステップ５０１）。
【００４４】
次に、Ｆｉｒｅｗａｌｌコンピュータ３のプログラム入手中継プログラム３２Ａに接続し、ステップ５０１で入手したサーバコンピュータ２の名称とクライアントオブジェクトプログラム２２Ｄの名称を送信する（ステップ５０２）。
【００４５】
その結果として、プログラム入手中継プログラム３２Ａからクライアントオブジェクトプログラム２２Ｄ’とスタブオブジェクトプログラム２２Ｅ’を受信する（ステップ５０３）。
【００４６】
次に、受信したクライアントオブジェクトプログラム２２Ｄ’を起動し（ステップ５０４）、スタブオブジェクトプログラム２２Ｅ’経由でＦｉｒｅｗａｌｌコンピュータ３上のスケルトンオブジェクトプログラム２２Ｃ’にユーザ名称とパスワードを送信し、その結果としてサーバオブジェクトプログラム２２Ｂにアクセス可能かどうかの認証結果を受信する（ステップ５０５）。
【００４７】
受信した結果がサーバオブジェクトプログラム２２Ｂにアクセス可能かどうかを判断し（ステップ５０６）、アクセス不可能であった場合はクライアントオブジェクトプログラム２２Ｄ’を終了し（ステップ５０７）、さらにブラウザプログラム１２Ａを終了する。
【００４８】
ステップ５０６の結果がアクセス可能であった場合は、スタブオブジェクトプログラム２２Ｅ’経由でサーバオブジェクトプログラム２２Ｂを呼び出し（ステップ５０８）、結果をスタブオブジェクトプログラム２２Ｅ’から受け取って表示装置１３の画面に表示する（ステップ５０９）。その後、クライアントオブジェクトプログラム終了の指示を受けるまで、ステップ５０８からの処理を繰り返す。
【００４９】
図６は、サーバコンピュータ３上で稼動するプログラム転送サーバプログラム２２Ａの動作を示すフローチャートである。
【００５０】
プログラム転送サーバプログラム２２Ａが起動すると、Ｆｉｒｅｗａｌｌコンピュータ３上で稼働しているプログラム入手中継プログラム３２Ａからの接続を受け（ステップ６０１）、入手したいクライアントオブジェクトプログラム２２Ｄの名称を受信する（ステップ６０２）。その後、図４に示したプログラム構成管理ファイル２２Ｇからクライアントオブジェクトプログラム２２Ｄと同時に転送すべきスタブオブジェクトプログラム２２Ｅとスケルトンオブジェクトプログラム２２Ｃ、アクセス制御ファイル２２Ｆの名称を入手し（ステップ６０３）、プログラム入手中継プログラム３２Ａへ転送し（ステップ６０４）、ステップ６０１から繰り返す。
【００５１】
図７は、Ｆｉｒｅｗａｌｌコンピュータ３上で稼動するプログラム入手中継プログラム３２Ａの動作を示すフローチャートである。
【００５２】
プログラム入手中継プログラム３２Ａが起動すると、クライアントコンピュータ１上で稼働しているブラウザプログラム１２Ａから接続を受け（ステップ７０１）、ブラウザプログラム１２Ａが入手したいクライアントオブジェクトプログラム２２Ｄの名称を受信する（ステップ７０２）。次に、サーバコンピュータ３上で稼働しているプログラム転送サーバプログラム２２Ａに接続し、先ほど受信したクライアントオブジェクトプログラム２２Ｄの名称を送信する（ステップ７０３）。その結果として、プログラム転送サーバプログラム２２Ａから、クライアントオブジェクトプログラム２２Ｄ’、スタブオブジェクトプログラム２２Ｅ’、スケルトンオブジェクトプログラム２２Ｃ’、アクセス制御ファイル２２Ｆ’を受信する（ステップ７０４）。
【００５３】
受信したオブジェクトプログラムのうち、スタブオブジェクトプログラム２２Ｅ’、スケルトンオブジェクトプログラム２２Ｃ’、アクセス制御ファイル２２Ｆ’は、外部記憶装置３２中に格納し（ステップ７０５）、分散オブジェクト間通信中継制御プログラム３２Ｂにスケルトンオブジェクトプログラム２２Ｃ’とスタブオブジェクトプログラム２２Ｅ’、アクセス制御ファイル２２Ｆ’を入手したことを通知する（ステップ７０６）。その後、クライアントオブジェクトプログラム２２Ｄ’とスタブオブジェクトプログラム２２Ｅ’をブラウザプログラム１２Ａに転送し（ステップ７０７）、ステップ７０１から繰り返す。
【００５４】
図８は、Ｆｉｒｅｗａｌｌコンピュータ上で稼動する分散オブジェクト間通信中継制御プログラム３２Ｂの動作を示すフローチャートである。
【００５５】
分散オブジェクト間通信中継制御プログラム３２Ｂが起動すると、プログラム入手中継プログラム３２Ａまたはスタブオブジェクトプログラム２２Ｅからの接続を待つ（ステップ８０１）。プログラム入手中継プログラム３２Ａからの接続かどうかを判断し（ステップ８０２）、そうであれば、スケルトンオブジェクトプログラム２２Ｃ’とスタブオブジェクトプログラム２２Ｅ’、アクセス制御ファイル２２Ｆ’の名称を受信し（ステップ８０３）、外部記憶装置３２に格納された対応するプログラムを起動して（ステップ８０４）、ステップ８０１から繰り返す。スタブオブジェクトプログラム２２Ｅ’からの接続の場合には、クライアントコンピュータ１のアドレス、ユーザ名称、パスワードを受信し（ステップ８０５）、アクセス制御ファイル２２Ｆ’を読み込んでサーバオブジェクトプログラム２２Ｂへのアクセスが可能かどうかを調べる（ステップ８０６）。
【００５６】
次に、調べた結果をＹＥＳ／ＮＯという値でクライアントコンピュータ上のスケルトンオブジェクトプログラム２２Ｅ’に送信し（ステップ８０７）、ステップ８０１から繰り返す。
【００５７】
以上のように、本実施形態のシステムにあっては、サーバコンピュータ２上に、サーバプログラムを構成するサーバオブジェクトプログラム２２Ｂとスケルトンオブジェクトプログラム２２Ｃ、クライアントプログラムを構成するクライアントオブジェクトプログラム２２Ｄとスタブオブジェクトプログラム２２Ｅ、サーバオブジェクトへのアクセス可否を設定するアクセス制御ファイル２２Ｆを用意し、クライアントコンピュータ１からサーバコンピュータ２に対してクライアントプログラム入手の要求がＦｉｒｅｗａｌｌコンピュータ３を経由して行われた時に、クライアントコンピュータ１にクライアントオブジェクトプログラム２２Ｄとスタブオブジェクトプログラム２２Ｅを転送する際に、Ｆｉｒｅｗａｌｌコンピュータ３上にスタブオブジェクトプログラム２２Ｅと、スケルトンオブジェクトプログラム２２Ｃをインストールする。さらに、サーバプログラム２へのアクセス可否を設定したアクセス制御ファイル２２Ｆも同時に転送しておく。
【００５８】
そして、クライアントコンピュータ１がクライアントオブジェクトプログラム２２Ｄ’の実行を始め、分散オブジェクト間通信を使用してクライアントオブジェクトプログラム２２Ｄ’からサーバオブジェクトプログラム２２Ｂのオブジェクトを呼び出す時に、クライアントコンピュータ１上のスタブオブジェクトプログラム２２Ｅ’がＦｉｒｅｗａｌｌコンピュータ３上のスケルトンオブジェクトプログラム２２Ｃ′を呼び出し、そのスケルトンオブジェクトプログラム２２Ｃ’によって、呼出し時に渡されたユーザ名とパスワードなどのユーザを指定する情報や、マシンのアドレスなどの情報を使用して、アクセス制御ファイル２２Ｆ’の内容と比較することでサーバオブジェクトプログラム２２Ｂにアクセス可能かどうかを判断し、アクセス可能な場合は、Ｆｉｒｅｗａｌｌコンピュータ３上のスタブオブジェクトプログラム２２Ｅ’を使って、サーバコンピュータ２上のサーバオブジェクトプログラム２２Ｂ中のスケルトンオブジェクト２２Ｃを呼び出して、サーバオブジェクトプログラム２２Ｂを実行する。サーバオブジェクトプログラム２２Ｂの実行結果は、Ｆｉｒｅｗａｌｌコンピュータ３上のスタブオブジェクトプログラム２２Ｅ’、スケルトンオブジェクトプログラム２２Ｃ’、クライアントコンピュータ１上のスタブオブジェクトプログラム２２Ｅ’を経由して、クライアントオブジェクトプログラム２２Ｄ’に返される。
【００５９】
Ｆｉｒｅｗａｌｌコンピュータ３のスタブオブジェクトプログラム２２Ｅ’によって、サーバオブジェクトプログラム２２Ｂに対してアクセスできないと判断された場合には、この時点でアクセス拒否のメッセージをクライアントコンピュータ１上のスタブオブジェクトプログラム２２Ｅ’を経由してクライアントオブジェクトプログラム２２Ｄ’に返却する。
【００６０】
このような構成にすることにより、Ｆｉｒｅｗａｌｌコンピュータ３上に分散オブジェクト間通信を中継するプログラム（スタブオブジェクトプログラム２２Ｅ’とスケルトンオブジェクトプログラム２２Ｃ’）を事前に設定して常時稼働させておく必要はなく、また、クライアントコンピュータ１がサーバオブジェクトプログラム２２Ｂにアクセスできない場合に、Ｆｉｒｅｗａｌｌコンピュータ３からサーバコンピュータ２への通信を発生させずに済み、不要な通信を削減し、トラフィックの増加を防止することができる。
【００６１】
この場合、Ｆｉｒｅｗａｌｌコンピュータ３上には、プログラム入手中継プログラム３２Ａが常時稼動しているのであるが、このプログラム入手中継プログラム３２Ａはクライアントコンピュータ１からクライアントオブジェクトプログラム２２Ｄの入手要求があった時に、オブジェクトプログラムファイルの転送処理だけを行うものであり、プログラム実行時の通信の中継処理を行うものではないから、常駐によるＣＰＵ資源の消費は分散オブジェクトの汎用的な中継プログラムに比べて極めて小さく、ＣＰＵ資源の無駄な消費を削減できるのである。
【００６２】
また、サーバオブジェクトプログラム２２Ｂに対しアクセスが許可されていないユーザの場合、サーバコンピュータ間の通信が１回行われ、クライアントオブジェクトプログラムを入手できるが、その後のＦｉｒｅｗａｌｌコンピュータ３内におけるユーザ認証によってアクセスが許可されないため、クライアントコンピュータ１とサーバコンピュータ２との間の無駄な通信は無くなる。この場合、中継プログラムが既に構築されている状態で、アクセス権限のないユーザがアクセスを行おうとした場合には、Ｆｉｒｅｗａｌｌコンピュータ３のアクセス制御によって直ちに拒否される。
【００６３】
なお、Ｆｉｒｅｗａｌｌコンピュータ３内にインストールされた中継プログラムは、クライアントコンピュータ１上のクライアントオブジェクトプログラム２２Ｄ’が処理を終了し、スタブオブジェクト２２Ｅ’が、Ｆｉｒｅｗａｌｌコンピュータ３上のスケルトンオブジェクトプログラム２２Ｃ’との接続を切断した時点でメモリ中からアンインストールされる。
【００６４】
【発明の効果】
以上説明したように本発明によれば、Ｆｉｒｅｗａｌｌコンピュータ上にサーバプログラムへの中継用のプログラムが常時稼働していることによるメモリ、ＣＰＵの無駄な消費を防ぐことができる。
【００６５】
また、サーバプログラムに対しアクセスが許可されていないユーザからサーバプログラムへの通信を中継せず、無駄な通信を削減することができる。
【図面の簡単な説明】
【図１】本発明に係る分散オブジェクト間通信中継を使用した分散サービスシステムのブロック構成図である。
【図２】本発明に係るクライアントコンピュータ、Ｆｉｒｅｗａｌｌコンピュータ、サーバコンピュータ間でやり取りされる情報の流れと、各コンピュータ上で起動して実行されるプログラムの関係の例を示す図である。
【図３】本発明に係るＦｉｒｅｗａｌｌコンピュータ上で稼働するスケルトンオブジェクトプログラムがクライアントプログラムからの接続に対してアクセス制御を行うために、サーバコンピュータ上に格納しておくアクセス制御情報の例を示す図である。
【図４】本発明に係わるサーバコンピュータ上に格納されているプログラム構成管理ファイルの例を示す図である。
【図５】本発明に係るクライアントコンピュータ上で稼動するブラウザプログラムの動作を示すフローチャートである。
【図６】本発明に係るサーバコンピュータ上で稼動するプログラム転送サーバプログラムの動作を示すフローチャートである。
【図７】本発明に係るＦｉｒｅｗａｌｌコンピュータ上で稼動するプログラム入手中継プログラムの動作を示すフローチャートである。
【図８】本発明に係るＦｉｒｅｗａｌｌコンピュータ上で稼動する分散オブジェクト間通信中継制御プログラムの動作を示すフローチャートである。
【符号の説明】
１…クライアントコンピュータ１、２…サーバコンピュータ、３…Ｆｉｒｅｗａｌｌコンピュータ、４、５…ネットワーク、１１…端末装置、１１Ａ…ＣＰＵ、１１Ｂ…メモリ、１２…外部記憶装置、１２Ａ…ブラウザプログラム１２Ａ、１３…表示装置、１４…入力装置、１５…通信ポート、２１…端末装置、２１Ａ…ＣＰＵ、２１Ｂ…メモリ、２２…外部記憶装置、２２Ａ…プログラム転送サーバプログラム、２２Ｂ…サーバオブジェクトプログラム、２２Ｃ…スケルトンオブジェクトプログラム、２２Ｄ…クライアントオブジェクトプログラム、２２Ｅ…スタブオブジェクトプログラム、２２Ｆ…アクセス制御ファイル、２２Ｇ…プログラム構成管理ファイル、２３…通信ポート、３１…端末装置、３１Ａ…ＣＰＵ、３１Ｂ…メモリ、３２…外部記憶装置、３２Ａ…プログラム入手中継プログラム、３２Ｂ…分散オブジェクト間通信中継制御プログラム、３３…通信ポート。
【図１】
0003576000.tif 000002
【図２】
0003576000.tif 000003
【図３】
0003576000.tif 000004
【図４】
0003576000.tif 000005
【図５】
0003576000.tif 000006
【図６】
0003576000.tif 000007
【図７】
0003576000.tif 000008
【図８】
0003576000.tif 000009