(57)【要約】  方法およびシステムによって、1人またはそれ以上の受取人への送信前にメッセージを評価することを可能にする。一実施形態では、メッセージが送信される前にメッセージ要素エバリュエータがルールをメッセージ受取人および内容要素を含みうるメッセージフィールド要素に適用する。メッセージ評価ルールに違反した場合、ユーザーに対してアラートを提示することができる。メッセージ評価ルールは、送信者がメッセージの送信を確認するか、またはメッセージの編集を開始するか、またはメッセージをキャンセルすることを可能にすることができる。メッセージ評価ルールは、メッセージ評価ルールに適合するようにメッセージが修正されるまでメッセージの送信を禁じることもできる。これらの方法およびシステムは、電子メールメッセージ、シンプルメッセージシステムメッセージ、マルチメディアメッセージシステムメッセージ、およびインスタントメッセージシステムメッセージを含むさまざまなメッセージタイプに適用することができる。
2013503402.tif 000002
【特許請求の範囲】
【請求項１】
送信メッセージを評価するための方法であって、
メッセージングアプリケーションから、フィールド要素を含むメッセージを受信するステップと、
少なくとも第1のフィールド要素を第2のフィールド要素に関係付ける条件を含む、データストアに格納されているメッセージ評価ルールにアクセスするステップと、
前記メッセージ評価ルールを少なくとも前記第1のフィールド要素および第2のフィールド要素に適用するステップと、
前記メッセージ評価ルールの前記条件が満たされているかどうかを判定するステップと、
前記メッセージ評価ルールの前記条件が満たされているときにユーザーに警報するための表示を生成するステップと、
前記メッセージ評価ルールの前記条件が満たされていないときに前記メッセージを送信するステップとを含む方法。
【請求項２】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージアドレス要素である請求項1に記載の方法。
【請求項３】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージ内容要素である請求項1に記載の方法。
【請求項４】
前記第1のフィールド要素および前記第2のフィールド要素のうちの少なくとも一方は、メッセージアドレス要素である請求項1に記載の方法。
【請求項５】
前記表示は、send confirmationコマンド、edit messageコマンド、およびcancel messageコマンドからなる群から選択された前記ユーザーからの応答に対する要求をさらに含み、
前記方法は、
ユーザー応答を受信するステップと、
前記受信されたユーザー応答が前記send confirmationコマンドであるときに前記メッセージを送信するステップと、
前記受信されたユーザー応答が前記edit messageコマンドであるときに前記メッセージの処理を前記メッセージングアプリケーションに戻すステップと、
前記受信されたユーザー応答が前記cancelコマンドであるときに前記メッセージをキャンセルするステップとを含む請求項1に記載の方法。
【請求項６】
前記表示は、前記ルールを満たす前記条件の記述をさらに含む請求項1に記載の方法。
【請求項７】
前記表示は、前記条件によって関係付けられている前記フィールド要素のうちの少なくとも1つのフィールド要素の改訂を要求する命令をさらに含む請求項6に記載の方法。
【請求項８】
前記送信メッセージは、電子メールであり、前記メッセージングアプリケーションは、電子メールアプリケーションである請求項1に記載の方法。
【請求項９】
前記送信メッセージは、シンプルメッセージシステムメッセージであり、前記メッセージングアプリケーションは、シンプルメッセージシステムアプリケーションである請求項1に記載の方法。
【請求項１０】
前記送信メッセージは、インスタントメッセージであり、前記メッセージングアプリケーションは、インスタントメッセージシステムアプリケーションである請求項1に記載の方法。
【請求項１１】
前記送信メッセージは、マルチメディアメッセージシステムメッセージであり、前記メッセージングアプリケーションは、マルチメディアメッセージシステムアプリケーションである請求項1に記載の方法。
【請求項１２】
少なくとも第1のフィールド要素を第2のフィールド要素に関係付ける条件を含むメッセージ評価ルールを中に格納しているデータストアと、
前記データストアに結合されたプロセッサであって、メッセージングアプリケーションにより、またソフトウェア実行可能命令により、
前記第1のフィールド要素および前記第2のフィールド要素を含む複数のフィールド要素を備えるメッセージを前記メッセージングアプリケーションから受信するステップと、
前記メッセージ評価ルールを前記メッセージの少なくとも前記第1のフィールド要素および第2のフィールド要素に適用するステップと、
前記メッセージ評価ルールの前記条件が満たされているかどうかを判定するステップと、
前記メッセージ評価ルールの前記条件が満たされているときにユーザーに警報するための表示を生成するステップと、
前記メッセージ評価ルールの前記条件が満たされていないときに前記メッセージを送信するステップとを含む動作を実行するように構成されているプロセッサとを備えるコンピューティングデバイス。
【請求項１３】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージアドレス要素である請求項12に記載のコンピューティングデバイス。
【請求項１４】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージ内容要素である請求項12に記載のコンピューティングデバイス。
【請求項１５】
前記第1のフィールド要素および前記第2のフィールド要素のうちの少なくとも一方は、メッセージアドレス要素である請求項12に記載のコンピューティングデバイス。
【請求項１６】
前記表示は、send confirmationコマンド、edit messageコマンド、およびcancel messageコマンドからなる群から選択された前記ユーザーからの応答に対する要求をさらに含み、
前記プロセッサは、ソフトウェア実行可能命令により、
ユーザー応答を受信するステップと、
前記受信されたユーザー応答が前記send confirmationコマンドであるときに前記メッセージを送信するステップと、
前記受信されたユーザー応答が前記edit messageコマンドであるときに前記メッセージの処理を前記メッセージングアプリケーションに戻すステップと、
前記受信されたユーザー応答が前記cancelコマンドであるときに前記メッセージをキャンセルするステップとを含むさらなる動作を実行するようにさらに構成される請求項12に記載のコンピューティングデバイス。
【請求項１７】
前記表示は、前記ルールを満たす前記条件の記述をさらに含む請求項12に記載のコンピューティングデバイス。
【請求項１８】
前記表示は、前記条件によって関係付けられている前記フィールド要素のうちの少なくとも1つのフィールド要素の改訂を要求する命令をさらに含む請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記送信メッセージは、電子メールであり、前記メッセージングアプリケーションは、電子メールアプリケーションである請求項12に記載のコンピューティングデバイス。
【請求項２０】
前記送信メッセージは、シンプルメッセージシステムメッセージであり、前記メッセージングアプリケーションは、シンプルメッセージシステムアプリケーションである請求項12に記載のコンピューティングデバイス。
【請求項２１】
前記送信メッセージは、インスタントメッセージであり、前記メッセージングアプリケーションは、インスタントメッセージシステムアプリケーションである請求項12に記載のコンピューティングデバイス。
【請求項２２】
前記送信メッセージは、マルチメディアメッセージシステムメッセージであり、前記メッセージングアプリケーションは、マルチメディアメッセージシステムアプリケーションである請求項12に記載のコンピューティングデバイス。
【請求項２３】
少なくとも第1のフィールド要素を第2のフィールド要素に関係付ける条件を含むメッセージ評価ルールを格納するための手段と、
前記第1のフィールド要素および前記第2のフィールド要素を含む複数のフィールド要素を備えるメッセージをメッセージングアプリケーションから受信するための手段と、
前記メッセージ評価ルールを前記メッセージの少なくとも前記第1のフィールド要素および第2のフィールド要素に適用するための手段と、
前記メッセージ評価ルールの前記条件が満たされているかどうかを判定するための手段と、
前記メッセージ評価ルールの前記条件が満たされているときにユーザーに警報するための表示を生成するための手段と、
前記メッセージ評価ルールの前記条件が満たされていないときに前記メッセージを送信するための手段とを備えるコンピューティングデバイス。
【請求項２４】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージアドレス要素である請求項23に記載のコンピューティングデバイス。
【請求項２５】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージ内容要素である請求項23に記載のコンピューティングデバイス。
【請求項２６】
前記第1のフィールド要素および前記第2のフィールド要素のうちの少なくとも一方は、メッセージアドレス要素である請求項23に記載のコンピューティングデバイス。
【請求項２７】
前記メッセージ評価ルールの前記条件が満たされたときにユーザーに警報するための表示を生成するための前記手段は、send confirmationコマンド、edit messageコマンド、およびcancel messageコマンドからなる群から選択された前記ユーザーからの応答を要求するための手段をさらに備え、
前記コンピューティングデバイスは、
ユーザー応答を受信するための手段と、
前記受信されたユーザー応答が前記send confirmationコマンドであるときに前記メッセージを送信するための手段と、
前記受信されたユーザー応答が前記edit messageコマンドであるときに前記メッセージの処理を前記メッセージングアプリケーションに戻すための手段と、
前記応答が前記cancelコマンドであるときに前記メッセージをキャンセルするための手段とをさらに備える請求項23に記載のコンピューティングデバイス。
【請求項２８】
前記メッセージ評価ルールの前記条件が満たされたときにユーザーに警報するための表示を生成するための前記手段は、前記ルールを満たす前記条件の記述を含む表示を生成するための手段をさらに備える請求項23に記載のコンピューティングデバイス。
【請求項２９】
前記メッセージ評価ルールの前記条件が満たされたときにユーザーに警報するための表示を生成するための前記手段は、前記条件によって関係付けられている前記フィールド要素のうちの少なくとも1つの改訂を要求する命令を生成するための手段をさらに備える請求項28に記載のコンピューティングデバイス。
【請求項３０】
前記送信メッセージは、電子メールであり、前記メッセージングアプリケーションは、電子メールクライアントである請求項23に記載のコンピューティングデバイス。
【請求項３１】
前記送信メッセージは、シンプルメッセージシステムメッセージであり、前記メッセージングアプリケーションは、シンプルメッセージシステムアプリケーションである請求項23に記載のコンピューティングデバイス。
【請求項３２】
前記送信メッセージは、インスタントメッセージであり、前記メッセージングアプリケーションは、インスタントメッセージシステムアプリケーションである請求項23に記載のコンピューティングデバイス。
【請求項３３】
前記送信メッセージは、マルチメディアメッセージシステムメッセージであり、前記メッセージングアプリケーションは、マルチメディアメッセージシステムアプリケーションである請求項23に記載のコンピューティングデバイス。
【請求項３４】
コンピュータにより実行可能な命令を備えたコンピュータプログラムであって、
少なくとも第1のフィールド要素を第2のフィールド要素に関係付ける条件を含むメッセージ評価ルールを格納するための少なくとも1つの命令と、
メッセージングアプリケーションから、フィールド要素を含むメッセージを受信するための少なくとも1つの命令と、
前記メッセージ評価ルールを少なくとも前記第1のフィールド要素および第2のフィールド要素に適用するための少なくとも1つの命令と、
前記メッセージ評価ルールの前記条件が満たされているかどうかを判定するための少なくとも1つの命令と、
前記メッセージ評価ルールの前記条件が満たされているときにユーザーに警報するための表示を生成するための少なくとも1つの命令と、
前記メッセージ評価ルールの前記条件が満たされていないときに前記メッセージを送信するための少なくとも1つの命令と
を備えるコンピュータプログラム。
【請求項３５】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージアドレス要素である請求項34に記載のコンピュータプログラム。
【請求項３６】
前記第1のフィールド要素は、メッセージアドレス要素であり、前記第2のフィールド要素は、メッセージ内容要素である請求項34に記載のコンピュータプログラム。
【請求項３７】
前記第1のフィールド要素および前記第2のフィールド要素のうちの少なくとも一方は、メッセージアドレス要素である請求項34に記載のコンピュータプログラム。
【請求項３８】
send confirmationコマンド、edit messageコマンド、およびcancel messageコマンドからなる群から選択された前記ユーザーからの応答を要求するための少なくとも1つの命令と、
ユーザー応答を受信するための少なくとも1つの命令と、
前記受信されたユーザー応答が前記send confirmationコマンドであるときに前記メッセージを送信するための少なくとも1つの命令と、
前記受信されたユーザー応答が前記edit messageコマンドであるときに前記メッセージの処理を前記メッセージングアプリケーションに戻すための少なくとも1つの命令と、
前記受信されたユーザー応答が前記cancel messageコマンドであるときに前記メッセージをキャンセルするための少なくとも1つの命令と
をさらに備える請求項34に記載のコンピュータプログラム。
【請求項３９】
前記ルールを満たす前記条件の記述を生成するための少なくとも1つの命令をさらに備える請求項34に記載のコンピュータプログラム。
【請求項４０】
前記条件によって関係付けられている前記フィールド要素のうちの少なくとも1つのフィールド要素の改訂を要求する命令を生成するための少なくとも1つの命令をさらに備える請求項39に記載のコンピュータプログラム。
【請求項４１】
前記送信メッセージは、電子メールであり、前記メッセージングアプリケーションは、電子メールクライアントである請求項34に記載のコンピュータプログラム。
【請求項４２】
前記送信メッセージは、シンプルメッセージシステムメッセージであり、前記メッセージングアプリケーションは、シンプルメッセージシステムアプリケーションである請求項34に記載のコンピュータプログラム。
【請求項４３】
前記送信メッセージは、インスタントメッセージであり、前記メッセージングアプリケーションは、インスタントメッセージシステムアプリケーションである請求項34に記載のコンピュータプログラム。
【請求項４４】
前記送信メッセージは、マルチメディアメッセージシステムメッセージであり、前記メッセージングアプリケーションは、マルチメディアメッセージシステムアプリケーションである請求項34に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にメッセージングシステムに関し、より具体的には、送信する前にメッセージの検査を行うための方法およびシステムに関する。
【背景技術】
【０００２】
いくつかの例として電子メール、シンプルメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、およびインスタントメッセージング(IM)が挙げられるが、このようなメッセージングシステムを使用することで、ユーザーは、選択された受信者に情報を素早く送信することができる。メッセージングシステムは、典型的には、ユーザーコンピューティングデバイス上に置かれるアプリケーションまたはメッセージングサービスをクライアントコンピューティングデバイスに提供するサーバーデバイス上に置かれるアプリケーションを伴う。メッセージングシステムを使用することで、典型的には、ユーザーは、メッセージ内容を作成し、メッセージの送信先アドレスを指定し、完成したメッセージを送信することができる。メッセージングシステムは、アドレス帳を参照し、および/またはオートコンプリート機能を実行することによってユーザーによるメッセージの送信先アドレス指定を補助することもできる。
【０００３】
多くのメッセージングシステムには、「スパム」フィルタなど、着信メッセージのフィルタ処理を行う機会が設けられるが、送信メッセージの制御は、一般的に、ユーザーに任されている。その結果、ユーザーは、特定の人宛に返信をしようとして全員に返信してしまったり、宛先にするつもりのない受信者を含めたりなど、メッセージを送信するときに誤りを犯すことは頻繁にある。それに加えて、受取人によっては不適切とされる内容とともにメッセージが送信されることもある。そのようなミスの結果としては、企業秘密がうっかり競合相手に送られてしまったときなどに、きまりの悪い思いをするといったことから、財務上の損失を被ることまでいろいろある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さまざまな実施形態により、送信メッセージ中の潜在的問題を監視して検出し、メッセージが送信される前に問題を是正できるようにユーザーに警告を発するための方法およびシステムが実現される。いくつかの実施形態では、潜在的な矛盾、よくあるアドレス指定のミス、および他の種類のアドレス指定の問題点がないか送信先のアドレスを調べる。いくつかの実施形態では、不適切であるか、または送信者側のさらなる検討を必要とする可能性のある内容かどうか、メッセージ本文などの、メッセージ要素の内容を調べる。いくつかの実施形態では、1つまたは複数のメッセージアドレス要素にとって不適切な、メッセージ本文の内容などの、メッセージ内容要素を含んでいることを検出する。
【課題を解決するための手段】
【０００５】
一実施形態では、メッセージが送信される前にメッセージングアプリケーションによって生成されるメッセージに作用するようにメッセージ要素エバリュエータ(message element evaluator)が構成される。メッセージ要素エバリュエータの機能は、「send」コマンドをユーザーが選択することによってトリガーされうる。メッセージをメッセージングサーバーに送信する前に、メッセージ要素エバリュエータが、メッセージのフィールドをチェックし、受取人の選択および/またはメッセージ内容中の誤りを検出することができる。一実施形態では、メッセージ要素を評価するプロセスは、1つまたは複数のルールをメッセージ要素に適用することによって実行される。一実施形態では、メッセージシステムのユーザーによって拡張されうるメッセージシステムの管理者によって基本ルールセットが確立されうる。メッセージがこれらのルールのうちの1つまたは複数に違反する場合、メッセージ要素エバリュエータは、そのメッセージが違反している1つまたは複数のルールに対して適切な1つまたは複数のアラートメッセージをユーザーに提示することができる。一実施形態では、これらのルールは、文脈駆動型であり、受取人、受取人ドメイン、送信者名、送信者ドメイン、およびメッセージ内容に依存しうる。
【０００６】
例えば、限定はしないが、メッセージ要素エバリュエータは、電子メールメッセージ、SMSアプリケーション、MMSアプリケーション、およびインスタントメッセージングアプリケーションとともに動作するように構成することができる。さらなる実施形態では、メッセージ要素エバリュエータは、クライアントサーバーアーキテクチャにおけるコンピューティングデバイス上のクライアントアプリケーションによってアクセスされるサーバー上のサービスとして構成することができる。
【０００７】
本明細書に組み込まれ、本明細書の一部をなす添付図面は、本発明の例示的な態様を示している。上述の概要と後述の詳細な説明と一緒に、図面は本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００８】
【図１】一実施形態によるメッセージ要素エバリュエータを動作させるように構成されたアプリケーションを使用するメッセージングシステムの論理コンポーネントを例示する通信システムブロック図である。
【図２】一実施形態によるアプリケーション内で動作するメッセージ要素エバリュエータの論理コンポーネントを例示するブロック図である。
【図３】一実施形態によるメッセージ評価プロセスの流れを例示するプロセスフロー図である。
【図４】一実施形態によるメッセージ要素エバリュエータを動作させるように構成されたメッセージマネージャを使用するメッセージングシステムの論理コンポーネントを例示するブロック図である。
【図５】一実施形態によるメッセージマネージャ内で動作するメッセージ要素エバリュエータの論理コンポーネントを例示するブロック図である。
【図６】一実施形態による電子メールアプリケーション内で動作するメッセージ要素エバリュエータの論理コンポーネントのブロック図である。
【図７】一実施形態による電子メールメッセージ評価プロセスの流れを例示するプロセスフロー図である。
【図８】一実施形態によるSMSアプリケーション内で動作するメッセージ要素エバリュエータの論理コンポーネントのブロック図である。
【図９】一実施形態によるSMSセンター内で動作するメッセージ要素エバリュエータの論理コンポーネントのブロック図である。
【図１０】一実施形態によるIMアプリケーション内で動作するメッセージ要素エバリュエータの論理コンポーネントのブロック図である。
【図１１】一実施形態によるIMサーバー内で動作するメッセージ要素エバリュエータの論理コンポーネントのブロック図である。
【図１２】さまざまな態様とともに使用するのに適しているデータ構造体のデータ構造図である。
【図１３】さまざまな実施形態とともに使用するのに適しているモバイルデバイスのコンポーネントブロック図である。
【図１４】さまざまな実施形態とともに使用するのに適しているコンピュータシステムのコンポーネントブロック図である。
【図１５】さまざまな実施形態とともに使用するのに適しているサーバーのコンポーネントブロック図である。
【発明を実施するための形態】
【０００９】
さまざまな態様が添付図面を参照しつつ詳細に説明される。可能な限り、同じ参照番号は、同じまたは類似の部分を指し示すために図面全体を通して使用される。特定の例および実装を参照しているが、これは例示を目的としており、本発明または請求項の範囲を制限することを意図していない。
【００１０】
本明細書で使用されているように、「メッセージフィールド」という用語は、受取人フィールド、送信者アドレスフィールド、件名フィールド、メッセージ本文フィールド、メッセージ優先度フィールド、メッセージ日時フィールド、メッセージルーティング情報フィールド、およびメッセージメタデータフィールドを含む、現在定義されているような、または将来定義されうるような任意のメッセージフォーマットのすべてのフィールドを包含することが意図されている。「メッセージアドレス要素」および「メッセージ内容要素」という用語は、アドレス指定要素を、メッセージ件名(メッセージタイプに含まれる場合)およびメッセージ本文要素などのメッセージ内容要素から区別するために使用される。
【００１１】
さまざまな態様がSMS、電子メール、およびインスタントメッセージングシステムを含む、特定のメッセージングシステムの実施形態を参照しつつ説明されているが、本発明は、知られているか、またはこれから開発されることになる任意のメッセージングシステムまたはプロトコルに応用することができる。
【００１２】
上記のように、典型的なメッセージングシステムは、ユーザーコンピューティングデバイス上に置かれるメッセージングアプリケーションまたはメッセージングサービスをクライアントコンピューティングデバイスに提供するサーバーデバイス上に置かれるメッセージングアプリケーション(「クライアント/サーバー」実装の場合)を伴う。さまざまな実施形態が両方のタイプの実装に適用することができ、それぞれの例が後述の実施形態で構成される。本明細書で使用されているように、「アプリケーション」は、特定のデバイス(つまり、コンピューティングデバイスもしくはサーバーデバイス)上に置かれるソフトウェア命令を指し、「クライアント」は、クライアント/サーバー実装におけるサーバーによってクライアントコンピューティングデバイスにダウンロードされるソフトウェア命令を指す。しかし、当業者であれば理解するように、コンピューティングデバイス上にアプリケーションとして実装されたメッセージングシステムは、メッセージを中継する機能に関してメッセージングサーバーに依存し、クライアント/サーバー実装は、クライアントコンピューティングデバイス上にインストールされているある種のアプリケーションソフトウェアに依存しうる。したがって、「アプリケーション」および「クライアント」という用語は、説明のみを目的として使用されており、相互に排他的であること、または特定のタイプのソフトウェアアーキテクチャが実装されなければならないことを意図していない。
【００１３】
メッセージングシステムは、個人と企業の両方に広く利用されている。多くのメッセージングシステムには、着信メッセージのフィルタ処理を行う機会が設けられるが、送信メッセージの制御は、一般的に、ユーザーに任されている。その結果、メッセージを意図された受取人ではない1人または複数の受信者宛に送らせるメッセージアドレス要素をうっかり含める可能性がある。例えば、よくあるユーザーのミスは、返信メッセージを1人の受信者だけに送ろうとしているときに「全員に返信」することである。別のよくあるユーザーのミスとしては、メッセージを間違った受取人に送信すること(例えば、受取人フィールドに頭文字を1、2字入力した後自動的に記入されてしまったとき)、またはメッセージを、受け取るべきでない1人または複数の受取人を含む受取人のグループに送信することが挙げられる。別のよくある誤りとして、受取人に伝えるのが不適切である内容要素とともにメッセージを送信することが挙げられる。例えば、よくあるユーザーのミスは、応答の長い連鎖を含むメッセージが、前に含まれていたメッセージの1つの中の内容を受け取るべきでない個人に送信されたときに発生する。別のよくあるユーザーのミスは、ユーザーが、メッセージ内の機密情報または慎重を期すべき情報が特定の受取人に送信されるべきでないことを知らないか、または理解していないときに発生する。
【００１４】
例えば、顧客サービス環境では、電子メールを使用して顧客と通信することがある。そのような実装において、ユーザーは、ルーチン作業としてメッセージを複数の異なる顧客に送信し、しかもその一部は競争相手である可能性がある。そのため、ある会社宛のメッセージを競争相手に送信したり、同じメッセージ内に2社またはそれ以上の競争相手の受取人を含めるといったことが潜在的にありうる。「全員に返信」オプションなどのよくあるメッセージング補助機能および1つまたは2つの文字に基づいて受取人を示唆するアドレス指定ツールが、このようなミスの誘因になり得る。
【００１５】
このようなメッセージングのミスを減らすために、さまざまな実施形態において、それぞれのメッセージを送信することが許可される前に送信メッセージを自動的にフィルタ処理する付加機能をメールメッセージングシステムに設けるか、または機能強化している。さまざまな実施形態において、メッセージを実際に送信する前にメッセージアドレス要素および/またはメッセージ内容要素を問題がないか評価し、問題が検出された場合にその通知を送信者に送るようにすることができるため、送信者は潜在的なミスを是正する機会を与えられることになる。以下で詳しく説明するように、この評価機能は、メッセージングシステムおよびメッセージ機構に対し一般的に適用されうる。メッセージングシステムのユーザーまたは管理者が、2つの異なる会社名(例えばDoitrightおよびDoitall)または2つの異なるアドレスドメインなどの、キーワードを電子メールメッセージ内で検索するフィルタオプションを指定することができる。メッセージが送信される前に、メッセージングアプリケーションまたはメッセージングクライアントがメッセージ要素エバリュエータを適用して、メッセージアドレス要素およびメッセージ内容要素を「スクラブする(洗浄する)」ことができる。メッセージ要素エバリュエータは、多数のルールをスクラビングプロセスの一部として適用することができる。例えば、2つまたはそれ以上のキーワードがメッセージ内に見つかったときにルール条件が満たされ、これに応答して、メッセージ要素エバリュエータは、メッセージ内に見つかった問題を識別し、そのメッセージが送信されるべきか確認するよう送信者に促すポップアップ画面を表示させることができる。例えば、メッセージがメッセージ内容要素またはメッセージアドレス要素内のどこかに2つの異なる会社名を含んでいる場合、メッセージが送信される前に警告ポップアップを生成して、それら2つの参照が同じメッセージ内に安全に含まれうることをユーザーが確認することが可能となる。
【００１６】
一実施形態では、メッセージ要素エバリュエータは、コンピューティングデバイス(例えば、パーソナルコンピュータまたはモバイル通信デバイス)上のメッセージングアプリケーションとともに動作するように構成することができる。このようなメッセージ要素エバリュエータは、メッセージングアプリケーションの一部として、または別個のアプリケーションとしてコンピューティングデバイスのプロセッサ上に実装される本明細書で説明されている機能の一部または全部を含むソフトウェアモジュールとすることができる。メッセージ要素エバリュエータの機能は、メッセージングアプリケーションによって生成されたグラフィカルユーザーインターフェース内に提示される送信コマンドの選択など、ユーザーによる「send」コマンドの選択によってトリガーされうる。メッセージをメッセージングサーバーに送信する前に、メッセージ要素エバリュエータが、メッセージのフィールドをチェックし、潜在的な誤りを検出することができる。潜在的な誤りは、受取人、件名などのメッセージ要素に、および/またはメッセージ本文要素において一まとまりのルールを適用することによって検出されうる。一実施形態では、基本ルールセットは、メッセージサーバーの管理者によって確立され、アプリケーションのユーザーによって拡張されうる。メッセージ要素エバリュエータが、メッセージがこれらのルールのうちの1つまたは複数に違反していると判断した場合、メッセージ要素エバリュエータは、1つまたは複数の警告プロンプトをユーザーの提示することができる。このようなアラートは、そのメッセージが違反した特定の1つまたは複数のルールに応じて適切なプロンプトが生成できるように定義されうる。例えば、いくつかのルールについては、アラートメッセージは、単に情報を与えだけであり、他のルールについては、アラートメッセージは、メッセージが送信される前にユーザーがアクションを実行することを要求する場合がある。さらなる例として、いくつかのルールは、アラートがユーザーによって指定変更されないように強制的ルールとすることができ、メッセージ要素エバリュエータは、メッセージがルールに従うよう改訂されるまでメッセージの送信をブロックすることができる。
【００１７】
図1は、一実施形態によるメッセージ要素エバリュエータアプリケーションを使用するメッセージングシステムの例示的な機能コンポーネントを示す通信システムブロック図である。この例示的な実施形態では、ユーザーコンピューティングデバイス100は、メッセージングアプリケーション105を動作させる。ユーザーコンピューティングデバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、PDA、携帯電話、スマートフォン、ウェブTV端末、またはメッセージを作成し送信するように構成されている他の電子デバイスとすることができる。メッセージングアプリケーション105は、1つまたは複数の入力デバイス(図1に例示されていない)を介してユーザーからメッセージフィールド要素を生成する際に使用するための情報を受信するように構成されうる。例えば、限定はしないが、入力デバイスは、キーボード、タッチスクリーンディスプレイ、キーパッド、音声認識システム、およびコンピュータマウスなどのコンピュータポインティングデバイスのうちの1つまたは複数を含むことができる。典型的なコンピューティングデバイス100のコンポーネントの説明は、図13および14を参照しつつ以下にさらに提示される。
【００１８】
メッセージングアプリケーション105は、典型的には、ユーザーから受信された情報をいくつものメッセージフィールド要素にわけてフォーマットする。このようなメッセージフィールド要素は、受取人フィールド、送信者アドレスフィールド、件名フィールド、メッセージ本文フィールド、メッセージ優先度フィールド、メッセージ日時フィールド、メッセージルーティング情報フィールド、およびメッセージメタデータフィールドと、メッセージングネットワーク110を介してメッセージを構築し、送信するためにメッセージングアプリケーション105によって使用されうる他のメッセージフィールド要素とを含むことができる。メッセージフィールド要素は、一般的に、送信されるメッセージのタイプとメッセージを送信するために使用されるメッセージプロトコルによって規定される。メッセージプロトコルは、メッセージがどこに送信されるべきであるかを決定するために十分な情報を与えるメッセージアドレス要素などの必須のフィールドデータを設定することができる。
【００１９】
メッセージングアプリケーション105は、後述のようにメッセージ要素エバリュエータ120と連携するように構成することができる。メッセージングアプリケーション105は、メッセージネットワーク110を介してメッセージサーバー140内で動作するメッセージマネージャ150と通信することによってメッセージを送信することができる。次いで、メッセージマネージャ150は、典型的には、メッセージを受信し、メッセージネットワーク110を介してそのメッセージを送信先コンピューティングデバイス(図示せず)にルーティングする。
【００２０】
図2は、一実施形態によるメッセージングアプリケーション105内で動作するメッセージ要素エバリュエータ120の例示的な機能コンポーネントを示すブロック図である。メッセージングアプリケーション105は、典型的には、アプリケーションコマンドマネージャ108、またはそれと同等の機能、およびアプリケーション表示マネージャ110、またはそれと同等の機能を備える。アプリケーションコマンドマネージャは、発信メッセージの生成および送信、さらには着信メッセージの表示および格納に関連する機能を備える。アプリケーション表示マネージャ110は、ユーザーコンピューティングデバイス100上に表示することができるグラフィカルユーザーインターフェース(GUI)を生成するための機能を備える。GUIは、典型的には、アプリケーションコマンドマネージャ108にコマンドを発行するために入力デバイスを介してユーザーが選択することができるオブジェクトを表示する。
【００２１】
メッセージ要素エバリュエータ120は、本明細書で説明されている機能を備え、別個のアプリケーションとして、または機能モジュールとして(例示されているように)、またはメッセージングアプリケーション105内に含まれる機能として実装されうる。メッセージ要素エバリュエータ120は、送信検出エンジン122または機能コンポーネントを備えることができる。送信検出エンジン122は、アプリケーションコマンドマネージャ108と連携して、ユーザーがGUI内の「send」アイコンをクリックしたときなどに、アプリケーション105による「send」コマンドの発行を検出する。例えば、送信検出エンジン122は、「send」アイコンがアクティブ化されたときにセットされるメモリ内のフラグを定期的に評価し、そのフラグがセットされたときにメッセージ要素エバリュエータ120を起動するプロセスステップを備えることができる。送信検出エンジン122は、いくつかの実装では、「send」アイコンのアクティブ化によりメッセージ要素エバリュエータ120のアクティブ化を直接行うことができるためオプションである。送信コマンドの検出に応答して、送信検出エンジン122は、メッセージアドレス要素およびメッセージ内容要素をルールエンジン124に送信することができる。いくつかの実施形態では、送信検出エンジン122は、メッセージを解析して、評価されるべきさまざまな要素を取得し、それらの要素をルールエンジン124に受け渡すことができる。他の実施形態では、ルールエンジン124は、メモリから直接メッセージを取得し、そのメッセージを解析して、評価されるべき要素を取得することができる。以下でさらに詳しく説明するように、ルールエンジン124は、ルールデータストア126から該当するルールを取得し、それらのルールをメッセージアドレス要素および/またはメッセージ内容要素に適用することができる。
【００２２】
ルールデータストア126には、すべてのメッセージに適用することができるルールおよびそれぞれのメッセージの内容に基づき適用することができるルールを格納することができる。ルールは、条件またはテストおよび対応するアクションなど、さまざまな形態をとりうる。例えば、メッセージ要素がルールの条件を満たすか、またはテストに通った場合、ルール内に指定されている1つまたは複数のアクションが実行されうる。例えば、限定はしないが、評判の悪い個人(例えば、有名な「スパマー」)などの特定の受取人へのメッセージの送信を禁じるルールを設定することができる。別の説明に役立つ例として、競争相手のドメインなどの特定のドメインへのメッセージの送信を禁じるルールを設定することができる。
【００２３】
プロンプトまたは警告を単に生成する以上のメッセージ上での追加の処理を含む、より複雑なテストおよび条件付きアクションも、実装することができる。一実施形態では、特定の文法、単語の使い方、または内容評価は、テスト条件が満たされたときに実行され、その結果得られる推奨される変更がユーザーに対してすぐに表示されうる。例えば、メッセージが会社名または商標(例えば、「Qualcomm」)を含んでいるかどうかをテスト条件とすることができ、この条件が満たされると、会社名または商標の使い方が会社のポリシーまたは法的必要条件に従う(例えば、商標の印を含むか、または完全な商標を適切に使用している)ことを保証するために一まとまりの文法ルールを適用するアクションがトリガーされうる。このようなルールを商標および商号に適用すれば、商標が普通名詞化するのを会社側で回避しやすくなる可能性がある。別の例として、受取人を顧客、会社経営者、または政府役人のリストと比較することを、テスト条件で行うことができ、条件が満たされた場合、インフォーマルなフレーズ、スラング、および非専門語を識別して訂正する一まとまりの文法ルールがトリガーされる。第3の例として、メッセージが写真を含んでいるかどうかをテスト条件とすることができ、条件が満たされた場合、受取人と写真を送信されるべきでない受取人のリストとを比較する。
【００２４】
いくつかの追加の例示的なルール条件をTable 1(表1)にまとめたが、これは例示することのみを目的としている。
【００２５】
【表１】
2013503402.tif 000003
【００２６】
Table 1(表1)の例が示しているように、ルールは、さまざまな条件またはテスト、およびアラートとともに送信アクションを伴いうる。ルールは、複数の異なるメッセージフィールドを個別にまたはまとめてテストすることができる。条件またはテストは、特定の単語、受取人、またはアドレスドメインに対するものとしてよい。条件が満たされるルールにより実装されるアクションは、識別された特定の違反または問題を説明するアラートなどの、ユーザーに警報するための表示、さらには実行できるユーザーアクションの表示を生成する段階を含みうる。
【００２７】
ルールエンジン124は、メッセージ要素内容によって定義されているようなメッセージの文脈に基づきルールデータストア126からルールを選択することができる。つまり、ルールは、送信されたメッセージ内の1つまたは複数のフィールドの内容に基づきルールエンジン124によって選択されうる。例えば、特定の送信者から受取人へ、またはドメインへのメッセージの送信を禁じるルールを設定することができる。特定の送信者の文脈に基づき実装されるこのような文脈ルールは、メッセージングシステムのさまざまなユーザーのそれぞれに対して異なる許可を強制するために呼び出すことができる。
【００２８】
文脈ルールは、特定の受取人の文脈内のメッセージの内容に潜在的なエラーがあることを送信者に警報するために使用することもできる。例えば、メッセージフィールドは、メッセージ内容要素が1人または複数の受取人にとって不適切であるかどうかを判定するために評価することができる。例えば、Acme.comのJohnを宛先とするメッセージにはBeta.comの誰かを示す参照があるべきでないというルールを設定することができる。Acme.comのJohnを宛先とするメッセージは、結果としてメッセージのコピーを別の個人に送信する可能性のある他の受取人を含んでいるべきでないという別のルールを設定することもできる。
【００２９】
ルールエンジン124は、警報エンジン128を通じて動作するか、またはその結果を警報エンジン128に伝達し、適宜、リダイレクションエンジン132に伝達することができる。ルールエンジン124は、例えば、条件が満たされたルールに対応するアクションを回送するか、または条件が満たされたルールに対する識別子を回送することによってそのような動作を行うことができる。メッセージ要素エバリュエータ120の機能コンポーネントまたは機能の一部であるものとしてよい、警報エンジン128は、条件が満たされているルールにおいて指定されているアクションと一致するユーザーに対する表示を生成するのに十分な機能を備える。警報エンジン128は、ルールエンジン124から、ルールデータストア126から(例えば、条件が満たされているルールのインデックスを使用して対応するアクションを探すことによって)、またはアラートデータベース130を参照することによって表示されるべき情報を受信し、ルールエンジン124によって下される決定に適したアラートを選択することができる(例えば、条件が満たされているルールのインデックスに対応するアラートを選択することによって)。
【００３０】
Table 1(表1)に例示されているように、アラートは、注意、情報、または禁止を指示するものとしてよい。メッセージを送信する前に違反条件について送信者に考えさせるためにいくつかのルールを用意することができる(例えば、メッセージを50人を超える受取人に送信しようとしていることを確認する)。例えば、アラートは、ルールに違反していることをユーザーに注意するものとすることができる。アラートは、「The message you have sent to John will also be sent to Bob.」(Johnに送信したメッセージは、Bobにも送信される)のように、発見をユーザーに単に知らせるものであってもよい。注意または情報アラートは、メッセージを送信すべきかどうかを入力するように送信者に促すことができる。そのため、アクションがユーザー確認後のメッセージの送信を許可する場合、そのアクションは、メッセージを送信するか、またはメッセージングアプリケーションに戻ってメッセージフィールドを編集するなど、ユーザー指令を受信することを指示するプロンプト(例えば、GUIハイパーリンクアイコン)を生成する段階を含むことができる。例えば、アラートは、「To send, please click the confirm button or click on the cancel button and your message will not be sent.」(送信するには、確認ボタンをクリックしてください。キャンセルボタンをクリックすると、メッセージは送信されません)で終わることもできる。2つの競合するサプライヤーを宛先とするメッセージを送信するなど、違反となる条件が是正されるまで送信を妨げる他のルールも構成することができる。例えば、ユーザーがルールを指定変更できない場合、アクションに、メッセージングアプリケーションに戻ってメッセージフィールドを編集することを指示するプロンプトを生成する段階を含めることができる。以下では送信確認およびキャンセルコマンドについて説明する。
【００３１】
アラートは、アラート表示エンジン136によって実行される命令に従ってメッセージングアプリケーション105によって表示用にフォーマットされうる。ルールエンジン124が特定のルールの条件が満たされたことを示したことに対する応答して、アラート表示エンジン136は、アプリケーション表示マネージャ110と連携して、アラートメッセージの表示を行わせるか、またはアラートメッセージにリンクされているアラートアイコンを表示することができる。一実施形態では、アラートメッセージの属性は、ユーザー側で設定することができる。例えば、一実施形態では、ユーザーはフォント、フォントの色、ウィンドウサイズ、アラートアイコンの形状、アラートアイコンの色、およびアラートアイコンを明滅させるか、または常時点灯とするかなどの他の表示態様を設定することができる。
【００３２】
アラート表示エンジン136は、メッセージングアプリケーション表示マネージャ110と連携して、ルール違反で電子メールの送信が禁じられないときに、「confirm send」プロンプトオブジェクト(例えば、ハイパーリンクボタン)、「edit message」プロンプトオブジェクト、および/または「cancel message」プロンプトオブジェクトの表示を行わせることがさらにできる。
【００３３】
一実施形態では、ユーザーによる「confirm send」コマンドの選択により、メッセージングアプリケーション105による送信のためにメッセージがリリースされる。この送信のリリースは、メッセージ要素エバリュエータ120の機能をトリガーする送信コマンドによってアクティブ化される機能と異なる。したがって、「confirm send」コマンドをユーザーがアクティブ化しても、メッセージはメッセージ要素エバリュエータ120に送り返されない。その一方で、ユーザーが「edit message」コマンドを選択し、「send」を再び選択する前にメッセージングアプリケーションでメッセージを改訂する場合、編集されたメッセージは、メッセージ要素エバリュエータ120によって2度目に評価されうる。
【００３４】
ルールは、違反となる条件が是正されるまでメッセージの送信を禁じることもできる。この状況では、アラートメッセージは、「send confirmation」オブジェクトを提供せず、代わりに、「edit message」および/または「cancel message」オブジェクトのみを提供することができる。例えば、アラートメッセージは、「You are not authorized to send messages to Acme.com. This message will not be sent.」(Acme.comにメッセージを送信する権限を与えられていません。このメッセージは送信されません。)とすることができる。
【００３５】
機能モジュールとして、または他のモジュールもしくはメッセージングアプリケーションのうちの1つの機能の一部として備えることができる、オプションのリダイレクションエンジン132は、メッセージおよび/またはアラートが別のアドレスにリダイレクトされるべきかどうかについてルールエンジン122および警報エンジン128の判定を再検討するように構成されうる。例えば、メッセージをacme.comのJohnに送信する権限を与えられていないユーザーからのメッセージは、そのメッセージを調査することが可能なセキュリティ担当者のアドレスにリダイレクトすることができる。あるいは、またはそれに加えて、生成されたアラートをIPマネージャにリダイレクトし、さらにアクションを実行できるようにログに記録することができる。このようなログに記録されたアラートを使用して、追加の学習のため送信者を選択するか、またはルールを修正するか、または新規ルールを作成することができる。リダイレクションエンジン132は、ルールエンジン124によってフラグを立てられたメッセージをリダイレクトするためにルールおよびアドレスが格納されているオプションのリダイレクションデータストア134と連携して動作するように構成されうる。
【００３６】
図3は、一実施形態によるメッセージの評価を例示するプロセスフロー図である。ステップ300において、ユーザーコンピューティングデバイス100上で動作するメッセージングアプリケーション105を使用してメッセージを作成することができる。送信可能な状態になると、ステップ305で、メッセージングアプリケーションはユーザーから送信コマンドを受信することができる。ステップ310で、送信コマンドを受信したことに応答して、メッセージ要素エバリュエータ120の機能をアクティブ化し、1つまたは複数のルールを、ルールデータストア126から選択することができる。ステップ315で、メッセージ要素エバリュエータ120は選択されたルールを、選択された1つまたは複数のルールによって規定されているようにメッセージアドレス要素、メッセージ内容要素、またはその両方(さらには他のメッセージ要素)に適用する。
【００３７】
例えば、Acme.comのJohnを宛先とするメッセージは、受取人フィールド、メッセージ件名フィールド、またはメッセージ本文フィールド内に、Beta.comの誰かを示す参照を含むべきでないというルールを設定することができる。Acem.comのJohnを宛先とするメッセージは、結果としてメッセージのコピーを別の個人に送信する可能性のある他のメッセージアドレス要素を含んでいるべきでないという別のルールを設定することもできる。「Robert」を宛先とするメッセージではニックネーム「Bob」を使用すべきでないというさらに別のルールを設定することができる。これらの例では、送信すべきメッセージの宛先がJohn@Acme.comである場合、ステップ310で最初の2つの例示的なルールを選択することができ、またこのメッセージが「Robert」を受取人として含んでいる場合、第3の例示的なルールも選択することができる。
【００３８】
ルールエンジン124は、判定ステップ320で、選択されたルールのどれかに違反しているかどうかを判定することができる。ルールに違反していない場合(つまり、判定ステップ320=「いいえ」の場合)、メッセージは、ステップ325で送信のためリリースされうる。ルールに違反していた場合(つまり、判定ステップ320=「はい」の場合)、ルールエンジン124(またはメッセージ要素エバリュエータ120の別の機能要素)は、判定ステップ330で、違反のあったルールでメッセージの送信を禁じるかどうかを判定することができる。ルールがメッセージの送信を禁じる場合(つまり、判定ステップ330=「はい」の場合)、ステップ335で、アラートメッセージが表示され、メッセージを送信することが禁じられており、メッセージの送信がブロックされうることをユーザーに知らせることができる。ルールがメッセージの送信を禁じない場合(つまり、判定ステップ330=「いいえ」の場合)、ステップ340で、アラートメッセージが表示され、ルールに違反していることがユーザーに知らされ、メッセージの送信を確認するか、またはメッセージを編集もしくはキャンセルするようユーザーに求めることができる。メッセージ要素エバリュエータ120は、判定ステップ345で、ユーザー入力を受け取るまで待機することができるが、これは、タイムアウト閾値(図示せず)に従うものとしてよい。入力を受け取る前に、タイムアウト閾値に達した場合、メッセージはキャンセルされ、処理はメッセージングアプリケーション105に戻ることができる。
【００３９】
ユーザー入力を受け取った場合(つまり、判定ステップ345=「はい」)、メッセージ要素エバリュエータ120は、判定ステップ350で、入力が送信確認であるか、またはキャンセルコマンドであるかを判定することができる。入力が送信確認コマンドである場合(つまり、判定ステップ350=「送信」の場合)、メッセージは、ステップ355で送信のためリリースされうる。受け取ったユーザー入力がキャンセルコマンドである場合(つまり、判定ステップ350=「キャンセル」の場合)、ステップ360で、メッセージ送信コマンドはキャンセルされ、処理はメッセージングアプリケーション105のメッセージングコマンドマネージャ108に戻り、ユーザーがメッセージの編集または異なるメッセージの草稿作成を行うことが可能となる。
【００４０】
ルール条件が満たされたときに表示すべきアラートメッセージの内容は、ユーザーまたはメッセージングシステムの管理者側で決定もしくは選択することができる。例えば、限定はしないが、アラートメッセージは、違反されたルール、およびルール違反に対処するためにメッセージを訂正する仕方に関する指示を含むことができる。一実施形態では、管理者は、既定のルールを設定することができ、ユーザーは、既定のルールを指定変更しない、または矛盾しないように、個人的メッセージ評価ルールを作成するなどにより、既定のルールを強化することが許されるものとすることができる。
【００４１】
上述のように、メッセージングシステムは、クライアント/サーバーシステムアーキテクチャで実装することができる。図4は、一実施形態によるクライアント/サーバーアーキテクチャで使用するのに適しているメッセージ要素エバリュエータを備えるメッセージングシステムの例示的な機能コンポーネントを示すブロック図である。図4に例示されているように、メッセージ要素エバリュエータ420の機能は、メッセージサーバー440内に置かれ、メッセージサーバー440内に配置されているメッセージマネージャサービス450と連携して動作することができる。この実施形態では、メッセージングクライアント405は、ユーザーコンピューティングデバイス400上にホストされ、メッセージングネットワーク410を介してメッセージマネージャサービス450と共同でメッセージを生成することができる。ユーザー入力は、メッセージングクライアント405側でフォーマットするか、または処理のためメッセージマネージャサービス450に受け渡すことができる。メッセージが送信されるべきであるとユーザーが指示した場合、メッセージ要素エバリュエータサービス420は、後述のようにメッセージ要素を評価する処理を引き継ぐことができる。
【００４２】
図5は、一実施形態によるメッセージマネージャサービス450内で動作するメッセージ要素エバリュエータサービス420の例示的な機能コンポーネントを示すブロック図である。メッセージングクライアント405は、クライアントコマンドマネージャ508およびクライアント表示マネージャ510を備えることができる。クライアント表示マネージャ510は、ユーザーコンピューティングデバイス400上に表示することができるGUIを生成することができる。図2を参照しつつ上で説明されている実施形態と同様に、GUIは、入力デバイス(図示せず)を使用してコマンドをクライアントアプリケーションコマンドマネージャ508に発行してユーザーによる選択のためのオブジェクトを表示することができる。
【００４３】
メッセージサーバー440は、メッセージングマネージャサービス450を備えることができる。メッセージングマネージャサービス450は、クライアント/サーバーメッセージングインターフェース510およびメッセージ要素エバリュエータサービス420を備えることができる。
【００４４】
クライアント/サーバーメッセージングインターフェース510は、メッセージングネットワーク410を介してメッセージングクライアント405と連携動作することができる。クライアント/サーバーメッセージングインターフェース510は、後述のように送信検出サービス522およびアラート表示サービス536を介してメッセージ要素エバリュエータサービス420と連係動作することができる。
【００４５】
送信検出サービス522は、ユーザーがユーザーコンピューティングデバイス400上で「send」コマンドをいつ選択したかを認識することを可能にする機能を有するものとしてよい。送信検出サービス522は、例えば、クライアントコマンドマネージャ508と連携することによって、または送信用のフォーマットされたメッセージを受け取った後に、認識を実行することができる。送信コマンドの検出に応答して、送信検出サービス522は、メッセージアドレス要素およびメッセージ内容要素をルールエンジンサービス524に送信することができる。いくつかの実施形態では、送信検出サービス522は、クライアントコマンドマネージド508から受信したメッセージを解析して、評価されるべきさまざまな要素を取得し、それらの要素をルールエンジンサービス524に受け渡すことができる。他の実施形態では、ルールエンジンサービス524は、サーバーメモリから直接、またはクライアント/サーバーメッセージングインターフェース510からメッセージを取得し、そのメッセージを解析して、評価されるべき要素を取得することができる。以下でさらに詳しく説明するように、ルールエンジンサービス524は、ルールデータストア526から該当するルールを取得し、それらのルールをメッセージアドレス要素および/またはメッセージ内容要素に適用することができる。
【００４６】
ルールデータストア526には、すべてのメッセージに適用することができるルールおよびそれぞれのメッセージの内容に基づきメッセージに適用することができるルールが格納される。図2を参照しつつ上で説明されているように、特定の受取人または特定のアドレスドメインへのメッセージの送信を禁じるルールを設定することができる。
【００４７】
図2を参照しつつ上で説明されている実施形態と同様に、ルールエンジンサービス524は、送信されたメッセージ内の1つまたは複数のフィールドの内容に基づきルールデータストア526からルールを選択することができる。文脈ルールは、特定の1人または複数の受取人の文脈におけるメッセージの内容の中に潜在的なエラーがあることを送信者に警報するために使用することもできる。
【００４８】
ルールエンジンサービス524は、警報サービス528を通じて動作するか、またはその結果を警報サービス528に伝達し、適宜、リダイレクションサービス532に伝達することができる。ルールエンジンサービス524は、例えば、条件が満たされたルールに対応するアクションを回送するか、または条件が満たされたルールに対する識別子を回送することによってそのような動作を行うことができる。メッセージ要素エバリュエータサービス420の機能コンポーネントまたは機能の一部であるものとしてよい、警報サービス528は、クライアント/サーバーメッセージングインターフェース510およびメッセージネットワーク510を介してユーザーコンピューティングデバイス400に中継して戻すべき表示を生成するのに十分な機能を備える。警報サービス528は、ルールエンジンサービス524から、ルールデータストア526から(例えば、条件が満たされているルールのインデックスを使用して対応するアクションを探すことによって)、またはアラートデータベース530を参照することによって表示されるべき情報を受信し、ルールエンジンサービス524によって下される決定に適したアラートを選択することができる(例えば、条件が満たされているルールのインデックスに対応するアラートを選択することによって)。
【００４９】
図2を参照しつつ上で説明されているように、アラートは、注意、情報、または禁止を指示するものとしてよい。アラートは、クライアント/サーバーメッセージングインターフェース510を介して伝達されるXMLまたはHTTP命令などの、アラート表示サービス536によって与えられる命令に従ってメッセージングクライアント405による表示用にフォーマットされうる。そのため、警報サービス528は、クライアント/サーバーメッセージングインターフェース510およびメッセージングネットワーク410を介してクライアント表示マネージャ510に送信されるユーザーコンピューティングデバイス400上に表示するためのアラートを生成するようにアラート表示サービス536に指令することができる。クライアント表示マネージャ510は、表示命令を受信し、メッセージングクライアント405に、アラートメッセージを表示させるか、またはアラートメッセージにリンクされうるアラートアイコンを表示させることができる。一実施形態では、アラートメッセージの属性は、アラートデータストア530またはルールデータストア526に格納するためメッセージサーバー440にフォーマット機能選択を送信することなどにより、ユーザーによって設定されうる。例えば、アラート表示サービス536は、メッセージングクライアント405に、ルール違反で電子メールの送信が禁じられないときに、「confirm send」プロンプトオブジェクト(例えば、ハイパーリンクボタン)、「edit message」プロンプトオブジェクト、および/または「cancel message」プロンプトオブジェクトの表示を行わせる命令を生成することができる。一実施形態では、ユーザーによる「confirm send」コマンドの選択により、メッセージサーバー440による送信のためにメッセージがリリースされる。
【００５０】
ルールは、違反となる条件が是正されるまでメッセージの送信を禁じることもできる。この状況では、アラートメッセージは、「send confirmation」オブジェクトを提供せず、代わりに、「edit message」および/または「cancel message」オブジェクトのみを提供することができる。
【００５１】
機能モジュールとして、または他のモジュールもしくはメッセージサーバー440のうちの1つの機能の一部として備えることができる、オプションのリダイレクションサービス532は、メッセージおよび/またはアラートが別のアドレスにリダイレクトされるべきかどうかについてルールエンジンサービス524および警報サービス528の判定を再検討するように構成されうる。
【００５２】
メッセージ要素エバリュエータサービス420による処理メッセージは、図3を参照しつつ上で説明されているのと論理的に同様のものとしてよい。メッセージ要素サービス420はその機能をメッセージサーバー440の機能の一部として実行し、メッセージングネットワーク410上でアラートメッセージをユーザーコンピューティングデバイス400内のメッセージングクライアント405に送信するので、機能的な相違が生じる。この相互のやり取りは、クライアント/サーバーメッセージングインターフェース510によって円滑にされる。
【００５３】
上述のように、さまざまな実施形態を広範にわたるメッセージングシステムおよびプロトコルとともに使用することができる。例として、以下に、電子メール(「email」)、ショートメッセージサービス(SMS)、およびインスタントメッセージング(IM)メッセージングプロトコルとともに使用するための例示的な実施形態を示す。
【００５４】
図6は、電子メールの実施形態の例示的な機能コンポーネントのブロック図である。ユーザーコンピューティングデバイス600は、電子メールアプリケーション605を動作させる。電子メールアプリケーション605は、電子メールコマンドマネージャ608および電子メール表示マネージャ610を備えることができる。電子メール表示マネージャ610は、ユーザーコンピューティングデバイス600上に表示されるGUIを生成することができる。グラフィカルユーザーインターフェース(GUI)は、電子メールコマンドマネージャ608にコマンドを発行するために入力デバイスを使用してユーザーが選択することができるオブジェクトを表示する。
【００５５】
図2を参照しつつ上で説明されている一般的なメッセージングアプリケーション105のように、電子メールアプリケーション605は、1つまたは複数の入力デバイス(図示せず)を介してユーザーからメッセージフィールド要素を受信するように構成されうる。電子メールアプリケーション605は、図2を参照しつつ上で説明されているようにメッセージ要素エバリュエータ120と連携するように構成することができる。電子メールアプリケーション605は、電子メール対応ネットワーク610を介して電子メールサーバー640によって操作される電子メールメッセージマネージャ650と通信することができる。
【００５６】
典型的には電子メールプロトコルは、電子メールをさまざまな方法でアドレス指定することを可能にする。ユーザーは、電子メールアプリケーション605のユーザーに提示されるGUIを介して「to」、「cc」、または「bcc」に意図された受信者の電子メールアドレスを入力することができる。受取人のアドレスは、何回かのキーストロークに応じてフィールド内に自動的に挿入することもできる(「オートコンプリート」と称されることもある)。ユーザーは、受取人のリストを表すグループ名を選択することもできる。受取人の名前を入力するこれらの方法のどれか1つを使用すると、その結果、意図された受信者のアドレスでないアドレスを誤って選択する可能性がある。
【００５７】
図2を参照しつつ上で説明されているように、メッセージ要素エバリュエータ120は、電子メールアプリケーション605のユーザーによる「send」コマンドの選択を検出するように構成されうる。メッセージ要素エバリュエータ120による「send」コマンドの検出は、図2を参照しつつ上で説明されている。
【００５８】
図2を参照しつつ上で説明されているように、送信コマンドが検出された場合、ルールエンジン124は、電子メールアプリケーション605による電子メールの送信を許可する前にルールデータストア126から選択されうるルールを使用して電子メールメッセージのフィールドを評価する。図2を参照しつつ上で説明されている例示的なルールを超えて、ルールエンジン124は、電子メールがユーザーによって送信されうるか、または特定の曜日に電子メール受信者に送信されうるかを判定するなどのルールを電子メールメッセージの日付に適用することができる。
【００５９】
一実施形態では、ルールエンジン124は、選択されたルールの条件が満たされているかどうかを判定するために電子メールフィールドのキーワード検索を実行することができる。例えば、ルールエンジン124は、会社名(例えば、Acme Co.およびBeta Co.)またはドメイン(例えば、Acme.comおよびBeta.com)などのキーワードを検索することができる。このような検索に対するキーワードをルールデータストア126に保存することができる。この例示的な実施形態では、ルールデータストア126は、一まとまりの既定のキーワードおよび一まとまりのユーザー選択キーワードを格納することができる。
【００６０】
図2を参照しつつ上で説明されているように、ルールエンジン124は、その結果を警報エンジン128に伝達し、適宜、リダイレクションエンジン132に伝達することができる。警報エンジン128は、アラートデータベース130を参照して、ルールエンジン124によって行われる判定に適したアラートを選択することができる。
【００６１】
適切なアラートが注意を示すか、または情報を示す場合、アラート表示エンジン136は、電子メール表示マネージャ610とさらに連携して、「confirm send」コマンドオブジェクト、「edit message」および/または「cancel message」オブジェクトを表示することができる。「confirm send」コマンドオブジェクトがアクティブ化されると、電子メールメッセージネットワーク610を介して電子メールアプリケーション605が電子メールメッセージサーバー640に送信するための電子メールがリリースされる。
【００６２】
一実施形態では、アラート表示エンジン136は、識別されたキーワードをハイライト表示した電子メールメッセージのコピーを作成することができる。電子メールメッセージのハイライト表示されたコピーは、ユーザーコンピューティングデバイス600に表示するため電子メール表示マネージャ610に送ることができる。ハイライト表示されるテキストは、色、下線、太字、または他の視覚的合図によって示すことができる。
【００６３】
一実施形態では、ルールエンジン124は、適宜、ルール違反判定をリダイレクションエンジン132に受け渡すことができる。リダイレクションエンジン132は、ルールエンジン122および警報エンジン128の判定を再検討し、電子メールメッセージおよび/またはアラートを別のアドレスにリダイレクトすべきかどうかを判定するように構成されうる。あるいは、またはそれに加えて、ルール違反に対応するアラートをIPマネージャにリダイレクトし、さらにアクションを実行できるようにログに記録することができる。
【００６４】
図7は、一実施形態による電子メールメッセージの評価を例示するプロセスフロー図である。ステップ700において、ユーザーコンピューティングデバイス600上で動作する電子メールアプリケーション605を使用して電子メールメッセージを作成することができる。ステップ705で、電子メールアプリケーション105がユーザーから送信コマンドを受信した場合、メッセージ要素エバリュエータ120は、ステップ710で、ルールデータストア126から1つまたは複数のルールを選択することができる。選択ステップ715で、メッセージ要素エバリュエータ120は、選択された1つまたは複数のルールを、選択された1つまたは複数のルールによって規定されているようにメッセージアドレス要素、メッセージ内容要素、またはその両方に適用することができる。
【００６５】
ルールエンジン124は、判定ステップ720で、選択されたルールのどれかに違反しているかどうかを判定することができる。ルールに違反していない場合(つまり、判定ステップ720=「いいえ」の場合)、電子メールメッセージは、ステップ725で受取人への送信のため電子メールサーバー640に送信されうる。ルールに違反していた場合(つまり、判定ステップ720=「はい」の場合)、ルールエンジン124(またはメッセージ要素エバリュエータ120の別の機能要素)は、判定ステップ730で、違反のあったルールで電子メールメッセージの送信を禁じるかどうかを判定することができる。ルールが電子メールメッセージの送信を禁じる場合(つまり、判定ステップ730=「はい」の場合)、ステップ735で、アラートメッセージが表示され、電子メールメッセージを送信することが禁じられており、電子メールがブロックされうることをユーザーに知らせることができる。メッセージ要素エバリュエータが、電子メールメッセージが送信されないようブロックする。ルールが電子メールメッセージの送信を禁じない場合(つまり、判定ステップ730=「いいえ」の場合)、ステップ740で、アラートメッセージが表示され、ルールに違反していることがユーザーに知らされ、メッセージの送信を確認するか、または電子メールメッセージ送信コマンドを編集もしくはキャンセルするようユーザーに求めることができる。
【００６６】
メッセージ要素エバリュエータ120は、判定ステップ745で、ユーザー入力を受け取るまで待機することができるが、これは、タイムアウト閾値(図示せず)に従うものとしてよい。入力を受け取る前に、タイムアウト閾値に達した場合、電子メールメッセージはキャンセルされ、処理は電子メールアプリケーション605に戻ることができる。
【００６７】
ユーザー入力を受け取った場合(つまり、判定ステップ745=「はい」の場合)、メッセージ要素エバリュエータ120は、判定ステップ750で、入力が送信確認であるか、またはキャンセルコマンドであるかを判定することができる。入力が送信確認コマンドである場合(つまり、判定ステップ750=「送信」の場合)、電子メールメッセージは、ステップ755で電子メールサーバー640に送信されうる。受け取ったユーザー入力がキャンセルコマンドである場合(つまり、判定ステップ750=「キャンセル」の場合)、ステップ760で、メッセージ送信コマンドはキャンセルされ、処理は電子メールアプリケーション605の電子メールコマンドマネージャ608に戻り、ユーザーが電子メールメッセージの編集または異なる電子メールメッセージの草稿作成を行うことが可能となる。
【００６８】
図8は、一実施形態によるSMSメッセージシステムの機能コンポーネントのブロック図である。このシステムでは、モバイルデバイス800は、ユーザーがSMSメッセージフォーマットでメッセージを作成することを可能にするように構成されたSMSアプリケーション805を動作させる。SMSアプリケーションは、セルラーデータネットワーク810を介して完成したSMSメッセージをSMSメッセージセンター815に送信する。SMSメッセージは、SMSメッセージをSMSメッセージの送り先となるモバイルデバイスと通信するセルラー基地局825にルーティングする移動交換局820に受け渡されうる。基地局825は、セルラーデータ通信830を介してメッセージをSMSメッセージの受取人に関連付けられているモバイルデバイス835に送る。
【００６９】
この実施形態では、SMSメッセージアプリケーション805は、メッセージ要素エバリュエータ120を備えるが、この機能については、図2を参照しつつ上で説明されている。メッセージ要素エバリュエータ120は、図2を参照しつつ上で説明されているようにSMSメッセージをSMSメッセージセンター815に送信する前にルールと突き合わせてSMSメッセージを評価する。SMSメッセージを評価するためのプロセスは、図3を参照しつつ上で説明されているものに類似している。
【００７０】
図9は、一実施形態によりメッセージ要素エバリュエータ920がSMSメッセージセンター815とともに動作するSMSメッセージングシステムの例示的な機能コンポーネントのブロック図である。この実施形態では、ショートメッセージセンター815は、メッセージ評価機能およびルールデータストアがモバイルデバイス内に構成される必要がないようにメッセージ要素エバリュエータ920を備える。メッセージ要素エバリュエータ920の機能は、図3および図5を参照しつつ上で説明されている。この実施形態では、SMSメッセージセンター815で受信されたSMSメッセージは、アドレス指定されたモバイルデバイス835に送信されるルールと突き合わせてメッセージ要素エバリュエータ920によって評価される。メッセージ要素エバリュエータサービス920の機能は、図3および図5を参照しつつ上で説明されているのものと、モバイルデバイス800上のSMSアプリケーション805がアラートを表示するコマンドを受信することができない場合があることを除き類似しているものとしてよく、したがって、メッセージ要素エバリュエータ920は、返信SMSメッセージの形態でアラートを伝達することができる。
【００７１】
図8および図9は、SMSメッセージングシステムの文脈において説明されているが、機能要素は、マルチメディアメッセージングシステム(MMS)にも適用可能である。このような一実施形態では、メッセージ要素エバリュエータ120は、MMSメッセージ内に埋め込むことができるオーディオ、ビデオ、およびイメージファイルに適用可能なルールを適用することができる。MMSメッセージを評価するためのプロセスも、図3および図5を参照しつつ上で説明されているのものと、モバイルデバイス800上のMMSアプリケーションがアラートを表示するコマンドを受信することができない場合があることを除き類似しているものとしてよく、したがって、メッセージ要素エバリュエータ920は、返信SMSまたはMMSメッセージの形態でアラートを伝達することができる。
【００７２】
図10は、一実施形態によるインスタントメッセージング(IM)システムの論理コンポーネントのブロック図である。ユーザーコンピューティングデバイス100は、IMアプリケーション1005を動作させる。IMアプリケーション1005は、1つまたは複数の入力デバイスを介してユーザーからメッセージフィールド要素を受信するように構成されうる。メッセージフィールド要素は、IMメッセージを構築して送信するためにIMメッセージアプリケーション1005によって使用されうるメッセージ内容要素、メッセージアドレス要素、および他のメッセージフィールド要素を含むことができる。
【００７３】
この実施形態では、IMメッセージアプリケーション1005は、メッセージ要素エバリュエータ120を備えるが、この機能については、図2を参照しつつ上で説明されている。メッセージ要素エバリュエータ120は、IMメッセージをIMメッセージサーバー1040に送信する前にルールと突き合わせてIMメッセージを評価する。
【００７４】
図11は、一実施形態によるIMメッセージングシステムの例示的なコンポーネントのブロック図である。この実施形態では、IMサーバー1040は、メッセージ要素エバリュエータ1120を備える。メッセージ要素エバリュエータ1120の機能は、図2、図3、および図5を参照しつつ上で説明されている。メッセージ要素エバリュエータ1120は、IMメッセージをメッセージ受取人に送信する前にルールと突き合わせてIMサーバー1040によって受信されたIMメッセージを評価することができる。IMメッセージを評価するためのプロセスも、図3および図5を参照しつつ上で説明されているのものと、コンピューティングデバイス100上のIMアプリケーション1005がアラートを表示するコマンドを受信することができない場合があることを除き類似しているものとしてよく、したがって、メッセージ要素エバリュエータ1120は、返信IMメッセージの形態でアラートを伝達することができる。
【００７５】
さまざまな実施形態において、ルールデータストア126は、ルールをさまざまなデータ構造体に格納することができる。図12は、さまざまな態様とともに使用するのに適している例示的なデータ構造体を示している。この例示的なデータ構造体では、ルールは、ルール条件を構成する情報(データフィールド1210〜1220)と、ルール条件が満たされた場合に実装されるべきその結果のアクションおよび/またはアラート(データフィールド1222)を格納する複数のデータフィールド1208〜1222をそれぞれが含む一連のデータレコード1202〜1206としてデータテーブル内に格納される。データテーブルは、編成のため、または特定のルールに素早くアクセス可能にするために、インデックス(データフィールド1208)を備えることもできる。データストア126は、多因子条件および複数のメッセージ要素に適用される条件を収めるために多数のデータフィールドを備えることができる。条件データフィールド1210、1214、1218は、対応する条件が満たされなければならないか、またはルールの条件が満たされるために適宜満たされうるかどうかを指定する結合条件データフィールド1212、1216、1220に関連付けることができる。例えば、図12に例示されているように、ルールは、受取人メッセージ要素をテストし、メッセージの宛先が米国政府内の組織もしくは個人であるかどうかを判定し、もしそうならば、契約部門または法務部門にデータレコード1202に示されているように連絡を受けているかどうかを問い合わせるアラートを送信者に対して生成することができる。この例では、第1の条件は、toアドレスが、データレコード1202のデータフィールド1210に示されているような政府に関連するドメイン名を含むという条件とすることができる。この条件が満たされている場合、契約部門および/または法務部門が知らされているかどうかに関して問い合わせるメッセージをポストするようにデータフィールド1222内に格納されている関連する結果またはアラートをアクティブ化することができる。データレコード1204に格納されている第2の例示的なルールは、受取人が法務部門または会社弁護士を含むかどうか(データフィールド1210)、また(データフィールド1212の「And」によって示されているように
)件名が単語「patent」を含んでいるかどうか(データフィールド1214)、あるいは(データフィールド1216および1220の両方において「Or」によって示されているように)メッセージ本文が単語「patent」を含んでいるかどうか(データフィールド1218)をテストする。これらの条件が満たされている場合、受取人として特許部門を含むようにデータフィールド1222内に格納されている関連する結果またはアラートをアクティブ化することができる。データレコード1206に格納されている第3の例示的なルールは、10人を超える受取人がいるかどうか(データフィールド1210)、また(データフィールド1212内の「And」によって示されているように)件名が、メッセージが前のメッセージへの返信であることを示す「re:」を含むかどうか(データフィールド1214)をテストする。これらの条件が満たされている場合、データフィールド1222内に格納されている関連する結果またはアラートは、メッセージが「reply to all」として送信されることを警報するアラートを生成することができる。
【００７６】
当業者であれば、図12に示されている例示的なデータ構造体は、ルールデータストア126に使用されうるさまざまなデータ構造体のうちの1つに過ぎないことを理解するであろう。例えば、ルールは、代替的に、XML文字列、if-thenで入れ子になっている実行可能なソフトウェア命令、およびエントリとして市販のデータベースに格納することもできる。それに加えて、ルールデータストア126は、外部メモリだけでなくコンピューティングデバイス内部メモリ内にも格納することができる。このような外部メモリは、有線データ接続(例えば、USBケーブル、ローカルエリアネットワーク、もしくはインターネット接続)またはワイヤレスデータリンク(例えば、Wifi、Bluetooth(登録商標)、またはセルラーデータ通信リンク)によってコンピューティングデバイスに結合された知られているストレージデバイスであってもよい。例えば、データストア126は、USBメモリ、ローカルエリアネットワークを介してアクセスされる会社サーバー、またはインターネットを介してアクセスされるリモートサーバー内に置くことができる。
【００７７】
すでに述べたように、ユーザーは、例えば、携帯電話、携帯電話および/またはWiFiトランシーバを備える個人情報端末(PDA)、モバイル電子メール受信機、モバイルウェブアクセスデバイス、および1つまたは複数のデータ通信リンクに接続される将来開発される可能性のある他のプロセッサ搭載デバイスなどのモバイルデバイスを含む、さまざまなコンピューティングデバイスを使用してメッセージングシステムをインタラクティブに操作することができる。さまざまな実施形態とともに使用するのに適している典型的なモバイルデバイスは、図13に例示されているコンポーネントを共通に有する。例えば、例示的なモバイルデバイス1300は、内部メモリ1302、ディスプレイ1303に結合されたプロセッサ1301を備えることができる。それに加えて、モバイルデバイス1300は、ワイヤレスデータリンクおよび/またはプロセッサ1301に結合されたに携帯電話トランシーバ1305に接続されている電磁放射線を送信し受信するためのアンテナ1304を有することができる。いくつかの実装では、トランシーバ1305ならびに携帯電話通信に使用されるプロセス1301およびメモリ1302の一部は、ワイヤレスデータリンクを介したデータインターフェースを構成するので無線インターフェースと総称される。モバイルデバイスは、典型的には、キーパッド1306または小型キーボード、およびメニュー選択ボタンまたはロッカースイッチ1307もユーザー入力を受け取るために備える。
【００７８】
プロセッサ1301は、本明細書で説明されているさまざまな実施形態の機能を含む、さまざまな機能を実行するようにソフトウェア命令(アプリケーション)によって構成されうる任意のプログラム可能なマイクロプロセッサ、マイクロコンピュータ、または複数のプロセッサチップとすることができる。いくつかのモバイルデバイスでは、複数のプロセッサ1301を備え、例えば、1つプロセッサを無線通信機能専用とし、別の1つのプロセッサを他のアプリケーションを実行する機能専用とすることができる。典型的には、ソフトウェアアプリケーションがアクセスされ、プロセッサ1301にロードされる前に、ソフトウェアアプリケーションは内部メモリ1302に格納されるものとしてよい。いくつかのモバイルデバイスによっては、追加の外部もしくは内部メモリチップ1306(例えば、セキュアデータ(SD)カードまたはユニバーサルシリアルバス(USB)メモリデバイス)をコンピューティングデバイス1300に差し込み、プロセッサ1301に結合することができる。多くのモバイルデバイスにおいて、内部メモリ1302は、揮発性メモリ、またはフラッシュメモリなどの不揮発性メモリ、または両方の混合メモリとすることができる。また、上述のように、追加のメモリは、有線もしくはワイヤレスデータ通信リンクによってプロセッサ1301に結合される外部メモリストアの形態を取ることもできる。この説明のために、一般的にメモリと称した場合、外部メモリ、内部メモリ1302、モバイルデバイスに差し込まれている取り外し可能なメモリ1306、およびプロセッサ1301それ自体に組み込まれているメモリを含む、プロセッサ1301によってアクセス可能なすべてのメモリを指す。
【００７９】
上述の実施形態は、図14に例示されているパーソナルコンピュータ1460などの、さまざまなコンピューティングデバイス上に実装されうる。このようなパーソナルコンピュータ1460は、典型的には、揮発性メモリ1462に結合されているプロセッサ1461およびディスクドライブ1463などの大容量不揮発性メモリを備える。コンピュータ1460は、フレキシブルディスクドライブ1464およびプロセッサ1461に結合されたコンパクトディスク(CD)ドライブ1465も備えることができる。典型的には、コンピュータデバイス1460は、マウス1467などのポインティングデバイス、キーボード1468などのユーザー入力デバイス、およびディスプレイ1469も備える。コンピュータデバイス1460は、USBまたはFireWire(登録商標)コネクタソケットまたはプロセッサ1461をネットワークもしくは外部メモリに結合するための他のネットワーク接続回路1466などの、データ接続を確立するために、または外部メモリデバイスを受け入れるためにプロセッサ1461に結合されている多数のコネクタポートも備えることができる。ノートブック構成では、コンピュータハウジングは、コンピュータ技術分野においてよく知られているようにポインティングデバイス1467、キーボード1468、およびディスプレイ1469を収納する。また、上述のように、追加のメモリは、有線もしくはワイヤレスデータ通信リンクによってプロセッサ1461に結合される外部メモリストアの形態を取ることもできる。この説明のために、一般的にメモリと称した場合、外部メモリ、内部メモリ1462、1463、1465、コンピュータ1460に差し込まれている取り外し可能なメモリ、およびプロセッサ1461それ自体に組み込まれているメモリを含む、プロセッサ1461によってアクセス可能なすべてのメモリを指す。
【００８０】
上述の多くの態様は、図15に例示されているサーバー1500などの、さまざまなリモートサーバーデバイスにより実装することもできる。このようなサーバー1500は、典型的には、揮発性メモリ1502に結合されているプロセッサ1501およびディスクドライブ1503などの大容量不揮発性メモリを備える。サーバー1500は、フレキシブルディスクドライブおよび/またはプロセッサ1501に結合されたコンパクトディスク(CD)ドライブ1506も備えることができる。サーバー1500は、ネットワーク回路1505とのデータ接続を確立するためにプロセッサ1500に結合されている多数のコネクタポート1504も備えることができる。
【００８１】
前述の方法の説明およびプロセスフロー図は、単に、例の図解としてのみ提示されており、さまざまな実施形態のステップが示されている順序で実行されることが必要であることも、また実行されなければならないことを暗示することも意図していない。当業者であれば理解するように、前述の実施形態におけるステップは任意の順序で実行されうる。さらに、ステップ識別子への参照、および「その後」、「次いで」、「次に」などの言い回しは、ステップの順序を制限することを意図しておらず、このような識別子および言い回しは、単に、方法を読者に順に説明するために使用されているだけである。
【００８２】
本明細書で開示されている実施形態に関して説明されているさまざまな例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装することができる。ハードウェアとソフトウェアとを入れ替えて使用できることを明確に例示するために、上では、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、一般的にその機能に関して説明されている。このような機能がハードウェアまたはソフトウェアとして実施されるかどうかは、特定の応用例とシステム全体に課される設計制約とよって決まる。当業者であれば、それぞれの特定の用途についてさまざまな方法により説明されている機能を実装することができるが、そのような実装決定は、本発明の範囲からの逸脱を引き起こすものとして解釈すべきではない。
【００８３】
本明細書で開示されている態様に関して説明されているさまざまな例示的な論理回路、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書で説明されている機能を実行するように設計されているこれらの任意の組合せにより実装または実行することができる。汎用プロセッサは、マイクロプロセッサであってよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または他のそのような構成として実装することもできる。あるいは、いくつかのステップもしくは方法は、与えられた機能専用の回路によって実行されうる。
【００８４】
1つまたは複数の例示的な態様において、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組合せで実装することができる。ソフトウェアで実装された場合、これらの機能は、コンピュータ可読媒体上で1つまたは複数の命令もしくはコードとして格納または伝送されうる。本明細書で開示されている方法またはアルゴリズムのステップは、コンピュータ可読媒体上に置くことができる実行されるプロセッサ実行可能ソフトウェアモジュール内に具現化されうる。コンピュータ可読媒体は、一方の場所から他方の場所へのコンピュータプログラムの転送を容易にする媒体を含むコンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる利用可能な媒体とすることができる。例えば、限定はしないが、このようなコンピュータ可読媒体としては、RAM、ROM、EEPROM、CD-ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、または命令またはデータ構造体の形態で所望のプログラムコードを搬送または格納するために使用することができ、またコンピュータによってアクセスできる他の媒体が挙げられる。また、任意の接続を、コンピュータ可読媒体と呼んで差し支えない。例えば、ソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア線、デジタル加入者回線(DSL)、または赤外線、ラジオ、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバー、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア線、DSL、または赤外線、ラジオ、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されているような、「Disk」と「Disc」(両方とも日本語ではディスク)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスクおよびブルーレイディスクを含み、「Disk」は通常磁気的にデータを再現し、「Disc」はレーザーを使って光学的にデータを再現する。上記の組合せも、コンピュータ可読媒体の範囲に収まらなければならない。それに加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込むことが可能な、機械可読媒体および/またはコ
ンピュータ可読媒体上にコードおよび/または命令のうちの一方または組合せまたはセットとして配置されうる。
【００８５】
開示されている実施形態を前記のように提示したのは、当業者が本発明を製作または使用することができるようにするためである。これらの実施形態に対しさまざまな修正を加えられることは、当業者にとっては明白であろうし、また本明細書で定義されている一般原理は、本開示の範囲から逸脱することなく他の実施形態にも適用することができる。したがって、本発明は、本明細書に示されている実施形態に限定されることを意図されておらず、本明細書で開示されている原理および新規性のある特徴と一致する最も広い範囲を適用されることを意図されている。
【符号の説明】
【００８６】
100  ユーザーコンピューティングデバイス
105  メッセージングアプリケーション
108  アプリケーションコマンドマネージャ
110  アプリケーション表示マネージャ
120  メッセージ要素エバリュエータ
122  送信検出エンジン
124  ルールエンジン
126  ルールデータストア
128  警報エンジン
130  アラートデータベース
132  リダイレクションエンジン
136  アラート表示エンジン
140  メッセージサーバー
150  メッセージマネージャ
400  ユーザーコンピューティングデバイス
405  メッセージングクライアント
410  メッセージングネットワーク
420  メッセージ要素エバリュエータ
440  メッセージサーバー
450  メッセージマネージャサービス
508  クライアントコマンドマネージャ
510  クライアント/サーバーメッセージングインターフェース
522  送信検出サービス
524  ルールエンジンサービス
526  ルールデータストア
528  警報サービス
530  アラートデータベース
532  リダイレクションサービス
536  アラート表示サービス
600  ユーザーコンピューティングデバイス
605  電子メールアプリケーション
608  電子メールコマンドマネージャ
610  電子メール表示マネージャ
640  電子メールサーバー
650  電子メールメッセージマネージャ
800  モバイルデバイス
805  SMSアプリケーション
810  セルラーデータネットワーク
815  SMSメッセージセンター
820  移動交換局
825  セルラー基地局
830  セルラーデータ通信
835  モバイルデバイス
920  メッセージ要素エバリュエータ
1005  IMアプリケーション
1040  IMメッセージサーバー
1120  メッセージ要素エバリュエータ
1202〜1206  データレコード
1208〜1222  データフィールド
1300  モバイルデバイス
1301  プロセッサ
1302  内部メモリ
1303  ディスプレイ
1304  アンテナ
1305  携帯電話トランシーバ
1306  キーパッド
1307  ロッカースイッチ
1460  パーソナルコンピュータ
1461  プロセッサ
1462  揮発性メモリ
1463  ディスクドライブ
1464  フレキシブルディスクドライブ
1465  コンパクトディスク(CD)ドライブ
1466  ネットワーク接続回路
1467  マウス
1468  キーボード
1469  ディスプレイ
1500  サーバー
1501  プロセッサ
1502  揮発性メモリ
1503  ディスクドライブ
1504  コネクタポート
1505  ネットワーク回路
1506  コンパクトディスク(CD)ドライブ
【図１】
2013503402.tif 000004
【図２】
2013503402.tif 000005
【図３】
2013503402.tif 000006
【図４】
2013503402.tif 000007
【図５】
2013503402.tif 000008
【図６】
2013503402.tif 000009
【図７】
2013503402.tif 000010
【図８】
2013503402.tif 000011
【図９】
2013503402.tif 000012
【図１０】
2013503402.tif 000013
【図１１】
2013503402.tif 000014
【図１２】
2013503402.tif 000015
【図１３】
2013503402.tif 000016
【図１４】
2013503402.tif 000017
【図１５】
2013503402.tif 000018
【国際調査報告】
2013503402.tif 000019
2013503402.tif 000020
2013503402.tif 000021