新たなチャット会話を開始する要求を、エンティティから受け取るステップと、ユーザーが既に提案しているオープンチャットスレッドの数に少なくとも部分的に基づいて、前記エンティティが前記新たなチャット会話を開始することを許可するか否か判断するステップと、を備えている、方法。請求項1記載の方法において、前記判断するステップは、チャットキューに照会して、前記エンティティが提案しているオープンチャットスレッドの数を求めるステップを含む、方法。請求項1記載の方法であって、更に、前記エンティティが有するオープンチャットスレッドが閾値数未満であるという判断に応答して、前記エンティティに新たなチャット会話を開始することを許可するステップを備えている、方法。請求項1記載の方法であって、更に、前記エンティティが、少なくとも閾値数のオープンチャットスレッドを有するという判断に応答して、前記新たなチャット会話を開始する要求を拒否するステップを備えている、方法。請求項1記載の方法であって、更に、前記エンティティに、前記新たなチャット会話を開始することを許可することを示すステップと、前記エンティティが新たなチャット会話を開始したことに応答して、前記エンティティと関連のあるチャットキューに、新たなチャットスレッドを記録するステップと、を備えている、方法。請求項5記載の方法であって、更に、前記チャットキューから、時間切れとなったオープンチャットスレッドをいずれも取り除くステップを備えている、方法。請求項5記載の方法であって、更に、回答を受け取ったオープンチャットスレッドをいずれも前記チャットキューから取り除くステップを備えている、方法。請求項1記載の方法であって、更に、前記エンティティと関連のあるフィードバックを分析するステップと、少なくとも部分的に前記フィードバックに基づいて、チャレンジを前記エンティティに送信するステップと、を備えている、方法。コンピューター実行可能命令を備えている1つ又は複数のコンピューター読み取り可能媒体であって、前記命令を実行すると、チャットキューに、エンティティが提案したオープンチャットスレッドを記録し、前記エンティティが提案したオープンチャットスレッドの内、回答を受け取ったものをいずれも前記チャットキューから取り除き、前記エンティティが提案し前記チャットキューに残っているオープンチャットスレッドの数に少なくとも部分的に基づいて、前記エンティティに新たなチャット会話を開始することを許可するか否か判断する、ことを含む行為を実行する、1つ又は複数のコンピューター読み取り可能媒体。請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、前記チャットキューは、時間切れとなったオープンチャットスレッドをいずれも取り除くように構成されている、1つ又は複数のコンピューター読み取り可能媒体。請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、更に、実行すると、前記エンティティが提案し前記チャットキューに残っているオープンチャットスレッドの数が、閾値量未満であるという判断に応答して、前記エンティティに新たなチャット会話を開始することを許可する、ことを含む行為を実行するコンピューター実行可能命令を備えている、1つ又は複数のコンピューター読み取り可能媒体。請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、更に、実行すると、前記エンティティと関連のあるフィードバックを受け取り、少なくとも部分的に前記フィードバックに基づいて、チャレンジを前記エンティティに送信する、ことを含む行為を実行するコンピューター実行可能命令を備えている、1つ又は複数のコンピューター読み取り可能媒体。請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、更に、実行すると、前記エンティティが、チャット会話の一部として発生したテキストを分析し、少なくとも部分的に前記分析に基づいて、チャレンジを前記エンティティに送信する、ことを含む行為を実行するコンピューター実行可能命令を備えている、1つ又は複数のコンピューター読み取り可能媒体。請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、前記判断は、更に、前記エンティティと関連のあるフィードバックを受け取り、前記エンティティが、チャット会話の一部として発生したテキストを分析する、ことを含む、1つ又は複数のコンピューター読み取り可能媒体。エンティティが既に提案しているオープンチャットスレッドの数に少なくとも部分的に基づいて、前記エンティティに新たなオープンチャットスレッドを開くことを許可するか否か判断するように構成されている要求モジュールと、前記エンティティが既に提案しているオープンチャットスレッドの数を追跡するためのチャットキューと、前記チャットキューの中にある各オープンチャットを計時し、時間切れとなったオープンチャットスレッドをいずれも取り除くためのタイマーと、を備えている、システム。請求項15記載のシステムにおいて、前記要求モジュールは、前記エンティティが既に提案しているオープンチャットスレッドの数が、閾値量以上である場合、前記エンティティに新たなチャットスレッドを開くことを許可しないという指示を出すように構成されている、システム。請求項15記載のシステムにおいて、前記チャットキューは、回答を受け取ったチャットスレッドをいずれも取り除くように構成されている、システム。請求項15記載のシステムであって、更に、前記エンティティのチャット言動に関連するフィードバックを受け取るように構成されているフィードバックモジュールを備えている、システム。請求項15記載のシステムであって、更に、前記エンティティがチャット会話の一部として発生するテキストを分析するテキスト分析モジュールを備えている、システム。請求項15記載のシステムであって、更に、前記エンティティと関連のあるフィードバック、および前記エンティティがチャット会話の一部として発生したテキストのテキスト分析の内少なくとも1つに少なくとも部分的に基づいて、チャレンジを発生し、該チャレンジを前記エンティティに送信するチャレンジ発生器を備えている、システム。本明細書に記載するのは、インスタントメッセージングを通じたスパムSPIMの増殖を抑えるプロセスおよび技法である。本プロセスおよび技法は、インスタントメッセージングサービスチャットサービスとしても知られている、ピアツーピアネットワーク、またはその他の適したエンティティであればいずれによってでも実現することができる。チャットサービスは、ピアツーピアネットワークを通じて実現することもできる。チャットサービスは、チャットネットワークをホストし、チャットユーザーの通信を容易にするハードウェアおよび/またはソフトウェア設備を提供する。チャットサービスは、レート制限技法を実施して、個々のチャットユーザーが所与の時点において有することができるオープンチャットスレッドの数を制限することができる。チャットスレッドは、チャットユーザーが他のユーザー招待客を招待したときに、そのチャットユーザーとのインスタントメッセージング会話に使用するために作成される。チャットスレッドは、招待客からの回答がないままチャットに対する招待が残留する限り、またはチャットスレッドが時間切れにならない限り、開いたまま、即ち、保留のままでいる。人間のチャットユーザーであれば、特定の時間期間においてそのユーザーが発生することができるトラフィックの量には限度があるであろうが、コンピューターの自動化によって、スパマーおよびその他のエンティティが大量のSPIMを殆ど瞬時に送ることが可能となっている。このようなコンピューター自動化の一例にボットがある。ボットとは、自動的にまたは最小限の人間の介入によって、コンピューター化したオンライン環境においてコマンドを実行し、メッセージに回答し、またはルーチンタスクを実行することができる、デバイスまたはソフトウェアモジュールのことである。つまり、ボットは、チャット招待またはその他の合法的なチャットコンテンツを偽って、多数のチャットユーザーにSPIMを送るようにプログラミングすることができる。しかしながら、ボットは、特定のユーザーエリアスまたはユーザー識別子と関連付けることもできる。個々のユーザーが所与の時点において有することができるオープンチャットスレッドの数を制限することによって、チャットサービスは、短期間に大量のSPIMを送るボットの能力を抑制する。本明細書において用いる場合、ユーザーまたはチャットユーザーという用語は、人間のユーザー、コンピューター化したユーザー、または人間のユーザーおよびコンピューター化したユーザーの組み合わせを指すことができる。また、チャットユーザーが、SPIMを送るというような、違法チャット言動に関与しているか否か判断するために、ユーザーフィードバックも利用する。チャットサービスは、チャットユーザーにユーザーフィードバックを提出させることができ、このフィードバックに基づいて、チャットサービスは、ユーザーが、SPIMをチャットユーザーに送っているボットまたはその他のエンティティであるか否か判断するために、別の手順を実施することができる。テキスト分析は、チャットサービスが、チャットユーザーによって発生したテキストを分析して、そのチャットユーザーがSPIMを送信しているか否か判断することを可能にする。テキスト分析は、分析している個々のチャットコンテンツがSPIMである高い可能性を示す、特定の単語または単語の集合体を探すことができる。レート制限、ユーザーフィードバック、およびテキスト分析技法は、異なる方法で組み合わせて、特定のインスタントメッセージングサービスを用いて大量のSPIMを送信するスパマーの能力を抑制することができる。本明細書において記載する技法は、多くの異なる動作環境およびシステムにおいて用いることもできる。以下に、多種多様の実施態様について説明する。以下の章では、種々の実施態様を実用化するのに適した環境例について説明する。動作環境例図1は、前述のプロセスおよび技法を利用することができる動作環境の一例100を示す。しかしながら、本明細書において記載するプロセスおよび技法は、他のいずれのネットワークまたは他の計算デバイスの集合体にも、更に広く適用可能である。動作環境100は、プロファイルサーバー102、チャットイニシエータ104、およびチャット招待客106を含む。プロファイルサーバー102は、例えば、単体の汎用計算デバイスまたはメインフレームのような、あるいはサーバーのクラスタ例えば、サーバーファーム状に配列するのようなものを含む、多くの方法で実現することができる。プロファイルサーバー102は、チャットサーバーをホストし、チャットサーバー機能を実行することができる。他の動作環境例では、接続サーバー、チャットサーバー、およびその他のネットワークリソースを利用するチャットサービスを用いることもできる。チャットイニシエータ104およびチャット招待客106は、例えば、汎用計算デバイス、ラップトップ、移動体計算デバイス、PDA、セルラフォン、衛星デバイスなどのようなものを含む、あらゆる数の方法で実現することができる。更に、チャットイニシエータ104およびチャット招待客106は、人間のユーザー、自動化ユーザー例えば、ボット、または人間のユーザーおよび自動化ユーザーの組み合わせのようなエンティティによって動作させることもできる。環境100におけるエンティティはネットワーク群108を通じて接続され、互いに通信することができる。ネットワーク群108は、限定ではなく、ローカルエリアネットワークLAN、ワイドエリアネットワークWAN、および都市エリアネットワークMANを含むことができる。更に、ネットワーク群108は、ワイヤレスネットワーク、有線ネットワーク、またはその組み合わせを表す。プロファイルサーバー102は、システムメモリー112に結合されている1つ又は複数のプロセッサー群110を含む。プロセッサー群110は、例えば、マイクロプロセッサー、マイクロコントローラー、マルチコアプロセッサーなどを含むことができる。プロセッサー群110は、システムメモリー112に格納されているコンピュータープログラム命令を読み出して実行するように構成されている。システムメモリー112は、ランダムアクセスメモリーRAMのような揮発性メモリー、および/またはリードオンリーメモリーROMまたはフラッシュRAMのような不揮発性メモリーの形態とした、コンピューター読み取り可能媒体を含む。入力/出力コンポーネント114例えば、マウスおよびキーボードは、プロファイルサーバー102にデータ入力および出力機能を設ける。また、プロファイルサーバー102は、チャットユーザーのオンラインチャット言動を追跡、分析、および格納する種々のコンポーネントも含む。これらのコンポーネントには、チャット要求モジュール116、チャットキュー118、タイマーモジュール120、フィードバックモジュール122、テキスト分析モジュール124、およびチャレンジ発生器126が含まれる。チャット要求モジュール116は、クエリーを処理して、チャットユーザーが新たなチャットスレッドを開くことを許可されているか否か判断する。チャットキュー118は、チャットユーザーのオープンチャットスレッドを追跡する。一例では、オープンチャットスレッドが作成されるのは、チャットイニシエータ104が紹介をチャット招待客106に送り、この招待客にオンラインチャットセッションを開始するように促したときである。チャットスレッドが閉じられるのは、チャット招待客が招待に回答したとき、またはオープンチャットスレッドが時間切れになったときである。タイマーモジュール120は、チャット会話の時間的側面を追跡する。例えば、タイマーモジュール120は、個々のチャットスレッドがチャットキュー118においてどの位の時間開いていたかまたは保留になっていたか計時することができる。フィードバックモジュール122は、チャットサービスユーザーについてのフィードバックを請求および/または受信するように構成されている。テキスト分析モジュール124は、チャット会話の間に発生したテキストを分析するように構成されている。チャレンジ発生器126は、チャットサービスユーザーの素性例えば、チャットサービスユーザーが人間のエンティティであり、ボットのような、自動化SPIM発生器ではないことを検証および/認証するために用いることができるチャレンジを発生および/または送信するように構成されている。プロファイルサーバー102のこれらの態様およびコンポーネントについては、以下で更に詳しく論ずる。チャットセッションを提案するには、チャットイニシエータ104が、当該チャットイニシエータがチャット招待をチャット招待客106に送ることによって、新たなチャットセッションを開始したいという指示を与える。一例では、これは、チャットイニシエータ104上に表示されるチャットユーザーインターフェースとのユーザー対話を通じて行われる。チャットセッション提案プロセスの一部として、チャットイニシエータ104は、プロファイルサーバー102に照会して、チャットイニシエータ104が新たなチャットセッションを提案することを許されているか否か判断する。チャット要求モジュール116は、プロファイルサーバー102上でこの照会を受信し、チャットイニシエータ104がチャットキュー118の中に何らかのオープンチャットスレッドを有するか否か判断する。チャットイニシエータ104がチャットキュー118の中に閾値数のオープンチャットスレッドを既に蓄積している場合、プロファイルサーバー102は、このチャットイニシエータは既にチャットスレッドの閾値数に達しており、新たなチャットスレッドを全く開くことができないことを、チャットイニシエータ104に示す。チャット要求モジュール116が、チャットイニシエータ104によって提案されたオープンチャットスレッドの数が閾値量よりも下であると判断した場合、チャット要求モジュールは、チャットイニシエータ104が新たなチャット会話を開始してもよいことを示す。チャットイニシエータ104によって提案されたチャット招待は、チャット招待客106に転送され、このチャット招待に付随する新たなオープンチャットスレッドがチャットキュー118に記録される。実施態様によっては、チャット招待を、チャット招待客106と関連のある接続サーバーに送り、次いで接続サーバーがチャット招待をチャット招待客に転送する場合もある。タイマーモジュール120は、新たなチャットスレッドの通知を受け、そのチャットスレッドがチャットキューにおいて開いている時間を追跡する。チャット招待客106は、チャットイニシエータ104に回答することによって、チャット招待を受け入れることができ、あるいはチャット招待客はこの招待を無視してもよい。チャット招待客がチャット招待に回答した場合、プロファイルサーバー102には、チャット招待が回答を受けたことが通知され、オープンチャットスレッドは閉鎖された即ち、承認されたものとして指定され、そのスレッドはチャットキュー118から取り除かれる。チャット招待客106がチャット招待に回答しない場合、オープンチャットスレッドはチャットキューの中に残り、タイマーモジュール120によって追跡される開放時間を蓄積する。オープンチャットスレッドが閾値開放時間または保留時間に達したかまたはこれを超過した場合、チャットスレッドは時間切れとなり、チャット招待はチャット招待客106から引き上げられる。次いで、このオープンチャットスレッドはチャットキュー118から取り除かれる。図2は、チャットキュー118の一例を、200で示す。チャットキュー118は、ユーザーのオンラインチャット言動の様々な側面を追跡する会話表202を含む。204に示すように、会話表202は、特定のチャットユーザーを識別するエンティティ識別子を含む。メディアアクセス制御MACアドレス、チャットエリアス、インターネットプロトコルIPアドレス等のような、適した識別子であればいずれでも用いることができる。206に示すように、会話表202は、オープンチャットスレッド毎にスレッド数を追跡するフィールド、各チャットスレッドが開いたときを示す開始時間、および各チャットスレッドが時間切れとなるときを示す時間切れ時刻を含む。この例における時間切れフィールドは、10分という時間切れ期間を示すが、これは例を目的にするに過ぎず、時間切れ期間は、適した時間長であればいずれにでも設定することができる。更に、各オープンチャットスレッドは異なる時間切れ期間を有してもよい。データレコード208は、オープンチャットスレッドについてのデータを追跡する一例を例示する。図示のように、このレコードは、13:45:01に開き、13:55:01に時間切れとなるチャットスレッドNo.1について示している。このオープンチャットスレッドが13:55:01よりも前に回答を受け取った場合、このスレッドは会話表から取り除かれる。そうでなければ、このオープンチャットスレッドは13:55:01に時間切れとなり、その時刻以降にキューから取り除かれる。プロセス例この章では、図1および図2も付加的に参照しながらプロセス例について説明する。これらのプロセスは、先に示した環境100のコンテキストで説明するが、それは便宜上に過ぎず、これらのプロセスはネットワーク状に接続したコンポーネントのその他のシステムや環境にも広く適用可能である。図3は、新たなチャット会話を開始するプロセスの全体像を提示し、図4は、チャット会話開始および監視プロセスの特定的な態様を示す。図5は、チャットサービスがSPIMを抑制することを可能にするユーザーフィードバックの組み込みを示し、図6は、ユーザーがチャットサービスを通じてSPIMを送信しているか否か判断するためのテキスト分析の組み込みを示す。図7は、チャットサービスを通じたSPIMおよびその他の不適切なコンテンツの増殖を抑制するためにレート制限、ユーザーフィードバック、およびテキスト分析を組み合わせるプロセスを示す。図示のプロセスは、コンピューター実行可能命令という一般的なコンテキストにおいて説明することができ、論理フローチャートにおけるブロックの集合体として示されている。これらのフローチャートは、ハードウェア、ソフトウェア、またはその組み合わせで実現することができる一連の動作を表す。一般に、コンピューター実行可能命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、関数等を含むことができ、これらは特定の関数を実行するか、または特定の抽象データタイプを実装する。また、本プロセスは分散型計算環境において実用化することもでき、その場合、通信リンクを通じて連結されているリモート処理デバイスによって機能を実行する。分散型計算環境では、コンピューター実行可能命令は、メモリー記憶デバイスを含む、ローカルおよびリモート双方のコンピューター記憶媒体に配置することができる。図3は、新たなチャット会話を開始するプロセスの一例を、300で示す。302において、ユーザーは、新たなチャット会話を開始する要求を起こす。一例では、行為302は、ユーザーが別のユーザー招待客に、このユーザーとチャットを行うチャット招待を送ったことに応答する。3034において、プロファイルサーバーに照会して、このユーザーが、新たなチャット会話を開始するために用いることができる、何らかの利用可能なチャットスレッドを有するか否か判断する。306において、プロファイルサーバーは、ユーザーが現在有しているオープンチャットスレッドの数を判定する。先に論じたように、チャット要求モジュール116は、チャットキュー118をチェックしてユーザーが開始したオープンチャットスレッドを調べることによって、この判定を行うことができる。308において、プロファイルサーバーは、ユーザーが現在有しているオープンチャットスレッドの数を閾値数と比較することによって、ユーザーが何らかの利用可能なチャットスレッドを有するか否か判断する。例えば、ユーザーは、いずれの所与の時点においても保留中のオープンチャットスレッドを10個有することが許されている即ち、閾値数は10に等しい。ユーザーが10個未満のオープンチャットスレッドを有する場合、ユーザーは新たなチャットスレッドを開き、新たなチャット会話を始めることが許される。そうではなく、ユーザーが10個よりも多い保留中のチャットスレッドを有する場合、ユーザーは新たなチャットスレッドを開くことを許されない。この想定場面は、一例を目的として紹介するに過ぎず、個々のユーザーに対するオープンチャットスレッドの閾値数は、適した数であればいずれにでも設定することができる。ユーザーに利用可能なチャットスレッドがない即ち、ユーザーのチャットスレッドが既に閾値数に達しているまたはこれを超過している場合、310において、プロファイルサーバーは、ユーザーが閾値数のオープンチャットスレッド即ち、保留中のチャット会話に達しているので、ユーザーは新たなチャット会話を開始できないことをユーザーに通知する。ユーザーに利用可能なチャットスレッドがある場合、312において、プロファイルサーバーは新たなチャットスレッドをチャットキューの中に記録する。ステップ314において、プロファイルサーバーは新たなチャットスレッドを提案する。316において、元のチャット招待を招待客に転送する。次いで、招待客はこのチャット招待に応答する、またはこれを無視することもできる。図4は、図3に示したプロセスの別の態様を、400で示す。316において、チャット招待を招待客に転送する。402において、招待客が、招待に回答することによって、ユーザーとチャットを行う招待を受け入れたか否か判断する。招待客が招待に回答した場合、404において、ユーザーと招待客との間でチャットセッションを確立する。一実施態様では、これは、招待客がユーザーとチャットを行うことに同意したことを意味する。406において、オープンチャットスレッドは閉鎖されたと見なされ、このスレッドはチャットキューから取り除かれる。実施態様によっては、ユーザーがチャット招待に回答した場合、このチャット招待はSPIMではないと見なされる。つまり、回答を受けたチャット招待はチャットキューから取り除かれ、チャットユーザーのオープンチャットスレッドの閾値数にとって不利に作用することはない。オープンチャットスレッドがSPIMでないと判断し、そのオープンチャットスレッドをチャットキューから取り除くために、ユーザーフィードバックおよびテキスト分析というような、他の方法も設けることができる。これらの技法については、以下で更に詳しく論ずる。招待客が招待に回答していない場合、408において、ユーザーが提案したオープンチャットスレッドは時間切れになったと判断する。先に論じたように、プロファイルサーバー上のタイマーモジュールは、チャットキューの中にあるオープンチャットスレッド毎に、保留時間を追跡する。各チャットユーザーおよび/または各オープンチャットスレッドには、保留時間または時間が割り当てられており、それを過ぎると、オープンチャットスレッドは時間切れとなり、チャット招待は取り下げられる。オープンチャットスレッドが時間切れになると、そのスレッドはチャットキューから取り除かれ、チャット招待はチャット招待客にとってもはや保留ではなくなる。オープンチャットスレッドが未だ時間切れになっていない場合、プロセスは402に戻り、招待客がチャット招待に回答したか否か判断する。オープンチャットスレッドが時間切れとなった場合、410において、チャット招待を招待客から引き上げる。406において、オープンチャットスレッドは閉鎖されたと見なし、そのスレッドをチャットキューから取り除く。図5は、ユーザーフィードバックをチャット環境に組み込むプロセスの一例を、500で示す。プロセス500は、先に論じたプロセス300を参照しながら論ずることとし、SPIMのような望まれないチャット活動の増殖を抑制するために、他の論じたプロセスおよび技法と組み合わせることもできる。本プロセスは、フィードバックモジュール122のような、フィードバックモジュールによって全体的または部分的に実施することができる。316において、チャット招待を招待客に転送する。502において、招待客群、および/またはユーザーのチャット言動に関与するその他のチャットユーザーからフィードバックを受け取る。このフィードバックは、ユーザーの格付けのような、定性的データを含むことができる。つまり、フィードバックは、性質上、肯定的、中立、および否定的である可能性がある。このフィードバックによって、チャットサービスはチャットユーザーを追跡し、ある種のチャットユーザーが、SPIMまたはその他の不適切なコンテンツを他のチャットユーザーに送るというような、不適切なチャット言動に関与しているか否か判断することが可能となる。例えば、チャットサービスは、チャットユーザーに他のチャットユーザーについてのフィードバックを提出させるチャットユーザーインターフェースの一部として、フィードバックメカニズムを設けることができる。チャットユーザーインターフェースは、非請求広告を送ったことによりこのユーザーにフラグを立てる、不適切なコンテンツを送ったことにより、このユーザーにフラグを立てる、またはユーザーがフィードバックをチャットサービスに送ることができるようにするその他の何らかのメカニズムというように、否定的フィードバックに対して選択肢を指定することができる。504において、ユーザーに関連のある否定的フィードバックが閾値量だけ受け取られたか否か判断する。閾値量の否定的フィードバックは、否定的応答の閾値レベルに達したユーザーと関連のあるフィードバックで構成することもできる。チャットサービスは、特定のチャットユーザーが、ある処置が講じられる前に、受けることができる否定的フィードバック応答の数に対して、閾値を設定することができる。例えば、チャットサービスは、個々のチャットユーザーが20回の否定的応答を受け取ることができ、その後にチャットサービスは、そのユーザーのチャット特権を制限するおよび/または剥奪すべきか否か判断するための処置を講ずることを指定することができる。ユーザーと関連のある否定的フィードバックが閾値量だけ受け取られていないと判断した場合、506において、ユーザーはチャット会話を提案し続けることができる。ユーザーと関連のある否定的フィードバックが閾値量だけ受け取られたと判断した場合、508において、チャットサービスは、チャレンジを発生してユーザーに送信し、そのユーザーが人間のユーザーか、またはチャットコンテンツ例えば、SPIMを他のチャットユーザーに自動的に送信するように構成されている、何らかの種類の自動化ユーザー例えば、ボットか判断する。行為508は、チャレンジ発生器126のような、チャレンジ発生器によって全体的または部分的に実現することができる。チャレンジの一例に、人間対話証明HIP:humaninteractiveproofチャレンジがある。HIPチャレンジは、ユーザーが人間であるか否か判断するために計算システムにおいて用いられる、一種のチャレンジ-応答検査である。一例では、ユーザーに単語および/または画像を提示し、その単語および/または画像を特定するようにユーザーに要求する。単語および/または画像は歪んでおり、従前からのコンピューター実装テキストおよび画像認識方法では、その単語および/または画像を認識することができないが、殆どの人間のユーザーであればその画像を認識することができるようになっている。つまり、殆どの人間はHIPチャレンジに正しく応答することができるが、コンピューターはできない。HIPチャレンジの一例では、チャットユーザーに時計面板の画像を提示し、時計面板画像上にある時計の針の位置が表す時刻を教えるように、ユーザーに要求する。殆どのコンピューター実装画像認識技法は、このチャレンジを解釈して正しい答えを与える程十分に精巧化されていないが、殆どの人間のユーザーは、難なくこの質問に正しく答えることができる。510において、ユーザーがチャレンジに正しく答えたか否か判断する。ユーザーが正しくチャレンジに答えた場合、506において、ユーザーはチャット会話を提案し続けることができる。ユーザーがチャレンジに正しく答え損ねた場合、512において、ユーザーのチャット特権を制限するかまたは無効にする。一例では、ユーザーは、それ以上いかなるチャット会話も開始することが禁止される。チャレンジに正しく答え損ねたことに応答して、別のチャレンジを提出してユーザーに正しい答えを与える追加の機会を与える、あるいはある種の懇願プロセスを起動して、これによってユーザーがチャットサービスと対話し、ユーザーが人間のエンティティであること、および/またはユーザーがSPIMやその他の不適切なコンテンツをチャットサービスを通じて送信していないことを検証しようとする更に別の手順を行えるようにするというような、別の処置を講じてもよい。ユーザーが有することができるオープンチャットスレッドの数を制限する、先に論じたプロセスを、ユーザーフィードバックプロセスと組み合わせることによって、スピマーがSPIMを送るレートを遅くさせ、こうしてユーザーフィードバックシステムが、SPIM増殖を極力抑えつつ、潜在的なスピマーを特定する能力を高めることを、チャットサービスに可能にさせることができる。潜在的なスピマーを特定することに加えて、ユーザーフィードバックシステムは、SPIMではないチャットスレッド、およびスピマーではないチャットユーザーを特定するために用いることができる場合もある。例えば、ユーザーがSPIMを送っていないことを示す肯定的フィードバックをチャットサービスが受け取った場合、このユーザーに合法的ユーザー即ち、非スピマーのフラグを立てることができる。このようなフィードバックは、他のチャットユーザーから収集することができ、このユーザーに合法的のフラグと立てるまたはこのユーザーに非スピマーのフラグを立てるというような入力を含むことができる。肯定的フィードバックの閾値量に基づいて、チャットサービスは、これらのユーザーのオープンチャットスレッド閾値を高めることを許容することができる。即ち、ある閾値レベルの肯定的フィードバック例えば、25以上に達したユーザーには、彼らが以前に有していたより、および/またはその他のチャットユーザーが有するより、多い保留チャットスレッドを有することができる許可を付与することができる。図6は、チャットユーザーがSPIMまたはその他の不適切なコンテンツをチャットサービスを通じて送信しているか否か判断するために、チャット会話の間に発生したテキストを分析するプロセスの一例を、600で示す。プロセス600については、先に論じたプロセス300を参照しながら論ずるが、SPIMのような望まれないチャット活動の増殖を抑制するために、他の論じたプロセスおよび技法と組み合わせることもできる。本プロセスは、テキスト分析モジュール124のような、テキスト分析モジュールによって全体的または部分的に実現することができる。316において、チャット招待を招待客に転送する。602において、チャットユーザーがチャット活動中に発生したチャットテキストを取り込む。このチャットテキストは、初期チャット招待から、および/またはその結果得られたチャット会話から取り込むことができる。604において、いずれかの適したテキスト分析技法を用いて、このチャットテキストを分析する。チャットテキストを分析して、ユーザーがSPIMまたはその他の不適切なコンテンツを送っていることを示す単語および/または単語の集合体があることを見いだせればよい。606において、テキストの分析により、チャットテキストの中に何らかの問題となるチャットコンテンツがあることが示されたか否か判断する。問題となるチャットコンテンツは、当該チャットテキストが潜在的にSPIMおよび/またはその他の不適切なコンテンツであることを示す単語または単語の集合体を含む。例えば、テキスト分析技法が多数の単語および/または単語集合体を有し、これらを用いてチャットテキストを検索することができる。チャットテキストの特定の区間においてこれらの単語および/または単語集合体を発見した場合、この技法はこのチャットテキストにSPIMのフラグを立てる。問題となるようなチャット会話コンテンツが検出されない場合、608において、チャットユーザーはチャット会話を提案し続けることができる。また、テキスト分析は、個々のユーザーにスピマーのフラグを立てる前にそのユーザーが達することができる閾値量を、問題となるチャットコンテンツに設けることもできる。問題となるチャットコンテントが検出された場合、610において、チャレンジ例えば、HIPチャレンジを発生し、問題となるチャットコンテンツが発生した元であるユーザーに宛てて送信する。チャレンジを発生し送信するプロセスおよび技法については、先に論じた。612において、ユーザーがチャレンジに正しく答えたか否か判断する。ユーザーがチャレンジに正しく答えた場合、608において、ユーザーはチャット会話を提案し続け、それに参加することができる。実施態様によっては、ユーザーのチャット会話において問題となるチャットコンテンツが検出されたこと、およびユーザーがSPIMまたはその他の不適切なコンテンツをチャットサービスを用いて送信していると判断した場合、そのユーザーのチャット特権を制限するまたは無効にする場合もあることを、ユーザーに警告してもよい。ユーザーがチャレンジに正しく答え損ねた場合、614において、ユーザーのチャット特権を制限するか、または無効にする。一例では、ユーザーはそれ以上チャット会話を提案することを禁止される。チャレンジに正しく答え損ねたことに応答して、別のチャレンジを提出してユーザーに正しい答えを与える追加の機会を与える、あるいはある種の懇願プロセスを開始して、これによってこのユーザーがチャットサービスと対話し、ユーザーが人間のエンティティであること、および/またはユーザーがSPIMやその他の不適切なコンテンツをチャットサービスを通じて送信していないことを検証しようとする更に別の手順を行えるようにするというような、別の処置を講じてもよい。また、テキスト分析は、SPIMを送っていないユーザーを識別するために用いることもできる。チャットサービスは、チャットユーザーから発信したチャットテキスト例えば、招待客に対するチャット招待についてテキスト分析を実行することができ、問題のあるテキストがないとチャットサービスが判断した場合、チャットサービスはそのチャットコンテンツに非SPIMのフラグを立てることができる。チャットキューの中にあるオープンチャットスレッドからチャットコンテンツを取り込んだ場合、チャットサービスはそのチャットスレッドをチャットキューから取り除くことができる。つまり、非SPIMのフラグが立てられたチャットスレッドは、そのユーザーのオープンチャットスレッドの閾値量に不利に作用することはない。図7は、チャット環境においてSPIMを検出し、SPIMおよびその他の不適切なコンテンツの増殖を低減するために、レート制限、ユーザーフィードバック、およびテキスト分析の組み合わせを利用するプロセスの一例を、700で示す。本プロセスは、既に論じたプロセスのいずれともまたは全てと連携して用いること、またはこれらと組み合わせることもできる。702において、特定の閾値にしたがって、所与の時間期間においてユーザーが有することができるオープンチャットスレッドの数を制限する。これは、チャットユーザーが所与の時間枠の間に提案することができる新たなチャット会話例えば、新たなチャット招待の数を制限する、レートリミッタとしての役割を果たす。704において、ユーザーと関連のあるフィードバックを分析して、そのユーザーがチャットサービスを用いてSPIMまたはその他の不適切なコンテンツを送信していることを、フィードバックの性質および/または量が示しているか否か判断する。706において、ユーザーが発生したチャットテキストを分析して、ユーザーがチャットサービスを用いてSPIMまたはその他の不適切なコンテンツを送信していることを示す単語および/または単語パターンがないか確かめる。708において、ユーザーフィードバックおよび/またはテキスト分析が、ユーザーがチャットサービスを用いてSPIMまたはその他の不適切なコンテンツを送信しているかもしれないことを示すか否か判断する。ユーザーフィードバックおよび/またはテキスト分析が十分な否定的フィードバックおよび/または問題のあるチャットテキストを示していない場合、710において、ユーザーに引き続きチャット会話を提案し、これに加わることを許可する。ユーザーフィードバックおよび/またはテキスト分析が十分な否定的フィードバックおよび/または問題のあるチャットテキストを示す場合、712において、認証手順を実施して、ユーザーが人間のユーザーであること、そしてこのユーザーはチャットサービスを用いてSPIMやその他の不適切なコンテンツを送信していないことを確認する。認証手順の一例では、先に論じたように、チャレンジをユーザーに送信する。ユーザーが認証手順で不合格になった場合、このユーザーのチャット会話を提案する許可、および/またはそれ以外でチャット会話に参加する許可を制限するまたは無効にすることができる。以上で論じた例では、ユーザーフィードバックおよびテキスト分析技法は、チャットサービスを用いてSPIMを配布している潜在的可能性があるユーザーを検出する方法を提供する。更に、レート制限の態様は、スピマーを特定し、このスピマーがチャットユーザーにSPIMを殺到させることができるようになる前に、スピマーがSPIMを配布するのを防止する例えば、スピマーのチャット特権を抑制するまたは無効にすることによって時間を、ユーザーフィードバックおよびテキスト分析技法に与えることによって、これらの技法を改良する。以上、種々の例示的なデバイスおよび動作実施態様について説明したが、これらの実施態様のコンポーネント、モジュール、および機構は、状況に応じて、配置しなおすこと、修正することもでき、および/または全体的に省略することもできる。また、本方法におけるある種の行為は、記載された順序で実行する必要はなく、状況に応じて、配置しなおすこと、修正することもでき、および/または全体的に省略することもできることは言うまでもない。更に、いずれの方法に関して先に説明した行為のいずれでも、1つ又は複数のコンピューター読み取り可能媒体上に格納されている命令に基づいて、プロセッサーまたはその他の計算デバイスによって実現することができる。コンピューター読み取り可能媒体は、リソースモデリングアプリケーションによってローカルにまたはリモートにアクセスすることができる、入手可能な媒体であればいずれでも可能である。限定ではない一例として、コンピューター読み取り可能媒体は、コンピューター読み取り可能命令、データ構造、プログラムモジュール、またはその他のデータというような、情報格納のためのいずれの方法または技術においても実施される揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含むことができる。コンピューター読み取り可能媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、ディジタルバーサタイルディスクDVDまたはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、またはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ、リソースモデリングアプリケーションによってアクセスすることができるその他のいずれの媒体も含む。前述した媒体のいずれの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。結論以上、構造的特徴および/または方法論的行為に特定的なことばで、本発明について説明したが、本発明は、記載した特定的な特徴や行為には必ずしも限定されないことは言うまでもない。逆に、これらの特定的な特徴や行為は、本発明を実現する例示的形態として開示したに過ぎない。