(57)【特許請求の範囲】
【請求項１】
複数の電子メッセージ分類ルールを含む、１つまたは複数のプロセッサーおよびシステムメモリーを備えたコンピューターシステムにおいて、電子メッセージを分類するために使用するルールを適合的に選択する方法であって、
１つまたは複数の電子メッセージを受信するステップと、
前記１つまたは複数の電子メッセージごとに、前記電子メッセージが特定のメッセージ特性を有する可能性を示す結果を、過去に選択した電子メッセージ分類ルールのサブセットにおける各電子メッセージ分類ルールを適用することによって計算するステップと、
各電子メッセージ分類ルールを前記１つまたは複数の電子メッセージの各々に適用するために消費されるリソース量を示すリソースコストを測定するステップと、
前記過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、前記電子メッセージ分類ルールに対する前記計算結果および前記測定したリソースコストから効率性測定基準を合成するステップであって、前記効率性測定基準は電子メッセージを分類する効率性を定める測定基準である、ステップと、
前記合成した効率性測定基準を、前記複数の電子メッセージ分類ルールに含まれる電子メッセージ分類ルールに対する既存の効率性測定基準と比較するステップと、
前記合成した効率性測定基準を既存の効率性測定基準と比較した結果に少なくとも部分的に基づいて、後に受信する電子メッセージを分類する際に使用するための新たな電子メッセージ分類ルールのサブセットを、前記複数の電子メッセージ分類ルールから選択するステップと
を備えることを特徴とする方法。
【請求項２】
新たな電子メッセージ分類ルールのサブセットを選択する前記ステップは、サービスレベルアグリーメント（ＳＬＡ）に従って新たな電子メッセージ分類ルールのサブセットを選択するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
新たな電子メッセージ分類ルールのサブセットを選択する前記ステップは、前記合成した効率性測定基準に基づいて前記複数の電子メッセージ分類ルールを順序変更するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
１つまたは複数の電子メッセージを受信する前記ステップは、１つまたは複数の電子メールメッセージを受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
１つまたは複数の電子メッセージを受信する前記ステップは、１つまたは複数のショートメッセージサービス（ＳＭＳ）メッセージを受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
１つまたは複数の電子メッセージを受信する前記ステップは、１つまたは複数のファイルを受信するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記複数の電子メッセージ分類ルールは、電子メッセージをＳＰＡＭまたは正当として分類するために使用されることを特徴とする請求項１に記載の方法。
【請求項８】
前記複数の電子メッセージ分類ルールは、電子メッセージを、マルウェアを含むかまたはマルウェアを含まないとして分類するために使用されることを特徴とする請求項１に記載の方法。
【請求項９】
前記複数の電子メッセージ分類ルールは、電子メッセージを、極秘デジタル情報を含むかまたは極秘デジタル情報を含まないとして分類するために使用されることを特徴とする請求項１に記載の方法。
【請求項１０】
複数の電子メッセージ分類ルールを含む、１つまたは複数のプロセッサーおよびシステムメモリーを備えたコンピューターシステムにおいて、電子メッセージを分類するために使用するルールを適合的に選択する方法であって、
１つまたは複数の電子メッセージを受信するステップと、
前記１つまたは複数の電子メッセージごとに、
過去に選択した電子メッセージ分類ルールのサブセットにおける各電子メッセージ分類ルールを、前記電子メッセージに適用するステップであって、前記過去に選択した電子メッセージ分類ルールのサブセットは、前記複数の電子メッセージ分類ルールのサブセットである、ステップと、
前記過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、
前記電子メッセージ分類ルールにより、前記電子メッセージが特定のメッセージ特性を有する可能性を示す結果を計算するステップと、
前記電子メッセージ分類ルールを前記電子メッセージに適用するために消費されるリソース量を示すリソースコストを測定するステップと、
各電子メッセージ分類ルールを各電子メッセージに適用することに関連する前記計算結果および前記測定したリソースコストを保持するステップと、
前記過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、前記電子メッセージ分類ルールに対して、保持した前記計算結果および前記測定したリソースコストから効率性測定基準を合成するステップであって、前記効率性測定基準は電子メッセージを分類する効率性を定める測定基準である、ステップと、
前記合成した効率性測定基準を、前記複数の電子メッセージ分類ルールに含まれる電子メッセージ分類ルールに対する既存の効率性測定基準と比較するステップと、
前記合成した効率性測定基準を既存の効率性測定基準と比較した結果に少なくとも部分的に基づいて、後に受信する電子メッセージを分類する際に使用するための新たな電子メッセージ分類ルールのサブセットを、前記複数の電子メッセージ分類ルールの中から選択するステップと
を備えることを特徴とする方法。
【請求項１１】
前記過去に選択した電子メッセージ分類ルールのサブセットにおける各電子メッセージ分類ルールを適用する前に、前記既存の効率性測定基準に基づいて前記選択した電子メッセージ分類ルールのサブセットを選択するステップをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
少なくとも１つの電子メッセージ分類ルールを電子メッセージに適用することに関する外部フィードバックを受信するステップと、
前記外部フィードバックを、前記少なくとも１つの電子メッセージ分類ルールを前記電子メッセージに適用したことからの前記計算結果に取り込むステップと
をさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記受信した外部フィードバックは、前記少なくとも１つの電子メッセージ分類ルールを前記電子メッセージに適用したことからの前記計算結果が検出漏れまたは誤検出のうち１つであることを示すことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記外部フィードバックを取り込んだ前記計算結果に基づいて前記少なくとも１つの電子メッセージ分類ルールに対する有効性スコアを更新するステップをさらに備え、前記有効性スコアは、どのくらいの可能性で、ある電子メッセージが特定のメッセージ特性を有すると正確に識別されるかを示すことを特徴とする請求項１２に記載の方法。
【請求項１５】
新たな電子メッセージ分類ルールのサブセットを選択する前記ステップは、サービスレベルアグリーメント（ＳＬＡ）に従って新たな電子メッセージ分類ルールのサブセットを選択するステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
新たな電子メッセージ分類ルールのサブセットを選択する前記ステップは、前記合成した効率性測定基準に基づいて前記複数の電子メッセージ分類ルールを順序変更するステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１７】
ＳＰＡＭ検出ルールを適合的に選択するためのシステムであって、
１つまたは複数のプロセッサーと、
システムメモリーと、
複数のＳＰＡＭ検出ルールを格納し、メッセージ分類器ならびにルール選択および順序変更モジュールを表す実行可能命令を格納した、１つまたは複数のコンピューター記憶媒体と
を備え、
前記メッセージ分類器は、
１つまたは複数の電子メールメッセージを受信し、
前記１つまたは複数の電子メールメッセージごとに、過去に選択したＳＰＡＭ検出ルールのサブセットにおける各ＳＰＡＭ検出ルールを前記電子メールメッセージに適用し、前記過去に選択したＳＰＡＭ検出ルールのサブセットは前記複数のＳＰＡＭ検出ルールのサブセットであり、
前記過去に選択したＳＰＡＭ検出ルールのサブセットにおけるＳＰＡＭ検出ルールごとに、
前記電子メールメッセージがＳＰＡＭである可能性を示す結果を計算し、
前記ＳＰＡＭ検出ルールを前記１つまたは複数の電子メールメッセージの各々に適用するために消費されるリソース量を示すリソースコストを測定し、
前記ＳＰＡＭ検出ルールに対する前記計算結果および前記測定されたリソースコストから効率性測定基準を合成し、前記効率性測定基準は、前記計算結果と前記測定したリソースコストとの商に基づき、電子メールメッセージをＳＰＡＭとして分類する効率性を定める測定基準である
ように構成され、
前記ルール選択および順序変更モジュールは、
前記合成した効率性測定基準を、前記複数のＳＰＡＭ検出ルールに含まれるＳＰＡＭ検出ルールに対する既存の効率性測定基準と比較し、
前記合成した効率性測定基準を既存の効率性測定基準と比較した結果に少なくとも部分的に基づいて、後に受信する電子メールメッセージを分類する際に使用するための新たなＳＰＡＭ検出ルールのサブセットを選択する
ように構成されたことを特徴とするシステム。
【請求項１８】
新たなＳＰＡＭ検出ルールのサブセットを選択するように構成された前記ルール選択および順序変更モジュールは、サービスレベルアグリーメント（ＳＬＡ）に従って新たなＳＰＡＭ検出ルールのサブセットを選択するように構成されたルール選択および順序変更モジュールを含むことを特徴とする請求項１７に記載のシステム。
【請求項１９】
新たなＳＰＡＭ検出ルールのサブセットを選択するように構成された前記ルール選択および順序変更モジュールは、前記合成した効率性測定基準に基づいて前記複数のＳＰＡＭ検出ルールを順序変更するように構成されたルール選択および順序変更モジュールを含むことを特徴とする請求項１７に記載のシステム。
【請求項２０】
１つまたは複数の電子メールメッセージを受信するように構成された前記メッセージ分類器は、インターネットから電子メールメッセージを受信するように構成されたメッセージ分類器を含むことを特徴とする請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子メッセージのスキャニングルールを適合的に選択するための方法、システム、およびコンピュータープログラム製品に関する。
【背景技術】
【０００２】
コンピューターシステムおよびその関連技術は、社会の多くの側面に影響を及ぼしている。実際、コンピューターシステムの情報を処理する能力は、我々の生活および仕事の方法を変えてきた。コンピューターシステムの出現前は手動で行っていた大量の作業（例えば、文書処理、スケジューリング、会計、等）を、今やコンピューターシステムが一般に実行している。最近では、コンピューターシステムは互いにおよびその他の電子デバイスに結合されて、有線および無線のコンピューターネットワークを形成し、当該コンピューターシステムおよびその他の電子デバイスは、当該コンピューターネットワーク上で電子データを転送することができる。したがって、多くのコンピューティングタスクの性能が、幾つかの異なるコンピューターシステムおよび／または幾つかの異なるコンピューティング環境に分散される。
【０００３】
多くのコンピューティング環境では、例えば電子メールメッセージのような電子メッセージが、コンピューターシステムのユーザー間で正当に情報を交換するために使用される。しかし、これらのコンピューティング環境により、ユーザーは、未承諾および／または無用の電子メッセージにさらされる。これらの電子メッセージはＳＰＡＭと呼ばれることが多い。多種多様な技術がＳＰＡＭをスキャンしブロックするために開発されてきた。
【０００４】
ＳＰＡＭスキャニング技術は一般に、１組の測定基準を乗り越えなければならない。当該測定基準は、有効性、正確性、効率性、および待ち時間を含む。有効性は、どの程度ＳＰＡＭを識別し食い止めることができるかに関する。正確性は、どの程度正当なメッセージがＳＰＡＭとして誤って識別されるかに関する（例えば、誤検出率）。効率性は、メッセージをＳＰＡＭまたは正当なものとして識別することに関連するリソース消費に関する。待ち時間は、スキャニングの結果として個々のメッセージがどれだけの時間、送信中に遅延したことに関する。
【０００５】
これらの測定基準の間のバランスを取ることは比較的複雑な作業でありうる。なぜならば、ある領域で改善すると一般に、１つまたは複数のその他の領域で劣化することとなるからである。例えば、より積極的にアンチＳＰＡＭ検出を行う（有効性の増大）と、誤検出が増大し（正確性が減少）、かつ／またはより複雑な処理アルゴリズムに起因するＣＰＵ負荷の増大（リソース消費の増大）につながる可能性がある。
【０００６】
さらに、これらの測定基準の何らかの組合せは、サービスプロバイダーがサポートしているサービスレベルアグリーメント（ＳＬＡ）に対応付けられる場合がある。例えば、アンチＳＰＡＭサービスプロバイダーは、Ｘを下回らない有効性、Ｙを下回らない正確性、等のサポートに同意することができる。ＳＬＡの条項を遵守しないと、例えば、幾分かの時間だけ有効性をＸ未満にすると、アンチＳＰＡＭサービスプロバイダーは顧客に幾らか返金することになるかもしれない。
【０００７】
しかし、同時に、アンチＳＰＡＭサービスは一般に、高いシステム負荷変動を被る。例えば、週末の任意の所与の日を通して、および季節的に、ＳＰＡＭの量および／または正当な電子メッセージの量が変動しうる。残念なことに、この結果、サービスプロバイダーが過剰供給することになりうる。例えば、一般的なデザインパターンは、ピーク負荷時間でのＳＬＡを保証するのに十分な電力でスキャニングサービスを構築することである。当該ピーク負荷時間は、平均負荷の３倍乃至５倍であることもある。
【０００８】
実際には、ピーク負荷に対して設計した結果、大部分の時間でリソースが十分に（潜在的には大幅に）活用されないことになる。スキャニングは一般に、もしあれば利用可能なリソースを限定的に考慮した、固定の段階数および／または固定のスキャニングルール数の使用を含む。このように、非ピーク時間では、リソースが別のスキャニングに利用可能であっても、固定の段階数および／またはルールを使用してメッセージをスキャンする。したがって、ピーク負荷に対して設計することは、売上原価の観点からは望ましくないが、それでもＳＬＡには要求される。
【０００９】
さらに、例えば、通常の顧客、プレミアム顧客、低コスト顧客等の、各々がそのＳＬＡで定義された様々な測定基準を有する多種多様なサービスレベルをサポートするときは、複雑な事態が生じうる。プレミアムサービスの提供は、サービスプロバイダー側でより多くの計算リソース／プロセッサーリソースを要求される高いサービスレベル（例えば、高い正確性、少ない待ち時間、等）を保証するＳＬＡを伴うことが多い。
【００１０】
様々なサービスレベルを扱うための１つのデザインパターンは、全てのサービスレベルに対して１つの共通のアンチＳＰＡＭサービスを使用することである。各サービスレベルは、多数のルール、および／または要求されたＳＬＡに基づいてメッセージが通る処理段階に限定される。例えば、プレミアム顧客の電子メールは１０個の処理段階を通り、基本顧客の電子メールは５個の処理段階しか通らないかもしれない。基本顧客にサービス提供するコストは、リソースが別のスキャニングに対して利用可能であるときでも、低品質なスキャニング（例えば、低い有効性）という犠牲のもとに低くなっている。低品質のスキャニングに加えて、基本顧客は、基本顧客に提供された保護レベルの脆弱性（システムの予測可能性）を利用することによる標的型攻撃に対してより脆弱である。
【００１１】
別の一般的なパターンは、一方はプレミアム顧客向けであり、もう一方は基本顧客向けである、２つの別のシステムを構築することである。各システムは、顧客のタイプに応じてサービス品質およびサービスコストのバランスを取るように設計される。残念なことに、このタイプのシステムはインフラを二重化し、より高い全体コスト、ならびに、ピーク負荷時のＳＬＡを満たすために過剰供給するという一般的な問題につながる。
【発明の概要】
【００１２】
本発明は、電子メッセージのスキャニングルールを適合的に選択するための方法、システム、およびコンピュータープログラム製品に関する。幾つかの実施形態では、電子メッセージを分類するのに使用するルールを適合的に選択する。１つまたは複数の電子メッセージを受信する。１つまたは複数の電子メッセージごとに、過去に選択した電子メッセージ分類ルールのサブセットにおける各メッセージ分類ルールを当該電子メッセージに適用する。当該過去に選択した電子メッセージ分類ルールのサブセットは、複数の利用可能な電子メッセージ分類ルールのサブセットである。
【００１３】
過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、電子メッセージが特定のメッセージ特性を有する可能性を示す結果を計算する。電子メッセージ分類ルールを電子メッセージに適用するために消費されるリソース量を示すリソースコストを計算する。各電子メッセージ分類ルールを各電子メッセージに適用することに関連する計算結果および測定したリソースコストを保持する。
【００１４】
過去に選択した電子メッセージ分類ルールのサブセットにおけるメッセージ分類ルールごとに、メッセージ分類ルールに対して保持した計算結果および測定したリソースコストから効率性測定基準を合成する。合成した効率性測定基準を、複数の利用可能な電子メッセージ分類ルールに含まれる電子メッセージ分類ルールに対する既存の効率性測定基準と比較する。複数の利用可能な電子メッセージ分類ルールの中から、合成した効率性測定基準を既存の効率性測定基準と比較した結果に少なくとも部分的に基づいて、新たな電子メッセージ分類ルールのサブセットを選択する。当該新たな電子メッセージ分類ルールのサブセットは、後に受信する電子メッセージの分類に使用される。したがって、メッセージ分類ルールを、メッセージのコンテンツパターンの変更に適合するように交換して使用することができる。
【００１５】
本概要は、選択した概念を簡潔な形式で導入するために提供されたものである。その概念は、下記の発明を実施するための形態においてさらに説明する。この発明の概要は、特許請求する主題の主要な特徴または本質的な特徴を特定することを意図するものではなく、特許請求する主題の範囲の判定を支援するものとして使用することを意図するものでもない。
【００１６】
本発明のさらなる特徴および利点は、下記の記載において説明され、下記の記載から部分的に明らかになり、または、本発明を実施することで習得することができる。本発明の特徴および利点は、添付の特許請求の範囲で特に指摘した手段および組合せにより実現および取得することができる。本発明のこれらおよび他の特徴は、下記の記載および添付の特許請求の範囲からより完全に明らかになり、または、以降で説明する本発明の実施により習得することができる。
【図面の簡単な説明】
【００１７】
本発明の上述のおよびその他の利点および特徴を取得することができる方法を説明するために、添付図面で示したその具体的な実施形態を参照することにより、上記簡潔に説明した本発明のより具体的な記載を示す。これらの図面は本発明の典型的な実施形態を示すにすぎず、したがってその範囲を限定するものとはみなすべきではないことを理解して、本発明を、添付図面を使用してさらに具体的かつ詳細に記載および説明する。
【図１】電子メッセージを適合的に分類することを容易にする例示的なコンピューターアーキテクチャーを示す図である。
【図２】電子メッセージを分類するために使用するルールを適合的に選択することを容易にする例示的なコンピューターアーキテクチャーを示す図である。
【図３】電子メッセージを適合的に分類するための例示的な方法のフローチャートを示す。
【図４】電子メッセージを分類するために使用するルールを適合的に選択するための例示的な方法のフローチャートを示す。
【図５】適合的な電子メッセージのスキャンおよび電子メッセージを分類するために使用するルールを適合的に選択することを容易にする、別の例示的なコンピューターアーキテクチャーを示す図である。
【発明を実施するための形態】
【００１８】
本発明は、電子メッセージのスキャニングルールを適合的に選択するための方法、システム、およびコンピュータープログラム製品に関する。幾つかの実施形態では、電子メッセージを分類するのに使用するルールを適合的に選択する。１つまたは複数の電子メッセージを受信する。１つまたは複数の電子メッセージごとに、過去に選択した電子メッセージ分類ルールのサブセットにおける各メッセージ分類ルールを当該電子メッセージに適用する。当該過去に選択した電子メッセージ分類ルールのサブセットは、複数の利用可能な電子メッセージ分類ルールのサブセットである。
【００１９】
過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、電子メッセージが特定のメッセージ特性を有する可能性を示す結果を計算する。電子メッセージ分類ルールを電子メッセージに適用するために消費されるリソース量を示すリソースコストを計算する。各電子メッセージ分類ルールを各電子メッセージに適用することに関連する計算結果および測定したリソースコストを保持する。
【００２０】
過去に選択した電子メッセージ分類ルールのサブセットにおけるメッセージ分類ルールごとに、メッセージ分類ルールに対して保持した計算結果および測定したリソースコストから効率性測定基準を合成する。合成した効率性測定基準を、複数の利用可能な電子メッセージ分類ルールに含まれる電子メッセージ分類ルールに対する既存の効率性測定基準と比較する。複数の利用可能な電子メッセージ分類ルールの中から、合成した効率性測定基準を既存の効率性測定基準と比較した結果に少なくとも部分的に基づいて、新たな電子メッセージ分類ルールのサブセットを選択する。当該新たな電子メッセージ分類ルールのサブセットは、後に受信する電子メッセージの分類に使用される。したがって、メッセージ分類ルールを、メッセージのコンテンツパターンの変更に適合するようにサービスに取り入れ、サービスから取り出すことができる。
【００２１】
他の実施形態では、電子メッセージを適合的に分類する。送信者から受信者へ送信された電子メッセージを、特定の時刻で受信する。受信した電子メッセージに適用可能なサービスレベルを、送信者および受信者のうち１つまたは複数に基づいて識別する。
【００２２】
サービスレベルは、電子メッセージのスキャニングに対して、少なくとも最小有効性値および１組の最大コスト値を定義する。最小有効性値は、メッセージ分類ルールの組合せが当該サービスレベルを満すために有すべき最小累計有効性を表す。１組の最大コスト値における各最大コスト値は、異なる指定期間に対応し、メッセージ分類ルールを電子メッセージに適用するために使用することができる総リソース量を表す。選択した最大コスト値に対する指定期間内の特定の時間に基づいて、受信した電子メッセージをスキャニングするときに使用するための最大コスト値を、１組の最大コスト値の中から選択する。
【００２３】
１つまたは複数のメッセージ分類ルールを、受信した電子メッセージに適用する。各メッセージ分類ルールは、測定した有効性、測定したリソースコスト、および当該測定したリソースコストを考慮して当該測定した有効性に基づいて計算した効率性を有する。当該測定した有効性は、特定のメッセージ特性を有する電子メッセージを適切に識別する確率を表す。当該１つまたは複数のメッセージ分類ルールを、サービスレベルで定義した最小累計有効性に達するまで、効率性の順に適用する。
【００２４】
各メッセージ分類ルールを電子メッセージに適用して、電子メッセージが特定のメッセージ特性を有する可能性を示す結果を生成する。適用したメッセージ分類ルールに対する測定したリソースコストを、累積消費リソース量に追加する。累積消費リソース量は、１つまたは複数のメッセージ分類ルール内の過去に適用したメッセージ分類ルールから測定したリソースコストを総和することにより計算する。
【００２５】
累積消費リソース量が選択した最大コスト値より小さいかどうかを判定する。当該判定に基づいて、追加のメッセージ分類ルールを電子メッセージに適用する。消費リソース量が、選択した最大コスト値より小さい場合は、さらに電子メッセージ分類ルールを受信した電子メッセージに適用し、その結果サービスレベルで定義したものを上回る有効性がもたらされる。消費リソース量が、選択した最大コスト値に少なくとも等しい場合は、電子メッセージルールを別の異なる電子メッセージに適用する。
【００２６】
本発明の実施形態が、下記でさらに詳細に論ずるように、例えば１つまたは複数のプロセッサーおよびシステムメモリーのようなコンピューターハードウェアを含む専用または汎用コンピューターを備えるかまたは利用してもよい。本発明の範囲内の実施形態はまた、コンピューター実行可能命令および／またはデータ構造を運搬または格納するための物理コンピューター読取可能媒体およびその他のコンピューター読取可能媒体を含む。かかるコンピューター読取可能媒体は、専用または汎用コンピューターシステムによりアクセスできる任意の利用可能な媒体であることができる。コンピューター実行可能命令を格納するコンピューター読取可能媒体は、物理記憶媒体である。コンピューター実行可能命令を運搬するコンピューター読取可能媒体は、伝送媒体である。このように、限定ではなく例として、本発明の実施形態が少なくとも２つの明らかに相違なる種類のコンピューター読取可能媒体、即ち、コンピューター記憶媒体（デバイス）および伝送媒体を備えることができる。
【００２７】
コンピューター記憶媒体（デバイス）は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくはその他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または、所望のプログラムコード手段をコンピューター実行可能命令もしくはデータ構造の形式で格納するために使用することができ、汎用もしくは専用コンピューターによりアクセスすることができる任意のその他の媒体を含む。
【００２８】
「ネットワーク」は、電子データをコンピューターシステムおよび／またはモジュールおよび／またはその他の電子デバイスの間で伝送できるようにする１つまたは複数のデータリンクとして定義される。情報がネットワークまたはその他の通信接続（有線、無線の何れか、または有線もしくは無線の組合せ）を介してコンピューターに転送または提供されるとき、当該コンピューターは当該接続を適切に伝送媒体とみなす。伝送媒体は、所望のプログラムコード手段を、コンピューター実行可能命令もしくはデータ構造の形式で運搬するために使用することができ、汎用もしくは専用コンピューターによりアクセスすることができるネットワークおよび／またはデータリンクを含むことができる。上記の組合せも、コンピューター読取可能媒体の範囲に含まれるべきである。
【００２９】
さらに、様々なコンピューターシステムコンポーネントに達すると、コンピューター実行可能命令またはデータ構造の形式のプログラムコード手段を、伝送媒体からコンピューター記憶媒体（デバイス）に自動転送することができる（逆も可能）。例えば、ネットワークまたはデータリンク上で受信したコンピューター実行可能命令またはデータ構造をネットワークインタフェースモジュール（例えば、「ＮＩＣ」）内部のＲＡＭにバッファリングして、最終的にコンピューターシステムのＲＡＭへおよび／またはコンピューターシステム側の揮発性の低いコンピューター記憶媒体に転送することができる。このように、コンピューター記憶媒体（デバイス）を、さらに（または主に）伝送媒体を利用するコンピューターシステムコンポーネントに含めることができることを理解されよう。
【００３０】
コンピューター実行可能命令は、例えば、プロセッサーで実行されると汎用コンピューター、専用コンピューター、または専用処理装置に一定の機能または機能群を実行させる命令およびデータを含む。コンピューター実行可能命令は、例えば、バイナリー、アセンブリー言語のような中間形式命令、またはソースコードであってもよい。本発明の主題を構造的特徴および／または方法論的動作に固有な言葉で説明したが、添付の特許請求の範囲で定義した本発明の主題は上述の特徴または上述の動作に必ずしも限定されないことは理解されよう。むしろ、当該上述の特徴および動作は特許請求の範囲の記載を実装するための例示的な形態として開示されている。
【００３１】
本発明を、多種のコンピューターシステム構成を有するネットワークコンピューティング環境で実施してもよいことは当業者には理解されよう。当該コンピューターシステム構成は、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサー、ハンドヘルドデバイス、マルチプロセッサーシステム、マイクロプロセッサーベースまたはプログラミング可能な家庭用電化製品、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、移動電話、ＰＤＡ、ページャー、ルーター、およびスイッチ等を含む。本発明を分散システム環境で実施してもよく、当該環境ではローカルおよびリモートのコンピューターシステムが、ネットワーク上で（有線データリンク、無線データリンクの何れかにより、または有線および無線のデータリンクの組合せにより）接続され、双方ともタスクを実行する。分散システム環境では、プログラムモジュールをローカルおよびリモートのメモリー記憶装置の両方に配置してもよい。
【００３２】
一般に、本発明の実施形態は、動的に（かつ潜在的には予測不能に）電子メッセージの分類の深度／綿密性を変化させて、不要なメッセージコンテンツ（例えば、ＳＰＡＭ、ウィルス、デジタル漏洩（digital leakage）、等）に対して保護することに関する。最小有効性を維持し、利用可能なリソースが許すときは、当該最小有効性を超えて保護を強化することができる。利用可能なメッセージ分類ルールの最適なサブセットをメッセージ毎に選択することができる。このルールの選択は、利用可能なシステムリソース、（例えば、サービスレベルアグリーメント（ＳＬＡ）で定義される）最小希望有効性、およびルール特性に基づく。フィードバックループを使用して、分類ルールのサブセットを最適化することができる。
【００３３】
このように、本明細書およびそれに続く特許請求の範囲においては、「メッセージ分類」は、電子メッセージ（例えば、電子メールメッセージ、ショートメッセージサービス（ＳＭＳ）メッセージ、ファイル等）を、例えばコンテンツメッセージサイズ、添付ファイル、企業対消費者の領域、発信地、送信者、受信者、時刻、および日付等のメッセージ（またはファイル）の特性に基づいて様々な「クラス」に分類することを含む。
【００３４】
幾つかの実施形態では、電子メッセージを、当該電子メッセージに対応する（例えば、ＳＬＡに従う）サービスレベルを判定するために分類する。サービスレベルは、メッセージ分類ルールを電子メッセージにさらに適用することを定義する。サービスレベルは、どの種類のメッセージ分類ルールおよびどれだけ多くの他のメッセージ分類ルールを電子メッセージに適用すべきかを定義することができる。例えば、或る国においてメッセージを分類するのに非常に有効な分類ルールは、別の国においてはメッセージを分類するにはあまり有効でないかもしれず、逆もそうである。
【００３５】
幾つかの実施形態は、さらに別の分類が、電子メッセージが無用および未承諾の電子メッセージ（例えば、ＳＰＡＭ）であるか否か、電子メッセージがマルウェア（malware）を含むか、または感染しているおよび／もしくは危険であるか否か（例えば、ウィルス、スパイウェア、およびトロイの木馬等）、極秘情報が電子メッセージで漏洩しているか否か等を判定することに関する。例えば、ＤＬＰ（digital leakage prevention）システムは、電子メッセージが極秘情報を含むか否かを判定するためのルールを使用することができる。
【００３６】
図１は、電子メッセージを適合的に分類することを容易にする例示的なコンピューターアーキテクチャー１００を示す。図１を参照すると、コンピューターアーキテクチャー１００は、メッセージ分類器１０２、サービスレベル識別子１０７、クロック１０８、オーバーライド率１１８、メッセージ分類ルール１２１、およびサービスレベルアグリーメント１３１を備える。図示したコンポーネントの各々は、例えばＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、およびインターネットのようなネットワークを介して互いに接続される（または当該ネットワークの一部である）。したがって、図示したコンポーネントの各々、ならびにその他の任意の接続されたコンピューターシステムおよびそのコンポーネントは、メッセージ関連データを生成し、ネットワーク上でメッセージ関連データ（例えば、ＩＰ（Internet Protocol）データグラム、および、ＴＣＰ（Transmission Control Protocol）、ＨＴＴＰ（Hypertext Transfer Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）等のようなＩＰデータグラムを利用するその他の高次層プロトコル）を交換することができる。
【００３７】
ルール１２１は、例えばルール１２１Ａ乃至１２１Ｎのような複数のメッセージ分類ルールを含み、これらを使用して電子メッセージを分類することができる。各ルールは、有効性、コスト、効率性を示すことができ、命令を含むことができる。有効性は、当該ルールがどのくらいの可能性で、利用されているスキャンの種類に基づいてメッセージを幾分不要であると正確に識別することを示す。例えば、ＳＰＡＭを検出するためのルールの有効性は、当該ルールがどのくらいの可能性で誤検出がされることなくＳＰＡＭを検出するかを示すことができる。コストは、実行モジュールがルールの命令を実行するときに消費される（例えば推定された）システムリソース量を示す。効率性は、どのくらい効率的に、ルールがリソース消費を考慮して有効性に基づいているかを示す。幾つかの実施形態では、効率性は有効性をコストで除した商である。命令は、電子メッセージを分類することに関する結果を生成するため（例えば、電子メッセージがＳＰＡＭであるか否か、マルウェアを含むか否か、極秘情報を含むか否か、等を判定するため）に実行される。
【００３８】
一般に、メッセージ分類器１０２は、電子メッセージの特性に基づいて電子メッセージを分類するように構成される。図示したように、メッセージ分類器１０２は実行モジュール１０３、コストモニター１０４、および有効性モニター１０６を備える。実行モジュール１０３は、受信したルールに含まれる命令（例えば、スクリプトまたはその他の実行可能コード）を実行するように構成される。当該命令は、電子メッセージを分類するためのデータポイントとして使用できる個別の結果を生成する。例えば、個別の結果が、電子メッセージが無用および／または未承諾の電子メッセージ（例えば、ＳＰＡＭ）であるか否か、感染しているかまたは危険であるか否か、極秘情報を含むか否か、等を示すことができる。実行モジュール１０３が、幾つかの異なるルールを実行したことから得られる個々の結果を累積することができる。メッセージ分類器１０２は次いで、累積した個々の結果を使用してメッセージを分類することができる。
【００３９】
コストモニター１０４は、電子メッセージのスキャンに関連する現時点でのリソースコストを追跡するように構成される。ルールが実行されると、コストモニター１０４は、電子メッセージに対して実行された任意のルールに関するリソースコスト合計を保持する。幾つかの実施形態では、各ルールが実行されると、当該ルールのコストが、任意の過去に実行されたルールに対するリソースコストに追加される。
【００４０】
有効性モニター１０６は、電子メッセージのスキャンの現時点での有効性を追跡するように構成される。ルールが実行されると、有効性モニター１０６は、電子メッセージに対して実行された任意のルールに対する有効性合計を保持する。幾つかの実施形態では、各ルールが実行されると、当該ルールの有効性が任意の過去に実行されたルールに対する有効性に追加される。
【００４１】
サービスレベルアグリーメント１２９は、ＳＬＡ１３１を含む複数のＳＬＡを含む。各ＳＬＡは、最小有効性および１つまたは複数のコストを含む。各コストは、特定の日付／時刻の範囲に適用可能である。最小有効性は、メッセージをスキャンするときに（リソース消費が超過しても）達すべき累積有効性（即ち、複数の分類ルールの有効性の和）を表す。表１は、顧客のタイプに基づくＳＬＡ毎の有効性の１例である。
【００４２】
【表１】
0005840690.tif 000002
【００４３】
表１は、最小有効性（即ち、複数の分類ルールの適用から生ずる累積有効性）が基本顧客に対しては７５でありプレミアム顧客に対しては１００であることを示す。最小有効性をＳＬＡにおいて割り当てるとき、他の因子を考慮することもできる。
【００４４】
１つまたは複数のコストは各々、時間範囲および最大コストを含む。夫々の時間範囲／最大コストの対は、ルールを適用するための最大リソースコストが、メッセージが当該時間範囲内に受信されたときに、当該メッセージに対して考慮されるべきであることを表す。時間範囲／最大コストの対は、異なるサービスレベルに対して変化することができ、または、同一であることができる。幾つかの実施形態では、時間範囲／最大コストの対を共通にアクセス可能なテーブルにおいて割り当てて、当該時間範囲／最大コストの対が多数のＳＬＡに対して同一であるようにする。他の実施形態では、時間範囲／最大コストの対を、例えばＳＬＡに含めることで、ＳＬＡベースで割り当てることができる。表２は時間範囲／最大コストの対の１例である。
【００４５】
【表２】
0005840690.tif 000003
【００４６】
表２は、分類ルールを適用する最大リソースコストが、ピーク時間中は５０、通常時間中は７５、およびオフピーク時間中は１００であることを示す。その他のファクターを考慮することもできる。
【００４７】
最大コストが時間とともに変化してもよい。メッセージ分類サーバーがさらにハードウェアを追加し、したがってより多くの計算能力を有する場合、最大コストの数値を上げてもよい。他方、サービスがさらに顧客を追加するか、または、負荷が急に増大する場合は、最大コストの数値を下げてもよい。
【００４８】
幾つかの実施形態では、最小有効性は最大コストと比較してより重要であると考えられる。これらの実施形態では、最大コストを超過するリソースを消費して最小有効性に達するのを保証することができる。最大コストより少ないリソースを用いて最小有効性に達した場合、さらなる分類ルールを適用して、最大コストに達するかまたは最大コストを超過するまで有効性を増大させることができる。
【００４９】
サービスレベル識別子１０７は、受信した電子メッセージに対応するサービスレベルを識別するように構成される。メッセージ特性および時刻／日付に基づいて、サービスレベル識別子１０７は適切なＳＬＡをサービスレベルアグリーメント１２９から識別することができる。クロック１０８は、日付および時刻を保持することができ、電子メッセージを受信したときにその情報をサービスレベル識別子１０７に送信することができる。サービスレベル識別子は当該メッセージの最小有効性および最大コストをメッセージ分類器１０２に送信することができる。メッセージ分類ルールごとに、メッセージ分類器１０２は累積有効性を最大有効性と比較し、累積コストを最大コストと比較して、どの分類ルールおよびどれだけ多くの分類ルールを受信したメッセージに適用すべきかを判定することができる。
【００５０】
オーバーライド率１１８は、最小有効性に既に達しており最大コストに既に到達したか当該最大コストを超過しているときでも、追加の分類ルールを電子メッセージに適用すべきであるという何らかの率を定義する。オーバーライド率１１８により、それがなければ（例えば、その効率性が原因で）省略されたかもしれない分類ルールを時々実行することができる。幾つかの実施形態では、オーバーライド率１１８は、メッセージ分類ルール１２１内の全てのルールが電子メッセージに適用されるべきである率を示す。
【００５１】
図３は、電子メッセージを適合的に分類するための例示的な方法３００のフローチャートを示す。方法３００を、コンピューターアーキテクチャー１００のコンポーネントおよびデータに関連して説明する。
【００５２】
方法３００は、送信者から受信者へ送信された電子メッセージを特定の時刻に受信する動作を含む（動作３０１）。例えば、メッセージ分類器１０２がメッセージ１０１Ｕを（クロック１０８により示された）時刻１１４に受信することができる。メッセージ１０１Ｕは、送信者アドレスおよび受信者アドレスを含むメッセージ特性１１１を含むことができる。
【００５３】
方法３００は、受信した電子メッセージに適用可能なサービスレベルを、送信者および受信者のうち１つまたは複数に基づいて識別する動作を含む。当該サービスレベルは、少なくとも最小有効性値および１組の最大コスト値を定義し、当該最小有効性値は、メッセージ分類ルールの組合せが当該サービスレベルを満たすために有すべき最小有効性累計を表し、当該１組の最大コスト値における各最大コスト値は異なる指定期間に対応し、各最大コスト値は、メッセージ分類ルールを電子メッセージに適用するために使用できる総リソース量を表す（動作３０２）。例えば、サービスレベル識別子１０７がメッセージ特性１１１および時刻１１４を受信することができる。メッセージ特性１１１（例えば、送信者および／または受信者のアドレス）に基づいて、サービスレベル識別子１０７がＳＬＡ１３１を、メッセージ１０１Ｕを分類することに適用可能であると識別することができる。
【００５４】
図示したように、ＳＬＡ１３１は最小有効性１３２およびコスト１３３を定義する。コスト１３３は時間範囲／最大コストの対を含むことができる。この対は、時間範囲１３４Ａ／最大コスト１３６Ａ、時間範囲１３４Ｂ／最大コスト１３６Ｂ、時間範囲１３４Ｃ／最大コスト１３６Ｃ、等を含む。
【００５５】
方法３００は、受信した電子メッセージを、選択した最大コスト値に対する指定期間内の特定の時刻に基づいてスキャンするときに使用するための最大コスト値を、１組の最大コスト値の中から選択する動作を含む（動作３０３）。例えば、サービスレベル識別子１０７が、時刻１１４が時間範囲１３４Ａ内にあると判定することができる。それに応答して、サービスレベル識別子１０７が、未分類のメッセージ１０１Ｕをスキャンするときに使用する最大コスト１３６Ａを選択することができる。
【００５６】
サービスレベル識別子１０７は、最小有効性１３２および最大コスト１３６Ａをメッセージ分類器１０２に送信することができる。メッセージ分類器１０２は、最小有効性１３２および最大コスト１３６Ａを使用して、メッセージ分類ルールを未分類のメッセージ１０１Ｕに適用することをいつ停止すべきかを判定することができる。
【００５７】
方法３００は、１つまたは複数のメッセージ分類ルールを、受信した電子メッセージに適用する動作を含む。各メッセージ分類ルールは、測定した有効性、測定したリソースコスト、および当該測定したリソースコストを考慮して、当該測定した有効性に基づいて計算した効率性を有し、当該測定した有効性は、特定のメッセージ特性を有する電子メッセージを適切に分類する確率を表し、当該１つまたは複数のメッセージ分類ルールを、サービスレベルで定義した最小有効性累計に達するまで、効率性の順に適用する（動作３０４）。例えば、メッセージ分類器はルール１２１から、最小有効性１３２（即ち、６０）に達するまで効率性の順にルールを適用することができる。
【００５８】
図示したルールのうち、効率性１２４Ａ（即ち、４）がルール１２１内のルールについて最大であるかもしれない。したがって、ルール１２１Ａが未分類のメッセージ１０１Ｕに適用される最初のルールである。ルール１２１Ａを適用すると、累積有効性１６２は８であり、有効性１２２Ａに等しい。メッセージ分類器１０２は、８が６０より小さいので最小有効性１３２Ａに達するためにさらに分類ルールを適用すべきであると判定する。
【００５９】
効率性１２４Ｂ（即ち、３）がルール１２１内のルールについて次に最大であるかもしれない。したがって、ルール１２１Ｂが未分類のメッセージ１０１Ｕに次に適用されるルールである。ルール１２１Ｂを適用すると、累積有効性１６２は１１であり、有効性１２２Ａと有効性１２２Ｂの和に等しい。メッセージ分類器１０２は、１１が６０より小さいので最小有効性１３２Ａに達するためにさらに分類ルールを適用すべきと判定する。
【００６０】
効率性１２４Ｃ（即ち、２．８）がルール１２１内のルールについて次に最大であるかもしれない。したがって、ルール１２１Ｃが未分類のメッセージ１０１Ｕに次に適用されるルールである。ルール１２１Ｃを適用すると、累積有効性１６２は６５であり、有効性１２２Ａと有効性１２２Ｂと有効性１２２Ｃの和に等しい。メッセージ分類器１０２は、６５が６０より大きいのでＳＬＡ１３１を満たすためにさらに分類ルールを適用する必要はないと判定する。
【００６１】
適用した１つまたは複数のメッセージ分類ルールごとに、方法３００はメッセージ分類ルールを電子メッセージに適用して、電子メッセージが特定のメッセージ特性を有する可能性を示す結果を生成する（動作３０５）。例えば、実行モジュール１０３が命令１２６Ａを未分類のメッセージ１０１Ｕに対して実行して、結果１１２を生成することができる。結果１１２は、未分類のメッセージ１０１Ｕが無用および／または未承諾の電子メッセージであること、感染したまたは危険なメッセージであること、極秘情報を含むこと、等の可能性を示す。実行モジュール１０３は結果１１２を累積結果１１３に格納することができる。命令１２６Ｂおよび１２６Ｃを同様に未分類のメッセージ１０１Ｕに対して実行して結果を生成することができる。これらの結果を累積結果１１３に格納することもできる。
【００６２】
適用した１つまたは複数のメッセージ分類ルールごとに、方法３００は、適用したメッセージ分類ルールに対する測定したリソースコストを累積消費リソース量に追加する動作を含む。累積消費リソース量は、当該１つまたは複数のメッセージ分類ルール内の過去に適用したメッセージ分類ルールから測定したリソースコストを総和することにより計算する（動作３０６）。例えば、ルール１２１Ａ、１２１Ｂ、および１２１Ｃを適用すると、累積コスト１６１は２１であり、コスト１２３Ａとコスト１２３Ｂとコスト１２３Ｃの和に等しい。
【００６３】
方法３００は、累積消費リソース量が選択した最大コスト値より小さいかどうかを判定する動作を含む（動作３０７）。例えば、コストモニター１０４が、累積コスト１０４が最大コスト１３６Ａより小さいかどうかを判定することができる。方法３００は、当該判定に基づいて追加のメッセージ分類ルールを電子メッセージに適用する動作を含む（動作３０８）。例えば、メッセージ分類器１０２が、累積コスト１６１が最大コスト１３６Ａより小さいか否かに基づいて追加のメッセージ分類ルールを電子メッセージに適用することができる。
【００６４】
コンピューターアーキテクチャー１００において図示したように、最小有効性１３２Ａに達したとき、累積コスト１６１（即ち、２１）は最大コスト１３６Ａ（即ち、２５）より小さい。したがって、追加の分類ルールを未分類のメッセージ１０１Ｕに適用して、未分類のメッセージ１０１Ｕを分類する有効性を高めることができる。
【００６５】
例えば、効率性１２４Ｄ（１．７５）がルール１２１内のルールについて次に最大であるかもしれない。したがって、ルール１２１Ｄが未分類のメッセージ１０１Ｕに次に適用されるルールである。そうすると、実行モジュール１０３が命令１２６Ｄを未分類のメッセージ１０１Ｕに対して実行して結果を生成し、当該結果を累積結果１１３に格納することができる。ルール１２１Ｄを適用すると、累積コスト１６１は２９となり、コスト１２３Ａとコスト１２３Ｂとコスト１２３Ｃとコスト１２３Ｄの和に等しい。（有効性１２２Ｄは原則として無視される。なぜならば、最小有効性１３２Ａに既に達しているからである。）累積コスト１６１（即ち、２９）が最大コスト１３６Ａ（即ち、２５）を超えているので、未分類のメッセージ１０１Ｕに適用されるルールはもはや存在しない。
【００６６】
その代わり、ルール１２１Ｃを適用した後に最小有効性１３２Ａに達したとき、累積コスト１６１が最大コスト１３６Ａ（即ち、２５）以上であった場合は、未分類のメッセージ１０１Ｕに適用されるルールはもはや存在しない。しかし、最小有効性１３２Ａには依然として達している。
【００６７】
最小有効性１３２Ａに達し最大コスト１３６Ａに達するか最大コスト１３６Ａを超過すると、メッセージ分類器１０２はオーバーライド率１１８を参照することができる。メッセージ分類器１０２はオーバーライド率１１８を使用して、さらに分類ルールを未分類のメッセージ１０１Ｕに適用すべきかどうかを判定することができる。適用すべき場合は、メッセージ分類器１０２は１つまたは複数の（または全ての残りの）ルール、例えばルール１２１Ｅをメッセージ分類ルール１２１から未分類のメッセージ１０１Ｕに適用する。オーバーライド率１１８を使用すると、それがなければ使用されないかまたは限定的に使用される分類ルールの性能（例えば、有効性およびコスト）を評価し適切に変更することができる。当該変更に基づいて、これらの分類ルールの使用頻度を増加させてもよい。例えば、古いルールの性能を評価して、ＳＰＡＭパターンの変更のため現時点では当該古いルールがより有効であることを明らかにしてもよい。
【００６８】
未分類のメッセージ１０１Ｕに適用すべきルールが存在しない場合、メッセージ分類器１０２は累積結果１１３を使用して未分類のメッセージ１０１Ｕを分類することができる。例えば、累積結果１１３から、メッセージ分類器１０２は、正当なメッセージとしてまたは無用および／もしくは未承諾のメッセージ（例えば，ＳＰＡＭ）として、マルウェアを含むかまたは含まないとして、極秘情報を含むかまたは含まないとして、等、未分類のメッセージ１０１Ｕを分類することができる。メッセージ分類器１０２は分類したメッセージ１０１Ｃを出力して当該分類を示すことができる。
【００６９】
分類したメッセージ１０１Ｃを出力すると、メッセージ分類器１０２は次の電子メッセージの分類に移行することができる。
【００７０】
図２は、電子メッセージを分類するために使用するルールを適合的に選択することを容易にする例示的なコンピューターアーキテクチャー２００を示す。図２を参照すると、コンピューターアーキテクチャー２００は、メッセージ分類器２０２、メッセージ分類ルール２２１、およびルール選択および順序変更モジュール２１６を備える。図示したコンポーネントの各々は、例えばＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、およびインターネットのようなネットワークを介して互いに接続される（または当該ネットワークの一部である）。したがって、図示したコンポーネントの各々ならびに他の任意の接続されたコンピューターシステムおよびそのコンポーネントは、メッセージ関連データを生成し、ネットワークを介してメッセージ関連データ（例えば、ＩＰ（Internet Protocol）データグラム、および、ＴＣＰ（Transmission Control Protocol）、ＨＴＴＰ（Hypertext Transfer Protocol）、ＳＭＴＰ（Simple Mail Transfer Protocol）等のようなＩＰデータグラムを利用する他の高次層プロトコル）を交換することができる。
【００７１】
ルール２２１は、例えばルール２２１Ａ乃至２２１Ｎのような複数のメッセージ分類ルールを含み、これらを使用して電子メッセージを分類することができる。ルール１２１と同様に、ルール２２１における各ルールは、有効性、コスト、効率性を示すことができ、命令を含むことができる。
【００７２】
一般に、メッセージ分類器２０２は電子メッセージの特性に基づいて電子メッセージを分類するように構成される。例えば、メッセージ分類器は、未分類のメッセージ２０１Ｕを入力として受信し、分類したメッセージ２０１Ｃを出力として生成することができる。分類したメッセージ２０１Ｃ内の各メッセージを、例えば、メッセージがＳＰＡＭであるか否か、マルウェアを含むか否か、極秘情報を含むか否か、等を示すように分類することができる。
【００７３】
図示したように、メッセージ分類器２０２は実行モジュール２０３を備え、さらに、リソースモニター２１３および効率性シンセサイザー２１４を備える。実行モジュール２０３は、受信したルールに含まれる命令（例えば、スクリプトまたはその他の実行可能コード）を実行するように構成される。当該命令は、電子メッセージを分類するためのデータポイントとして使用できる（外部ユーザーのフィードバックを受ける可能性がある）個別の結果を生成する。リソースモニター２１３は、ルール実行中の様々な消費リソース量（例えば、システムメモリー、プロセッサー、ネットワーク帯域幅、等）を（例えば、原則としてリアルタイムに）監視することができる。
【００７４】
効率性シンセサイザー２１４は、消費リソースの結果および表示を受信し、適用したルールに対する最新の効率性を合成することができる。適用したルールに対する結果および消費リソースを使用して、合成した効率性との整合性に関してルールの有効性および／またはコストを更新することもできる。
【００７５】
したがって、各分類ルールのコストおよび有効性は、特定の時点（例えば、適用時）に測定した測定値であることができ、時間とともに変化してもよい。スパムのパターンおよび内容が進化すると、分類ルールが多かれ少なかれ有効になるかもしれない。特定の過去のＳＰＡＭ活動の量が再び増えた場合は、古いルールが突如としてより有効になる場合もある。さらに、ソフトウェアがアップグレードされ最適化されると、ルールのコストが減少する場合もある。
【００７６】
ルール選択および順序変更モジュール２１６は、メッセージ分類ルール２２１から、電子メッセージに適用するためのルールを（例えば、効率性に基づいて）選択することができる。ルール選択および順序変更モジュール２１６はまた、（例えば、効率性に基づいて）メッセージ分類ルール２２１をソートすることができる。
【００７７】
図４は、電子メッセージを分類するために使用するルールを適合的に選択するための例示的な方法４００のフローチャートを示す。方法４００を、コンピューターアーキテクチャー２００のコンポーネントおよびデータに関して説明する。
【００７８】
方法４００は、１つまたは複数の電子メッセージを受信する動作を含む（動作４０１）。例えば、メッセージ分類器２０２が未分類のメッセージ２０１Ｕを受信することができる。
【００７９】
１つまたは複数の電子メッセージごとに、方法４００は、過去に選択した電子メッセージ分類ルールのサブセットにおける各メッセージ分類ルールを当該電子メッセージに適用する動作を含む。当該過去に選択した電子メッセージ分類ルールのサブセットは、複数の電子メッセージ分類ルールのサブセットである（動作４０２）。例えば、メッセージ分類器２０２は、ルール２２１Ａ乃至２２１Ｃを（例えば、ＳＬＡにおける最小有効性および最小コストならびに場合によってはオーバーライド率に基づいて）未分類のメッセージ２０１Ｕ内の各メッセージに適用することができる。
【００８０】
過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、方法４００は、電子メッセージ分類ルールが、電子メッセージが特定のメッセージ特性を有する可能性を示す結果を計算する動作を含む（動作４０３）。例えば、実行モジュール２０３が命令２２６を２０１Ｕ内の未分類のメッセージに対して実行して、結果２１２を生成することができる。結果２１２は、（例えば、指定のメッセージ受信者に基づいて）２０１Ｕ内のメッセージが、無用の電子メッセージである可能性、感染したまたは危険な電子メッセージである可能性、極秘情報を含む可能性、等を示すことができる。ルール２１２Ｂおよび２１２Ｃに対する結果を計算することもできる。
【００８１】
外部フィードバック（例えば、ユーザーからの）を計算結果に取り込むことができる。例えば、外部フィードバック２６１を結果２１２に取り込むことができる。外部フィードバックにより、計算した有効性をユーザーの有効性認識に基づいて上昇または低下させることができる。適切な場合は、外部フィードバックをルール２２１Ｂおよび２２１Ｃに対する計算結果に取り込むこともできる。
【００８２】
幾つかの実施形態では、未捕捉のＳＰＡＭ、マルウェア、または極秘情報を含む電子メッセージ（検出漏れ）ならびにＳＰＡＭ、マルウェア、または極秘情報を含むとして分類された正当なメッセージ（誤検出）がさらなる分析のために提示される。この種のフィードバックを使用して有効性スコアを調節することもできる。
【００８３】
過去に選択した電子メッセージ分類ルールのサブセットにおける電子メッセージ分類ルールごとに、方法４００は、電子メッセージ分類ルールを電子メッセージに適用するために消費したリソース量を示すリソースコストを測定する動作を含む（動作４０４）。例えば、リソースモニター２１３が、命令２２６Ａを２０１Ｕからのメッセージに対して実行することにより消費された消費リソース２３１の量を示すリソースコストを測定することができる。ルール２２１Ｂおよび２２１Ｃに対するリソース消費コストを測定することもできる。
【００８４】
方法４００は、各電子メッセージ分類ルールを各電子メッセージに適用することに関連する計算結果および測定したリソースコストを保持する動作を含む（動作４０５）。例えば、メッセージ分類器２０２が、ルール２２１Ａを未分類のメッセージ２０１Ｕ内の他のメッセージに対して実行することに対するリソースコストとともに、結果２１２および消費リソース２３１を保持することができる。ルール２２１Ｂおよび２２１Ｃを未分類のメッセージ２０１Ｕのメッセージに対して実行することに対する結果およびリソースコストを保持することもできる。
【００８５】
過去に選択したメッセージ分類ルールのサブセットにおけるメッセージ分類ルールごとに、方法４００は、メッセージ分類ルールに対して保持した計算結果および測定したリソースコストから効率性測定基準を合成する動作を含む（動作４０６）。したがって、ルール２２１Ａ、２２１Ｂ、および２２１Ｃごとに、効率性シンセサイザー２１４が、保持した計算結果と測定したリソースコストとから効率性測定基準を合成することができる。例えば、ルール２２１Ａに対して、効率性シンセサイザー２１４は、結果２１２および消費したリソース２３１から、ならびに、ルール２２１Ａを未分類のメッセージ２０１Ｕ内の他のメッセージに適用することからの計算結果および測定したリソースコストから、合成した効率性２３２を合成することができる。効率性を、ルール２２１Ｂおよび２２１Ｃに対して合成することもできる。
【００８６】
メッセージ分類器２０２は次いで２２４Ａを、合成した効率性２３２で置き換えることができる。有効性２２２Ａおよびコスト２２３Ａを、合成した効率性２３２と一貫性を保つように必要に応じて更新することもできる。ルール２２１Ｂおよび２２１Ｃに対する効率性、有効性、およびコストを必要に応じて更新することもできる。
【００８７】
方法４００は、合成した効率性測定基準を、複数の電子メッセージ分類ルールに含まれる電子メッセージ分類ルールに対する既存の効率性測定基準と比較する動作を含む（動作４０７）。例えば、合成した効率性２３２を、他のメッセージ分類ルール２２１に含まれる効率性と比較することができる。ルール２２１Ｂおよび２２１Ｃに対する合成した効率性を、他のメッセージ分類ルール２２１に含まれる効率性と比較することもできる。
【００８８】
方法４００は、合成した効率性測定基準を既存の効率性測定基準と比較した結果に少なくとも部分的に基づいて、後に受信する電子メッセージを分類する際に使用するための新たな電子メッセージ分類ルールのサブセットを、複数の電子メッセージ分類ルールの中から選択する動作を含む（動作４０８）。例えば、合成した効率性に基づいて、ルール２２１Ａ、２２１Ｂ、および２２１Ｃが、互いに対して、ならびに、他のメッセージ分類ルール２２１に対して、多かれ少なかれ有効になってもよい。したがって、電子メッセージを分類するための新たなルールのサブセットを（例えば、ＳＬＡに基づいて）選択するとき、ルール２２１Ａ、２２１Ｂ、および２２１Ｃのうち１つまたは複数を落としてもよい。
【００８９】
幾つかの実施形態では、メッセージ分類ルールに対するコストおよび有効性を継続的に（例えば、一日中）再測定する。なぜならば、メッセージを分類（例えば、ＳＰＡＭ、マルウェア、極秘情報、等を捕捉）する際の各ルールの相対的な有効性、およびルール実行に関して実際に観測されたコストに関して生の測定値が取得されるからである。より効率的なルールについては、ルールをより多くのメッセージに対して実行する際の当該ルールの有効性とコストに関するデータがさらに存在する。あまり効率でないルールに対しては、例えば１％のようなオーバーライド率（または偶然）により、少なくとも基準量の更新コストおよび有効性の情報が収集されることとなる。コストおよび有効性を再計算すると同時に、ルールを順序付けるために使用する効率性スコアも再計算する。後の電子メッセージは、更新されたスコアに基づいて選択されたメッセージ分類ルールを用いて分類される。
【００９０】
新たなルールが記述されると（例えば、新種のスパムまたはマルウェアを捕捉するための）、ルールコーパス（corpus）のサイズが増大する。新たに導入したルールを、有効性スコアを０としコストスコアを１として導入することができ、これにより、効率性スコアが０となり、当該ルールがリストの最後尾に置かれることとなる。時間とともに、ルールがオーバーライド率に従ってメッセージに適用されると、十分な実世界データが最終的に蓄積されて新たなルールのコストおよび有効性に対してより現実的な値が計算され、したがって効率性スコアがより適切になる。効率性スコアが再計算されると、当該新たなルールがリスト内のその最適な順番へ自動的に移動する。
【００９１】
時間とともに、ルールコーパスが増大しすぎて、現在のオーバーライド率（例えば、１％）に基づいて現実に実行できなくなるかもしれない。したがって、効率性スコアがおそらく０．１より小さいルールが例えば０．１％のような減少したオーバーライド率に基づいて実行される別の層を追加してもよい。かかる低効率性ルールの結果はメッセージの分類に使用されることすらないかもしれないが、更新されたコストおよび有効性の情報を生成するためにのみ使用される。
【００９２】
図５は、適合的な電子メッセージのスキャンおよび電子メッセージを分類するために使用するルールを適合的に選択することを容易にする、例示的なコンピューターアーキテクチャー５００を示す。
【００９３】
未分類のメール５０１Ｕを受信する。送信者／受信者の情報を顧客クラス５３１に送信する。顧客クラス５３１は、未分類のメッセージ５０１Ｕを分類するときに使用する最小有効性を識別する。段階５４１で、ルール５１１Ａ、５１１Ｂ、および５１１Ｃを実行することで、顧客クラス５３１に対する最小有効性に達する。段階５４２で、リソース利用可能性５０４が許せば、ルール５１１Ｄを含めて、１つまたは複数の追加のルールを日和見的に実行する。段階５４３で、１つまたは複数の他のルールをルール５１１Ｎまで実行しないとの決定を偶然５１８に基づいてオーバーライドし、これらの１つまたは複数の他のルールをルール５１１Ｎまで実行する。ルール５１１Ａ乃至５１１Ｎの結果に基づいて、分類したメール５０１Ｃ（例えば、ＳＰＡＭまたは正当）を出力する。
【００９４】
性能データをルール５１１Ａ乃至５１１Ｎの各ルールの実行時５０３までに収集する。更新したコストスコアをルール５１１Ａ乃至５１１Ｎに書き戻す。陽性（例えば、ＳＰＡＭ）または陰性（例えば、正当）としての各ルールの結果５１２を、ルール５１１Ａ乃至５１１Ｎに対して判定する。当該結果の誤検出および検出漏れを識別するために、外部フィードバック５６１を取り込む。更新した有効性スコアをルール５１１Ａ乃至５１１Ｎに書き戻す。効率性を再計算し、当該再計算した効率性に基づいてルールを順序変更する。
【００９５】
本発明を、その趣旨または本質的な特徴から逸脱しない他の特定の形態で具現化してもよい。説明した実施形態は、全ての点で例示的にすぎず限定的ではないと考えるべきである。したがって、本発明の範囲は以上の記載によってではなく添付の特許請求の範囲により示される。特許請求の範囲に記載されたのと等価物の意味および領域に入る全ての変更はその範囲に包含される。
【図１】
0005840690.tif 000004
【図２】
0005840690.tif 000005
【図３】
0005840690.tif 000006
【図４】
0005840690.tif 000007
【図５】
0005840690.tif 000008