(57)【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
ソーシャルネットワーキングシステムの複数のユーザのプロフィールを維持することと、
前記ソーシャルネットワーキングシステムの前記ユーザ間の複数のコネクションを維持することと、
コンピューティングリソースに対するアクセスを要求するリクエストであって、前記ソーシャルネットワーキングシステムの或るユーザに関連した該リクエストをリクエスト元から受け取ることと、
前記或るユーザと前記ソーシャルネットワーキングシステムにおいてコネクションを持つ複数の別のユーザの中から１つの別のユーザを選択することと、ここで、該選択は、前記或るユーザと前記別のユーザとの間の親近度の測定値に基づきなされ、該親近度の測定値は、前記ソーシャルネットワーキングシステムにおける該或るユーザと該別のユーザとのインタラクションに基づき決定され、
前記選択した1つの別のユーザのユーザプロフィールから情報を入手することと、
チャレンジ質問を生成することと、ここで、前記チャレンジ質問は、該チャレンジ質問に対する回答が、入手された前記情報に少なくとも部分的に基づき、且つ、該チャレンジ質問の種類が、前記或るユーザと前記別のユーザとの間の前記親近度の測定値に基づくような質問であり、
前記リクエスト元に前記チャレンジ質問を送ることと、
前記チャレンジ質問に対する正しい回答の受け取りに応じて、要求された前記アクセスを許可することと、
を具備する方法。
【請求項２】
前記リクエストは、前記ソーシャルネットワーキングシステムによって提供されるアプリケーションプログラミングインターフェースを使用して前記ソーシャルネットワーキングシステムと通信することを必要とする請求項１に記載の方法。
【請求項３】
前記リクエストが疑わしいソースから受け取られたか否かを判定することと、
前記リクエストが疑わしいか否かに基づいて、前記リクエスト元に送られる前記チャレンジ質問の難易度を決定することと、
を更に具備する請求項１又は２に記載の方法。
【請求項４】
前記チャレンジ質問に対する少なくとも１つの正しい回答および１または複数の正しくない回答を含む複数の回答を前記リクエスト元に送ることを更に具備する請求項１又は２に記載の方法。
【請求項５】
前記リクエストが疑わしいソースから受け取られたか否かを判定することと、
前記リクエストが疑わしいか否かに基づいて、前記チャレンジ質問に対する前記複数の回答における回答の数を決定することと、
を更に具備した請求項４に記載の方法。
【請求項６】
前記チャレンジ質問は、前記別のユーザの画像が与えられた場合、該別のユーザの名前をアイデンティファイすることを要求する請求項１乃至５のいずれかに記載の方法。
【請求項７】
前記チャレンジ質問は、前記別のユーザの名前が与えられた場合、該別のユーザの画像をアイデンティファイすることを要求する請求項１乃至５のいずれかに記載の方法。
【請求項８】
前記チャレンジ質問は、前記別のユーザおよび前記或るユーザを示す画像が与えられた場合、該別のユーザをアイデンティファイすることを要求する請求項１乃至５のいずれかに記載の方法。
【請求項９】
前記チャレンジ質問は、前記或るユーザが前記ソーシャルネットワーキングシステムにおいて最近インタラクトしたことがあり且つ該或るユーザが前記ソーシャルネットワーキングシステムにおいてコネクションを持つ第２のユーザをアイデンティファイすることを要求する請求項１乃至５のいずれかに記載の方法。
【請求項１０】
前記リクエストは、前記或るユーザのアカウントにログインするリクエストである請求項１乃至９のいずれかに記載の方法。
【請求項１１】
前記リクエストは、メッセージを同報送信するリクエストである請求項１乃至９のいずれかに記載の方法。
【請求項１２】
前記リクエストは、前記或るユーザのためにオンライン購入を実行するリクエストである請求項１乃至９のいずれかに記載の方法。
【請求項１３】
前記チャレンジ質問に対する正しくない回答を受け取ることに応じて、リクエストされた前記アクセスを拒絶するステップを更に具備する請求項１乃至１２のいずれかに記載の方法。
【請求項１４】
コンピュータによって実現される方法であって、
ソーシャルネットワーキングシステムの複数のユーザのプロフィールを維持することと、
前記ソーシャルネットワーキングシステムの前記ユーザ間の複数のコネクションを維持することと、
前記ソーシャルネットワーキングシステムの或るユーザに関する情報に基づいてチャレンジ質問を生成するためのリクエストをリクエスト元から受け取ることと、
前記或るユーザと前記ソーシャルネットワーキングシステムにおいてコネクションを持つ複数の別のユーザの中から１つの別のユーザを選択することと、ここで、該選択は、前記或るユーザと前記別のユーザとの間の親近度の測定値に基づきなされ、該親近度の測定値は、前記ソーシャルネットワーキングシステムにおける該或るユーザと該別のユーザとのインタラクションに基づき決定され、
前記選択した1つの別のユーザのユーザプロフィールから情報を入手することと、
チャレンジ質問を生成することと、ここで、前記チャレンジ質問は、該チャレンジ質問に対する回答が、該入手された前記別のユーザに関する情報に少なくとも部分的に基づき、且つ、該チャレンジ質問の種類が、前記或るユーザと前記別のユーザとの間の前記親近度の測定値に基づくような質問であり、
前記リクエスト元に前記チャレンジ質問を送ることと、
を具備する方法。
【請求項１５】
前記リクエスト元の疑惑度の判定に基づき疑惑度スコア値を生成することと、
前記疑惑度スコア値に基づいて、前記チャレンジ質問の難易度を決定することと、
を更に具備する請求項１４に記載の方法。
【請求項１６】
前記チャレンジ質問に対する少なくとも１つの正しい回答および１または複数の正しくない回答を含む複数の回答を前記リクエスト元に送ることを更に具備する請求項１４に記載の方法。
【請求項１７】
前記リクエスト元の疑惑度の判定に基づき疑惑度スコア値を生成することと、
前記疑惑度スコア値に基づいて前記複数の回答における回答の数を決定することと、
を更に具備する請求項１６に記載の方法。
【請求項１８】
前記チャレンジ質問は、前記別のユーザの画像が与えられた場合、該別のユーザの名前をアイデンティファイすることを要求する請求項１４乃至１７のいずれかに記載の方法。
【請求項１９】
前記チャレンジ質問は、前記別のユーザの名前が与えられた場合、該別のユーザの画像をアイデンティファイすることを要求する請求項１４乃至１７のいずれかに記載の方法。
【請求項２０】
前記チャレンジ質問は、前記別のユーザおよび前記或るユーザを示す画像が与えられた場合、該別のユーザをアイデンティファイすることを要求する請求項１４乃至１７のいずれかに記載の方法。
【請求項２１】
前記チャレンジ質問は、前記或るユーザが前記ソーシャルネットワーキングシステムにおいて最近インタラクトしたことがあり且つ該或るユーザが前記ソーシャルネットワーキングシステムにおいてコネクションを持つ第２のユーザをアイデンティファイすることを要求する請求項１４乃至１７のいずれかに記載の方法。
【請求項２２】
コンピュータによって実現される方法であって、
コンピューティングリソースに対するアクセスを要求するリクエストであって、ソーシャルネットワーキングシステムの或るユーザを特定する該リクエストをリクエスト元から受け取ることと、
ソーシャルネットワーキングシステムに対してチャレンジ質問を要求するリクエストを送ることと、ここで、前記チャレンジ質問は、該チャレンジ質問に対する回答が、前記或るユーザが前記ソーシャルネットワーキングシステムにおいてコネクションを持つ該ソーシャルネットワーキングシステムの別のユーザのユーザプロフィールからの情報に少なくとも部分的に基づき、且つ、該チャレンジ質問の種類が、前記或るユーザと前記別のユーザとの間の親近度の測定値に基づくような質問であり、前記別のユーザは、前記或るユーザと該別のユーザとの間の前記親近度の測定値に基づき選択され、該親近度の測定値は、前記ソーシャルネットワーキングシステムにおける該或るユーザと該別のユーザとのインタラクションに基づき決定され、
前記チャレンジ質問を受け取り、該チャレンジ質問を前記リクエスト元に送ることと、
前記チャレンジ質問に対する正しい回答の受け取りに応じて、要求された前記アクセスを許可することと、
を具備する方法。
【請求項２３】
前記リクエストが疑わしいソースから受け取られたか否かを判定することと、
前記リクエストが疑わしいか否かに基づいて、前記リクエスト元に送られる質問の難易度を決定することと、
を更に具備する請求項２２に記載の方法。
【請求項２４】
前記チャレンジ質問に対する少なくとも１つの正しい回答および１または複数の正しくない回答を含む複数の回答を受け取り、該複数の回答を前記リクエスト元に送ることを更に具備する請求項２２又は２３に記載の方法。
【請求項２５】
前記チャレンジ質問は、前記別のユーザの画像が与えられた場合、該別のユーザの名前をアイデンティファイすることを要求する請求項２２乃至２４のいずれかに記載の方法。
【請求項２６】
前記チャレンジ質問は、前記別のユーザの名前が与えられた場合、該別のユーザの画像をアイデンティファイすることを要求する請求項２２乃至２４のいずれかに記載の方法。
【請求項２７】
前記チャレンジ質問は、前記別のユーザおよび前記或るユーザを示す画像が与えられた場合、該別のユーザをアイデンティファイすることを要求する請求項２２乃至２４のいずれかに記載の方法。
【請求項２８】
前記チャレンジ質問は、前記或るユーザが前記ソーシャルネットワーキングシステムにおいて最近インタラクトしたことがあり且つ該或るユーザが前記ソーシャルネットワーキングシステムにおいてコネクションを持つ第２のユーザをアイデンティファイすることを要求する請求項項２２乃至２４のいずれかに記載の方法。
【請求項２９】
前記リクエストは、前記或るユーザのアカウントにログインするリクエストである請求項２２乃至２８のいずれかに記載の方法。
【請求項３０】
前記リクエストは、メッセージを同報送信するリクエストである請求項２２乃至２８のいずれかに記載の方法。
【請求項３１】
前記リクエストは、前記或るユーザのためにオンライン購入を実行するリクエストである請求項２２乃至２８のいずれかに記載の方法。
【請求項３２】
前記チャレンジ質問に対する正しくない回答を受け取ることに応じて、リクエストされた前記アクセスを拒絶するステップを更に具備する請求項２２乃至３１のいずれかに記載の方法。
【請求項３３】
前記親近度の測定値は、前記或るユーザと前記別のユーザとのインタラクションの頻度に基づき決定される請求項1乃至３２のいずれかに記載の方法。
【請求項３４】
前記親近度の測定値は、前記或るユーザと前記別のユーザとのインタラクションの種類に基づき決定される請求項1乃至３２のいずれかに記載の方法。
【請求項３５】
前記親近度の測定値は、前記或るユーザと前記別のユーザとのインタラクションの加重和に基づき決定される請求項1乃至３２のいずれかに記載の方法。
【請求項３６】
プロセッサに、
ソーシャルネットワーキングシステムの複数のユーザのプロフィールを、メンバープロフィール記憶部で維持する手順と、
前記ソーシャルネットワーキングシステムの前記ユーザ間の複数のコネクションを、コネクション記憶部で維持する手順と、
コンピューティングリソースに対するアクセスを要求するリクエストであって、前記ソーシャルネットワーキングシステムの或るユーザに関連した該リクエストをリクエスト元から受け取るよう構成されたウェブサーバモジュールと、
CAPTCHAマネージャモジュールであって、
前記或るユーザと前記ソーシャルネットワーキングシステムにおいてコネクションを持つ複数の別のユーザの中から１つの別のユーザを選択し、ここで、該選択は、前記或るユーザと前記別のユーザとの間の親近度の測定値に基づきなされ、該親近度の測定値は、前記ソーシャルネットワーキングシステムにおける該或るユーザと該別のユーザとのインタラクションに基づき決定され、
前記選択した1つの別のユーザのユーザプロフィールから情報を入手し、
チャレンジ質問を生成し、ここで、前記チャレンジ質問は、該チャレンジ質問に対する回答が、入手された前記情報に少なくとも部分的に基づき、且つ、該チャレンジ質問の種類が、前記或るユーザと前記別のユーザとの間の前記親近度の測定値に基づくような質問であり、
チャレンジ質問を前記リクエスト元に送り、
前記チャレンジ質問に対する正しい回答の受け取りに応じて、要求された前記アクセスを許可する、
よう構成された前記CAPTCHAマネージャモジュールと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータセキュリティに関し、特に、許可されていない(権限の無い)人、または、コンピューティングアルゴリズムによるコンピューティングリソースの不正使用を防止する技術に関する。
【背景技術】
【０００２】
ウェブサイトとインタラクトするユーザの信頼性は、意図するユーザのみが回答できると思われるチャレンジ-レスポンステスト等の、様々な方法で判定され得る。これは、他のユーザまたは自動化されたコンピューティングアルゴリズムによるコンピューティングリソースの不正使用を阻止できる。自動化されたコンピューティングアルゴリズムを対象とする一種のチャレンジ質問はCAPTCHA(キャプチャ)と呼ばれており、該CAPTCHAは、“Completely Automated Turing Test To Tell Computers and Humans Apart”の頭字語である。一般的な種類のCAPTCHAは、コンピューティングアルゴリズムが解釈するのが難しいが人が解釈するのは比較的容易である歪んだ画像から、ユーザが文字または数字をタイプすることを要求する。ユーザが認証のために歪んだテキストを読み取ることを要求することは、自動システムがユーザを介在することなしにウェブサイトに接続することを阻止する。他の形態のCAPTCHAでは、例えば、“英語のアルファベットにおいてDの次にくる文字は何”のような常識的な質問をユーザが問うことを要求することがある。しかしながら、既存のCAPTCHAメカニズムは“CAPTCHAファーミング”として知られている手段に負けることがある。該“CAPTCHAファーミング(farming)”では、自動化されたアルゴリズムが一時的にCAPTCHA質問をユーザに回して該CAPTCHA質問を解決させ、その後、その不正目的に戻る。従って、安い人による労力が利用され得る場合、既存のCAPTCHAメカニズムは完全に非効率のものとされる可能性がある。
【発明の概要】
【０００３】
既存のCAPTCHAに対する改良されたセキュリティメカニズムを提供するために、本発明の実施の形態は、そのユーザのみが知っていると思われる情報に基づいて、セキュリティ質問を該ユーザに提示する。例えば、ユーザのアカウントについての情報が知られているシステムにおいて、該ユーザのアカウントからの情報を使用して、該ユーザのみがその質問に回答できると思われるような、該ユーザに合わせたセキュリティ質問が生成される。これにより、自動化されたアルゴリズム、および、該ユーザの個人的なアカウント情報を知っているはずのない他人の両方を打倒できるので、この方法はCAPTCHAファーミングを防止する。一実施の形態において、前記ユーザのアカウントはソーシャルネットワークのものであり、前記セキュリティ質問は、該ソーシャルネットワークにおける該ユーザのコネクション（つながり）またはインタラクション（相互作用）についての情報に基づく。例えば、ソーシャルCAPTCHAは、ソーシャルネットワークのメンバーに該メンバーのコネクション(または友達)のうちの1つの画像を確認、特定(アイデンティファイ)するよう要求する。そこで、このようなセキュリティ質問を“ソーシャルCAPTCHA”と言うことができる。
【０００４】
一実施の形態において、前記ソーシャルCAPTCHAを使用して、ソーシャルネットワークまたは該ソーシャルネットワークの外部の他のシステムとの新たなセッションを認証することができる。ウェブサイトとのインタラクションをリクエストしているセッションは、前記ソーシャルCAPTCHAに対する正しい回答をしたならば、許可される。そうでない場合、前記セッションは拒絶される。前記ソーシャルCAPTCHAを提示するシステムは、それ自体がソーシャルネットワーキングウェブサイトであってよく、または、ソーシャルネットワークと通信して必要な情報(例えば、ソーシャルCAPTCHAおよび正しい回答)を入手する外部システムであってよい。他の実施の形態において、前記セッションが疑わしいと判定された場合、前記メンバーにはソーシャルCAPTCHAが提示される。
【０００５】
前記ソーシャルCAPTCHAの難易度は、当該セッションに関する疑惑度に基づいて調整されてよい。ソーシャルCAPTCHAの難易度は、例えば、前記ソーシャルCAPTCHAにおいて尋ねられる質問の数を増加させ、または、そこから選択すべき潜在的な回答(回答候補)の数を増加させることによって、高められてよい。経験的に、ある種類のソーシャルCAPTCHAが、他の種類の質問より難解であることが理解され得る。一般的に、前記ソーシャルCAPTCHAの難易度を高めることは、権限の無い人にとってより高い難解度となるが、意図された(所望の)メンバーにとってはそうではない。
【０００６】
本発明の一実施の形態において、前記システムは、前記質問の対象に関するユーザの親近度に基づいて、いかなる情報を前記ソーシャルCAPTCHAに使用すべきかを判定する。前記ソーシャルCAPTCHAを当該メンバーのより親密なコネクションについての情報に基づかせることによって、前記ソーシャルCAPTCHAは、意図されたメンバーにとっては回答するのがより容易であるが、権限の無い他の人にとっては依然として困難である。このようにして、前記システムは、あるメンバーと該メンバーのコネクションの各々との親近度を生成して、どのコネクション(繋がり)が前記メンバーの親しい友人または間柄だと考えことができるのか判定する。このようにして、前記ソーシャルCAPTCHAは、少なくとも親近度のしきいレベルを有する前記メンバーのコネクションについての情報に基づかせることができる。あるメンバーと該メンバーのコネクションとの高い親近度は、これら二人の頻繁なインタラクションを暗示し、これにより、意図されたメンバーが前記ソーシャルCAPTCHAに正しく回答する可能性を高めるが、一般的に、前記メンバーではない権限の無い人にとっては前記ソーシャルCAPTCHAに対する回答をより容易にするものではない。
【図面の簡単な説明】
【０００７】
【図１】リクエストに応じてユーザにソーシャルCAPTCHAが提示されるネットワークシステムを示す図。
【０００８】
【図２】本発明の一実施の形態に従って、ソーシャルCAPTCHAを生成するよう構成されたウェブサイトのシステムアーキテクチャを示す図。
【０００９】
【図３】本発明の一実施の形態に従って、情報をリクエストするクライアントにソーシャルCAPTCHAが提示される処理のインタラクション図。
【００１０】
【図４】本発明の一実施の形態に従って、ソーシャルCAPTCHAを使用して、情報をリクエストするセッションについての判定された疑惑度に基づいて、前記セッションを認証する処理のフローチャート。
【発明を実施するための形態】
【００１１】
図面は、本発明の様々な実施の形態を例示的な説明目的のみで記述するものである。以下の説明から当業者によって容易に理解されるように、ここで説明されている構成および方法の代替的な実施の形態も本発明の原理を逸脱することなく採用可能である。
【００１２】
歪んだ文字の認識または一般常識の質問に基づくCAPTCHA(キャプチャ)は、人の労力を使用することによって打倒されることができる。しかしながら、特定のユーザのみが有していそうな知識を要する質問に基づくCAPTCHAは、人の労力を使用することによって打倒されることができない。例えば、あるユーザの親友に関する情報を必要とする質問は、該ユーザの知人ではない任意の人が解くことができない。ユーザのソーシャルサークルに関する情報に基づくCAPTCHAは、ソーシャルCAPTCHAと呼ばれる。これらの質問は、ソーシャルネットワーク内で入手可能な情報を必要とする。
【００１３】
ソーシャルネットワークは、そのメンバーに対して、該ソーシャルネットワークの他のメンバーと通信し、インタラクトする能力を提供する。使用時において、メンバーは、前記ソーシャルネットワークに参加し、彼らが関係されることを所望する多数の他のメンバーに対するコネクション(繋がり)を追加する。この明細書において、“友達”という用語は、あるメンバーが前記ソーシャルネットワークを介して接続、コネクションまたは結び付きを形成した他のメンバーを意味する。該“友達”という用語は、(一般的に、メンバーのうちの1つが企業または他のエンティティである場合にそうであるが)メンバーが実生活上の本当の友達であることを必要条件としない。該“友達”という用語は、単に、前記ソーシャルネットワーク内での仲間やコネクションを意味する。ソーシャルネットワークのある実施の形態は、様々なソーシャル活動を可能にする。例えば、メンバーは、ある関連活動に参加しているメンバーのグループまたはネットワークを定義することができる。例えば、グループは、特定のバンドのファンクラブであってよい。従って、前記グループに関するメンバー活動は、該グループに参加し、前記バンドに関するコンテンツを視る、歌を聴く、ビデオを視る、掲示板にメッセージを投稿することを含む。
【００１４】
一実施の形態において、ソーシャルCAPTCHAは、当該ユーザの、ソーシャルネットワークにおける他の人または他の物とのインタラクションに関する電子アカウントに含まれる情報について前記ユーザに尋ねる質問であってよい。前記情報は、単に、ある人のコネクション/友達がどのようであるかについての情報であってよく、例えば、ソーシャルCAPTCHAは、前記ユーザに対して、あるコネクションの画像を該コネクションの名前と対応付けるよう求めるものであってよい。他の実施の形態において、ソーシャルCAPTCHAは、ソーシャルネットワークにおいて、前記ユーザがとった行動、または、他のユーザが当該ユーザに対してとった行動に基づくものであってよい。例えば、この場合、ソーシャルCAPTCHAは、例えば、“先週、貴方は下記の人のうちのどの人にメッセージに送りましたか?”、または、“先週、下記の人のうちのどの人が貴方をコネクションとして追加したか”に基づくものであってよい。一実施の形態において、ソーシャルCAPTCHAは、ソーシャルグループまたはソーシャルフォーラム等の様々なソーシャルネットワークエンティティに関連したユーザによってとられた行動に関する質問であってよい。例えば、ソーシャルCAPTCHAは、“先週、貴方は下記のソーシャルグループのうちのいずれに参加しましたか?”であってよい。
【００１５】
ソーシャルネットワークは、ユーザのために、ソーシャルCAPTCHAを生成するために必要な情報を有していてよい。このため、前記ソーシャルネットワークは、認証のために、該ソーシャルネットワークのメンバーに対してソーシャルCAPTCHAを提示することができる。ある実施の形態において、ソーシャルネットワークと密に関連付けられていないが、該ソーシャルネットワークと接続されているシステムは、該ソーシャルネットワークから前記必要な情報を入手して、ソーシャルCAPTCHAを提示することができる。例えば、外部システムが前記ソーシャルネットワークによって提供される適当なAPI(Application Programming Interface)を呼び出すことによって、ソーシャルネットワーク情報が前記外部システムによって入手されてよい。他の実施の形態において、第三者が、ソーシャルネットワークから情報を入手し、ソーシャルCAPTCHAを使用するシステムのために適当なソーシャルCAPTCHAを生成することによって、認証のために前記ソーシャルCAPTCHAを使用するシステムとソーシャルネットワークとの間の連絡係として機能してよい。
【００１６】
図1は、いかにして、ウェブサイトとインタラクトするクライアント装置に、ユーザに関連したソーシャル情報に基づくCAPTCHA(ソーシャルCAPTCHAともいう)が提示されるかを示す。前記クライアント装置120は、ネットワーク150を介してリクエスト125をウェブサイト100に送る。前記リクエスト125は、例えば、ユーザアカウントにログインするリクエスト、または、該ユーザに関連した情報にアクセスしもしくはアップデートする試みであってよい。前記ウェブサイトは、様々な規準に基づいて、前記リクエスト125が処理され得るようにすべきか、または、該リクエスト125を処理する前に追加的な認証を要求すべきかを判定する。公開情報であると判断される情報に対するリクエストは追加的な認証無しに処理されてよいが、ユーザに関連した情報をアップデートするリクエストは追加的な認証を必要とする。追加的な認証が必要な場合、前記ウェブサイトは、130に示すように、前記クライアント装置に対して、ソーシャルネットワーク情報155に基づくソーシャルCAPTCHAを提供する。前記ウェブサイト100自体がソーシャルネットワークである一実施の形態において、前記ソーシャルCAPTCHAを決定するために必要なソーシャルネットワーク情報155は、前記ウェブサイトにおいてローカルに入手され得る。一方、前記ウェブサイト100がソーシャルCAPTCHAを決定するために必要なソーシャルネットワーク情報155を有さない場合、該ウェブサイトは、前記必要な情報を入手するためにソーシャルネットワークと通信することができる。リクエスト125の更なる処理は、前記ソーシャルCAPTCHAに応じて前記ユーザから入手された回答の正確さに基づいて決定される。
システムアーキテクチャ
【００１７】
図2は、ソーシャルCAPTCHAを使用してユーザセッションを認証するためのシステム環境を示すブロック図である。本実施の形態において、図2に示されたウェブサイト200は、ソーシャルネットワーキングウェブサイトであり、従って、ユーザセッションのソーシャルCAPTCHAを決定するために必要なソーシャルネットワーク情報をローカルに記憶する。前記システム環境は、1つまたは複数のクライアント装置205と、ソーシャルネットワーキングウェブサイト200と、ネットワーク150とからなる。代替案として、上記とは異なるおよび/または追加的なモジュールが前記システムに含まれていてよい。
【００１８】
前記クライアント装置205は、メンバー入力を受信し、前記ネットワーク150を介してデータを送受信できる1または複数のコンピューティング装置からなる。例えば、前記クライアント装置205は、コンピューティング機能およびデータ通信能力を有するデスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、パーソナルディジタルアシスタント(PDA)、携帯電話またはその他の任意の装置であってよい。前記クライアント装置205は、有線および無線通信システムを使用して、ローカルエリアおよび/または広域ネットワークの任意の組合せからなっていてよい前記ネットワーク150を介して通信するよう構成されている。
【００１９】
図2は、前記ソーシャルネットワーキングウェブサイト200のブロック図を含む。該ソーシャルネットワーキングウェブサイト200は、ウェブサーバ220、アクションロガー225、セッションマネージャ260、疑惑インデックスマネージャ230、認証マネージャ245、CAPTCHAマネージャ240、メンバープロフィール記憶部250、コネクション記憶部255、および、アクションログ265を含む。他の実施の形態において、前記ソーシャルネットワーキングウェブサイト200は、様々なアプリケーションのために、追加的な、上記より少ない、または、上記とは異なるモジュールを含んでいてよい。ネットワークインターフェース、セキュリティメカニズム、ロードバランサ、フェイルオーバー(failover)サーバ、マネージメントおよびネットワーク処理コンソール等は、当該システムの詳細を分かりにくくすることを避けるためにここでは図示していない。
【００２０】
ある実施の形態において、前記ウェブサイト200は、ソーシャルネットワーキングウェブサイトではないが、ソーシャルネットワーキングウェブサイトと通信して前記必要なソーシャルネットワーク情報を入手する。前記ウェブサイト200は、例えば、ソーシャルネットワーキングウェブサイトによって提供されるAPI(Application Programming Interface)を使用して、前記ソーシャルネットワーキングウェブサイトと通信してよい。これらの実施の形態において、図2に示されたいくつかのモジュールは前記ウェブサイト200で動作可能であるが、他のウェブサイトは前記ソーシャルネットワーキングウェブサイトで動作可能である。例えば、前記ウェブサーバ220、アクションロガー225、疑惑インデックスマネージャ230およびCAPTCHAマネージャ240等のモジュールは、前記ウェブサイト200で動作可能であるが、APIリクエストサーバ235、メンバープロフィール記憶部250、コネクション記憶部255およびアクションログ265等のモジュールは、前記ソーシャルネットワーキングウェブサイトで動作可能であるが、APIリクエストサーバ230、メンバープロフィール記憶部250、コネクション記憶部255およびアクションログ265は、他のソーシャルネットワーキングウェブサイトに存在してよい。
【００２１】
前記ソーシャルネットワーキングウェブサイト200は、メンバーが相互に通信またはその他の方法でインタラクトし、コンテンツにアクセスすることを可能にする。前記ソーシャルネットワーキングウェブサイト200は、パーソナル情報、人口統計的情報、および、職歴、学歴、趣味または嗜好、位置等の他の種類の記述情報を含む、ソーシャルネットワークのメンバーを記述するメンバープロフィールを記憶する。該メンバープロフィールは、さらに、前記メンバーによって提供される画像等の情報を記憶してよい。ある実施の形態において、メンバーの画像は、その画像が表示される適当なメンバーの識別情報(ID情報)でタグ付けされてよい。
【００２２】
前記ウェブサイト200は、さらに、前記コネクション記憶部255において異なるメンバー間の1または複数のコネクションを記述するデータを記憶する。該コネクション情報は、類似したまたは共通の職歴、グループ会員資格、趣味または学歴を有するメンバーを示すものであってよい。さらに、前記ソーシャルネットワークホストサイト200は、メンバーが該メンバーの他のメンバーとの関係を明記することを可能にする、異なるメンバー間のメンバーによって定義されたコネクションを含む。例えば、このようなメンバーによって定義されたコネクションは、友達、仕事の同僚、パートナー等の、メンバーの実生活上の関係に匹敵する関係を発生することを可能にする。メンバーは、予め定義された種類のコネクションから選択し、または、必要に応じて彼ら自身のコネクションを定義できる。
【００２３】
前記ウェブサーバ220は、前記ネットワーク150を介して、前記ソーシャルネットワークホストサイト200を1または複数のクライアント装置205にリンクする。該ウェブサーバ220は、ウェブページ、および、Java（登録商標）、Flash、XML等の他のウェブ関連コンテンツを提供する。前記ウェブサーバ220は、メールサーバ機能、または、前記ソーシャルネットワークホストサイト200と前記クライアント装置205との間でメッセージを受信し、送信するメッセージ機能を含んでいてよい。前記メッセージは、インスタントメッセージ、待ち行列型(queued)メッセージ(例えば、eメール)、テキストおよびSMS(short message service)、または、その他の適当なメッセージ技術によるものであってよい。
【００２４】
前記アクションロガー225は、前記ウェブサーバ220から、前記ソーシャルネットワークホストサイト200を介したおよび/または介さないメンバーのアクションについて通信を受信することができる。前記アクションロガー225は、メンバーのアクションを追跡するために、前記アクションログ265に前記メンバーのアクションを投入する。他のメンバーについて特定のメンバーがとるすべてのアクションは、データベース、または、前記アクションログ265のようなその他のデータ記憶部において維持された情報を介して、各メンバーのプロフィールと対応付けられる。このようなアクションは、特に、前記他のメンバーに対する関係を付加すること、該他のメンバーにメッセージを送ること、該他のメンバーからのメッセージを読むこと、該他のメンバーに関連したコンテンツを見ること、他のメンバーによって投稿されたイベントに参加すること、等が含まれる。さらに、他の目的に関連して後述される多数のアクションは特定のメンバーをターゲットとするものであり、従って、これらのアクションはこれらのメンバーに関連づけられる。あるメンバーが前記ソーシャルネットワーキングウェブサイト200に対してアクションをとる場合、該アクションはアクションログ265に記録される。一実施の形態において、前記ウェブサイト200は、前記アクションログ265をエントリのデータベースとして維持する。前記ウェブサイト200に対してアクションがとられると、該ウェブサイト200は、そのアクションについてのエントリを前記アクションログ265に追加する。
【００２５】
前記セッションマネージャ260は、前記ソーシャルネットワーキングウェブサイト200とのインタラクションの間に前記クライアント装置205によって創出されたセッションを処理する。例えば、メンバーがクライアント装置205を使用して前記ソーシャルネットワーキングウェブサイト200にログインし、または、該ソーシャルネットワーキングウェブサイト200からウェブページを取り出すときに、セッションが創出される。前記セッションマネージャ260は、前記クライアント装置205との通信に基づいて、前記クライアント装置205から受信された情報を分析して、例えば、前記ソーシャルネットワーキングウェブサイト200と通信するために前記クライアント装置によって使用されたインターネットプロトコル(IP)アドレス、または、前記クライアント装置205に記憶されたマシーン・クッキーのような、前記クライアント装置205に関連した情報をアイデンティファイ（「同定」若しくは「識別」又は「特定」）する。
【００２６】
前記疑惑インデックスマネージャ230は、前記ユーザによって創出されたセッションに関する情報を入手して分析して、該セッションが当該アカウントの真正のユーザによって創出された確率が前記ユーザの認証情報を盗んだ者による不正使用に比べて高いか否かを判定する。前記疑惑インデックス(疑惑指数)は、ユーザセッションに割り当てられた、該セッションが不正ユーザによって創出される可能性を示す数値スコア(点数)という形態であってよいし、または、該セッションの真正性に関する、例えば、低度、中度または高度の疑惑度を示す所定組の値から選ばれた値という形態であってもよい。他の実施の形態において、前記疑惑インデックスは、当該ユーザセッションが安全か否かを示す2値であってもよい。ある実施の形態において、前記疑惑インデックスマネージャーは、セッションパラメータを使用して、該セッションが疑わしいものか否かを判定してよい。例えば、過去に不正なアクションをしたことが知られている装置から創出されたセッションは、疑わしいと判定されてよい。他の実施の形態では、当該セッションによって実行されたアクションに基づいて、該アクションが疑わしいと判定してよい。例えば、スパム(嫌がらせのための大量のeメール送信)アクションを示す行動が、疑わしいと判定されてよい。
【００２７】
前記認証マネージャ245は、セッションを創出するユーザの認証情報を入手し、該セッションに基づくアクションを認証する。例えば、情報に対するユーザアクセスを許可する前に、ログインおよびパスワード情報が、ユーザから収集され、メンバープロフィール記憶部350からの情報に対して検証される。前記疑惑インデックスマネージャ230によって判定されたユーザセッションに関連した疑惑度に基づいて、該ユーザセッション前記認証マネージャは、前記ユーザセッションに基づいて前記ユーザにアクセスを許可する前に、該ユーザに異なるレベルの認証を要求してよい。例えば、セッションに関する低い疑惑度では、前記認証マネージャがログインおよびパスワードに基づく簡単な認証によって情報に対するアクセスを許可することになる可能性がある。他方、前記疑惑インデックスマネージャによってセッションと関連付けられた大いに疑惑あるインデックスでは、前記認証マネージャにソーシャルCAPTCHAに基づく追加的な認証を必要とさせることがある。
【００２８】
前記CAPTCHAマネージャ240は、セッションを認証するために必要なCAPTCHAを決定する。前記CAPTCHAマネージャ240は、前記CAPTCHAに使用される質問の数、該質問の難易度、および、ある質問について任意に、選択すべき回答候補のリストを決定することができる。前記質問の難易度、前記質問の数、および、潜在的な正しいまたは正しくない回答候補の数が、前記疑惑インデックスマネージャ230によって判定されたセッションの疑惑インデックスに基づいて決定され得る。ユーザが前記CAPTCHAに対して回答を与えると、前記CAPTCHAマネージャ240は、前記回答の正確さを判定し、前記認証マネージャ245に通知する。前記認証マネージャ245は、前記ユーザによって与えられた前記CAPTCHAに対する回答の正確さを使用して、当該ユーザセッションの認証に関する決定を行う。ある実施の形態は、前記ユーザが、少なくとも、あるしきい数の質問に対して正しい回答を与える限り、いくつかの質問に対する不正確な回答を許容する。
【００２９】
前記APIリクエストサーバ235は、外部のウェブサイトが、APIを呼び出すことによってソーシャルネットワーキングウェブサイトからの情報にアクセスすることを可能にする。ソーシャルCAPTCHAを使用することに興味のあるウェブサイトがローカルに入手可能な必要なソーシャルネットワーク情報を有さない場合、ソーシャルネットワーキングウェブサイトから該情報を取り込むことができる。この場合、前記ソーシャルネットワーク情報に興味のあるウェブサイトは、前記ネットワーク150を介して、APIリクエストを前記ソーシャルネットワーキングウェブサイトに送ることができる。前記APIリクエストは、前記ソーシャルネットワーキングウェブサイトにおいてAPIリクエストサーバ235によって受信される。前記APIリクエストサーバ235は、適当な応答を判定することによって前記リクエストを処理し、その後、該処理されたリクエストは、前記ネットワーク150を介して、前記リクエストしたウェブサイトに返送される。
ソーシャルCAPTCHAを使用してユーザセッションを認証
【００３０】
図3は、本発明の一実施の形態に従って、ユーザのために情報をリクエストしているクライアントに対してソーシャルCAPTCHAが提示される処理を示す。図3に示す実施の形態において、クライアント205はソーシャルネットワーキングウェブサイト200とインタラクトしている。該クライアント205は、ユーザに関する情報を要求するリクエストを前記ウェブサーバ220に送ることによって、前記ウェブサイト200とインタラクトする(ステップ310)。前記リクエストは、他の種類の情報を要求するリクエストであってよいし、他の種類のインタラクションを示すものであってよい。例えば、前記リクエストは、前記ウェブサイトにログインするためのリクエスト、または、多数のユーザに対してメッセージを同報送信する、もしくは、当該ユーザのためにオンライン購入のような金銭的な取引を実行するためのリクエスト(両前記リクエストは比較的疑わしいと考えられるアクションである)である可能性がある。前記リクエストは、メンバーに関連づけられ、該メンバーをアイデンティファイする。例えば、ログインリクエストは、アイデンティファイする目的で該メンバーのログイン情報を提供するものであってよい。前記リクエストは、以前のインタラクションにおいて当該メンバーをアイデンティファイしたセッションに基づく一連のインタラクションの一部であってよい。従って、前記リクエストは、該メンバーを以前アイデンティファイしたセッションを特定する情報を有するものであってよい。前記ウェブサーバ220は、ステップ315において、前記情報リクエストが許可され得るまたリクエストされたアクションが実行され得るようにする前に、CAPTCHAに基づく認証が必要か否かを判定する。
【００３１】
ある実施の形態において、リクエストされた情報が例えばクレジットカード情報のように慎重に扱うべきものと判断される場合、ソーシャルCAPTCHAを使用する認証が必要とされる。変更例として、実行されたアクションがユーザに関するプロフィール情報等の情報をアップデートするものである場合、ソーシャルCAPTCHAに基づく認証が必要とされてよい。ある実施の形態において、セッションからの疑わしい行為は、ソーシャルCAPTCHAに基づく認証を必要とする。例えば、多数のユーザにメッセージを同報送信する試みは、スパミングを示すものと考えられる。前記ウェブサーバ220は、前記リクエスト(310)を発生するセッションが疑わしいものか否かを判定するために前記疑惑インデックスマネージャ230とインタラクトしてよい。
【００３２】
ソーシャルCAPTCHAに基づく認証が必要であると判定された場合(ステップ315)、前記ウェブサーバ220は、ステップ320において、前記CAPTCHAマネージャ260に対して適当なCAPTCHAを与えるようリクエストする。前記CAPTCHAマネージャ260は、ステップ330において、前記メンバープロフィール記憶部250もしくはコネクション記憶部255またはこれら両方で入手可能な情報等のソーシャルネットワーク情報に基づいてCAPTCHAを決定する。前記CAPTCHAマネージャ260は、質問の数、および、所与の質問について、当該セッションの疑惑度に基づいて選択すべき対象となる回答候補の数を決定してよい。前記CAPTCHAマネージャ260は、ステップ325において、前記ウェブサーバ220に対して前記CAPTCHAを提供する。前記ウェブサーバ220は、ステップ335において、前記CAPTCHAを前記クライアント205に与える。前記クライアント205がステップ340において前記CAPTCHA質問に対する回答を与えると、前記ウェブサーバは、ステップ345において、前記CAPTCHAマネージャに対して前記クライアント205によって与えられた回答が正しいか否かを検証することを要求するリクエストを送る。前記CAPTCHAマネージャ260は、ステップ350において前記CAPTCHAに対する回答を検証し、ステップ355において前記ウェブサーバ220に対してその検証結果を与える。前記クライアント205によって与えられた回答が正しいと検証されると、前記ウェブサーバ220は、前記クライアント205に対して、リクエストされた情報を提供し、または、前記クライアント205が所与のアクションが実行されることをリクエストした場合、前記ウェブサーバは、前記リクエストされたアクションを実行する。前記クライアント205によって与えられた回答が正しくないと検証されると、前記ウェブサーバは、前記リクエストされた情報を拒絶する、または、前記クライアント205によってリクエストされたアクションを実行することを拒絶することができる。
【００３３】
ソーシャルCAPTCHAに使用される質問は、例えば、真正のユーザが前記質問に対する回答を記憶している可能性があるか否か等の様々な規準に基づいて決定される。例えば、あるメンバーは、いくつかのコネクションを有している可能性があり、これらのコネクションのすべてとは定期的にインタラクトしない可能性がある。また、あるメンバーが、該メンバーが頻繁にインタラクトしないコネクションに関する情報を記憶している可能性は低い。他方、前記メンバーが最近あるコネクションと頻繁にインタラクトしている場合、該メンバーは、該コネクションに関する質問に回答できるはずである。さらに、あるメンバーが、例えば、配偶者やその他の近縁な家族等を近縁なコネクションとして留意している場合、該メンバーが、該コネクションに関する情報を記憶している可能性がさらに高い。例えば、メンバーは、該メンバーの配偶者の生年月日を記憶していることが期待される。
【００３４】
一実施の形態において、前記システムは、メンバーの家族関係のような各コネクション毎に、該コネクションを有するメンバーと該メンバーによって提供される前記コネクションに関する情報とのインタラクションに基づいて親近度を決定する。前記メンバーと前記コネクションとのインタラクションは、前記メンバーと前記ソーシャルネットワークによって提供されるメカニズムを使用するコネクションとの多数のやりとりを含んでいてよい。さらに、または、変更例として、前記インタラクションは、前記メンバーと該メンバーのコネクションに関する目的との多数のインタラクション、または、メンバーのコネクションと該メンバーに関する目的とのインタラクションを含んでいてよい。メンバー間のインタラクションに関する情報は、アクションログ270で入手可能である。ソーシャルネットワークによって提供される通信メカニズムは、eメール、フォーラムを使用する通信、招待等を含む。メンバーは、コネクションによって投稿された写真についてコメントすることによって、該コネクションとインタラクトしてよい。例えば、二人のメンバーが彼らのID情報でタグ付けされた同一の写真に写っている場合、これらのメンバーは、互いに知っている可能性が高いので、近縁な知人と判断され得る。ある実施の形態において、彼らのIDでタグ付けされた極めて多数のメンバーを表示する画像、例えば一緒に卒業した学生たちの写真は、全てのメンバーが相互に知っているものとは判断されないことがある。
【００３５】
二人以上のメンバーは、該メンバー間の特定の種類のインタラクションの頻度に基づいて、各種類のインタラクション毎にスコアが割り当てられる。二人のメンバー間の親近度は、それらの間のインタラクションに基づくすべてのスコアの加重和を計算することによって求められる。ある実施の形態において、最近の時間インターバルで発生したメンバー間のインタラクションのみが、親近度を評価するために考慮される。従って、前記親近度スコアは、親近度スコアを計算するために使用されるメンバー間のインタラクションに基づく、時間的な変化をスコアに反映させるために定期的に再計算されてよい。前記親近度スコアを求めるために、二人のメンバー間の関係の種類等の他の要因が使用されてもよい。前記ソーシャルネットワークにおいて互いに結婚していると示された二人のメンバーは、彼らの関係に基づいて高いスコアが割り当てられてよい。ソーシャルネットワーク環境においてユーザ親近度を測定するためのシステムおよび方法は、2006年8月11日に出願された米国出願No.11/503,093に開示されている。
【００３６】
メンバーの認証を行うために使用されるソーシャルCAPTCHAは、所定のしきい値を超える親近度を実現する該メンバーのコネクションに基づく。ある実施の形態において、質問の種類は、前記親近度に基づいて決定される。例えば、非常に高い親近度を有するコネクションに関する質問は、より低い親近度を有するコネクションに関してなされる質問より、詳細な情報を必要とする。
【００３７】
ソーシャルCAPTCHAにおける質問は、メンバーに対して表示される1または複数の画像に基づいて決定を行うことを該メンバーに要求するものであってよい。例えば、メンバーは、該メンバーのコネクションを示す画像が提示され、該コネクションをアイデンティファイ（「同定」若しくは「識別」又は「特定」）するよう要求される。ある実施の形態において、前記メンバーには、そこから選択すべき回答候補として、該メンバーのコネクションのうちのあるもののID情報（識別情報）が提示されてよい。変更例として、前記メンバーには、例えば、コネクションのフルネームのようなID情報が提示されてよく、また、該メンバーは、画像選択によってコネクションの画像をアイデンティファイするように要求されてもよい。その他の種類の質問は、メンバーに対して、該メンバーがタグ付けされた画像を提示し、該メンバーに対して、該画像に示され且つコネクションID（識別情報）でタグ付けされたコネクションをアイデンティファイするよう要求する。ソーシャルCAPTCHA質問は、さらに、メンバーが関わるソーシャルネットワークにおける行為に基づいてよい。例えば、フォーラムにおいてあるコネクションと頻繁にインタラクト（相互交流）したメンバーは、該フォーラムにおいてインタラクトしている前記コネクションをアイデンティファイすることが要求される。また、ソーシャルグループの積極的なメンバーであるメンバーは、該ソーシャルグループに関する質問が与えられことがあり、例えば、ソーシャルグループのリストが提示されて該メンバーが積極的に参加しているグループをアイデンティファイすることが要求される。
【００３８】
ある実施の形態において、CAPTCHA質問の厳格さは、情報をリクエストしているセッションの疑わしさに基づいて決定されてよい。図4のフローチャートに示すように、ステップ400において、セッションはコンピューティングリソースに対するアクセスをリクエストする。該リクエストは、例えば、メンバーのアカウントを使用してログインするためのリクエスト、メンバーに関する情報に対するリクエスト、または、メンバーのためにあるアクションを実行するためのリクエストである。メンバーのためにリクエストされたアクションは、eメールを送る試み、当該ユーザのために金銭的な取引を実行する試み、または、前記メンバーに関するプロフィール情報をアップデートするためのリクエストを含む。
【００３９】
前記疑惑インデックスマネージャ230は、前記セッションが疑わしいものか否かを判定する。ステップ410においてセッションが疑わしいものではない、換言すれば、安全である場合、前記認証マネージャ245は、ステップ415において、該セッションがリクエストされたインタラクション（相互作用、相互交流）を続行することを可能にする。他方、前記セッションが疑わしいものであると判定された場合、前記認証マネージャ245は、ソーシャルCAPTCHAに基づく追加的な認証を要求することができる。ソーシャルCAPTCHAに基づく追加的な認証が要求された場合、前記CAPTCHAマネージャ240は、ステップ425において、前記ユーザに提示すべきCAPTCHAを選択する。前記CAPTCHAの難易度は、該セッションに関する疑惑度に基づいて決定される。CAPTCHAの難易度は、例えば、ユーザが更なる質問に正しく回答することを要求することによって高められてよい。さらに、ある種類の質問は容易であるよう予め決められていてよく、また、ある種類の質問は難解であるよう予め決められていてよい。例えば、メンバーのプロフィール情報に基づく質問は、該メンバーのコネクションに関する情報を必要とする質問より容易であると考えられてよい。正しいおよび正しくない回答候補と共に質問が提示され、ユーザが正しい回答を選択することを要求するようにしてよい。多数の回答候補から選択することは、少数の回答候補から選択することに比べて、質問を難しいものとする。
【００４０】
前記ソーシャルCAPTCHA質問が決定されると、ステップ430において、前記ユーザに対して該ソーシャルCAPTCHAが提示される。ステップ435において前記ユーザが前記ソーシャルCAPTCHAに正しく回答できなかった場合、ステップ440において該セッションのインタラクションを要求するリクエストが拒絶される。変更例として、前記ユーザが前記ソーシャルCAPTCHAに正しく回答できなかった場合、例えば、テキストメッセージまたはeメールによって該ユーザの電話に送られたコードを入力するよう前記ユーザに要求することによる等々の、他のメカニズムを介して前記ユーザを認証するための試みがなされてもよい。前記変更例としての認証メカニズムは、正規ユーザがなんらかの理由により前記ソーシャルCAPTCHAに回答できないことを証明することを可能にする。
他の適用可能性
【００４１】
本発明の実施の形態についての上述の説明は、例示的な説明であり、本発明の全て網羅するものではなく、本発明を開示内容のみに限定するものでもない。当業者に理解されるように、上記開示内容に照らして多くの変更が可能である。
【００４２】
以上の詳細な説明のいくつかの部分は、本発明の特徴を情報についての処理のアルゴリズムおよび象徴的表現について説明している。これらのアルゴリズムおよび象徴的表現は、当業者がかれらの作業内容を他の当業者に最も効果的に伝えるために一般的に使用される手段である。上記の処理は、ここでは機能的、計算的または論理的に説明されているが、コンピュータプログラムまたは等価電気回路、マイクロコード等によって実現されてよい。これらの処理は、普遍性を喪失することなく、モジュールとして言及することは、折にふれて便利であることが知られている。上述した処理および該処理に関連したモジュールは、ソフトウエア、ファームウエアもしくはハードウエア、またはこれらの任意の組合せで実施されてよい。
【００４３】
上記ステップまたは処理、1または複数のハードウエアまたはソフトウエアモジュールを単独で使用することによって、または、他の装置と組み合わせて使用することによって実行可能である。一実施の形態において、ソフトウエアモジュールが、上述したステップまたは処理のすべてを実行するコンピュータプロセッサによって実行可能なコンピュータプログラムコードを含むコンピュータによって読み取り可能な媒体からなるコンピュータプログラム製品で実現される。
【００４４】
本発明の実施の形態は、さらに、上記処理を実行する装置に関する。この発明は前記要求される目的に特化して構成されてもよく、および／または、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または再構成される汎用コンピューティング装置からなっていてよい。このようなコンピュータプログラムは、コンピュータシステムバスに接続された、電子命令を記憶するのに適した有形のコンピュータによって読み取り可能な記憶媒体またはその他任意タイプの媒体に記憶されてよい。さらに、この明細書に言及されているコンピューティングシステムは、単一のプロセッサを備えるものでよく、または、向上した計算能力を実現するためのマルチプロセッサ設計を使用するアーキテクチャであってもよい。
【００４５】
本発明の実施の形態は搬送波に実現されたコンピュータデータ信号に関するもとのであってもよく、この場合、前記コンピュータデータ信号は、ここに説明されたコンピュータプログラムまたはその他のデータの組合せの実施の形態を含む。前記コンピュータデータ信号は、有形の媒体または搬送波という形で提示され、前記搬送波において変調されまたはその他の方法でエンコードされる製品であり、有形のものであり、任意の適当な伝送方法に従って伝送される。
【００４６】
最後に、この明細書に使用された言語が主に読み易さおよび教示目的で選択されたものであり、本発明の主題を限定し、その境界を規定するために選択されたものではない。故に、本発明の範囲は、この詳細な説明によって限定されるものではなく、特許請求の範囲によって限定される。従って、ここでの本発明の開示は、以下の特許請求の範囲に記載した本発明の範囲を例示的に説明するものであって限定的なものではない。
【図１】
0005775003.tif 000002
【図２】
0005775003.tif 000003
【図３】
0005775003.tif 000004
【図４】
0005775003.tif 000005