(57)【特許請求の範囲】
【請求項１】
ソーシャルネットワーキングサイト内でイベントに関するユーザを提案するために１つ又は複数のコンピューティング・デバイス上で実行される方法であって、
前記ソーシャルネットワーキングサイトの第１のユーザから、イベント提案要求を含むソーシャル提案指示を受信することと、
前記１つ又は複数のコンピューティング・デバイスを使用して、前記第１のユーザに関連するイベントであって、前記イベントが場所及び時間を有する、イベントを決定することと、
ユーザのソーシャル情報を含む複数のユーザ・モデルであって、各ユーザ・モデルがユーザに対応する、複数のユーザ・モデルを保管するデータ構造にアクセスすることと、
前記１つ又は複数のコンピューティング・デバイスを使用して、所定の基準に基づいて、前記複数のユーザ・モデルから２以上のユーザ・モデルを決定するために、前記イベントを前記複数のユーザ・モデルと比較することと、
前記第１のユーザに対応する第１のユーザ・モデルと前記決定された２以上のユーザ・モデルとの社会的類似性に基づいて、前記決定された２以上のユーザ・モデルから第２のユーザを決定することと、
前記第２のユーザ・モデルに関連する第２のユーザを識別することと、
前記第１又は第２のユーザによるユーザ介入なしに、前記第１のユーザと前記識別された第２のユーザとの両方が前記イベントに参加するユーザ提案を自動的に生成することと、
前記第１のユーザに通知せずに前記識別された第２のユーザに前記ユーザ提案を送信することと、
前記第２のユーザが前記ユーザ提案を受諾すると前記第１のユーザに前記ユーザ提案を送信することと、を含む、方法。
【請求項２】
前記比較することが、前記イベントに基づいて前記所定の基準を満足するソーシャル情報を有する前記第２のユーザ・モデルを決定することを含む、請求項１記載の方法。
【請求項３】
前記ソーシャル情報がユーザ・プロフィール情報を含み、
前記社会的類似性に基づいて前記決定された２以上のユーザ・モデルから前記第２のユーザ・モデルを決定することが、前記第１のユーザ・モデルと前記決定されたユーザ・モデルとの共有プロフィール情報に基づいて前記第２のユーザ・モデルを決定することを含む、請求項１記載の方法。
【請求項４】
前記第１のユーザに関連する第１のユーザ・モデルを識別するために前記データ構造にアクセスすることを更に含み、
前記イベントを決定することが、前記ソーシャル提案指示から前記イベントを決定することを含み、
前記比較することが、前記第２のユーザ・モデルを決定するために、前記イベント及び前記第１のユーザ・モデルを前記複数のユーザ・モデルと比較することを含む、請求項１記載の方法。
【請求項５】
前記ソーシャル提案指示がイベント提案要求を含み、
前記方法が、前記第１のユーザに関連する第１のユーザ・モデルを識別するために、前記データ構造にアクセスすることを更に含み、
前記イベントを決定することが、前記イベント提案要求に応答して、前記第１のユーザ・モデルに基づいて前記イベントを決定することを含む、請求項１記載の方法。
【請求項６】
前記ソーシャル提案指示がイベント提案要求を含み、
前記方法が、第３のユーザに関連する第３のユーザ・モデルを決定するために、前記データ構造にアクセスすることであって、前記第３のユーザが前記ソーシャルネットワーキングサイトに関連するとともに前記第１のユーザと社会的に関係があることを更に含み、
前記イベントを決定することが、前記イベント提案要求に応答して、前記第３のユーザ・モデルに基づいて前記イベントを決定することを含む、請求項１記載の方法。
【請求項７】
前記ユーザ提案に応答して前記第１のユーザから受諾の入力を受信することと、
前記第１のユーザによる前記ユーザ提案の前記受諾を前記第２のユーザに伝達することと、を更に含む、請求項１記載の方法。
【請求項８】
前記ソーシャル情報が、前記ユーザの関心事情報及びイベント参加情報を含む、請求項１記載の方法。
【請求項９】
前記第２のユーザ・モデルに関連するとともに前記第１のユーザと高い社会的類似性を有する複数の第２のユーザを識別することと、
前記第１のユーザと前記第１のユーザと高い社会的類似性を有する前記識別された第２のユーザとが前記イベントに参加する前記ユーザ提案を生成することと、を更に含む、請求項１に記載の方法。
【請求項１０】
ソーシャルネットワーキングサイト内でイベントに対して参加者を提案するためのシステムであって、
ユーザのソーシャル情報を含む複数のユーザ・モデルであって、各ユーザ・モデルがユーザに対応する、複数のユーザ・モデルを保管するデータ構造を保管するとともに実行可能命令を保管するメモリと、
前記メモリに結合されたプロセッサであって、
前記ソーシャルネットワーキングサイトの第１のユーザから、イベント提案要求を含むソーシャル提案指示を受信し、
前記第１のユーザに関連するイベントであって、場所及び時間を有する、イベントを決定し、
前記第１のユーザに対応する第１のユーザ・モデルを含む前記複数のユーザ・モデルを決定するために前記データ構造にアクセスし、
所定の基準に基づいて、前記複数のユーザ・モデルから第２のユーザ・モデルを含む２以上のユーザ・モデルを決定するために、前記イベントを前記複数のユーザ・モデルと比較し、
前記第１のユーザに対応する前記第１のユーザ・モデルと前記決定された２以上のユーザ・モデルとの社会的類似性に基づいて、前記決定された２以上のユーザ・モデルから前記第２のユーザ・モデルを決定し、
前記第２のユーザ・モデルに対応する第２のユーザを識別し、
前記第１又は第２のユーザによるユーザ介入なしに、前記識別された第２のユーザと前記第１のユーザとの両方が前記イベントに参加するユーザ提案を自動的に生成し、
前記第１のユーザに通知せずに前記識別された第２のユーザに前記ユーザ提案を送信し、
前記第２のユーザが前記ユーザ提案を受諾すると前記第１のユーザに前記ユーザ提案を送信する
ために前記保管された実行可能命令を実行するように構成されるプロセッサと、を含む、システム。
【請求項１１】
前記２以上のユーザ・モデルを決定するために比較することが、前記イベントに基づいて前記所定の基準を満足するソーシャル情報を有する前記２以上のユーザ・モデルを決定することを含む、請求項１０記載のシステム。
【請求項１２】
前記ソーシャル情報がユーザ・プロフィール情報を含み、
前記社会的類似性に基づいて、前記決定された２以上のユーザ・モデルから前記第２のユーザ・モデルを決定することが、前記第１のユーザ・モデルと前記決定された２以上のユーザ・モデルとの共有プロフィール情報に基づいて前記第２のユーザ・モデルを決定することを含む、請求項１０記載のシステム。
【請求項１３】
前記イベントを決定することが、前記ソーシャル提案指示から前記イベントを決定することを含み、
前記２以上のユーザ・モデルを決定するために比較することが、前記２以上のユーザ・モデルを決定するために、前記イベント及び前記第１のユーザ・モデルを前記複数のユーザ・モデルと比較することを含む、請求項１０記載のシステム。
【請求項１４】
前記ソーシャル提案指示がイベント提案要求を含み、
前記イベントを決定することが、前記イベント提案要求に応答して、前記第１のユーザ・モデルに基づいて前記イベントを決定することを含む、請求項１０記載のシステム。
【請求項１５】
前記ソーシャル提案指示がイベント提案要求を含み、
前記プロセッサが、第３のユーザに関連する第３のユーザ・モデルを決定するために、前記データ構造にアクセスするように更に構成され、前記第３のユーザが前記ソーシャルネットワーキングサイトに関連し、前記第１のユーザに社会的に関係があり、
前記イベントを決定することが、前記イベント提案要求に応答して、前記第３のユーザ・モデルに基づいて前記イベントを決定することを含む、請求項１０記載のシステム。
【請求項１６】
前記プロセッサが、
前記ユーザ提案に応答して前記第１のユーザから受諾の入力を受信し、
前記第１のユーザによる前記ユーザ提案の前記受諾を前記第２のユーザに伝達するように更に構成される、請求項１０記載のシステム。
【請求項１７】
ソーシャルネットワーキングサイト内でイベントに対して参加者を提案するための方法をプロセッサに実行させる機械可読命令を含む機械可読記憶媒体であって、
前記方法が、
前記ソーシャルネットワーキングサイトの第１のユーザから、イベント提案要求を含むソーシャル提案指示を受信することと、
前記第１のユーザに関連するイベントであって、前記イベントが場所及び時間を有する、イベントを決定することと、
前記第１のユーザに対応する第１のユーザ・モデルを含む複数のユーザ・モデルであって、各ユーザ・モデルがユーザに対応する、複数のユーザ・モデルを保管するデータ構造にアクセスすることであって、前記複数のユーザ・モデルが、プロフィール情報を含む、ユーザのソーシャル情報を含む、アクセスすることと、
前記複数のユーザ・モデルから、所定の基準を満足するソーシャル情報を有する第２のユーザ・モデルを含む２以上のユーザ・モデルを決定するために、前記イベント及び前記第１のユーザ・モデルを前記複数のユーザ・モデルと比較することと、
前記第１のユーザ・モデルと前記決定された２以上のユーザ・モデルとの共有プロフィール情報に基づいて、前記決定された２以上のユーザ・モデルから、前記第１のユーザに対応する前記第１のユーザ・モデルと前記決定された２以上のユーザ・モデルとの社会的類似性を有する、前記第２のユーザ・モデルを決定することと、
前記第２のユーザ・モデルに対応する第２のユーザを識別することと、
前記第１又は第２のユーザによるユーザ介入なしに、前記第１のユーザと前記識別された第２のユーザとの両方が前記イベントに参加するユーザ提案を自動的に生成することと、
前記第１のユーザに通知せずに前記識別された第２のユーザに前記ユーザ提案を送信することと、
前記第２のユーザが前記ユーザ提案を受諾すると前記第１のユーザに前記ユーザ提案を送信することと、を含む、機械可読記憶媒体。
【請求項１８】
前記ソーシャル提案指示がイベント提案要求を含み、
前記イベントを決定することが、前記イベント提案要求に応答して、前記第１のユーザ・モデルに基づいて前記イベントを決定することを含む、請求項１７記載の機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１２年６月８日に出願された米国仮出願第６１／６５７，６５１号の利益を請求するものであり、同出願は参照により全体として本明細書に組み込まれる。
【０００２】
本発明は、一般に、ユーザが一緒にイベントに行く可能性のある参加者（attendee）を提案することに関し、詳細には、ソーシャルネットワーキングサイトのユーザのプロフィール情報に基づいて参加者を提案することに関する。
【背景技術】
【０００３】
ソーシャルネットワーキングサイトにより、人々は以前より容易かつ効率的に互いに通信できるようになった。ソーシャルネットワーキングサイトを介して、ユーザは、関心のある可能性がある思考、音楽、ビデオ、記事、ウェブサイト、及びその他の項目を、事実上、地理的障壁なしに、直ちに他のユーザと共有することができる。また、ユーザは、自分の共有項目について他のユーザからのコメントを都合良く受信することができる。ユーザがインターネットに接続されている限り、ソーシャルネットワーキングサイトは世界中の他のユーザとつながるための効果的な手段を提供する。
【発明の概要】
【課題を解決するための手段】
【０００４】
開示されている主題技術は、ソーシャルネットワーキングサイト内でイベントに関するユーザを提案するために１つ又は複数のコンピューティング・デバイス上で実行される方法に関する。この方法は、ソーシャルネットワーキングサイトの第１のユーザからソーシャル提案指示（social suggestion indication）を受信することと、１つ又は複数のコンピューティング・デバイスを使用して、第１のユーザに関連するイベントを決定することと、を含む。また、この方法は、ユーザのソーシャル情報を含む複数のユーザ・モデルを保管するデータ構造にアクセスすることと、１つ又は複数のコンピューティング・デバイスを使用して、所定の基準に基づいて、複数のユーザ・モデルから第２のユーザ・モデルを決定するために、そのイベントを複数のユーザ・モデルと比較することと、も含む。この方法は、第２のユーザ・モデルに関連する第２のユーザを識別することと、第２のユーザを識別するユーザ提案（user suggestion）を生成することと、を更に含む。
【０００５】
開示されている主題技術は更に、ソーシャルネットワーキングサイト内でイベントに対して参加者を提案するためのシステムに関する。このシステムは、ユーザのソーシャル情報を含む複数のユーザ・モデルを保管するデータ構造を保管するとともに実行可能命令を保管するメモリと、プロセッサと、を含む。プロセッサは、メモリに結合され、ソーシャルネットワーキングサイトの第１のユーザからソーシャル提案指示を受信するために保管されている実行可能命令を実行するように構成される。プロセッサは、第１のユーザに関連するイベントを決定し、第１のユーザに関連する第１のユーザ・モデルを含む複数のユーザ・モデルを決定するためにデータ構造にアクセスし、所定の基準に基づいて、複数のユーザ・モデルから第２のユーザ・モデルを含む２以上のユーザ・モデル（multiple user models）を決定するために、そのイベントを複数のユーザ・モデルと比較するように更に構成される。プロセッサは、第１のユーザ・モデルと決定された２以上のユーザ・モデルとの社会的類似性（social affinity）に基づいて、決定された２以上のユーザ・モデルから第２のユーザ・モデルを決定するように更に構成される。プロセッサは、第２のユーザ・モデルに関連する第２のユーザを識別し、そのイベントに対して参加者として第２のユーザを識別する参加者提案（attendee suggestion）を生成するように更に構成される。
【０００６】
また、開示されている主題技術は、ソーシャルネットワーキングサイト内でイベントに対して参加者を提案するための方法をプロセッサに実行させるための機械可読命令を含む機械可読記憶媒体にも関する。この方法は、ソーシャルネットワーキングサイトの第１のユーザからソーシャル提案指示を受信することと、第１のユーザに関連するイベントを決定することと、第１のユーザに関連する第１のユーザ・モデルを含む複数のユーザ・モデルを保管するデータ構造にアクセスすることであって、複数のユーザ・モデルが、プロフィール情報を含む、ユーザのソーシャル情報を有することを含む。また、この方法は、その複数のユーザ・モデルから、所定の基準を満足するソーシャル情報を有する第２のユーザ・モデルを含む２以上のユーザ・モデルを決定するために、そのイベント及び第１のユーザ・モデルを複数のユーザ・モデルと比較することも含む。この方法は、第１のユーザ・モデルと決定された２以上のユーザ・モードとの共有プロフィール情報に基づいて、決定された２以上のユーザ・モデルから第２のユーザ・モデルを決定することを更に含む。この方法は、第２のユーザ・モデルに関連する第２のユーザを識別することと、そのイベントに対して参加者として第２のユーザを識別するユーザ提案を生成することを更に含む。
【０００７】
主題技術の様々な構成が例示として示され記載されている以下の詳細な説明から主題技術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。認識されるように、主題技術はその他の種々の構成が可能であり、そのいくつかの詳細は、いずれも主題技術の範囲を逸脱せずに、様々なその他の点で変更可能である。従って、図面及び詳細な説明は、限定的なものとしてではなく、本質的に例示的なものと見なすべきである。
【０００８】
主題技術の特定の特徴は特許請求の範囲に明記されている。しかし、説明のために、主題技術のいくつかの実施形態が以下の図に明記されている。
【図面の簡単な説明】
【０００９】
【図１】プロフィール情報に基づいてイベントに関する参加者を提案するためのシステムを含むアーキテクチャの一例を示している。
【図２】プロフィール情報に基づいてイベントに関する参加者を提案するためのシステムの一例を示すブロック図である。
【図３Ａ】図２のシステムを使用するユーザの経験の概要の例を示している。
【図３Ｂ】図２のシステムを使用するユーザの経験の概要の例を示している。
【図４】図２のユーザ提案モジュールの動作の一例を示す詳細な模式図である。
【図５】図３Ａに関連して記載されているプロセスの流れ図の一例を示している。
【図６】図３Ｂに関連して記載されているプロセスの流れ図の一例を示している。
【図７】ユーザ・モデルの一例のブロック図である。
【図８】主題技術のいくつかの実現例を実現可能な電子システムの一例を示す概念図である。
【発明を実施するための形態】
【００１０】
以下に明記されている詳細な説明は、主題技術の様々な構成の説明として意図されており、主題技術を実践可能な構成のみを表すものではない。添付図面は、本明細書に取り入れられ、詳細な説明の一部を構成する。詳細な説明は、主題技術を徹底的に理解するための具体的な詳細を含む。しかし、主題技術が本明細書に明記されている具体的な詳細に限定されず、このような具体的な詳細なしに実践可能であることは、当業者にとって明白かつ明らかになるであろう。いくつかの事例では、主題技術の概念を曖昧にすることを回避するために、周知の構造及び構成要素がブロック図形式で示されている。
【００１１】
Ｉ．概要
あるユーザが同様の関心を持っている他のユーザをソーシャルネットワーキングサイト上で見つけ、イベントに誘うことは、難題である可能性がある。そのユーザが自分が参加しているイベントに同じく関心を持っている他のユーザを見つけることが時間のかかることである場合もあれば、そのユーザが他のユーザと連絡を取ろうとすることが厄介なことである場合もある。
【００１２】
主題技術の様々な態様により、プロフィール情報に基づいてイベントに関する参加者を提案するためのシステム及び方法（「システム」）が提供される。このシステムは、ユーザ・モデルを生成するために、ユーザのソーシャルネットワーク・プロフィールからそのユーザに関する様々なシグナルを収集することができる。このユーザ・モデルを他のユーザのユーザ・モデルと比較することにより、システムは、イベントに加わることに関心がありそうなユーザを提案することができる。
【００１３】
例えば、第１のユーザは、他の人物写生画家とともにローカル・ミートアップ（local meet up）に参加することを楽しんでおり、来たるべきミーティングに参加したいとソーシャルネットワーキングサイト上で示すことができる。しかし、他のユーザが自分とともに人物写生に参加したいと思うかどうかを第１のユーザが積極的に判断し尋ねることは厄介かつ非効率的である可能性がある。その代わりに、システムは、ユーザが人物写生イベントに参加するつもりであると判断するだけで、そのサイト上で同じく人物写生を楽しんでいる他のユーザを提案することができる。システムは、第１のユーザに対して他のユーザを提案できるだけでなく、他のユーザが第１のユーザとともにイベントに参加したいと思うかどうかを他のユーザに自動的に尋ねることもできる。システムが提案プロセスを開始するので、他のユーザに個人的に尋ねることに伴う厄介さを取り除くことができ、ユーザはより効率的に他のユーザとつながることができる。
【００１４】
また、システムは、提案すべき他のユーザを決定するときに社会的類似性を考慮に入れることもできる。上記の例では、人物写生に関心のある他のユーザの中で、第２のユーザが第１のユーザと同じ会社で勤務しており、他のユーザはそうではないとシステムが判断した場合、そのサイトはまず第１のユーザに対して第２のユーザを提案することができる。
【００１５】
一態様では、システムは、「ユーザ・モデル」を作成するためにそれぞれのユーザに関する様々な情報を収集することができる。ユーザ・モデルは、例えば、どのタイプのイベントにユーザが参加することを好むかに関する情報、ソーシャルネットワーキングサイト上でのユーザのアクティビティ、及びユーザに関して公開された任意の情報を含むことができる。公開された情報は、ユーザが自分のプロフィールに入力した任意の関心事情報（interest information）を含むことができる。このような情報は、ソーシャルネットワーキングサイトによって提供される様々なサービスから入手することもできる。それぞれのユーザに関するユーザ・モデルを使用して、システムは、ユーザが参加したいイベントがどのユーザ・モデルと一致するかを調べ、ユーザに対する提案を作成することができる。
【００１６】
また、システムは、ユーザが参加することに関心のある可能性があるイベントをそのユーザに提案することもできる。例えば、ユーザが参加したいと希望する可能性のあるローカル・エリアでのイベントをシステムが識別する場合、システムは、同じく参加することに関心がある可能性のある友人とともにユーザに対してこのイベントを提案することができる。また、システムは、ユーザの要求に応答してイベントを提案することもできる。
【００１７】
本明細書で使用する「ソーシャルネットワーキングサイト」という語句は、ユーザ間の社会的結びつき及び対話の構築及び反映に焦点を合わせたオンライン・サイト、プラットフォーム、又はサービスを含むがこれらに限定されず、その平易かつ普通の意味を包含するものである。このような結びつきは、それぞれのソーシャルネットワーキングサイトにおいてソーシャルグラフ内に保管することができる。ソーシャルネットワーキングサイトのユーザは互いに結びつきを作成することができる。このようなユーザの結びつきは、ユーザ間ベースで又はあるグループ内のメンバーシップにより関連付けられたユーザのグループとして定義することができる。ソーシャルネットワーキングサイトは、ユーザに関する情報を保管するためにユーザに関連するユーザ・モデルを生成することができる。
【００１８】
「ユーザ・モデル」は、データ構造又はデータ構造の一部としてソーシャルネットワーキングサイトに保管することができ、ユーザに関連する様々なソースから収集した情報又はこのような情報から導出された情報を含む。情報を収集できるソースは、ソーシャルネットワーキングサイトによって提供されるか又はそれに関連する、サービス又はアプリケーションとすることができる。ユーザ・モデルに保管されたこのような情報は、例えば、氏名、生年月日、自宅の住所、電話番号、電子メールアドレス、言語、家族、学校及び職場情報など、ユーザによって提供されたプロフィール情報を含むことができる。また、ユーザ・モデルは、例えば、ユーザが好んでいるか又は関心があるアクティビティ、書籍、イベント、歌、映画、スポーツ、著名人、組織、及び宗教（複数も可）など、ユーザによって提供された関心事情報を含むこともできる。
【００１９】
本明細書で使用する「友人」という語句は、その平易かつ普通の意味を包含するものである。また、本明細書で使用する「友人」という語句は、他のユーザが結びつきを有するソーシャルネットワーキングサイトのユーザを含むがこれに限定されず、ソーシャルネットワーキングのコンテキストで使用される意味も包含するものである。
【００２０】
ＩＩ．イベントに関する参加者を提案するためのシステムを含むアーキテクチャの例
図面を参照すると、図１は、プロフィール情報に基づいてイベントに関する参加者を提案するためのシステムを含むアーキテクチャ１００の一例を示している。アーキテクチャ１００はソーシャルネットワーキングシステム１１０を含むことができる。ソーシャルネットワーキングシステム１１０はサーバ１２０を含むことができる。サーバ１２０はソーシャルネットワーキングシステム１１０の全部又は一部をホストすることができ、ソーシャルネットワーキングシステム１１０はソーシャルネットワーキングサービスを操作するための諸機能及びサービスを提供することができる。イベントに関する参加者を提案するための本発明のシステムはサーバ１２０によってホストされる場合もあれば、本発明のシステムはネットワーク１３０を介してソーシャルネットワーキングシステム１１０と通信状態にある独立サーバ１５０上でホストされる場合もある。クライアント・コンピューティング・デバイス１４０はネットワーク１３０を介してソーシャルネットワーキングシステム１１０及びサーバ１２０／１５０と通信状態になる可能性がある。クライアント・コンピューティング・デバイス１４０は、例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、モバイル・デバイス（例えば、スマートフォン、タブレット・コンピュータ、又はＰＤＡ）、セットトップボックス（例えば、１つ又は複数のプロセッサが組み込まれているか又は結合されているテレビジョン用）、ビデオゲーム・コンソール、又は適切なプロセッサ、メモリ、及び通信機能を有する任意のその他の装置とすることができる。クライアント・コンピューティング・デバイス１４０はコンピューティング・デバイスとすることができ、任意のサーバ又はシステム（例えば、サーバ１２０、サーバ１５０、又はソーシャルネットワーキングシステム１１０）は、１つ又は複数のコンピューティング・デバイス上で実行される場合もあれば、サーバ・コンピュータのアクションを実行するために一緒に機能する２つ以上のコンピューティング・デバイスを表す場合もある（例えば、クラウド・コンピューティング）。
【００２１】
ネットワーク１３０は、例えば、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、キャンパス・エリア・ネットワーク（ＣＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、広域ネットワーク（ＷＡＮ）、ブロードバンド・ネットワーク（ＢＢＮ）、インターネットなどのうちの任意の１つ又は複数とすることができる。更に、ネットワーク１５０は、バスネットワーク、星状ネットワーク、環状ネットワーク、網目状ネットワーク、星状バスネットワーク、木状又は階層ネットワークなどを含むネットワーク・トポロジのうちの任意の１つ又は複数を含むことができるが、これらに限定されない。
【００２２】
ＩＩＩ．イベントに関する参加者を提案するためのシステムの例
図２は、本発明の特定の諸態様によりイベントに関する参加者を提案するためのシステム２０１の一例を示すブロック図２００である。システム２０１は、例えば、サーバ１２０又はサーバ１５０上でホストされる可能性がある。システム２０１は、プロセッサ２０２と、通信モジュール２０４と、メモリ２０６とを含むことができる。通信モジュール２０４はプロセッサ２０２に結合することができ、システム２０１とソーシャルネットワーキングシステム（例えば、ソーシャルネットワーキングシステム１１０）又はクライアント・コンピューティング・デバイス（例えば、クライアント・コンピューティング・デバイス１４０）との通信は通信モジュール２０４を使用して実行することができる。
【００２３】
プロセッサ２０２は、プロセッサ２０２内に物理的にコード化された命令、メモリ２０６内のソフトウェアから受信した命令、又はその両方の組み合わせなどの命令を実行するように構成されることができる。例えば、プロセッサ２０２は、ソーシャルネットワーキングシステム１１０によって提供されるソーシャルネットワーキングサービスの第１のユーザからのソーシャル提案指示を受信するための命令を実行することができる。ソーシャル提案指示は、例えば、第１のユーザがイベントに参加するつもりであるというシステム２０１による判断である場合もある。一態様では、ソーシャル提案指示は、第１のユーザが参加できるイベントを提案するよう求める第１のユーザによる要求である場合もある。メモリ２０６内のソフトウェアは、イベント検出モジュール２０８及びユーザ提案モジュール２１０などのコンポーネントを含むことができる。イベント検出モジュール２０８は、イベントを提案するよう求めるユーザの要求に基づいてイベントを識別するための命令を含むことができる。ユーザ提案モジュール２１０は、ユーザとともにイベントに参加できる他のユーザについての提案を生成するための命令を含むことができる。モジュール２０８及び２１０は、プロセッサ２０２と通信状態にある独立ハードウェア・モジュールとして実現することもできる。また、メモリ２０６は、ユーザ・モデル２１４を保管できるデータ構造２１２も含むことができる。モジュール２０８及び２１０は、それぞれの結果をユーザ・モデル２１４に基づくものにすることができる。また、データ構造２１２は、例えば、プロセッサ２０２と通信状態にある個別データベース又はクラウドベースのストレージなど、メモリ２０６の外側の外部記憶手段に保管されることもできる。ユーザ・モデル２１４は、ソーシャルネットワーキングサービスのユーザがシステム２０１による使用を認可したそのユーザに関する情報及び／又はこのような情報から導出された任意のデータを含むようにシステム２０１によって生成されることができる。ユーザ・モデル２１４については、図７に関連して以下により詳細に説明する。
【００２４】
プロセッサ２０２は、ソーシャルネットワーキングサービスのユーザのユーザ・モデル２１４を保管するデータ構造２１２にアクセスし、第１のユーザを含む様々なユーザのユーザ・モデルを識別するための命令を実行することもできる。また、イベント検出モジュール２０８を使用することなどによるか又はソーシャル提案指示から、第１のユーザに関連するイベントを識別することもできる。識別されたイベントは、所定の基準に基づいてソーシャルネットワーキングサービスの他のユーザのユーザ・モデル２１４と比較されることができる。ユーザ・モデル２１４を比較するために使用される基準は、例えば、比較されたユーザ・モデルのユーザ同士が同様のプロフィールを有するか、同様の関心を有するか、過去に同様のイベントに参加したか、以前に同様のキーワードについて検索したことがあるかどうか、及びそのユーザのそれぞれの友人が同様の関心を共有するかどうかにすることができる。その他の基準を使用することもできる。ソーシャル提案指示が第１のユーザがイベントに参加するつもりであるというシステム２０１による判断である場合、その基準は、関連のユーザがそのイベントに参加することを楽しめそうであることを、比較されたユーザ・モデルが示唆するかどうかを含むこともできる。基準を満足する１つ又は複数のユーザ・モデル２１４が検出されると、プロセッサは、検出されたユーザ・モデルに関連する第２のユーザを識別し、識別された第２のユーザをそのイベントに一緒に参加する推奨ユーザ（suggested user）として示す提案を生成するための命令を実行することができる。提案は、第１のユーザ及びイベントも示すことができる。
【００２５】
また、プロセッサ２０２は、第１のユーザと、識別された第２のユーザとの社会的類似性を判断するための命令を実行することもできる。社会的類似性は、２人のユーザのユーザ・モデルを比較することによって判断することができる。例えば、２人の比較されたユーザが近くに住んでいるか、同じ場所で勤務しているか、又は同じ市外局番を有することをユーザ・モデルが示す場合、２人のユーザはより高い社会的類似性を有すると判断することができる。複数の第２のユーザが識別された場合、第１のユーザとの社会的類似性が高いユーザに対して優先権を与えることができ、生成された提案にはこのようなユーザのうち、所定の数の上位のもののみを示すことができる。
【００２６】
生成された提案はまず第１のユーザに伝達されることができる。第１のユーザがその提案を受諾する場合、プロセッサ２０２は、提案に示されている第２のユーザにその提案を伝達するための命令を実行することができる。他の態様では、生成された提案はまず提案に示されている第２のユーザに伝達されることができる。第２のユーザがその提案を受諾する場合、提案を受諾した第２のユーザのみを示して、提案を第１のユーザに伝達することができる。
【００２７】
ＩＶ．イベントに関する参加者を提案するためのシステムを使用するユーザの経験の概要の例
図３Ａ及び図３Ｂは、イベントに関する参加者を提案するためのシステム（例えば、システム２０１）を使用するユーザの経験の概要の例を示している。詳細には、図３Ａは、イベントへの参加者（participant）に関する提案を受信するためにシステムを使用するユーザの経験の一例の概要３００を示している。まず、ユーザＡは、ソーシャルネットワーキングサービス（例えば、ソーシャルネットワーキングシステム１１０によってホストされるソーシャルネットワーキングサービス）にリンクした自分のカレンダー上に、次の月曜日に人物写生イベントに参加することを示すことができる（３０２）。システムは、ユーザＡのカレンダーをモニターし、ユーザＡが来週、人物写生イベントに参加すると判断することができる。
【００２８】
ユーザＡが人物写生イベントに参加すると判断した後、システムは、提案を生成し、ユーザＣが人物写生イベントに一緒に行くのに好適な人物である可能性があることをユーザＡに提案することができる（３０４）。例えば、システムは、「Ａさん、あなたは同じく人物写生を楽しんでいるＣさんと一緒に行きたいですよね。彼女はあなたと一緒にＸ社で勤務しています。」と記載されうる通知をユーザＡに送信することができる。システムは、例えば、ユーザ提案命令を含むユーザ提案モジュール２１０を使用して提案を生成することができる。ユーザ提案モジュール２１０を使用するシステムの動作については、図４に関連して以下により詳細に説明する。
【００２９】
次に、ユーザＡは提案を受諾又は辞退することができる。ユーザＡが提案を受諾する場合、システムは、ユーザＡと一緒に人物写生イベントに参加するようユーザＣを招待することができる（３０６）。従って、自分自身でユーザを見つけ尋ねることに関連する厄介さ及び非効率さがプロセスから取り除かれるので、ユーザＡは自分の人物写生イベントに一緒に参加する人物を効率的に見つけることができる。一態様では、システムはまずユーザＣに通知を送信し、ユーザＣが受諾する場合のみ、ユーザＡに提案を通知することができる。
【００３０】
図３Ｂは、イベント及び参加者に関する提案を受信するように、イベントに関する参加者を提案するためのシステム（例えば、システム２０１）を使用するユーザの経験の一例の概要３５０を示している。上記の例のユーザＡは、人物写生イベントに参加することを自分のカレンダーに入力する代わりに、携わりたい可能性のあるアクティビティに関する提案についてシステムに要求することができる（３５２）。例えば、システムは、それによりユーザＡがアクティビティに携わりたい日時を示し、提案を要求することができる、ユーザ・インターフェース（ＵＩ）を提供することができる。アクティビティは、例えば、ユーザＡが参加できるイベントにすることができる。ユーザＡが提案を要求できるＵＩは、例えば、「金曜日の夜に何をするべきでしょうか？」と記載されたボタンにすることができる。応答として、システムは、ユーザＡのユーザ・モデル、及び、指定の時間に利用可能なイベント又はその他のアクティビティを分析して、推奨アクティビティ（suggested activity）を決定することができる。例えば、ユーザＡがアクション映画を見るのを楽しんでいることを示す情報をユーザ・モデルが含む場合、示された時間に利用可能なものがあるという条件で、システムは、推奨アクティビティとしてアクション映画の上映を決定することができる。一態様では、システムは、例えば、プロセッサ２０２によって実行できる命令を含むイベント検出モジュール２０８を使用して、分析を実行することができる。また、システムは、他のユーザのユーザ・モデルを分析して、同じくアクション映画上映に参加することに関心がある可能性のあるユーザを決定することもできる。また、システムは、決定されたユーザがユーザＡとの社会的類似性を有するかどうかを判断することもできる。一態様では、分析及び推奨ユーザの決定は、プロセッサ２０２によって実行可能なユーザ提案命令を含むユーザ提案モジュール２１０を使用して実行されることができる。ユーザ提案モジュール２１０を使用するシステムの動作については、図４に関連して以下に詳細に説明する。
【００３１】
ユーザＣは、アクション映画を楽しみ、ユーザＡとの密接な社会的類似性を有する可能性があると判断されうる。次に、システムは、「Ａさん、あなたはアクション映画を見に行きたいですよね。金曜日の午後８時に１本の上映があります。あなたはＣさんと一緒に行きたいですよね。彼女は近くに住んでいます。」と記載されうる通知をユーザＡに送信することができる（３５４）。ユーザＡは、この提案を受諾し、一緒にアクション映画を見に行くようＣを招待することができる（３５６）。従って、ユーザＡは、自分が楽しめそうなアクティビティを効率的に見つけることができ、図３Ｂに関連して記載されている例のように、自分自身でユーザを見つけ尋ねることに関連する厄介さ及び非効率がプロセスから除去されるので、一緒にアクション映画を見に行く人物を効率的に見つけることもできる。一態様では、システムはまずユーザＣに通知を送信し、ユーザＣが受諾する場合のみ、ユーザＡに提案を通知することができる。
【００３２】
Ｖ．イベントに関する参加者を提案するためのシステムの動作の説明例
ユーザ提案モジュール（例えば、ユーザ提案モジュール２１０）を使用してイベントに関する参加者を提案するためのシステム（例えば、システム２０１）の動作の詳細な説明については図４に関連して以下に示す。図４は、プロセッサ（例えば、プロセッサ２０２）が実行できるユーザ提案命令４０２を含むユーザ提案モジュールの動作の一例を示す詳細な模式図４００である。以前にシステムはユーザ・モデル（例えば、ユーザ・モデル２１４）を生成した可能性があり、それぞれのユーザ・モデルは、例えば、ユーザのプロフィール、関心事、及び前のイベント参加記録など、ネットワーキング・サービス（例えば、ソーシャルネットワーキングシステム１１０によってホストされるソーシャルネットワーキングサービス）のユーザのソーシャル情報を含む。システムは、ユーザＡを含む、ソーシャルネットワーキングサービスのユーザの一部又は全部についてこのようなユーザ・モデルを生成することができる。ユーザ・モデルはデータ構造（例えば、データ構造２１２）内に保管することができる。
【００３３】
ユーザＡのユーザ・モデル並びにイベント４０４の説明及び時間を使用して、プロセッサは、ユーザ提案命令４０２を実行してユーザ・モデルを検索し、ユーザＡとともにイベントに参加することに関心のある可能性がある他のユーザを、提案のために見つけることができる。イベント４０４は、ユーザＡが自分のカレンダーに入力した可能性があるカレンダー・イベント４０６又はシステムがユーザＡからの要求に応答して識別した可能性がある推奨イベント（suggested event）４０８にすることができる。提案すべきユーザを見つける際に、ユーザ提案命令４０２は、プロセッサにユーザ・モデルを分析させ、ユーザがイベント４０４が興味深いと見出すかどうかを判断させることができる。分析中に、命令４０２は、ユーザがイベント４０４に関心があるかもしれないことを示唆する可能性のある関心事情報を分析中のユーザ・モデルが含むかどうかなど、様々な基準４１０についてプロセッサに考慮させることができる。例えば、ユーザが過去にイベント４０４と同様のイベントに参加したことを示すイベント参加記録を分析中のユーザ・モデルが含む場合、命令４０２は、ユーザがイベント４０４が興味深いと見出す可能性があるとプロセッサに判断させることができる。ユーザが同様の関心事情報をユーザＡと共有しているかどうかも分析の際に考慮することができる。
【００３４】
分析の結果として、ユーザＢ及びＣは、イベント４０４を楽しめそうであると判断される可能性がある。しかし、ユーザ提案命令４０２は、ユーザＢ及びＣとユーザＡとの社会的類似性をプロセッサに判断させることもできる。社会的類似性は、２人のユーザのユーザ・モデルを比較することによって判断されることができる。具体的には、命令４０２は、比較中の２人のユーザが社会的に関係がある、例えば、彼らが友人、同僚、又は家族である見込みをプロセッサに判断させることができる。例えば、複数のユーザが、近くに住んでいる、同じ場所で勤務している、同じ市外局番を有する、或いは１人又は複数の共通の友人を有するなどの特質を共有する場合、そのユーザは密接な社会的類似性を有するものと判断されることができる。２人のユーザが共有する特質が多いほど、ユーザに割り当てられる社会的類似性が高くなる。ユーザＣはユーザＡとの社会的類似性がより密接であると判断される可能性があり、命令４０２は、プロセッサにユーザＡに対してユーザＣを提案させる可能性がある。
【００３５】
ＶＩ．イベントに関する参加者を提案するためのプロセスの例
図５は、図３Ａに関連して記載されているプロセスの流れ図５００の一例を示している。図５のプロセスは、例えば、システム２０１によって実行されることができる。第１のユーザからのイベントを識別するソーシャル提案指示を受信することができる（５０２）。ソーシャル提案指示は、イベントに参加する計画に関するユーザのカレンダー項目とすることができる。例えば、ユーザは、自分が人物写生イベントに参加するつもりであることを自分のカレンダーに追加することができる。他の例では、システムは、ソーシャルネットワーキングサービス上の投稿から、ユーザが人物写生イベントに参加すると判断することができる。その項目は、一緒に参加するユーザに関する提案の指示として判断されることができる。ソーシャル提案指示は、カレンダー項目に限定されず、例えば、イベントに参加する計画について話し合うソーシャルネットワーキングサービス及び／又はソーシャルネットワーキングサービスによってアクセス可能なその他のサービス／アプリケーション上のリマインダ、コメント、及び投稿など、ユーザのイベントに参加する計画に関するその他の指示とすることもできる。イベントを識別するソーシャル提案指示を受信した後、ユーザ・モデル（例えば、ユーザ・モデル２１４）にアクセスする（５０４）。例えば、ユーザ・モデルはメモリ（例えば、メモリ２０６）のデータ構造（例えば、データ構造２１２）に保管されることができ、システムはユーザ・モデルにアクセスするためにそのデータ構造に照会することができる。次に、イベントをユーザ・モデル２１４と比較する（５０６）。例えば、システムは、イベントのタイプ、場所、及び時間などのイベント情報を抽出し、このような情報をアクセスされたユーザ・モデル２１４のそれぞれと比較する。イベント及びユーザ・モデルに含まれる情報に基づいて、そのイベントを楽しめそうなユーザに関連するユーザ・モデルを識別する（５０８）。例えば、システムは、ユーザ・モデルが、上述の基準４１０などの様々な所定の基準を満足するかどうかに基づいて、ユーザ・モデルを識別する。
【００３６】
ステップ５０８で識別されたユーザ・モデルの中で、第１のユーザとの密接な社会的類似性を示す社会情報を含む１つ又は複数のユーザ・モデルを識別する（５１０）。例えば、システムは、比較されたユーザが社会的に関係がある可能性がどの程度あるかを示す様々な要因に基づいて社会的類似性を判断する。このような要因には、例えば、地理的近接、同じ市外局番、同じ職場、同じ学校、及び共通の友人が含まれうる。次に、密接な社会的類似性を示す１つ又は複数の識別されたユーザ・モデルの１人又は複数のユーザが推奨ユーザとして識別され、推奨ユーザを識別するユーザ提案を生成する（５１２）。例えば、ユーザ・モデルはそれぞれ、それぞれのユーザ・モデルに関連するユーザを識別するためのユーザ識別子を含むことができる。ステップ５１０で密接な社会的類似性を示すものとして識別されたユーザ・モデルのそれぞれについて、システムは、ユーザ識別子に基づいて対応するユーザを識別する。ユーザ提案は、ソーシャル提案指示に関連する第１のユーザに向けられたメッセージとすることができ、推奨ユーザをイベントに招待するようユーザに指示することができる。一態様では、ユーザは、社会的類似性を判断されずに提案される可能性がある。
【００３７】
一態様では、まずユーザ提案を第１のユーザに伝達することができる（５１４）。例えば、第１のユーザは、推奨ユーザをイベントに招待するよう第１のユーザに指示するユーザ提案が提示される可能性がある。他の例では、システムは、ソーシャルネットワーキングシステムによって提供されるメッセージング・サービスを介してユーザ提案をユーザに伝達することができる。第１のユーザがユーザ提案を受諾する場合、ユーザ提案を推奨ユーザにも伝達する（５１６）。推奨ユーザに伝達されたユーザ提案は、第１のユーザ及びイベントを識別することもできる。例えば、提案を受諾する（例えば、ユーザ提案とともに提供された「招待」ボタンをクリックする）ことにより第１のユーザがユーザ提案に応答する場合、推奨ユーザは、第１のユーザが推奨ユーザをイベントに招待したことを推奨ユーザに示し、推奨ユーザがその招待を受諾したいと思うかどうかを確認するメッセージをソーシャルネットワーキングシステムから受信することができる。他の例では、システムがユーザ提案に応答した第１のユーザからの受諾指示を受信した（第１のユーザが「招待」又は「受諾」ボタンをクリックした）場合、システムは、推奨ユーザが第１のユーザの招待を受諾したいかどうかを確認するメッセージを生成し、ソーシャルネットワーキングシステムのメッセージング・サービスを使用してそのメッセージを推奨ユーザに送信する。
【００３８】
他の態様では、ステップ５１２の後、まずユーザ提案を推奨ユーザに伝達することができる（５１８）。推奨ユーザに伝達されたユーザ提案は、第１のユーザ及びイベントを識別することもできる。例えば、第１のユーザがイベントに参加するつもりであることを示すとともに、推奨ユーザが第１のユーザとともにイベントに参加できるかどうかを推奨ユーザが第１のユーザに尋ねたいと思うかどうかを推奨ユーザに確認するメッセージを、推奨ユーザは受信することができる。他の例では、システムは、推奨ユーザが第１のユーザとともにイベントに参加できるかどうかを推奨ユーザが第１のユーザに尋ねたいと思うかどうかを推奨ユーザに確認するメッセージを生成し、ソーシャルネットワーキングシステムのメッセージング・サービスを介してそのメッセージを推奨ユーザに送信する。推奨ユーザがユーザ提案を受諾する場合、ユーザ提案を第１のユーザにも伝達する（５２０）。例えば、第２のユーザが第１のユーザと一緒にイベントに参加したいと思っていることを示し、第１のユーザも推奨ユーザとともにイベントに参加したいと思うかどうかを確認するメッセージを、第１のユーザは受信する。他の例では、推奨ユーザが一緒にイベントに参加するよう第１のユーザに求めたいと思っていることを推奨ユーザが示した場合、システムは、第１のユーザも推奨ユーザとともにイベントに参加したいと思うかどうかを第１のユーザに確認するメッセージを生成し、ソーシャルネットワーキングシステムのメッセージ・サービスを介してそのメッセージを第１のユーザに送信する。
【００３９】
図６は、図３Ｂに関連して記載されているプロセスの流れ図６００の一例を示している。イベント提案に関する要求を第１のユーザから受信する（６０２）。この要求は、例えば、第１のユーザがソーシャルネットワーキングサービス（例えば、ソーシャルネットワーキングシステム１１０によって提供されるソーシャルネットワーキングサービス）のページ上に表示されたボタンをクリックすることである場合もある。他の例では、システムは、ユーザから要求を受信するためのソーシャルネットワーキングシステムのＡＰＩを介して、ユーザがイベント提案を要求していると判断することができる。応答として、第１のユーザのユーザ・モデルを識別し（６０４）、第１のユーザ・モデルに基づいて提案のためのイベントを識別する（６０６）。例えば、要求は、時間フレームを含み、第１のユーザがその時間フレーム中に開催されるイベントを要求していることが示されることができる。システムは、第１のユーザ・モデル及び示された時間フレーム中に利用可能なイベントを分析することにより、提案のためのイベントを識別する。利用可能なイベントに関する情報は、例えば、ソーシャルネットワーキングシステム（例えば、ソーシャルネットワーキングシステム１１０）と通信状態にあるインターネット検索エンジン、ローカル・イベント・リスティング・サービス、ユーザのカレンダー、又はその他のオンライン若しくはオフライン・サービスなどの様々なソースから入手することができる。利用可能なイベントを、ユーザ・モデルから入手可能な情報と比較することにより、第１のユーザが参加することを楽しめそうなイベントが決定される。一態様では、第１のユーザの友人或いは第１のユーザに社会的に関係があると判断された人物のユーザ・モデルに基づいて、推奨イベントを識別することもできる。
【００４０】
図６に示されている残りのステップ６０８〜６２２に関する説明は、図５のステップ５０６〜５２０に関するものと同様でありえ、ここでは繰り返されない。
【００４１】
ＶＩＩ．イベントに関する参加者を提案するためのシステムのユーザ・モデルの例
図７は、本発明の特定の諸態様による図２のユーザ・モデル２１４の一例のブロック図である。ユーザ・モデル２１４は、ユーザ・モデルに関連するユーザから受信した様々な情報、ユーザに関係がある様々なソースから収集した情報、或いはこのような情報から導出された情報を含むことができる。情報を収集できるソースは、ソーシャルネットワーキングシステム１１０によって提供されるか又はそれに関連する、サービス又はアプリケーションである可能性がある。このようなサービス又はアプリケーションは、例えば、検索エンジン、カレンダー・アプリケーション、電子メール・アプリケーション、ワードプロセシング・アプリケーション、スプレッドシート・アプリケーション、リーダ・アプリケーション、ビデオ共有サービス、写真共有サービス、ゲーム・アプリケーション、マップ・アプリケーション、及びブログ・サービスとすることができる。本明細書で使用する「アプリケーション」及び「サービス」という用語は、区別なく使用することができ、オンライン・サービス／アプリケーション又はオフライン・サービス／アプリケーションを指すことができる。
【００４２】
ユーザ・モデル２１４は、例えば、氏名、生年月日、自宅の住所、電話番号、電子メールアドレス、言語、家族、学校及び職場情報などのユーザによって提供されたプロフィール情報とすることが可能なユーザ・プロフィール情報７０２を含むことができる。また、ユーザ・モデル２１４はユーザによって提供された関心事情報７０４を含むこともできる。情報７０４は、例えば、ユーザが好んでいるか又は関心があるアクティビティ、書籍、イベント、歌、映画、スポーツ、著名人、組織、及び宗教（複数も可）など、ユーザによって提供された関心事情報を含むことができる。また、ユーザ・モデル２１４は、過去のイベント参加情報７０６及びユーザの検索履歴７０８などの情報を含むこともできる。ユーザ・モデル２１４は、ユーザの友人の関心事情報７１０を更に含むことができる。その他のタイプの情報もユーザ・モデル２１４に含むことができる。一態様では、上記の情報はすべて、ユーザによる認可を受けてシステム２０１によって収集し使用することができる。ユーザは、上記の情報のいずれかを提供しないことを選ぶか、或いは何らかの方法でシステム２０１がこのような情報を使用するのを防止することもできる。ユーザが認可を与えたと想定して、ユーザに提案するためのイベントを決定する際又は一緒にイベントに参加するための推奨ユーザを決定する際に、上記の情報７０２〜７１０を使用することができる。
【００４３】
上記の特徴及び適用例の多くは、コンピュータ可読記憶媒体（コンピュータ可読媒体ともいう）上に記録された１組の命令として特定されるソフトウェア・プロセスとして実現される。これらの命令が１つ又は複数の処理装置（例えば、１つ又は複数のプロセッサ、複数プロセッサからなるコア、或いはその他の処理装置）によって実行される場合、これらの命令は、その命令に指示されているアクションを処理装置（複数も可）に実行させる。コンピュータ可読媒体の例としては、ＣＤ−ＲＯＭ、フラッシュ・ドライブ、ＲＡＭチップ、ハード・ドライブ、ＥＰＲＯＭなどを含むが、これらに限定されない。コンピュータ可読媒体は、無線方式又は有線接続により伝わる搬送波及び電子信号を含まない。
【００４４】
本明細書では、「ソフトウェア」という用語は、読み取り専用メモリに常駐するファームウェア又は磁気記憶装置に保管されたアプリケーションを含むものであり、どちらもプロセッサによる処理のためにメモリに読み込むことができる。また、実現例によっては、主題技術の複数のソフトウェア態様は、主題技術の別個のソフトウェア態様でありながら、より大きいプログラムのサブパートとして実現することができる。実現例によっては、複数のソフトウェア態様を別々のプログラムとして実現することもできる。最後に、本明細書に記載されている１つのソフトウェア態様を一緒に実現する複数の別々のプログラムの任意の組み合わせは主題技術の範囲内である。実現例によっては、ソフトウェア・プログラムは、１つ又は複数の電子システム上で動作するようにインストールされると、そのソフトウェア・プログラムの動作を実行する１つ又は複数の特定の機械実現例を定義する。
【００４５】
コンピュータ・プログラム（プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、又はコードとしても知られている）は、コンパイル済み又は解釈済み言語、宣言形又は手続き形言語を含む、任意の形のプログラミング言語で作成することができ、スタンドアロン・プログラムとして、或いはモジュール、コンポーネント、サブルーチン、オブジェクト、又はコンピューティング環境での使用に適したその他のユニットとしてを含む、任意の形で配備することができる。コンピュータ・プログラムは、ファイル・システム内のファイルに対応することができるが、対応する必要があるわけではない。プログラムは、その他のプログラム又はデータを保持する１つのファイルの一部分（例えば、マークアップ言語文書に保管された１つ又は複数のスクリプト）内に保管するか、当該プログラムに専用の単一ファイル内に保管するか、或いは複数の協調ファイル（例えば、１つ又は複数のモジュール、サブプログラム、又はコードの一部分を保管するファイル）内に、保管することができる。コンピュータ・プログラムは、１つのコンピュータ上で実行するか、或いは１つのサイトに位置するか又は複数のサイトに分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行するように配備することができる。
【００４６】
ＶＩＩＩ．主題技術を実現する電子システムの例
図８は、主題技術のいくつかの実現例が実現される電子システムを概念的に示している。電子システム８００は、コンピュータ、電話、ＰＤＡ、又は任意のその他の種類の電子デバイスにすることができる。このような電子システムは、様々なタイプのコンピュータ可読媒体と、様々なその他のタイプのコンピュータ可読媒体のためのインターフェースとを含む。電子システム８００は、バス８０８と、処理装置（複数も可）８１２と、システム・メモリ８０４と、読み取り専用メモリ（ＲＯＭ）８１０と、永久記憶装置８０２と、入力装置インターフェース８１４と、出力装置インターフェース８０６と、ネットワーク・インターフェース８１６とを含む。
【００４７】
バス８０８は、電子システム８００の多数の内部デバイスを通信可能に接続するシステム・バス、周辺装置バス、及びチップセット・バスのすべてをまとめて表している。例えば、バス８０８は、処理装置（複数も可）８１２と、ＲＯＭ８１０、システム・メモリ８０４、及び永久記憶装置８０２とを通信可能に接続する。
【００４８】
これらの様々なメモリ・ユニットから、処理装置（複数も可）８１２は、主題技術のプロセスを実行するために、実行すべき命令と処理すべきデータを取り出す。処理装置（複数も可）は、異なる実現例では単一プロセッサ又はマルチコア・プロセッサにすることができる。
【００４９】
ＲＯＭ８１０は、電子システムの処理装置（複数も可）８１２及びその他のモジュールが必要とする静的データ及び命令を保管する。これに対して、永久記憶装置８０２は、読み取り書き込みメモリ・デバイスである。このデバイスは、電子システム８００がオフの時でも命令及びデータを保管する、不揮発性メモリ・ユニットである。主題開示のいくつかの実現例では、永久記憶装置８０２として大容量記憶装置（磁気又は光ディスク及びそれに対応するディスク・ドライブなど）を使用する。
【００５０】
その他の実現例では、永久記憶装置８０２として取り外し可能記憶装置（フロッピー（登録商標）・ディスク、フラッシュ・ドライブ、及びそれに対応するディスク・ドライブなど）を使用する。永久記憶装置８０２のように、システム・メモリ８０４は読み取り書き込みメモリ・デバイスである。しかし、記憶装置８０２とは異なり、システム・メモリ８０４は、ランダム・アクセス・メモリなどの揮発性読み取り書き込みメモリである。システム・メモリ８０４は、ランタイム時にプロセッサが必要とする命令及びデータの一部を保管する。いくつかの実現例では、主題技術のプロセスは、システム・メモリ８０４、永久記憶装置８０２、及び／又はＲＯＭ８１０に保管される。例えば、様々なメモリ・ユニットは、いくつかの実現例によって、イベントに関する参加者を提案するための命令を含む。これらの様々なメモリ・ユニットから、処理装置（複数も可）８１２は、いくつかの実現例のプロセスを実行するために、実行すべき命令と処理すべきデータを取り出す。
【００５１】
バス８０８は、入力及び出力装置インターフェース８１４及び８０６にも接続される。入力装置インターフェース８１４は、ユーザが電子システムに対して情報を伝達し、コマンドを選択できるようにするものである。入力装置インターフェース８１４とともに使用される入力装置としては、例えば、英数字キーボード及びポインティング・デバイス（「カーソル制御デバイス」とも呼ばれる）が含まれる。出力装置インターフェース８０６は、例えば、電子システム８００によって生成された画像の表示を可能にする。出力装置インターフェース８０６とともに使用される出力装置としては、例えば、プリンタ、及び陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）などのディスプレイ装置を含む。いくつかの実現例は、入力装置と出力装置の両方として機能するタッチスクリーンなどのデバイスを含む。
【００５２】
最後に、図８に示されているように、バス８０８は、ネットワーク・インターフェース８１６により電子システム８００をネットワーク（図示せず）に結合する。このように、コンピュータは、ローカル・エリア・ネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、又はイントラネットなどの複数コンピュータのネットワーク、或いはインターネットなどの複数ネットワークのネットワークの一部とすることができる。電子システム８００の一部又は全部のコンポーネントは主題開示とともに使用されることができる。
【００５３】
上記のこれらの機能は、デジタル電子回路、コンピュータ・ソフトウェア、ファームウェア、又はハードウェアで実現することができる。これらの技法は１つ又は複数のコンピュータ・プログラム・プロダクトを使用して実現することができる。プログラム可能プロセッサ及びコンピュータはモバイル・デバイスに含まれるか又はモバイル・デバイスとしてパッケージ化されることができる。プロセス及びロジック・フローは、１つ又は複数のプログラム可能プロセッサ並びに１つ又は複数のプログラム可能論理回路によって実行されることができる。汎用及び特殊目的のコンピューティング・デバイス及び記憶装置は、通信ネットワークにより相互接続されることができる。
【００５４】
いくつかの実現例は、機械可読媒体又はコンピュータ可読媒体（これに代えて、コンピュータ可読記憶媒体、機械可読メディア、又は機械可読記憶媒体ともいう）にコンピュータ・プログラム命令を保管する、マイクロプロセッサ、ストレージ、及びメモリなどの電子部品を含む。このようなコンピュータ可読媒体のいくつかの例としては、ＲＡＭ、ＲＯＭ、読み取り専用コンパクト・ディスク（ＣＤ−ＲＯＭ）、記録可能コンパクト・ディスク（ＣＤ−Ｒ）、書き換え可能コンパクト・ディスク（ＣＤ−ＲＷ）、読み取り専用デジタル多用途ディスク（例えば、ＤＶＤ−ＲＯＭ、二重層ＤＶＤ−ＲＯＭ）、様々な記録可能／書き換え可能ＤＶＤ（例えば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなど）、フラッシュ・メモリ（例えば、ＳＤカード、ミニＳＤカード、マイクロＳＤカードなど）、磁気及び／又はソリッドステート・ハード・ドライブ、読み取り専用及び記録可能Ｂｌｕ−Ｒａｙ（登録商標）ディスク、超高密度光ディスク、任意のその他の光又は磁気メディア、並びにフロッピー（登録商標）・ディスクが含まれる。コンピュータ可読媒体は、少なくとも１つの処理装置によって実行可能であって、様々な動作を実行するための複数の命令セットを含む、コンピュータ・プログラムを保管することができる。コンピュータ・プログラム又はコンピュータ・コードの例としては、コンパイラによって生成されるような機械コード、及び、インタープリタを使用してコンピュータ、電子部品、又はマイクロプロセッサによって実行される高レベル・コードを含むファイルが含まれる。
【００５５】
上記の考察では主にソフトウェアを実行するマイクロプロセッサ又はマルチコア・プロセッサに言及しているが、いくつかの実現例は、特定用途向け集積回路（ＡＳＩＣ）又はフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）などの１つ又は複数の集積回路によって実行される。実現例によっては、このような集積回路はその回路自体に保管された命令を実行する。
【００５６】
本明細書及び本出願のいずれかの請求項で使用されるように、「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」という用語はいずれも、電子デバイス又はその他の技術的デバイスを指している。これらの用語は人又は人のグループを除外するものである。本明細書のためには、「ディスプレイ」又は「表示」という用語は、電子デバイス上で表示することを意味する。本明細書及び本出願のいずれかの請求項で使用されるように、「コンピュータ可読媒体」及び「コンピュータ可読メディア」という用語は、コンピュータによって読み取り可能な形で情報を保管する、有形かつ物理的な対象物に完全に限定される。これらの用語は、任意の無線信号、有線ダウンロード信号、及び任意のその他の一過性の信号を除外するものである。
【００５７】
ユーザとの対話を可能にするために、本明細書に記載されている主題技術の実現例は、ユーザに対して情報を表示するための表示装置、例えば、ＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニターと、ユーザがコンピュータに対して入力を行うことができるキーボード及びポインティング・デバイス、例えば、マウス又はトラックボールとを有するコンピュータ上で実現することができる。ユーザとの対話を可能にするために、その他の種類のデバイスを使用することもでき、例えば、ユーザに提供されるフィードバックは視覚フィードバック、聴覚フィードバック、又は触覚フィードバックなどの任意の形の感覚フィードバックにすることができ、ユーザからの入力は、音響入力、音声入力、又は触覚入力を含む、任意の形で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、ユーザと対話することができ、例えば、ユーザのクライアント・デバイス上のウェブ・ブラウザから受信した要求に応答してそのウェブ・ブラウザにウェブ・ページを送信することによって対話することができる。
【００５８】
本明細書に記載されている主題技術の諸実施形態は、バックエンド・コンポーネント、例えば、データ・サーバを含むか、ミドルウェア・コンポーネント、例えば、アプリケーション・サーバを含むか、或いはフロントエンド・コンポーネント、例えば、ユーザが本明細書に記載されている主題技術の一実現例と対話することができるグラフィカル・ユーザ・インターフェース又はウェブ・ブラウザを有するクライアント・コンピュータを含むか、１つ又は複数のこのようなバックエンド・コンポーネント、ミドルウェア・コンポーネント、又はフロントエンド・コンポーネントの任意の組み合わせを含む、コンピューティング・システムで実現されることができる。システムのコンポーネントは、任意の形又は手段のデジタル・データ通信、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例としては、ローカル・エリア・ネットワーク（「ＬＡＮ」）及び広域ネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）、及びピアツーピア・ネットワーク（例えば、アドホック・ピアツーピア・ネットワーク）が含まれる。
【００５９】
コンピューティング・システムはクライアントとサーバを含むことができる。クライアントとサーバは一般に相互に遠く離れており、典型的に通信ネットワークにより対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、相互にクライアント・サーバの関係を有するコンピュータ・プログラムによって発生する。いくつかの実施形態では、サーバはクライアント・デバイスにデータ（例えば、ＨＴＭＬページ）を伝送する（例えば、クライアント・デバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信するため）。クライアント・デバイスで生成されたデータ（例えば、ユーザ対話の結果）はサーバ側でクライアント・デバイスから受信することができる。
【００６０】
開示されているプロセスにおける諸ステップの任意の特定の順序又は階層は手法例の例示であることは言うまでもない。設計上の好みに基づいて、プロセスにおける諸ステップの特定の順序又は階層を再編成できること或いは例示されているすべてのステップを実行できることは言うまでもない。諸ステップのうちのいくつかは同時に実行することができる。例えば、特定の状況では、多重タスク処理及び並列処理が有利である可能性がある。その上、上記の諸実施形態における様々なシステム・コンポーネントの分離はすべての実施形態においてこのような分離を要求するものと理解すべきではなく、上記のプログラム・コンポーネント及びシステムは一般に単一ソフトウェア・プロダクトに一緒に統合できるか又は複数のソフトウェア・プロダクトにパッケージ化できることを理解されたい。
【００６１】
上記の説明は、当業者が本明細書に記載されている様々な態様を実践できるように提供されたものである。これらの態様に対する様々な変更は当業者にとって容易に明らかになり、本明細書に定義された包括的原理はその他の態様に適用することができる。従って、特許請求の範囲は本明細書に示されている諸態様に限定するためのものではなく、請求項の表現と一致した全範囲が授与されるべきであり、その請求項においては単数形の要素に対する言及は、特にそのように指定されない限り、「唯一のもの（one and only one）」を意味するものではなく、むしろ「１つ又は複数（one or more）」を意味するものである。特に他の指定がない限り、「いくつかの（some）」という用語は１つ又は複数を指している。男性形の代名詞（例えば、彼の（his））は女性形及び中性形（例えば、彼女の（her）及びそれの（its））を含み、逆もまた同様である。見出し及び小見出しがある場合、便宜上使用されているだけであり、主題開示を限定するものではない。
【００６２】
「態様（aspect）」などの語句は、このような態様が主題技術にとって不可欠であること又はこのような態様が主題技術のすべての構成に適用されることを意味するものではない。一態様に関連する開示内容はすべての構成に適用される場合もあれば、１つ又は複数の構成に適用される場合もある。一態様などの語句は１つ又は複数の態様を指す可能性があり、逆もまた同様である。「構成（configuration）」などの語句は、このような構成が主題技術にとって不可欠であること又はこのような構成が主題技術のすべての構成に適用されることを意味するものではない。一構成に関連する開示内容はすべての構成に適用される場合もあれば、１つ又は複数の構成に適用される場合もある。一構成などの語句は１つ又は複数の構成を指す可能性があり、逆もまた同様である。
【００６３】
本明細書で使用される可能性のある「模範的（exemplary）」という単語は、「一例又は例示として機能すること」を意味するために使用されている。「模範的」として本明細書に記載される可能性のある任意の態様又は設計は必ずしも他の態様又は設計より好ましいか又は有利であると解釈すべきではない。
【００６４】
本発明全体を通して記載されている様々な態様の諸要素と構造上及び機能上同等であって、当業者にとって既知であるか又は後で既知のものになるものはいずれも、参照により明白に本明細書に取り入れられ、特許請求の範囲によって包含されるものである。
【図１】
0006300791.tif 000002
【図２】
0006300791.tif 000003
【図３Ａ】
0006300791.tif 000004
【図３Ｂ】
0006300791.tif 000005
【図４】
0006300791.tif 000006
【図５】
0006300791.tif 000007
【図６】
0006300791.tif 000008
【図７】
0006300791.tif 000009
【図８】
0006300791.tif 000010