(57)【要約】発信者からの来信e-メールの処置を決定するのに適するメール転送エージェントは、維持される同時TCP接続の数など現在通信システム資源使用と大きいサイズのe-メール・ファイルの送信など累積不適切発信者アクティビティに割り当てられるペナルティ・カウントとに基づいて機能するペナルティ・カウント・フィルタ・モジュール20を含む。ペナルティ・カウント・フィルタ・モジュールは、ペナルティ・カウントを持たない発信者からのe-メールを受諾しその他のe-メールをランダムに受諾する選択的拒否状態、及びペナルティ・カウントを有する発信者からの全てのe-メールを拒否し他のe-メールをランダムに拒否するランダム拒否状態で動作することができる。拒否率は、検出されるシステム資源の使用の増減に応じて増減することができる。
2004531003.tif 000002
【特許請求の範囲】
【請求項１】
発信者からの来信e-メールの処置を決定する通信装置に使用するのに適する方法であって、発信者識別子（61）を与えるために前記発信者のアイデンティティを確立するステップを含む方法において、
前記発信者識別子と関連付けられる累積ペナルティ・カウント値（63）を決定するステップと、
前記通信装置と関連付けられるシステム資源使用状態（71）を検索するステップと、
前記累積ペナルティ・カウント値と前記システム資源使用状態とに基づき前記来信e-メールを処理するステップと、
を含むことを特徴とする方法。
【請求項２】
前記発信者のアイデンティティを確立するステップ（35）が、前記発信者のIPアドレスを確認するステップを含む、請求項1に記載の方法。
【請求項３】
前記発信者のアイデンティティを確立するステップ（35）が、前記発信者を発信者TCP接続のピアIPアドレスと関連付けるステップを含む、請求項1に記載の方法。
【請求項４】
前記累積ペナルティ・カウント値を決定するステップが、前記発信者に関連付けられる不適切アクティビティに対して前記発信者識別子にペナルティ・カウント値を課するステップを含む、請求項1に記載の方法。
【請求項５】
前記累積ペナルティ・カウント値が、現在不適切発信者アクティビティに対して前記発信者に課せられるアクティビティ・ペナルティ・カウントと前不適切発信者アクティビティから決定される時間依存のペナルティ・カウントとを含む、請求項4に記載の方法。
【請求項６】
前記時間依存のペナルティ・カウントが、予め確立した保留期間後にゼロ値を含む、請求項5に記載の方法。
【請求項７】
前記時間依存のペナルティ・カウントが、減衰係数によって減少される前アクティビティ・ペナルティ・カウント値を含む、請求項5に記載の方法。
【請求項８】
前記不適切アクティビティが、多数のe-メールの送信、比較的サイズの大きいe-メールの送信、比較的長いTCP接続時間の使用、及びTCPタイムアウトの原因から成るグループの構成要素を含む、請求項4に記載の方法。
【請求項９】
前記システム資源使用状態が、維持される同時TCP接続の数、来信メッセージ・キューの中のe-メール・ファイルの数及び来信メッセージ・キューのために使用されるディスク・スペースの量から成るグループの構成要素の関数である、請求項1に記載の方法。
【請求項１０】
前記来信e-メールを処理するステップが、前記通信装置に操作状態を割り当てるステップを含み、前記操作状態が前記システム資源使用状態の関数である、請求項1に記載の方法。
【請求項１１】
前記操作状態が、正常操作状態、選択的拒否操作状態及びランダム拒否操作状態から成るグループの構成要素である、請求項10に記載の方法。
【請求項１２】
前記選択的拒否状態の場合、前記累積ペナルティ・カウント値がゼロ値を有するとき、前記来信e-メールを処理するステップが来信e-メールを受諾するステップを含む、請求項11に記載の方法。
【請求項１３】
前記選択的拒否状態の場合、前記累積ペナルティ・カウント値が非ゼロ値であるとき、前記来信e-メールを処理するステップが、
拒否係数を指定するステップと、
乱数を生成するステップと、
前記拒否係数と前記乱数とに基づいて前記来信e-メールをランダムに拒否するステップと、
を含む、請求項11に記載の方法。
【請求項１４】
前記ランダムに拒否するステップが、前記乱数が前記拒否係数より大きい場合に来信e-メールを受諾し、前記乱数が前記拒否係数より大きくない場合に前記来信e-メールを拒否するステップを含む、請求項13に記載の方法。
【請求項１５】
前記拒否係数が、前記システム資源使用状態が増大する場合に増大され、前記システム資源使用状態が減少する場合に減少される、請求項13に記載の方法。
【請求項１６】
前記ランダム拒否状態の場合、前記累積ペナルティ・カウント値が非ゼロ値のとき、前記来信e-メールを処理するステップが前記来信e-メールを拒否するステップを含む、請求項11に記載の方法。
【請求項１７】
前記ランダム拒否状態の場合、前記累積ペナルティ・カウント値がゼロ値のとき、前記来信e-メールを処理するステップが、
資源使用係数を導出するステップと、
乱数を生成するステップと、
前記資源使用係数、前記乱数及び前記累積ペナルティ・カウント値に基づいて前記来信e-メールをランダムに拒否するステップと、
を含む、請求項11に記載の方法。
【請求項１８】
前記ランダムに拒否するステップが、前記乱数が前記資源使用係数と前記累積ペナルティ・カウント値の積より大きい場合に前記来信e-メールを受諾し、前記乱数が前記資源使用係数と前記累積ペナルティ・カウント値の積より大きくない場合に前記来信e-メールを拒否するステップを含む、請求項17に記載の方法。
【請求項１９】
前記資源使用係数が、前記システム資源使用状態が増大するとき増大され、前記資源使用係数が、前記システム資源使用状態が減少するとき減少される、請求項18に記載の方法。
【請求項２０】
発信者からの来信e-メールの処置を決定するための通信装置であって、前記発信者を識別する手段（21）を備える通信装置において、
前記発信者に関連付けられる不適切アクティビティの関数であるペナルティ・カウントを前記発信者に割り当てるための手段（27）と、
e-メールを受信する前記通信装置の資源使用状態を決定するための手段（25）と、
前記資源使用値の関数である、前記ペナルティ・カウント・フィルタ・モジュールの操作状態を指定するための手段（29）と、
前記発信者ペナルティ・カウントと前記操作状態とに基づいて前記来信e-メールを処置するための受諾/拒否フィルタ（23）と、
を有する、ペナルティ・カウント・フィルタ・モジュール（20）、
を備えることを特徴とする通信装置。
【請求項２１】
前記発信者を識別するための手段（21）が、ドメイン名サービス確認及び発信者TCP接続のピアIPアドレスのうち少なくとも一方を取得するための手段を備える、請求項20に記載の装置。
【請求項２２】
前記不適切アクティビティが、多数のe-メールの送信、比較的大きいサイズのe-メールの送信、比較的長いTCP接続時間の使用及びTCPタイムアウトの原因、から成るグループの構成要素を含む、請求項20に記載の装置。
【請求項２３】
前記システム資源使用状態（25）が、維持される同時TCP接続の数、来信メッセージ・キューの中のe-メール・ファイルの数及び来信メッセージ・キューのために使用されるディスク・スペースの量、から成るグループの構成要素の関数である、請求項20に記載の装置。
【請求項２４】
発信者からの来信e-メールの処置を決定するための通信装置において、
前記発信者に関連付けられる現在ペナルティ・カウント値を記憶するための発信者ペナルティ・カウント・データ構造（27）と、
e-メール処理資源の装置に対する現在使用状態値を記憶するためのシステム資源使用状態ファイル（25）と、
前記ペナルティ・カウント値及び前記使用状態に基づいて前記来信e-メールを処置するための受諾/拒否フィルタ（23）と、
を備えることを特徴とする、通信装置。
【請求項２５】
前記発信者ペナルティ・カウント・データ構造（27）が、発信者識別値、累積ペナルティ・カウント値、累積e-メール・カウント、合計e-メール・サイズ、合計TCP接続時間及びタイムスタンプ値から成るグループの構成要素を含むエントリを含む、請求項24に記載の装置。
【請求項２６】
発信者からの来信e-メールの処置を決定するために通信装置の使用に適した方法であって、発信者IPアドレスを決定することによって前記e-メール発信者を識別するステップを含む方法において、
前記発信者IPアドレスに対して算出される前発信者ペナルティ・カウント値を取得するステップと、
前記発信者ペナルティ・カウント値に基づいて前記来信e-メールを受諾または拒否するステップと、
を含むことを特徴とする方法。
【請求項２７】
前記e-メール発信者に対する行動トレース・テーブルエントリを維持するステップと、
前記行動トレース・テーブルから前記前発信者ペナルティ・カウントを決定するステップと、
を含む、請求項26に記載の方法。
【請求項２８】
発信者e-メールの受信に応じて前記トレース・テーブルエントリにおける発信者行動値を更新するステップを含む、請求項27に記載の方法。
【請求項２９】
前記発信者行動値が、e-メールの数、e-メールの合計サイズ及びTCP接続合計時間から成るグループの構成要素を含む、請求項28に記載の方法。
【請求項３０】
前記発信者行動値を更新するステップが、
前記行動トレース・テーブル値を減衰係数によって減少するステップと、
現在行動トレース・テーブル値を該当する前記減少した行動トレース・テーブル値に加算するステップと、
を含む、請求項28に記載の方法。
【請求項３１】
前記減衰係数が、前記行動トレース・テーブルエントリの最近2回の更新の間の時間間隔及び予め確立された保留期間の関数である、請求項30に記載の方法。
【請求項３２】
前記発信者ペナルティ・カウント値が、予め確立された保留期間中に発生する不適切発信者アクティビティから決定される、請求項26に記載の方法。
【請求項３３】
前記不適切アクティビティが、多数のe-メールの送信、比較的大きいサイズのe-メールの送信、比較的長いTCP接続時間の使用及びTCPタイムアウトの原因、から成るグループの構成要素を含む、請求項32に記載の方法。
【請求項３４】
前記発信者ペナルティ・カウント値を更新するステップを含む、請求項26に記載の方法。
【請求項３５】
前記発信者ペナルティ・カウント値を更新するステップが、
前記前発信者ペナルティ・カウント値を前記予め確立された保留期間の関数である減衰係数によって減少して、減少した発信者ペナルティ・カウント値を算出するステップと、
現在発信者e-メール・アクティビティの関数として算出されるアクティビティ・ペナルティ・カウント値を前記減少した発信者ペナルティ・カウント値に加算して、更新済み発信者ペナルティ・カウント値を算出するステップと、
を含む、請求項34に記載の方法。
【請求項３６】
前記減衰係数が、前記前発信者ペナルティ・カウント値の算出と前記アクティビティ・ペナルティ・カウント値の算出との間の時間間隔の関数である、請求項35に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク通信システムに関し、特に来信電子メール・メッセージを処理するためのシステムおよび方法に関する。
【背景技術】
【０００２】
メール・フラッディング（flooding）を含むサービス・アタックの拒絶は、電子メール（e-メール）の管理に使用されるメール転送エージェントのセキュリティに影響を与える。現在の技術の状況下では、1つの可能な対応は、メール・フラッディングまたはサービス・アタックの拒絶の間、来信e-メールを全て拒否することである。しかし、問題のある発信者からのメール・フラッドと一緒に正当な発信者からのe-メールが拒否される可能性があるので、このような対応は恐らく望ましくない。現在の技術状況下では、高e-メール・アクティビティ期間中、問題のある発信者と正当な発信者とを区別する方法が提供されていない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
メール・フラッディングの攻撃またはサービス・アタックの拒絶中、問題のある発信者からのe-メールを選択的に拒否しかつ正当な発信者からのe-メールを選択的に受諾する、来信e-メールに対応するための方法が必要とされている。
【課題を解決するための手段】
【０００４】
本発明は、通信装置のメール転送エージェントのフロントエンドに組み込まれるペナルティ・カウント・フィルタ・モジュールを利用することによって不適切アクティビティを開始するe-メール発信者を識別し追跡して、受信装置へのその後のe-メール中断を緩和することができる、という観察結果から生まれた。ペナルティ・カウント・フィルタ・モジュールは、現在通信システム資源利用と累積不適切発信者アクティビティに割り当てられるペナルティ・カウントとを基にして来信e-メールの処置を決定する。システム資源利用は、維持される同時TCP接続の数によって決定することができ、行動トレース・テーブルを使用して追跡できる不適切発信者アクティビティは、多数のe-メールの送信または比較的長いTCP接続時間の使用を含むことができる。ペナルティ・カウント・フィルタ・モジュールは、正常状態、選択的拒否状態及びランダム拒否状態を含む複数の状態で操作する。選択的拒否状態においては、ペナルティ・カウントを持つ発信者からのe-メールはランダムに拒否され、ペナルティ・カウントを持たない発信者からのe-メールは受諾される。ランダム拒否状態においては、ペナルティ・カウントを持つ発信者からの全てのe-メールは拒否され、ペナルティ・カウントを持たない発信者からのe-メールはランダムに拒否される。拒否率は、検出されるシステム資源の使用の増減に応じて増減できる。
【０００５】
下の発明の説明は、添付図面を参照して行われる。
【発明を実施するための最良の形態】
【０００６】
図1には、インターネットなど通信網（図には示されていない）を通じて来信e-メールメッセージ11を受信するのに適するメール転送エージェント10の機能ブロック図が示されている。メール転送エージェント10は、例えばパーソナル・コンピュータまたはワークステーションなど通信器具と統合することができる。メール転送エージェント10は、メール転送エージェント10のフロント・エンド15に組み込まれるペナルティ・カウント・フィルタ・モジュール（PCFM）20、来信メッセージ・キュー13及び送付デーモン18を含む。望ましい実施態様においては、フロント・エンド15は、関連技術分野において既知のシンプル・メール転送プロトコル（SMTP）に従って機能する。
【０００７】
来信e-メール・メッセージ11は、受諾/拒否フィルタ23に送られ、受諾/拒否フィルタは、来信e-メール・メッセージを受諾e-メール・メッセージ16として来信メッセージ・キュー13に保存するかあるいは来信e-メール・メッセージ11を拒否してメッセージ発信者に否定的完了過渡応答を送信するかを決定する。受諾/拒否の決定は、受諾/拒否フィルタ23によって発信者ペナルティ・カウント状態27及びPCFM状態29に基づいて行われる。下でさらに詳しく説明する通り、発信者識別子21は、来信e-メール・メッセージ11から入手され、発信者ペナルティ・カウント状態27を決定するために使用される。
【０００８】
来信e-メール・メッセージ11の発信者のIPアドレスを確認するために逆ドメイン名サービス（DNS）確認を使用することによって、発信者を識別することができる。TCPタイムアウト・アタック中など発信者の封筒（envelope）・アドレスが入手できない状況においては、TPC接続のピア（peer：同類）IPアドレスを発信者識別子21として使用することができる。発信者ペナルティ・カウント状態モジュール27は、不適切e-メール・アクティビティと関連付けられる発信者の絶えず更新されるリストを維持する。不適切アクティビティには、例えば、多数のe-メールの送信、比較的大きいサイズのe-メールの送信、過度のTCP接続時間の使用またはTCPタイムアウトの原因が含まれる。
【０００９】
TCP接続が確立されるたびに更新されるシステム資源使用状態25は、下でさらに詳細に説明する通り、PCFM状態29を決定するために使用される。システム資源使用状態25は、来信メッセージ・キュー13が占めるディスク・スペース、来信メッセージ・キュー13の中のe-メール・ファイルの数または維持されている同時TCP接続の数など、来信e-メール・メッセージ11を含めて来信メッセージの処理に関係する1つまたはそれ以上のシステム資源の使用状態または容量状態に関する値を提示する。
【００１０】
メール転送エージェント10の操作は、図2の流れ図をさらに参照して説明することができる。図2において、メール転送エージェント10はステップ31においてTCP接続を確立して、来信e-メール・メッセージ11を受信する。ステップ33においてPCFM状態29が決定され、ステップ35においてe-メール・メッセージ11の発信者のアイデンティティが決定される。PCFM状態29は、i）現在PCFM状態、ii）ペナルティ・カウント・フィルタ・モジュール20が現在PCFM状態にあった期間、及びiii）現在システム資源使用状態25、の関数として決定される。PCFM状態29の決定は、e-メール・メッセージ11の発信者のアイデンティティには依存しない。
【００１１】
下にさらに詳細に説明するプロセスを使用して、受諾/拒否フィルタ23は、ステップ37において来信e-メール・メッセージ11を送付e-メール・メッセージ17としてアドレスに送信するか、あるいは来信e-メール・メッセージ11を拒否して、e-メール・メッセージ11が拒否されたことを示すオプションの否定的完了過渡応答19を発信者に送信するかを決定する。e-メール・メッセージ11の受諾または拒否の決定は、現在PCFM状態29及びe-メール・メッセージ11の発信者のアイデンティティに基づいて行われる。現在来信e-メール・メッセージ11が処理されたら、メール転送エージェント10は、ステップ41において行動トレース・テーブル（図7に示される）を更新する。望ましい実施態様においては、各e-メール発信者のアクティビティは、行動トレース・テーブル160によって追跡され更新される。行動トレース・テーブル160にリストされる全てのe-メール発信者が必ずしもその後ペナルティ・カウント状態を得るのに十分な不適切行動をとるわけではないことが分かるはずである。
【００１２】
発信者ペナルティ・カウント状態モジュール27は、決定ブロック43において来信e-メール・メッセージ11が不適切アクティビティを示すか否かを決定し、これを示す場合には、ステップ45において発信者ペナルティ・カウント状態モジュール27はペナルティ・カウント・テーブル50（図3に示される）において適切な発信者ペナルティ・カウント値を含む発信者識別子21の新しいリストを作成する。あるいは、その発信者識別子21に関するリストがすでに存在する場合には、該当の発信者ペナルティ・カウント値が更新される。不適切アクティビティが検出されない正常なe-メール・アクティビティの場合、ペナルティ・カウント・テーブル50における発信者の項目は一切変更が加えられない。ペナルティ・カウント・テーブル50にリストされていない発信者の場合、ペナルティ・カウント値はゼロとなる。本発明の方法の1つの実施態様においては、e-メール・メッセージ11の発信者のアクティビティは、ステップ31で確立されたTCP接続が終了した後にモニタされる。現在e-メール・メッセージ11に関係する不適切アクティビティが特に言及され、該当のペナルティ・カウントが査定される。メール転送エージェント10の操作は、その後ステップ31に進み、このステップで、次のTCP接続が確立される。
〔ペナルティ・カウント状態の導出〕
ペナルティ・カウント・テーブル50の機能については、図3のデータ構造図を参照して説明することができる。ペナルティ・カウント・テーブル50は、レコード51、53、55及び59によって代表される複数のレコードを含む。セマフォア（semaphore）特徴57または同様のロック/アンロック機構は、例えば来信e-メール・メッセージ11を処理するために2つまたはそれ以上のプロセッサが使用されるとき同期化のために各テーブル項目に関連付けられる。レコード53、55及び59の構造は、発信者識別子（SID）値61、累積ペナルティ・カウント（PNCT）値63及びタイプスタンプ（TS）値65を含むレコード51の構造と同様である。
【００１３】
望ましい実施態様においては、発信者識別子値を探索するプロセスは、ペナルティ・カウント・テーブル50をハッシュ（hash）するためにSIDから算出されるキーを使用することによって最適化することができる。例えば、256エントリを有するテーブルにおいては、該当の発信者識別子値の最下位バイトをハッシュ・キーとして使用することができる。レコードがリンク・リストに記憶される場合、ハッシュ・テーブルの各エントリがリンクされるリストをポイントする構成によってリハッシュを最小限に抑えることができる。
【００１４】
累積ペナルティ・カウント値63は、該当のSID値61によって識別される発信者の行動に従って更新される時間依存のパラメータである。タイムスタンプ値65は、一番最近累積パネルティカウント値63が計算された時刻TTSを記録する。タイムスタンプ値65は、また、レコード51が古くなってペナルティ・カウント・テーブル50から取り除くべき時期を決定するのにも役立つ。望ましい実施態様においては、レコード51は約219秒（すなわち約6日）の保留期間τPCNT後取り除かれる。累積ペナルティ・カウント（PCNT）値63は下の方程式を使って導出されることが望ましい。
【００１５】
【数１】
2004531003.tif 000003
【００１６】
ここで、κは予め定められるPCNTの最大値であり、αは現在不適切アクティビティに関して発信者に課せられるアクティビティ・ペナルティ・カウントであり、ψは（もしあれば）発信者が引き起こした不適切アクティビティの近接過去のヒストリから決定された前ペナルティ・カウント値である。望ましい実施態様において、κは128に設定される。
【００１７】
アクティビティ・ペナルティ・カウントαは、システム管理者が指定する整数とすることができ、異なるタイプの不適切アクティビティについて異なる値を持つことができる。例えば、予め定められる最大量を超える多数のe-メールの送信に対してアクティビティ・ペナルティ・カウントの6を査定し、予め定められる累積ファイル・サイズを超える1つまたはそれ以上のe-メールの送信についてアクティビティ・ペナルティ・カウントの4を査定し、予め決められた閾値を超えるTCP接続時間について別のアクティビティ・ペナルティ・カウントを査定することができる。アクティビティ・ペナルティ・カウントは加法的なので、例えば最大量及びファイル・サイズの両方を超える場合発信者にアクティビティ・ペナルティ・カウントの10を査定できる。
【００１８】
累積ペナルティ・カウント値63を導出するプロセスは、まず、最初の不適切アクティビティの発生から始まり、これに関して、SID値61によって識別される発信者に最初のアクティビティ・ペナルティ・カウントα1が課せられる。上に説明した通り、タイムスタンプ値65は、現在（すなわち最初の）不適切アクティビティの発生の時刻（以下の例においてはT1で示される）を記録する。従って、最初の不適切アクティビティのみ発生する場合ψ＝0なので、
【００１９】
【数２】
2004531003.tif 000004
【００２０】
SID値61によって識別される発信者が時刻T2に次の（すなわち第二の）不適切アクティビティを引き起こす場合、第二のアクティビティ・ペナルティ・カウントα2が割り当てられる。T2が保留期間τPCNT内にある場合、前累積ペナルティ・カウント（PCNT）63が下の方程式を使用して値PCNT(T2)に更新される。
【００２１】
【数３】
2004531003.tif 000005
【００２２】
ここで、
【００２３】
【数４】
2004531003.tif 000006
【００２４】
であり、
【００２５】
【数５】
2004531003.tif 000007
【００２６】
となる。T2がT1後の保留期間τPCNT以降に発生する場合、ψ2＝0であることに、注意すること。
【００２７】
一般的に言って、時刻Tnに更新されるn番目の累積ペナルティ・カウント63は、下の式を使用して決定することができる。
【００２８】
【数６】
2004531003.tif 000008
【００２９】
ここで、
【００３０】
【数７】
2004531003.tif 000009
【００３１】
である。
〔PCFM状態の決定〕
望ましい実施態様において、ペナルティ・カウント・フィルタ・モジュール20は少なくとも3つの状態、すなわち「正常」状態、「選択的拒否」状態及び「ランダム拒否」状態のうちの1つの状態で動作する。ペナルティ・カウント・フィルタ・モジュール20が「正常」状態で操作するとき、メール転送エージェント10は、指定のアドレスに送信するためにあらゆる発信者からの有効な来信e-メール・メッセージ11全てを受諾する。来信e-メールを処理するために必要なシステム資源が増大し、メール転送エージェント10により多くのデマンドが発せられると、ペナルティ・カウント・フィルタ・モジュール20の動作は、「正常」状態から「選択的拒否」状態か「ランダム拒否」状態に変わる。その後、e-メール量が正常レベルに戻ったら、ペナルティ・カウント・フィルタ・モジュール20の操作は最終的に「正常」に戻る。
【００３２】
まず「正常」状態において、システム資源が第一の予め定められる「選択的拒否」水準を超えた場合、ペナルティ・カウント・フィルタ・モジュール20の操作は「正常」状態から「選択的拒否」状態に変わる。例えば、来信メッセージ・キューのディスク・スペースが予め決められたディスク・スペース閾値を超える時、または同時TCP接続の数が予め決められた接続数を超える時、選択的拒否の水準に達する。代替実施態様においては、システム管理者が指定する基準など、付加的水準及び動作状態を定義するために他の基準を使用することができる。
【００３３】
最初に「ランダム拒否」状態で動作する場合、ペナルティ・カウント・フィルタ・モジュール20は、少なくとも滞留時間（TTS）間隔τTTSとして示される期間「ランダム拒否」状態にとどまる。滞留時間間隔τTTSが経過した後、ペナルティ・カウント・フィルタ・モジュール20は、システム資源使用状態ファイル25に応じて「選択的拒否」か「正常」動作状態に戻ることができる。その代わりに、最初に「選択的拒否」状態で操作する場合、ペナルティ・カウント・フィルタ・モジュール20は滞留時間間隔τTTSの間「選択的拒否」操作を続け、e-メール量が増大してペナルティ・カウント・フィルタ・モジュール20の操作が「ランダム拒否」状態に変わる場合を除いて、「正常」状態に戻る。望ましい実施態様においては、滞留時間間隔τTTSは約10分である。
【００３４】
来信e-メール・メッセージ11の管理プロセスへのPCFM状態29の応用は、図4を参照して説明することができる。この図は、図2に示されるステップ33をより詳細に説明している。ステップ31から、ステップ71においてシステム資源使用状態25が決定される。決定ブロック73においてペナルティ・カウント・フィルタ・モジュール20が選択的拒否状態であるか否かについての問い合わせが行われる。応答が’yes’の場合、操作は決定ブロック85に進む。決定ブロック73における応答が’no’の場合、次いで決定ブロック75において、ペナルティ・カウント・フィルタ・モジュール20がランダム拒否状態であるか否かについての問い合わせが行われる。応答が’yes’の場合、操作は決定ブロック115に進む。決定ブロック75において応答が’no’の場合、決定ブロック77においてシステム資源（SYSRES）が選択的拒否水準を超えているか否かについての問い合わせが行われる。選択的拒否水準を超えている場合、ステップ81において、滞留時間が滞留時間間隔τTTSに初期化され、資源使用係数fが初期値に設定されて、チェック時間がチェック時間間隔τCHKに初期化される。望ましい実施態様においては、チェック時間間隔τCHKは約3秒である。ペナルティ・カウント・フィルタ・モジュール20は、その後ステップ83において選択的拒否状態に変わる。決定ブロック77において選択的拒否水準を超えていない場合、ペナルティ・カウント・フィルタ・モジュール20はステップ79において正常状態に留まる。
【００３５】
決定ブロック73（上述）においてペナルティ・カウント・フィルタ・モジュール20が選択的拒否状態であると決定される場合、操作は決定ブロック85に進み、このブロックにおいて、システム資源がランダム拒否水準を超えているか否かについての問い合わせが行われる。ランダム拒否水準を超えている場合、ステップ87において、滞留時間が滞留時間間隔τTTSに初期化され、拒否係数Rfが初期値に設定され、チェック時間がチェック時間間隔τCHKに初期化される。拒否係数Rfは、システム管理者が指定する値を持ち、例えば初期値2を持つことができる。ペナルティ・カウント・フィルタ・モジュール20はステップ89でランダム拒否状態に変わり、操作はステップ35に進む。
【００３６】
決定ブロック85においてランダム拒否水準を超えていない場合、決定ブロック91において滞留時間が満了したか否かについての問い合わせが行われる。滞留時間が満了している場合、決定ブロック93においてシステム資源が選択的拒否水準を超えているか否かについての問い合わせが行われる。選択的拒否水準を超えていない場合、ステップ95においてペナルティ・カウント・フィルタ・モジュール20は正常状態に変わり、操作はステップ35に進む。決定ブロック93において選択的拒否水準を超えている場合、ステップ97において滞留時間が更新され、ステップ99においてペナルティ・カウント・フィルタ・モジュール20は選択的拒否状態に留まり、操作はステップ35に進む。
【００３７】
決定ブロック91において滞留時間が満了していない場合、決定ブロック101においてチェック時間が満了しているか否かについての問い合わせが行われる。チェック時間が満了していない場合、ペナルティ・カウント・フィルタ・モジュール20はステップ99において選択的拒否状態のままであり、操作はステップ35に進む。決定ブロック101においてチェック時間が満了している場合、決定ブロック103においてシステム資源が選択的拒否水準を超えているか否かについての問い合わせが行われる。選択的拒否水準を超えている場合、ステップ105において資源使用係数f（下で定義する）が増大され、ステップ109においてチェック時間が更新される。1つの望ましい実施態様においては、システム資源が選択的拒否水準を超える場合資源使用係数fは2倍になる。決定ブロック103において選択的拒否水準を超えていない場合、ステップ107において資源使用係数fは減少され、ステップ109においてチェック時間が更新される。別の望ましい実施態様においては、選択的拒否水準を超えていない場合、資源使用係数fは係数2まで減少される。ステップ109においてチェック時間が更新された後、ステップ111においてペナルティ・カウント・フィルタ・モジュール20は選択的拒否状態に留まり、操作はステップ35に進む。
【００３８】
決定ブロック75（上述）においてペナルティ・カウント・フィルタ・モジュール20がランダム拒否状態であると決定される場合、操作は決定ブロック115に進み、このブロックにおいて、滞留時間が満了しているか否かについての問い合わせが行われる。滞留時間が満了している場合、決定ブロック117においてシステム資源がランダム拒否水準を超えているか否かについての問い合わせが行われる。ランダム拒否水準を超えていない場合、ステップ119において、滞留時間が滞留時間間隔τTTSに初期化され、資源使用係数fが初期値に設定され、チェック時間がチェック時間間隔τCHKに初期化される。その後、ペナルティ・カウント・フィルタ・モジュール20は、ステップ121において選択的拒否状態に変わり、操作はステップ35に進む。決定ブロック117においてランダム拒否水準を超えている場合、ステップ123において滞留時間が更新され、ステップ125においてペナルティ・カウント・フィルタ・モジュール20はランダム拒否状態に留まり、操作はステップ35に進む。
【００３９】
決定ブロック115において滞留時間が満了していない場合、決定ブロック127においてチェック時間が満了しているか否かについての問い合わせが行われる。チェック時間が満了していない場合、ステップ125においてペナルティ・カウント・フィルタ・モジュール20はランダム拒否状態に留まり、操作はステップ35に進む。決定ブロック127においてチェック時間が満了している場合、決定ブロック129においてシステム資源がランダム拒否水準を超えているか否かについての問い合わせが行われる。ランダム拒否水準を超えている場合、ステップ131において拒否係数Rfが増大され、ステップ135においてチェック時間が更新される。望ましい実施態様においては、拒否係数Rfは、システム資源がランダム拒否水準を超える時2倍になる。決定ブロック129において選択的拒否水準を超えていない場合、ステップ133において拒否係数Rfは減少され、ステップ135においてチェック時間は更新される。1つの望ましい実施態様において、拒否係数Rfは、ランダム拒否水準を超えていない場合係数2まで減少される。ステップ135においてチェック時間が更新された後、ステップ137においてペナルティ・カウント・フィルタ・モジュール20はランダム拒否状態に留まり、操作はステップ35に進む。
〔e-メールの処理〕
図2のステップ39における発信者状態及びペナルティ・カウント・フィルタ・モジュール状態に従ったe-メール処理の操作が図5の流れ図にさらに詳細に示されている。この図においては、決定ブロック201において、ペナルティ・カウント・フィルタ・モジュール20が選択的拒否状態であるか否かについての問い合わせが行われる。応答が’yes’の場合、決定ブロック203において累積ペナルティ・カウントの現在値ψがゼロより大きいか否かについての問い合わせが行われる。応答が’no’の場合、ステップ171において来信e-メール・メッセージ11が受諾され、送付e-メール17としてアドレスに送られる。決定ブロック203において応答が’yes’の場合、ステップ205において乱数Rhが生成される。ここで、次式が満たされる。
【００４０】
1＜Rh＜κ
次に、決定ブロック207において乱数Rhが資源使用係数fと累積ペナルティ・カウントの現在値ψの積より大きいか否かについての問い合わせが行われる。応答が’yes’の場合、ステップ171において来信e-メール・メッセージ11が受諾され、アドレスに送付される。操作はステップ41に戻り、ここで行動トレース・テーブル160が更新される。決定ブロック207において応答が’no’の場合、ステップ209において来信e-メール・メッセージ11は拒否され、ペナルティ・カウント・フィルタ・モジュール20は否定的完了過渡応答19を発信者に返し、操作はステップ41に戻る。
【００４１】
決定ブロック201において応答が’no’の場合、決定ブロック211においてペナルティ・カウント・フィルタ・モジュール20がランダム拒否状態であるか否かについての問い合わせが行われる。応答が’no’の場合、ステップ171において来信e-メール・メッセージ11は受諾され、送付e-メール17としてアドレスに送信される。決定ブロック211において応答が’yes’の場合、決定ブロック213において累積ペナルティ・カウントの現在値ψがゼロより大きいか否かについての問い合わせが行われる。決定ブロック213において応答が’yes’の場合、ステップ219において来信e-メール・メッセージ11は拒否され、ペナルティ・カウント・フィルタ・モジュール20は否定的完了過渡応答19を発信者に返す。決定ブロック213において応答が’no’の場合、ステップ215において乱数Rgが生成される。ここで、次式が満たされる。
【００４２】
1＜Rg＜κ
ブロック217において、乱数Rgが拒否係数Rfより大きいか否かについての問い合わせが行われる。応答が’yes’の場合、ステップ171において来信e-メール・メッセージ11は受諾され、アドレスに送付される。決定ブロック217において応答が’no’の場合、ステップ219において来信e-メール・メッセージは拒否され、ペナルティ・カウント・フィルタ・モジュール20は否定的完了過渡応答19を発信者に返し、操作はステップ41に戻って、このステップにおいて行動トレース・テーブル160が更新される。
【００４３】
上で説明した通り、特定の来信e-メール・メッセージ11をランダムに発信者に返すかあるいは指定されるアドレスに送信するかを決定するために、ステップ207において資源使用係数fが使用される。資源使用係数fは、平均累積ペナルティ・カウント／P（P上付きバー）から導出される。ここで
【００４４】
【数８】
2004531003.tif 000010
【００４５】
であり、かつPCNTiは、ペナルティ・カウント・テーブル50に記載されるｍ個の発信者識別子のうちｉ番目の発信者識別子に査定されるペナルティ・カウントである。資源使用係数fは下の方程式によって与えられる。
【００４６】
【数９】
2004531003.tif 000011
【００４７】
上に説明した通り、ペナルティ・カウント・フィルタ・モジュール20は、次に乱数Rhを生成し、この乱数は資源使用係数fと累積ペナルティ・カウントの現在値ψの積と比較される。Rh＞f・ψである場合、来信e-メール・メッセージ11はペナルティ・カウント・フィルタ・モジュール20によって受諾される。Rh＜f・ψである場合、来信e-メール・メッセージ11は拒否され、ペナルティ・カウント・フィルタ・モジュール20は否定的完了過渡応答19を該当の発信者に送る。
〔行動トレース・テーブル〕
望ましい実施態様においては、行動トレース・テーブル160は、図6に示されるように、LANまたはWANなど通信網151によってメール転送エージェント10と接続されるワークステーション150に含まれる。発信者のe-メール・アクティビティを表にする行動トレース・テーブル160に含まれる情報は、ペナルティ・カウント・テーブル50におけるe-メール発信者の累積ペナルティ・カウントψを更新するために発信者ペナルティ・カウント状態27によって使用される。
【００４８】
行動トレース・テーブル160は、図7においてレコード161、163、165及び169によって代表される複数のレコードすなわち行動値を含む。セマフォア特徴167または同様のロック/アンロック機構は、各テーブルエントリと関連付けられる。レコード163、165及び169の構造は、発信者識別子（SID）値171、発信者e-メールの累積e-メール・カウント（NN）173、e-メール・ファイルの合計e-メール・サイズ（SZ）175、合計TCP接続利用時間（UT）177、及びSID値171によって識別される発信者から受信した一番最近のe-メールのレコードであるタイムスタンプ（TS）値179を含むレコード161の構造と同様である。
【００４９】
発信者識別子値を探索するプロセスは、ペナルティ・カウント・テーブル50の中の値を探索するための方法と同様の方法を使用して、行動トレース・テーブル160をハッシュするためにSIDから算出されるキーを使用することによって最適化することができる。リンク・リストにレコードが記憶される場合、ハッシュ・テーブル（hash table）の各エントリをリンクされるリストにポイントすることによって、行動トレース・テーブル160においてリハッシュを最小限に抑えることができる。行動トレース・テーブル160の各レコード161、163、167及び169は保留期間τBHTを持ち、この期間後、該当のテーブルエントリが入力されレコードが通過したとき古くなったレコードは除去される。望ましい実施態様においては、保留期間τBHTは約5秒である。
【００５０】
来信e-メール・メッセージ11が発信者識別値171によって識別される発信者に該当する場合、累積e-メール・カウント173、累積合計サイズ175及び累積合計TCP接続利用時間177が、現在値及び前回値を使って更新され、ここで前回値は減衰係数dで減少される。更新累積e-メール値（NN）は下の方程式によって与えられる。
【００５１】
【数１０】
2004531003.tif 000012
【００５２】
ここで、NN(TTS)は、タイムスタンプ時（TTS)に予め得られた以前のすなわち一番最近の前e-メール・カウント値である。
【００５３】
更新累積合計サイズ（SZ）は下の方程式によって与えられる。
【００５４】
【数１１】
2004531003.tif 000013
【００５５】
ここで、SZ(TUD)はレコードの更新時に得られる追加のe-メール・サイズであり、SZ(TTS)は以前のすなわち一番最近の前e-メール・サイズである。同様に、更新累積接続利用時間は下の方程式によって与えられる。
【００５６】
【数１２】
2004531003.tif 000014
【００５７】
ここで、UT(TUD)はレコード更新時に決定される接続利用時間であり、UT(TTS)は以前のすなわち一番最近の前接続利用時間である。累積e-メール・カウント173、累積合計サイズ175及び累積合計TCP接続時間177が更新された後、タイプスタンプ（TTS）が一番最近の更新時刻にリセットされる。方程式10から12までの減衰係数dは下の式によって与えられる。
【００５８】
【数１３】
2004531003.tif 000015
【００５９】
累積e-メール・カウント173、累積合計サイズ175または累積合計TCP接続利用時間177のうちいずれかが上述の予め定められる閾値または水準を超える場合、発信者識別子値171に該当する発信者には、該当のペナルティ・カウントが査定される。行動トレース・テーブル160に現在リストされていない発信者から送られる来信e-メール・メッセージ11の場合、新しいエントリが生成され、累積e-メール・カウント173、累積合計サイズ175及び累積合計TCP接続利用時間177について行動トレース・テーブル160にそれぞれ初期値の1、SZ(TTS)及びUT(TTS)が入力される。
【００６０】
さらに別の実施態様においては、メール転送エージェント10は、図8に示される併合ペナルティ・カウント・テーブル180を含む。このテーブルは、レコード181について示されるのと同様のエントリを有する複数のレコードを含む。レコード181はレコード51とレコード161の中のデータを併合した結果得られるもので、発信者識別子（SID）値183、累積ペナルティ・カウント（PCNT）値185、発信者e-メールの累積e-メール・カウント（NN）187、e-メール・ファイルの合計e-メール・サイズ（SZ）189、合計TCP接続利用時間（UT）191、及びタイムスタンプ（TS）値193を含む。当業者には解る通り、メール転送エージェント10がペナルティ・カウント・テーブル50の代わりに併合ペナルティ・カウント・テーブル180を含む場合、ワークステーション150に行動トレース・テーブル160は必要ない。
【００６１】
図9の流れ図に示される代替実施態様においては、来信e-メール11は発信者状態に従って処理される。メール転送エージェント10は、ステップ231においてTCP接続を確立し、来信e-メール・メッセージ11を受信する。ステップ233においてe-メール・メッセージ11の発信者のアイデンティティが決定される。ステップ235において、受諾/拒否フィルタ23は来信e-メール・メッセージ11を受信人（addressee）に送信するか、あるいは来信e-メール・メッセージ11を拒否するかを決定する。e-メール・メッセージ11の受諾または拒否の決定は、発信者のアイデンティティに基づいて行われる。現在来信e-メール・メッセージ11が処理されると、ステップ239において行動トレース・テーブル160が更新され、決定ブロック241において、発信者ペナルティ・カウント状態モジュール27は来信e-メール・メッセージ11が不適切アクティビティを示すか否かを決定する。これを示す場合、ステップ243において、発信者ペナルティ・カウント状態モジュール27は、ペナルティ・カウント・テーブル50において該当の発信者ペナルティ・カウント値を含むこの発信者識別子21に関する新しいリストを生成する。発信者識別子21についてすでにリストが存在する場合、該当の発信者ペナルティ・カウント値は更新される。不適切アクティビティが検出されない正常なe-メール・アクティビティの場合、ペナルティ・カウント・テーブル50における発信者の項目には変更が加えられない。ペナルティ・カウント・テーブル50にリストされていない発信者の場合、ペナルティ・カウント値はゼロをとる。メール転送エージェント10の操作は、次にステップ231に進み、ここで、次のTCP接続が確立される。
【００６２】
本発明については、特定の実施態様を参照して説明したが、本発明は、本明細書において開示され、および／または図面に示される特定の構造及び方法に決して限定されることはなく、特許請求の範囲内のあらゆる修正または同等のものも包含する。
【図面の簡単な説明】
【００６３】
【図１】来信電子メールの処置を決定するためのペナルティ・カウント・フィルタ・モジュールを含むメール転送エージェントを示す図である。
【図２】図1のペナルティ・カウント・フィルタ・モジュールによって実行される操作のシーケンスを記述した流れ図である。
【図３】図1のペナルティ・カウント・フィルタ・モジュールに常設されたペナルティ・カウント・テーブルのデータ構造図である。
【図４Ａ】図2の流れ図におけるフィルタ・モジュール状態を決定するステップによって代表されるペナルティ・カウント・フィルタ・モジュールの操作をさらに詳細に記述した流れ図である。
【図４Ｂ】図2の流れ図におけるフィルタ・モジュール状態を決定するステップによって代表されるペナルティ・カウント・フィルタ・モジュールの操作をさらに詳細に記述した流れ図である。
【図４Ｃ】図2の流れ図におけるフィルタ・モジュール状態を決定するステップによって代表されるペナルティ・カウント・フィルタ・モジュールの操作をさらに詳細に記述した流れ図である。
【図５】図2の流れ図における発信者とフィルタ・モジュール状態とに従ってe-メールを処理するステップによって代表されるペナルティ・カウント・フィルタ・モジュールの操作をさらに詳細に記述した流れ図である。
【図６】メール転送エージェントに常設された図3のペナルティ・カウント・テーブルとワークステーションに常設された行動トレース・テーブルとを含む通信網を示す図である。
【図７】図6の行動トレース・テーブルのデータ構造図である。
【図８】図3のペナルティ・カウント・テーブルと図7の行動トレース・テーブルとから得られるデータを含む併合ペナルティ・カウント・テーブルのデータ構造図である。
【図９】図1のペナルティ・カウント・フィルタ・モジュールによって実行される操作の代替シーケンスを記述した流れ図である。
【図１】
2004531003.tif 000016
【図２】
2004531003.tif 000017
【図３】
2004531003.tif 000018
【図４Ａ】
2004531003.tif 000019
【図４Ｂ】
2004531003.tif 000020
【図４Ｃ】
2004531003.tif 000021
【図５】
2004531003.tif 000022
【図７】
2004531003.tif 000023
【図８】
2004531003.tif 000024
【図９】
2004531003.tif 000025
【国際公開パンフレット】
2004531003.tif 000026
2004531003.tif 000027
2004531003.tif 000028
2004531003.tif 000029
2004531003.tif 000030
2004531003.tif 000031
2004531003.tif 000032
2004531003.tif 000033
2004531003.tif 000034
2004531003.tif 000035
2004531003.tif 000036
2004531003.tif 000037
2004531003.tif 000038
2004531003.tif 000039
2004531003.tif 000040
2004531003.tif 000041
2004531003.tif 000042
2004531003.tif 000043
2004531003.tif 000044
2004531003.tif 000045
2004531003.tif 000046
2004531003.tif 000047
2004531003.tif 000048
2004531003.tif 000049
2004531003.tif 000050
2004531003.tif 000051
2004531003.tif 000052
2004531003.tif 000053
2004531003.tif 000054
2004531003.tif 000055
2004531003.tif 000056
2004531003.tif 000057
2004531003.tif 000058
2004531003.tif 000059
2004531003.tif 000060
2004531003.tif 000061
2004531003.tif 000062
【国際調査報告】
2004531003.tif 000063