(57)【特許請求の範囲】
【請求項１】
発信されるスパムの緩和を容易にするシステムであって、
エンティティによって送信された発信メッセージのうちスパムである可能性が最も高い発信メッセージを受信者ごとに追跡し、潜在的なスパム発信者を検出する、発信メッセージサーバによって利用される検出コンポーネントであって、各発信メッセージには、前記発信メッセージがスパムである可能性を示すスコアが割り当てられ、潜在的なスパム発信者の前記検出は、前記追跡した受信者ごとの発信メッセージのスコアを送信者別に合計した、送信者別の合計スコアがスパム発信者を示す閾値を超えていることに基づく、検出コンポーネントと、
前記エンティティが潜在的なスパム発信者であるという情報を前記検出コンポーネントから受け取った場合、前記エンティティからのスパムを緩和する少なくとも１つのアクションを開始するアクションコンポーネントであって、前記少なくとも１つのアクションには、前記エンティティによる発信メッセージの送信を指定された発信メッセージの数に制限することが含まれる、アクションコンポーネントと
を備えることを特徴とするシステム。
【請求項２】
前記発信メッセージは、電子メールメッセージスパム、インスタントメッセージスパム、ウィスパスパム、およびチャットルームスパムの少なくとも１つをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項３】
開始される前記アクションは、
前記潜在的なスパム発信者のユーザアカウントをシャットダウンすること、
ＨＩＰチャレンジが前記潜在的なスパム発信者によって解決されること、および計算チャレンジが前記潜在的なスパム発信者コンピュータによって解決されることのいずれか一方を要求すること、
メッセージングサービス条件の少なくとも１つの違反に関する法的通知を前記潜在的なスパム発信者に送ること、および
前記潜在的なスパム発信者によって生成された発信メッセージの少なくともサブセットの手動検査の少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項４】
前記検出コンポーネントは、前記少なくとも１つの発信メッセージがスパムでないと確認されると、前記閾値を大きくすることを特徴とする請求項１に記載のシステム。
【請求項５】
前記検出は、前記少なくとも１つの発信メッセージに関連する受信者のセットの各受信者について計算した、発信メッセージの受信者カウントにさらに基づき、各受信者は一度だけカウントされることを特徴とする請求項１に記載のシステム。
【請求項６】
前記検出コンポーネントは、各受信者の一意な識別子に関するランダム関数を使用して、前記受信者のセットのサブセットを追跡し、前記発信メッセージの受信者カウントを推定することを特徴とする請求項５に記載のシステム。
【請求項７】
前記検出は、ある期間にわたる発信メッセージの数を計算することを含む、メッセージ頻度の監視にさらに基づくことを特徴とする請求項１に記載のシステム。
【請求項８】
前記期間は、分数、時間数、日数、週数、月数、および年数の少なくとも１つを含むことを特徴とする請求項７に記載のシステム。
【請求項９】
前記検出は、前記エンティティのユーザアカウントのアクティブ化以来のメッセージの総数を含む、メッセージの数の監視にさらに基づくことを特徴とする請求項１に記載のシステム。
【請求項１０】
発信メッセージの各受信者は、１つのメッセージを構成することを特徴とする請求項１に記載のシステム。
【請求項１１】
前記受信者カウントは、ｔｏ：フィールド、ｃｃ：フィールド、およびｂｃｃ：フィールドの少なくとも１つの中にリストアップされた１名または複数名の受信者を含むことを特徴とする請求項５に記載のシステム。
【請求項１２】
前記検出コンポーネントは、前記発信メッセージを処理し、解析して、前記メッセージがスパムである可能性が高いかどうか、および送信者が潜在的なスパム発信者であるかどうかの少なくとも一方を判定することを特徴とする請求項１に記載のシステム。
【請求項１３】
明らかに正当な発信メッセージの数は、前記送信者別の合計スコアに適用される１つまたは複数の他のスコアを相殺するボーナスとして使用されることを特徴とする請求項１に記載のシステム。
【請求項１４】
前記明らかに正当な発信メッセージの数は、スパムフィルタを使用して推定されることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記明らかに正当な発信メッセージの数からの前記ボーナスは、制限されることを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記送信者別の合計スコアは、前記少なくとも１つの発信メッセージのうち配信不能なメッセージの数に基づくことを特徴とする請求項１に記載のシステム。
【請求項１７】
前記配信不能なメッセージの数は、少なくとも一部が不達レシートから推定されることを特徴とする請求項１に記載のシステム。
【請求項１８】
前記不達レシートの有効性が検査されることを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記不達レシートの有効性は、送信者からのメッセージの受信者のリストに照らして検査されることを特徴とする請求項１８に記載のシステム。
【請求項２０】
受信者の前記リストは、サンプルであり、不達レシートのペナルティが対応して増加されることを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記検出コンポーネントは、前記少なくとも１つの発信メッセージのそれぞれに割り当てられた１つまたは複数のスコアを計算して、前記送信者別の合計スコアを決定することを特徴とする請求項１に記載のシステム。
【請求項２２】
前記閾値は、送信者別に調整可能であることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記システムは、発信メッセージの中で非スパムらしい特徴およびスパムらしい特徴の少なくとも一方を認識するようにトレーニングされたフィルタをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項２４】
前記システムは、機械学習法を使用してスパムをフィルタ処理することを特徴とする請求項１に記載のシステム。
【請求項２５】
前記システムは、発信メッセージごとに前記メッセージがよりスパムらしいか、またはよりスパムらしくないかのいずれか一方の尤度を示す確率を割り当てるフィルタをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項２６】
スパムをフィルタ処理すること、２つのメッセージ上の同一の受信者を別々にカウントする合計の受信者をカウントすること、２つのメッセージ上の同一の受信者を１名としてカウントする重複しない受信者をカウントすること、メッセージの数を監視すること、およびメッセージ頻度を監視することの少なくとも１つに関連して動作するスコア付けコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項２７】
前記スコア付けコンポーネントは、少なくとも一部が発信メッセージの数、発信メッセージの頻度、受信者のカウント、およびメッセージ内容に基づいて前記送信者別の合計スコアを割り当てることを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記スコア付けコンポーネントは、１つまたは複数の発信メッセージに定数値を割り当て、かつ／または追加してスパム発信者がスパムフィルタリングシステムを操作することを緩和することを特徴とする請求項２６に記載のシステム。
【請求項２９】
前記スコア付けコンポーネントは、少なくとも１つのスパムらしい特徴を有すると特定された発信メッセージに選択された値を割り当てることを特徴とする請求項２６に記載のシステム。
【請求項３０】
前記少なくとも１つのスパムらしい特徴は、ＵＲＬであることを特徴とする請求項２９に記載のシステム。
【請求項３１】
前記少なくとも１つのスパムらしい特徴は、連絡先情報を含むことを特徴とする請求項２９に記載のシステム。
【請求項３２】
前記連絡先情報は、前記メッセージに関連する地理的場所を特定して前記潜在的なスパム発信者を特定することを容易にする市外局番および市内局番の少なくとも一方を含む電話番号を含むことを特徴とする請求項３１に記載のシステム。
【請求項３３】
１または複数の受信者にアドレス指定された発信メッセージを送信者の選好に一部基づいて生成するユーザベースのメッセージジェネレータコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３４】
発信されるスパムの緩和を容易にする方法であって、前記方法は、コンピュータ実行可能命令を処理装置が実行することによって実施され、
検出コンポーネントが、エンティティによって送信された発信メッセージのうち、所定の受信者にアドレス指定された発信メッセージを追跡して、送信者ごとに最もスパムらしいメッセージを特定するステップと、
前記検出コンポーネントが、前記最もスパムらしいメッセージに、当該メッセージがスパムである可能性を示すスコアを割り当てて、送信者別に前記スコアを集計して送信者別の合計スコアを計算するステップと、
前記検出コンポーネントが、前記送信者別の合計スコアがスパム発信者を示す閾値を超えていることに基づき、潜在的なスパム発信者を検出するステップと、
アクションコンポーネントが、エンティティが潜在的なスパム発信者であるという情報を前記検出コンポーネントから受信するステップと、
前記アクションコンポーネントが、前記エンティティからのスパムを緩和する少なくとも１つのアクションを開始するステップであって、前記少なくとも１つのアクションには、前記エンティティによる発信メッセージの送信を指定された発信メッセージの数に制限することが含まれる、ステップと
を備えることを特徴とする方法。
【請求項３５】
前記少なくとも１つの発信メッセージは、電子メールメッセージスパム、インスタントメッセージスパム、ウィスパスパム、およびチャットルームスパムの少なくとも１つをさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
前記検出コンポーネントが、発信メッセージの数、受信者の数、および発信メッセージの頻度の少なくとも１つに関して送信者別に発信メッセージを監視するステップをさらに備えることを特徴とする請求項３４に記載の方法。
【請求項３７】
潜在的なスパム発信者を検出するステップは、
少なくとも一部は前記メッセージの内容に基づいて発信メッセージごとにスコアを割り当てること、
少なくとも一部は送信者別の発信メッセージの数に基づいて送信者ごとにスコアを割り当てること、
少なくとも一部は送信者別の発信メッセージの頻度に基づいて送信者ごとにスコアを割り当てること、
少なくとも一部は送信者別の２つのメッセージ上の同一の受信者を別々にカウントする合計受信者カウントに基づいて送信者ごとにスコアを割り当てること、および
少なくとも一部は送信者別の２つのメッセージ上の同一の受信者を１名としてカウントする重複しない受信者のカウントに基づいて送信者ごとにスコアを割り当てることの少なくとも２つを実行するステップと、
前記送信者別の発信メッセージの内容に少なくとも一部基づく送信者別のスコア、前記送信者別の発信メッセージの数に少なくとも一部基づく送信者別のスコア、前記送信者別の発信メッセージの頻度に少なくとも一部基づく送信者別のスコア、前記送信者別の２つのメッセージ上の同一の受信者を別々にカウントする合計受信者カウントに少なくとも一部基づく送信者別のスコア、および前記送信者別の２つのメッセージ上の同一の受信者を１名としてカウントする重複しない受信者のカウントに少なくとも一部基づく送信者別のスコアのうちの２以上に基づいて前記送信者別の合計スコアを計算するステップと、
少なくとも一部は前記送信者に関連する前記合計スコアに基づいて前記送信者が潜在的なスパム発信者であるかどうかを判定するステップと
を含むことを特徴とする請求項３４に記載の方法。
【請求項３８】
前記少なくとも１つのアクションは、前記送信者のアカウントを終了することを含むことを特徴とする請求項３４に記載の方法。
【請求項３９】
前記送信者のアカウントは、送信者によって送信された前記発信メッセージがスパムであることが相当に確かである場合に終了されることを特徴とする請求項３８に記載の方法。
【請求項４０】
前記発信メッセージがスパムであることの相当な確かさは、
前記発信メッセージの少なくとも一部分が、既知のスパムとの完全な一致およびほぼ一致の少なくとも一方を含むこと、または前記発信メッセージの少なくとも一部分が、人間によってスパムらしいと判定された句を含むことによって一部判定されることを特徴とする請求項３９に記載の方法。
【請求項４１】
前記少なくとも１つのアクションは、前記送信者のアカウントからの発信メッセージ配信を一時的に停止することを含むことを特徴とする請求項３４に記載の方法。
【請求項４２】
前記少なくとも１つのアクションは、１つまたは複数のチャレンジを解決するように前記送信者のアカウントに要求することを含むことを特徴とする請求項３４に記載の方法。
【請求項４３】
前記送信者のアカウントは、所定の数のチャレンジが解決されるまでチャレンジごとに受信者または発信メッセージが所定の数に制限され、所定の数のチャレンジが解決された後、期間ごとに発信メッセージの数が所定の送信頻度に制限されることを特徴とする請求項４０に記載の方法。
【請求項４４】
前記頻度の制限は、追加のチャレンジを解決することによって高くされることを特徴とする請求項４１に記載の方法。
【請求項４５】
前記１つまたは複数のチャレンジは、計算チャレンジまたはヒューマンインタラクティブプルーフを含むことを特徴とする請求項４２に記載の方法。
【請求項４６】
前記１つまたは複数のチャレンジは、ポップアップメッセージとして配信されることを特徴とする請求項４２に記載の方法。
【請求項４７】
前記１つまたは複数のチャレンジは、前記送信者の発信メッセージと同様のメッセージフォーマットを介して前記送信者のアカウントに配信されることを特徴とする請求項４２に記載の方法。
【請求項４８】
前記１つまたは複数のチャレンジは、アカウントのシャットダウンが近づいているというサーバからのフィードバックに応答して前記送信者のアカウントに配信されることを特徴とする請求項４２に記載の方法。
【請求項４９】
前記少なくとも１つのアクションは、送信者がサービス条件に違反しているという法的通知を前記送信者に送信すること、および前記送信者のアカウントを停止することを含むことを特徴とする請求項３４に記載の方法。
【請求項５０】
前記アクションコンポーネントが、電子署名を与えることおよびリンクをクリックすることの少なくとも一方を介して前記法的通知に応答することを前記送信者に要求するステップをさらに含むことを特徴とする請求項４９に記載の方法。
【請求項５１】
前記法的通知は、ポップアップメッセージを介して配信されることを特徴とする請求項４９に記載の方法。
【請求項５２】
発信メッセージの配信は、前記アクションに対する応答が受け取られるまで一時的に停止されることを特徴とする請求項３４に記載の方法。
【請求項５３】
前記アクションに対する応答が受け取られるまでに最低限の数の発信メッセージの配信が許されることを特徴とする請求項３４に記載の方法。
【請求項５４】
前記検出コンポーネントが、送信者別の受信者の総数を推定して潜在的なスパム発信者を特定することを容易にするステップをさらに備えることを特徴とする請求項３４に記載の方法。
【請求項５５】
送信者別に個別の受信者の総数を推定するステップは、
受信者ごとにハッシュ関数を計算して受信者ごとのハッシュ値を獲得するステップと、
ハッシュモジュロ値を設定するステップと、
前記受信者のハッシュ値が前記ハッシュモジュロ値に等しい場合、前記受信者をメッセージ追跡のためのリストに追加して、送信者別に個別の受信者の総数を推定することを容易にするステップと
を含むことを特徴とする請求項５４に記載の方法。
【請求項５６】
送信者別にそれぞれのリストアップされた受信者が受信する最悪スコアのメッセージを追跡するステップと、
送信者別に実質的にすべてのリストアップされた受信者のスコアの前記送信者別の合計スコアを計算するステップと、
前記送信者別の合計スコアを前記送信者に関連する閾値と比較して前記送信者が潜在的なスパム発信者であるかどうかを判定するステップと
をさらに備えることを特徴とする請求項５５に記載の方法。
【請求項５７】
エンティティによって送信された発信メッセージのうちスパムである可能性が最も高い発信メッセージを受信者ごとに追跡し、潜在的なスパム発信者を検出する、発信メッセージサーバによって利用される検出コンポーネントであって、各発信メッセージには、前記発信メッセージがスパムである可能性を示すスコアが割り当てられ、潜在的なスパム発信者の前記検出は、前記追跡した受信者ごとの発信メッセージに関するスコアを送信者別に合計した、送信者別の合計スコアがスパム発信者を示す閾値を超えていることに基づく、検出コンポーネントと、
前記エンティティが潜在的なスパム発信者であるという情報を前記検出コンポーネントから受け取った際、前記エンティティからのスパムを緩和する少なくとも１つのアクションを開始するアクションコンポーネントであって、前記少なくとも１つのアクションには、前記エンティティによる発信メッセージの送信を指定された発信メッセージの数に制限することが含まれる、アクションコンポーネントと
を含むコンピュータ実行可能コンポーネントを格納していることを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スパムメッセージを特定するためのシステムおよび方法に関し、より詳細には、スパム送信者（ｓｅｎｄｅｒ）を特定することを容易にするために発信される通信を監視するシステムおよび方法に関する。
【背景技術】
【０００２】
インターネットなどの世界的な通信ネットワークの出現は、膨大な数の潜在的な顧客に到達する商業的な機会をもたらした。電子メッセージング、特に電子メール（「電子メール」）は、不要な広告および宣伝（「スパム」とも呼ばれる）をネットワークユーザに頒布するための手段として、ますます普及している。
【０００３】
コンサルティング・市場調査会社であるＲａｄｉｃａｔｉ  Ｇｒｏｕｐ．Ｉｎｃ．は、２００２年８月の時点で、２百万通のジャンク電子メールメッセージが毎日、送信されているものと推定しており、この数は、２年ごとに３倍になるものと見込まれる。個人およびエンティティ（例えば、企業、政府機関）は、ジャンクメッセージにますます迷惑しており、しばしば、不快にさせられるようになっている。このため、スパムは、信頼できるコンピューティングに対する大きな脅威となっているか、または近いうちにそうなる。
【０００４】
スパムを阻止するのに利用される一般的な技術は、フィルタリングシステム／方法の使用に関わる。１つの実証済みのフィルタリング技術は、機械学習の手法に基づく。機械学習フィルタは、着信メッセージにそのメッセージがスパムである確率を割り当てる。この手法では、特徴が、通常、２つのクラスの例示的メッセージ（例えば、スパムメッセージおよび非スパムメッセージ）から抽出され、学習フィルタが適用されて、２つのクラスが確率的に区別される。多くのメッセージ特徴は、内容（例えば、メッセージの件名および／または本文中の語および句）に関連しているので、そのようなタイプのフィルタは、一般に、「内容ベースのフィルタ」と呼ばれる。
【０００５】
さらに、従来のスパムフィルタおよびフィルタリング技術は、通常、着信メッセージに対して、または着信メッセージに関して機能する。つまり、着信メッセージがフィルタの中を通されてスパムメッセージが良好なメッセージから区別される。このタイプのフィルタは、多くのスパム発信者（ｓｐａｍｍｅｒ）が、そのようなフィルタを回避し、かつ／または迂回するやり方を考え出しているため、不確実である。したがって、従来の内容ベースのフィルタおよび／または適応型のスパムフィルタは、通常、スパムを効果的に特定し、着信メッセージをブロックするのに効果的でない。
【０００６】
以下に、本発明のいくつかの態様の基本的な理解をもたらすように本発明の簡単な概要を提示する。この概要は、本発明の広範な全体像ではない。この概要は、本発明の主要な／不可欠な要素を特定すること、または本発明の範囲を画定することは意図していない。この概要の唯一の目的は、後に提供するより詳細な説明の前置きとして、本発明のいくつかの概念を単純化した形で提示することである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、様々なネットワーク化された通信環境においてスパムを検出し、防止することを容易にするシステムおよび方法を提供する。詳細には、本発明は、電子メール、インスタントメッセージング、ウィスパチャットルーム（ｗｈｉｓｐｅｒ−ｃｈａｔ  ｒｏｏｍ）メッセージ、および／またはチャットルームメッセージなどの発信される通信を監視して、スパム発信者とも呼ばれる潜在的なスパム送信者を特定するためのいくつかの技術を提供する。スパム発信者は、しばしば、正当なインターネットサービスプロバイダ（ＩＳＰ）または他のメッセージングサービスを、そのようなサービスを自らのスパムを送信するのに使用することによって利用しようと試みる。しかし、これにより、ＩＳＰの帯域幅が深刻に増大するとともに、サポート費用が増加し、信頼されるメッセージソースとしての評判が下がることになる可能性があり、正当なメッセージが配信されるようにするＩＳＰの能力が妨げられる可能性がある。この問題は、無料ユーザアカウントを提供するＩＳＰには特に重大である。というのは、無料ユーザアカウントを提供するＩＳＰは、スパム発信者によって最も簡単に利用されるからである。
【課題を解決するための手段】
【０００８】
従来のスパム防止方法とは異なり、本発明は、着信メッセージではなく、ユーザの発信メッセージを検査することによって潜在的なスパム発信者を特定する。１つの技術は、送信者メッセージボリュームおよび／または受信者（ｒｅｃｉｐｉｅｎｔ）カウントを追跡することに関わる。例えば、メッセージを送信するように呼び出されたＩＳＰサーバが、特定のユーザによって送信されたメッセージの数のカウントを記録することが可能である。代替として、ＩＳＰサーバが、メッセージの「Ｔｏ」の行および「ｃｃ」（カーボンコピー）の行を調べて、その特定のメッセージの受信者の数をカウントすることが可能である。それらのタイプのカウントは、ある期間（例えば、１時間単位で、１日単位で、１週間単位で、１カ月単位で、１年単位で、ｈ時間ごとに、ｄ日ごとになど）にわたって追跡すること、あるいはユーザが送信したメッセージの合計カウント（例えば、アカウントがアクティブ化されてから、または開かれてから現在まで）を獲得することができる。この技術は、ほとんどのスパム発信者が、比較的多数の受信者にメッセージを送信する一方で、正当なユーザは、通常、比較的小数の受信者にメッセージを送信するため、特に役立つ。
【０００９】
潜在的なスパム発信者を認識するための第２の技術は、機械学習システムおよび機械学習方法に関わる。例えば、スパムメッセージは、スパムメッセージに特有であり、正当なメッセージに通常、見られない特徴を有する。そのような特徴を特定し、機械学習システムに関連して使用して、フィルタを構築し、トレーニングすることができる。機械学習システムは、発信メッセージに確率を割り当てて、それぞれの発信メッセージがスパムでない可能性が最も高いことからスパムである可能性が最も高いことまでの範囲内のどこかに該当することをＩＳＰサーバまたはサーバ運営者に伝えることができる。発信メッセージを扱うサーバは、発信メッセージの１つまたは複数がスパムである可能性が最も高いという確率に少なくとも一部は基づき、適切な行動の方針を決めることができる。スパムである確率が高い多数のメッセージを送信する送信者は、スパムである確率が低いメッセージだけを送信する送信者よりも疑いをもって扱うことができる。
【００１０】
フィルタを使用して一部の発信メッセージまたはすべての発信メッセージに確率を割り当てることに加えて、またはその代わりに、いくつかの重要な特性に基づいて発信メッセージにスコアを付けることができ、より高いスコアは、特定のメッセージがスパムである可能性がより高いことを意味することが可能である。例えば、基本的に、すべてのスパムは、ＵＲＬまたは電話番号などのスパム発信者に連絡をとる方法を含む。ＵＲＬ、リンク、または電話番号を伴うメッセージには高いスコアを与え、それらを伴わないメッセージには、より低いスコア、または０のスコアさえ与えることができる。これらのスコアをそれぞれのメッセージに関する機械学習システム確率に加算すること、またはフィルタの代わりに使用することができる。
【００１１】
一部のスパム発信者は、機械学習システムなどを操作して、発信メッセージに０、または０に近いスコアを割り当てて、スパムメッセージが、そのメッセージ内容にもかかわらず、スパムとしてではなく、それほどスパムらしくないものとして通過するように見えるようにすることができる。したがって、本発明の別の態様は、スコアの合計（例えば、１つのメッセージ当たりの合計スコア＝ＭＬＳ確率＋最低スコア）が何らかの妥当なレートで増加するように各発信メッセージに何らかの最低スコアを常に、またはほぼ常に割り当てることによってスパム発信者操作を緩和することを容易にする。代替として、各メッセージに関して最低スコアを設定することも可能であり、例えば、メッセージ当たりの合計スコア＝ｍａｘ（ＭＬＳ確率，最低スコア）にすることができる。発信メッセージ当たりの総計が何らかの閾値を超えた場合、そのメッセージおよび／またはそれぞれの送信者に潜在的なスパム発信者としてフラグを設定することができる。
【００１２】
潜在的なスパム発信者を検出するさらに別の技術は、ユーザがメッセージを送信する先の個別の受信者の数を追跡し、カウントすることに関わる。スパム発信者は、より少ないメッセージを多数の異なる受信者に送信する傾向にある。しかし、本発明では、２０名の受信者（例えば、「Ｔｏ：」フィールドの中にリストアップされた２０名の受信者）に送信される１つのメッセージは、２０のメッセージとなる。したがって、ユーザが送信を行った個別の受信者の数をカウントする作業は、極めて費用が高く、非効率的になる可能性がある。そのような効率の低さを改善するため、任意の所望の期間にわたって１名の送信者当たりの受信者の総数を推定するためにすべてのメッセージ受信者のサンプリングまたはポーリング（ｐｏｌｌｉｎｇ）を実行することができる。
【００１３】
スパム発信者は、無効なメールボックスにメールを送信しようと試みる可能性が正当なユーザよりはるかに高い。したがって、多数の失敗した配信の試行もスパムを示すものである。この失敗は、メッセージ配信時に生じることが可能であり、あるいは送信者に送り返されたＮＤＲ（不達レシート（ｎｏｎ−ｄｅｌｉｖｅｒｙ  ｒｅｃｅｉｐｔ））として生じることも可能である。この技術の１つの欠点は、ときとして、ユーザが、ユーザの名前でスパムを送信するスパム発信者の犠牲者になり、実際にはユーザからのものではないＮＤＲがもたらされることである。メッセージが実際に送信者からのものであることを検証することが役立つ可能性がある。これは、例えば、ユーザからのメッセージの受信者を追跡すること、またはユーザによって送信されたメッセージを追跡することによって行うことができる。各配信の失敗に高いスコアを割り当てることができる。
【００１４】
さらに、特定の受信者を追跡して、潜在的なスパム発信者であることが疑われる送信者などの特定の送信者から受信されたメッセージのタイプの記録を保持することができる。その特定の受信者にアドレス指定されたメッセージにスコアを付け、かつ／またはＭＬＳ確率を割り当てることができる。受信者別の最悪スコアのメッセージを送信者別に追跡することもできる。したがって、すべての受信者に関する最悪スコアの合計を送信者別に計算して、その送信者が潜在的なスパム発信者であるかどうかを判定することを容易にすることができる。これにより、正当な送信者が、ペナルティなしに、またはわずかなペナルティで、多数のスパムらしくないメッセージを受信者に送信することが可能になる。ただし、単一のスパムらしいメッセージを送信することも悪い（ｂａｄ）ことである。所与の受信者が、複数のメッセージを同じ受信者に送信するあらゆるスパム発信者をブロックするか、または報告する可能性、あるいは少なくともその送信者名を認識してさらなるメッセージを開かない可能性が高いことが、ここでの想定の一部となっている。
【００１５】
スパム発信者は、正当なメールを送信する可能性が低い。したがって、大量の正当なメールおよび少量のスパムらしいメールを送信するユーザは、正当である可能性が高いものと想定することができる。したがって、ユーザによって送信された正当であるように見えるメールの量を追跡し、正当なメールを送信したことに対してユーザに「ボーナス」を与えることができる。ボーナスは、送信者のスコアへの加算、またはこのスコアからの減算の形態であることが可能である。代替として、ボーナスは、ユーザが追加の発信メッセージを送信する（例えば、所与の時間枠当たりで割り当てられた量を超えて）ことを許すという形態であることも可能である。スパム発信者が、正当なメールを送信することによってこの技術を利用しようとする可能性がある。したがって、可能なボーナスは、例えば、所与の時間枠におけるユーザ当たりのボーナスの数により制限することができる。
【００１６】
潜在的なスパム発信者を特定した後、潜在的なスパム発信者に対していくつかのアクション（ａｃｔｉｏｎ）をとって、後のスパム活動をやめさせる（ｄｉｓｃｏｕｒａｇｅ）か、または禁止することができる。１つの手法によれば、ユーザがスパム発信者であることが比較的確かである場合、ユーザアカウントをシャットダウンすることができる。ＩＳＰまたはメッセージプログラムオペレータ／サーバの希望に応じて、その他のそれほど徹底的ではない手法も実施することができる。潜在的なスパム発信者からのメッセージ配信の一時的な停止に加えて、その他の手法には、送信者の発信メッセージの一部分を手動で検査すること、ポップアップメッセージまたは通常のメッセージを介してユーザアカウントまたはスパムポリシーに関する警告を送信すること、および／または計算チャレンジ（ｃｏｍｐｕｔａｔｉｏｎａｌ  ｃｈａｌｌｅｎｇｅ）またはヒューマンインタラクティブプルーフ（ｈｕｍａｎ  ｉｎｔｅｒａｃｔｉｖｅ  ｐｒｏｏｆ）（ＨＩＰ）チャレンジなどのチャレンジを潜在的なスパム発信者に送信することが含まれる。メッセージ配信は、潜在的なスパム発信者から受け取られた応答に応じて、再開することも、再開しないことも可能である。
【００１７】
スパム発信者の経済分析をある想定の下で行うことができる。例えば、送信される１００のメッセージごとに１つのＨＩＰが要求されることが可能である。ＨＩＰを解決するために誰かに５セントを支払う費用（または５セント相当の自らの時間）がスパム発信者にかかる場合、これにより、１つのメッセージ当たり０．５セントの費用が課せられる。同じ人物からスパムを受信する受信者は、最初のメッセージの後にメッセージをブロックする、または無視する可能性が高いものと想定される場合には、代替として、１００名の重複しない（ｕｎｉｑｕｅ）受信者ごとに１つのＨＩＰが要求されるが、それらの受信者に対する無制限の数のメッセージが許される。多くのユーザは、１００名を超える重複しない受信者に送信を行わないので、ほとんどのユーザは、アカウント作成時に１つのＨＩＰを解決することだけを要求されるが、スパム発信者は、高い費用（おそらく、利益が出なくなるほどの）を被る。
【００１８】
経済分析は、以下のとおり行うこともできる。スパムが受信された際に、受信者が送信者のＩＳＰに苦情を言い、アカウント終了がもたらされるいくらかの確率が存在するものと想定されたい。例えば、スパム発信者が２０００のスパムを送信した場合、そのスパムの１つにより、苦情が生じ、スパム発信者のアカウントが終了されるものと想定する。また、ほとんどの苦情は、かなり迅速に、例えば、３日間以内に受け取られるものと想定する。ここで、アカウント作成に１ドルという１回限りの費用が課せられ、送信者が３日間の期間に最大で２０００のメッセージを送信することが許される場合、スパムを送信しようとするいずれの試みも、一般に、アカウント終了までに少なくとも．０５セントの費用を被る。例えば、スパム発信者は、１ドルを支払って、即時に２０００のメッセージを送信することができる。３日間以内に、苦情が生じ、スパム発信者のアカウントが終了されることが予期される。これにより、スパム発信者に、１つのメッセージ当たり．０５セントの費用がかかることになる。ただし、正当なユーザは、１ドルの１回限りの費用を負い、１日当たり６６６のメッセージを永久に送信することができる。これらの正当なメッセージのいずれも苦情を生じさせないものと想定すると、ユーザのレートは制限されるが、ユーザの総ボリュームは無制限である。
【００１９】
同様な分析をＨＩＰチャレンジまたは計算チャレンジに関して行うことができる。１００のメッセージごとに１つのＨＩＰを要求して、最大で合計２０のＨＩＰを１つ５セントの費用で（合計１ドル）要求することができる。２０のＨＩＰが解決された後、前述したとおり、過去３日間に最大で２０００のメッセージを許すことができる。スパム発信者が、最初に２０のＨＩＰを解決し、２０００のスパムを送信した場合、スパム発信者のアカウントは終了され、スパムは、スパム発信者に１つ当たり．０５セントの（すなわち、多くの）費用がかかることになる。スパム発信者が、例えば、２０のＨＩＰを解決し、２０００の良好なメッセージを（仮に、自身または共謀者に）送信することによってシステムを操作しようと試みた場合、０のスパムを送信したことになる。スパム発信者は、望む限り良好なメッセージを送信することができるが、２０００のスパムを送信するとすぐに、誰かが苦情を言い、スパム発信者のアカウントは終了され、費用は、１つのメッセージ当たり０．０５セントになる。したがって、正当なユーザが、（ユーザが長期的には大きいボリュームを送信するものと想定すると）１つのメッセージ当たり非常に低い費用を負う一方で、スパム発信者は、１つのスパム当たり高い費用を被る。したがって、送信者ボリュームは、何らかの最大数を上限とするチャレンジ（または費用）当たりの何らかの数に、例えば、２０のチャレンジを上限とするチャレンジ当たり１００のメッセージに制限することができ、送信者レートは、例えば、１日当たり６６６のメッセージに制限することができる。
【００２０】
以上の目的および関連する目的を達するため、本発明のいくつかの例示的な態様を以下の説明および添付の図面に関連して説明する。ただし、これらの態様は、本発明の原理を使用することができる様々なやり方のいくつかだけを示しており、本発明は、すべてのそのような態様および等価の態様を含むものとする。本発明のその他の利点および革新的な特徴は、本発明の以下の詳細な説明を図面と併せて考慮することで明白となる。
【発明を実施するための最良の形態】
【００２１】
本発明を以下に図面を参照して説明する。すべての図面で、同様な符号を使用して同様な要素を指している。以下の説明では、説明のため、本発明の完全な理解をもたらすために多くの特定の詳細を提示している。ただし、本発明は、それらの特定の詳細なしに実行できることが明白であろう。その他、周知の構造および周知のデバイスは、本発明を説明することを容易にするためにブロック図の形式で示している。
【００２２】
本出願で使用する「コンポーネント」という用語および「システム」という用語は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すものとする。例えば、コンポーネントは、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであることが可能であるが、以上には限定されない。例として、サーバ上で実行されているアプリケーションもサーバもともに、コンポーネントであることが可能である。１つまたは複数のコンポーネントがプロセス内および／または実行スレッド内に存在することが可能であり、コンポーネントは、１つのコンピュータ上に局在していること、および／または２つまたはそれより多くのコンピュータ間に分散されていることが可能である。
【００２３】
本発明は、機械学習スパムフィルタリング用のトレーニングデータを生成することに関連する様々な推論（ｉｎｆｅｒｅｎｃｅ）スキームおよび／または推論技術を組み込むことができる。本明細書で使用する「推論」という用語は、一般に、イベントおよび／またはデータを介してキャプチャされた１組の観察からシステム、環境、および／またはユーザの状態について推理する、または推論するプロセスを指す。推論を使用して、例えば、特定のコンテキストまたはアクションを識別すること、または状態に関する確率分布を生成することができる。推論は、確率論的であること、つまり、データおよびイベントの考慮に基づく関心対象の状態に関する確率分布の計算であることが可能である。また、推論は、１組のイベントおよび／またはデータから高レベルのイベントを構成するために使用される技術を指すことも可能である。そのような推論により、１組の観察されたイベントおよび／または格納されたイベントデータから、それらのイベントが時間的に近接して相関しているか否かにかかわらず、それらのイベントおよびデータが１つのイベントおよびデータのソースから来るか、いくつかのイベントおよびデータのソースから来るかにかかわらず、新しいイベントまたは新しいアクションがもたらされる。
【００２４】
メッセージという用語を本明細書全体で頻繁に使用しているが、この用語は、電子メールそのものに限定されず、任意の適切な通信アーキテクチャを介して配信することができる任意の形態の電子メッセージングを含むように適切に適合させることができることを理解されたい。例えば、２名またはそれより多くの人々の間における会議を円滑にする会議アプリケーション（例えば、対話型チャットプログラムおよびインスタントメッセージングプログラム）も、本明細書で開示するフィルタリングの利点を利用することができる。というのは、ユーザがメッセージを交換する際、不要なテキストが、通常のチャットメッセージの中に電子的に所々に挿入されること、かつ／または開始メッセージ、終結メッセージ、または以上のすべてとして挿入されることが可能だからである。
【００２５】
さらに、「受信者」という用語は、着信メッセージの受取人を指す。「ユーザアカウント」という用語は、使用の文脈に応じて、電子メール、インスタントメッセージ、チャットメッセージ、および／またはウィスパメッセージなどのメッセージを送信し、かつ／または受信するためにメッセージングシステムを利用している送信者または受信者を指すことが可能である。
【００２６】
次に、図１を参照すると、潜在的なスパム発信者の検出および特定を容易にするシステム１００の一般的なブロック図が示されている。送信者は、ユーザベースのメッセージジェネレータコンポーネント１１０を使用して発信メッセージ１２０を作成することができる。発信メッセージ１２０は、送信者が所望する１つまたは複数の受信者にアドレス指定されることが可能である。
【００２７】
それぞれの受信者への発信メッセージの配信に先立って、検出コンポーネント１３０が、メッセージ１２０を処理し、解析して、メッセージがスパムである可能性が高いかどうか、および／または送信者が潜在的なスパム発信者であるかどうかを判定する。発信メッセージ１２０を介してスパム発信者を検出するためのいくつかの技術が存在する。１つの手法は、送信者ごとに発信メッセージ１２０のボリュームまたはレートを監視することに関わる。送信者ごとに発信メッセージのボリュームまたはレートを検査することにより、潜在的なスパム発信者を特定することが容易にされる。というのは、ほとんどのスパム発信者は、任意の所与の期間中に正当なユーザよりも頻繁にメッセージを送信する傾向にあるからである。この期間は、毎ｍ分（ただし、ｍは、１以上の整数）、または所望される任意の時間数、日数、週数、月数、および／または年数であることが可能である。例えば、１０分間にわたる発信メッセージのボリュームを１０分ごとに規則的に、または別のスケジュールに従って追跡することができる。また、潜在的なスパム発信者を特定するために、送信者別に（例えばアカウントのアクティブ化以来）送信されたすべての発信メッセージの総数を計算することも実行可能である。
【００２８】
第２の、おそらくさらに効果的な手法は、各発信メッセージ上に含まれる受信者の数をカウントすることを伴う。通常、正当なユーザは、多くのメッセージを送信するが、より少数の受信者に送信し、他方、スパム発信者は、より少ないメッセージを多数の異なる受信者に送信する傾向にある。メッセージの受信者は、例えば、「Ｔｏ：」フィールドの中、「ｃｃ：」（カーボンコピー）フィールドの中、および「ｂｃｃ」（ブラインドカーボンコピー）フィールドの中にリストアップされていることが可能である。
【００２９】
送信者別の受信者のボリュームを考慮することにより、スパム発信者が、発信メッセージ制限などの他のアカウント制限を免れることがより難しくなる。例えば、スパム発信者は、通常、単にできる限り多くの受信者にそれぞれがアドレス指定されたより少ないメッセージを送信することにより、発信メッセージ制限を回避する。このタイプのスパム発信者の挙動を抑えるため、本発明の一態様によれば、メッセージの各受信者が、別個のメッセージとなる。言い換えれば、例えば、送信者Ｗからの２０名の受信者を有する１つの発信メッセージを送信者Ｗからの２０の発信メッセージとしてカウントすることができる。したがって、受信者制限を含めることは、スパム活動を減らし、やめさせる効果的な手法であり得る。
【００３０】
受信者制限は、実施されている特に変わりないタイプの制限であり、不可避的に、一部のスパム発信者は、この制限も回避するやりかたを見出そうと試みる。例えば、スパム発信者は、同様なグループの人々に大量のメッセージを繰り返し送信して、受信者最大限度の範囲内にとどまることができる。これを行うことで、スパム発信者は、最初、スパムを常時、大量に配信することに成功したかに見える可能性がある。しかし、この策略は、実際には不成功である。というのは、同じスパムを１日中、受信しつづける受信者のグループは、最終的にはそのメッセージを認識し、そのメッセージを開くことをやめるからである。さらに、受信者は、特定の送信者から同じメッセージまたは同様のメッセージの集中砲火を受けるので、最終的に、それらのメッセージがスパムであることを知る。したがって、ほとんどの電子メールクライアントでは、受信者は、そのスパム発信者を容易にブラックリストにのせることができる。したがって、少数の同じ受信者に大量のメッセージを送信することは、スパム発信者にとってはるかに効果的でないように思われ、したがって、追求される可能性が低い戦略である。
【００３１】
別の技術は、機械学習システム（ＭＬＳ）を使用する。機械学習システムは、スパムに見られることが知られている、または非スパムよりスパムの方に見られる可能性が高い特徴または特性を使用する。機械学習システムは、スパムよりも非スパムの方に見られる可能性が高い特徴などの肯定的な特徴も使用することができる。発信メッセージ１２０が、機械学習フィルタ（例えば、ＭＬＳによってトレーニングされた）によって処理され、次に、確率またはスコアを割り当てられることが可能である。確率は、メッセージがスパムである可能性の大小を示す。例えば、より高い確率は、メッセージがスパムである可能性がより高いことを意味し、他方、より低い確率は、メッセージがスパムである可能性がより低い（例えば、非スパムである可能性がより高い）ことを意味する。この例によれば、より高い合計スコアを有するメッセージは、スパムまたは潜在的なスパムとしてフラグが設定される可能性がより高い。
【００３２】
残念ながら、スパム発信者は、自らのメッセージに、例えば、０または０に近い確率を常に割り当てるようにスパムフィルタを操作し、かつ／または欺いて、そのようなフィルタを通過することに成功するようにするやり方を見出している。本発明の一態様は、実質的に発信メッセージのすべてに追加のスコアを割り当てることにより、上記の策略を抑える。例えば、定数（例えば、０．１、０．２など）または何らかの最低スコアをメッセージに以前に割り当て済みのフィルタ確率または任意の他のスコアに加算することができる。この定数値を加算することにより、検出コンポーネントは、スコアの合計が何らかの妥当なレートで、つまり、０．１づつ、０．２づつなど増加していることを検証することができる。
【００３３】
代替として、またはさらに、少なくとも一部、発信メッセージの何らかの内容に基づいて各発信メッセージにスコアを割り当てることができる。例えば、ＵＲＬ（ユニフォームリソースロケータ）は、正当なメッセージの中でより、スパムの中でより一般的に見られる。したがって、メッセージの中のどこかに少なくとも１つのＵＲＬを含むことが特定された発信メッセージには、ＵＲＬを含まないメッセージ（例えば、２より低い何らかのスコア）より高いスコア（例えば、２）を割り当てることができる。メッセージの中に含まれる電話番号などの他の連絡先情報が、非スパムよりスパムの中で見られる可能性がより高い。というのは、ほとんどのスパムが、例えば、電話番号などの何らかのタイプの連絡先情報を含むからである。電話番号、または電話番号の少なくとも一部分（例えば、市外局番（ａｒｅａ  ｃｏｄｅ）および／または市内局番（ｐｒｅｆｉｘ））により、メッセージの送信者に関する情報が提供されることが可能である。したがって、そのようなメッセージにも、スパムである可能性がより高いため、より高いスコアを割り当てることができる。
【００３４】
いくつかの異なるスコア付け方法を以上に説明してきたが、スコア付けの任意の組合せを使用することができ、機械学習システムを使用することは、システム１００に用意されている１つのオプションに過ぎないことを理解されたい。その他の規則ベースのシステムも、本発明を実施するために利用することができる。例えば、フィルタは、規則ベースのシステム、ファジーハッシュ（ｆｕｚｚｙ  ｈａｓｈ）システムなどであってもよい。フィルタが確率を生成することができる場合、その確率を機械学習システム確率の代わりに使用することができる。フィルタがスコアを生成することができる場合、そのスコアも使用することができる。フィルタが「スパム」／「非スパム」の推定だけしか生成することができない場合、その推定を１／０スコアに変換して、使用することができる。
【００３５】
スコア付けに対する別の代替として、または追加として、到達することができないメッセージの受信者の数に基づいてスコアを割り当てることができる。多数の配信の試行が失敗していることは、スパムを示すものである。この障害は、メッセージ配信時に生じること、または送信者のシステムに送り返されるエラー報告であるＮＤＲ（不達レシート）として生じることが可能である。この技術の１つの欠点は、一部のユーザが、ユーザの名前でスパムを送信するスパム発信者の犠牲者になり、実際にはユーザからのものではないＮＤＲがもたらされることである。したがって、メッセージが実際に送信者からのものであることを検証することが役立つ可能性がある。これは、例えば、ユーザからのメッセージの受信者を追跡すること、またはユーザによって送信されたメッセージを追跡することによって行うことができる。それぞれの配信不能な受信者に大きいスコアを割り当てることができる。ユーザからのメッセージの各受信者を追跡している場合、いずれのＮＤＲも、ユーザが実際にメールを送信したユーザに対するものであることを検証することができる。以下に、ｋ名の受信者ごとに１名だけを追跡することに関わる技術を説明する。その技術を使用している場合、ＮＤＲに対する配信不能ペナルティをｋ倍にすることができる。
【００３６】
スパム発信者が正当なメールを送信する可能性は低い。したがって、大量の正当なメールを送信し、少量のスパムのようなメールを送信するユーザは、正当である可能性が高いものと判断することができる。したがって、ユーザによって送信された明らかに正当なメールの量を追跡して、正当なメールを送信したことに対する「ボーナス」を含めることができる。例えば、１つの正当なメッセージごとに０．１ポイントのボーナスを割り当てることができる。スパムフィルタによって十分に低いスコアが付与されたメッセージは、正当である可能性が高いものと想定することができる。スパム発信者は、正当なメールを送信することによってこの技術を利用しようと試みる可能性がある。したがって、可能なボーナスを何らかの最大量に制限することが望まれる可能性がある。
【００３７】
やはり図１を参照すると、検出コンポーネント１３０が、特定の期間中などに、所与の送信者からの実質的にすべてのメッセージに割り当てられたすべてのスコアの合計を計算することにより、各発信メッセージをさらに処理して、それぞれの送信者が潜在的なスパム発信者であるかどうかを判定することを容易にすることができる。この判定は、少なくとも一部、スコアを閾値と比較した際に行うことができる。閾値は、送信者により異なることが可能であるが、閾値を超えた場合、その送信者は潜在的なスパム発信者であると判定することができる。
【００３８】
潜在的なスパム発信者が真のスパム発信者であるかどうかを検証するため、発信メッセージに関連する、例えば、個々のスコア、合計スコア、送信者情報、および／またはスパムの、またはスパムであると知られているメッセージの一部分の特性（ｍｅｓｓａｇｅ  ｅｘｃｅｒｐｔｓ  ｃｈａｒａｃｔｅｒｉｓｔｉｃ）などの任意の情報１４０をアクションコンポーネント１５０に通信することができる。
【００３９】
アクションコンポーネントは、検出コンポーネント１３０に動作上、結合されている。検出コンポーネント１３０から受信された情報１４０に少なくとも一部は基づき、アクションコンポーネント１５０は、潜在的なスパム発信者に対する適切なタイプのアクションにアクセスし、開始することができる。例示的なタイプのアクションには、（送信者別の）発信メッセージのサンプルの人間による検査、アクションコンポーネントによって生成されたメッセージに対する送信者の応答を要求すること、および／またはメッセージ配信の停止（例えば、永久の、または一時的な）が含まれる。アクションコンポーネントによって開始されるいずれのアクションも、メッセージを生成して送信する送信者の能力に影響を与えることにより直接に、またはスパム発信者が件のユーザアカウントを介してスパムメッセージを送信することの費用対効果を小さくし、より費用が高くなるようにすることによって間接的に、あるいはその両方で、スパム送信を効果的に抑える。
【００４０】
次に、図２を参照すると、本発明の態様による発信メッセージスパム検出システム２００のブロック図が示されている。システム２００は、発信メッセージが生成され、配信に先立って処理される送信者側の態様２１０、および発信メッセージが宛先の受信者に配信される受信者側の態様２２０を含む。
【００４１】
送信者側２１０は、発信メッセージを生成することができるメッセージジェネレータ２３２または他のメッセージングシステムを使用する少なくとも１名の送信者２３０を含む。メッセージの例には、電子メールメッセージ、インスタントメッセージ、チャットルームメッセージ、および／またはウィスパメッセージ（例えば、インスタントメッセージと同様であるが、チャットルーム内の２名の間における）が含まれる。生成されると、発信メッセージは、発信メッセージモニタ２４０に通信されることが可能であり、特に、１つまたは複数のフィルタ２５０の中を通過させられる。発信メッセージモニタ２４０は、送信者別の発信メッセージのボリュームとならんで、送信者別の（または送信者ごとのメッセージ別の）受信者のボリュームも追跡することができるメッセージ受信者カウンタ２４２を含む。メッセージ受信者カウンタ２４２は、任意の所望の期間にわたって送信者別の発信メッセージのボリュームを計算することができる時間機能コンポーネント２４４に動作上、結合されることが可能である。
【００４２】
この期間は、少なくとも１つの単位時間（例えば、毎日）または複数の単位時間（例えば、毎時、毎日、および毎月）にわたってメッセージの発信のボリュームを効果的に監視するように事前に決めることが可能である。一例では、発信メッセージの数が、５分間の時間間隔にわたって（例えば、５分間当たり１０のメッセージ）、１時間の時間間隔にわたって、かつ／または１日ごとに（例えば、送信者２３０による１日当たり３００のメッセージ）記録されることが可能である。
【００４３】
メッセージ受信者カウンタ２４２ならびに時間機能コンポーネント２４４によって生成された情報は、プロセッサ分析コンポーネント２４６に通信される。プロセッサ２４６は、発信メッセージに関する情報を処理し、分析して、発信メッセージレートを計算し、送信者別の受信者ボリュームおよび発信メッセージボリュームを追跡する。各送信者に対応するデータは、プロセッサ２４６によってデータストア２４８の中に保持され、かつ／またはデータストア２４８から取り出されることが可能である。
【００４４】
図２に示すとおり、実質的にすべての発信メッセージが、少なくとも１つのフィルタ２５０の中を通過させられ、次に、分析のためにプロセッサコンポーネント２４６に直接に送られるか、またはカウンタ２４２まで転送される。フィルタ２５０は、各メッセージの内容に関連する何らかのスコアまたは確率を割り当てることができる。各メッセージが通過させられるフィルタ２５０の数およびタイプに応じて、複数のスコアを各メッセージに割り当てることができる。例えば、１つのスコアは、ＭＬＳ確率であることが可能である。別のスコアは、０．１のような定数であることが可能である。さらに別のスコアは、メッセージがＵＲＬを含むというインジケータ（例えば、１．０）であることが可能である。プロセッサ２４６は、メッセージごとのすべてのスコアの総計、および／または送信者別のすべてのメッセージスコアの合計を計算することができる。さらに、送信者別の受信者のリストに基づくスコアも保持することができる。これらのリストは、所望に応じて、システム２００によって更新されること、破棄されること、および新たに作成されることが可能である。送信者別の受信者のそのような動的リストを保持することにより、潜在的なスパム発信者を特定する際に情報がもたらされる可能性がある。というのは、ほとんどの正当なユーザは、通常、より少数の受信者により多くのメールを送信するが、ほとんどのスパム発信者は、多数の異なる受信者により少ないメッセージを送信する傾向にあるからである。
【００４５】
送信者のスコアおよび／または合計スコア（例えば、１つの発信メッセージまたは多くの発信メッセージに関する）が、所与の閾値を超えると、モニタ２４０は、懲罰（ｄｉｓｃｉｐｌｉｎａｒｙ）コンポーネント２６０に通知することができる。１つの発信メッセージに関するスコア閾値は、多くの発信メッセージに関するセット閾値より高いことが可能である。同様に、スコア閾値は、送信者の間で異なることが可能である。各送信者の閾値情報をデータストア２４８の中に格納し、データストア２４８から取り出すことができる。
【００４６】
懲罰コンポーネント２６０は、潜在的なスパム発信者が発信メッセージモニタ２４０によって特定された際にアクティブ化される。少なくとも送信者の連絡先情報が、懲罰コンポーネント２６０に通信される。懲罰コンポーネント２６０にやはり提供されることが可能なその他の情報には、送信者のスコア（例えば、個々のメッセージスコアのサンプリング、合計スコア、および／または４週間の期間にわたって１週間ごとに獲得されたスコア）が含まれる。懲罰コンポーネント２６０は、例えば、スコア情報を計量することによって送信者がスパム発信者である確かさの度合いを評価することができる。少なくとも一部、この確かさの度合いに基づき、送信者がスパム発信者であるかどうかを判定することを容易にする、または送信者がスパム発信者でないというある程度の確かさを提供することを容易にするいくつかのオプションが懲罰コンポーネント２６０に利用可能である。
【００４７】
１つのオプションは、１つまたは複数のチャレンジを生成して、送信者（例えば、送信者アカウント）に伝送することができるチャレンジジェネレータ２６２に関する。アカウントは、他の発信メッセージを送信できるようになるにはまず、そのチャレンジに何らかの形で応答することを要する。代替として、チャレンジに対する応答を待つ間、何らかの最大数のメッセージがそのアカウントから送信されることが可能である。
【００４８】
チャレンジは、メッセージ送信時に（例えば、送信者が自らの発信メッセージを送信しようとする際に）、送信者の発信メッセージの形態（例えば、電子メール、ウィスパ、チャット、インスタントメッセージ）で、またはポップアップメッセージ（例えば、特に、送信者が、システム２００による制御を受けているクライアントを使用している場合）としてなど、アカウントユーザに対するメッセージとしてアカウントに配信されることが可能である。チャレンジは、ヒューマンインタラクティブプルーフ（ＨＩＰ）チャレンジおよび／または計算チャレンジの形態であることが可能である。ＨＩＰは、個人が容易に解決することができるが、コンピュータが容易に解決することはできず、他方、計算チャレンジは、コンピュータが容易に解決することができ、したがって、計算チャレンジがチャレンジとして選択された場合、人間の注意は要さない可能性がある。
【００４９】
スパムのような挙動に関連する閾値レベルを超えたことに加え、その他の様々な理由で、チャレンジがユーザアカウントに送られることが可能である。例えば、チャレンジは、ユーザの挙動を監視してスパムのような活動が行われていないことを検証する方法として必要である可能性がある。これは、スパム発信者が、最初に正当なメッセージを送信し、その後、大部分がスパムのメッセージを送信することによって機械学習フィルタを欺こうと試みる可能性があるからである。このようにユーザの挙動を監視するため、ユーザアカウントおよび／またはクライアントが、ｎ通のメッセージが発信されるごとに（ここで、ｎは、１以上の整数である）、チャレンジを解決することを要求されることが可能である。チャレンジは、アカウントのシャットダウンが近づいているというサーバからのフィードバックに応答して送信されることも可能である。その場合、サーバ上のフィルタリングシステムが、特定のアカウントに関連するスパム発信者のような活動または挙動を観察していることが可能である。同様の理由および同様の仕方で、各送信者の発信メッセージからｒ名の受信者（ここで、ｒは、１以上の整数）がカウントされた後、チャレンジが送信されることが可能である。受信者は、メッセージごとに１度、カウントされる（例えば、２つのメッセージ上の同一の受信者が、２名の受信者としてカウントされる）ことも、重複なしに（ｕｎｉｑｕｅｌｙ）カウントされる（例えば、２つのメッセージ上の同じ受信者が１名の受信者としてカウントされる）ことも可能である。
【００５０】
一部の例では、送信者は、特にクライアントが、人間の注意または動作を必要とすることなく、チャレンジに自動的に応答している場合、自らに送信されたいずれのチャレンジにも決して気付かないことが可能である。ただし、クライアントおよび／またはユーザが、応答せず、発信メッセージを送信する試みが繰り返し行われた場合、アカウントは、アカウントの使用を続けるのに応答が必要とされることを通知するメッセージを受信することが可能である。チャレンジに正しく、かつ／または適時に返答が行われる限り、発信メッセージがアカウントから送信されることが許される。
【００５１】
第２のオプションは、（人手による（ｈｕｍａｎ−ｏｐｅｒａｔｅｄ））メッセージインスペクタ２６４による送信者の発信メッセージのサンプルの人間による検査に関わる。一部の正当なアカウント保持者の挙動は、スパム発信者の行動（例えば、１つのメッセージにつき複数の受信者、多数のメッセージ、および／または組織メーリングリスト、家族−友人配信リストなどによるメッセージの大きいボリュームおよびレート）に似通う可能性があるため、送信者のメールのサンプルを手動で検査して、正当な送信者の発信メッセージの配信を絶えず中断することによって正当な送信者を罰することを抑えるようにすることが役立つ可能性がある。送信者が正当なユーザであると判定された場合、その送信者のスコアをリセットし、かつ／またはその送信者の閾値レベルを高くして、少なくとも、その送信者に潜在的なスパム発信者としてフラグが設定される頻度を少なくすることができる。
【００５２】
おそらくより厳重なオプションは、メッセージングサービスのユーザポリシーおよびスパムポリシー、ならびにサービスの条件に関する法的通知を送信することに関わる。法的通知は、潜在的なスパム発信者に、潜在的なスパム発信者がそのようなポリシーおよび／またはサービスの条件に違反していることの警告の役割もすることが可能である。このタイプの通知を提供することにより、スパム発信者に対して法的措置（ａｃｔｉｏｎ）をとることがより容易になる可能性がある。潜在的なスパム発信者が宛先とした受信者２２０に対する発信メッセージの配信（例えば、メッセージ受信コンポーネント２７０）を一時的に停止すること、または送信者が法的通知を受領し、読んだことを確認するまでアカウントを即時にシャットダウンすることができる。法的通知は、送信者の発信メッセージの形態（例えば、電子メール、ウィスパメッセージ、チャットメッセージ、インスタントメッセージ）で、またはメッセージ送信時にポップアップメッセージ（例えば、特に、送信者が、システム２００またはメッセージサービスによる制御を受けるクライアントを使用している場合）としてなど、アカウントに対するメッセージとして送信者に通信することができる。代替として、送信者は、アカウントの操作が一時停止され、メッセージに応答することを要求されるまでに、少数のメッセージを送信することが許されることも可能である。
【００５３】
一部の例では、送信者がスパム発信者であることが高い度合いで確実であることが可能である。そのような場合、アカウントサスペンダコンポーネント２６８によってアカウントが一時的に、または永久にサスペンドまたはシャットダウンされることが可能である。アカウントサスペンダコンポーネント２６８は、その他のオプション（例えば、２６２、２６４、および２６６）の１つまたは複数と協調して、または連携して動作することも可能である。高い確かさは、少なくとも１つの発信メッセージに割り当てられたＭＬＳ確率が高いことに少なくとも一部は基づくことが可能である。代替として、またはさらに、既知のスパムに送信者のメッセージが完全に一致した、またはほぼ一致した場合、あるいはメッセージが、人間によってスパムらしいと判定された句（例えば、スパム発信者によって使用されるＷｅｂページに対するリンク）を含む場合。
【００５４】
さらに、送信者のスコア、および以前に配信済みのオプションに対する送信者の応答に応じて、以上のオプションの任意の組合せも、システム２００によって実施されることが可能である。
【００５５】
本発明による様々な方法を以下に一連の動作を介して説明する。本発明は、動作の順序によって限定されないことを理解し、認識されたい。というのは、一部の動作は、本発明によれば、本明細書で示し、説明するのとは異なる順序で、かつ／または他の動作と同時に行われることも可能であるからである。例えば、方法は、代替として、状態図におけるような一連の相互に関係する状態またはイベントとして表すことも可能であることが、当分野の技術者には理解され、認識されよう。さらに、示したすべての動作が、本発明に従って方法を実施するのに必要ではない場合がある。
【００５６】
次に、図３を参照すると、本発明の態様による潜在的なスパム発信者の検出を全体として容易にするプロセス３００の流れ図が示されている。識別プロセス３００は、３１０で、送信者別に実質的にすべての発信メッセージを監視することを含む。監視は、送信者別に発信メッセージのボリュームおよび／またはレートを追跡することを含むことが可能である。さらに、送信者別のメッセージごとにリストアップされた受信者のボリュームも、追跡し、記録することができる。本発明の一態様によれば、メッセージ上の各受信者が１つのメッセージとなる。したがって、発信メッセージが２５名の受信者をリストアップしている場合、その特定のメッセージは、１つのメッセージではなく、２５の個別メッセージとしてカウントされる。というのは、２５名の受信者がそのメッセージを受信することになるからである。
【００５７】
さらに、監視は、ある期間にわたって、送信者別のメッセージごとのスコア、単に送信者別のスコア、かつ／または送信者別の受信者によるスコアを追跡することによって実行することもでき、受信者は、メッセージ別にカウントされるか、または重複なしにカウントされる（２つのメッセージ上の同一の受信者が１名としてカウントされる）。そのようなスコアは、ＭＬＳフィルタ、他の規則ベースのフィルタ、および／または他の内容ベースのフィルタによって割り当てられることが可能である。例えば、ＭＬＳフィルタが、メッセージの少なくとも一部分が示すスパムらしさ（ｓｐａｍｉｎｅｓｓ）のレベルに基づいて確率を割り当てることが可能である。他の規則ベースのフィルタが、少なくとも一部はメッセージの何らかの内容に依存する同様のタイプのスコアを割り当てることが可能である。最後に、内容ベースのフィルタが、発信メッセージの中でスパムらしい句または既知のスパムの句を探すことが可能である。一致、またはほぼ一致することにより、３２０で、さらなる調査または検査のためにメッセージにフラグが設定され、送信者が潜在的なスパム発信者であるかどうかが検出されることが可能である。それらの結果のいずれか１つまたは組合せが、スパムらしい行動を示し、かつ／または閾値レベルを超えた場合、プロセス３００は、３３０で、潜在的なスパム発信者に対してどのようなタイプのアクションが開始されるべきかを決定し、最低限、送信者が実際にスパム発信者であることを確認または検証する。
【００５８】
送信者が、その送信者のスパムのようなメッセージにもかかわらず、正当なユーザであると検証された場合、代替の処置を行うこともできる。例えば、送信者のスコアをリセットし、かつ／または送信者に関する閾値レベルを調整して、送信者の発信メッセージの配信のさらなる中断を少なくすることが可能である。
【００５９】
次に、図４を参照すると、本発明の別の態様によるメッセージの特定の受信者を追跡することを容易にする例示的なスパム検出プロセス４００の流れ図が示されている。スパム検出プロセス４００は、実質的にすべての送信者またはすべてのアカウントからの発信メッセージを、それぞれの受信者への配信のために処理される際に監視する（４１０で）ことを含む。４１０で監視中に潜在的なスパム発信者を識別することを容易にするいくつかの技術を実施することができる。例えば、４２０で、それぞれの送信者からの（例えば、送信者別の）発信メッセージのボリュームをカウントし、追跡することができる。さらに、送信者別の受信者（例えば、異なる受信者）のボリュームもカウントし、追跡することができる。メッセージ上にリストアップされる各受信者が、１つのメッセージとしてカウントされ、したがって、メッセージカウントと受信者カウントは、互いに等しくないにしても、似通っていなければならないことを理解されたい。
【００６０】
メッセージおよび受信者のボリュームが監視される際、４３０で、それぞれの送信者別の発信メッセージのレートも記録されることが可能である。発信メッセージのボリュームデータおよびレートデータをスコアに変換して、各送信者の挙動を評価することを容易にすることができる。代替として、ボリュームデータおよびレートデータを未変換の状態で利用することもできる。
【００６１】
図に４４０で示すとおり、発信メッセージの受信者は、ランダムに、またはランダムにではなく選択して、例えば、送信者別の受信者のリストなどのリストに載せることができる。したがって、リスト上の受信者（選択された受信者と呼ばれる）にメッセージが送信される場合、そのメッセージは、追跡の目的でその受信者に関連付けられる。例えば、選択された受信者に関連するよりスコアの高いメッセージ、ならびにその受信者によって受信された最悪スコアのメッセージを追跡することが望ましい可能性がある。次に、選択された受信者によって受信された最悪スコアの（例えば、最もスパムらしい）メッセージを、その受信者に対する特定の送信者に関連するスコアとして使用することができる（４５０で）。
【００６２】
スパム発信者は、メッセージを無効なメールボックス（例えば、存在しないメールアドレス）に送信する可能性が正当なユーザよりも高いので、より多くの不達レシートを受け取る可能性がより高い。したがって、配信の試みが比較的多く失敗している送信者は、潜在的なスパム発信者を示している可能性がある。この属性に鑑みて、オプションとして、４６０で、送信者別に不達レシート（ＮＤＲ）の数を追跡することができ、メッセージが実際に送信者とされているところから来ていることの検証を実行することもできる。メッセージが送信者とされている人から来ていることを検証する１つの技術は、送信者からのメッセージの受信者を追跡し、かつ／または送信者によって送信されたメッセージを追跡することに関わる。続いて、少なくとも一部は送信者別の受け取られたＮＤＲの数に基づき、スコアを割り当てることができる。
【００６３】
代替として、大部分の正当なメッセージと、比較的少量のスパムのようなメッセージを送信する送信者に、ボーナスを報酬として与えることもできる。例えば、ボーナスは、送信者のスコアに対する有利な調整の形態であることが可能である。
【００６４】
その後、４７０で、あるリスト（例えば、送信者別の）に関するすべての選択された受信者のスコアの合計を計算することができる。この場合も、合計スコアが閾値を超えた場合、送信者は、潜在的なスパム発信者としてフラグが設定され、送信者のスパムのような行動を検査するさらなる動作が行われることが可能である。
【００６５】
送信者からのすべてのメッセージ（選択された受信者に対する）の合計スコアの代わりに、送信者に関連する最悪スコアだけを使用することにより、送信者からスパムのようなメッセージを受信していない受信者は、送信者に不利にカウントされない。ランダムに選択された受信者、およびその受信者のメッセージを追跡することに関するさらなる説明を以下に図６で述べる。
【００６６】
やはり図４を参照すると、それぞれのメッセージの中でスパムのような特性を探すため、４８０で、１つまたは複数のフィルタを介して発信メッセージを処理することもできる。例えば、ＵＲＬを含むメッセージは、よりスパムらしい。したがって、ＵＲＬを有するメッセージには、例えば、ＵＲＬを有さないメッセージより高いスコアを割り当てることができる。４２０、４３０、４４０、および４８０に関して行われるプロセスは、任意の順序で行われることが可能であり、かつ／または少なくとも部分的に重なり合うことが可能であることを理解されたい。
【００６７】
一般に、スコアは、計算されて、メッセージごとの合計スコア、および／または送信者別の合計スコア（例えば、送信者別のそれぞれのメッセージすべてに関するスコアの合計）がもたらされ、次に、４９０で、それぞれ閾値レベルと比較されて潜在的なスパム発信者の検出および識別が容易にされる。
【００６８】
発信メッセージのボリュームおよびレートを監視することに加え、何名の異なる受信者を送信者が有しているか、または有したかを追跡することが役立つ可能性がある。受信者の数が増加するにつれ、送信者が潜在的なスパム発信者である可能性もより高くなる。これは、正当なユーザが、通常、多くのメッセージを比較的小数の受信者に送信し、他方、その逆が、通常、スパム発信者について真であるからである。つまり、スパム発信者は、より少ないメッセージを数名の異なる別々の受信者に送信する。
【００６９】
次に、図５を参照すると、対応するそれぞれの受信者に従って発信メッセージを監視するための例示的な方法５００の流れ図が示されている。方法は、５１０で開始することが可能であり、発信メッセージが、メッセージサーバ（例えば、送信者側の）によって受信される。各受信者に関して発信メッセージのリストを作成するようにメッセージサーバまたは何らかの他のコンポーネントをプログラミングすることができる。５２０で、各発信メッセージに関するスコアを割り当て、対応する受信者に関連付けることができる。各発信メッセージに割り当てられるスコアは、例えば、その特定の発信メッセージに割り当てる最も望ましいスコアを決定する論理演算を実行することにより、独立に決定することができる。
【００７０】
例えば、５３０で、スコアが、定数値に設定されることが可能である。受信者別に各発信メッセージに定数値スコアを設定する場合、受信者のスコアは（例えば、その受信者に関して複数の発信メッセージがリストアップされているものと想定すると）、その定数値に比例するレートで増加しなければならない。したがって、そこからのあらゆる偏差は、１つまたは複数の送信者のスコア付けシステムを操作しようとする試みに帰することができる。そのようなメッセージ、およびメッセージのそれぞれの送信者を分離して、少なくとも潜在的なスパム発信者として識別することができる。
【００７１】
代替として、メッセージに割り当てられるスコアは、確率値（例えば、ＭＬＳ確率）であることが可能である。確率は、発信メッセージのＭＬＳ評価に基づくことが可能であり、つまり、確率は、発信メッセージがスパムである尤度、または送信者が潜在的なスパム発信者である尤度を反映する。
【００７２】
さらに、各発信メッセージに割り当てられるスコアは、ＭＬＳ確率と定数値の組合せであることが可能である。複数のスコア付けオプションが利用可能であるが、スコア付けオプションは、処理されている発信メッセージのグループに関して整合性があり、同様なスケールおよび基準点を使用して互いに比較することができなければならないことを理解されたい。ただし、スコア付けオプションは、発信メッセージの実質的にすべてに関して変更に整合性がある限り、変更することができる。
【００７３】
発信メッセージは、各受信者に関して追跡し、記録することができる。前述したスコアに加えて、各受信者に送信されたメッセージのボリューム、レート、および／または頻度も監視して、追跡することができる（５５０で）。例えば、いずれかの受信者に送信されたメッセージの時間、レート、および／または頻度が、対応する所与の閾値を超えた場合、５４０で、それを反映するように受信者のリストにスコアを加算することができる。
【００７４】
５６０で、関連する期間中のその送信者に関する実質的にすべての受信者についての合計スコアを計算することができる。代替として、またはさらに、その送信者に関する受信者別のスコアが最も高い発信メッセージを追跡することができ、合計スコアを計算することの一環として使用して、送信者を潜在的なスパム発信者として識別することを容易にすることができる。
【００７５】
合計スコアが閾値を超えた場合（５７０で）は、５８０で、それぞれの送信者が潜在的なスパム発信者であると判定することができる。同様に、最高スコアのメッセージが閾値を超えた場合も、５８０で、そのメッセージの送信者は、少なくとも潜在的なスパム発信者であると結論することができる。潜在的なスパム発信者に関連するスコアは、５８５で、十分な時間が経過した後にはじめてリセットすることができる。スコアがリセットされ、その送信者からの発信メッセージの配信が再開されるのに経過する必要がある時間は、少なくとも一部は閾値に対するスパム発信者のスコアに依存する。つまり、スパム発信者のスコアを閾値より下に低下させるのに十分な時間が経過しなければならない。
【００７６】
逆に、所与の期間にわたる送信者に関連する合計スコア、または個別メッセージスコアがそれぞれの閾値を超過しなかった場合、５９０で、適宜、その送信者に関してスコアをリセットすることができ、５１０で、方法５００を繰り返すことができる。
【００７７】
前述したとおり、送信者がメッセージを送信することができる受信者の数を制限することは、スパム活動またはスパムのような活動を緩和する効果的な手法である可能性がある。送信者からの重複しない受信者の数（各受信者が、送信者別に１回、カウントされる）に基づく制限は、正当な送信者よりも大きくスパム発信者に影響を与え、メッセージごとの受信者の数に基づく制限は、メッセージの数に基づく制限よりも効果的である（スパム発信者は、１つのメッセージを非常に多数の受信者に送信することができるため）。さらに、送信者別のある期間中（例えば、ｚ分ごと、ｚ時間ごと、ｚ日ごと、ｚ週ごと、ｚ年ごとなど）の受信者の合計ボリュームを考慮に入れることが望ましいだけでなく、受信者に送信された最もスパムらしいメッセージを追跡することも有利である。
【００７８】
残念ながら、すべての受信者、およびその受信者に宛てられたメッセージを追跡することは、すべての受信者を追跡する必要があるため（例えば、個々の受信者の総数に基づいて送信者別のスコアを割り当て、送信者別の受信者ごとにスコアを割り当てるため）、費用が高くなる可能性がある。したがって、すべての受信者を追跡するのではなく、ランダム化された技術を使用して同様の結果をもたらすことができる。例えば、最大でｎ名の受信者（例えば、ｎは、１以上の整数である）が存在するが、受信者の１／ｋ（ｋは、１以上の整数である）だけが追跡される（リストを介して）ものと想定する。すると、受信者のｎ／ｋを見た場合、最大限に達したものと考えることができ、あるいは高い確率で最大限に達したことを確実にするように安全係数を含めることができる。
【００７９】
このランダム化された受信者追跡プロセスを容易にするため、ハッシングを使用することができる。ハッシングとは、文字ストリングを、その元のストリングを表す通常、より短い固定長の値またはキーに変換することである。元の値を使用して項目を見つけるよりも、より短いハッシングされた値を使用して項目を見つける方が速いので、ハッシングを使用してデータベースまたはリスト形式の中の項目にインデックスを付け、取り出す。各受信者の識別情報（電子メールアドレスなどのＩＤ）に関してハッシュ関数を計算して、各受信者に関するハッシュ値を算出することができる。受信者は、ハッシュ値を使用して一致を求めて比較を行うことにより、ランダムに選択される。この例では、受信者は、ハッシュモジュロｋの値が０である場合、追跡するために選択される。したがって、リストがｎ／ｋ名の重複しない受信者を含む場合、送信者ごとにおよそｎ名の受信者が存在するものと判定することができる。ハッシュ関数は、送信者別のランダム係数に依存して、スパム発信者が本発明のこの態様を利用するのをより難しくすることが可能である。
【００８０】
図６は、総受信者の１／ｋごとに追跡を行って送信者別の個々の受信者の合計ボリュームを推定することを容易にする例示的なランダム化された技術６００の流れ図を示している。６１０で、各受信者ＩＤのハッシュ関数が計算されることが可能である。発信メッセージが特定された受信者に送信されるたびに毎回、その特定の受信者に関して同一のハッシュが使用される。したがって、一部の受信者が追跡され、一部の受信者は追跡されない。
【００８１】
６２０で、受信者を特定するのに使用されたのと同じハッシュ関数を使用してハッシュ値が計算され、次に、その値を使用して一致を求めて比較が行われる。この例では、（受信者）モジュロｋのハッシュが、０などの何らかのランダムな値と比較される。したがって、受信者が０のハッシュ値を有し、一致した場合、その受信者が、６３０で、メッセージ追跡のためのリストに追加される。ハッシュモジュロｋは、必要に応じて任意のランダムな値と比較して、スパム発信者が、この技術を操作し、解読することを抑止することができることを理解されたい。ただし、受信者が、０に等しいハッシュ値を有さない場合、６２５で、次の受信者が検査される。
【００８２】
実際上、送信者が、１００００のメッセージを送信しようと試み、１日当たりの（個別の）受信者制限は１００名であるものと想定する。ここで、受信者の１／ｋが追跡されることになり、この例では、ｋ＝１０であることを想い起こされたい。したがって、送信者は、メッセージを最初の１０名の人々に送信する。この１０名のうち、通常、１名がハッシュ内にあり（ｉｎ  ｔｈｅ  ｈａｓｈ）、これは、１０名の受信者のうち１名が、０に等しいハッシュモジュロｋの値を有することを意味する。ハッシュに該当する受信者が選択され、メッセージ追跡のためのリストに追加される。
【００８３】
送信者が、メッセージを別の１０名の受信者に送信する。この場合も、１０名のうち１名の受信者が、０に等しいハッシュモジュロｋの値を有する。したがって、ハッシュに該当する受信者がやはり選択され、メッセージ追跡のためのリストに追加される。しばらくの送信の後、１０名の人々がハッシュに該当し、言い換えれば、０に等しいハッシュ値を有し、選択されて、メッセージ追跡のためのリストに追加される。したがって、送信者が、少なくとも１０名の別個の受信者に発信メッセージを送信しており、おそらくより可能性が高いこととして、およそ１００名の別個の受信者に送信していることを容易に計算することができる（例えば、６６０で）。というのは、リスト上に１０名の受信者（０に等しいハッシュ値を有する）が存在するからである。
【００８４】
さらに、それぞれの選択された受信者に関して、ほとんどのスパムらしいメッセージにスコアを付けて、それらのスコアをそれぞれの送信者に関連付けることができる。例えば、６４０で、最もスパムらしいスコアおよびメッセージを送信者別に受信者ごとに格納することができる。６５０で、定期的に、またはそれ以外の方法で、格納済みのメッセージおよびスコアを他のメッセージおよびスコアと比較して、送信者別の受信者ごとに最もスパムらしいメッセージが格納されていることを検証することができる。それに応じて、格納済みの情報を更新することができる。受信者に送信された実質的にすべてのメッセージを調べることに加えて、最もスパムらしいメッセージを分離することを使用することができる。この戦略では、スパムらしいメッセージを受信していない受信者は、送信者に不利にカウントされない。
【００８５】
上記に対する代替は存在するものの、問題がある可能性がある。１つの代替は、各受信者に関する平均スパムスコアを調べることに関わるが、これは、スパム発信者がいくつかの無害なメッセージおよび１つのスパムらしいメッセージを送信して平均を低く保つ攻撃を許す。そのような攻撃にユーザは特に迷惑させられる。というのは、無害なメッセージは、明白なスパムではない可能性が高く、したがって、ユーザを混乱させ、ユーザに時間を浪費させるからである。したがって、この攻撃をやめさせることが重要である。別の代替は、所与の送信者に関して各受信者に関するスパムスコアの合計をとることである。所与の送信者に関する受信者全体にわたって合計された場合、すべての受信者にわたるスパムスコアの合計と同じになり、役立つ測定指標になる可能性がある。しかし、この測定指標は、受信者別の情報を全く保持することを必要としない。また、合計の測定指標は、スパム発信者が多くの受信者に送信を行う傾向にあり、一方、良好なユーザは、少数にしか送信しないという事実を活用しない。最大値は、この事実を使用する。最後に、合計は、スパム発信者がユーザに多くのメッセージを送信した場合、ユーザは苦情を言う可能性が高いという事実も活用しない。
【００８６】
６７０で、所与の送信者によって各受信者に送信された最もスパムらしいメッセージの合計スコアが計算されて、送信者に対してアクションがとられるべきかどうかが最終的に決定される。受信者の推定されたボリュームなどの他の要因も、６８０における判定で考慮されることが可能である。
【００８７】
図４〜６で前述した様々な技術に加え、図７は、他の技術と独立に、または連携して使用して、送信者が潜在的なスパム発信者であると判定することができる追加の要因を提供する。より具体的には、送信者は、７２０で、以下の少なくとも１つが真である場合、潜在的なスパム発信者であることが分かる（７１０で）（すなわち、スパムフィルタにより、メッセージがスパムであることの十分に高い確率が与えられる、メッセージの少なくとも一部分に関して、既知のスパムとの完全な一致またはほぼ完全な一致が見つかる、メッセージが、スパムの特徴であると判定された句を含む）。フィルタ確率は、その確率を何らかの閾値レベルと比較することによって「十分に高い」ことを確かめることができる。確率が閾値レベルを超える量が、「十分に高い」ことの１つの指示であることが可能である。
【００８８】
送信者が潜在的なスパム発信者である、またはそうである可能性があると判定されると、送信者および／または送信者のユーザアカウントに対して様々なアクションをとって、その送信者が実際にスパム発信者であることを検証し、継続するスパム活動に関して送信者に警報し、かつ／またはスパムのような挙動を見せる正当なユーザに関する閾値レベルを調整することができる。図８は、送信者がスパム発信者のように行動する可能性がより高いと判定された時点で実施することができる例示的な反応プロセス８００の流れ図を示している。プロセス８００は、この図に８１０で示すとおり、図３〜７が明らかに終了するポイントから開始することができる。
【００８９】
８１０で、送信者が潜在的なスパム発信者であると結論される。続いて８２０で、ユーザの好みに応じて以下の少なくとも１つ、または任意の組合せを選択することができる。
（ａ）８３２で、送信者の発信メッセージのサンプル（例えば、少なくとも１つ）が、人間による検査を受けて、図９で以下により詳細に説明するとおり、送信者がスパム発信者である、またはスパム発信者ではないという検証および／または確認が容易にされることが可能である、
（ｂ）８３４で、チャレンジが生成され、送信者のアカウントに送信されて、図１０で以下により詳細に説明するとおり、メッセージサービス（例えば、発信メッセージの送信／配信）の使用を継続するためにチャレンジに対する正しく、かつ／または適時の応答が必要とされることが可能である、
（ｃ）８３６で、法的通知および／または警報が送信者に送られ、送信者が、サービスの条件に違反しているか、または違反している可能性があり、法的措置がとられる可能性があることを送信者に知らせることが可能である、かつ／または
（ｄ）８３８で、送信者がスパム発信者であることの十分に高い度合いの確かさが存在する場合、送信者のアカウントが、少なくとも一時的に、必要であれば永久にシャットダウンされることが可能である。
【００９０】
送信者が、メッセージングサービスおよび／または反応プロセス８００による制御を受けるクライアントを使用している場合、以上の措置メッセージ（８３４、８３６、および／または８３８）のいずれか１つが、メッセージ送信時に、（例えば、送信者が発信メッセージを送信しようと試みた際）、例えば、ポップアップとして配信されることが可能である。代替として、ポップアップは、任意の他の適切な時点で配信されて、措置メッセージ、ならびに必要な応答を送信者に気付かせてもよい。
【００９１】
ただし、メッセージングサービスおよび／または反応プロセス８００による制御がない場合、措置メッセージは、送信者の発信メッセージ（例えば、ウィスパ、インスタントメッセージ、チャット、電子メールなど）と同じ、または同様のフォーマットで送信者に配信することができる。つまり、発信メッセージがウィスパタイプのメッセージである場合、措置メッセージは、ウィスパタイプのメッセージとして配信することができる。同様に、発信メッセージがインスタントメッセージである場合、送信者に対する措置メッセージもインスタントメッセージであることが可能である。
【００９２】
送信者は、送信者またはスパム発信者が処置メッセージを読んだことを確認する必要な動作を実行するまで、さらなる発信メッセージの配信が即時に抑止される（例えば、送信機能をシャットダウンする）という通知を受け取ることも可能である。確認は、例えばメッセージに電子署名する、またはリンクをクリックするという形とすることが可能である。実際には、送信者は、送信者が１つまたは複数のサービス条件に違反していることを送信者に知らせる法的通知を読んだことを確認するように求められる可能性がある。通知は、サービス（例えば、少なくとも送信機能）が即時にシャットダウンされるかどうかも示すことが可能である。
【００９３】
メッセージ配信は、送信者が措置メッセージを確認し、かつ／または措置メッセージに応答するまで、少なくとも一時的に停止されることが可能である。代替として、送信者は、措置メッセージを確認するまで、または措置メッセージに応答するまで、最低限の数の発信メッセージを送信することが許されることが可能である。
【００９４】
一部の場合、送信者は、潜在的なスパム発信者として自らにフラグが設定されていることに気付いていないかもしれない。同様に、送信者は、送信者の使用を調査するアクションがとられていること、特に、送信者の発信メッセージの内容が調査されていることに気付いていない可能性がある。送信者に潜在的なスパム発信者としてフラグが設定された場合、メッセージングサービスに用意されている１つのオプションは、疑わしい送信者の発信メッセージの少なくとも一部分をサンプリングして、送信者が実際にスパム発信者であるかどうかを確かめることである。潜在的なスパム発信者に対するこのタイプのアクションを容易にする例示的な方法９００の流れ図を図９に示している。
【００９５】
方法９００は、９１０で、人間が潜在的なスパム発信者の発信メッセージの少なくともサブセットを手動で検査することを含む。人間による検査は、メッセージの内容を検証すること、ならびにアカウントが疑わしいメッセージを送信している理由を明らかにすることができる。例えば、発信メッセージが、各地を巡る（ｔｏｕｒｉｎｇ）美術展覧会に関する情報を要求した数十名または数百名の顧客または支援者を含む配信リストにアドレス指定されているものと想定する。メッセージは、通常、Ｗｅｂサイトでチケット、印刷物などを注文するように受信者を誘導するＵＲＬを含む。このタイプの発信メッセージは、いくつかの理由で、メッセージがスパムである可能性を示す何らかの閾値レベルを超えるだけ十分に高いスコアを付けられる可能性がある。例えば、メッセージが多数の受信者、スパムの特徴であるＵＲＬ、および／または、場合により、スパムにてより一般的に見られるタイプの言い回しを模倣する何らかの広告用語さえ含むものと想定されたい。
【００９６】
したがって、９２０で、人間による検査により、メッセージがスパムであるかどうかを判定することができる。メッセージがスパムではない場合、送信者のアカウントに関連するスコアを９３０でリセットすることができる。さらに、アカウントが疑わしいメッセージを送信する正当な理由が存在する場合、９４０で、潜在的なスパム発信者としてアカウントにフラグを設定するための閾値レベルを高くすることができる。
【００９７】
逆に、９２０で、メッセージがスパムであることが確認された場合、９５０で、以下のアクションの少なくとも１つを行うことができる。すなわち、９５２で、アカウントを即時にシャットダウンすることができ、かつ／または、９５４で、図８に前述したのと同様の仕方で法的通知をアカウントに配信することができる。
【００９８】
一部のスパム発信者は、スコア付けシステムを混乱させるため、または逃れるためにいくつかの正当なメッセージを送信する可能性があるため、アカウント使用を定期的に検証することが役立つ可能性がある。詳細には、メッセージ当たりの何らかの最低費用、理想的には、スパム発信者にはあまりにも高価であるが、通常のユーザには無理のない最低費用が存在することを確実にすることが役立つ。発信メッセージ配信を相当に妨げる、または中断することなくこれを達する１つの手法は、所与の数の発信メッセージおよび／または受信者がカウントされた後に、送信者またはアカウントにチャレンジを送信することに関わる。例えば、アカウントが、３０の発信メッセージまたは３０名の受信者がカウントされるごとに、ＨＩＰ（ヒューマンインタラクティブプルーフ）チャレンジまたは計算チャレンジなどのチャレンジに答えるように要求されることが可能である。代替として、チャレンジは、スパムらしい活動の観察に起因してユーザのアカウントのシャットダウン（例えば、一時的または永久の）が近づいているというサーバからのフィードバックに応答して送信されることも可能である。
【００９９】
ＨＩＰチャレンジは、通常、人間が生成した応答を要求し、他方、計算チャレンジは、ユーザが知ることなく、ユーザのコンピュータによって実行されることが可能である。図１０は、本発明の態様による非スパム発信者アカウント使用の確認を容易にする例示的な方法１０００を示している。方法１０００は、１０１０で、少なくとも１つのチャレンジを送信者または送信者アカウントに送信することを含む。その送信者アカウントからの発信メッセージの配信は、チャレンジに対する正確な応答が受け取られるまで、１０２０で、遅延されるか、または拒否される。１０３０で、チャレンジに対する応答が誤っている場合、アカウントをシャットダウンすること、発信メッセージの一部を手動で検査すること、法的通知を送ること、ならびに解決されてからでないと、アカウントの使用を再開することができない追加のチャレンジを送信することなどの他の懲罰措置をとることが可能である。ただし、１０３０で、応答が満足の行くものである（例えば、チャレンジが正確に解決された）場合、１０４０で、送信者の発信メッセージが配信されることが可能である。さらに、方法１０００は、ユーザを定期的に検査する手段として、Ｐ通のメッセージまたはＰ名の受信者（各受信者が、１つのメッセージとしてカウントされる）がカウントされるごとに（ただし、Ｐは、１以上の整数である）繰り返すことができる。
【０１００】
前述した本発明によれば、以下の擬似コードを使用して本発明の少なくとも１つの態様を実行することができる。変数名は、すべて大文字で示している。ドットを使用してレコードのサブフィールドを示している。例えば、ＳＥＮＤＥＲが送信者の名前であり、ＤＵＲＡＴＩＯＮが、日または月などの期間である場合、ＳＥＮＤＥＲ．ＤＵＲＡＴＩＯＮ．ｆｉｒｓｔｕｐｄａｔｅのような表記を使用して、特定の送信者に関してその期間にわたって保持される受信側（受信者）のリストの最初の更新時刻が示される。
【０１０１】
例示的な擬似コードは、以下のとおりである。
【０１０２】
【表１】
0004694146.tif 000002
【０１０３】
【表２】
0004694146.tif 000003
【０１０４】
【表３】
0004694146.tif 000004
【０１０５】
本発明の様々な態様に関する追加の文脈を提供するため、図１１および以下の説明が、本発明の様々な態様を実施することができる適切な動作環境１１１０の簡単で一般的な説明を提供する。本発明を１つまたは複数のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明するが、本発明は、他のプログラムモジュールと組み合わせて、かつ／またはハードウェアとソフトウェアの組合せとして実施することもできることが、当分野の技術者には認識されよう。
【０１０６】
ただし、一般に、プログラムモジュールには、特定のタスクを実行する、または特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。動作環境１１１０は、適切な動作環境の一例に過ぎず、本発明の用途または機能の範囲について何ら限定を示唆するものではない。本発明で使用するのに適する可能性がある他の周知のコンピュータシステム、コンピュータ環境、および／またはコンピュータ構成には、パーソナルコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【０１０７】
図１１を参照すると、本発明の様々な態様を実施するための例示的な環境１１１０が、コンピュータ１１１２を含んでいる。コンピュータ１１１２は、処理ユニット１１１４、システムメモリ１１１６、およびシステムバス１１１８を含む。システムバス１１１８は、システムメモリ１１１６から処理ユニット１１１４までを含むが、これらに限定されないシステムコンポーネントを結合している。処理ユニット１１１４は、様々な利用可能なプロセッサのいずれかであることが可能である。デュアルマイクロプロセッサアーキテクチャまたは他のマルチプロセッサアーキテクチャも、処理ユニット１１１４として使用することができる。
【０１０８】
システムバス１１１８は、１１ビットバス、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（ＩＳＡ）、マイクロチャネルアーキテクチャ（Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）（ＭＳＡ）、エクステンデッド（Ｅｘｔｅｎｄｅｄ）ＩＳＡ（ＥＩＳＡ）、インテリジェントドライブエレクトロニクス（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、ペリフェラルコンポーネントインターコネクト（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）（ＰＣＩ）、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）（ＵＳＢ）、グラフィック専用高速バス（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）（ＡＧＰ）、ＰＣメモリカード国際協会（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）バス（ＰＣＭＣＩＡ）、および小型コンピュータ周辺機器インターフェース（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）（ＳＣＳＩ）を含むが、以上には限定されない任意の様々な利用可能なバスアーキテクチャを使用するメモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および／またはローカルバスを含め、いくつかのタイプのバス構造のいずれであることも可能である。
【０１０９】
システムメモリ１１１６は、揮発性メモリ１１２０および不揮発性メモリ１１２２を含む。始動中などに、コンピュータ１１１２内部の要素間で情報を転送する基本ルーチンを含む基本入出力システム（ＢＩＯＳ）が、不揮発性メモリ１１２２の中に格納される。例として、限定としてではなく、不揮発性メモリ１１２２には、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュメモリが含まれることが可能である。揮発性メモリ１１２０には、外部キャッシュメモリとして作用するランダムアクセスメモリ（ＲＡＭ）が含まれる。例として、限定としてではなく、ＲＡＭは、シンクロナス（ｓｙｎｃｈｒｏｎｏｕｓ）ＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレート（ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ）ＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンク（Ｓｙｎｃｈｌｉｎｋ）ＤＲＡＭ（ＳＬＤＲＡＭ）、およびダイレクトラムバス（ｄｉｒｅｃｔ  Ｒａｍｂｕｓ）ＲＡＭ（ＤＲＲＡＭ）などの多くの形態で利用可能である。
【０１１０】
コンピュータ１１１２は、リムーバブルな／リムーバブルでない揮発性／不揮発性のコンピュータ記憶メディアも含む。図１１は、例えば、ディスクストレージ１１２４を示している。ディスクストレージ１１２４には、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、またはメモリスティックが含まれるが、以上には限定されない。さらに、ディスクストレージ１１２４は、コンパクトディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ｒｅｃｏｒｄａｂｌｅ）ドライブ（ＣＤ−Ｒドライブ）、ＣＤリライタブル（ｒｅｗｒｉｔａｂｌｅ）ドライブ（ＣＤ−ＲＷドライブ）、またはデジタル多用途ディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）ＲＯＭドライブ（ＤＶＤ−ＲＯＭ）が含まれるが、以上には限定されない他の記憶メディアと別個に、または組合せで記憶メディアを含むことが可能である。ディスク記憶装置１１２４からシステムバス１１１８への接続を容易にするため、インターフェース１１２６のような取り外し可能なインターフェースまたは取り外し可能でないインターフェースが、通常、使用される。
【０１１１】
図１１は、ユーザと適切な動作環境１１１０に描いた基本的なコンピュータリソースの間で仲介役として作用するソフトウェアを描いていることを理解されたい。そのようなソフトウェアには、オペレーティングシステム１１２８が含まれる。ディスクストレージ１１２４上に格納することが可能なオペレーティングシステム１１２８は、コンピュータシステム１１１２のリソースを制御し、割り振るように動作する。システムアプリケーション１１３０は、システムメモリ１１１６の中か、またはディスクストレージ１１２４上に格納されたプログラムモジュール１１３２およびプログラムデータ１１３４を介して、オペレーティングシステム１１２８によるリソースの管理を利用する。本発明は、様々なオペレーティングシステム、またはオペレーティングシステムの組合せを使用して実施することができることを理解されたい。
【０１１２】
ユーザは、入力デバイス１１３６を介してコマンドまたは情報をコンピュータ１１１２に入力する。入力デバイス１１３６には、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、Ｗｅｂカメラなどが含まれるが、以上には限定されない。これらの入力デバイスおよびその他の入力デバイスは、インターフェースポート１１３８を介してシステムバス１１１８を経由して処理ユニット１１１４に接続される。インターフェースポート１１３８には、例えば、シリアルポート、パラレルポート、ゲームポート、およびユニバーサルシリアルバス（ＵＳＢ）が含まれる。出力デバイス１１４０は、入力デバイス１１３６と同じタイプのポートのいくつかを使用する。したがって、例えば、ＵＳＢポートを使用して、入力をコンピュータ１１１２に提供し、コンピュータ１１１２から出力デバイス１１４０に情報を出力することができる。特別なアダプタを必要とする他の出力デバイス１１４０には、モニタ、スピーカ、およびプリンタのようないくつかの出力デバイス１１４０が存在することを例示するため、出力アダプタ１１４２が設けられている。出力アダプタ１１４２には、例として、限定としてではなく、出力デバイス１１４０とシステムバス１１１８の間の接続手段を提供するビデオカードおよびサウンドカードが含まれる。リモートコンピュータ１１４４のような他のデバイス、および／またはデバイスのシステムは、入力機能と出力機能をともに提供することに留意されたい。
【０１１３】
コンピュータ１１１２は、リモートコンピュータ１１４４のような１つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境において動作することができる。リモートコンピュータ１１４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースの機器、ピアデバイス、またはその他の一般的なネットワークノードなどであることが可能であり、通常、コンピュータ１１１２に関連して説明した要素の多くまたはすべてを含む。簡明にするため、メモリ記憶装置１１４６だけをリモートコンピュータ１１４４に関して示している。リモートコンピュータ１１４４は、ネットワークインターフェース１１４８を介してコンピュータ１１１２に論理接続され、通信接続１１５０を介して物理接続される。ネットワークインターフェース１１４８は、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）などの通信ネットワークを包含する。ＬＡＮ技術には、ファイバディストリビューテッドデータインターフェース（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）（ＦＤＤＩ）、コッパーディストリビューテッドデータインターフェース（Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）（ＣＤＤＩ）、イーサネット（登録商標）／ＩＥＥＥ１１０２．３、トークンリング／ＩＥＥＥ１１０２．５などが含まれる。ＷＡＮ技術には、ポイントツーポイントリンク、総合サービスデジタル通信網（ＩＳＤＮ）のような回線交換網およびその変形、パケット交換網、およびデジタル加入者線（ＤＳＬ）が含まれるが、以上には限定されない。
【０１１４】
通信接続１１５０は、ネットワークインターフェース１１４８をバス１１１８に接続するのに使用されるハードウェア／ソフトウェアを指す。通信接続１１５０は、図を明瞭にするためにコンピュータ１１１２内部に示しているが、コンピュータ１１１２の外部に存在することも可能である。ネットワークインターフェース１１４８に接続するために必要なハードウェア／ソフトウェアには、単に例として、通常の電話等級の（ｔｅｌｅｐｈｏｎｅ  ｇｒａｄｅ）モデム、ケーブルモデム、およびＤＳＬモデムを含むモデム、ＩＳＤＮアダプタ、ならびにイーサネット（登録商標）カードなどの内部技術および外部技術が含まれる。
【０１１５】
以上の説明は、本発明の例を含む。もちろん、本発明を説明するためにコンポーネントまたは方法の考えられるすべての組合せを説明することは不可能であるが、本発明のさらなる多くの組合せおよび置き換えが可能であることを当分野の技術者は認識することができよう。したがって、本発明は、特許請求の範囲の趣旨および範囲に含まれるすべてのそのような代替形態、修正形態、および変形形態を包含するものとする。さらに、「含む（ｉｎｃｌｕｄｅｓ）」という用語を詳細な説明または特許請求の範囲において使用する限りで、この用語は、特許請求の範囲において使用される場合に移行語（ｔｒａｎｓｉｔｉｏｎａｌ  ｗｏｒｄ）として解釈される「備える、含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語と同様に包括的であるものとする。
【図面の簡単な説明】
【０１１６】
【図１】本発明の態様による発信されるスパムを防止することを容易にするシステムを示す一般的なブロック図である。
【図２】本発明の態様による発信メッセージを監視することによって潜在的なスパム発信者の特定を容易にするシステムを示すブロック図である。
【図３】本発明の態様による発信されるスパムを特定し、防止することを容易にする例示的な方法を示す流れ図である。
【図４】本発明の態様による発信されるスパムを特定し、防止することを容易にする例示的な方法を示す流れ図である。
【図５】本発明の態様による潜在的なスパム発信者を特定することを容易にする例示的な方法を示す流れ図である。
【図６】本発明の態様による潜在的なスパム発信者を特定することを容易にする例示的な方法を示す流れ図である。
【図７】本発明の態様による潜在的なスパム発信者を特定することを容易にする例示的な方法を示す流れ図である。
【図８】本発明の態様による潜在的なスパム発信者に対してアクションをとることを容易にする例示的な方法を示す流れ図である。
【図９】本発明の態様による潜在的なスパム発信者を検証することを容易にする例示的な方法を示す流れ図である。
【図１０】本発明の態様による潜在的なスパム発信者を検証することを容易にする例示的な方法を示す流れ図である。
【図１１】本発明による例示的な通信環境を示す概略ブロック図である。
【符号の説明】
【０１１７】
１１１４  処理ユニット
１１１６  システムメモリ
１１１８  バス
１１２０  揮発性
１１２２  不揮発性
１１２４  ディスクストレージ
１１２６  インターフェース
１１２８  オペレーティングシステム
１１３０  アプリケーション
１１３２  モジュール
１１３４  データ
１１３６  入力デバイス
１１３８  インターフェースポート（群）
１１４０  出力デバイス
１１４２  出力アダプタ
１１４４  リモートコンピュータ（群）
１１４６  メモリストレージ
１１４８  ネットワークインターフェース
１１５０  通信接続
【図１】
0004694146.tif 000005
【図２】
0004694146.tif 000006
【図３】
0004694146.tif 000007
【図４】
0004694146.tif 000008
【図５】
0004694146.tif 000009
【図６】
0004694146.tif 000010
【図７】
0004694146.tif 000011
【図８】
0004694146.tif 000012
【図９】
0004694146.tif 000013
【図１０】
0004694146.tif 000014
【図１１】
0004694146.tif 000015