JP2004518310A - 送信されたプロトコル・データ単位を解析する方法 - Google Patents
送信されたプロトコル・データ単位を解析する方法 Download PDFInfo
- Publication number
- JP2004518310A JP2004518310A JP2001576591A JP2001576591A JP2004518310A JP 2004518310 A JP2004518310 A JP 2004518310A JP 2001576591 A JP2001576591 A JP 2001576591A JP 2001576591 A JP2001576591 A JP 2001576591A JP 2004518310 A JP2004518310 A JP 2004518310A
- Authority
- JP
- Japan
- Prior art keywords
- protocol data
- data units
- protocol
- interface
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Multi Processors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、請求項1の種概念の定義に従って送信されたプロトコル・データ単位(Protocol Data Unit:PDU)を解析する方法に関する。
【0002】
含まれるメッセージを可能な限り完全に表すために、オブジェクト・リクエスト・ブローカ(Object Request Brokers:ORB)間で通信するための一般的プロトコルの送信されたプロトコル・データ単位を解析する方法が一般に知られている。
【0003】
CORBAは、Uwe Seimetによる「Wissen」第108頁乃至第113頁の論文”CORBA,ubernehmen Sie”、Services : Basisdienste fur den ORB” に記載されている。CORBAはまた、”NOMS 2000,2000 IEEE/IFIP、Network and Management Symposium””The Networked Planet:Management Beyond 2000”のフレームワークにおけるGuido Carls、Gerd Aschemann、Ying Luの”Validating Interaction Patterns of CORBA Based Network Management Systems”(2000年4月10日乃至14日、Hilton Hawaiian village、Honolulu、Hawaii)の文献にも記載されている。CORBAは、いくつかのオペレーティング・システム・プロセスにわたってアプリケーションを分散するために使用される。CORBAにより、分散アプリケーションの非独占ホスト間通信(non−proprietary, interhost communication)が可能となる。この状況では、クライアントの役割とサーバの役割とが区別される。クライアント役のアプリケーションは、サーバ役で動作する別のアプリケーションに要求を送信する。この要求は、サーバ役のアプリケーションで処理され、対応する応答がクライアントに返される。2つのオブジェクト・リクエスト・ブローカ間の通信用の一般的プロトコルは、これらのメッセージを搬送するためのプロトコルとして使用される。TCP/IPベースのネットワークでは、その特殊な形式、いわゆる「インターネットORB間プロトコル(Internet Inter−ORB Protocol:IIOP)」が使用される。どの内容をクライアントとサーバとの間で交換することができるかについての情報が、オブジェクト指向インターフェース記述言語(IDL)を使用して確立される。
【0004】
分散アプリケーションが予期せぬ挙動をした場合、または分散アプリケーションの受諾テスト中、個々のアプリケーション・コンポーネントの挙動に関する結論を得ることができるように、クライアントとサーバとの間の通信を監視することが必要となることがある。例えば、上記で引用した参考文献では、以下の手順を記載している。
【0005】
分散アプリケーションをクライアント側またはサーバ側で拡張し、それによって交換するGIOPメッセージも完全に、または部分的に記録用および評価用の分散アプリケーションのコンポーネントに経路指定するようにできる。
クライアントとサーバとの間で交換されるPDUをトレース・ツールによって記録することができ、かつ交換するメッセージのタイプと、使用する製品とに関する追加の知識を使用して復号することができる。メッセージの復号は、手動または自動で行うことができる。
テスト目的専用に開発されたアプリケーションを、クライアントとサーバとの間の通信に組み込む。このアプリケーションは、サーバとしてクライアントからの要求を受け取り、クライアントとしてこの要求をサーバに経路指定する。応答がそれに応じて返される。この結果、このテスト・アプリケーションによって、すべてのPDUを監視し、評価することができる。
【0006】
これらの周知の方法は、クライアントとサーバとの間で交換される一般ORB間プロトコル(General Inter ORB Protocol:GIOP)PDUの受動記録だけでは、メッセージを完全に復号するのに十分ではないという欠点を有する。これはいくつかの理由のために生じるが、それを以下で示す。
【0007】
規則として、値、例えば123だけしかGIOP PDUで符号化されず、そのタイプ・コード、例えば整数は符号化されない。したがって、PDUだけでは、PDU内に含まれるパラメータの数、または値のタイプを決定することができない。
起動されるメソッドの名前は、呼出しではそのフル・コンテキスト内に符号化されない。このメソッドが宣言されるインターフェース定義の固有の識別が欠けている。同一のメソッドを異なるシグニチャで異なるインターフェース定義内に定義すべき場合、同一の値符号化長が与えられると、実際に符号化されるメソッドを識別することができない。
サーバ側のエージェントが、自動生成し、発行した「ターゲット・アドレス」を介して着信要求を特定のCORBAオブジェクトと関連付けることができる間、CORBA標準によるトレース・ツールは実際に、索引に従ってターゲット・アドレスの内容が同等かをチェックすることができるが、具象オブジェクト、およびオブジェクトの下にあるインターフェース定義を関連付けることはできない。CORBA標準のプロプラエタリ拡張を用いた場合にのみ、トレース・ツールを使用してターゲット・アドレスの内容から情報を得ることが可能である。
CORBAでは、サーバからクライアントに転送されるオブジェクト参照が提供され、例えばディスケット上のテキスト・ファイルのようなGIOPプロトコルが回避される。IIOPプロトコルに基づいて一意的にCORBAオブジェクトをアドレス指定する働きをする相互運用オブジェクト参照(IOR)として交換されるこのオブジェクト参照が、関連するインターフェース定義に関する情報も含むとき、この情報の項目は、一般に決して再度クライアントとサーバとの間で交換されない。したがって、通信に関係するアプリケーション・コンポーネントに能動的に照会せずに、CORBAトレース・ツールがこの情報を得る方法はない。しかし、これは、トレース・ツールは受動的に監視することしか可能ではないという枠組みと相容れない。
【0008】
したがって、クライアントとサーバとに周知の状況で単一のGIOP PDUを一意的に相関させ、復号することは確かに可能であるが、記録されたPDUをこの周知の状況の外部で固有かつ標準に準拠して復号する可能性はないという問題が存在する。
【0009】
したがって、本発明の目的は、CORBAクライアントとCORBAサーバとの間の通信を制御し、またはそれを可能にする2つのオブジェクト・リクエスト・ブローカ間で通信するため、すなわち含まれるメッセージを可能な限り完全に表すための一般的プロトコルの送信されたプロトコル・データ単位を解析する方法であって、交換するGIOP PDUを十分な期間受動的に監視するだけで、送信されたメッセージをクライアントおよびサーバの実装を変更することなく完全に復号することを可能にするように意図した方法を提供することである。
【0010】
本発明の目的を達成する手段は、請求項1に記載されている。
【0011】
本発明の別の設計手法または実施例は、請求項2から11に記載されている。
【0012】
本発明による方法により、交換するGIOP PDUを十分な期間の間、受動的に監視するだけで、クライアントおよびサーバの実装を変更することなく送信されたメッセージを完全に復号することが可能となるので有利である。
これは、一種の学習段階で、交換したメッセージを系統的に評価し、相関させ、その結果個々のメッセージの復号中に発生する可能性のあるあいまいさを除外することによって達成される。
【0013】
このようにして、記録されたプロトコル・データ単位をこの周知の状況の外部で復号することを可能にする、固有かつ標準準拠の解決策が生成される。
【0014】
含まれるメッセージを可能な限り完全に表す目的で送信されたGIOP PDUを解析するためのこの方法の別の利点、特徴、および可能な使用法を、図面に示す例示的実施例と共に以下で説明する。
【0015】
以下では、図面に示す例示的実施例に照らして、本発明をより詳細に説明する。最後に示した参照符号のリストで使用される用語および関連する参照符号を、特許請求の範囲、要約、および図面中で使用する。
【0016】
以下は、この後で使用する用語の簡単な説明または定義である。
CORBA:共通オブジェクト・リクエスト・ブローカ・アーキテクチャ。各ホストにアプリケーションを分散するためのフレームワークの定義。
GIOP:一般ORB間プロトコル。2つのORB間通信用一般プロトコル。
ORB:オブジェクト・リクエスト・ブローカ。CORBAクライアントとCORBAサーバとの間の通信を許可する。
IIOP:インターネットORB間プロトコル。TCP/IPベースのネットワーク用のGIOPのアプリケーション。
IIOP PDU:インターネットORB間プロトコル・データ単位。
PDU:プロトコル・データ単位。送信機と受信機との間で交換されるバイナリ・コード・メッセージ。
メッセージ:PDUとして送られる情報の項目。符号化方式ではなく、情報の意味が先頭にある。
TCP/IP:伝送制御プロトコル/インターネット・プロトコル(一般に使用されるインターネット・プロトコル)。
UML:統合モデル化言語。
ホスト:分散アプリケーションの一部が動作し、固有アドレスによってアクセスすることができるコンピュータ。
ポート:ホスト内の複数の異なるエージェントに対する接続を確立することが可能なアドレスの論理サブディビジョン。
エージェント:GIOPメッセージを送受信することを担当するエンティティ。
オブジェクト・キー:エージェントにより供給され、IORを生成するために使用される特定の値。
IOR:相互運用オブジェクト参照。IIOPプロトコルに基づいてCORBAオブジェクトを一意的にアドレス指定するために使用される。
ターゲット・アドレス:GIOPリリース1.2現在、オブジェクトに関する複数の異なるアドレス指定モードを記述する用語「ターゲット・アドレス」が導入されている。基本機能に関しては、以前は排他的に使用されていた「ターゲット・アドレス」とオブジェクト・キーは、ほぼ同一と見なすことができる。
タイプ・コード:ORB内のデータ構造の記述。
クライアント:プロセスが分散アプリケーション内で請け負うことができる役割。クライアントは、サーバに対する接続をオープンするエージェントである。
サーバ:プロセスが分散アプリケーション内で請け負うことができる役割。サーバは、クライアントがそれに対する接続を確立するエージェントである。
アドレス:例示的な実施例でのホストの固有識別。
分散CORBAアプリケーション:異なるホスト上に分散し、IDL内で定義されたインターフェースを介してGIOPメッセージを交換する複数のプロセスから構成される。
IDL:オブジェクト指向インターフェース記述言語。
CDR:共通データ表現。
要求:クライアントからサーバにメソッド呼出しを送る特定のGIOPメッセージ。
応答:先行する要求に応答して、サーバからクライアントに送られる特定のGIOPメッセージ。
プロセス:ホスト上のプログラムの記憶エンティティ。
インターフェース:メソッド呼出しの形でサーバ内のエージェントを介してそのエンティティにアクセスすることができるCORBAオブジェクトの、IDL内に定義される記述。
デコーダ:PDU中に符号化される情報を、含まれるメッセージの可読表現に変換するシステム。この例示的実施例の状況では、これは、本発明による方法を使用するシステムである。
シグニチャ:プログラミング言語によって作り出された用語。同名のメソッドは、パラメータが異なるために相異なる可能性がある。この識別基準がシグニチャと呼ばれる。IDLは、同じコンテキスト内の同名のメソッドの定義を除外し、それによってメソッドのシグニチャも符号化する必要がなくなる。
IFR:インターフェース・リポジトリ。後にアクセスする目的で、IDL定義を介して情報を利用可能にするために、CORBA標準で定義されるオプション。
【0017】
図1に、本発明による方法の基本的実施例、具体的には、その実用的な応用例の基本的実施例を示す。分散CORBAアプリケーション14の2つのコンポーネント1および1’が通信し、一方のコンポーネント1または1’がクライアント役として動作し、他方がサーバ役として動作する。この2つのコンポーネント1および1’は、異なるホスト・システム上で動作し、その結果インターネットORB間プロトコルIIOP 2を介してメッセージを送らなければならないと仮定する。このプロセスでは、2つの関係するオブジェクト・リクエスト・ブローカ6間にTCP/IP接続13が確立され、この接続を介して、インターネットORB間プロトコル8データ単位(IIOP−PDU)が送られる。インターフェース8によって値6の厳密な記述がORB 4内のデータ構造の記述を表すいわゆる「タイプ・コード」5の形でオブジェクト・リクエスト・ブローカ4内に存在する間、プロトコル・データ単位の場合にタイプ・コード5の伝送が不要となる。それぞれの他のオブジェクト・リクエスト・ブローカ4中の値が、インターフェース8のCDRデコーダ7を介して復号される。すべての必要な情報、例えば、Request_id、「ターゲット・アドレス」、および呼び出されるメソッドの名前がそこで利用可能であるからである。この情報により、プロトコル・データ単位(PDU)をオブジェクトに関連付けることが可能となる。GIOPデコーダ3で復号するのに必要なタイプ・コード5は、オブジェクトに関連するインターフェース定義によって決定することができる。GIOPデコーダ3は、受動CORBAアナライザ11の一部を形成し、CORBAインターフェース・リポジトリ10を介してIDLファイル9からも情報を受け取り、GIOPメッセージ12を送達する。
【0018】
図2に、このようなトレース・ツールが、監視するプロトコル・データ単位(PDU)を別の評価のために転送するようにどのように意図されるかを示す。システムの様々な地点、例えば各ホストでのプロトコル・データ単位(PDU)の監視は同時に行われる。
【0019】
図3は、以下で例示によってさらに詳細に説明する方法により、監視するプロトコル・データ単位(PDU)、接続パラメータ、および図4による関連するIDL定義だけに基づいて、一般ORB間プロトコル・データ単位(GIOP PDU)を図5に示すように完全に復号することが可能となることを示す。
【0020】
使用する接続指向プロトコル特有の情報により、記録された一般ORB間プロトコル・メッセージを、2つの通信するエージェントまたはコンポーネント1および1’と関連付けることが可能となる。さらに、要求で符号化されるターゲット・アドレスを介して、アドレス指定したCORBAオブジェクトを一意的に識別することも可能となる。やはり送られる「応答id(Reply id)」により、応答が同じ接続を介して関連する要求として送られることによって、応答を一意的に関連付けることができる。
【0021】
受動GIOPデコーダ3によるプロトコル・データ単位(PDU)の分析中に問題が存在する。その解決策を以下で説明する。
【0022】
ロギングした要求プロトコル・データ単位(要求PDU)は、それ自体で呼び出すメソッドの名前だけを含み、そのIDL定義や、アドレス指定したオブジェクトの下にあるインターフェースの名前を含まない。したがって、プロトコル・データ単位(PDU)を復号するために必要な情報が欠けている。図6に示す例示的実施例は、受け取ったプロトコル・データ単位(PDU)をGIOPデコーダ3が常に復号することが可能となる方法を表す。
【0023】
図6は、UML表現のインターフェース定義を含む。
【0024】
既に説明したように、メソッド「Count」を呼び出したという情報は、インターフェースA1、インターフェースA2、またはこれらの定義から継承するインターフェース定義のうち1つがアドレス指定したオブジェクト下にあるかどうかを判定するのに十分ではない。メソッドgetElemの呼出しも、どのインターフェース定義がオブジェクト下にあるかを一意的に判定するのに十分ではない。しかし、他のインターフェース定義は、この方法の範囲内で完全に可能である。したがって、この方法の基本的概念は、プロトコル・データ単位(PDU)から導出される個々の不完全な情報の集合を単一オブジェクトごとに個別に収集し、相関させることである。このようにして、復号中に基礎とするインターフェース定義用の十分な選択基準が、複数の必要条件から得られる。
【0025】
この状況では、単一オブジェクトに関連して、GIOPデコーダ3で以下の段階を識別することができる。
1.初期化
すべての可能なインターフェース定義のリストを作成する。このリストは、具体的には、特定のホスト、特定のエージェント、すなわちGIOPメッセージを送受信することを担当するエンティティ、またはエージェント特有のターゲット・アドレスに関して記憶される。追加の情報が周知でない場合、最も一般的なケースでは、システム全体で使用するすべてのインターフェース定義のリストだけを初期化すべきである。
2.学習
排他基準(exclusion criteria)を使用して、評価されたメッセージをまだ一意的に復号することができない可能性の数を減らす。このような場合、特定のオブジェクト下にある可能性のある複数のインターフェース定義が存在する。
3.復号
どのインターフェース定義がそのオブジェクト下にあるかを一意的に確認した。したがって、オブジェクトと送受信するメッセージを復号することができる。
【0026】
原理上は、特に段階2と段階3との間に明確な区分はない。段階3から段階2に部分的に戻ることが必要となる可能性がある。段階3にまだ到達していないために復号することができないすべてのメッセージは、単に非復号形式で出力するか、または復号プロセスを後に完了しなければならない可能性がある。特に単純かつ有利な実施例は、始めにすべての記録されたプロトコル・データ単位(PDU)と共に段階2を実施し、その後ですべてのこれらのプロトコル・データ単位(PDU)を段階3で再度復号することである。
【0027】
IIOPプロトコルに基づいてCORBAオブジェクトを一意的にアドレス指定するために使用する相互運用オブジェクト参照(IOR)の交換中、情報がサーバからクライアントに送られる。この情報を得ることにより、GIOPメッセージの後の復号をずっと容易にすることができる。しかし、相互運用オブジェクト参照(IOR)の交換は、実際に後続のメッセージ交換の前提条件ではあるが、その一部を形成しない。このため、実際のクライアント・サーバ接続に加えて、別のIIOP接続を選択的にロギング/トレースし、それを後続の復号に含めることが助けになる。しかし、これにより、解析すべき追加の知識がシステム上に必要となる。これに関して、命名サーバまたは情報リポジトリへの接続が特に興味深い。
【0028】
請求項に記載の方法の、別の有利な実施例は、アクティブなサーバに関して得られる情報、下にあるインターフェース定義、ならびに選択的なロギング/記録および復号による関連するアドレスが、非システム・クライアント実装に渡されるものである。この手順により、あらかじめオブジェクト参照をロードし、または要求したりせずに、分散アプリケーションの通信で仲裁することが可能となる。これにより、多くのアクティブ・テスト・アプリケーションで共通の問題、すなわちオブジェクト参照が分散アプリケーションの外部で周知でないときにオブジェクト参照を得る問題が回避される。
【0029】
次に、以下ではある条件におけるいくつかの特殊なケースを説明する。
【0030】
第1のケースでは、呼出しメソッドおよび関連するインターフェース定義が、インターフェース・リポジトリ(InterFace Repository:IFR)内に格納されないと仮定する。この状況では、分散アプリケーションで使用されるインターフェース定義のすべてが、GIOPデコーダ3のインターフェース・リポジトリ(IFR)内に格納されるわけではないと仮定する。このケースでは、インターフェース・リポジトリ(IFR)で、メソッドが適切な名前で全く定義されていないと仮定する。したがって、メソッドANDは要求プロトコル・データ単位(PDU)で呼び出され、したがってインターフェース・リポジトリ(IFR)(例えばインターフェースA、インターフェースA1およびA2)に存在するインターフェース定義に基づいて、アドレス指定したオブジェクトに対して可能なインターフェース定義の数を制限することができず、このプロトコル・データ単位(PDU)の復号に関して情報を得ることもできない。したがって、このプロトコル・データ単位(PDU)は、どちらの復号形式でも表すことができない。
【0031】
第2の特殊ケースでは、AlSubで定義されるメソッドgetElemが要求プロトコル・データ単位で符号化されると仮定する。さらに、メソッドgetElemが同時にA2にも定義されると仮定する。議論する要求に関する可能なインターフェース定義の集合内にインターフェース定義A2が依然として存在する場合、GIOPデコーダ3は、符号化GIOPメッセージを定義A2:getElemを使用して復号できないことを確立することになる。このために、GIOPデコーダ3はインターフェースA2を除外し、それから継承したすべての定義は、アドレス指定したオブジェクトに対して可能なインターフェース定義の集合に属する。したがってこの例では、定義A2およびA2Subは、A2SubはGIOPデコーダ3ではいずれにしても注目されないことを除けば、除外することができる。
【0032】
第3の特殊ケースA3では、呼び出すメソッドおよび関連するインターフェース定義がインターフェース・リポジトリ(IFR)内に格納されると仮定する。しかし、それと両立する定義は、別のインターフェース定義内のインターフェース・リポジトリIFRの外部に存在する。メソッドA2「Sub::ismember」を起動する要求は、このメソッドによってインターフェース定義A1に間違って関連付けられる。インターフェース定義A1が、このメソッドを含むインターフェース・リポジトリ(IFR)内の唯一の定義であるからである。したがって、正しくプロトコル・データ単位(PDU)を復号することが実際に可能であるが、将来の要求は、オブジェクトに対して使用されるインターフェース定義に関する偽データのために復号することができない。この不規則な挙動を除外するため、2つの基本的手順を実装することができる。
1.GIOPデコーダ3のオペレータは、分散アプリケーションで使用されるすべてのIDL定義がインターフェース・リポジトリ(IFR)内に格納されることを保証しなければならない。この例で、A2Subがインターフェース・リポジトリIFR内でも周知であった場合、ここで説明した不規則な判定は生じない。
2.ブロック化リストに基づいて、含まれるメソッド名を介して識別されるある要求を使用してインターフェース定義を除外しないように、GIOPデコーダを手動で構成する。
【0033】
2つの別の特殊ケースB1およびB2では、要求プロトコル・データ単位(PDU)を単一インターフェース定義に一意的に関連付けることができないが、同一のメソッド定義だけが異なるインターフェース定義内で選択用に残されているので、プロトコル・データ単位を事前に復号することができると仮定する。それでも、特殊ケースB1では、能力が共通祖先を介して継承されるので復号が可能である。したがって、メソッド定義は等しいだけでなく、同一であり、より厳密なステートメントが可能となるまで定義Aがオブジェクト下にあると仮定することができる。
【0034】
特殊ケースB2では、共通祖先を用いずに複数のインターフェース定義が可能であると仮定する。したがって、特定のメソッドが実際には共通祖先を介して継承されたのではなく、何回かの定義が存在し、それによってA1:Xを表したのか、それともA2:Xを表したのかに関する判定を行うことさえせずに要求を復号することが可能となるケースが生ずる。
【0035】
最後に、要求を複数の異なるメソッド定義に基づいて復号することができる特殊ケースCを説明する。定義は互いに異なるので、プロトコル・データ単位(PDU)の復号は、各ケースで、結果として異なるメッセージを生成することになる。したがって、プロトコル・データ単位(PDU)は、非両立な定義を他のプロトコル・データ単位(PDU)に基づいて除外することができる場合にのみ復号することができる。
【0036】
疑似コードとして単純化形式で表されるメソッドの基本シーケンスを以下で説明する。
【0037】
話を簡単にするために、TCPを移送プロトコルとして使用すると仮定する。やはり話を簡単にするために、GIOPメッセージ・タイプの要求および応答だけが存在すると仮定する。しかし、このことは、メソッドのオペレーションの基本モードについて何ら変更を行うものではない。
1.次のTCPメッセージを読み取る
2.メッセージ・タイプを判定する
2.1 要求の場合、3に進む
2.2 応答の場合、4に進む
3.要求を復号する
3.1 フィールドiAddrDestおよびDestPortからCORBAエージェントを判定する
3.2 GIOPコーディングから呼び出すメソッドの名前を判定する
3.3 使用するobject_key下の、このエージェントに対するすべてのインターフェース定義のリストを確立する
3.3.1 リストが格納されていない場合、IFR内に格納されているすべてのインターフェース定義を含む新しいリストを生成する
3.3.2 リストをロードする
3.4 メソッド名がブロック化メソッドのリスト中にある場合、3.5をスキップし、3.6に進む
3.5 リストを更新する
3.5.1 インターフェース定義で現メソッドが許可されていないすべての要素をリストから除去する
3.5.1.1 メソッドがインターフェース定義のいずれにも格納されていない場合、特殊ケースA1が当てはまる。このステップをやり直し、1に進む
3.5.1.2 現メッセージを復号することができるようにメソッドがインターフェース定義のいずれにも格納されていない場合、特殊ケースA2が当てはまる。このケースでは、非両立のメソッドを定義する要素だけを除去し、1に進む
3.5.1.3 このメソッドを非両立に定義するか、または全く定義しないすべての要素を除去する
3.5.2 更新したリストを格納する
3.6 メッセージを復号する
3.6.1 1つのインターフェース定義だけがリスト内に格納されている場合、このインターフェース定義を取り、メッセージを復号する。3.7に進む
3.6.2 固有の階層的継承関係がリスト内に含まれるインターフェース定義間に存在する場合、特殊ケースB1が当てはまる。この場合、リスト内に含まれる共通祖先のIDL定義を取る。3.7に進む
3.6.3 それぞれのメソッドがリスト内に含まれるインターフェース定義内に等しく定義された場合、特殊ケースB2が当てはまる。この場合、復号のために含まれる任意のIDL定義を取る。3.7に進む
3.6.4 特殊ケースCが当てはまる。メッセージは現在、一意的に復号可能ではない。1に進む
3.7 応答を復号するための情報を、「iAddrSource」、「SourcePort」、「iAddrDest」、および「DestPort」から構成されるラベルの下に格納する。
3.8 1に進む
4.応答を復号する
4.1 フィールドiAddrSourceおよびSourcePortからCOBRAエージェントを決定する
4.2 関連する要求がiAddrDest、DestPort、iAddrSource、およびSourcePortから構成されるラベルの下に格納されていない場合、1に進む
4.3 関連する要求をロードする
4.4 要求のIDL定義を取り、応答を復号する
4.5 1に進む
【図面の簡単な説明】
【図1】
インターネットORB間プロトコル(IIOP)の例による、受動GIOPデコーダの使用法を示す図である。
【図2】
TCP/IPを介して送られるGIOPメッセージ用のトレース・インターフェースを表す図である。
【図3】
記録されたGIOPメッセージの表現である。
【図4】
インターフェースのIDL定義を示す図である。
【図5】
手動で復号されるGIOPメッセージを示す図である。
【図6】
階層インターフェース定義のUML表現を示す図である。
【符号の説明】
1,1’ IIOPを介するクライアント/サーバ分散型CORBAアプリケーションのコンポーネント
2 IIOPインターネットORB間プロトコル
3 GIOPデコーダ
4 オブジェクト・リクエスト・ブローカ
5 タイプ名またはコード
6 値
7 CDRコーダ
8 インターフェース
9 IDLファイル
10 CORBA IFR
11 受動CORBAアナライザ
12 GIOPメッセージ
13 TCP接続
14 分散CORBAアプリケーション
15 GIOP PDUを用いたTCP/IPメモリ・ダンプ
16 トレース・ツール
Claims (11)
- 2つのオブジェクト・リクエスト・ブローカ(4)間で通信して、含まれるメッセージの可能な限り完全な表現を得るためのプロトコルの、送信済みプロトコル・データ単位(PDU)を解析する方法であって、例えば分散CORBAアプリケーション(14)の2つのコンポーネント(1、1’)が互いに通信し、一方のコンポーネント(1、1’)がクライアント役として動作し、他方がサーバ役として動作し、各コンポーネントがどちらも異なるホスト上にインストールされ、
個々のプロトコル・データ単位(PDU)から導出される不完全な情報の集合を、単一オブジェクトごとに個別に収集し、相関させ、
復号中に基礎とするインターフェース定義用の十分な選択基準が、複数の必要条件から得られ、
復号を3つの段階で実施し、
第1段階が、すべての可能なインターフェース定義のリストが作成される初期化段階であり、
第2段階が、可能性の数を減らすための排他基準が導入される学習段階であり、どのインターフェース定義がオブジェクト下にあるかを一意的に決定し、
復号段階である第3段階で、オブジェクトと送受信するメッセージを復号する方法。 - 請求項1に記載の方法において、
最初に、交換する情報の集合を収集し、それをロギングすることによって排他的受動的に分析し、
交換した情報の集合(PDU)を、分散アプリケーション(14)で使用されるIDL定義に基づいて復号し、
既存のあいまいさの一部を、復号したメソッド名の一意性またはその固有パラメータ表示によって直ちに除外し、
単一プロトコル・データ単位(PDU)で復号された情報を使用して除外することができないあいまいさを、一般ORB間プロトコル(GIOPPDU)の複数のプロトコル・データ単位を介して反復的系統的に解決することを特徴とする方法。 - 請求項1に記載の方法において、
最初に、すべての記録したプロトコル・データ単位(PDU)を用いて段階2を実施し、
その後で、これらプロトコル・データ単位(PDU)のすべてを、段階3で再び復号することを特徴とする方法。 - 請求項1乃至3のいずれかに記載の方法において、
使用するインターフェース定義を確立するために、特定のエージェントについての予備段階で、初期可能性の制限を構成し、前記特定のエージェントが、インターネットORB間プロトコル(8)では、IPアドレスおよびTCPポート(13)によって定義されることを特徴とする方法。 - 請求項1乃至3のいずれかに記載の方法において、
どのインターフェース定義が使用可能であるかに関する初期可能性を制限するために、特定のホストについての予備段階で構成し、前記特定のホストが、インターネットORB間プロトコル(8)では、IPアドレスによって定義されることを特徴とする方法。 - 請求項1乃至5のいずれかに記載の方法において、
情報の不足により復号することができないプロトコル・データ単位(PDU)をキュー内に置き、
後で、この情報を他の復号済みプロトコル・データ単位(PDU)に基づいて得たときに、これらのプロトコル・データ単位を復号することを特徴とする方法。 - 請求項1乃至6のいずれかに記載の方法において、
ブロック化リストに基づいて、含まれるメソッド名を介して定義することができるある要求がインターフェース定義を除外する目的でアクティブとならないことを特徴とする方法。 - 請求項1乃至7のいずれかに記載の方法において、
GIOPデコーダ(3)の任意選択設定のために、プロトコル・データ単位(PDU)の不規則な復号により、必ずしも下にあるインターフェース定義が除外されず、
正しく復号したメソッドが、時折コーディング・エラーとなる場合であっても依然として復号可能であることを特徴とする方法。 - 請求項1乃至8のいずれかに記載の方法において、
オブジェクトの下にあるインターフェース定義に関する情報を供給するCORBA標準で定義されるメソッドの内容を、アドレス指定したオブジェクトに対する可能なインターフェース定義の数を制限するために評価されることを特徴とする方法。 - 請求項1乃至9のいずれかに記載の方法において、
一般ORB間プロトコル(GIOP)のロギングしたプロトコル・データ単位(PDU)が、インターネットORB間プロトコル(IIOP)を介して送られることを特徴とする方法。 - 請求項1乃至10のいずれかに記載の方法において、
一般ORB間プロトコル(GIOP)の復号メッセージによって得られる情報が、アクティブ・サーバを介して使用され、非システム・クライアント・アプリケーションを使用してこれらのサーバへの接続が確立され、これらのサーバに対する要求、例えばCORBA要求が送信されることを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10018288A DE10018288A1 (de) | 2000-04-13 | 2000-04-13 | Verfahren zur Analyse gesendeter Protokolldateneinheiten |
PCT/EP2001/003076 WO2001079991A2 (de) | 2000-04-13 | 2001-03-17 | Verfahren zur analyse gesendeter protokolldateneinheiten |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004518310A true JP2004518310A (ja) | 2004-06-17 |
JP2004518310A5 JP2004518310A5 (ja) | 2008-05-08 |
JP4597464B2 JP4597464B2 (ja) | 2010-12-15 |
Family
ID=7638579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001576591A Expired - Fee Related JP4597464B2 (ja) | 2000-04-13 | 2001-03-17 | 送信されたプロトコル・データ単位を解析する方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7107492B2 (ja) |
EP (1) | EP1277309B1 (ja) |
JP (1) | JP4597464B2 (ja) |
AT (1) | ATE331364T1 (ja) |
AU (1) | AU6013201A (ja) |
DE (2) | DE10018288A1 (ja) |
WO (1) | WO2001079991A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10018288A1 (de) | 2000-04-13 | 2001-10-18 | Deutsche Telekom Ag | Verfahren zur Analyse gesendeter Protokolldateneinheiten |
US20060082581A1 (en) * | 2004-10-14 | 2006-04-20 | Microsoft Corporation | Encoding for remoting graphics to decoder device |
US7852342B2 (en) * | 2004-10-14 | 2010-12-14 | Microsoft Corporation | Remote client graphics rendering |
US8527563B2 (en) * | 2005-09-12 | 2013-09-03 | Microsoft Corporation | Remoting redirection layer for graphics device interface |
US7975059B2 (en) * | 2005-11-15 | 2011-07-05 | Microsoft Corporation | Generic application level protocol analyzer |
US8935677B2 (en) * | 2008-04-07 | 2015-01-13 | Microsoft Corporation | Automatic reverse engineering of input formats |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11119986A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体 |
JP2000056997A (ja) * | 1998-08-10 | 2000-02-25 | Nec Software Ltd | 分散オブジェクト環境におけるサーバ・クライアント間の非同期通知装置及びその方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0474932A1 (en) * | 1990-09-13 | 1992-03-18 | Hewlett-Packard Company | Network fault analyzer |
JPH04336731A (ja) * | 1991-05-14 | 1992-11-24 | Nec Corp | プロトコルデータ生成解析装置 |
DE19534207A1 (de) * | 1995-09-15 | 1997-03-20 | Sel Alcatel Ag | Verfahren zur Kodierung oder Dekodierung von Protokolldateneinheiten (PDU) |
DE69720857T2 (de) * | 1996-05-31 | 2004-02-05 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation |
US6499060B1 (en) * | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
US6467052B1 (en) * | 1999-06-03 | 2002-10-15 | Microsoft Corporation | Method and apparatus for analyzing performance of data processing system |
US6963912B1 (en) * | 1999-06-28 | 2005-11-08 | Xacct Technologies, Ltd. | Method and apparatus for session reconstruction |
DE19936118A1 (de) | 1999-07-31 | 2001-02-01 | Ibm | Verfahren zur Fehlersuche in verteilten Anwendungen |
DE10018288A1 (de) | 2000-04-13 | 2001-10-18 | Deutsche Telekom Ag | Verfahren zur Analyse gesendeter Protokolldateneinheiten |
-
2000
- 2000-04-13 DE DE10018288A patent/DE10018288A1/de not_active Withdrawn
-
2001
- 2001-03-17 EP EP01933722A patent/EP1277309B1/de not_active Expired - Lifetime
- 2001-03-17 US US10/220,966 patent/US7107492B2/en not_active Expired - Fee Related
- 2001-03-17 AU AU60132/01A patent/AU6013201A/en not_active Abandoned
- 2001-03-17 AT AT01933722T patent/ATE331364T1/de not_active IP Right Cessation
- 2001-03-17 DE DE50110263T patent/DE50110263D1/de not_active Expired - Lifetime
- 2001-03-17 JP JP2001576591A patent/JP4597464B2/ja not_active Expired - Fee Related
- 2001-03-17 WO PCT/EP2001/003076 patent/WO2001079991A2/de active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11119986A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体 |
JP2000056997A (ja) * | 1998-08-10 | 2000-02-25 | Nec Software Ltd | 分散オブジェクト環境におけるサーバ・クライアント間の非同期通知装置及びその方法 |
Also Published As
Publication number | Publication date |
---|---|
DE50110263D1 (de) | 2006-08-03 |
EP1277309B1 (de) | 2006-06-21 |
US20030033560A1 (en) | 2003-02-13 |
EP1277309A2 (de) | 2003-01-22 |
DE10018288A1 (de) | 2001-10-18 |
US7107492B2 (en) | 2006-09-12 |
WO2001079991A3 (de) | 2002-05-02 |
ATE331364T1 (de) | 2006-07-15 |
AU6013201A (en) | 2001-10-30 |
WO2001079991A2 (de) | 2001-10-25 |
JP4597464B2 (ja) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5354776B2 (ja) | 動的なアプリケーションの利用情報の分散取得および集約 | |
US5546584A (en) | System and method for establishing communication protocols between application programs | |
US6996500B2 (en) | Method for communicating diagnostic data | |
US20050193056A1 (en) | Message transfer using multiplexed connections in an open system interconnection transaction processing environment | |
CN102064954B (zh) | 一种分布式容错系统、设备和方法 | |
MXPA04002729A (es) | Transmision y recepcion de mensajes a traves de un canal de comunicacion y modelo de programacion adaptable. | |
CN115516840A (zh) | 一种信息处理方法、设备、系统、介质、芯片及程序 | |
JP4597464B2 (ja) | 送信されたプロトコル・データ単位を解析する方法 | |
CN111698310B (zh) | 基于swift网络的多测试环境调度方法及装置 | |
US6378005B1 (en) | Method, computer program product, and system for separating connection management functionality from a connection-oriented device driver | |
US8516094B2 (en) | Method and network management apparatus for implementing information service level inheritance in network management system | |
JP2002196931A (ja) | サービス・ゲートウェイのための提供機構 | |
CA2550323A1 (en) | Method and system for improved management of a communication network by extending the simple network management protocol | |
CN115567216A (zh) | 一种全域业务访问关系的识别方法及装置 | |
Fischer et al. | Embedding SCI into PVM | |
KR20040001291A (ko) | 망 요소 관리 시스템에서 장치 연동 서버 및 방법 | |
McAvaney et al. | The Redevelopment of the RHODOS Interprocess Communication Suite for Unix | |
JPH11224226A (ja) | クライアント・サーバ間のゲートウェイにおけるインタフェース及びクライアント・サーバ間のプロトコルマッピング方法 | |
JP2000339280A (ja) | 分散オブジェクト間のプロトコル修正方法 | |
Forbici et al. | Design and implementation of a RPC/IDL to CMIP/GDMO gateway | |
CN117155999A (zh) | 一种Redis代理服务实现方法、系统、电子装置及计算机存储介质 | |
CN111861828A (zh) | 一种大数据环境下内外网资源共享前置子系统接入的方法 | |
Radermacher et al. | Interaction Components Between Components based on a Middleware | |
Jormakka | Helsinki Telephone Company, Research PO Box 138, 00381 Helsinki, Finland, E-mail: jorma. jormakka@ hpy. fi tel:+ 358 9 6064721, fax:+ 358 9 6064839 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080313 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080313 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100804 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100830 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100922 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |