(57)【要約】特定のメッセージプロトコルを検出し、さらに、検出されたメッセージプロトコルへ、ネットワークのリソースに対する侵入あるいは乱用を防止するポリシールールを適用する。  プロトコル管理システム（１００）は、１つの態様では、プロトコルメッセージゲートウェイ（１２２）は、ＩＳＯプロトコルスタックの層７に存在するような高レベルのメッセージプロトコルへポリシールールを適用するために構成されている。
2005529409.tif 000002
【特許請求の範囲】
【請求項１】
メッセージプロトコルを使用するメッセージを受信することと、
プロトコルルールが、メッセージに関連付けられたプロトコルに基づき、メッセージに適用されるべきであるか否かを決定することと、
プロトコル適合ルールがメッセージに適用されるべきことが決定されたとき、その後に、適切なプロトコルルールを適用することとを有している、ネットワーク内における通信プロトコル管理方法。
【請求項２】
プロトコルルールがメッセージに適用されるべきでないと決定されたとき、その後に、メッセージに関連付けされたプロトコルを実行することをさらに含む、請求項１の方法。
【請求項３】
ポリシールールが、受信されたメッセージのソースに基づいている、請求項１の方法。
【請求項４】
ポリシールールが、受信されたメッセージの意図された送付先に基づいている、請求項１の方法。
【請求項５】
ポリシールールが、受信されたメッセージに含まれている情報に基づいている、請求項１の方法。
【請求項６】
ポリシールールが、いつ受信されたメッセージが送られたか、あるいはいつ受信されるよう意図されていたかに基づいている、請求項１の方法。
【請求項７】
ポリシールールが、受信されたメッセージのサイズに基づいている、請求項１の方法。
【請求項８】
ポリシールールが、アタッチメントを含んでいるか否かに基づいている、請求項１の方法。
【請求項９】
ポリシールールが、受信されたメッセージがウイルスを含んでいるかどうかに基づいている、請求項１の方法。
【請求項１０】
受信されたメッセージに関連付けられた情報を記録することをさらに含む、請求項１の方法。
【請求項１１】
受信されたメッセージ、および関連するあらゆるメッセージに関連付けられる情報を含むログを生成することをさらに含む、請求項１の方法。
【請求項１２】
ログをコード化することをさらに含む、請求項１１の方法。
【請求項１３】
ログへのアクセスを制限することをさらに含む、請求項１１の方法。
【請求項１４】
ログ内に格納された情報からレポートを生成することをさらに含む、請求項１１の方法。
【請求項１５】
受信されたメッセージが、ネットワーク内部のソースに関連付けられた特定のスクリーンネームを含み、上記方法はさらに、
ソースに対する単一ユーザー名を決定することと、
スクリーンネームを単一ユーザー名に関連付けることと、
スクリーンネームと単一ユーザー名との間の関連付けを格納することとを含む、請求項１の方法。
【請求項１６】
ポリシールールを適用する前に、受信されたメッセージに関連付けられたセッションが、未だに進行しているか否かを決定することをさらに含む、請求項１５の方法。
【請求項１７】
受信されたメッセージが、ネットワークアドレスに関連付けされており、さらに、単一ユーザー名の決定が、ネットワークアドレスを用いてソースを特定することをさらに含む、請求項１５の方法。
【請求項１８】
単一ユーザー名を決定することが、ソースに関連付けられたグローバルユーザーイデンティフィケーションを決定することをさらに含む、請求項１７の方法。
【請求項１９】
グローバルユーザーイデンティフィケーションを決定することが、ソースに関連付けられた登録を査問することをさらに含む、請求項１８の方法。
【請求項２０】
スクリーンネームが、以前に単一ユーザー名に関連付けられていたか否かを決定すること、および、そうであった場合には、その後、ポリシーエンフォースメントルールを単一ユーザー名に基づくメッセージに適用することをさらに含む、請求項１５の方法。
【請求項２１】
メッセージを受信することと、
メッセージプロトコルがメッセージプロトコルテンプレートに整合しているか否かを決定するために、メッセージに関連付けられたメッセージプロトコルを検査することと、
整合していると、インターセプトされたメッセージに関連付けられたメッセージプロトコルのアスペクトをオーバーライドする、メッセージプロトコルテンプレートに関連付けられたポリシーエンフォースメントルールを適用することとをさらに含む、請求項１の方法。
【請求項２２】
ポリシーエンフォースメントルールを適用することが、ネットワーク内外へ流れるときに、インターセプトされたメッセージが、定義された通信接続の使用を強制することを含む、請求項２１の方法。
【請求項２３】
定義された通信接続が、ネットワークに関連付けられたゲートウェイ上の定義されたポートである、請求項２２の方法。
【請求項２４】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続の切断を含む、請求項２１の方法。
【請求項２５】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続をリセットすることを含む、請求項２１の方法。
【請求項２６】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた情報を記録することを含む、請求項２１の方法。
【請求項２７】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージ、および任意の関連するメッセージに関連付けられた情報を含むログを作成することを含む、請求項２１の方法。
【請求項２８】
メッセージプロトコルテンプレートが、インスタントメッセージングメッセージに関連付けられている、請求項２１の方法。
【請求項２９】
メッセージプロトコルテンプレートが、ピアツーピアメッセージに関連付けられている、請求項２１の方法。
【請求項３０】
メッセージプロトコルテンプレートが、ファイルシェアリングメッセージに関連付けられている、請求項２１の方法。
【請求項３１】
プロトコルメッセージゲートウェイをネットワークとインターフェースで接続するよう構成された、ネットワークインターフェースと、
ポリシールールを適用するよう構成されたポリシーエンフォーサと、
ネットワークインターフェースに結合されたゲートウェイマネージャであって、メッセージプロトコルを含んでいるメッセージを受信し、メッセージに関連付けられたプロトコルに基づいてポリシールールをメッセージに適用すべきか否かを決定し、更に、ポリシールールをメッセージに適用すべきであると決定されると、メッセージをポリシーエンフォーサに転送するように構成されるゲートウェイマネージャと、を有しているプロトコルメッセージゲートウェイ。
【請求項３２】
メッセージプロトコルを実行するよう構成されたプロトコルアダプタをさらに含み、ゲートウェイマネージャは、ポリシールールがメッセージに適用されるべきでないと決定されたとき、メッセージをプロトコルアダプタに送るよう構成されている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３３】
ポリシールールが、上記受信されたメッセージのソースに基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３４】
ポリシールールが、上記受信されたメッセージの意図された送付先に基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３５】
ポリシールールが、上記受信されたメッセージに含まれている情報に基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３６】
ポリシールールが、いつ受信されたメッセージが送られたか、あるいはいつ受信されるよう意図されたかに基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３７】
ポリシールールが、上記受信されたメッセージのサイズに基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３８】
ポリシールールが、上記受信されたメッセージがアタッチメントを含んでいるか否かに基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項３９】
ポリシールールが、上記受信されたメッセージがウイルスを含んでいるか否かに基づいている、請求項３１のプロトコルメッセージゲートウェイ。
【請求項４０】
上記受信されたメッセージに関連付けられた情報を記録するよう構成されたロギングモジュールをさらに含む、請求項３１のプロトコルメッセージゲートウェイ。
【請求項４１】
ロギングモジュールが、上記受信されたメッセージ、および任意の関連するメッセージに関連付けられる情報を含むログを生成するようさらに構成されている、請求項４０のプロトコルメッセージゲートウェイ。
【請求項４２】
ロギングモジュールが、ログをコード化するようさらに構成されている、請求項４１のプロトコルメッセージゲートウェイ。
【請求項４３】
ロギングモジュールが、ログへのアクセスを制限するようさらに構成されている、請求項４２のプロトコルメッセージゲートウェイ。
【請求項４４】
ロギングモジュールが、ログ内に格納された情報からレポートを生成するようさらに構成されている、請求項４２のプロトコルメッセージゲートウェイ。
【請求項４５】
認証モジュールをさらに含み、上記受信されたメッセージが、ネットワーク内部のソースに関連付けられた特定のスクリーンネームを含み、該認証モジュールが、
ソースに対する単一ユーザー名を決定し、
スクリーンネームを単一ユーザー名に関連付け、
スクリーンネームと単一ユーザー名との間の関連付けを格納するように構成されている請求項３１のプロトコルメッセージゲートウェイ。
【請求項４６】
上記受信されたメッセージが、ネットワークアドレスに関連付けされており、さらに、単一ユーザー名を決定することが、ネットワークアドレスを用いてソースを特定することを含む、請求項４５のプロトコルメッセージゲートウェイ。
【請求項４７】
単一ユーザー名を決定することが、ソースに関連付けられたグローバルユーザーイデンティフィケーションを決定することをさらに含む、請求項４６のプロトコルメッセージゲートウェイ。
【請求項４８】
グローバルユーザーイデンティフィケーションを決定することが、ソースに関連付けられた登録を査問することをさらに含む、請求項４７のプロトコルメッセージゲートウェイ。
【請求項４９】
認証モジュールが、スクリーンネームが、以前に単一ユーザー名に関連付けられていたか否かを決定するようさらに構成されている、請求項４５のプロトコルメッセージゲートウェイ。
【請求項５０】
ネットワーク上で通信されるメッセージをインターセプトし、さらに、メッセージプロトコルがメッセージプロトコルテンプレートに整合しているか否かを決定するために、メッセージに関連付けられたメッセージプロトコルを検査し、さらに、整合していると、インターセプトされたメッセージに関連付けられたメッセージプロトコルのアスペクトをオーバーライドする、メッセージプロトコルテンプレートに関連付けられたポリシーエンフォースメントルールを適用するよう構成されたポリシーエンフォーサーをさらに含む、請求項３１のプロトコルメッセージゲートウェイ。
【請求項５１】
ポリシーエンフォースメントルールを適用することが、ネットワーク内外へ流れるときに、インターセプトされたメッセージが定義された通信接続の使用を強制することを含む、請求項５０のプロトコルメッセージゲートウェイ。
【請求項５２】
定義された通信接続が、ネットワークに関連付けられたゲートェイ上の定義されたポートである、請求項５１のプロトコルメッセージゲートウェイ。
【請求項５３】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続を終了することを含む、請求項５０のプロトコルメッセージゲートウェイ。
【請求項５４】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた情報をリセットすることを含む、請求項３１のプロトコルメッセージゲートウェイ。
【請求項５５】
メッセージを意図された送付先へリダイレクトするよう構成された、外部サーバに向けて意図されたメッセージをインターセプトすることと、
送付先がそのネットワーク内部にあるか否かを決定することと、
送付先がネットワーク内部であると決定されたとき、外部サーバをバイパスして、そのメッセージを送付先へリダイレクトすることとを有している、ネットワークにおける通信トラフィック管理方法。
【請求項５６】
受信されたメッセージがスクリーンネームを含み、さらに、方法がソースに対する単一ユーザー名を決定すること、スクリーンネームを単一ユーザー名と関連付けること、およびスクリーンネームと単一ユーザー名との間の関連付けを格納することをさらに含む、請求項５５の方法。
【請求項５７】
受信されたメッセージを単一ユーザー名に基づいて処理するポリシールールを選択すること、および、ポリシールールをメッセージへ適用することをさらに含む、請求項５６の方法。
【請求項５８】
ポリシールールが、受信されたメッセージのソースに基づいている、請求項５７の方法。
【請求項５９】
ポリシールールが、受信されたメッセージの意図された送付先に基づいている、請求項５７の方法。
【請求項６０】
ポリシールールが、受信されたメッセージに含まれている情報に基づいている、請求項５７の方法。
【請求項６１】
ポリシールールが、いつ受信されたメッセージが送られたか、あるいはいつ受信されるよう意図されていたかに基づいている、請求項５７の方法。
【請求項６２】
ポリシールールが、受信されたメッセージのサイズに基づいている、請求項５７の方法。
【請求項６３】
ポリシールールが、受信されたメッセージがアタッチメントを含んでいるか否かに基づいている、請求項５７の方法。
【請求項６４】
ポリシールールが、受信されたメッセージがウイルスを含んでいるか否かに基づいている、請求項５７の方法。
【請求項６５】
ポリシールールを適用する前に、受信されたメッセージに関連付けられたセッションが、未だに進行しているか否かを決定することをさらに含む、請求項５７の方法。
【請求項６６】
受信されたメッセージに関連付けられた情報を記録することをさらに含む、請求項５５の方法。
【請求項６７】
受信されたメッセージ、および任意の関連するメッセージに関連付けられた情報を含むログを生成することをさらに含む、請求項５５の方法。
【請求項６８】
受信されたメッセージが、ネットワークアドレスに関連付けされており、さらに、単一ユーザー名を決定することが、ネットワークアドレスを用いてソースを特定することをさらに含む、請求項５６の方法。
【請求項６９】
単一ユーザー名を決定することが、ソースに関連付けられたグローバルユーザーイデンティフィケーションの決定をさらに含む、請求項６８の方法。
【請求項７０】
グローバルユーザーイデンティフィケーションを決定することが、ソースに関連付けられた登録を査問することをさらに含む、請求項６９の方法。
【請求項７１】
スクリーンネームが、以前に単一ユーザー名に関連付けられていたか否かを決定すること、およびそうであった場合には、その後、ポリシールールを単一ユーザー名に基づいてメッセージに適用することをさらに含む、請求項５６の方法。
【請求項７２】
送付先がネットワーク内部に存在するか否かを決定することが、
メッセージからの送付先に関連付けられたスクリーンネームを決定することと、
送付先スクリーンネームが、ネットワークにより使用される単一ユーザー名に関連付けられているか否かを決定することとを含む、請求項５５の方法。
【請求項７３】
送付先がネットワーク内部に存在するか否かを決定することが、送付先スクリーンネームが未だに単一ユーザー名に関連付けられていないことが決定したなら、送付先スクリーンネームを、ネットワークにより使用されている単一ユーザー名に関連付けるよう試みることをさらに含む、請求項７２の方法。
【請求項７４】
送付先スクリーンネームを単一ユーザー名に関連づけるよう試みることが、
送付先に対する単一ユーザー名を決定することと、
送付先スクリーンネームを単一送付先ユーザー名に関連付けることと、
送付先スクリーンネームと単一送付先ユーザー名との間の関連付けを格納することとを含む請求項７３の方法。
【請求項７５】
受信されたメッセージを単一送付先ユーザー名に基づいて処理するポリシールールを選択すること、および、ポリシールールをメッセージへ適用することをさらに含む、請求項７４の方法。
【請求項７６】
ネットワーク内外へ流れるメッセージをインターセプトすることと、
メッセージプロトコルがメッセージプロトコルテンプレートに整合しているか否かを決定するために、インターセプトされたメッセージに関連付けられたメッセージプロトコルを検査することと、
整合していると、インターセプトされたメッセージに関連付けられたメッセージプロトコルのアスペクトをオーバーライドする、メッセージプロトコルテンプレートに関連付けられたポリシーエンフォースメントルールを適用することとを有している、ネットワークにおける通信プロトコル管理方法。
【請求項７７】
ポリシーエンフォースメントルールを適用することが、ネットワーク内外へ流れるときに、インターセプトされたメッセージに定義された通信接続の使用を強制することを含む、請求項７６の方法。
【請求項７８】
定義された通信接続が、ネットワークに関連付けられたゲートェイ上の定義されたポートである、請求項７７の方法。
【請求項７９】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続を終了させることを含む、請求項７６の方法。
【請求項８０】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続をリセットすることを含む、請求項７６の方法。
【請求項８１】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた情報を記録することを含む、請求項７６の方法。
【請求項８２】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージ、および任意の関連するメッセージに関連付けられた情報を含むログを作成することを含む、請求項７６の方法。
【請求項８３】
メッセージプロトコルテンプレートが、インスタントメッセージングメッセージに関連付けられている、請求項７６の方法。
【請求項８４】
メッセージプロトコルテンプレートが、ピアツーピアメッセージに関連付けられている、請求項７６の方法。
【請求項８５】
メッセージプロトコルテンプレートが、ファイルシェアリングメッセージに関連付けられている、請求項７６の方法。
【請求項８６】
メッセージプロトコルテンプレートと、
ネットワークインターフェース経由でメッセージをインターセプトし、メッセージプロトコルがメッセージプロトコルテンプレートに整合しているか否かを決定するために、インターセプトされたメッセージに関連付けられたメッセージプロトコルを検査し、さらに、整合していると、インターセプトされたメッセージに関連付けられたメッセージプロトコルのアスペクトをオーバーライドする、メッセージプロトコルテンプレートに関連付けられたポリシーエンフォースメントルールを適用するよう構成されたプロトコルエンフォーサをネットワークと接続するネットワークインターフェースとを有している、プロトコルエンフォーサ。
【請求項８７】
ポリシーエンフォースメントルールを適用することが、ネットワーク内外へ流れるときに、インターセプトされたメッセージに、定義された通信接続の使用を強制することを含む、請求項８６のプロトコルエンフォーサ。
【請求項８８】
定義された通信接続が、ネットワークに関連付けられたゲートェイ上の定義されたポートである、請求項８７のプロトコルエンフォーサ。
【請求項８９】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続を終了させることを含む、請求項８６のプロトコルエンフォーサ。
【請求項９０】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続をリセットすることを含む、請求項８６のプロトコルエンフォーサ。
【請求項９１】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた情報を記録することを含む、請求項８６のプロトコルエンフォーサ。
【請求項９２】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージ、および任意の関連するメッセージに関連付けられた情報を含むログを作成することを含む、請求項８６のプロトコルエンフォーサ。
【請求項９３】
メッセージプロトコルテンプレートが、インスタントメッセージングメッセージに関連付けられている、請求項８６のプロトコルエンフォーサ。
【請求項９４】
メッセージプロトコルテンプレートが、ピアツーピアメッセージに関連付けられている、請求項８６のプロトコルエンフォーサ。
【請求項９５】
メッセージプロトコルテンプレートが、ファイルシェアリングメッセージに関連付けられている、請求項８６のプロトコルエンフォーサ。
【請求項９６】
ネットワーク上でメッセージを送受信するよう構成されたクライアント装置と、プロトコルエンフォーサとを有しており、
上記プロトコルエンフォーサは、メッセージプロトコルテンプレートと、該プロトコルエンフォーサをネットワークとインターフェースで接続するネットワークインターフェースとを有するとともに、上記ネットワークインターフェース経由で、クライアント装置により送られたメッセージをインターセプトし、メッセージプロトコルがメッセージプロトコルテンプレートに整合しているか否かを決定するために、インターセプトされたメッセージに関連付けられたメッセージプロトコルを検査し、さらに、整合していると、インターセプトされたメッセージに関連付けられたメッセージプロトコルのアスペクトをオーバーライドするメッセージプロトコルテンプレートに関連付けられたポリシーエンフォースメントルールを適用するよう構成されている、プロトコル管理システム。
【請求項９７】
ポリシーエンフォースメントルールを適用することが、ネットワーク内外へ流れるときに、インターセプトされたメッセージに定義された通信接続の使用を強制することを含む、請求項９６のプロトコル管理システム。
【請求項９８】
定義された通信接続が、ネットワークに関連付けられたゲートェイ上の定義されたポートである、請求項９７のプロトコル管理システム。
【請求項９９】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続を終了することを含む、請求項９６のプロトコル管理システム。
【請求項１００】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた通信接続をリセットすることを含む、請求項９６のプロトコル管理システム。
【請求項１０１】
ポリシーエンフォースメントルールを適用することが、インターセプトされたメッセージに関連付けられた情報を記録することを含む、請求項９６のプロトコル管理システム。
【請求項１０２】
記憶媒体をさらに含み、ポリシーエンフォースメントルールを適用することが、受信されたメッセージ、および任意の関連するメッセージに関連付けられる情報を含むログを生成すること、およびそのログを記憶媒体へ格納することを含む、請求項９６のプロトコル管理システム。
【請求項１０３】
メッセージプロトコルテンプレートが、インスタントメッセージングメッセージに関連付けられている、請求項９６のプロトコル管理システム。
【請求項１０４】
メッセージプロトコルテンプレートが、ピアツーピアメッセージに関連付けられている、請求項９６のプロトコル管理システム。
【請求項１０５】
メッセージプロトコルテンプレートが、ファイルシェアリングメッセージに関連付けられている、請求項９６のプロトコル管理システム。
【請求項１０６】
ネットワーク内部のソースからの特定のメッセージプロトコルを含み、特定のスクリーンネームに関連付けられているメッセージを受信することと、
ソースに対する単一ユーザー名を決定することと、
スクリーンネームを単一ユーザー名に関連付けることと、
スクリーンネームと単一ユーザー名との関連付けを格納することとを含む、ネットワークにおける通信ポリシー管理方法。
【請求項１０７】
受信されたメッセージを単一ユーザー名に基づいて処理するポリシールールを選択すること、および、ポリシールールをメッセージへ適用することをさらに含む、請求項１０６の方法。
【請求項１０８】
ポリシールールが、受信されたメッセージのソースに基づいている、請求項１０７の方法。
【請求項１０９】
ポリシールールが、受信されたメッセージの意図された送付先に基づいている、請求項１０７の方法。
【請求項１１０】
ポリシールールが、受信されたメッセージに含まれる情報に基づいている、請求項１０７の方法。
【請求項１１１】
ポリシールールが、いつ受信されたメッセージが送られたか、あるいはいつ受信されるよう意図されていたかに基づいている、請求項１０７の方法。
【請求項１１２】
ポリシールールが、受信されたメッセージのサイズに基づいている、請求項１０７の方法。
【請求項１１３】
ポリシールールが、受信されたメッセージがアタッチメントを含んでいるか否かに基づいている、請求項１０７の方法。
【請求項１１４】
ポリシールールが、受信されたメッセージがウイルスを含んでいるか否かに基づいている、請求項１０７の方法。
【請求項１１５】
ポリシールールを適用する前に、受信されたメッセージに関連付けられたセッションが、未だに進行しているか否かを決定することをさらに含む、請求項１０７の方法。
【請求項１１６】
受信されたメッセージに関連付けられた情報を記録することをさらに含む、請求項１０６の方法。
【請求項１１７】
受信されたメッセージ、および任意の関連するメッセージに関連付けられた情報を含むログを生成することをさらに含む、請求項１０６の方法。
【請求項１１８】
受信されたメッセージが、ネットワークアドレスに関連付けされており、さらに、単一ユーザー名を決定することが、ネットワークアドレスを用いてソースを特定することを含む、請求項１０６の方法。
【請求項１１９】
単一ユーザー名を決定することが、ソースに関連付けられたグローバルユーザーイデンティフィケーションを決定することをさらに含む、請求項１１８の方法。
【請求項１２０】
グローバルユーザーイデンティフィケーションを決定することが、ソースに関連付けられた登録を査問することをさらに含む、請求項１１９の方法。
【請求項１２１】
スクリーンネームが、以前に単一ユーザー名に関連付けられていたか否かを決定すること、そうであった場合には、その後、ポリシールールを単一ユーザー名に基づくメッセージに適用することをさらに含む、請求項１０６の方法。
【請求項１２２】
ネットワーク内のソースからの、特定のメッセージプロトコルを含み、特定のスクリーンネームに関連づけられているメッセージを受信するよう構成されたネットワークインターフェースを含み、ソースに対する単一ユーザー名を決定し、スクリーンネームを単一ユーザー名に関連づけるよう構成されているユーザー認証モジュール。
【請求項１２３】
スクリーンネームと単一ユーザー名との間の関連付けを格納するようさらに構成されている、請求項１２２のユーザー認証モジュール。
【請求項１２４】
多数のポリシールールをさらに含み、受信されたメッセージを単一ユーザー名に基づいて処理するポリシールールを選択し、さらに、選択されたポリシールールをメッセージへ適用するようさらに構成されている、請求項１２２のユーザー認証モジュール。
【請求項１２５】
選択されたポリシールールが、受信されたメッセージのソースに基づいている、請求項１２４のユーザー認証モジュール。
【請求項１２６】
選択されたポリシールールが、受信されたメッセージの意図された送付先に基づいている、請求項１２４のユーザー認証モジュール。
【請求項１２７】
選択されたポリシールールが、受信されたメッセージに含まれている情報に基づいている、請求項１２４のユーザー認証モジュール。
【請求項１２８】
選択されたポリシールールが、いつ受信されたメッセージが送られたか、あるいはいつ受信されるよう意図されていたかに基づいている、請求項１２４のユーザー認証モジュール。
【請求項１２９】
選択されたポリシールールが、受信されたメッセージのサイズに基づいている、請求項１２４のユーザー認証モジュール。
【請求項１３０】
選択されたポリシールールが、受信されたメッセージがアタッチメントを含んでいるか否かに基づいている、請求項１２４のユーザー認証モジュール。
【請求項１３１】
選択されたポリシールールが、受信されたメッセージがウイルスを含んでいるか否かに基づいている、請求項１２４のユーザー認証モジュール。
【請求項１３２】
ポリシールールを適用する前に、受信されたメッセージに関連付けられたセッションが、未だに進行しているか否かを決定するようさらに構成されている、請求項１２４のユーザー認証モジュール。
【請求項１３３】
受信されたメッセージに関連付けられた情報を記録するようさらに構成されている、請求項１２２のユーザー認証モジュール。
【請求項１３４】
受信されたメッセージ、および任意の関連するメッセージに関連付けられた情報を含むログを生成するようさらに構成されている、請求項１２２のユーザー認証モジュール。
【請求項１３５】
受信されたメッセージが、ネットワークアドレスに関連付けされており、さらに、単一ユーザー名を決定することが、ネットワークアドレスを用いてソースを特定することをさらに含む、請求項１２２のユーザー認証モジュール。
【請求項１３６】
単一ユーザー名を決定することが、ソースに関連付けられたグローバルユーザーイデンティフィケーションを決定することをさらに含む、請求項１３５のユーザー認証モジュール。
【請求項１３７】
グローバルユーザーイデンティフィケーションを決定することが、ソースに関連付けられた登録を査問することをさらに含む、請求項１３６のユーザー認証モジュール。
【請求項１３８】
スクリーンネームが、以前に単一ユーザー名に関連付けられていたか否かを決定し、そうであった場合には、その後、ポリシールールを単一ユーザー名に基づくメッセージに適用するようさらに構成されている、請求項１２２のユーザー認証モジュール。
【請求項１３９】
ユーザーからログインメッセージを受信することと、
ログインメッセージを生成したこのユーザーに関連付けられた、多数の他のユーザーに関する情報を含む、多次元リストを検索することと、
多次元リスト内に格納された情報が、多数の他のユーザーのうちの誰かがログインしていることを示す場合、ログインしたこれら他のユーザーの存在のログインメッセージを生成したユーザーに対して通知することとを有している、ユーザーの存在の検出方法。
【請求項１４０】
ユーザーがログインを許可され得るか否かを決定し、ユーザーがログインを許可され得る場合にユーザーにログインを許可することをさらに含む、請求項１３９の方法。
【請求項１４１】
ユーザーのログインを許可され得ない場合に、ユーザーのログインを拒否することをさらに含む、請求項１４０の方法。
【請求項１４２】
ログインメッセージを生成したユーザーがログインしたことを示すために、多数の他のユーザーの各々に関連付けられた情報をアップデートすることをさらに含む、請求項１３９の方法。
【請求項１４３】
他のユーザーの各々に関連付けられた情報をアップデートすることが、多数の他のユーザーの各々に関連付けられた多次元リスト内の情報をアップデートすることを含む、請求項１４２の方法。
【請求項１４４】
多数の他のユーザーの各々に対して、他のユーザーの多次元が、ログインメッセージを生成したユーザーに関する情報を含んでいるか否かを決定するために、他のユーザーに関連付けられた多次元を検索することをさらに含む、請求項１３９の方法。
【請求項１４５】
多次元リストが、ログインメッセージを生成したユーザーに関する情報を含んでいることが決定された場合、ログインメッセージを生成したユーザーのログイン状態を示すために、他のユーザーに関連付けられた多次元リスト内の情報をアップデートすることをさらに含む、請求項１４４の方法。
【請求項１４６】
ログインメッセージを生成したユーザーのログイン状態を他のユーザーに通知することをさらに含む、請求項１４５の方法。
【請求項１４７】
ユーザーからログインメッセージを受信することと、
ログインメッセージを生成したこのユーザーに関連付けられた、多数の他のユーザーに関する情報を含む、多次元リストを検索することと、
多数の他のユーザーの各々に対して、他のユーザーに関連付けられた多次元が、ログインメッセージを生成したユーザーに関する情報を含んでいるか否かを決定するために、他のユーザーに関連付けられた多次元を検索することとを有している、ユーザー存在検出方法。
【請求項１４８】
他のユーザーに関連付けられた多次元リストが、ログインメッセージを生成したユーザーに関連付けられた情報を含んでいることが決定された場合、ログインメッセージを生成したユーザーのログイン状態を示すために、他のユーザーに関連付けられた多次元リスト内の情報をアップデートすることをさらに含む、請求項１４７の方法。
【請求項１４９】
ログインメッセージを生成したユーザーのログイン状態を他のユーザーに通知することをさらに含む、請求項１４８の方法。
【請求項１５０】
多次元リスト内に格納された情報が、多数の他のユーザーのうちの誰かがログインしていることを示す場合、ログインしたこれら他のユーザーの存在のログインメッセージを生成したユーザーに対して通知することをさらに含む、請求項１４７の方法。
【請求項１５１】
ユーザーがログインを許可され得るか否かを決定すること、および、ユーザーがログインを許可され得る場合にユーザーにログインを許可することをさらに含む、請求項１４７の方法。
【請求項１５２】
ユーザーのログインを許可し得ない場合に、ユーザーのログインを拒否することをさらに含む、請求項１５１の方法。
【請求項１５３】
ログインメッセージを生成したユーザーがログインしたことを示すために、多数の他のユーザーの各々に関連付けられた情報をアップデートすることをさらに含む、請求項１４７の方法。
【請求項１５４】
他のユーザーの各々に関連付けられた情報をアップデートすることが、多数の他のユーザーの各々に関連付けられた多次元リスト内の情報をアップデートすることを含む、請求項１５３の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、概して、ディジタル通信ネットワークに関し、とりわけ「インスタントメッセージ」プロトコルなどのダイナミックプロトコルを含むような、ネットワークにわたる多数のプロトコルの管理に関する。
【背景技術】
【０００２】
ローカルあるいは専用のネットワークに結合されたローカル計算装置が、ネットワーク外部のリモート計算装置と通信する際には、ネットワークは、侵入を受ける危険がある。侵入は、例えば、何者かがネットワークへ不正なアクセスを試みることと定義することができる。また、侵入は、コンピュータウィルスのようなプログラムが、ネットワークで利用可能なリソースへ不正なアクセスを試みることと定義することもできる。例えば、コンピュータウィルスは、リモート計算装置からローカル計算装置へ伝送可能であり、ローカル計算装置上で作動可能になると、ネットワークあるいは他のものの上のローカル計算装置で利用可能な他のローカルリソースと同様に、ローカル計算装置のリソースを許諾なく使用可能である。他の例では、リモート計算装置は、ローカル計算装置が適切なリソースへアクセスするのを妨害したり、あるいは他者がローカル計算装置へアクセスするのを妨害することにより、ローカル計算装置へのサービスを拒もうとしたり、さもなければ、ローカル計算装置でのサービスに影響を与える、１組のメッセージを発生させることができる。
【０００３】
ある場合には、侵入は、ネットワークへのメッセージにより引き起こされ得るし、また他の場合には、侵入は、ネットワーク内部のコンピュータウィルスに支配されたコンピュータ装置、あるいは不適切にネットワークを使用する従業員など、ネットワーク内部からのメッセージによっても引き起こされ得る。例えば、ネットワーク内部のコンピュータ装置は、そのコンピュータ装置の悪意のユーザー、すなわち、所望されない方法でローカルリソースにアクセスを試みるユーザーにより改竄される場合もある。また、コンピュータ装置は、普段ならばローカルリソースへのアクセスを有する装置へ無害にインストールされるプログラムであっても、そのプログラム自体が、所望されない方法でローカルリソースへアクセスを試みる機能を含んでいるなど、比較的悪意のない方法で改竄される場合もある。
【０００４】
したがって、ネットワーク内のメッセージ処理についてのポリシールールの適用は、特にこれらのメッセージがネットワークのビジネス態様を指向していないようなメッセージプロトコルを使用する際は、時として望ましい。例えば、近年、主として個人使用のための多くのメッセージプロトコルが開発されているが、多くの場合、これらは企業ネットワークなどの専用ネットワークにも使用され、予期される乱用を蒙る場合もある。これらのメッセージプロトコルは、例えば、インスタントメッセージ（ＩＭ）プロトコル、ピアツーピア（Ｐ２Ｐ）および他のファイル共有プロトコル、インタラクティブゲームプロトコル、分散コンピューティングプロトコル、およびＨＴＴＰトンネリング、およびコンピュータプログラム相互作用の「・ＮＥＴ」あるいは「ＳＯＡＰ」方式などを含んでいる。企業ネットワークに入るこれらのメッセージプロトコルから生じ得る予想される乱用には、企業ネットワーク内部のクライアント装置へのコンピュータウィルスの偶発的配送、および企業ネットワーク内部のクライアント装置と企業ネットワーク外部のクライアント装置との間の機密あるいは専用の情報の通信、および企業ネットワーク内部の他の権限を有しないユーザーの行動が含まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
企業ネットワーク内でメッセージにポリシールールを適用する従来の方法は、主にＴＣＰ（伝送制御プロトコル）、およびＩＰ（インターネットプロトコル）など、比較的低レベルのメッセージプロトコルを指向する。しかしながら、上述のプロトコルは、国際標準化機構（ＩＳＯ）モデル内で表されるように、通常、より高レベルのＴＣＰ／ＩＰプロトコルスタックで実行される。多くの場合、速度およびファイナリティのために、例えば、ファイアウォールサーバは、より高レベルのＩＳＯモデルに関係するメッセージプロトコルに対して、あるいは企業ネットワークにとって比較的新しく、したがってファイアウォールサーバでは予期されていなかったメッセージプロトコルに対しては、それほど効果的ではない。さらに、こうした多くのプロトコルが開発され、および変更されるペースは急速であり、多くの場合、そのメッセージプロトコルを認識し、およびインターセプトし、さらにそれに対するポリシールールを実施する新しいシステムおよび方法の配備が実行可能となるよりも速い。
【課題を解決するための手段】
【０００６】
プロトコル管理システムは、特定のメッセージプロトコルを検出し、さらに、検出されたメッセージプロトコルへ、ネットワークのリソースに対する侵入あるいは乱用を防止するポリシールールを適用可能である。１つの態様では、プロトコルメッセージゲートウェイは、ＩＳＯプロトコルスタックの層７に存在するような高レベルのメッセージプロトコルへポリシールールを適用するよう構成されている。
【０００７】
他の態様では、プロトコル管理システムは、ネットワーク内外へ流れるメッセージをインターセプトし、そのメッセージに関連づけられたメッセージプロトコルを検査するよう構成されている。メッセージプロトコルが、定義されたプロトコルテンプレートに整合する場合は、メッセージは、メッセージプロトコルに対するポリシールールが適用可能となるよう、プロトコルメッセージゲートウェイを強制的に使用する。
【０００８】
他の態様では、ネットワークから外部サーバへ出てゆくメッセージの送付先が決定可能であり、その外部サーバは、メッセージを送付先へリダイレクトするよう構成されている。送付先がそのネットワーク内部にあると決定されている場合は、メッセージは単にその送付先へリダイレクトすればよい。
【０００９】
本発明のこれらの、および他の特徴、態様、および実施例は、以下の「発明を実施するための最良の形態」と名づけられた部分で説明されている。
【発明を実施するための最良の形態】
【００１０】
図１は、本願明細書で説明されるシステムおよび方法に従って、プロトコル管理システム１００にインターフェースで接続するよう構成された企業ネットワーク１１０の典型的実施例を示している。図１の例では、企業ネットワーク１１０は、ファイアウォール１２０を通して、外部ネットワーク１３０に結合されている。企業ネットワーク１１０は、ユーザー１７２に企業ネットワーク１１０へのアクセスを提供するよう構成された、少なくとも１つのローカルクライアント１７０に結合可能である。代替的実施例では、企業ネットワーク１１０と外部ネットワーク１３０の結合に、ファイアウォール１２０に代えてプロキシサーバ（図示せず）を使用可能である。
【００１１】
図１に示したように、システム１００は、プロトコルメッセージゲートウェイ１２２、プロキシエンフォーサ１５０、および認証モジュール１６０を含むことができる。プロトコルメッセージゲートウェイ１２２、プロキシエンフォーサ１５０、および認証モジュール１６０の実施例、配置、およびアプリケーションは、以下でより詳細に説明されている。
【００１２】
本願明細書で説明されるように、企業ネットワーク１１０は、企業ネットワーク１１０にローカルに結合された装置が互いに通信可能な、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（ワイドエリアネットワーク）、ローカル交換網、あるいは公衆交換網、何らかの他の通信技術、あるいはそれらの何らかの組合せのような、１つ以上の内部ネットワークを含むことが可能である。本願明細書に説明されている１つの実施例では、企業ネットワーク１１０がＬＡＮを含んでいるが、企業ネットワーク１１０が、ＬＡＮ、あるいは任意の特定のネットワーク構成を用いるかに対する、どのような特定の要件も存在しない。
【００１３】
外部ネットワーク１３０は、インターネットを含み得る；しかしながら、他の実施例では、外部ネットワーク１３０はまた、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ＬＡＮ、ＷＡＮ、ローカル交換網、あるいは公衆交換網、何らかの他の通信技術、あるいはその何らかの組合せを含むことが可能である。特定の実施例は、本願明細書で外部ネットワーク１３０がインターネットを含むと説明されるが、外部ネットワーク１３０がインターネットあるいは他のいかなる特定のタイプのネットワークを使用する特定の要件は存在しない。
【００１４】
ファイアウォール１２０は、ＩＳＯ層状プロトコルモデルの選択されたレベルでフォーマットされたメッセージを認識し、およびインターセプトし、さらに、それにより、ファイアウォール１２０が、それらのメッセージが、特定のメッセージプロトコル形式で受信されるよう意図された情報を担持しているかどうかを判定する、選択されたフィルタ処理基準に合致する、従来の装置を含むことができる。
【００１５】
システム１００の１つの実施例では、プロトコルメッセージゲートウェイ１２０、プロキシエンフォーサ１５０、および認証モジュール１６０は、システム１００の目標になるよう定義された特定プロトコルに関係のあるパラメータおよびポリースの設定にシステム管理者により使用するよう、管理コンソール１８０へ結合させることができる。
【００１６】
加えて、特定の実施例におけるプロトコルメッセージゲートウェイ１２２、およびプロキシエンフォーサ１５０は、ユーザースクリーン名あるいは  エイリアスを企業ネットワーク１１０内部の特定ユーザーに関連づけるのに使用可能な団体データベース１２５に結合可能である。特定の実施例では、メッセージゲートウェイ１２０、およびプロキシエンフォーサ１５０は、データ伝送サービス１９０を含むロギングおよびアーカイビングサブシステムにも結合可能である。データ伝送サービス１９０は、プロトコルメッセージログを、レポート用の関係モデルに変換し、レポート１９８を生成可能なレポートデータベース１９６内へログを記録するよう構成可能である。他の特定の実施例では、こうしたレポートが、管理者１９２へメール可能な、あるいは電子メールアーカイブサービス１９４によりアーカイブ可能な電子メールに変換することさえ可能である。
【００１７】
図２は、より詳細に説明されるプロキシエンフォーサ２５０を含む通信システム２００を示すブロック図である。システム２００はまた、企業ネットワーク２１０、ファイアウォール２２０、外部ネットワーク２３０、プロトコルメッセージゲートウェイ２４０、プロキシエンフォーサ２５０、および１組のクライアント装置２６０を含んでいる。
【００１８】
以下で説明されるように、プロトコルメッセージゲートウェイ２４０は、特定の目標プロトコルを用いるメッセージを認識し、その目標プロトコルに関連づけられたポリシールールを実行するよう構成可能である。これらの目標プロトコルは、例えば、ＩＳＯレベル７など、多くの場合普段は企業ネットワーク２１０へ出入りする際に検出から逃れるであろう高レベルのプロトコルであってもよい。例えば、これらのメッセージプロトコルは、多くの場合、メッセージを検出から回避させながら、企業ネットワーク２１０内外への、モニターされていない通信接続を見出すことが可能である。しかしながら、プロキシエンフォーサ２５０は、企業ネットワーク２１０内外へ進む全てのメッセージをインターセプトし、さらにそれらを、例えば、プロトコルメッセージゲートウェイ２４０上の定義されたポートなど、定義された通信接続を強制的に通過させるよう構成可能である。この方法で、プロキシエンフォーサ２５０は、企業ネットワーク２１０内外へ流れる全てのメッセージが、所望されるように、プロトコルメッセージゲートウェイ２４０により処理され、それにより、適切なプロトコルルールがメッセージに適用可能となる。
【００１９】
したがって、１つの実施例では、プロキシエンフォーサ２５０は、ファイアウォール２２０を通して企業ネットワーク２１０内外へ流れる、個々のパケットを含むメッセージを受動的に聴取可能となるよう、ファイアウォール２２０に結合して配置可能である。プロキシエンフォーサ２５０は、１組のプロトコル定義ファイル２５４に基づく１組のエンフォースメントルール２５２を含むことが可能である。各プロトコル定義ファイル２５４は、目標プロトコルを認識し、複数の接続にわたる状態を管理することが可能なインテリジェント発見法を伴う１つの実行可能なコードであってもよい。例えば、目標プロトコルのあらゆるクラスあるいはサブタイプのための個々の定義ファイル２５４が存在する場合がある。個々のプロトコル定義ファイル２５４は、他のプロトコル定義ファイル２５４と異なる場合がある。加えて、エンフォースメントルール２５２、およびプロトコル定義ファイル２５４の組は、異なる目標プロトコルおよび目標プロトコルの異なる処理方法に対応して、必要に応じ拡張可能である。１つの実施例では、追加的エンフォースメントルール２５２およびプロトコル定義ファイル２５４は、企業ネットワーク２１０にインターフェーズで連結されたサーバからダウンロード可能である。したがって、例えば、システム管理者は、新しいエンフォースメントルール２５２および／またはプロトコル定義２５４を定義し、必要に応じてプロキシエンフォーサ２５０をアップデートすることが可能である。
【００２０】
プロトコル定義ファイル２５４は、プロトコルテンプレートとして機能する。したがって、プロキシエンフォーサ２５０は、企業ネットワーク２１０内でメッセージをインターセプトし、その後、それらをプロトコル定義ファイル２５４により定義されたようなプロトコルテンプレートと比較するよう構成可能である。整合した場合は、プロキシエンフォーサ２９０は、その後、対応する１つまたは複数のエンフォースメントルール２５２を実行するよう構成可能である。整合パターンに完全に依存する従来のウイルス認識ソフトウェアと異なり、プロキシエンフォーサ２５０は、目標プロトコルが複数のポートおよび／またはストリームを用いる時など、同一メッセージ内の２つの異なるメッセージ、あるいは２つの異なるブロックを関連させることが可能である。これは、例えば、プロトコル定義ファイル２５４でさえ、他のポート、パケット、およびデータストリームに関連する情報を記憶するための、それ自身のデータ構造およびテーブルを作成するよう構成可能であるので、達成可能である。
【００２１】
プロトコル定義ファイル２５４は、以下に関する目標プロトコルを特定するよう構成可能である。メッセージのソースＩＰアドレス；メッセージの送付先ＩＰアドレス；メッセージに関連づけられたポート番号；メッセージに埋め込まれたヘッダストリングあるいは他の１組のデータ値；あるいは、この何らかの組合せ。プロキシエンフォーサ２５０はまた、一連のメッセージに対応して、プロキシエンフォーサ２５０により維持された持続状態に対応して、重要なプロトコルを検出するよう構成可能である。
【００２２】
稼働中、リモートサーバ２８０は、外部ネットワーク２３０と結合し、さらに目標プロトコルを使用してクライアント装置２６０に出入りするメッセージを送受信するよう構成可能である。例えば、リモートサーバ２８０は、ＩＭメッセージをクライアント装置２６０へ通信するよう構成可能である。
【００２３】
プロキシエンフォーサ２５０は、その後、例えば、メッセージがファイアウォール２２０を通して流れる際に、メッセージを受動的に受信するよう構成可能である。プロキシエンフォーサ２５０は、例えば、エンフォースメントルールデータベース２５６内に維持される、１組のプロキシエンフォースメントルール２５２を含むことが可能である。プロキシエンフォーサ２５０が、ＩＭメッセージ、すなわち、目標プロトコルを用いるメッセージをインターセプトするとき、プロキシエンフォーサは、プロキシ定義ファイル２５４を用いるＩＭメッセージに整合することになる。その後、プロキシエンフォーサ２５０は、関連するエンフォースメントルール２５２を実行可能である。エンフォースメントルール２５２は、妨害されたＩＭメッセージに関連づけられたＩＭプロトコルの態様をオーバーライドするよう構成可能である。例えば、プロキシエンフォースメントルール２５２は、ＩＭメッセージが、全てのＩＭメッセージに対してプロキシとして動作するよう構成可能な、プロトコルメッセージゲートウェイ２４０を通過することを必要とすることができる。
【００２４】
その後、プロキシエンフォーサ２５０は、メッセージがプロキシエンフォースメントルール２５２に従わない場合は、メッセージが有効となることを回避するよう構成可能である。プロキシエンフォーサ２５０が、メッセージ２７０の有効性を妨害する１つの方法は、メッセージが企業ネットワーク２１０内、あるいは外部ネットワーク２３０内に由来するか否かに関係なく、メッセージのサービスと送付先との間の通信接続を切ってしまうことである。代替的実施例では、プロキシエンフォーサ２５０は、メッセージに関連づけられた通信接続をリセットするよう構成可能である。他の実施例では、エンフォースメントルール２５２は、プロキシエンフォーサ２５０に、メッセージに関連する情報を記録させることができる。その後、記録情報は、ログおよび／またはレポートを作成するために、以下に説明するように使用可能である。
【００２５】
図３は、プロキシエンフォーサ２５０のようなプロキシエンフォーサを用いる、企業ネットワーク２１０などのネットワーク内で、通信トラフィックを管理する方法例を示すフローチャートである。まず、ステップ３０２では、プロキシエンフォーサ２５０は、通信トラフィックを含むメッセージを受動的に聴取するよう構成可能である。その後、ステップ３０４では、プロキシエンフォーサ２５０は、メッセージをインターセプトし、ステップ３０６では、メッセージに関連づけられたプロトコルを検査可能である。ステップ３０６でのメッセージ検査は、ソースＩＰアドレス、送付先ＩＰアドレス、ポートナンバー、およびメッセージに関連付けられた１組のテキストなどの決定情報を含むことができる。ステップ３０６では、プロキシエンフォーサ２５０は、例えば、ステップ３０６で決定された情報に基づき、プロトコルが目標プロトコルテンプレートに整合しているか否かを決定する。上述のように、このテンプレートは、１つ以上のプロトコル定義ファイル２５４により定義可能である。ステップ３０３において整合している場合は、プロキシエンフォーサ２５０は関連するエンフォースメントルール２５２を実行するよう構成可能である。整合していない場合は、プロキシエンフォーサ２５０は、受動的聴取（ステップ３０２）を続けるよう構成可能である。
【００２６】
プロトコル定義ファイル２５４は、目標プロトコルを使用するメッセージに関連づけられた値のパターンを定義可能である。したがって、プロキシエンフォーサ２５０は、値のパターンを、メッセージトラフィックデータベース２５８内に維持されているデータに整合（ステップ３０３）させるよう構成可能である。可能な例には、例えば、ポート５１９０上の全てのトラフィック、ポート８０８０上ならびにストリング「？ｙｍｅｓｓａｇｅ＝」を含む全てのトラフィック、ポート８０８０上ならびにストリング「？ｐｗｏｒｄ＝％１」、ここで、％１は、メッセージトラフィックデータベース２５８内に維持される値である、を含む全てのトラフィック、および入力パケットヘッダ内の５文字、ここで、５文字は、例えば、ＩＭプロトコル内で用いられるインスタントメッセージの署名である、のストリングを含む５１９０上の全てのトラフィックと整合することを含んでいる。
【００２７】
特定の実施例では、エンフォースメントルール２５２のタイプ、および整合のタイプに応じ、メッセージのさらなる分析が実行可能である。これは、例えば、初期分析が、メッセージを、ＨＴＴＰトラフィックを装ったＩＭであると示唆している場合、特に役立つ。
【００２８】
ステップ３１０では、プロキシエンフォーサ２５０は、誘発された多数のエンフォースメントルール２５２のうちの１つに関連づけられた動作を実行する。１つの実施例では、誘発された第１エンフォースメントルール２５２に関連づけられた動作のみが実行される；しかしながら、代替的実施例では、エンフォースメントルールデータベース２５６内にエンフォースメントルール２５２が維持された順序に応じる動作の順番に、１つ以上の動作が実行されてもよい。
【００２９】
特定の実施例では、エンフォースメントルール２５２は、場合によってはメッセージトラフィックデータベース２５８内に値を記録することを含む、妨害されたメッセージに関して実行する特定の動作を含んでいる。上述のように、エンフォースメントルール２５２に対応して実行すべき動作の可能な例には、メッセージに関連付けられた接続の切断、ソケット接続のリセット、メッセージトラフィックデータベース２５８内への％１値、ここで、％１は、整合したときストリング「？ｐｗｏｒｄ＝％１」内に見出され、および／または、％１値は、将来その値が認識可能となるようにログ内に格納される、の記録、および、メッセージを分析し、将来においてメッセージおよびメッセージテキストが再検討可能となるよう、メッセージを１人以上の個々のユーザーに関連付けられたログ内に格納することを含む。これは、例えば、従業員が音楽ファイルをダウンロードするといった、ネットワークの無断使用の記録の生成に使用可能である。
【００３０】
このように、プロキシエンフォーサ２５０、あるいは、同様のプロキシエンフォーサ１５０は、目標プロトコルを用いたメッセージが、プロトコルメッセージゲートウェイ１２２を確実に通過するよう構成可能である。すでに図１に示したように、ファイアウォール１２０は、「検査スクリプト」とも呼び得る１組の認識パターン１２４の格納用に構成された、メモリ１２６を含むことができる。認識パターン１２４は、例えば、ファイアウォール１２０の管理者によって選択可能であり、目標プロトコルを用いて、メッセージをファイアウォール１２０に説明可能となる程度の情報を含み得る。
【００３１】
ファイアウォール１２０は、その後、認識パターン１２４に応じて、それがメッセージの少なくともいくつかをプロトコルメッセージゲートウェイ１２２へ向け直すよう構成可能である。例えば、１つの実施例では、メッセージは、メッセージを処理し、さらに、プロトコルメッセージゲートウェイ１２２によりさらに処理されるべきだと決定した後、ファイアウォール１２０がそのメッセージをメッセージゲートウェイ１２０へ送る、コンテンツ誘導プロトコル（ＣＶＰ）技術を用いて向け直すことが可能である。ＣＶＰを用いる向け直しは、図６に関連してさらに詳細に説明される。プロトコルメッセージゲートウェイ１２２がいったんメッセージを受け取ると、それは、目標プロトコルに対するポリシールールを、メッセージ処理に確実に使用させるようにすることができる。
【００３２】
図４は、プロトコルメッセージゲートウェイ１２２の１つの実施例を、さらに詳細に示す図である。図示されたように、プロトコルメッセージゲートウェイ１２２は、プロトコルメッセージパーサ４１０、ゲートウェイマネージャ４２０、１組のプロトコルアダプタ４３０、ポリシーエンフォースメントモジュール４４０、認証モジュール４５０、および１組の追加モジュールアダプタ４６０を含み得る。
【００３３】
１つの実施例では、プロトコルメッセージパーサ４１０は、上述のように、従来のＣＶＰ技術を用いてファイアウォール１２０と結合される。その結果、プロトコルメッセージパーサ４１０は、ファイアウォール１２０から目標メッセージを受信可能である。プロトコルメッセージパーサ４１０は、受信メッセージを分析し、プロトコルアダプタ４３０のうちのどの組が受信メッセージ処理に適切であるかを決定する。プロトコルメッセージパーサは、その後、メッセージをゲートウェイマネージャ４２０に転送するよう構成することができる。特定の実施例では、プロトコルメッセージゲートウェイ１２２は、１つより多いプロトコルメッセージパーサ４１０を含むことができる。多数のプロトコルメッセージパーサを含むことにより、プロトコルメッセージゲートウェイ１２２は多くの目標メッセージを受信する能力の比較的簡単で効率的なスケーリングが可能となり、さらに、精度あるいは応答時間のいずれかにおいてさほど劣化を伴うことなく、これらのメッセージを分析し、かつゲートウェイマネージャ４２０へ分配することが可能となる。
【００３４】
ゲートウェイマネージャ４２０は、分析されたメッセージを受け取り、メッセージに関連づけられた、任意の必要なデータ構造４２２を作成する。これらのデータ構造４２２の中で、ゲートウェイマネージャ４２０は、メッセージイベント４０４受信の重要性を示すプロトコルアダプタ４３０およびモジュールアダプタ４６０を発行可能な、新規メッセージイベント４０４を生成するよう構成可能である。メッセージイベント４０４を発行する際、ゲートウェイマネージャ４２０は、メッセージ、および、メッセージに関連付けられた、ユーザー、ユーザー名、スクリーンネームなどの、他のいかなる特定情報も処理する、適切なプロトコルアダプタ４３０などの分析されたメッセージに関連する情報を含むことが可能である。
【００３５】
１つの実施例では、ゲートウェイマネージャ４２０は、どのプロトコルアダプタ４３０がメッセージ処理に適切であるかを決定する。その後、適切なプロトコルアダプタ４３０は、そのメッセージおよびその関連メッセージイベント４０４を受信可能であり、そのメッセージが、関連付けられたメッセージプロトコルに対する処理パラダイムにどのように適合しているかを決定可能である。例えば、メッセージが、ＩＭメッセージの送付元や受信先など、送付元と受信先との間のセッションを開始する場合、プロトコルアダプタ４３０は、新規セッションを作成すべきであることを決定し、新規セッションイベント４０６を生成可能である。この例では、ゲートウェイマネージャ４２０により生成され、使用されるデータ構造４２２は、データ構造４２２の一部として、セッションデータ構造を含んでいることになろう；このセッションデータ構造は、関連するメッセージプロトコルを用いて、送付元クライアント装置１７０と受信クライアント装置との間の通信セッションに関連する情報を含んでいることになろう。
【００３６】
メッセージ処理のために割り当てられたプロトコルアダプタ４３０は、それが生成した任意の新規イベント４０６を、その特定のメッセージあるいはメッセージイベント４０６内の重要性を示した、任意のプロトコルアダプタ４３０あるいはモジュールアダプタ４６０に対して発行するために、ゲートウェイマネージャ４２０へ送るよう構成可能である。
【００３７】
プロトコルメッセージゲートウェイ１２２内に１つより多いプロトコルアダプタ４３０を含むことにより、多くのメッセージを受信するよう、プロトコルメッセージゲートウェイ１２２の比較的簡単で効率的なスケーリングが可能となり、さらに、プロトコルメッセージゲートウェイ１２２内部のこれらのメッセージを、精度あるいは応答時間のいずれかにおいてさほど劣化を伴うことなく、個別的に処理可能となる。さらに、１組の同様の目標プロトコルの異なる変形形態に対して、それぞれ明確に設計された複数のプロトコルアダプタ４３０を用いることにより、クライアント装置１７０は、プロトコルメッセージゲートウェイ１２２の一部分において何らの特別な翻訳を要することなく、さらに、クライアント装置１７０の何らの変形を要することなく、異なる変形形態を用いて通信可能となる。
【００３８】
さらに、ゲートウェイマネージャ４２０は、メッセージイベント４０６の重要性を示す、任意のプロトコルアダプタ４３０あるいはモジュールアダプタ４６０に対して、任意のメッセージイベント４０６を発行するよう構成可能である。重要性を示し得るプロトコルアダプタ４３０あるいはモジュールアダプタ４６０の間には、例えば、ポリシーエンフォースメントモジュール４４０、認証モジュール４５０、および選択された他の追加モジュールアダプタ４６０が存在している。
【００３９】
認証モジュール４５０は、関連するメッセージに関連づけられた任意のスクリーンネームを認証モジュール４５０が認証可能となるよう、任意のセッションイベント４０６を受信するよう構成可能である。以下にさらに詳細に説明されているように、認証モジュール４５０は、こうした任意のスクリーンネームに関連付けられた実際のユーザーを単一に特定し、その特定情報を認証モジュール４５０に関連づけられたユーザーデータベース４５４内に記録し、その特定情報を、セッションイベント４０６のために、ゲートウェイマネージャ４２０により維持された任意のデータ構造４２２内に含まれるよう、ゲートウェイマネージャ４２０へ送致するよう構成可能である。
【００４０】
プロトコルメッセージゲートウェイ１２２はまた、送付元クライアント装置１７０からのロギングメッセージが、プロトコルメッセージゲートウェイ１２２により受信されたとき、さらに、ロギングメッセージがプロトコルメッセージゲートウェイ１２２により、受信クライアント装置１７０へ、あるいは外部ネットワーク１３０のクライアント装置へ送られるときに、ロギングメッセージに性能を提供するよう構成可能なロギングモジュール４７０を含むことができる。換言すれば、ロギングモジュール４７０は、プロトコルメッセージゲートウェイ１２２を横切って交換された全てのメッセージの、連続ログを維持する性能を提供する。１つの実施例では、ロギングモジュール４７０は、データベース検索を実行可能で、レポートを生成するロギングデータベース４７４へログを出力するよう構成可能である。他の実施例では、ロギングモジュール４７０は、ロギングモジュール４７０に関連付けられたこれらの装置１７０に対する、あるいは、場合によれば、ロギングデータベース４７４へアクセスを割り当て、ゲートウェイ１２２に関連付けられたこれらの装置１７０に対する、ロギングデータベース４７４内の情報に対するアクセスを制限するために、ログ情報をコード化された形式でロギングデータベース４７４へ出力するよう構成可能である。実施例に応じて、アクセスは、情報をコード化するのに用いられるコード化フォーマットのための適切なキーを用いて割り当て可能である。
【００４１】
ロギングモジュール４７０は、送付元クライアント装置１７０と受信クライアント装置との間のエバネッセント通信とは異なるものも含む、メッセージを記録する方法を提供する。こうした連続記録により、これらのクライアント装置間の通信の法廷調査が可能になる。同様に、こうした連続記録により、こうしたクライアント装置間の通信の記録の維持を必要とする、任意の法的要件あるいは他の管理ルールを伴う保全も可能となる。例えば、送付元クライアント装置１７０および受信クライアント装置は、金融機関の異なる部門内のユーザーにより制御されている場合もある。取締り要件は、こうしたユーザー間の通信が、選択された証券の分析や推薦に関する通信など、特定の話題を回避するよう要求することができる。こうした通信をロギングすることにより、任意のこうした要件も確実に遵守されるよう補助可能である。
【００４２】
プロトコルメッセージゲートウェイ１２２は、実施例に応じて、ポリシーエンフォースメントモジュール４４０を含んでいてもよい。ポリシーエンフォースメントモジュール４４０は、メッセージに関する情報を受信し、特定のメッセージが、送付元クライアント装置１７０から非変更フォームで転送されるべきであるか否かを決定するよう構成可能である。ポリシーエンフォースメントモジュール４４０は、以下を含む特定クラスの情報の少なくとも１つに応じる、特定のポリシールールを含む、ポリシールールデータベース４４４へのアクセスを有することができる：送付元クライアント装置１７０の特性；受信クライアント装置の特性；メッセージの特性；メッセージ内部に含まれてる、キーワードを含む任意の情報；メッセージが送られた、あるいはメッセージが受信されるよう企図された、曜日、あるいは時刻；メッセージがアタッチメント、および実行可能なファイルアタッチメント、およびウイルスを含む実行可能なファイルアタッチメントなどを含むか否かに関わらない、メッセージのサイズ；選択された持続時間内に、送付元クライアント装置１７０により既に送られた、あるいは受信クライアント装置により既に受信されたトラフィック量；あるいは、企業ネットワーク１１０の管理者により、関連すると考えられる、任意の他のクラスの情報。
【００４３】
特定の実施例では、プロトコルメッセージゲートウェイ１２２は、企業ネットワーク１１０へ、あるいは外部ネットワーク１３０に結合された他のネットワークへ、あるいは外部ネットワーク１３０それ自体へ結合可能な、１つ以上の論理的に離れた管理者コンソール１８０から管理可能である。リモート管理者コンソール１８０の使用により、離れた場所からダイナミックにアップデートされるプロトコルメッセージゲートウェイ１２２内に、様々なモジュールおよびアダプタを含ませることができる。例えば、動的ポリシールールデータベース４４４は、目標プロトコルに関連してリアルタイムのアップデートを可能にする形で、実質的にリアルタイムに、管理者コンソール１８０から動的に変更可能である。いかに素早く危険あるいは有害なプロトコルがポップアップし得るか、さらに、こうしたプロトコルはできる限り迅速に処理する必要があるかを考えれば、こうした動的なアップデート能力は非常に貴重なものとなり得よう。さらに、ネットワーク管理者がその企業ネットワーク１１０を保護するために常に存在しているとは限らないので、外部ネットワーク１３０を通して、動的なアップデートがリモートに実行可能であるという事実は、非常に貴重となり得る。
【００４４】
図５は、企業ネットワーク１１０のようなネットワーク内の通信トラフィックを、プロトコルメッセージゲートウェイ１２２が管理可能となる方法例を示すフローチャートである。最初に、ステップ５０２では、プロトコルメッセージゲートウェイ１２２はメッセージを受信し、受信したメッセージをプロトコルメッセージパーサ４１０へ向け、プロトコルメッセージパーサ４１０は、ステップ５０４においてメッセージを分析し、さらに、プロトコルアダプタ４３０のどの組が、メッセージを処理するのに適切であるかを決定するよう構成可能である。ステップ５０４の一部として、プロトコルメッセージパーサ４１０は、さらなる処理のためにメッセージをゲートウェイマネージャ４２０に転送するよう構成可能である。
【００４５】
ステップ５０６では、ゲートウェイマネージャ４２０は、分析されたメッセージを受信し、メッセージに関連付けられた必要な任意のデータ構造４２２も作成することが可能である。上述したように、これらのデータ構造４２２のうちで、ゲートウェイマネージャ４２０は、メッセージイベント４０４の受信において重要さを示す、これらのプロトコルアダプタ４３０およびこれらのモジュールアダプタ４６０にイベントを発行可能な、新規メッセージイベント４０４を生成するよう構成可能である。さらに上述のように、メッセージイベント４０４を発行する際に、ゲートウェイマネージャ４２０は、そのメッセージ、およびユーザー、ユーザー名、あるいはメッセージに関連するスクリーンネームなどの任意の他の特定情報も処理する、適切なプロトコルアダプタ４３０のようなメッセージに関連する情報を含むことができる。
【００４６】
ステップ５０８では、少なくとも１つのプロトコルアダプタ４３０が、メッセージを認知し、ステップ５１０において関連メッセージプロトコルのために、そのメッセージがどのように処理パラダイムに適合するかを決定する。ステップ５１２では、プロトコルアダプタ４３０は、関連付けられたプロトコルに対する処理パラダイム内にメッセージをどのように適合させるかに対応して、適切と考えられる任意の新規イベント４０６を生成するよう構成可能である。その後、ステップ５１４では、プロトコルアダプタ４３０により生成された、こうした任意の新規イベント４０６が、ゲートウェイマネージャ１２２に送致可能である。
【００４７】
ステップ５１６では、ゲートウェイマネージャ１２２は、プロトコルアダプタ４３０へ、あるいはこれらのクラスのイベント４０６内の示された重要性を有する他の任意のモジュールアダプタへ、新規イベント４０６を発行することが可能である。
【００４８】
その後、認証モジュールアダプタ４５０は、ステップ５１８において、任意の新規セッションイベント４０６を受信可能である。さらに、関連メッセージに関連付けられた任意のスクリーンネームも認証可能である。
【００４９】
ステップ５２０では、ロギングモジュールアダプタ４７０は、メッセージに対するロギングエントリーを生成し、データベース検索が実行可能で、さらにレポートも生成可能な、ロギングデータベース４７４へログを出力することができる。上述のように、ロギングモジュールアダプタ４７０は、コード化されたフォーマットでロギングデータベース４７４に対するログ情報を出力することができる。
【００５０】
ステップ５２２では、ポリシーエンフォースメントモジュール４４０は、メッセージに関する情報を受信し、送付元クライアント装置１７０から受信クライアント装置へ、特定メッセージを、形式を変更することなく転送するべきか否かを決定することが可能である。上述のように、ポリシーエンフォースメントモジュール４４０は、多くのクラスのポリシー情報のうちの少なくとも１つ、さらに、場合によれば１つより多い、特定のポリシールールを含むポリシールールデータベース４４４へのアクセスを有することができる。
【００５１】
プロトコルメッセージゲートウェイ１２２実行時に使用可能な、いくつかの配置オプションがある。例えば、６図は、上述したＣＶＰ方法を用いる、プロトコルメッセージゲートウェイ１２２の配置を示すブロック図である。したがって、ファイアウォール６２０は、プロトコルメッセージゲートウェイ１２２に結合可能なＣＶＰ  ＡＰＩ６１０を含むことができる。ファイアウォール６２０は、その後、それを通して外部サーバが結合されるＣＶＰインターフェース機構、この場合は、プロトコルメッセージゲートウェイ１２２、を有するよう構成可能である。ファイアウォール６２０は、メッセージを、例えば、通信ポート５１９０あるいは通信ポート２０２０から、ＣＶＰ  ＡＰＩ６１０を用いるＣＶＰインターフェース機構を通して、プロトコルメッセージゲートウェイ１２２へ方向付け可能である。
【００５２】
代替的に、図７は、本願明細書に説明されているシステムおよび方法の他の実施例に従う、ゲートウェイプロキシ方式を用いるプロトコルメッセージゲートウェイの配置を示すブロック図である。図７の例では、プロトコルメッセージゲートェイ１２２は、プロキシモジュール７６０を含んでいる。概して、プロキシは、ローカルクライアント装置７７０などのクライアントから出入りする、任意のプロトコルを含むメッセージも、リモートサーバ７８０などのサーバへリレーするよう構成された、サーバ、あるいはサーバの構成要素であり得る。クライアント装置７７０を外部ネットワーク７３０からの侵入から保護するために、プロキシを使用することができる。プロキシは、ファイアウォール７２０、あるいは、プロトコルメッセージゲートウェイ１２２のようなゲートウェイを通して制御されるポータルとして使用可能である。したがって、プロキシモジュール７６０を備えたプロトコルメッセージゲートウェイ１２２は、プロトコルメッセージゲートウェイ１２２が、プロキシとして作動して、ネットワーク７１０内の任意のメッセージを検査可能とするよう構成可能である。
【００５３】
しかしながら、各ローカルクライアント装置７７０上のクライアントアプリケーションは、プロトコルメッセージゲートウェイ１２２をプロキシとして使用するよう構成されていなければならない。こうした構成でないなら、ローカルクライアント装置７７０は、経路７４４により示されたように、企業ネットワーク７１０、ファイアウォール７２０、および外部ネットワーク７３０を進むことにより、リモートサーバ７８０と通信可能である。したがって、非協力的、あるいは無学なユーザーなら、進んで、あるいは知らずに、プロトコルメッセージゲートウェイ１２２、およびリモートサーバ７８０と通信する経路７４４などの直接経路をバイパスさせてしまうことになろう。この可能性の回避を補助するために、ファイアウォール７２０は、プロキシ７６０から生成されるもの以外の全ての通信を妨害するように構成可能である。あいにく、従来のファイアウォール７２０は、特定のＩＭプロトコルなど、さらに補足し難いプロトコルを検出する機能は備えていない。従って、プロキシエンフォーサ７５０は、ネットワーク７１０内を進むメッセージが、上述のように、確実にプロトコルメッセージゲートウェイ１２２を用いるようにするよう使用可能である。
【００５４】
したがって、権限のない経路を妨害することにより、ユーザーは、経路７４２によりプロキシ７６０を経由することによってのみ、プロトコルメッセージゲートウェイ１２２により許可され、リモートサーバ７８０へ結合できることになる。全てにおいて、プロキシモジュール７６０、およびプロトコルメッセージゲートウェイ１２２を通して流れる通信トラフィックは、目標プロトコルに対する全てのトラフィックをモニタし、上述した前記プロトコルに対する任意のポリシーを実施可能である。
【００５５】
便宜上、ユーザーがログオンするたびに、ローカルクライアント装置７７０上で、スクリプトを実行することが可能である。このスクリプトは、装置７７０上で作動する全てのクライアントアプリケーションが、確実にプロキシとしてプロトコルメッセージゲートウェイ１２２を有するようにする。このスクリプトは、自身のプロキシを手動で構成する必要がないため、さらなる便宜をユーザーに提供する。さらに、スクリプトは、例えば、管理者ワークステーション１２０を遠隔から使用することによってアップデート可能である。
【００５６】
図８および図９は、本願明細書に説明されているシステムおよび方法の代替的実施例に従う、ドメインネームサービス（ＤＮＳ）リダイレクション技術を用いる、プロトコルメッセージゲートウェイ１２２の配置を示している。ネットワーク上で通信する際は、多くの場合、クライアントは、ホスト名により特定されるサーバと通信する。通信の始めに、クライアントは、ネームサーバへホスト名を解明するよう要求する。見出されたなら、ネームサーバは、サーバのネットワークアドレスを伴って応答する。図８および図９の実施例では、特定のサーバに対するホスト名が要求される度に、ゲートウェイ１２２に対するアドレスが、クライアントに与えられている。
【００５７】
図８は、外部ネームサーバ８９０のみを使用するＤＮＳリダイレクションを用いる、プロトコルメッセージゲートウェイの配置を表すブロック図を示している。外部ネームサーバ８９０は、外部ネットワーク８３０に接続されている。その後、経路８４０を経由して、クライアント装置８７０から外部ネームサーバ８９０へ、通常のＤＮＳ要求をすることができる。ＤＮＳ要求は、プロキシエンフォーサ８５０あるいはファイアウォール８２０のいずれかを用いて妨害可能であり、クライアント装置は、ＤＮＳ要求に対してプロトコルメッセージゲートウェイ１２２をＤＮＳプロキシとして使用するよう強制される。クライアント装置８７０が経路８４２経由で疑わしいホスト名を要求する場合は、プロトコルメッセージゲートウェイ１２２は、それ自身のアドレスを対応するアドレスとしてそのホストへ提供し、それにより、クライアント８７０を追跡し、プロトコルメッセージゲートウェイ１２２をリモートサーバ８８０であると信じさせるよう構成可能である。プロトコルメッセージゲートウェイ１２２は、その後、メッセージをリモートサーバ８８０へリレーし、そこで通信をモニタし、および規制することが可能である。ホスト名が、例えば、目標プロトコルに関連付けられたサーバなど、特定のサーバに属するものとして既知でない場合は、ゲートウェイ１２２は、経路８４４経由で外部ネームサーバ８９０へ要求し、外部ネームサーバ８９０により与えられた応答を伴って、クライアント装置８７０に応答する。
【００５８】
図９は、内部ネームサーバ９２０が企業ネットワーク９１０内部の全てのクライアント装置９７０により使用されている、ＤＮＳリダイレクションを用いるプロトコルメッセージゲートウェイの配置を表すブロック図を示している。内部ネームサーバ９２０は、例えば、企業ネットワーク９１０と結合可能である。ローカルクライアント装置９７０は、経路９５０経由で、サーバのホスト名のアドレスを解明するようＤＮＳ要求をすることができる。アドレスリストをアップデートし続けるために、内部ネームサーバ９６０は、経路９４２にわたって、そのアドレスリストを、「ゾーン転送」と呼ばれるもので外部ネットワーク９３０へ接続された、外部ネームサーバ９９０と周期的に同期させることが可能である。これを補うために、プロトコルメッセージゲートウェイ１２２は、目標プロトコルに関連づけられたサーバのホスト名を求めるＤＮＳ要求を向け直すために、経路９４０経由で代替ホスト名を内部ネームサーバ９６０へ提供可能である。
【００５９】
図８および図９は、ＤＮＳリダイレクション方式を用いたプロトコルメッセージゲートウェイ１２２を配備するシステムの典型的実施例として提供されている。しかしながら、その多数の等価トポロジーおよびネームサーバプロトコルは、ＤＮＳスプーフィングを通して向け直しを達成するのに使用可能であることが理解されるだろう。
【００６０】
図１０は、ＨＴＴＰトンネル方式を用いるプロトコルメッセージゲートウェイ１２２の配置を示すブロック図である。１０図に示した配置は、例えば、ファイアウォール１０２０が、ＨＴＴＰ以外のインターネットへの全ての外部アクセスを妨害するよう構成されているときに使用可能である。こうした状況で、ファイアウォール１０２０は、外部ネットワーク１０６０上の仮想参加として構成可能な「非武装地帯」（ＤＭＺ）ホスト１０１０と、すなわち、外部ネットワーク１０６０へ出入りする全てのアクセスが、ＤＭＺホスト１０１０を通過するよう、結合可能である。ローカルクライアント装置１０７０が、外部ネットワーク１０６０に向けられたメッセージを送るときは、そのメッセージは、まず、例えば、上述の機能を実行するよう構成可能な、プロトコルメッセージゲートウェイ１２２を強制的に通過させられる。その後、そのメッセージは、ＨＴＴＰトンネルモジュール１０５０により、ＨＴＴＰメッセージとして表われるよう構成可能となる。この方法で、例えば、メッセージは、ファイアウォール１０２０を通過可能である。
【００６１】
ＨＴＴＰトンネルモジュール１０５０はまた、スタンドアロンモジュールとしても構成可能であり、あるいは、実施例に依存して、プロトコルメッセージゲートウェイ１２２へ組み込み可能なように構成することも可能である。実際には、ＨＴＴＰトンネルモジュール１０５０は、それが本願明細書内に説明されている機能を実行するよう構成されている限り、ファイアウォール１０２０内を含み、企業ネットワークを伴ういかなる場所にも存在可能である。
【００６２】
ＨＴＴＰトンネルモジュール１０５０がいったんメッセージをフォーマットしたなら、メッセージは、例えば、ＤＭＺホスト１０１０の一部として含まれる、例えばウェブプロキシ１０３０などのファイアウォール１０２０を通過可能である。ウェブプロキシ１０３０は、必要に応じてＨＴＴＰ形式を元に戻し、メッセージを外部ネットワーク１０６０へ送る形で構成可能なリレー１０４０へ、メッセージを送るよう構成可能である。
【００６３】
図１１は、ＣＶＰ方式を用いる配置と同様の、ＩＳＡアプリケーションフィルタ方式を用いるプロトコルメッセージゲートウェイ１２２の配置を示すブロック図である。したがって、ファイアウォール１１２０は、プロトコルメッセージゲートウェイ１２２への目標プロトコルを含むメッセージを送るよう構成可能な、ＩＳＡアプリケーションフィルタ１１１０を含むことが出来る。
【００６４】
したがって、企業ネットワーク内部、あるいは何らかの他のローカルネットワーク内部の、メッセージに関連付けられたメッセージプロトコルを適合させ、あるいは強化するよう構成されたプロトコルメッセージゲートウェイ１２２は、先行するパラグラフに述べられたものを含む様々な方法で配置可能である。さらに、プロキシエンフォーサ１５０などのプロキシエンフォーサは、メッセージがこうしたプロトコルメッセージゲートウェイ１２２を通過して、強制的にそのネットワーク内を進むよう企業ネットワーク内部に配置可能である。メッセージに、プロトコルメッセージゲートウェイ１２２を通過するよう強制できないときは、プロキシエンフォーサ１５０は、通信接続を終えるよう構成することも可能である。代替的に、プロキシエンフォーサ１５０は、プロトコルメッセージゲートウェイ１２２を強制的に通過させたメッセージに関連付けられた情報を記録するために、および／または、プロトコルメッセージゲートウェイ１２２を強制的に通過させた、任意のメッセージに関連するレポートを生成するために、プロトコルメッセージゲートウェイ１２２を通過するよう強制できないメッセージに関連付けられた通信接続をリセットするよう構成可能である。
【００６５】
図１に示したように、プロトコル管理システム１００は、また認証モジュール１６０を含むことができる。認証モジュール１６０は、企業ネットワーク１１０内外へ通過する関連するメッセージに対する目標プロトコルにより使用されている、スクリーンネーム、あるいはエイリアスから企業ネットワーク１１０内部のユーザーのアイデンティティを特定するよう構成可能である。例えば、ＩＭアプリケーションは、多くの場合、ユーザーに対するエイリアスとしてスクリーンネームを使用している。したがって、ＩＭアプリケーションにより生成されたメッセージには、スクリーンネームが含まれている。それは、スクリーンネームに関連付けられた実際のユーザーを特定するために、プロトコルメッセージゲートウェイ１２２を使用してポリシーを適合させ、あるいは強化する際に役立つ場合がある。認証モジュール１６０は、こうした識別を実行するよう構成可能である。さらに、認証モジュール１６０は、例えば、既に特定されたスクリーンネームを用いて、同一ユーザーにより生成されたＩＭメッセージを処理する際に、それを後に、回復し得るよう、特定情報を格納するよう構成可能である。
【００６６】
図１２は、本願明細書に説明されているシステムおよび方法に従って構成される、認証モジュール１６０の１つの実施例を示す図である。図１２の実施例に示したように、認証モジュール１６０は、プロトコルメッセージゲートウェイ１２２の一部を含むことができる。代替的に、認証モジュール１６０は、図１に示したようなプロトコルメッセージゲートウェイ１２２とは別のスタンドアロンモジュールとして機能可能である。こうした実装では、認証モジュール１６０は、例えば、別のサーバ上、あるいは企業ネットワーク１１０にインターフェースで接続されたローカルクライアント装置にロード可能である。同様に、プロトコルメッセージゲートウェイ１２２は、ユーザーデータベース１２５２を含むローカルサーバ１２５０を含むことが可能である。また、代替的実施例では、ローカルサーバ１２５０、およびユーザーデータベース１２５２は、特定の実施例による要求に応じて、プロトコルメッセージゲートウェイ１２２の外部に存在してもよい。ユーザーデータベース１２５２は、ユーザー名と、企業ネットワーク１１０内で目標プロトコルにより使用されるスクリーンネームあるいはエイリアスとの間の関係を維持するよう構成可能である。
【００６７】
１つの実施例では、上述のように、プロトコルメッセージゲートウェイ１２２は、クライアント装置１７０からインターセプトされたメッセージを受信可能な、セッションマネージャ１２２０を含むことができる。セッションマネージャ１２２０は、インターセプトされたメッセージを分析し、それに関連付けられるメッセージプロトコルを決定するよう構成可能である。セッションマネージャ１２２０は、また、メッセージ、あるいはそれと等価な情報を、メッセージの着信を示す新規セッションイベント１２４４を生成するよう構成可能なローカルサーバ１２５０へ送るよう構成することができる。特定の実施例では、例えば、各々がタイプの異なる目標プロトコルの処理に適合した、多数のローカルサーバ１２５０を含むことが可能である。
【００６８】
セッションマネージャ１２２０は、その後、セッションイベント１２４４を、認証モジュール１６０などの、メッセージゲートウェイ１２２内部の１つ以上の他のモジュールへ分配するよう構成可能である。認証モジュール１６０は、セッションイベント１２４４を受信し、さらに名前要求メッセージ１２４６を認可サーバ１２８へ送り、さらに認可サーバ１２８から名前応答メッセージ１２４２を受信するよう構成可能である。
【００６９】
例えば、認証モジュール１６０により認可サーバ１２８に送られた名前要求メッセージ１２４６は、メッセージを送るクライアント装置１７０のＩＰアドレスを含むことが可能である。したがって、認可サーバ１２８により認証モジュール１６０へ送られる名前応答メッセージ１２４２は、メッセージを送るクライアント装置１７０に関連づけられた単一ユーザー名を含むことができる。いったん名前応答メッセージ１２４２が受信されると、認証モジュール１６０は、最初に、セッションイベント１２４４に関連付けられたセッションが、未だにアクティブかを決定するよう構成可能である。アクティブの場合は、認可モジュール１６０は、メッセージに関連付けられたスクリーンネームにその単一ユーザー名を関連付け、さらにその関連付けをユーザーデータベース１２５２へ格納することが可能である。同一スクリーンネームを含む続くメッセージが受信されると、認証モジュール１６０は、そのメッセージを送った実際のユーザーを特定するために、ユーザーデータベース１２５２からの関連付け情報に単にアクセスするだけでよい。
【００７０】
ポリシーエンフォースメントモジュール１２３０、プロトコルアダプタ１２２０、およびロギングモジュール１２６０は、その後、ユーザー識別に基づいてメッセージを処理可能である。例えば、ポリシーエンフォースメントモジュール１２３０は、メッセージを送ったユーザーの識別に基づいて、そのメッセージを本来意図されていた送付先に送るのを許容すべきか否かを決定することができる。
【００７１】
単一ユーザーに対して、複数のスクリーンネームを関連付けることが可能である。したがって、ユーザーデータベース１２９２に格納された識別情報は、特定のユーザーにより使用された、全てのスクリーンネーム、あるいはエイリアスの完全な関連付けを含むことができる。
【００７２】
図１３は、本願明細書に説明されているシステムおよび方法に従う、スクリーンネームを単一ユーザーネームに関連付ける方法を示すフローチャートである。まず、ステップ１３０２では、プロトコルメッセージゲートウェイ１２２は、受信されたメッセージを分析し、関連するメッセージプロトコルを決定する。その後、プロトコルメッセージゲートウェイ１２２は、ステップ１３０９において、そのメッセージをローカルサーバ１２５０へ送ることが可能であり、さらに、ステップ１３０６では、メッセージ送付ユーザーがローカルユーザーであるか否か、すなわち、企業ネットワーク１３０に接続されているか否かを決定可能である。送付ユーザーがローカルユーザーである場合は、その後、ステップ１３０８において、ローカルサーバ１２５０は、そのメッセージに対応してセッションイベント１２４４を生成するよう構成可能である。ユーザーがローカルユーザーではない場合は、処理は、ステップ１３１２へジャンプ可能である。
【００７３】
ステップ１３１０では、プロトコルメッセージゲートウェイ１２２内部のローカルサーバ１２５０は、その送付ユーザーがローカルサーバ１２５０に既知、すなわち、ローカルサーバ１２５０により維持されたユーザーデータベース１２５２内にスクリーンネームに関連付けられたユーザー名があるか否かを決定可能である。メッセージ送付ユーザーがローカルサーバ１２５０に既知の場合、何もする必要はなく、そのメッセージは、ステップ１３２８に従って処理可能である。メッセージ送付ユーザーがローカルサーバ１２５０に既知でない場合、ステップ１３１２では、ローカルサーバ１２５０はゲストセッション、すなわち、新規ユーザー開始セッションを伴う新規セッションを作成するよう構成可能である。その後、ステップ１３１４では、ローカルサーバ１２５０は、認可サーバ１２８がユーザーに対する単一ユーザー名を取得するよう要求する認可サーバ１２８へ、メッセージを送るよう構成可能である。また、１つの実施例では、サーバ１２５０から認可サーバ１２８へのメッセージは、メッセージの送り主に関連付けられたＩＰアドレスを含むことができる。
【００７４】
ステップ１３１６では、認可サーバ１２８は、例えば、ローカルサーバ１２５０から受信された、送られたＩＰアドレスに関連付けられたクライアント装置１７０を特定可能であり、クライアント装置１７０に対してグローバルユーザーＩＤ（ＧＵＩＤ）を決定するために、そのクライアント装置１７０で登録を査問可能である。認可サーバ１２８はクライアント装置１７０で直接登録について査問可能であるので、ローカルサーバ１２９０は、これらのユーザーの協力についてのいかなる要件も必要とすることなく、さらに、これらのユーザーの制御下のクライアント装置の協力についてのいかなる要件も必要とすることなく、ユーザーを唯一特定する情報を得ることができる。例えばＩＭプロトコルを使用している個々のユーザーが多数のスクリーンネームを持っている場合には、ローカルサーバ１２５０はまだそれらのスクリーンネームのすべてを単一ユーザーに関連づけることができる。
【００７５】
続いてステップ１３１９では、認可サーバ１２８は、上で取得したＧＵＩＤに関連付けられた単一ユーザー名を、ドメインコントローラ１３２から要求可能である。ドメインコントローラ１３２は、単一ユーザー名を送ることにより応答するよう構成可能である。
【００７６】
認可サーバ１２８は、単一ユーザー名を、ステップ１３２０においてローカルサーバ１２５０へ送るよう構成可能である。
【００７７】
ステップ１３２２では、ローカルサーバ１２５０は、メッセージに関連付けられたセッションが、未だ進行中か否かの決定をチェックするよう構成可能である。例えばセッションがメッセージの送り主により落とされたりなどして、セッションがもはや進行中ではない場合は、処理を終えることができる。セッションが未だ進行中である場合は、ステップ１３２４では、ローカルサーバ１２５０は、単一ユーザー名およびそれに関連付けられたスクリーンネームをユーザーデータベース１２５２内に記録可能である。
【００７８】
プロトコルメッセージゲートウェイ１２２は、実際のユーザーが通信のために選択したスクリーンネームにかかわらず、実際のユーザーを伴ってそのメッセージの処理を集めるよう適合させることが可能である。したがって、個々のユーザーが２つの別々のスクリーンネームを有している場合、プロトコルメッセージゲートウェイ１２２は、ユーザーが自己のメッセージを、２つの別々のスクリーンネームを含むメッセージへ分離していても、未だに実際のユーザーに関するポリシールールを実行することが可能である。例えば、特定のポリシールールにより、ユーザーが毎時１００より多いＩＭメッセージを送受信することを制限する場合、プロトコルメッセージゲートウェイ１２２は、任意の１つ以上のスクリーンネームのもとで操作する個々の実際のユーザーが、全てのネームを組み合せて毎時１００より多いＩＭメッセージを送受信することを制限することも可能である。
【００７９】
ユーザーデータベース１２５２内に格納されているスクリーンネーム関連付け情報は、企業ネットワーク１１０内部でユーザーにより生成されたメッセージが、同じく企業ネットワーク１１０内部にある送付先へいつ企図されたかを特定するために使用可能である。例えば、企業ネットワーク１１０内部の１人のユーザー１７２は、企業ネットワーク１１０内部の他のユーザー１７２へＩＭメッセージを送ることができる。従来のシステムでは、第１ユーザーから送られたＩＭメッセージは、ネットワーク１１０から出て、外部ネットワーク１３０経由で、送付先を決定するよう構成されたリモートサーバへ、通過しなければならない。その後、リモートサーバは当該メッセージを送り、この場合には、企業ネットワーク１１０内部の第２ユーザーへ戻すことになる。しかしながら、本願明細書に説明されているシステムおよび方法に従って構成されているプロトコルメッセージゲートウェイ１２２では、送付先に関連付けられたスクリーンネームを用いて、その第２ユーザーが企業ネットワーク１１０内部に参加することを認識可能であり、さらにメッセージを企業ネットワーク１１０から出して、リモートサーバまで到達させるのを許容するのと対照的に、そのメッセージを単に第２ユーザーへ折り返せばよい。
【００８０】
したがって、プロトコルメッセージゲートウェイ１２２が新規メッセージを受信すると、それは、メッセージソースに関連付けられたスクリーンネームがユーザーデータベース１２５２内の単一ユーザー名に関連付けられているかを決定可能なだけではなく、それはまた、メッセージの送付先に関連付けられたスクリーンネームがユーザーデータベース１２５２内の単一ユーザー名に関連付けられているかを決定するよう構成可能である。メッセージソースに関連付けられたユーザー名がユーザーデータベース１２５２内の単一ユーザー名に関連付けられている場合は、そのメッセージのポリシーエンフォースメントルールを、上述のように実行可能である。メッセージソースに関連付けられたユーザー名がユーザーデータベース１２５２内の単一ユーザー名に関連付けられていない場合は、上述のようなスクリーンネームを伴う単一ユーザー名に関連付ける処理は、こうした関連付けを生成するために実行可能となり、それは、その後、ユーザーデータベース１２５２内に格納可能である。
【００８１】
同様に、メッセージの送付先に関連付けられたセッション名が単一ユーザー名およびユーザーデータベース１２５２に関連付けられている場合は、プロトコルメッセージゲートウェイ１２２は、単一ユーザー名に関連付けられたクライアント装置１７０へ単に折り返すよう構成可能である。このように、プロトコルメッセージゲートウェイ１２２は、企業ネットワーク１１０および外部ネットワーク１３０から、リモートサーバおよびバックへメッセージを横送りすることを防止することができる。これにより、企業ネットワーク１１０内部のユーザー１７２間の通信を早くすることが可能となるのみならず、企業ネットワーク１１０外部との通信に関連するいかなる問題も回避可能である。
【００８２】
送付先に関連づけられたスクリーンネームが、ユーザーネームデータベース１２５２内の単一ユーザー名に関連付けられていない場合は、スクリーンネームを単一ユーザー名に関連付けるのと同様の処理が実行可能である；しかしながら、この場合、認可サーバ１２８は、送付先がなおも企業ネットワーク１１０外部にあるので、関連付けを行うことはできないであろう。こうした場合には、メッセージは折り返されず、いかなるポリシーエンフォースメントルールが存在しても、そのメッセージは実行される。
【００８３】
本願明細書に説明されているシステムおよび方法は、例えば、外部ネットワーク１３０を経由してインターフェースで接続された多数のゲートウェイにわたって適用可能であることに、留意すべきであろう。換言すれば、企業は、他のゲートウェイ１２２および関連するクライアント装置１７０に関連する情報を有する各ゲートウェイ１２２を伴う、複数のプロトコルメッセージゲートウェイを実装可能である。したがって、特定の実施例では、ユーザーデータベース１２５２に格納された関連付け情報は、他のプロトコルメッセージゲートウェイ１２２に関連づけられたユーザーに関する情報を含むことができる。この場合、受信されたメッセージに関連付けられたスクリーンネームあるいは送付先が、関連するプロトコルメッセージゲートウェイ１２２に順番に関連付けられた単一ユーザー名に関連付けられていることを、第１プロトコルメッセージゲートウェイ１２２が決定すると、第１プロトコルメッセージゲートウェイ１２２は、例えば、外部ネットワークを通して、さらに、関連するプロトコルメッセージゲートウェイ１２２を通して、単にメッセージを直接送付先に送りながらも、なおもリモートサーバをバイパスするように構成可能である。
【００８４】
本願明細書に説明されているシステムおよび方法の他の実施例では、プロトコルメッセージゲートウェイ１２２は、ローカルクライアント装置１７０とリモートクライアント装置との間にプライバシトンネルを構築するよう構成可能である。プライバシトンネルを考案する処理は、複数のプロトコルメッセージゲートウェイが関係する際のメッセージ折り返し処理と多少似ている；しかしながら、この場合、リモートクライアント装置は、順番にプロトコルメッセージゲートウェイ１２２に関連付けられるプロトコルメッセージゲートウェイに、必ずしも関連付けられるというわけではない。しかしながら、プロトコルメッセージゲートウェイ１２２は、リモートクライアント装置、および／または、それに関連づけられるプロトコルメッセージゲートウェイに関する情報を知っている必要がある。ローカルクライアント装置１７０が、リモートクライアント装置に対して意図されたメッセージを生成するとき、プロトコルメッセージゲートウェイ１２２は、リモートクライアント装置、および／または、その関連するプロトコルメッセージゲートウェイとの直接通信リンクをセットアップするよう構成可能である。換言すれば、プロトコルメッセージゲートウェイ１２２が、ローカルクライアント装置１７０により生成されたメッセージは、その直接接続情報を有するリモートクライアント装置を意図したものであると認知すると、リモートサーバあるいはローカルサーバをバイパスさせることが可能である。さらには、ローカルクライアント装置１７０とリモートクライアント装置との間の通信リンクは、リモートサーバを経由する通信が存在しないときでさえ確保可能である。
【００８５】
図１４には、本願明細書に説明されているシステムおよび方法に従う、プライバシトンネル生成の典型的実施例を表すフローチャートが示されている。まず、ステップ１４０２では、ローカルユーザー、あるいはリモートユーザーは、プロトコルメッセージゲートウェイ１２２へ信号を送信することにより、安全な通信セッションを呼び出すことができる。１つのインプリメンテーションでは、ユーザーは、「＜ＳＥＣＵＲＥ＞」という特別なストリングを送信することにより、安全なセッションを呼び出すことができる。プロトコルメッセージゲートウェイ１２２は、ステップ１４０４で、要求をオブザーブし、ステップ１４０６で、安全なシンクライアントをリモートクライアント装置へダウンロードすることにより、安全な通信チャンネルを呼び出す。その後、リモートクライアント装置は、ステップ１４０８で、シンクライアントを呼び出すことができる。その後、プロトコルメッセージゲートウェイ１２２は、ステップ１４１０での外部ネットワーク１３０を通して、安全な通信チャンネルを確立可能である。
【００８６】
プロトコルクライアント装置が、メッセージをリモートクライアント装置へ送ると、プロトコルメッセージゲートウェイ１２２は、ステップ１４１３で、メッセージをインターセプトし、ステップ１４１４で、それをリモートクライアント装置上で作動しているシンクライアントに送ることができる。
【００８７】
いずれのユーザーも安全な通信の終了を所望するときは、それらのクライアント装置は、ステップ１４１６でプロトコルメッセージゲートウェイ１２２に示される信号を送ることができる。１つの実施例では、こうした安全なセッションの終了は、「＜ＥＮＤＳＥＣＵＲＥ＞」などのストリングを用いて指定される。プロトコルメッセージゲートウェイ１２２は、ステップ１４１０で、要求を受信し、安全な通信チャンネルを終了する。終了すると、シンクライアントはその実行を終え、リモートクライアント装置は、ステップ１４２０で、シンクライアントにより使用されたすべてのリソースを解放する。その後、リモートクライアント装置は、ステップ１４２２で、シンクライアント装置を削除可能である。
【００８８】
特定の実施例では、プロトコルメッセージゲートウェイ１２２は、ローカルクライアントからのメッセージをインターセプトし、それらをリモートクライアント装置に送る前に、あるメッセージプロトコルから他のメッセージプロトコルへ翻訳することができる。これは、例えば、リモートクライアント装置とローカルクライアント装置とが、異なるメッセージプロトコルを使用している場合に役立つ。
【００８９】
図１５は、各ユーザーが、例えばネットワーク１１０内部のアプリケーションにログオンしたときを検出し、および報告するよう構成されたメッセージプロトコルゲートウェイ１５００を示す図である。図１５の例では、プロトコルメッセージゲートウェイ１５００は、メッセージプロトコル要素１５１０、および用法データベース１５２０を含むことができる。メッセージプロトコル要素１５１０は、例えば企業ネットワーク１１０を用いて、クライアント装置１７０から出入りする、あるいは、例えば企業ネットワーク１１０および外部ネットワーク１３０を用いて外部クライアント装置から出入りするメッセージを送受信するように構成可能である。メッセージプロトコル要素１５１０により送受信されるメッセージは、上述されたような、様々な目標プロトコルを実行可能である。
【００９０】
用法データベース１５２０は、ユーザーテーブル１５５０および逆ユーザーテーブル１５６０を含む、１組のデータベーステーブルを含むことが可能である。用法データベース１５２０は、本願明細書では、ユーザーの存在の検出および報告に関して説明されているが、用法データベース１５２０が、他のリソースの存在あるいは不存在の検出および報告、さらに他のタイプのイベントの検出および報告に対する、非常に一般的な拡張を有していることは明白であろう。また、用法データベース１５２０は、１組のＳＱＬインストラクション１５２２および１組のＳＱＬエクステンション１５４０を含む、１組のデータベースコードを含んでいる。用法データベース１５２０は、本願明細書では、データベース操作および問合せ言語の個々の例としてのＳＱＬに関して説明されているが、用法データベース１５２０が、他のタイプのデータベース操作および問合せ、さらに一般に、他のタイプのデータベースあるいはデータソースに対しても構成可能であることは、当然理解されるであろう。
【００９１】
１つの実施例では、ユーザーテーブル１５５０は、時には「行」と呼ばれる１組のエントリー１５５２を含んでおり、その各々は、選択されたユーザー１７２の情報を含んでいる。こうした実施例では、ユーザーテーブル１５５０は、時には各エントリー１５５２用の「列」と呼ばれる１組のフィールド１５５４を含んでおり、その各々は、選択されたデータ項目、あるいはエントリー１５５２に関連付けられたユーザーに対するデータ項目のリストを含んでいる。例えば、ユーザーテーブル１５５０は、選択されたユーザーに関連付けされたユーザー名を含み得る第１フィールド１５５４ａ、選択されたユーザーに関連付けされたコンタクトリストを含み得る第２フィールド１５５４ｂ、および選択されたユーザーに関連付けされたオンライン／オフライン状態を含み得る第３フィールド１５５４ｃを含むことができる。
【００９２】
フィールド１５５４ｂは、実施例に応じて、多次元列、すなわち、フィールド１５５４に関連付けられた値がそれ自体リストであり得、ＳＱＬエクステンション１５４０は、例えば多次元列１５５４からの複数行などのリストを生成することが可能な機能、および、リストから多次元列１５５４を生成することが可能な機能を含んでいる。これは、普段なら複数のデータベーステーブルへリンクすることを伴うデータベース問合せが、単一のデータベーステーブルの操作を用いて実行可能となるという効果を有している。例えば、多次元列を用いることなく、コンタクトリストを選択されたユーザーに関連付けることは、例えば、ユーザーＢがユーザーＡのコンタクトリストにあるか否かに関係なく、ユーザーＡとユーザーＢなど、ユーザーの各対を示す別々のリンクテーブルにかかわることになろう。したがって、コンタクトリスト問合せを行うと、リンクテーブルの少なくとも１つの検索と、ユーザーテーブルの少なくとも２つの検索がかかわってくることになる。しかしながら、多次元列を使用することにより、コンタクトリストを、選択されたユーザーに関連付けることは、ユーザーテーブル自体の単一の検索と、コンタクトリストに使用される多次元列からリストを生成するためのＳＱＬエクステンション１５４０の使用にのみかかわる。
【００９３】
１つの実施例では、逆ユーザーテーブル１５６０は、ユーザーテーブル１５５０と同様に、１組のエントリー１５５６を含んでおり、それの各々は選択されたユーザー１７２用の情報を含んでいる。ユーザーテーブル１５５０と同様に、逆ユーザーテーブル１５６０は、各エントリー１５５６に対して、１組のフィールド１５５８を含むことができ、その各々は、そのエントリー１５５６に関連付けされたユーザーに対する、選択されたデータ項目あるいはデータ項目のリストを含んでいる。１つの実施例では、逆ユーザーテーブル１５６０は、選択されたユーザーに関連付けされたユーザー名を含む第１フィールド１５５８ａ、および、選択されたユーザーに関連付けされた逆コンタクトリストを含む第２フィールド１５５８ｂを含んでいる。選択されたユーザーに関連付けされた逆コンタクトリストは、この場合、この選択されたユーザーがそのコンタクトリスト上に記載されている他のユーザーを示すのに使用可能である。したがって、新たにログインしたユーザーが検出されると、その新たにログインしたユーザーの存在の通知を所望する、他のユーザーの組を検索するのは比較的簡単である。
【００９４】
１つの実施例では、ＳＱＬエクステンション１５４０はまた、頻繁に実行されると予想される１組のデータベース問合せを指定可能な機能を含んでおり、これに対しては、逆ユーザーテーブル１５６０とユーザーテーブル１５５０との関係と同様に、原テーブルに対応して逆テーブルを構築するのが望ましい。こうした実施例では、ＳＱＬ拡大１５４０は、例えば、以下の機能の１つ以上を含むことができる：逆ユーザーテーブル１５６０とユーザーテーブル１５５０との間の関係と同様に、逆テーブルが原テーブルに対応して自動的に構築されるかを、設計者が指定可能にし、そうである場合は、逆テーブルのフィールド１５５８が原テーブルのフィールド１５５４のどれかと、どのように関係するかを指定可能にする機能；原テーブルに関する問合せを、逆テーブルに対して実行する問合せに翻訳するべきか否かを、設計者が指定可能にし、そうである場合は、逆テーブルのフィールド１５５８が、原テーブルのフィールド１５５４の何れかのテストと対応して、どのようにテストされるべきかを指定可能にする機能；原テーブルか逆テーブルのいずれかに関する問合せが、その結果を後の使用のためにキャッシュするべきか否かを、設計者が指定可能にし、そうである場合は、どのようなトリガにより、問合せ、および／または、後の使用が実行されるべきかを指定可能にする機能。
【００９５】
例えば、コンタクトリストのどのユーザーがログインしているかに関する問合せは、以下のトリガのうちの１つ以上に対応して実行可能である：（１）  ユーザーがログインしたとき、（２）  ユーザーがログアウトしたとき、（３）  選択された期間が終了した後、（４）  プロトコルメッセージゲートウェイ１５００がリブートされ、あるいはリセットされた後、および、（５）  選択された数のメッセージが処理された後。
【００９６】
ＳＱＬエクステンション１５４０は、設計者が、原テーブルあるいは逆テーブルのいずれかに関連して、問合せを実行すべきか否か、さらに、その結果をいかなる実際の要求にも先んじて計算すべきか否か、そして、仮にそうであった場合、どのトリガによりその問合せが実行されるべきかを指定可能にする機能を含むことができる。
【００９７】
ＳＱＬエクステンション１５４０はまた、設計者が、テーブルに多次元列を含ませるべきか否か、仮にそうであった場合、その多次元列は問合せ結果に対応してどのように処理すべきかを指定可能にする機能を含むことができる。例えば、コンタクトリスト上のどのユーザーがログインしているかに関する問合せは、各ユーザー用のコンタクトリストに関連する多次元列を含むものであり、さらに、問合せの実行時に、多次元列が集められ、その後、個々の行に切り離されたことからの結果が、問合せられたユーザーのコンテントリスト上にある特定のユーザーに対して応答する。
【００９８】
したがって、プロトコルメッセージゲートウェイ１５００は、ネットワーク１１０上のユーザーの存在、およびユーザーにより使用されるアプリケーションへのログオンの、効率的な時間節約の検出を可能にするよう構成可能である。これにより、ネットワーク１１０内部の処理および他のリソースを節約可能となる。この機能性は、例えばネットワーク管理者などが、他のタイプのデータベース、およびデータベース検索のために、多次元列、および多次元列関連付けを定義可能にすることにより、拡張可能である。
【００９９】
図１６は、本願明細書に説明されているシステムおよび方法の１つの実施例に従う、ユーザーの存在の検出および報告のための方法例を示すフローチャートである。まず、ステップ１６０２では、クライアント装置１７０での内部ユーザー１７２、あるいは外部クライアント装置での外部ユーザーは、アプリケーションを使用するためにログインを試みる。ステップ１６０４では、関連するクライアント装置１７０は、ログインを試みたことを示し、さらに、例えばユーザー名あるいはスクリーンネームなどのログインに必要な情報を含む、メッセージをプロトコルメッセージゲートウェイ１２２へ送るよう構成可能である。ステップ１６０６では、プロトコルメッセージゲートウェイ１２２は、ログインを試みたことを示すメッセージを受信可能で、さらに、例えば、クライアント装置１７０へその受信を示す応答をすることが可能である。ステップ１６０８では、プロトコルメッセージゲートウェイ１２２がログインの試みを確認し、あるいはログインの試みを否定するのに十分な情報を有している場合、プロトコルメッセージゲートウェイ１２２は、クライアント装置１７０へ、その旨を示す応答をするよう構成可能である。
【０１００】
例えば、プロトコルメッセージゲートウェイ１２２は、どの内部ユーザー１７２およびどの外部ユーザーが、現在、アプリケーションを使用するためにログインする権限を与えられているかを示す、外部サーバからの利用可能なキャッシュ情報を有するよう構成可能である。こうした実施例では、アプリケーションの使用は、外部サーバへのアクセスに関連付けることができる。したがって、ログインは、実際には、例えばアプリケーションに関連付けられた外部サーバなどの、サーバにログインする試みであってもよい。
【０１０１】
他のインプリメンテーションでは、プロトコルメッセージゲートウェイ１２２は、例えば、公開鍵暗号システムあるいは他の信頼されるサーバを参照することにより、ログインメッセージが有効であるか否かを決定可能である、利用可能な既知の手順を有するよう構成可能である。
【０１０２】
ステップ１６１０では、ログインが成功している場合、処理をステップ１６１２へ進めることができる。しかしながら、ログインが成功していない場合は、プロトコルメッセージゲートウェイ１２２は、試みを拒否し、他のメッセージを待つことができる（ステップ１６０２）。ステップ１６１２では、プロトコルメッセージゲートウェイ１２２は、ログインに関連付けられたいかなるＳＱＬインストラクション１５２０も実行するよう構成可能である。ＳＱＬインストラクション１５２０は、例えば、多重次元コラムが使用される場合のように、例えば、１組のＳＱＬエクステンション１５４０を呼び出すことができる。
【０１０３】
１つの実施例では、ログインメッセージに関連付けられたＳＱＬインストラクション１５２０は、この新たにログインしたユーザーのコンタクトリスト上の、  内部ユーザー１７２にせよ、外部ユーザーにせよ、誰か他のユーザーもログインしているか否かを検出することを含むことができる。例えば、ＳＱＬインストラクション１５２０は、新たにログインしたユーザーに関連付けられたコンタクトリストを検索し、そのコンタクトリスト上のユーザーの誰かが既にログインしているか否かを決定する、ユーザーテーブル１５５０に対して実行される問合せを含むことができる。したがって、新たにログインしたユーザーは、既にログインしている任意の関連ユーザーについて通知を受けることができる。
【０１０４】
他の実施例では、ログインに関連付けられたＳＱＬインストラクションは、新たにログインしたユーザーが、既にログインしているユーザーの誰かの、任意のコンタクトリストに入っているか否かの検出を含むことができる。したがって、その新たにログインしたユーザーが、既にログインしているユーザーの誰かの任意のコンタクトリストに入っているなら、既にログインしているユーザーは、新たにログインしたユーザーの存在を通知されることができる。
【０１０５】
したがって、ステップ１６１２での、ＳＱＬインストラクション１５２０の実行は、新たにログインしたユーザー用の逆ユーザーテーブル１５６０を検索するよう、用法データベース１５２０に向けられることができる。１つの実施例では、ログインに関連付けられたＳＱＬインストラクション１５２０は、新たにログインしたユーザー用の逆ユーザーテーブル１５６０を検索するための、１組のＳＱＬエクステンション１５４０を呼び出す。例えば、１つの実施例では、検索を実行して、こうしたユーザーのリストが提供された結果、ＳＱＬエクステンション１５４０は、新たにログインしたユーザーをコンタクトリストに記載している１組のユーザーに、多次元列を含むよう指定することができる。この例では、多次元列は、ＳＱＬエクステンション１５４０により、各々が、コンタクトリストに新たにログインしたユーザーを記載している単一ユーザーを示す、１組の行へ拡張されるよう指定することができる。したがって、ＳＱＬインストラクション１５２０、あるいは何らかの他のインストラクションは、これらの各ユーザーに、新たにログインしたユーザーのユーザー存在を通知するために使用可能である。プロトコルメッセージゲートウェイ１２２は、その後、新たにログインしたユーザーをコンタクトリストに記載している１組のユーザーの各々に対して、そのユーザーの存在を通知するよう構成可能である。
【０１０６】
同様のステップが、例えば、新規ユーザーがいつプロトコルメッセージゲートウェイ１２２により登録されたか、あるいはシステム管理者もしくはチャットルームファシリテータなどの選択されたタイプのユーザーが、いつユーザー存在の状態を変更させたか、あるいは、ユーザーがいつログアウトしたかなどを含む、ユーザー存在の状態に影響を与える他の動作に対応して、プロトコルメッセージゲートウェイ１２２により実行されることは明白である。
【０１０７】
これまで本発明の特定の実施例を説明してきたが、説明された各実施例は、例として取り上げられたに過ぎないことは理解されるものであろう。したがって、本発明は、説明された実施例に基づく制限を受けるべきではない。むしろ、本願明細書に説明されている本発明の範囲は、上述の説明および添付図面に関連して、特許請求の範囲の見地から制限を受けるのみである。
【図面の簡単な説明】
【０１０８】
【図１】プロトコル管理システムを組み込むよう構成された企業ネットワークの典型的実施例を示す図である。
【図２】プロキシエンフォーサを含むシステムのブロック図である。
【図３】プロキシ実施を含む方法の処理フロー図である。
【図４】重要なプロトコルに対する保護可能なゲートウェイのブロック図である。
【図５】重要なプロトコルに対する保護可能なゲートウェイの動作方法の処理フロー図である。
【図６】ＣＶＰ方式を用いたプロトコルメッセージゲートウェイの配置のブロック図である。
【図７】ゲートウェイプロキシ方式を用いるプロトコルメッセージゲートウェイの配置を示すブロック図である。
【図８】外部ネームサーバだけを使用するＤＮＳリダイレクト方式を用いたプロトコルメッセージゲートウェイの配置を示すブロック図である。
【図９】企業ネットワーク内部の全てのクライアント装置により内部のネームサーバを使用するＤＮＳリダイレクト方式を用いるプロトコルメッセージゲートウェイの配置を示すブロック図である。
【図１０】ＨＴＴＰトンネル方式を用いるプロトコルメッセージゲートウェイの配置を示すブロック図である。
【図１１】ＩＳＡアプリケーションフィルタ方式を用いるプロトコルメッセージゲートウェイの配置を示すブロック図である。
【図１２】スクリーンネームを重要なプロトコルのユーザーと関連可能なローカルサーバのブロック図である。
【図１３】重要なプロトコルのユーザーと、関連するスクリーンネームを含む処理フロー図である。
【図１４】プライバシトンネルを用いる通信方法の処理フロー図である。
【図１５】ユーザーの存在の検出のために構成された、プロトコルメッセージゲートウェイの論理ブロック図のための処理フロー図である。
【図１６】ユーザーの存在の検出方法の処理フロー図である。
【図１】
2005529409.tif 000003
【図２】
2005529409.tif 000004
【図３】
2005529409.tif 000005
【図４】
2005529409.tif 000006
【図５】
2005529409.tif 000007
【図６】
2005529409.tif 000008
【図７】
2005529409.tif 000009
【図８】
2005529409.tif 000010
【図９】
2005529409.tif 000011
【図１０】
2005529409.tif 000012
【図１１】
2005529409.tif 000013
【図１２】
2005529409.tif 000014
【図１３】
2005529409.tif 000015
【図１４】
2005529409.tif 000016
【図１５】
2005529409.tif 000017
【図１６】
2005529409.tif 000018
【国際調査報告】
2005529409.tif 000019
2005529409.tif 000020
2005529409.tif 000021