(57)【特許請求の範囲】
【請求項１】
第１及び第２のコンピュータにおいて実行されるコンピュータ・プログラム間にピア・トゥ・ピア通信接続を確立する方法であって、
Ａ）前記第１のコンピュータで実行されている間に、第１のコンピュータ・プログラムが、前記第２のコンピュータへ通信メッセージを送る段階であって、該メッセージは、ピア・トゥ・ピア通信接続を要求する段階と、
Ｂ）前記第２のコンピュータで前記メッセージを受信し、かつピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第２のコンピュータ・プログラムが前記第２のコンピュータで実行されているか否かを判断する段階と、
Ｃ）段階Ｂがポジティブな判断を結果として生じるとき、前記第２のコンピュータから前記第１のコンピュータへ前記要求を受け入れるという応答メッセージを送る段階と、
Ｄ）前記第１のコンピュータによる前記応答メッセージの受信後、前記第１及び第２のコンピュータ・プログラムの間の前記要求されたピア・トゥ・ピア通信接続を確立する段階と、を具備し、
ピア・トゥ・ピア通信接続を確立するための前記所定の基準は、前記第１及び第２のコンピュータ・プログラムの両方が単一のサーバ・コンピュータから前記それぞれの第１及び第２のコンピュータによって受信された場合であることを特徴とする方法。
【請求項２】
前記段階Ｄは、前記応答メッセージがポジティブ・ディスポジションを示すときに前記第１のコンピュータから前記第２のコンピュータへ前記応答メッセージの肯定応答を送ることを含み、前記応答メッセージの肯定応答の送信と一緒に前記ピア・トゥ・ピア通信接続が確立されることを特徴とする請求項１に記載の方法。
【請求項３】
前記応答メッセージは、前記第２のコンピュータが、ピア・トゥ・ピア通信接続を確立するための前記所定の基準を満たしているコンピュータ・プログラムを実行していることを前記第１のコンピュータに示す情報を含むことを特徴とする請求項１に記載の方法。
【請求項４】
第１のクライアント・コンピュータと、第２のクライアント・コンピュータと、コンピュータ・プログラムのコピーが該第１及び第２のクライアント・コンピュータにダウンロードされる元のサーバ・コンピュータとを有している分散型コンピュータ・システムにおける第１のクライアント・コンピュータにおいて、該第１のクライアント・コンピュータは、
前記第２のコンピュータにおいて実行されている第２のコンピュータ・プログラムからメッセージを受信するための通信手順を実行するバーチャル・マシンを備え、該メッセージは、ピア・トゥ・ピア通信接続を要求するものであり、
前記バーチャル・マシンは、
ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第１のコンピュータ・プログラムが前記第１のコンピュータで実行されているか否かを判断し、かつ前記判断がポジティブであるときに前記第１のコンピュータから前記第２のコンピュータへ前記要求を受け入れるという応答メッセージを送る手段と、
前記第２のコンピュータへの前記応答メッセージの送信後に前記第１及び第２のコンピュータ・プログラムの間に前記要求されたピア・トゥ・ピア通信接続を確立する手段と、を含み、
ピア・トゥ・ピア通信接続を確立するための前記所定の基準は、前記第１及び第２のコンピュータ・プログラムの両方が、単一のサーバ・コンピュータから前記それぞれの第１及び第２のコンピュータによって受信された場合であることを特徴とする第１のクライアント・コンピュータ。
【請求項５】
前記要求されたピア・トゥ・ピア通信接続を確立する前記手段は、前記応答メッセージの肯定応答を前記第２のコンピュータから受信することによってイネーブルされることを特徴とする請求項４に記載のクライアント・コンピュータ。
【請求項６】
前記応答メッセージは、前記第１のコンピュータがピア・トゥ・ピア通信接続を確立するための前記所定の基準を満たしているコンピュータ・プログラムを実行していることを前記第２のコンピュータに示す情報を含むことを特徴とする請求項４に記載のクライアント・コンピュータ。
【請求項７】
第１のクライアント・コンピュータと、第２のクライアント・コンピュータと、コンピュータ・プログラムのコピーが該第１及び第２のクライアント・コンピュータにダウンロードされる元のサーバ・コンピュータとを有している分散型コンピュータ・システムにおける第１のクライアント・コンピュータにおいて、該第１のクライアント・コンピュータは、
前記第１のコンピュータにおいて実行されている第１のコンピュータ・プログラムから前記第２のコンピュータへ要求メッセージを送るための通信手順を実行するバーチャル・マシンを備え、該メッセージは、ピア・トゥ・ピア通信接続を要求するものであり、
前記バーチャル・マシンは、
前記第２のコンピュータから応答メッセージを受信するための手段であって、前記応答メッセージは、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第２のコンピュータ・プログラムが前記第２のコンピュータにおいて実行されているというポジティブ・ディスポジションを示している手段と、
前記第１のコンピュータによる前記応答メッセージの受信後に前記第１及び第２のコンピュータ・プログラムの間に前記要求されたピア・トゥ・ピア通信接続を確立する手段と、を含んでおり、かつ
ピア・トゥ・ピア通信接続を確立するための前記所定の基準は、前記第１及び第２のコンピュータ・プログラムの両方が単一のサーバ・コンピュータから前記それぞれの第１及び第２のコンピュータによって受信された場合であることを特徴とする第１のクライアント・コンピュータ。
【請求項８】
前記バーチャル・マシンは、
前記応答メッセージがポジティブ・ディスポジションを示すときに前記応答メッセージの肯定応答を送るための手段をさらに含み、
前記要求されたピア・トゥ・ピア通信接続を確立するための前記手段は、前記応答メッセージの肯定応答の送信と一緒にイネーブルされることを特徴とする請求項７に記載のクライアント・コンピュータ。
【請求項９】
前記応答メッセージは、前記第２のコンピュータがピア・トゥ・ピア通信接続を確立するための前記所定の基準を満たしているコンピュータ・プログラムを実行していることを第１のコンピュータに示す情報を含むことを特徴とする請求項７に記載のクライアント・コンピュータ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般に、ピア・トゥ・ピア関係を有している二つのソフトウェア・エンティティ間のセキュア通信を確立し、個々のコンピュータまたはバーチャル・マシンで操作することに関し、特に、アプリケーション・プログラムのコピー間の通信チャネルを確立するためのシステム及び方法に関する。
【０００２】
【従来の技術】
用語“アプレット(applets) ”は、コンピュータ・プログラム及びコンピュータ・プログラム・フラグメントを意味するべくここで定義される。
機密制約により、オブジェクト指向型コンピュータ・システムのコンピュータ・プログラムは、クライアント−サーバ方式で通信すべく、通常、制約される。
例えば、サン・マイクロシステムズのＪａｖａ（ジャワ）バーチャル・マシンでは、クライアント・コンピュータで走っている方法がサーバ・コンピュータからアプレットを要求するとき、クライアント・コンピュータのブラウザ・プログラムは、（それから）アプレットが受信されたサーバを示すべく受信したアプレットをマークし、その後、アプレットにアクセス可能な情報を、同じサーバ・コンピュータからの文書（ドキュメント）及び他のアプレットに制限する。更に、ダウンロードされたアプレットは、Ｊａｖａバーチャル・マシンによって、（それから）アプレットがダウンロードされたサーバ上の他のアプレットに対する通信チャネルをオープンすることを許容されるが、一般に他のコンピュータのアプレットに対する通信チャネルをオープンすることができない。
【０００３】
【発明が解決しようとする課題】
二つの別々のコンピュータまたはバーチャル・マシン上で走っているコンピュータ・プログラムの二つのコピーを機密的に通信させることが本発明の目的である。より一般的には、同じ機密ドメインから取得されかつ二つの異なるクライアント・コンピュータ上で実行されている二つのプログラムを機密的に通信させることが本発明の目的である。典型的に、同じ機密ドメインから取得された二つのプログラムは、二つの異なるクライアント・コンピュータに同じサーバ・コンピュータからダウンロードされた二つのプログラムである。多くの場合、二つのプログラムは、二つの異なるクライアント・コンピュータにダウンロードされた同じプログラムの二つのコピーである。
【０００４】
そのようなピア・トゥ・ピア接続を許容するための根拠は、各アプレットがサーバ・コンピュータに対する通信チャネルをオープンすることを許容されており従って他のクライアント・コンピュータに同じサーバ・コンピュータからダウンロードされたアプレットと間接的に通信できるので、通信しているアプレットが両方とも同じサーバ・コンピュータからであるときに十分な機密が供給されることである。
【０００５】
【課題を解決するための手段】
本発明の上記目的は、第１及び第２のコンピュータにおいて実行されるコンピュータ・プログラム間にピア・トゥ・ピア通信接続を確立する方法であって、Ａ）第１のコンピュータで実行されている間、第１のコンピュータ・プログラムが、第２のコンピュータへ通信メッセージを送り、該メッセージは、ピア・トゥ・ピア通信接続を要求し、Ｂ）第２のコンピュータでメッセージを受信し、かつピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第２のコンピュータ・プログラムが第２のコンピュータで実行されているか否かを決定し、Ｃ）段階Ｂがポジティブ（肯定的）な決定を結果として生じるとき、第２のコンピュータから第１のコンピュータへ要求を受け入れている、応答メッセージを送り、かつＤ）第１のコンピュータによる応答メッセージの受信後、第１及び第２のコンピュータ・プログラムの間の要求されたピア・トゥ・ピア通信接続を確立する段階を具備する方法によって達成される。
【０００６】
本発明の方法では、ピア・トゥ・ピア通信接続を確立するための所定の基準は、第１及び第２のコンピュータ・プログラムの両方が単一のサーバ・コンピュータからそれぞれ第１及び第２のコンピュータによって受信された場合であってもよい。
本発明の方法では、段階Ｄは、第１のコンピュータから第２のコンピュータへ応答メッセージの肯定応答（受信通知、acknowledgement）を送ることを含み、それにより第２のコンピュータがピア・トゥ・ピア通信接続の確立を知らされるようにしてもよい。
本発明の方法では、応答メッセージは、第２のコンピュータが、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしているコンピュータ・プログラムを実行していることを第１のコンピュータに示す情報を含むようにしてもよい。
【０００７】
また、本発明の上記目的は、第１及び第２のクライアント・コンピュータと、コンピュータ・プログラムのコピーが該第１及び第２のクライアント・コンピュータにダウンロードされるサーバ・コンピュータとを有している分散型コンピュータ・システムにおいて、該第２のクライアント・コンピュータは、第１のコンピュータにおいて実行されている第１のコンピュータ・プログラムからメッセージを受信するための通信手順を実行するバーチャル・マシンを備え、該メッセージは、ピア・トゥ・ピア通信接続を要求しており、バーチャル・マシンは、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第１のコンピュータ・プログラムが第２のコンピュータで実行されているか否かを決定し、かつ決定がポジティブであるときに第２のコンピュータから第１のコンピュータへ要求を受け入れている応答メッセージを送る手段と、バーチャル・マシンの通信手順は、第１のコンピュータへの応答メッセージの送信後に第１及び第２のコンピュータ・プログラムの間に要求されたピア・トゥ・ピア通信接続を確立する手段と、を含んでいるクライアント・コンピュータによって達成される。
【０００８】
本発明のクライアント・コンピュータでは、ピア・トゥ・ピア通信接続を確立するための所定の基準は、第１及び第２のコンピュータ・プログラムの両方が単一のサーバ・コンピュータから対応する第１及び第２のコンピュータによって受信された場合であってもよい。
本発明のクライアント・コンピュータでは、要求されたピア・トゥ・ピア通信接続を確立する手段は、応答メッセージの肯定応答を第１のコンピュータから受信することによってイネーブルされるようにしてもよい。
本発明のクライアント・コンピュータでは、応答メッセージは、第２のコンピュータがピア・トゥ・ピア通信接続を確立するための所定の基準を満たしているコンピュータ・プログラムを実行していることを第１のコンピュータに示す情報を含むようにしてもよい。
【０００９】
更に、本発明の上記目的は、第１及び第２のクライアント・コンピュータと、コンピュータ・プログラムのコピーが該第１及び第２のクライアント・コンピュータにダウンロードされるサーバ・コンピュータとを有している分散型コンピュータ・システムにおいて、該第１のクライアント・コンピュータは、第１のコンピュータにおいて実行されている第１のコンピュータ・プログラムから第２のコンピュータへ要求メッセージを送るための通信手順を実行するバーチャル・マシンを備え、該メッセージは、ピア・トゥ・ピア通信接続を要求するものであり、バーチャル・マシンは、第２のコンピュータから応答メッセージを受信するための手段であって、応答メッセージは、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第２のコンピュータ・プログラムが第２のコンピュータにおいて実行されているというポジティブ・ディスポジション（肯定的処置）を示している手段と、第１のコンピュータによる応答メッセージの受信後に第１及び第２のコンピュータ・プログラムの間に要求されたピア・トゥ・ピア通信接続を確立する手段と、を含んでいるクライアント・コンピュータによって達成される。
【００１０】
本発明のクライアント・コンピュータでは、ピア・トゥ・ピア通信接続を確立するための所定の基準は、第１及び第２のコンピュータ・プログラムの両方が単一のサーバ・コンピュータから対応する第１及び第２のコンピュータによって受信された場合であることであってもよい。
本発明のクライアント・コンピュータでは、バーチャル・マシンのは、応答メッセージがポジティブ・ディスポジションを示すときに応答メッセージの肯定応答を送るための手段をさらに含み、要求されたピア・トゥ・ピア通信接続を確立するための手段は、応答メッセージの肯定応答の送信と一緒にイネーブルされるようにしてもよい。
本発明のクライアント・コンピュータでは、応答メッセージは、第２のコンピュータがピア・トゥ・ピア通信接続を確立するための所定の基準を満たしているコンピュータ・プログラムを実行していることを第１のコンピュータに示す情報を含むようにしてもよい。
【００１１】
【作用】
纏めると、本発明は、第１及び第２のコンピュータで実行されているが、同じ機密ドメインからのコンピュータ・プログラム間のピア・トゥ・ピア通信接続を確立するシステム及び方法である。第１のコンピュータ・プログラムは、第１のコンピュータで実行されている間、第２のコンピュータに通信メッセージを送り、ピア・トゥ・ピア通信接続を要求する。該第２のコンピュータでメッセージを受信することにより、第２のコンピュータは、ピア・トゥ・ピア通信接続を確立するための所定の基準に合致しているか第２のコンピュータ・プログラムが、第２のコンピュータで実行されているか否かを決定する。そうであれば、第２のコンピュータは、要求を受け入れる応答メッセージを第１のコンピュータに送る。第１のコンピュータによる応答メッセージの受信の後、第１及び第２のコンピュータ・プログラム間の要求されたピア・トゥ・ピア通信接続は、確立される。
【００１２】
好ましい実施例では、ピア・トゥ・ピア通信接続を確立するための所定の基準は、第１及び第２のコンピュータ・プログラムが同じサーバ・コンピュータからであるということである。
好ましい実施例では、応答メッセージは、第２のコンピュータが、ピア・トゥ・ピア通信接続を確立するための所定の基準に合致しているコンピュータ・プログラムを実行していることを第１のコンピュータに確実に示すような情報を含む。
本発明の更なる目的及び特徴は、添付した図面を参照して以下の詳細な説明及び特許請求の範囲から容易に明らかであろう。
【００１３】
【実施例】
図１を参照すると、二つのクライアント・コンピュータＣ１、Ｃ２及びサーバ・コンピュータＳ１を含む分散型コンピュータ・システム１００が示される。各クライアント・コンピュータは、ＨｏｔＪａｖａ（ホット・ジャワ）（サン・マイクロシステムズ，インコーポレーティッデによって配布される製品）（図１には示していない）のようなブラウザ・プログラムを実行しかつブラウザ・プログラムの使用により装填されたＡ１、Ａ２のようなＪａｖａ（ジャワ）バイトコード・プログラムを実行するためのオペレーティング環境を供給する、バーチャル・マシンＭ１，Ｍ２を含む。本発明のコンテキストでは、バーチャル・マシンＭ１，Ｍ２に関連付けられたブラウザ・プログラムは、サーバＳ１からプログラムＡをダウンロードするために用いられ、同一のプログラムＡ１及びＡ２とバーチャル・マシンＭ１及びＭ２をそれぞれ生成する。
【００１４】
標準クライアント−サーバ通信チャネルを用いて、アプレットＡ１は、そのような通信チャネルを生成しかつ保守（保全）するためにクライアント及びサーバによる使用に対してオブジェクトクラス方法を設定することによってサーバＳ１を介してアプレットＡ２と通信することが可能である。換言すると、アプレットＡ１は、サーバＳ１と確実に通信することができそしてサーバＳ１は、アプレットＡ２と確実に通信することができ、それによりアプレットＡ１とＡ２の間の二段階接続を生成する。
一般に、これは、そのようなメッセージの送信のために特に取っておかれるクライアント及びサーバ・コンピュータにおいて通信“ソケット”を用いてインプリメントされる。通信ソケットは、クライアント・コンピュータで実行しているパケットから受信したメッセージが、対応しているプログラムによって監視される通信ソケットにおけるサーバで受信されるようにアプレット及びサーバ・ソフトウェアによって画定される。サーバのソケット監視プログラムは、次いで各受信したメッセージに対して、いずれの他のクライアント・コンピュータにメッセージが送られるか、及び何の通信ソケットがその通信のために用いるべきかを決定する。追加ソフトウェア・ロジックが構成の全ての可能な通信モード及び故障モードを処理するために要求されるけれども、それらの詳細は、そのようなソフトウェアを設計する当業者の能力内でありさらに本発明を理解するために必要としない。
【００１５】
好ましい実施例では、実行されるアプレット及び他のプログラムは、主にＪａｖａバイトコード・プログラムである。Ｊａｖａバイトコード言語は、サン・マイクロシステムズ・インコーポレーティッドによって販売された“マシン・プラットフォーム・インディペンデント”プログラミング言語である。Ｊａｖａバイトコード・プログラムは、バーチャル・マシンを形成するバイトコード・プログラム・インタプリタに関して実行される。Ｊａｖａバイトコード・プログラムは、Ｊａｖａバイトコード・プログラム・インタプリタがコンピュータ上に存在すならば、コンピュータのオペレーティング・システム及びコンピュータ・ハードウェア・プラットフォームに係わりなく、それらをあらゆるコンピュータ上で実行することができるように設計される。
【００１６】
図２を参照すると、好ましい実施例では本発明の好ましい実施例を組み込んでいるコンピュータ・システム１００は、一般に、ネットワークされたコンピュータのシステムにおいて複数のクライアント・コンピュータ１５０と一つ以上のサーバ・コンピュータ１５２を含む。各クライアント・コンピュータ１５０は、中央処理装置（ＣＰＵ）１６０、ユーザ・インターフェイス１６２、及び通信ネットワーク１６６を介して他のコンピュータとの通信のための通信インターフェイス１６４を含む。
主メモリ１０２及び持続性記憶装置１０４の両方を含む、メモリ１０２／１０４、は、：
・  オペレーティング・システム１７０；
・  ＨｏｔＪａｖａブラウザ・プログラムのような、インターネット通信マネージャ・プログラム１７２；
・  特定されたプログラムがある所定の保全性基準を満足するか否かを検証するためのＪａｖａバイトコード・プログラム・ベリファイヤ１７４；
・  アプリケーション・プログラムを実行するためにＪａｖａバイトコード・プログラム・インタプリタ１７６；
・  ユーザのアドレス空間の中にオブジェクト・クラスを装填しかつ各装填されたオブジェクト・クラスに関連付けられた方法の保全性を検証するためにバイトコード・プログラム・ベリファイヤを利用する、クラス・ローダ１７８；
・  使用中及び／又はコンピュータ１０２のユーザによる使用に対して利用可能なオブジェクト・クラス１８２、１８４、１８６を局所的に記憶するための、少なくとも一つのクラス・リポジトリ１８０；
・  オブジェクト・リポジトリ１８２に記憶されたオブジェクト・クラスのオブジェクトの例である、オブジェクト１９２、１９４、を記憶するための、少なくとも一つのオブジェクト・リポジトリ１９０；
・  ピア・トゥ・ピア通信プロトコル手順１９６。この手順１９６は、：
ピア・トゥ・ピア通信チャネルの確立を要求すべく第１のコンピュータから第２のコンピュータへ要求メッセージを送るための要求起動命令１９６Ａ；ピア・トゥ・ピア通信チャネルを確立するための所定の基準が満たされるかどうかを決定することによってそのような要求に応答しかつ対応している応答メッセージを送るための要求応答命令１９６Ｂ；そのような応答メッセージに対して肯定応答するための応答肯定応答命令１９６Ｃ；及び応答メッセージが所定の基準が満たされたということを示すときにピア・トゥ・ピア通信チャネルを確立するためのチャネル確立命令１９６Ｄ
を含む。
【００１７】
図３を参照すると、ピア・トゥ・ピア通信プロトコル１９６の実行の前に、少なくとも二つのバーチャル・マシンＭ１及びＭ２は、サーバ・コンピュータＳ１から同じアプリケーション・プログラムＡのコピー（コピーＡ１及びＡ２）をダウンロードする（ステップ２００、２０２）。代替的に、二つのバーチャル・マシンＭ１及びＭ２は、同じサーバ・コンピュータＳ１から二つの異なるアプリケーション・プログラムをダウンロードする。本発明を説明する目的のために、二つのダウンロードされたプログラムは、同じであるが、本発明のある実施例では同じサーバからの異なるプログラムは、ピア・トゥ・ピア通信チャネルを確立するということを想定する。
図３では、バーチャル・マシンＭ１のアプレットＡ１は、バーチャル・マシンＭ１にメッセージ・パケットＰ１を、アプリケーションＡとして識別されたアプリケーションに対するピア・トゥ・ピア接続を要求しているバーチャル・マシンＭ２へ送らせる方法を呼出すことによってバーチャル・マシンＭ２のアプレットＡ２への通信接続を確立する処理を起動するということを想定する（ステップ２０４）。
【００１８】
バーチャル・マシンＭ２は、パケットＰ１を受信し、かつバーチャル・マシンＭ２のオペレーションを制御する制御プログラム（例えば、バーチャル・マシンＭ２で実行するＨｏｔＪａｖａブラウザ・プログラム）は、それが、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たすか否かを決定する（ステップ２０６）。好ましい実施例では、所定の基準は、受信しているバーチャル・マシンが、そのサーバ・ソースが起動しているアプレットのサーバ・ソースと一致するアプレットを有することである。更に、好ましい実施例では、起動しているアプレットによって用いられるソケットまたは通信チャネルにメッセージを受信すべく設定される受信しているバーチャル・マシンで実行しているアプレットまたはプログラムが存在しなければならない。
【００１９】
バーチャル・マシンＭ２が所定のピア・トゥ・ピア接続基準を満たさないならば、それは、要求を拒否しているバーチャル・マシンＭ１に応答パケットを送るか（ステップ２１０）、または代替的に要求メッセージを単に無視する。さもなければ、バーチャル・マシンＭ２は、要求を受容しているバーチャル・マシンＭ１に応答パケットＰ２を送り、かつバーチャル・マシンＭ２がサーバＳ１からのアプレットＡ２を走らせていることを示す（ステップ２１２）。
更なる機密が要求されるような、またはピア・トゥ・ピア通信が同じアプレットの同じコピーの間でだけ許容されるようなアプリケーションでは、応答パケットは、パケットＰ２がバーチャル・マシンＭ２によって実際に送られかつそのＭ２が実際にアプレットＡ２のコピーを有するという証拠を含みうる。例えば、この代替実施例では応答パケットＰ２は、アプレットＡ２に関連付けられた固有（独自）の数の少なくとも所定の部分のコピーを含む。
【００２０】
ディジタル署名の使用、等のような、さらなる機密設備(security provisions) は、例えば、応答パケットが実際にはＭ２によって送られたことをＭ１が検証することができるように、バーチャル・マシンにより用いられる通信ソフトウェアのプロトコル層を下に横たわすことによって追加されうる。より一般的に、対応しているクライアント・コンピュータ上で動作している、バーチャル・マシンＭ１及びＭ２のそれぞれは、通信機密測度がそれら及びサーバＳ１がメンバーである機密ドメインに関連付けられかつそれらのバーチャル・マシンとサーバＳ１の間の通信に通常用いられるものを用いる。しかしながら、そのようなさらなる機密測度は、本発明が用いられうるようなオペレーティング環境のオプショナル部分である。
【００２１】
応答パケットＰ２の受信及び処理により、バーチャル・マシンＭ１は、肯定応答メッセージをバーチャル・マシンＭ２に送り戻し、アプレットＡ１とＡ２の間のピア・トゥ・ピア接続を確立する（ステップ２１４）。その後、二つのアプレットは、二つのアプレットによって共有される共通機密制限に従ってメッセージ及びデータを交換する（ステップ２１６）。
本発明は、２〜３の特定な実施例を参照して記述されたが、記述は、本発明の説明のためであり、本発明を制限することを意図しない。種々の変更は、特許請求の範囲によって画定されたような本発明の真の精神及び範疇から逸脱することなく当業者に生じうる。
【００２２】
【発明の効果】
本発明の方法は、第１及び第２のコンピュータにおいて実行されるコンピュータ・プログラム間にピア・トゥ・ピア通信接続を確立する方法であって、Ａ）第１のコンピュータで実行されている間、第１のコンピュータ・プログラムが、第２のコンピュータへ通信メッセージを送り、該メッセージは、ピア・トゥ・ピア通信接続を要求し、Ｂ）第２のコンピュータでメッセージを受信し、かつピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第２のコンピュータ・プログラムが第２のコンピュータで実行されているか否かを決定し、Ｃ）段階Ｂがポジティブな決定を結果として生じるとき、第２のコンピュータから第１のコンピュータへ要求を受け入れている、応答メッセージを送り、かつＤ）第１のコンピュータによる応答メッセージの受信後、第１及び第２のコンピュータ・プログラムの間の要求されたピア・トゥ・ピア通信接続を確立する段階を具備するので、二つの別々のコンピュータまたはバーチャル・マシン上で走っているコンピュータ・プログラムの二つのコピーを機密的に通信させることができ、かつ同じ機密ドメインから取得されかつ二つの異なるクライアント・コンピュータ上で実行されている二つのプログラムを機密的に通信させることができる。
【００２３】
本発明のクライアント・コンピュータは、第１及び第２のクライアント・コンピュータと、コンピュータ・プログラムのコピーが該第１及び第２のクライアント・コンピュータにダウンロードされるサーバ・コンピュータとを有している分散型コンピュータ・システムにおいて、該第２のクライアント・コンピュータは、第１のコンピュータにおいて実行されている第１のコンピュータ・プログラムからメッセージを受信するための通信手順を有するバーチャル・マシンを備え、該メッセージは、ピア・トゥ・ピア通信接続を要求しており、バーチャル・マシンの通信手順は、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第１のコンピュータ・プログラムが第２のコンピュータで実行されているか否かを決定し、かつ決定がポジティブであるときに第２のコンピュータから第１のコンピュータへ要求を受け入れている応答メッセージを送る手段を含み、かつバーチャル・マシンの通信手順は、第１のコンピュータへの応答メッセージの送信後に第１及び第２のコンピュータ・プログラムの間に要求されたピア・トゥ・ピア通信接続を確立する手段を含んでいるので、二つの別々のコンピュータまたはバーチャル・マシン上で走っているコンピュータ・プログラムの二つのコピーを機密的に通信させることができ、かつ同じ機密ドメインから取得されかつ二つの異なるクライアント・コンピュータ上で実行されている二つのプログラムを機密的に通信させることができる。
【００２４】
本発明のクライアント・コンピュータは、第１及び第２のクライアント・コンピュータと、コンピュータ・プログラムのコピーが該第１及び第２のクライアント・コンピュータにダウンロードされるサーバ・コンピュータとを有している分散型コンピュータ・システムにおいて、該第１のクライアント・コンピュータは、第１のコンピュータにおいて実行されている第１のコンピュータ・プログラムから第２のコンピュータへ要求メッセージを送るための通信手順を有するバーチャル・マシンを備え、該メッセージは、ピア・トゥ・ピア通信接続を要求しており、バーチャル・マシンの通信手順は、第２のコンピュータから応答メッセージを受信するための手段を含んでおり、応答メッセージは、ピア・トゥ・ピア通信接続を確立するための所定の基準を満たしている第２のコンピュータ・プログラムが第２のコンピュータにおいて実行されているときにポジティブ・ディスポジションを示しており、かつバーチャル・マシンの通信手順は、第１のコンピュータによる応答メッセージの受信後に第１及び第２のコンピュータ・プログラムの間に要求されたピア・トゥ・ピア通信接続を確立する手段を含んでいるので、二つの別々のコンピュータまたはバーチャル・マシン上で走っているコンピュータ・プログラムの二つのコピーを機密的に通信させることができ、かつ同じ機密ドメインから取得されかつ二つの異なるクライアント・コンピュータ上で実行されている二つのプログラムを機密的に通信させることができる。
【図面の簡単な説明】
【図１】本発明の好ましい実施例がインプリメントされる分散型コンピュータ・システムのブロック図である。
【図２】本発明の好ましい実施例に従った分散型コンピュータ・システムにおけるクライアント・コンピュータのブロック図である。
【図３】本発明の好ましい実施例の方法のフローチャートである。
【符号の説明】
１００  分散型コンピュータ・システム
Ａ  プログラム
Ａ１、Ａ２  アプレット（プログラム）
Ｃ１、Ｃ２  クライアント・コンピュータ
Ｍ１，Ｍ２  バーチャル・マシン
Ｓ１  サーバ・コンピュータ
【図１】
0003902689.tif 000002
【図２】
0003902689.tif 000003
【図３】
0003902689.tif 000004