(57)【要約】【課題】クライアント側通信プロトコルスタックを構成する方法及びシステムを開示する。【解決手段】本発明の方法では、サーバー側プロトコルスタックインスタンスのサーバー側プロトコルスタックコンポーネントを対応するクライアント側プロトコルスタックコンポーネントにマッピングする。その後、クライアント側プロトコルスタックコンポーネントの従属するもののリスティングを作成する。最後に外部に設けられたクライアントコンピューティングプロセスのアクセスのために、リスティングを発行する。好ましくは、リスティングを逆にする。また、マッピングするステップはさらに、クライアント側プロトコルスタックがサーバー側プロトコルスタックインスタンスとの相互運用を可能にされるとき、クライアント側プロトコルスタックコンポーネントの少なくとも１つに適用される少なくとも１つの属性を判別するステップを含むことができる。【選択図】図１
2011259467.tif 000002
【特許請求の範囲】
【請求項１】
クライアント側通信プロトコルスタックを構成する方法であって、
サーバー側プロトコルスタックインスタンスのサーバー側プロトコルスタックコンポーネントを対応するクライアント側プロトコルスタックコンポーネントにマッピングするステップと、
前記マッピングに基づいて、前記クライアント側プロトコルスタックコンポーネントの従属するもののリスティングを作成するステップと、
外部に設けられたクライアントコンピューティングプロセスのアクセスのために、前記リスティングを発行するステップと
を含む方法。
【請求項２】
前記マッピングするステップがさらに、クライアント側プロトコルスタックが前記サーバー側プロトコルスタックインスタンスと相互運用することを可能にされているとき、前記クライアント側プロトコルスタックコンポーネントの少なくとも１つに適用される少なくとも１つの属性を判別するステップを含む請求項１に記載の方法。 
【請求項３】
前記作成するステップがさらに、作成した前記リスティングの順番を逆にするステップを含む請求項１に記載の方法。
【請求項４】
プロセス間通信プロトコル構成システムであって、
サーバー側プロトコルスタックにおけるサーバー側プロトコルスタックコンポーネントをクライアント側プロトコルスタックコンポーネントにマッピングする手段と、
前記マッピングに基づいて、前記クライアント側プロトコルスタックコンポーネントの従属するものをリスティングする手段と、
前記リスティングに発行可能インターフェースを提供する手段と
を含むシステム。
【請求項５】
前記マッピングする手段が、前記サーバー側プロトコルスタックのプロトコルスタックコンポーネントと、関連するクライアント側プロトコルスタックに存在するために必要な対応するプロトコルスタックコンポーネントとのリンケージセットと、
前記対応するプロトコルスタックコンポーネントのうち選択したものの属性のセットとを含む
請求項４に記載のシステム。
【請求項６】
前記リスティングが、前記マッピングに基づいて、前記クライアント側プロトコルスタックコンポーネントの前記従属するものの逆順のリストを有する逆リスティングである、請求項４に記載のシステム。
【請求項７】
前記発行可能インターフェースが、前記リスティングを内蔵する少なくとも１つのオブジェクトへのネイティブディレクトリインターフェースである、請求項４に記載のシステム。
【請求項８】
請求項１から３のいずれかの方法の各ステップをコンピューターに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセス間通信分野に関係し、より具体的にはサーバープロセスとの通信のため
のクライアントプロセスの構成に関係する。
【背景技術】
【０００２】
プロセス間通信は、プロセスが１台のコンピューティングデバイス内にまとめて配設され
ているか、又はプロセスがコンピュータ通信ネットワークの周りに互いに離れて配置され
ているかどうかに関係なく、２つ以上のコンピューティングプロセス間の情報の交換に関
係する。従来、個別のコンピューティングプロセスが、情報交換のために確立された通信
リンクを介して互いに通信できる。ほとんどの場合、通信リンクを確立する前、又は通信
リンクを確立する過程で取り決められる共通の通信プロトコルを使って情報を交換できる
。
【０００３】
多くの場合、複数のコンピューティングプロセスを利用して情報を交換する共通の通信プ
ロトコルは、通信リンクを確立しようと試みる前に予め決めることができる。例えば、イ
ンターネットの場合、ウエブのコンテンツは、ＴＣＰ／ＩＰ上でハイパーテキスト転送プ
ロトコル（ＨＴＴＰ）を使って、コンテンツサーバーとコンテンツブラウザとの間で交換
できる。さらに、通信プロトコルは必ずしも物理的なネットワークレイヤに基づくデータ
交換に限られたものではない。むしろ、通信プロトコルは二以上のコンピューティングプ
ロセス間の情報交換を可能にするために必要な動作および通信構成のあらゆる集合体を含
むことができる。この点に関し、通信プロトコルはプロセス間のデータの転送メカニズム
だけでなく、数例をあげれば、暗号化プロトコル、圧縮プロトコル、トンネリングプロト
コルなどの補助的な設定や動作も含むことができる。
【０００４】
ある状況においては、クライアントのコンピューティングプロセスとサーバーのコンピュ
ーティングプロセスの間の通信プロトコルを予め決めない。特に、サーバーのコンピュー
ティングプロセスが異なる数多くの通信プロトコルを使って多数のクライアントのコンピ
ューティングプロセスと通信するように構成されている場合、クライアントとサーバーの
どれか１回のセッションにどのコンピューティングプロセスを利用するかは予め決められ
ない。その結果、クライアントのコンピューティングプロセスは、試行錯誤の過程から適
切な通信プロトコルの選択をさせることが多い。具体的には、代表的な状況では、クライ
アントプロセスは複数の通信プロトコル候補のテーブルを含むことができる。このように
、クライアントプロセスは、通信リンクがうまく確立される時まで各通信プロトコル候補
を使ってサーバープロセスとの通信リンクの確立を試みなければならない。
【０００５】
サーバープロセス間の通信リンクを確立する前述のプロセスは、究極的には、通信リンク
を周知の通信プロトコルの１つを使って確立できるという限りにおいては効果的であろう
。また、当業者は、通信リンクを確立するときに最終的に選択される通信プロトコル以外
のある通信プロトコルを使って通信リンクの確立が失敗する度に生じる多大なリソースの
無駄を認めるであろう。可能な限り、通信プロトコルを選択するときに試行錯誤の過程を
避けて、パフォーマンスレベルを高めるのが好ましいであろう。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、プロセス間通信に関する技術の欠点を解決することを目指し、クライアント側
のコンピューティングプロセスで通信プロトコルスタックを構成する方法およびシステム
を提供する。発明のある好適な側面で、プロセス間通信プロトコル構成システムは、サー
バー側プロトコルスタックにおいてサーバー側プロトコルスタックコンポーネントをクラ
イアント側プロトコルスタックコンポーネントにマッピングすることを含むことができる
。システムはまた、マッピングに基づいてサーバー側プロトコルスタックのサーバー側プ
ロトコルスタックコンポーネントの従属するもののリスティングを含むことができ、最終
的にシステムはリスティングへの発行可能インターフェースを含むことができる。
【０００７】
マッピングは、サーバー側プロトコルスタックのプロトコルスタックコンポーネントと、
関連するクライアント側プロトコルスタックに存在しなければならない対応するプロトコ
ルスタックコンポーネントとのリンケージのセットを含むことができる。マッピングはま
た、対応するプロトコルスタックコンポーネントのうち選択されたものの属性のセットを
含むことができる。発明の好適な側面では、リスティングは、マッピングに基づいたサー
バー側プロトコルスタックにおいてサーバー側プロトコルスタックコンポーネントのうち
の従属するものの逆順リストを有する逆リスティングとなる。また、発行可能インターフ
ェースはリスティングを内蔵する少なくとも１つのオブジェクトへのネイティブディレク
トリインターフェースであることが好ましい。
【課題を解決するための手段】
【０００８】
クライアント側通信プロトコルスタックを構成する方法において、マッピングを調べて、
サーバー側プロトコルスタックインスタンスにおいてプロトコルスタックコンポーネント
のセットに対応するクライアント側プロトコルスタックコンポーネントのセットを判別す
ることができる。その後、判別したクライアント側プロトコルスタックコンポーネントの
セットのリスティングを作成できる。最後に、外部に設けられるクライアントコンピュー
ティングプロセスによるアクセスのためにリスティングを発行できる。好ましくはリステ
ィングを逆順にする。また、調べるステップはさらに、クライアント側プロトコルスタッ
クをサーバー側プロトコルスタックインスタンスと相互運用できるときに、クライアント
側プロトコルスタックコンポーネントの少なくとも１つに適用される少なくとも１つの属
性を判別するステップを含むことができる。
【０００９】
反対に、クライアント側通信プロトコルスタックを構成する方法は、サーバー側プロトコ
ルスタックインスタンスにまとめられるプロトコルスタックコンポーネントに対応する必
要なクライアント側プロトコルスタックコンポーネントのリスティングにアクセスするこ
とを含むことができる。必要なクライアント側プロトコルスタックコンポーネントを含む
クライアント側プロトコルスタックインスタンスがすでに存在しているかどうかは、リス
ティングから判別できる。クライアント側プロトコルスタックインスタンスがすでに存在
している場合、クライアント側プロトコルスタックインスタンスを再利用して、サーバー
側プロトコルスタックと通信できる。そうでなければ、必要なクライアント側プロトコル
スタックコンポーネントを使って、クライアント側プロトコルスタックの新しいインスタ
ンスを作成できる。
【発明を実施するための最良の形態】
【００１０】
本発明は、ダイナミックに選択、構成した通信プロトコルスタックに基づきサーバーコン
ピューティングプロセスと通信するために、クライアントコンピューティングプロセスを
インテリジェントに構成する方法、システム、および装置である。本発明によると、プロ
トコルスタックの様々な対応するプロトコルエレメント又はコンポーネントを、サーバー
コンピューティングプロセスと、サーバーコンピューティングプロセスにアクセスするよ
う構成された一又は複数のクライアントコンピューティングプロセスとの間でマッピング
できる。サーバー側プロトコルコンポーネントが見込みクライアント側プロトコルコンポ
ーネントの属性にマッピングする特別定義の属性を有する場合、その属性をマッピングで
同様に指定できる。マッピングは指定される属性とともに、サーバーにプロトコルスタッ
クを配備するときに後で使用するために格納できる。プロトコルスタックがサーバーコン
ピューティングプロセスで使用するために配備される場合、プロトコルスタックの従属プ
ロトコルコンポーネントのリストが生成でき、リストを逆順にできる。従属プロトコルコ
ンポーネントのリストにあるプロトコルコンポーネントの各々は、プロパティの値を検索
できる。その結果、プロトコルスタックのクライアント構成は、従属プロトコルコンポー
ネントの逆順リストと、プロトコルスタックのプロパティの従属性について検索したプロ
パティの値の両方を使って作成できる。その後、サーバーと通信しようと試みるクライア
ントプロセスが格納された構成を発見できるように構成を発行する。
【００１１】
クライアントコンピューティングプロセスがサーバーコンピューティングプロセスと通信
しようと試みるとき、クライアントコンピューティングプロセスはまず、それ以前の発行
からサーバー指定のプロトコル構成を問合せできる。発見したら、クライアントプロセス
は、指定のプロトコル構成がすでにクライアントプロセスに存在しているかどうかを判別
できる。もし存在していれば、プロトコル構成を再利用して、サーバープロセスと通信で
きる。存在していなければ、サーバーで指定の構成を作成して、構成の従属性について関
連するプロパティ値をもつように構成する。プロトコルスタックが使用可能になったら、
クライアントプロセスはそのプロトコルスタックを使用してサーバープロセスと通信でき
る。
【００１２】
前述のより具体的な図で、図１は発明の構成に従い、アクセスするクライアントプロセス
のサーバー側構成用に構成された例示的ではあるが非排他的コンピューティングシステム
の概略図である。システムは、コンピュータ通信ネットワーク１２０を介してサーバープ
ロセス１３０に通信連結されるようにプログラムされた一又は複数のクライアントコンピ
ューティングプロセス１１０Ａ、１１０Ｂ、１１０ｎを含むことができる。注目すべきこ
とに、各クライアントコンピューティングプロセス１１０Ａ、１１０Ｂ、１１０ｎは、確
立された通信プロトコルを使ってサーバーコンピューティングプロセス１３０と通信でき
る。確立された通信プロトコルは、例えばＴＣＰ／ＩＰを使うＨＴＴＰなどの物理的およ
びアプリケーションプロトコルだけでなく、暗号化や圧縮プロセスなどの一又は複数の補
助的な手順の動作も含むことができる。サーバー通信プロセス１３０は構成プロセッサ１
４０に連結できる。構成プロセッサ１４０は１セットのプロトコル構成１５０を確立でき
る。具体的には、クライアントのコンピューティングプロセス１１０Ａ、１１０Ｂ、１１
０ｎのいずれか一つに対応する必要なコンポーネントがあれば、構成プロセッサ１４０は
サーバーコンピューティングプロセス１３０のプロトコルの動作に必要な個々のコンポー
ネントをマッピングできる。プロトコルスタックをサーバーコンピューティングプロセス
１３０で作成しようとするとき、スタックにあるコンポーネントセットのコンポーネント
の従属性をリスティングして、その後逆にして逆構成１８０を制作する。さらに、逆構成
１８０のコンポーネントの個々のプロパティ値を判別でき、その組合せをプロトコルスタ
ック構成１９０として発行できる。特に、業界でよく知られるように、プロトコルスタッ
ク１９０の構成は、コンテンツがネイティブディレクトリインターフェースで認識できる
クラスオブジェクトの１つ又はセットへのインターフェースとして、グローバルネーム空
間で発行できる。
【００１３】
動作時、クライアントコンピューティングプロセス１１０Ａ、１１０Ｂ、１１０ｎの１つ
がサーバーコンピューティングプロセス１３０と通信リンクを確立したい場合、クライア
ントコンピューティングプロセス１１０Ａ、１１０Ｂ、１１０ｎはまず問合せ１００をサ
ーバーコンピューティングプロセス１３０に送って、サーバーコンピューティングプロセ
ス１３０が優先通信プロトコル構成を識別するよう要求する。応答時、サーバーコンピュ
ーティングプロセス１３０はプロトコルスタック構成１９０へのアクセスを返すとともに
、クライアントコンピューティングプロセス１１０Ａ、１１０Ｂ、１１０ｎのうち要求す
るものが、プロトコルスタック構成１９０で定義した優先通信プロトコルスタックを選択
して構成できる。優先的な通信プロトコル構成を使ってサーバーコンピューティングプロ
セスと通信するためにクライアントコンピューティングプロセスを構成するプロセスは、
マッピングに、サーバー側とクライアント側のプロトコルを互いにリンクすることを含む
ことができる。また、プロセスは、サーバーコンピューティングプロセスで通信プロトコ
ルスタックを開始することと、マッピングに基づいて対応する発行可能なクライアント側
の通信プロトコルスタック構成を展開することを含むことができる。最後に、プロセスは
、サーバー指定のプロトコルスタックに基づいて、様々なクライアント側のプロトコルコ
ンポーネントの固有プロトコルスタックを選択、構成することを含むことができる。
【００１４】
前述のプロセスを詳しく示すために、図２は、図１のシステムにおいてサーバー側構成の
対応するクライアントプロトコルエレメントとサーバープロトコルエレメントをリンクす
るプロセスを図示するフローチャートである。
【００１５】
ブロック２１０から始まり、構成のために第１プロトコルセットにロードできる。ブロッ
ク２２０で、サーバーコンピューティングプロセスのセットになったプロトコルコンポー
ネントの各々を、通信が見込まれるクライアントプロセスの対応する従属プロトコルコン
ポーネントにリンク又はマッピングできる。例えば、サーバーコンピューティングプロセ
スにおけるＨＴＴＰアプリケーションレベルのプロトコルの使用は、クライアントコンピ
ューティングプロセスのＨＴＴＰにマッピングできる。同様に、サーバーコンピューティ
ングプロセスの物理的な制御レイヤプロトコルとしてのＴＣＰは、クライアントコンピュ
ーティングプロセスのＴＣＰにマッピングできる。さらに別の例として、サーバーコンピ
ューティングプロセスの解凍プロセスは、クライアントコンピューティングプロセスの圧
縮プロセスにマッピングできる。
【００１６】
いずれの場合も、判断ブロック２３０で、従属プロトコルコンポーネントのうち選択した
ものの固有の属性を、サーバーコンピューティングプロセスにおいてプロトコルコンポー
ネントのうち固有の属性に対応するもののアプリケーションに基づいて、適用するべきか
どうかを判別できる。属性をマッピングする場合、ブロック２４０のマッピングで属性が
そのように指定できる。いずれの場合も、判断ブロック２５０で、処理すべき追加のプロ
トコルセットがまだ残っているかどうかを判別できる。もし残っていれば、ブロック２６
０で構成のためにプロトコルセットにロードでき、ブロック２２０から２６０のプロセス
を繰り返す。マッピングで構成すべきプロトコルがもう残っていない場合、ブロック２７
０でプロセスは終了する。
【００１７】
様々なプロトコルスタックコンポーネントと対応する属性をマッピングでリンクしてしま
えば、プロトコルスタックのある特定のインスタンスの発行される構成はマッピングを使
って制作できる。より具体的に、図３は図１のシステムにおけるサーバーの様々なプロト
コルエレメントのプロトコルスタックを開始するプロセスを図示する。ブロック３１０で
始まり、プロトコルスタックを開始できる。例えば、オブジェクト指向の環境では、プロ
トコルスタックにまとめられる様々なプロトコルコンポーネントをプロセスアドレス空間
内でインスタンス生成して、その中で動作できるようにできる。ブロック３２０で、例え
ばサーバー側プロトコルスタックの各コンポーネントをトラバースし、マッピングからコ
ンポーネントの従属性を識別することによって、クライアント側従属コンポーネントのリ
ストを作成できる。プロトコルスタックの従属コンポーネントのリストが作成されてしま
えば、ブロック３３０で、リストの順番を逆にできる。このように、リストに基づいてプ
ロトコルスタックを構築するクライアントコンピューティングプロセスは、スタックの各
コンポーネントがその従属性に依存できるように保証できる。いずれの場合も、判断ブロ
ック３４０で、スタックの従属性が、従属性が利用できるコンポーネントのインスタンス
に依存している点で適切かどうかを判別できる。適切でなければ、プロセスはブロック３
５０で終了する。そうでなければ、プロセスはブロック３６０に進む。ブロック３６０で
、適切な従属性が存在していれば、各通信プロトコルコンポーネントのプロパティの値を
検索できる。また、ブロック３７０で、クライアントに配備するべきプロトコルスタック
の構成は、逆順にしたリストに基づいて作成できる。最後に、ブロック３８０で、検索し
たプロパティ値を作成したクライアントプロトコルスタックの構成に付加できる。ブロッ
ク３９０で、要求があれば、クライアントプロトコルスタックの構成を何らかの周知のメ
カニズムにより要求するクライアントプロセスに渡すことができる。発明の好適な側面で
は、構成はネイティブディレクトリインターフェースからグローバルネーム空間に発行で
きる。
【００１８】
一旦発行したら、クライアント側プロトコルスタック構成には、サーバーコンピューティ
ングプロセスにより優先通信プロトコルを使ってサーバーコンピューティングとの通信リ
ンクの確立に関わるクライアントコンピューティングプロセスからアクセスできる。重要
なことに、クライアントコンピューティングプロセスは、どのプロトコルを使うかを推定
するとき試行錯誤をしなくても、また、どのプロトコルを使うかについて予め合意を形成
しなくても、適切な通信プロトコルを選ぶことができる。より具体的に、図４は、図１の
システムにおいてサーバー指定のプロトコルスタックに基づいて、様々なクライアント側
のプロトコルエレメントの固有プロトコルスタックを選択、構成するプロセスを図示する
フローチャートである。
【００１９】
ブロック４０１から始まり、優先プロトコルスタック構成をサーバーコンピューティング
プロセスから検索できる。この点について、クライアントコンピューティングプロセスは
、優先プロトコルスタック構成に関し、例えば優先プロトコルスタックとのネイティブデ
ィレクトリインターフェースから優先プロトコルスタックとのインターフェースにアクセ
スすることによって、サーバーコンピューティングプロセスに問合せできる。判断ブロッ
ク４２０で、優先プロトコルスタックがクライアントコンピューティングプロセスのプロ
トコルスタックのすでに存在するインスタンスに似ているかどうかを判別できる。似てい
なければ、各コンポーネントを適切な従属順で構成内に指定させる新たなプロトコルスタ
ックインスタンスを作成できる。加えて、優先プロトコルスタックで説明したようにコン
ポーネントの属性を設定でき、さらにコンポーネントのプロパティのプロパティ値を優先
プロトコルスタックに従い設定できる。しかし、判断ブロック４２０で、優先プロトコル
スタックがクライアントコンピューティングプロセスのプロトコルスタックのすでに存在
するインスタンスに似ていれば、さらにブロック４３０で、プロトコルスタックの既存の
インスタンスが優先プロトコルスタックが指定する同じ属性を含むかどうかを判別できる
。含まなければ、前述のとおりブロック４５０で、クライアントで、優先通信プロトコル
スタックの新たなインスタンスを作成できる。そうでなければ、ブロック４４０で、通信
プロトコルスタックの既存のインスタンスを、サーバーコンピューティングプロセスとの
通信に再利用できる。
【００２０】
本発明は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合せで実
現できる。本発明の方法およびシステムの実施は、１台のコンピュータシステムで集中的
に、又は相互接続された複数のコンピュータシステムに様々なエレメントが広がる分散型
で実現できる。本明細書に説明する方法を実施するようになされたあらゆる種類のコンピ
ュータシステム、又はその他の装置が、本明細書に説明する機能を遂行するのに適する。
【００２１】
典型的なハードウェアとソフトウェアの組合せとは、ロードおよび実行されるときに、本
明細書に説明する方法を実施するようにコンピュータシステムを制御するコンピュータプ
ログラムを内蔵する汎用コンピュータシステムであろう。本発明は、本明細書で説明する
方法の実施を可能にするすべての特徴を持ち、コンピュータシステムでロードされると、
これらの方法を実施できるコンピュータプログラム製品に埋め込むこともできる。
【００２２】
本文におけるコンピュータプログラム又はアプリケーションとは、あらゆる言語、コード
、又は表記法で、直接、あるいはａ）別の言語、コード、又は表記法への変換とｂ）異な
る有形形態での複製の一方又は両方の後のいずれかで、情報処理能力をもつシステムにあ
る特定の機能を遂行させるように意図される命令のセットのあらゆる表現を意味する。重
要なことに、本発明は他の特別な形態でも具現でき、従って、発明の範囲を示すとき、前
述の明細書ではなく以下の請求項を参照するべきである。
【図面の簡単な説明】
【００２３】
ここで、本発明の実施例を、以下の図面を参照して、単なる例として説明していく。
【００２４】
【図１】本発明の実施例に従いアクセスするクライアントのサーバー側構成用に構成したコンピューティングシステムの概略図である。
【図２】図１のシステムのサーバー側構成において、対応するクライアントのプロトコルエレメントとサーバーのプロトコルエレメントをリンクするプロセスを図示するフローチャートである。
【図３】図１のシステムのサーバーにおいて、様々なプロトコルエレメントのプロトコルスタックを開始するプロセスを図示するフローチャートである。
【図４】図１のシステムのサーバー指定のプロトコルスタックに基づき、様々なクライアント側プロトコルエレメントの固有プロトコルスタックを選択、構成するプロセスを図示するフローチャートである。
【図１】
2011259467.tif 000003
【図２】
2011259467.tif 000004
【図３】
2011259467.tif 000005
【図４】
2011259467.tif 000006